Skip to content

Instantly share code, notes, and snippets.

@vngkv123
Last active December 7, 2021 21:20
Show Gist options
  • Save vngkv123/8ce86e1fd15c1c08baa60a317f04fd0b to your computer and use it in GitHub Desktop.
Save vngkv123/8ce86e1fd15c1c08baa60a317f04fd0b to your computer and use it in GitHub Desktop.
kernelcache vtable information
IOUserClient_vtbl = '''struct /*VFT*/ IOUserClient_vtbl
{
void (__cdecl *~IOUserClient)(IOUserClient *__hidden this);
void (__cdecl *~IOUserClient_0)(IOUserClient *__hidden this);
void (__cdecl *release)(OSObject *__hidden this, int freeWhen);
int (__cdecl *getRetainCount)(OSObject *__hidden this);
void (__cdecl *retain)(OSObject *__hidden this);
void (__cdecl *release_0)(OSObject *__hidden this);
bool (__cdecl *serialize)(OSObject *__hidden this, OSSerialize *serializer);
const OSMetaClass *(__cdecl *getMetaClass)(IOUserClient *__hidden this);
bool (__cdecl *isEqualTo)(OSMetaClassBase *__hidden this, const OSMetaClassBase *anObject);
void (__cdecl *taggedRetain)(OSObject *__hidden this, const void *tag);
void (__cdecl *taggedRelease)(OSObject *__hidden this, const void *tag);
void (__cdecl *taggedRelease_0)(OSObject *__hidden this, const void *tag, const int freeWhen);
kern_return_t (__cdecl *Dispatch)(IOUserClient *__hidden this, const IORPC rpc);
bool (__cdecl *init)(IOUserClient *__hidden this);
void (__cdecl *free)(IOUserClient *__hidden this);
OSObject *(__cdecl *copyProperty)(IORegistryEntry *__hidden this, const char *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *copyProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *copyProperty_1)(IORegistryEntry *__hidden this, const OSSymbol *aKey, const IORegistryPlane *plane, IOOptionBits options);
IORegistryEntry *(__cdecl *copyParentEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *copyChildEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
IOReturn (__cdecl *runPropertyAction)(IORegistryEntry *__hidden this, IORegistryEntry::Action action, OSObject *target, void *arg0, void *arg1, void *arg2, void *arg3);
bool (__cdecl *init_0)(IOUserClient *__hidden this, OSDictionary *dictionary);
void (__cdecl *setPropertyTable)(IORegistryEntry *__hidden this, OSDictionary *dict);
bool (__cdecl *setProperty)(IORegistryEntry *__hidden this, const OSSymbol *aKey, OSObject *anObject);
bool (__cdecl *setProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey, OSObject *anObject);
bool (__cdecl *setProperty_1)(IORegistryEntry *__hidden this, const char *aKey, OSObject *anObject);
bool (__cdecl *setProperty_2)(IORegistryEntry *__hidden this, const char *aKey, const char *aString);
bool (__cdecl *setProperty_3)(IORegistryEntry *__hidden this, const char *aKey, bool aBoolean);
bool (__cdecl *setProperty_4)(IORegistryEntry *__hidden this, const char *aKey, unsigned __int64 aValue, unsigned int aNumberOfBits);
bool (__cdecl *setProperty_5)(IORegistryEntry *__hidden this, const char *aKey, void *bytes, unsigned int length);
void (__cdecl *removeProperty)(IORegistryEntry *__hidden this, const OSSymbol *aKey);
void (__cdecl *removeProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey);
void (__cdecl *removeProperty_1)(IORegistryEntry *__hidden this, const char *aKey);
OSObject *(__cdecl *getProperty)(IORegistryEntry *__hidden this, const OSSymbol *aKey);
OSObject *(__cdecl *getProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey);
OSObject *(__cdecl *getProperty_1)(IORegistryEntry *__hidden this, const char *aKey);
OSObject *(__cdecl *getProperty_2)(IORegistryEntry *__hidden this, const OSSymbol *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *getProperty_3)(IORegistryEntry *__hidden this, const OSString *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *getProperty_4)(IORegistryEntry *__hidden this, const char *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *copyProperty_2)(IORegistryEntry *__hidden this, const OSSymbol *aKey);
OSObject *(__cdecl *copyProperty_3)(IORegistryEntry *__hidden this, const OSString *aKey);
OSObject *(__cdecl *copyProperty_4)(IORegistryEntry *__hidden this, const char *aKey);
OSDictionary *(__cdecl *dictionaryWithProperties)(IORegistryEntry *__hidden this);
bool (__cdecl *serializeProperties)(IOService *__hidden this, OSSerialize *s);
IOReturn (__cdecl *setProperties)(IORegistryEntry *__hidden this, OSObject *properties);
OSIterator *(__cdecl *getParentIterator)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *applyToParents)(IORegistryEntry *__hidden this, IORegistryEntryApplierFunction applier, void *context, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *getParentEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
OSIterator *(__cdecl *getChildIterator)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *applyToChildren)(IORegistryEntry *__hidden this, IORegistryEntryApplierFunction applier, void *context, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *getChildEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
bool (__cdecl *isChild)(IORegistryEntry *__hidden this, IORegistryEntry *child, const IORegistryPlane *plane, bool onlyChild);
bool (__cdecl *isParent)(IORegistryEntry *__hidden this, IORegistryEntry *parent, const IORegistryPlane *plane, bool onlyParent);
bool (__cdecl *inPlane)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
unsigned int (__cdecl *getDepth)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
bool (__cdecl *attachToParent)(IORegistryEntry *__hidden this, IORegistryEntry *parent, const IORegistryPlane *plane);
void (__cdecl *detachFromParent)(IORegistryEntry *__hidden this, IORegistryEntry *parent, const IORegistryPlane *plane);
bool (__cdecl *attachToChild)(IORegistryEntry *__hidden this, IORegistryEntry *child, const IORegistryPlane *plane);
void (__cdecl *detachFromChild)(IORegistryEntry *__hidden this, IORegistryEntry *child, const IORegistryPlane *plane);
void (__cdecl *detachAbove)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *detachAll)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
const char *(__cdecl *getName)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
const OSSymbol *(__cdecl *copyName)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
bool (__cdecl *compareNames)(IORegistryEntry *__hidden this, OSObject *name, OSString **matched);
bool (__cdecl *compareName)(IORegistryEntry *__hidden this, OSString *name, OSString **matched);
void (__cdecl *setName)(IORegistryEntry *__hidden this, const OSSymbol *name, const IORegistryPlane *plane);
void (__cdecl *setName_0)(IORegistryEntry *__hidden this, const char *name, const IORegistryPlane *plane);
const char *(__cdecl *getLocation)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
const OSSymbol *(__cdecl *copyLocation)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *setLocation)(IORegistryEntry *__hidden this, const OSSymbol *location, const IORegistryPlane *plane);
void (__cdecl *setLocation_0)(IORegistryEntry *__hidden this, const char *location, const IORegistryPlane *plane);
bool (__cdecl *getPath)(IORegistryEntry *__hidden this, char *path, int *length, const IORegistryPlane *plane);
bool (__cdecl *getPathComponent)(IORegistryEntry *__hidden this, char *path, int *length, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *childFromPath)(IORegistryEntry *__hidden this, const char *path, const IORegistryPlane *plane, char *residualPath, int *residualLength);
bool (__cdecl *init_1)(IOService *__hidden this, IORegistryEntry *from, const IORegistryPlane *inPlane);
bool (__cdecl *requestTerminate)(IOService *__hidden this, IOService *provider, IOOptionBits options);
bool (__cdecl *willTerminate)(IOService *__hidden this, IOService *provider, IOOptionBits options);
bool (__cdecl *didTerminate)(IOService *__hidden this, IOService *provider, IOOptionBits options, bool *defer);
SInt32 (__cdecl *nextIdleTimeout)(IOService *__hidden this, AbsoluteTime currentTime, AbsoluteTime lastActivity, unsigned int powerState);
void (__cdecl *systemWillShutdown)(IOService *__hidden this, IOOptionBits specifier);
IOService *(__cdecl *copyClientWithCategory)(IOService *__hidden this, const OSSymbol *category);
IOReturn (__cdecl *configureReport)(IOService *__hidden this, IOReportChannelList *channels, IOReportConfigureAction action, void *result, void *destination);
IOReturn (__cdecl *updateReport)(IOService *__hidden this, IOReportChannelList *channels, IOReportUpdateAction action, void *result, void *destination);
IOOptionBits (__cdecl *getState)(IOService *__hidden this);
void (__cdecl *registerService)(IOService *__hidden this, IOOptionBits options);
IOService *(__cdecl *probe)(IOService *__hidden this, IOService *provider, SInt32 *score);
bool (__cdecl *start)(IOService *__hidden this, IOService *provider);
void (__cdecl *stop)(IOService *__hidden this, IOService *provider);
bool (__cdecl *open)(IOService *__hidden this, IOService *forClient, IOOptionBits options, void *arg);
void (__cdecl *close)(IOService *__hidden this, IOService *forClient, IOOptionBits options);
bool (__cdecl *isOpen)(IOService *__hidden this, const IOService *forClient);
bool (__cdecl *handleOpen)(IOService *__hidden this, IOService *forClient, IOOptionBits options, void *arg);
void (__cdecl *handleClose)(IOService *__hidden this, IOService *forClient, IOOptionBits options);
bool (__cdecl *handleIsOpen)(IOService *__hidden this, const IOService *forClient);
bool (__cdecl *terminate)(IOService *__hidden this, IOOptionBits options);
bool (__cdecl *finalize)(IOService *__hidden this, IOOptionBits options);
bool (__cdecl *lockForArbitration)(IOService *__hidden this, bool isSuccessRequired);
void (__cdecl *unlockForArbitration)(IOService *__hidden this);
bool (__cdecl *terminateClient)(IOService *__hidden this, IOService *client, IOOptionBits options);
UInt32 (__cdecl *getBusyState)(IOService *__hidden this);
void (__cdecl *adjustBusy)(IOService *__hidden this, SInt32 delta);
bool (__cdecl *matchPropertyTable)(IOService *__hidden this, OSDictionary *table, SInt32 *score);
bool (__cdecl *matchPropertyTable_0)(IOService *__hidden this, OSDictionary *table);
IOService *(__cdecl *matchLocation)(IOService *__hidden this, IOService *client);
bool (__cdecl *addNeededResource)(IOService *__hidden this, const char *key);
bool (__cdecl *compareProperty)(IOService *__hidden this, OSDictionary *matching, const char *key);
bool (__cdecl *compareProperty_0)(IOService *__hidden this, OSDictionary *matching, const OSString *key);
bool (__cdecl *compareProperties)(IOService *__hidden this, OSDictionary *matching, OSCollection *keys);
bool (__cdecl *attach)(IOService *__hidden this, IOService *provider);
void (__cdecl *detach)(IOService *__hidden this, IOService *provider);
IOService *(__cdecl *getProvider)(IOService *__hidden this);
IOWorkLoop *(__cdecl *getWorkLoop)(IOService *__hidden this);
OSIterator *(__cdecl *getProviderIterator)(IOService *__hidden this);
OSIterator *(__cdecl *getOpenProviderIterator)(IOService *__hidden this);
IOService *(__cdecl *getClient)(IOService *__hidden this);
OSIterator *(__cdecl *getClientIterator)(IOService *__hidden this);
OSIterator *(__cdecl *getOpenClientIterator)(IOService *__hidden this);
IOReturn (__cdecl *callPlatformFunction)(IOService *__hidden this, const OSSymbol *functionName, bool waitForFunction, void *param1, void *param2, void *param3, void *param4);
IOReturn (__cdecl *callPlatformFunction_0)(IOService *__hidden this, const char *functionName, bool waitForFunction, void *param1, void *param2, void *param3, void *param4);
IOReturn (__cdecl *getResources)(IOService *__hidden this);
IOItemCount (__cdecl *getDeviceMemoryCount)(IOService *__hidden this);
IODeviceMemory *(__cdecl *getDeviceMemoryWithIndex)(IOService *__hidden this, unsigned int index);
IOMemoryMap *(__cdecl *mapDeviceMemoryWithIndex)(IOService *__hidden this, unsigned int index, IOOptionBits options);
OSArray *(__cdecl *getDeviceMemory)(IOService *__hidden this);
void (__cdecl *setDeviceMemory)(IOService *__hidden this, OSArray *array);
IOReturn (__cdecl *registerInterrupt)(IOService *__hidden this, int source, OSObject *target, IOInterruptAction handler, void *refCon);
IOReturn (__cdecl *unregisterInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *getInterruptType)(IOService *__hidden this, int source, int *interruptType);
IOReturn (__cdecl *enableInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *disableInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *causeInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *requestProbe)(IOService *__hidden this, IOOptionBits options);
IOReturn (__cdecl *message)(IOService *__hidden this, UInt32 type, IOService *provider, void *argument);
IOReturn (__cdecl *messageClient)(IOService *__hidden this, UInt32 messageType, OSObject *client, void *messageArgument, vm_size_t argSize);
IOReturn (__cdecl *messageClients)(IOService *__hidden this, UInt32 type, void *argument, vm_size_t argSize);
IONotifier *(__cdecl *registerInterest)(IOService *__hidden this, const OSSymbol *typeOfInterest, IOServiceInterestHandler handler, void *target, void *ref);
void (__cdecl *applyToProviders)(IOService *__hidden this, IOServiceApplierFunction applier, void *context);
void (__cdecl *applyToClients)(IOService *__hidden this, IOServiceApplierFunction applier, void *context);
void (__cdecl *applyToInterested)(IOService *__hidden this, const OSSymbol *typeOfInterest, OSObjectApplierFunction applier, void *context);
IOReturn (__cdecl *acknowledgeNotification)(IOService *__hidden this, IONotificationRef notification, IOOptionBits response);
IOReturn (__cdecl *newUserClient)(IOService *__hidden this, task_t owningTask, void *securityID, UInt32 type, OSDictionary *properties, IOUserClient **handler);
IOReturn (__cdecl *newUserClient_0)(IOService *__hidden this, task_t owningTask, void *securityID, UInt32 type, IOUserClient **handler);
const char *(__cdecl *stringFromReturn)(IOService *__hidden this, IOReturn rtn);
int (__cdecl *errnoFromReturn)(IOService *__hidden this, IOReturn rtn);
void (__cdecl *PMinit)(IOService *__hidden this);
void (__cdecl *PMstop)(IOService *__hidden this);
void (__cdecl *joinPMtree)(IOService *__hidden this, IOService *driver);
IOReturn (__cdecl *registerPowerDriver)(IOService *__hidden this, IOService *controllingDriver, IOPMPowerState *powerStates, unsigned __int64 numberOfStates);
IOReturn (__cdecl *requestPowerDomainState)(IOService *__hidden this, IOPMPowerFlags desiredState, IOPowerConnection *whichChild, unsigned __int64 specificationFlags);
bool (__cdecl *activityTickle)(IOService *__hidden this, unsigned __int64 type, unsigned __int64 stateNumber);
IOReturn (__cdecl *setAggressiveness)(IOService *__hidden this, unsigned __int64 type, unsigned __int64 newLevel);
IOReturn (__cdecl *getAggressiveness)(IOService *__hidden this, unsigned __int64 type, unsigned __int64 *currentLevel);
IOReturn (__cdecl *addPowerChild)(IOService *__hidden this, IOService *theChild);
IOReturn (__cdecl *removePowerChild)(IOService *__hidden this, IOPowerConnection *theChild);
IOReturn (__cdecl *setIdleTimerPeriod)(IOService *__hidden this, unsigned __int64 period);
IOReturn (__cdecl *setPowerState)(IOService *__hidden this, unsigned __int64 powerStateOrdinal, IOService *whatDevice);
unsigned __int64 (__cdecl *maxCapabilityForDomainState)(IOService *__hidden this, IOPMPowerFlags domainState);
unsigned __int64 (__cdecl *initialPowerStateForDomainState)(IOService *__hidden this, IOPMPowerFlags domainState);
unsigned __int64 (__cdecl *powerStateForDomainState)(IOService *__hidden this, IOPMPowerFlags domainState);
IOReturn (__cdecl *powerStateWillChangeTo)(IOService *__hidden this, IOPMPowerFlags capabilities, unsigned __int64 stateNumber, IOService *whatDevice);
IOReturn (__cdecl *powerStateDidChangeTo)(IOService *__hidden this, IOPMPowerFlags capabilities, unsigned __int64 stateNumber, IOService *whatDevice);
bool (__cdecl *askChangeDown)(IOService *__hidden this, unsigned __int64);
bool (__cdecl *tellChangeDown)(IOService *__hidden this, unsigned __int64);
void (__cdecl *tellNoChangeDown)(IOService *__hidden this, unsigned __int64);
void (__cdecl *tellChangeUp)(IOService *__hidden this, unsigned __int64);
IOReturn (__cdecl *allowPowerChange)(IOService *__hidden this, unsigned __int64 refcon);
IOReturn (__cdecl *cancelPowerChange)(IOService *__hidden this, unsigned __int64 refcon);
void (__cdecl *powerChangeDone)(IOService *__hidden this, unsigned __int64 stateNumber);
IOReturn (__cdecl *externalMethod)(IOUserClient *__hidden this, uint32_t selector, IOExternalMethodArguments *arguments, IOExternalMethodDispatch *dispatch, OSObject *target, void *reference);
IOReturn (__cdecl *registerNotificationPort)(IOUserClient *__hidden this, mach_port_t port, UInt32 type, io_user_reference_t refCon);
bool (__cdecl *initWithTask)(IOUserClient *__hidden this, task_t owningTask, void *securityToken, UInt32 type, OSDictionary *properties);
bool (__cdecl *initWithTask_0)(IOUserClient *__hidden this, task_t owningTask, void *securityToken, UInt32 type);
IOReturn (__cdecl *clientClose)(IOUserClient *__hidden this);
IOReturn (__cdecl *clientDied)(IOUserClient *__hidden this);
IOService *(__cdecl *getService)(IOUserClient *__hidden this);
IOReturn (__cdecl *registerNotificationPort_0)(IOUserClient *__hidden this, mach_port_t port, UInt32 type, UInt32 refCon);
IOReturn (__cdecl *getNotificationSemaphore)(IOUserClient *__hidden this, UInt32 notification_type, semaphore_t *semaphore);
IOReturn (__cdecl *connectClient)(IOUserClient *__hidden this, IOUserClient *client);
IOReturn (__cdecl *clientMemoryForType)(IOUserClient *__hidden this, UInt32 type, IOOptionBits *options, IOMemoryDescriptor **memory);
IOReturn (__cdecl *exportObjectToClient)(IOUserClient *__hidden this, task_t task, OSObject *obj, io_object_t *clientObj);
IOExternalMethod *(__cdecl *getExternalMethodForIndex)(IOUserClient *__hidden this, UInt32 index);
IOExternalAsyncMethod *(__cdecl *getExternalAsyncMethodForIndex)(IOUserClient *__hidden this, UInt32 index);
IOExternalMethod *(__cdecl *getTargetAndMethodForIndex)(IOUserClient *__hidden this, IOService **targetP, UInt32 index);
IOExternalAsyncMethod *(__cdecl *getAsyncTargetAndMethodForIndex)(IOUserClient *__hidden this, IOService **targetP, UInt32 index);
IOExternalTrap *(__cdecl *getExternalTrapForIndex)(IOUserClient *__hidden this, UInt32 index);
IOExternalTrap *(__cdecl *getTargetAndTrapForIndex)(IOUserClient *__hidden this, IOService **targetP, UInt32 index);
};'''
IOService_vtbl = '''struct /*VFT*/ IOService_vtbl
{
void (__cdecl *~IOService)(IOService *__hidden this);
void (__cdecl *~IOService_0)(IOService *__hidden this);
void (__cdecl *release)(OSObject *__hidden this, int freeWhen);
int (__cdecl *getRetainCount)(OSObject *__hidden this);
void (__cdecl *retain)(OSObject *__hidden this);
void (__cdecl *release_0)(OSObject *__hidden this);
bool (__cdecl *serialize)(OSObject *__hidden this, OSSerialize *serializer);
const OSMetaClass *(__cdecl *getMetaClass)(IOService *__hidden this);
bool (__cdecl *isEqualTo)(OSMetaClassBase *__hidden this, const OSMetaClassBase *anObject);
void (__cdecl *taggedRetain)(OSObject *__hidden this, const void *tag);
void (__cdecl *taggedRelease)(OSObject *__hidden this, const void *tag);
void (__cdecl *taggedRelease_0)(OSObject *__hidden this, const void *tag, const int freeWhen);
kern_return_t (__cdecl *Dispatch)(IOService *__hidden this, const IORPC rpc);
bool (__cdecl *init)(OSObject *__hidden this);
void (__cdecl *free)(IOService *__hidden this);
OSObject *(__cdecl *copyProperty)(IORegistryEntry *__hidden this, const char *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *copyProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *copyProperty_1)(IORegistryEntry *__hidden this, const OSSymbol *aKey, const IORegistryPlane *plane, IOOptionBits options);
IORegistryEntry *(__cdecl *copyParentEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *copyChildEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
IOReturn (__cdecl *runPropertyAction)(IORegistryEntry *__hidden this, IORegistryEntry::Action action, OSObject *target, void *arg0, void *arg1, void *arg2, void *arg3);
bool (__cdecl *init_0)(IOService *__hidden this, OSDictionary *dictionary);
void (__cdecl *setPropertyTable)(IORegistryEntry *__hidden this, OSDictionary *dict);
bool (__cdecl *setProperty)(IORegistryEntry *__hidden this, const OSSymbol *aKey, OSObject *anObject);
bool (__cdecl *setProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey, OSObject *anObject);
bool (__cdecl *setProperty_1)(IORegistryEntry *__hidden this, const char *aKey, OSObject *anObject);
bool (__cdecl *setProperty_2)(IORegistryEntry *__hidden this, const char *aKey, const char *aString);
bool (__cdecl *setProperty_3)(IORegistryEntry *__hidden this, const char *aKey, bool aBoolean);
bool (__cdecl *setProperty_4)(IORegistryEntry *__hidden this, const char *aKey, unsigned __int64 aValue, unsigned int aNumberOfBits);
bool (__cdecl *setProperty_5)(IORegistryEntry *__hidden this, const char *aKey, void *bytes, unsigned int length);
void (__cdecl *removeProperty)(IORegistryEntry *__hidden this, const OSSymbol *aKey);
void (__cdecl *removeProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey);
void (__cdecl *removeProperty_1)(IORegistryEntry *__hidden this, const char *aKey);
OSObject *(__cdecl *getProperty)(IORegistryEntry *__hidden this, const OSSymbol *aKey);
OSObject *(__cdecl *getProperty_0)(IORegistryEntry *__hidden this, const OSString *aKey);
OSObject *(__cdecl *getProperty_1)(IORegistryEntry *__hidden this, const char *aKey);
OSObject *(__cdecl *getProperty_2)(IORegistryEntry *__hidden this, const OSSymbol *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *getProperty_3)(IORegistryEntry *__hidden this, const OSString *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *getProperty_4)(IORegistryEntry *__hidden this, const char *aKey, const IORegistryPlane *plane, IOOptionBits options);
OSObject *(__cdecl *copyProperty_2)(IORegistryEntry *__hidden this, const OSSymbol *aKey);
OSObject *(__cdecl *copyProperty_3)(IORegistryEntry *__hidden this, const OSString *aKey);
OSObject *(__cdecl *copyProperty_4)(IORegistryEntry *__hidden this, const char *aKey);
OSDictionary *(__cdecl *dictionaryWithProperties)(IORegistryEntry *__hidden this);
bool (__cdecl *serializeProperties)(IOService *__hidden this, OSSerialize *s);
IOReturn (__cdecl *setProperties)(IORegistryEntry *__hidden this, OSObject *properties);
OSIterator *(__cdecl *getParentIterator)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *applyToParents)(IORegistryEntry *__hidden this, IORegistryEntryApplierFunction applier, void *context, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *getParentEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
OSIterator *(__cdecl *getChildIterator)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *applyToChildren)(IORegistryEntry *__hidden this, IORegistryEntryApplierFunction applier, void *context, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *getChildEntry)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
bool (__cdecl *isChild)(IORegistryEntry *__hidden this, IORegistryEntry *child, const IORegistryPlane *plane, bool onlyChild);
bool (__cdecl *isParent)(IORegistryEntry *__hidden this, IORegistryEntry *parent, const IORegistryPlane *plane, bool onlyParent);
bool (__cdecl *inPlane)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
unsigned int (__cdecl *getDepth)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
bool (__cdecl *attachToParent)(IORegistryEntry *__hidden this, IORegistryEntry *parent, const IORegistryPlane *plane);
void (__cdecl *detachFromParent)(IORegistryEntry *__hidden this, IORegistryEntry *parent, const IORegistryPlane *plane);
bool (__cdecl *attachToChild)(IORegistryEntry *__hidden this, IORegistryEntry *child, const IORegistryPlane *plane);
void (__cdecl *detachFromChild)(IORegistryEntry *__hidden this, IORegistryEntry *child, const IORegistryPlane *plane);
void (__cdecl *detachAbove)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *detachAll)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
const char *(__cdecl *getName)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
const OSSymbol *(__cdecl *copyName)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
bool (__cdecl *compareNames)(IORegistryEntry *__hidden this, OSObject *name, OSString **matched);
bool (__cdecl *compareName)(IORegistryEntry *__hidden this, OSString *name, OSString **matched);
void (__cdecl *setName)(IORegistryEntry *__hidden this, const OSSymbol *name, const IORegistryPlane *plane);
void (__cdecl *setName_0)(IORegistryEntry *__hidden this, const char *name, const IORegistryPlane *plane);
const char *(__cdecl *getLocation)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
const OSSymbol *(__cdecl *copyLocation)(IORegistryEntry *__hidden this, const IORegistryPlane *plane);
void (__cdecl *setLocation)(IORegistryEntry *__hidden this, const OSSymbol *location, const IORegistryPlane *plane);
void (__cdecl *setLocation_0)(IORegistryEntry *__hidden this, const char *location, const IORegistryPlane *plane);
bool (__cdecl *getPath)(IORegistryEntry *__hidden this, char *path, int *length, const IORegistryPlane *plane);
bool (__cdecl *getPathComponent)(IORegistryEntry *__hidden this, char *path, int *length, const IORegistryPlane *plane);
IORegistryEntry *(__cdecl *childFromPath)(IORegistryEntry *__hidden this, const char *path, const IORegistryPlane *plane, char *residualPath, int *residualLength);
bool (__cdecl *init_1)(IOService *__hidden this, IORegistryEntry *from, const IORegistryPlane *inPlane);
bool (__cdecl *requestTerminate)(IOService *__hidden this, IOService *provider, IOOptionBits options);
bool (__cdecl *willTerminate)(IOService *__hidden this, IOService *provider, IOOptionBits options);
bool (__cdecl *didTerminate)(IOService *__hidden this, IOService *provider, IOOptionBits options, bool *defer);
SInt32 (__cdecl *nextIdleTimeout)(IOService *__hidden this, AbsoluteTime currentTime, AbsoluteTime lastActivity, unsigned int powerState);
void (__cdecl *systemWillShutdown)(IOService *__hidden this, IOOptionBits specifier);
IOService *(__cdecl *copyClientWithCategory)(IOService *__hidden this, const OSSymbol *category);
IOReturn (__cdecl *configureReport)(IOService *__hidden this, IOReportChannelList *channels, IOReportConfigureAction action, void *result, void *destination);
IOReturn (__cdecl *updateReport)(IOService *__hidden this, IOReportChannelList *channels, IOReportUpdateAction action, void *result, void *destination);
IOOptionBits (__cdecl *getState)(IOService *__hidden this);
void (__cdecl *registerService)(IOService *__hidden this, IOOptionBits options);
IOService *(__cdecl *probe)(IOService *__hidden this, IOService *provider, SInt32 *score);
bool (__cdecl *start)(IOService *__hidden this, IOService *provider);
void (__cdecl *stop)(IOService *__hidden this, IOService *provider);
bool (__cdecl *open)(IOService *__hidden this, IOService *forClient, IOOptionBits options, void *arg);
void (__cdecl *close)(IOService *__hidden this, IOService *forClient, IOOptionBits options);
bool (__cdecl *isOpen)(IOService *__hidden this, const IOService *forClient);
bool (__cdecl *handleOpen)(IOService *__hidden this, IOService *forClient, IOOptionBits options, void *arg);
void (__cdecl *handleClose)(IOService *__hidden this, IOService *forClient, IOOptionBits options);
bool (__cdecl *handleIsOpen)(IOService *__hidden this, const IOService *forClient);
bool (__cdecl *terminate)(IOService *__hidden this, IOOptionBits options);
bool (__cdecl *finalize)(IOService *__hidden this, IOOptionBits options);
bool (__cdecl *lockForArbitration)(IOService *__hidden this, bool isSuccessRequired);
void (__cdecl *unlockForArbitration)(IOService *__hidden this);
bool (__cdecl *terminateClient)(IOService *__hidden this, IOService *client, IOOptionBits options);
UInt32 (__cdecl *getBusyState)(IOService *__hidden this);
void (__cdecl *adjustBusy)(IOService *__hidden this, SInt32 delta);
bool (__cdecl *matchPropertyTable)(IOService *__hidden this, OSDictionary *table, SInt32 *score);
bool (__cdecl *matchPropertyTable_0)(IOService *__hidden this, OSDictionary *table);
IOService *(__cdecl *matchLocation)(IOService *__hidden this, IOService *client);
bool (__cdecl *addNeededResource)(IOService *__hidden this, const char *key);
bool (__cdecl *compareProperty)(IOService *__hidden this, OSDictionary *matching, const char *key);
bool (__cdecl *compareProperty_0)(IOService *__hidden this, OSDictionary *matching, const OSString *key);
bool (__cdecl *compareProperties)(IOService *__hidden this, OSDictionary *matching, OSCollection *keys);
bool (__cdecl *attach)(IOService *__hidden this, IOService *provider);
void (__cdecl *detach)(IOService *__hidden this, IOService *provider);
IOService *(__cdecl *getProvider)(IOService *__hidden this);
IOWorkLoop *(__cdecl *getWorkLoop)(IOService *__hidden this);
OSIterator *(__cdecl *getProviderIterator)(IOService *__hidden this);
OSIterator *(__cdecl *getOpenProviderIterator)(IOService *__hidden this);
IOService *(__cdecl *getClient)(IOService *__hidden this);
OSIterator *(__cdecl *getClientIterator)(IOService *__hidden this);
OSIterator *(__cdecl *getOpenClientIterator)(IOService *__hidden this);
IOReturn (__cdecl *callPlatformFunction)(IOService *__hidden this, const OSSymbol *functionName, bool waitForFunction, void *param1, void *param2, void *param3, void *param4);
IOReturn (__cdecl *callPlatformFunction_0)(IOService *__hidden this, const char *functionName, bool waitForFunction, void *param1, void *param2, void *param3, void *param4);
IOReturn (__cdecl *getResources)(IOService *__hidden this);
IOItemCount (__cdecl *getDeviceMemoryCount)(IOService *__hidden this);
IODeviceMemory *(__cdecl *getDeviceMemoryWithIndex)(IOService *__hidden this, unsigned int index);
IOMemoryMap *(__cdecl *mapDeviceMemoryWithIndex)(IOService *__hidden this, unsigned int index, IOOptionBits options);
OSArray *(__cdecl *getDeviceMemory)(IOService *__hidden this);
void (__cdecl *setDeviceMemory)(IOService *__hidden this, OSArray *array);
IOReturn (__cdecl *registerInterrupt)(IOService *__hidden this, int source, OSObject *target, IOInterruptAction handler, void *refCon);
IOReturn (__cdecl *unregisterInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *getInterruptType)(IOService *__hidden this, int source, int *interruptType);
IOReturn (__cdecl *enableInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *disableInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *causeInterrupt)(IOService *__hidden this, int source);
IOReturn (__cdecl *requestProbe)(IOService *__hidden this, IOOptionBits options);
IOReturn (__cdecl *message)(IOService *__hidden this, UInt32 type, IOService *provider, void *argument);
IOReturn (__cdecl *messageClient)(IOService *__hidden this, UInt32 messageType, OSObject *client, void *messageArgument, vm_size_t argSize);
IOReturn (__cdecl *messageClients)(IOService *__hidden this, UInt32 type, void *argument, vm_size_t argSize);
IONotifier *(__cdecl *registerInterest)(IOService *__hidden this, const OSSymbol *typeOfInterest, IOServiceInterestHandler handler, void *target, void *ref);
void (__cdecl *applyToProviders)(IOService *__hidden this, IOServiceApplierFunction applier, void *context);
void (__cdecl *applyToClients)(IOService *__hidden this, IOServiceApplierFunction applier, void *context);
void (__cdecl *applyToInterested)(IOService *__hidden this, const OSSymbol *typeOfInterest, OSObjectApplierFunction applier, void *context);
IOReturn (__cdecl *acknowledgeNotification)(IOService *__hidden this, IONotificationRef notification, IOOptionBits response);
IOReturn (__cdecl *newUserClient)(IOService *__hidden this, task_t owningTask, void *securityID, UInt32 type, OSDictionary *properties, IOUserClient **handler);
IOReturn (__cdecl *newUserClient_0)(IOService *__hidden this, task_t owningTask, void *securityID, UInt32 type, IOUserClient **handler);
const char *(__cdecl *stringFromReturn)(IOService *__hidden this, IOReturn rtn);
int (__cdecl *errnoFromReturn)(IOService *__hidden this, IOReturn rtn);
void (__cdecl *PMinit)(IOService *__hidden this);
void (__cdecl *PMstop)(IOService *__hidden this);
void (__cdecl *joinPMtree)(IOService *__hidden this, IOService *driver);
IOReturn (__cdecl *registerPowerDriver)(IOService *__hidden this, IOService *controllingDriver, IOPMPowerState *powerStates, unsigned __int64 numberOfStates);
IOReturn (__cdecl *requestPowerDomainState)(IOService *__hidden this, IOPMPowerFlags desiredState, IOPowerConnection *whichChild, unsigned __int64 specificationFlags);
bool (__cdecl *activityTickle)(IOService *__hidden this, unsigned __int64 type, unsigned __int64 stateNumber);
IOReturn (__cdecl *setAggressiveness)(IOService *__hidden this, unsigned __int64 type, unsigned __int64 newLevel);
IOReturn (__cdecl *getAggressiveness)(IOService *__hidden this, unsigned __int64 type, unsigned __int64 *currentLevel);
IOReturn (__cdecl *addPowerChild)(IOService *__hidden this, IOService *theChild);
IOReturn (__cdecl *removePowerChild)(IOService *__hidden this, IOPowerConnection *theChild);
IOReturn (__cdecl *setIdleTimerPeriod)(IOService *__hidden this, unsigned __int64 period);
IOReturn (__cdecl *setPowerState)(IOService *__hidden this, unsigned __int64 powerStateOrdinal, IOService *whatDevice);
unsigned __int64 (__cdecl *maxCapabilityForDomainState)(IOService *__hidden this, IOPMPowerFlags domainState);
unsigned __int64 (__cdecl *initialPowerStateForDomainState)(IOService *__hidden this, IOPMPowerFlags domainState);
unsigned __int64 (__cdecl *powerStateForDomainState)(IOService *__hidden this, IOPMPowerFlags domainState);
IOReturn (__cdecl *powerStateWillChangeTo)(IOService *__hidden this, IOPMPowerFlags capabilities, unsigned __int64 stateNumber, IOService *whatDevice);
IOReturn (__cdecl *powerStateDidChangeTo)(IOService *__hidden this, IOPMPowerFlags capabilities, unsigned __int64 stateNumber, IOService *whatDevice);
bool (__cdecl *askChangeDown)(IOService *__hidden this, unsigned __int64);
bool (__cdecl *tellChangeDown)(IOService *__hidden this, unsigned __int64);
void (__cdecl *tellNoChangeDown)(IOService *__hidden this, unsigned __int64);
void (__cdecl *tellChangeUp)(IOService *__hidden this, unsigned __int64);
IOReturn (__cdecl *allowPowerChange)(IOService *__hidden this, unsigned __int64 refcon);
IOReturn (__cdecl *cancelPowerChange)(IOService *__hidden this, unsigned __int64 refcon);
void (__cdecl *powerChangeDone)(IOService *__hidden this, unsigned __int64 stateNumber);
};'''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment