IOUSBRootHubDevice.h [plain text]
#ifndef _IOKIT_IOUSBROOTHUBDEVICE_H
#define _IOKIT_IOUSBROOTHUBDEVICE_H
#include <IOKit/usb/IOUSBDevice.h>
#include <IOKit/usb/IOUSBController.h>
#include <IOKit/usb/USBHub.h>
class IOUSBRootHubDevice : public IOUSBDevice
{
OSDeclareDefaultStructors(IOUSBRootHubDevice)
UInt16 configuration;
struct ExpansionData {
IOCommandGate *_commandGate;
};
ExpansionData *_expansionData;
public:
static IOUSBRootHubDevice *NewRootHubDevice(void);
static IOReturn GatedDeviceRequest (OSObject * owner,
void * arg0,
void * arg1,
void * arg2,
void * arg3 );
virtual bool init();
virtual bool start( IOService * provider );
virtual void stop( IOService *provider );
virtual void free();
IOReturn DeviceRequestWorker(IOUSBDevRequest *request, UInt32 noDataTimeout, UInt32 completionTimeout, IOUSBCompletion *completion);
virtual IOReturn DeviceRequest(IOUSBDevRequest *request, IOUSBCompletion *completion = 0);
OSMetaClassDeclareReservedUsed(IOUSBRootHubDevice, 0);
virtual IOReturn DeviceRequest(IOUSBDevRequest *request, UInt32 noDataTimeout, UInt32 completionTimeout, IOUSBCompletion *completion = 0);
OSMetaClassDeclareReservedUnused(IOUSBRootHubDevice, 1);
OSMetaClassDeclareReservedUnused(IOUSBRootHubDevice, 2);
OSMetaClassDeclareReservedUnused(IOUSBRootHubDevice, 3);
OSMetaClassDeclareReservedUnused(IOUSBRootHubDevice, 4);
};
#endif