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;
IOInterruptEventSource * _intSrc;
AppleGenericPCATAChannel * _provider;
static void interruptOccurred( OSObject * owner,
IOInterruptEventSource * evtSrc,
int count );
public:
virtual bool start( IOService * provider );
virtual void free( void );
virtual IOWorkLoop * getWorkLoop( void ) const;
virtual IOReturn message( UInt32 type,
IOService * provider,
void * argument );
virtual bool configureTFPointers( void );
virtual IOReturn provideBusInfo( IOATABusInfo * infoOut );
virtual IOReturn getConfig( IOATADevConfig * configOut,
UInt32 unitNumber );
virtual IOReturn selectConfig( IOATADevConfig * configRequest,
UInt32 unitNumber );
virtual UInt32 scanForDrives( void );
virtual IOReturn handleQueueFlush( void );
virtual IOReturn synchronousIO( void );
};
#endif