AppleVIAATAChannel.h [plain text]
#ifndef _APPLEVIAATACHANNEL_H
#define _APPLEVIAATACHANNEL_H
#include <IOKit/IOService.h>
class AppleVIAATARoot;
class AppleVIAATAChannel : public IOService
{
OSDeclareDefaultStructors( AppleVIAATAChannel )
protected:
AppleVIAATARoot * fProvider;
virtual bool mergeProperties( OSDictionary * properties );
virtual bool getNumberValue( const char * propKey,
void * outValue,
UInt32 outBits ) const;
public:
virtual bool init( IOService * provider,
OSDictionary * properties,
IORegistryEntry * dtEntry = 0 );
virtual UInt16 getCommandBlockAddress( void ) const;
virtual UInt16 getControlBlockAddress( void ) const;
virtual UInt32 getInterruptVector( void ) const;
virtual UInt32 getUltraDMAModeMask( void ) const;
virtual UInt32 getChannelNumber( void ) const;
virtual UInt32 getHardwareType( void ) const;
virtual UInt32 getHardwareFlags( void ) const;
virtual const char * getHardwareName( void ) 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 pciConfigWrite32( UInt8 offset,
UInt32 data,
UInt32 mask = 0xffffffff );
virtual UInt8 pciConfigRead8( UInt8 offset );
virtual UInt16 pciConfigRead16( UInt8 offset );
virtual UInt32 pciConfigRead32( UInt8 offset );
};
#endif