/*
This file is part of Darling.
Copyright (C) 2020 Lubos Dolezel
Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Darling. If not, see .
*/
#include
#include
#include
static int verbose = 0;
__attribute__((constructor))
static void initme(void) {
verbose = getenv("STUB_VERBOSE") != NULL;
}
void* PLBatchDropMessages(void)
{
if (verbose) puts("STUB: PLBatchDropMessages called");
return NULL;
}
void* PLBatteryGaugeGetSnapshot(void)
{
if (verbose) puts("STUB: PLBatteryGaugeGetSnapshot called");
return NULL;
}
void* PLBatteryGaugePauseTracingForBundleId(void)
{
if (verbose) puts("STUB: PLBatteryGaugePauseTracingForBundleId called");
return NULL;
}
void* PLBatteryGaugePauseTracingForPid(void)
{
if (verbose) puts("STUB: PLBatteryGaugePauseTracingForPid called");
return NULL;
}
void* PLBatteryGaugePauseTracingForProcessName(void)
{
if (verbose) puts("STUB: PLBatteryGaugePauseTracingForProcessName called");
return NULL;
}
void* PLBatteryGaugeResumeTracingForBundleId(void)
{
if (verbose) puts("STUB: PLBatteryGaugeResumeTracingForBundleId called");
return NULL;
}
void* PLBatteryGaugeResumeTracingForPid(void)
{
if (verbose) puts("STUB: PLBatteryGaugeResumeTracingForPid called");
return NULL;
}
void* PLBatteryGaugeResumeTracingForProcessName(void)
{
if (verbose) puts("STUB: PLBatteryGaugeResumeTracingForProcessName called");
return NULL;
}
void* PLBatteryGaugeStartTracingForBundleId(void)
{
if (verbose) puts("STUB: PLBatteryGaugeStartTracingForBundleId called");
return NULL;
}
void* PLBatteryGaugeStartTracingForPid(void)
{
if (verbose) puts("STUB: PLBatteryGaugeStartTracingForPid called");
return NULL;
}
void* PLBatteryGaugeStartTracingForProcessName(void)
{
if (verbose) puts("STUB: PLBatteryGaugeStartTracingForProcessName called");
return NULL;
}
void* PLBatteryGaugeStopTracingForBundleId(void)
{
if (verbose) puts("STUB: PLBatteryGaugeStopTracingForBundleId called");
return NULL;
}
void* PLBatteryGaugeStopTracingForPid(void)
{
if (verbose) puts("STUB: PLBatteryGaugeStopTracingForPid called");
return NULL;
}
void* PLBatteryGaugeStopTracingForProcessName(void)
{
if (verbose) puts("STUB: PLBatteryGaugeStopTracingForProcessName called");
return NULL;
}
void* PLBatteryGaugeVersion(void)
{
if (verbose) puts("STUB: PLBatteryGaugeVersion called");
return NULL;
}
void* PLBatteryLifeMonitorLogCoreDuetAdmissionEvent(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetAdmissionEvent called");
return NULL;
}
void* PLBatteryLifeMonitorLogCoreDuetEvent(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetEvent called");
return NULL;
}
void* PLBatteryLifeMonitorLogCoreDuetEventsAggregate(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetEventsAggregate called");
return NULL;
}
void* PLBatteryLifeMonitorLogCoreDuetPredictionEvents(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetPredictionEvents called");
return NULL;
}
void* PLBatteryLifeMonitorLogDuetEvent(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorLogDuetEvent called");
return NULL;
}
void* PLBatteryLifeMonitorReportBatteryCapacityForCoreDuet(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorReportBatteryCapacityForCoreDuet called");
return NULL;
}
void* PLBatteryLifeMonitorReportCumulativeTotalDiscretionaryEnergyCoreDuet(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorReportCumulativeTotalDiscretionaryEnergyCoreDuet called");
return NULL;
}
void* PLBatteryLifeMonitorReportDiscretionaryBudgetForDuet(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorReportDiscretionaryBudgetForDuet called");
return NULL;
}
void* PLBatteryLifeMonitorReportEnergyCoreDuet(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorReportEnergyCoreDuet called");
return NULL;
}
void* PLBatteryLifeMonitorReportEnergyDuet(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorReportEnergyDuet called");
return NULL;
}
void* PLBatteryLifeMonitorStopAllDuetEvents(void)
{
if (verbose) puts("STUB: PLBatteryLifeMonitorStopAllDuetEvents called");
return NULL;
}
void* PLBatteryUsageUIQuery(void)
{
if (verbose) puts("STUB: PLBatteryUsageUIQuery called");
return NULL;
}
void* PLBuildEnergyBucket(void)
{
if (verbose) puts("STUB: PLBuildEnergyBucket called");
return NULL;
}
void* PLBuildEnergyBucketTillNow(void)
{
if (verbose) puts("STUB: PLBuildEnergyBucketTillNow called");
return NULL;
}
void* PLBuildUsageSnapshot(void)
{
if (verbose) puts("STUB: PLBuildUsageSnapshot called");
return NULL;
}
void* PLCopyPowerlog(void)
{
if (verbose) puts("STUB: PLCopyPowerlog called");
return NULL;
}
void* PLCrashMoverCopyPowerlog(void)
{
if (verbose) puts("STUB: PLCrashMoverCopyPowerlog called");
return NULL;
}
void* PLForceBatching(void)
{
if (verbose) puts("STUB: PLForceBatching called");
return NULL;
}
void* PLLogEvent(void)
{
if (verbose) puts("STUB: PLLogEvent called");
return NULL;
}
void* PLLogRegisteredAggregateEvent(void)
{
if (verbose) puts("STUB: PLLogRegisteredAggregateEvent called");
return NULL;
}
void* PLLogRegisteredEvent(int client_id, CFStringRef event_name, CFDictionaryRef event_dictionary, void* last_parameter)
{
if (verbose) puts("STUB: PLLogRegisteredEvent called");
return NULL;
}
void* PLLogRegisteredEventFilterByInterval(void)
{
if (verbose) puts("STUB: PLLogRegisteredEventFilterByInterval called");
return NULL;
}
void* PLLogTimeSensitiveRegisteredEvent(int client_id, CFStringRef event_name, CFDictionaryRef event_dictionary, void* last_parameter)
{
if (verbose) puts("STUB: PLLogTimeSensitiveRegisteredEvent called");
return NULL;
}
void* PLMovePowerlogsToCR(void)
{
if (verbose) puts("STUB: PLMovePowerlogsToCR called");
return NULL;
}
void* PLQuery(void)
{
if (verbose) puts("STUB: PLQuery called");
return NULL;
}
void* PLQueryRegistered(void)
{
if (verbose) puts("STUB: PLQueryRegistered called");
return NULL;
}
void* PLShouldLogEvent(void)
{
if (verbose) puts("STUB: PLShouldLogEvent called");
return NULL;
}
void* PLShouldLogRegisteredEvent(int client_id, CFStringRef event_name)
{
if (verbose) puts("STUB: PLShouldLogRegisteredEvent called");
return NULL;
}
void* PLSysdiagnoseCopyPowerlog(void)
{
if (verbose) puts("STUB: PLSysdiagnoseCopyPowerlog called");
return NULL;
}
void* PLTalkToPowerlogHelper(void)
{
if (verbose) puts("STUB: PLTalkToPowerlogHelper called");
return NULL;
}