functions.c
 1  /*
 2  This file is part of Darling.
 3  
 4  Copyright (C) 2017 Lubos Dolezel
 5      
 6  Darling is free software: you can redistribute it and/or modify
 7  it under the terms of the GNU General Public License as published by
 8  the Free Software Foundation, either version 3 of the License, or
 9  (at your option) any later version.
10   
11  Darling is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU General Public License for more details.
15   
16  You should have received a copy of the GNU General Public License
17  along with Darling.  If not, see <http://www.gnu.org/licenses/>.
18  */
19  
20  #include <stdio.h>
21  #include <stdlib.h>
22  static int verbose = 0;
23  __attribute__((constructor)) static void initme(void) {
24      verbose = getenv("STUB_VERBOSE") != NULL;
25  }
26  void* MachToNano(void) { if (verbose) puts("STUB: MachToNano called"); return NULL; }
27  void* PACFBundleCopyStringForKey(void) { if (verbose) puts("STUB: PACFBundleCopyStringForKey called"); return NULL; }
28  void* PACancelOperation(void) { if (verbose) puts("STUB: PACancelOperation called"); return NULL; }
29  void* PACommonAverageFromArray(void) { if (verbose) puts("STUB: PACommonAverageFromArray called"); return NULL; }
30  void* PACommonStandardDeviationFromArray(void) { if (verbose) puts("STUB: PACommonStandardDeviationFromArray called"); return NULL; }
31  void* PACurrentRealTimeInSeconds(void) { if (verbose) puts("STUB: PACurrentRealTimeInSeconds called"); return NULL; }
32  void* PADetailedPerfLoggingIsEnabled(void) { if (verbose) puts("STUB: PADetailedPerfLoggingIsEnabled called"); return NULL; }
33  void* PADetailedPerfLoggingWhiteListAddEntry(void) { if (verbose) puts("STUB: PADetailedPerfLoggingWhiteListAddEntry called"); return NULL; }
34  void* PADetailedPerfLoggingWhiteListClearList(void) { if (verbose) puts("STUB: PADetailedPerfLoggingWhiteListClearList called"); return NULL; }
35  void* PADetailedPerfLoggingWhiteListRemoveEntry(void) { if (verbose) puts("STUB: PADetailedPerfLoggingWhiteListRemoveEntry called"); return NULL; }
36  void* PAMachTimeForMachAbsTime(void) { if (verbose) puts("STUB: PAMachTimeForMachAbsTime called"); return NULL; }
37  void* PAMachTimeForMachAbsTimeWithTimebase(void) { if (verbose) puts("STUB: PAMachTimeForMachAbsTimeWithTimebase called"); return NULL; }
38  void* PAMachTimeForNSNumberOfMachAbsTime(void) { if (verbose) puts("STUB: PAMachTimeForNSNumberOfMachAbsTime called"); return NULL; }
39  void* PAMachTimeGetCurrent(void) { if (verbose) puts("STUB: PAMachTimeGetCurrent called"); return NULL; }
40  void* PAMachTimeToMachAbsTimeWithTimebase(void) { if (verbose) puts("STUB: PAMachTimeToMachAbsTimeWithTimebase called"); return NULL; }
41  void* PAMarkOperationEnd(void) { if (verbose) puts("STUB: PAMarkOperationEnd called"); return NULL; }
42  void* PAMarkOperationEndAndGetIntervalStats(void) { if (verbose) puts("STUB: PAMarkOperationEndAndGetIntervalStats called"); return NULL; }
43  void* PAMarkOperationEndAndTruncateByDurationInSec(void) { if (verbose) puts("STUB: PAMarkOperationEndAndTruncateByDurationInSec called"); return NULL; }
44  void* PAMarkOperationEndAndTruncateByDurationInSecAndGetIntervalStats(void) { if (verbose) puts("STUB: PAMarkOperationEndAndTruncateByDurationInSecAndGetIntervalStats called"); return NULL; }
45  void* PAMarkOperationEvent(void) { if (verbose) puts("STUB: PAMarkOperationEvent called"); return NULL; }
46  void* PAMarkOperationIntervalEnd(void) { if (verbose) puts("STUB: PAMarkOperationIntervalEnd called"); return NULL; }
47  void* PAMarkOperationIntervalEndAndStart(void) { if (verbose) puts("STUB: PAMarkOperationIntervalEndAndStart called"); return NULL; }
48  void* PAMarkOperationIntervalStart(void) { if (verbose) puts("STUB: PAMarkOperationIntervalStart called"); return NULL; }
49  void* PAMarkOperationStart(void) { if (verbose) puts("STUB: PAMarkOperationStart called"); return NULL; }
50  void* PAMarkOperationStartAndSetContextProcessingConfiguration(void) { if (verbose) puts("STUB: PAMarkOperationStartAndSetContextProcessingConfiguration called"); return NULL; }
51  void* PANSDictionaryCopyStringForKey(void) { if (verbose) puts("STUB: PANSDictionaryCopyStringForKey called"); return NULL; }
52  void* PAPerfLoggingGetLogHandle(void) { if (verbose) puts("STUB: PAPerfLoggingGetLogHandle called"); return NULL; }
53  void* PAPerfLoggingIntervalPrintHeader(void) { if (verbose) puts("STUB: PAPerfLoggingIntervalPrintHeader called"); return NULL; }
54  void* PAPerfLoggingIsEnabled(void) { if (verbose) puts("STUB: PAPerfLoggingIsEnabled called"); return NULL; }
55  void* PAPerfLoggingMachAbsoluteTimeToSeconds(void) { if (verbose) puts("STUB: PAPerfLoggingMachAbsoluteTimeToSeconds called"); return NULL; }
56  void* PAPerfLoggingOnlyReportFramerate(void) { if (verbose) puts("STUB: PAPerfLoggingOnlyReportFramerate called"); return NULL; }
57  void* PAPerfLoggingProcessWSUpdateInfoDictionary(void) { if (verbose) puts("STUB: PAPerfLoggingProcessWSUpdateInfoDictionary called"); return NULL; }
58  void* PAPerfLoggingSecondsToMachAbsoluteTime(void) { if (verbose) puts("STUB: PAPerfLoggingSecondsToMachAbsoluteTime called"); return NULL; }
59  void* PAPerfLoggingSetDataGatheringEnabled(void) { if (verbose) puts("STUB: PAPerfLoggingSetDataGatheringEnabled called"); return NULL; }
60  void* PAPerfLoggingTimeoutIsEnabled(void) { if (verbose) puts("STUB: PAPerfLoggingTimeoutIsEnabled called"); return NULL; }
61  void* PASetContextProcessingConfigurationForOperation(void) { if (verbose) puts("STUB: PASetContextProcessingConfigurationForOperation called"); return NULL; }
62  void* PASetContextProcessingConfigurationForOperationIntervalType(void) { if (verbose) puts("STUB: PASetContextProcessingConfigurationForOperationIntervalType called"); return NULL; }
63  void* PAXPCCancelOperation(void) { if (verbose) puts("STUB: PAXPCCancelOperation called"); return NULL; }
64  void* PAXPCGetAPDConnection(void) { if (verbose) puts("STUB: PAXPCGetAPDConnection called"); return NULL; }
65  void* PAXPCMarkOperationEnd(void) { if (verbose) puts("STUB: PAXPCMarkOperationEnd called"); return NULL; }
66  void* PAXPCMarkOperationEndAndTruncateByDurationInSec(void) { if (verbose) puts("STUB: PAXPCMarkOperationEndAndTruncateByDurationInSec called"); return NULL; }
67  void* PAXPCMarkOperationEndAndTruncateByDurationInSecNoSysLogLogging(void) { if (verbose) puts("STUB: PAXPCMarkOperationEndAndTruncateByDurationInSecNoSysLogLogging called"); return NULL; }
68  void* PAXPCMarkOperationEndNoSysLogLogging(void) { if (verbose) puts("STUB: PAXPCMarkOperationEndNoSysLogLogging called"); return NULL; }
69  void* PAXPCMarkOperationEvent(void) { if (verbose) puts("STUB: PAXPCMarkOperationEvent called"); return NULL; }
70  void* PAXPCMarkOperationIntervalEnd(void) { if (verbose) puts("STUB: PAXPCMarkOperationIntervalEnd called"); return NULL; }
71  void* PAXPCMarkOperationIntervalEndAndStart(void) { if (verbose) puts("STUB: PAXPCMarkOperationIntervalEndAndStart called"); return NULL; }
72  void* PAXPCMarkOperationIntervalStart(void) { if (verbose) puts("STUB: PAXPCMarkOperationIntervalStart called"); return NULL; }
73  void* PAXPCMarkOperationStart(void) { if (verbose) puts("STUB: PAXPCMarkOperationStart called"); return NULL; }
74  void* PAXPCMarkOperationStartAndForceDetailedLogging(void) { if (verbose) puts("STUB: PAXPCMarkOperationStartAndForceDetailedLogging called"); return NULL; }
75  void* PA_MachAbsTimeToNanosecondsWithTimebase(void) { if (verbose) puts("STUB: PA_MachAbsTimeToNanosecondsWithTimebase called"); return NULL; }
76  void* PA_NanosecondsToMachAbsTimeWithTimebase(void) { if (verbose) puts("STUB: PA_NanosecondsToMachAbsTimeWithTimebase called"); return NULL; }
77  void* _PALogTimestamp(void) { if (verbose) puts("STUB: _PALogTimestamp called"); return NULL; }
78  void* _PAPrintToMutableData(void) { if (verbose) puts("STUB: _PAPrintToMutableData called"); return NULL; }
79  void* formattedAddress(void) { if (verbose) puts("STUB: formattedAddress called"); return NULL; }
80  void* formattedBytes(void) { if (verbose) puts("STUB: formattedBytes called"); return NULL; }
81  void* formattedBytesDouble(void) { if (verbose) puts("STUB: formattedBytesDouble called"); return NULL; }
82  void* formattedSignedBytes(void) { if (verbose) puts("STUB: formattedSignedBytes called"); return NULL; }
83  void* levelFormattedString(void) { if (verbose) puts("STUB: levelFormattedString called"); return NULL; }
84  void* nameForProcInfo(void) { if (verbose) puts("STUB: nameForProcInfo called"); return NULL; }
85  void* newProcessStructures(void) { if (verbose) puts("STUB: newProcessStructures called"); return NULL; }
86  void* pagesToBytes(void) { if (verbose) puts("STUB: pagesToBytes called"); return NULL; }
87  void* pagesToBytesDefault(void) { if (verbose) puts("STUB: pagesToBytesDefault called"); return NULL; }
88  void* pointerForIndex(void) { if (verbose) puts("STUB: pointerForIndex called"); return NULL; }
89  void* sizeOfRAM(void) { if (verbose) puts("STUB: sizeOfRAM called"); return NULL; }
90  void* stringForIndex(void) { if (verbose) puts("STUB: stringForIndex called"); return NULL; }
91  void* stringIndexForNSString(void) { if (verbose) puts("STUB: stringIndexForNSString called"); return NULL; }
92  void* stringNameForPAInternalTransitionType(void) { if (verbose) puts("STUB: stringNameForPAInternalTransitionType called"); return NULL; }
93  void* uuidForBytes(void) { if (verbose) puts("STUB: uuidForBytes called"); return NULL; }
94  void* uuidForString(void) { if (verbose) puts("STUB: uuidForString called"); return NULL; }