AppleIntelPIIXMultiATADriver.h [plain text]
#ifndef _APPLEINTELPIIXMULTIATADRIVER_H
#define _APPLEINTELPIIXMULTIATADRIVER_H
#include <IOKit/IOLocks.h>
#include <IOKit/pci/IOPCIDevice.h>
class AppleIntelPIIXMultiATADriver : public IOService
{
OSDeclareDefaultStructors( AppleIntelPIIXMultiATADriver )
protected:
OSSet * _nubs;
OSSet * _openNubs;
IOPCIDevice * _provider;
IOLock * _pciConfigLock;
virtual OSSet * createControllerNubs();
public:
virtual IOService * probe( IOService * provider,
SInt32 * score );
virtual bool start( IOService * provider );
virtual void free();
virtual bool handleOpen( IOService * client,
IOOptionBits options,
void * arg );
virtual void handleClose( IOService * client,
IOOptionBits options );
virtual bool handleIsOpen( const IOService * client ) const;
virtual void pciConfigWrite8( UInt8 offset,
UInt8 data,
UInt8 mask = 0xff );
virtual void pciConfigWrite16( UInt8 offset,
UInt16 data,
UInt16 mask = 0xffff );
virtual bool serializeProperties(OSSerialize * s) const;
};
#endif