IOUSBControllerUserClient.h [plain text]
#ifndef _IOKIT_IOUSBCONTROLLERUSERCLIENT_H
#define _IOKIT_IOUSBCONTROLLERUSERCLIENT_H
#include <IOKit/IOUserClient.h>
#include <IOKit/usb/IOUSBUserClient.h>
#include <IOKit/usb/IOUSBLog.h>
class IOUSBController;
class IOUSBControllerUserClient : public IOUserClient
{
OSDeclareDefaultStructors(IOUSBControllerUserClient)
private:
IOUSBController * fOwner;
task_t fTask;
const IOExternalMethod * fMethods;
IOCommandGate * fGate;
UInt32 fNumMethods;
mach_port_t fWakePort;
bool fDead;
static const IOExternalMethod sMethods[kNumUSBControllerMethods];
static const IOItemCount sMethodCount;
struct ExpansionData { };
ExpansionData * fExpansionData;
virtual void SetExternalMethodVectors(void);
public:
virtual IOReturn open(bool seize);
virtual IOReturn close(void);
virtual bool start( IOService * provider );
virtual void stop( IOService * provider );
virtual bool initWithTask( task_t owningTask, void * securityID,
UInt32 type, OSDictionary * properties );
virtual IOExternalMethod * getTargetAndMethodForIndex(IOService **target, UInt32 index);
virtual IOReturn clientClose( void );
virtual IOReturn EnableKernelLogger(bool enable);
virtual IOReturn SetDebuggingLevel(KernelDebugLevel inLevel);
virtual IOReturn SetDebuggingType(KernelDebuggingOutputType inType);
virtual IOReturn GetDebuggingLevel(KernelDebugLevel * inLevel);
virtual IOReturn GetDebuggingType(KernelDebuggingOutputType * inType);
virtual IOReturn SetTestMode(UInt32 mode, UInt32 port);
};
#endif