[plain text]
#ifndef _DRV_APPLEPCCARD_ATA_H
#define _DRV_APPLEPCCARD_ATA_H
#include <IOKit/IOTypes.h>
#include <IOKit/ata/IOATATypes.h>
#include <IOKit/ata/IOATABusInfo.h>
#include <IOKit/ata/IOATAController.h>
#include <IOKit/IOInterruptEventSource.h>
#endif //_DRV_APPLEPCCARD_ATA_H
class ApplePCCardATA : public IOATAController
{
OSDeclareDefaultStructors(ApplePCCardATA)
public:
virtual bool init(OSDictionary* properties);
virtual IOService* probe( IOService* provider, SInt32* score ); virtual bool start( IOService* provider ); virtual IOWorkLoop* getWorkLoop() const; virtual IOReturn message (UInt32 type, IOService* provider, void* argument = 0);
virtual IOReturn selectConfig( IOATADevConfig* configRequest, UInt32 unitNumber); virtual IOReturn getConfig( IOATADevConfig* configRequest, UInt32 unitNumber);
virtual IOReturn provideBusInfo( IOATABusInfo* infoOut);
protected:
IOInterruptEventSource* _devIntSrc;
bool isBusOnline; IOMemoryMap* baseAddressMap;
IOMemoryMap* baseAddressMap2;
virtual void free();
virtual bool configureTFPointers(void);
virtual bool createDeviceInterrupt(void); static void deviceInterruptOccurred(OSObject*, IOInterruptEventSource *, int count);
virtual IOATAController::transState determineATAPIState(void); virtual IOReturn handleDeviceInterrupt(void); virtual IOReturn synchronousIO(void); virtual IOReturn selectDevice( ataUnitID unit );
virtual void handleTimeout(void); virtual IOReturn executeCommand(IOATADevice* nub, IOATABusCommand* command); virtual IOReturn handleQueueFlush( void ); virtual bool checkTimeout( void ); static void cleanUpAction(OSObject * owner, void*, void*, void*, void*); virtual void cleanUpBus(void);
virtual UInt32 scanForDrives(void);
};
Generated by GNU enscript 1.6.4.