AppleGenericPCATADriver.h [plain text]
#ifndef _APPLEGENERICPCATADRIVER_H
#define _APPLEGENERICPCATADRIVER_H
#include <IOKit/IOTypes.h>
#include <IOKit/ata/IOATAController.h>
#include <IOKit/IOInterruptEventSource.h>
class AppleGenericPCATADriver : public IOATAController
{
OSDeclareDefaultStructors( AppleGenericPCATADriver )
private:
UInt16 _irq;
UInt16 _ioPorts;
IOInterruptEventSource * _intSrc;
AppleGenericPCATAController * _provider;
static void interruptOccurred( OSObject * owner,
IOInterruptEventSource * evtSrc,
int count );
public:
virtual bool start( IOService * provider );
virtual void free();
virtual IOWorkLoop * getWorkLoop() const;
virtual IOReturn message( UInt32 type,
IOService * provider,
void * argument );
virtual bool configureTFPointers();
virtual IOReturn provideBusInfo( IOATABusInfo * infoOut );
virtual IOReturn getConfig( IOATADevConfig * configOut,
UInt32 unitNumber );
virtual IOReturn selectConfig( IOATADevConfig * configRequest,
UInt32 unitNumber );
virtual UInt32 scanForDrives();
virtual IOReturn handleQueueFlush();
};
#endif