RootDomainUserClient.h [plain text]
#ifndef _IOKIT_ROOTDOMAINUSERCLIENT_H
#define _IOKIT_ROOTDOMAINUSERCLIENT_H
#include <IOKit/IOUserClient.h>
#include <IOKit/pwr_mgt/IOPM.h>
#include <IOKit/pwr_mgt/RootDomain.h>
#include <IOKit/pwr_mgt/IOPMLibDefs.h>
class RootDomainUserClient : public IOUserClient
{
OSDeclareDefaultStructors(RootDomainUserClient)
friend class IOPMrootDomain;
private:
IOPMrootDomain * fOwner;
task_t fOwningTask;
IOReturn secureSleepSystem( uint32_t *return_code );
IOReturn secureSleepSystemOptions( const void *inOptions,
IOByteCount inOptionsSize,
uint32_t *returnCode);
IOReturn secureSetAggressiveness( unsigned long type,
unsigned long newLevel,
int *return_code );
IOReturn secureSetMaintenanceWakeCalendar(
IOPMCalendarStruct *inCalendar,
uint32_t *returnCode);
IOReturn secureSetUserAssertionLevels(uint32_t assertionBitfield);
IOReturn secureGetSystemSleepType( uint32_t *sleepType );
public:
virtual IOReturn clientClose( void ) APPLE_KEXT_OVERRIDE;
virtual IOReturn externalMethod( uint32_t selector,
IOExternalMethodArguments * arguments,
IOExternalMethodDispatch * dispatch,
OSObject * target,
void * reference ) APPLE_KEXT_OVERRIDE;
virtual bool start( IOService * provider ) APPLE_KEXT_OVERRIDE;
virtual bool initWithTask(task_t owningTask, void *security_id,
UInt32 type, OSDictionary * properties) APPLE_KEXT_OVERRIDE;
void setPreventative(UInt32 on_off, UInt32 types_of_sleep);
virtual IOExternalMethod * getTargetAndMethodForIndex( IOService ** targetP, UInt32 index ) APPLE_KEXT_OVERRIDE;
};
#endif