AppleIntelPIIXATAController.h [plain text]
#ifndef _APPLEINTELPIIXATACONTROLLER_H
#define _APPLEINTELPIIXATACONTROLLER_H
#include <IOKit/IOService.h>
class AppleIntelPIIXATAController : public IOService
{
OSDeclareDefaultStructors( AppleIntelPIIXATAController )
protected:
UInt16 _ioPorts;
UInt16 _irq;
UInt16 _channel;
IOService * _provider;
UInt8 _pioModes;
UInt8 _dmaModes;
UInt8 _udmaModes;
const char * _deviceName;
bool _perChannelTimings;
virtual bool setupInterrupt( UInt32 line );
public:
virtual bool init( IOService * provider,
OSDictionary * dictionary );
virtual UInt16 getIOBaseAddress() const;
virtual UInt16 getInterruptLine() const;
virtual UInt16 getChannelNumber() const;
virtual UInt8 getPIOModes() const;
virtual UInt8 getDMAModes() const;
virtual UInt8 getUltraDMAModes() const;
virtual bool hasPerChannelTimingSupport() const;
virtual const char * getDeviceName() const;
virtual bool handleOpen( IOService * client,
IOOptionBits options,
void * arg );
virtual void handleClose( IOService * client,
IOOptionBits options );
virtual void pciConfigWrite8( UInt8 offset,
UInt8 data,
UInt8 mask = 0xff );
virtual void pciConfigWrite16( UInt8 offset,
UInt16 data,
UInt16 mask = 0xffff );
};
#endif