ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference

 


IOATABusInfo

Inherits from:
Declared In:

Overview

Used to indicate the capabilities of the bus the device is connected to, PIO and DMA modes supported, etc.



Functions

atabusinfo

Factory method.

getDMAModes

Returns bit-significant map of DMA mode(s) supported on the bus.

getPIOModes

Returns the bit-significant map of PIO mode(s) supported on the bus.

getSocketType

Returns the socket type, internal fixed, media-bay, PC-Card.

getUltraModes

Returns bit-significant map of Ultra mode(s) supported on the bus.

getUnits

Returns how many devices are present on bus.

maxBlocksExtended

Returns the maximum number of 512-byte blocks this controller supports in a single Extended LBA transfer.

setDMAModes

Sets bit-significant map of supported transfer modes.

setDMAQueued

Sets true if support of DMA Queued Feature.

setExtendedLBA

Sets true for support of 48-bit LBA.

setMaxBlocksExtended

Sets the maximum number of blocks allowed in a single transfer of data.

setOverlapped

Sets true for support of overlapped packet feature set.

setPIOModes

Sets bit-significant map of supported transfer modes.

setSocketType

Sets socket type.

setUltraModes

Sets bit-significant map of supported transfer modes.

setUnits

Sets how many devices are on this bus.

supportsDMA

Returns true if DMA is supported on bus (inferred by looking at the DMA mode bits).

supportsDMAQueued

Supports DMA Queued Feature set if true.

supportsExtendedLBA

Supports 48-bit LBA if true.

supportsOverlapped

Supports overlapped packet feature set if true.

zeroData

Sets this object to a blank state.


atabusinfo


Factory method.

public

static IOATABusInfo* atabusinfo( void);


getDMAModes


Returns bit-significant map of DMA mode(s) supported on the bus.

public

UInt8 getDMAModes( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


getPIOModes


Returns the bit-significant map of PIO mode(s) supported on the bus.

public

UInt8 getPIOModes( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


getSocketType


Returns the socket type, internal fixed, media-bay, PC-Card.

public

ataSocketType getSocketType( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


getUltraModes


Returns bit-significant map of Ultra mode(s) supported on the bus.

public

UInt8 getUltraModes( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


getUnits


Returns how many devices are present on bus.

public

UInt8 getUnits( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


maxBlocksExtended


Returns the maximum number of 512-byte blocks this controller supports in a single Extended LBA transfer.

public

UInt16 maxBlocksExtended( void);
Discussion

Some controllers may be limited to less than the maximum sector count allowed under extended LBA protocol.


setDMAModes


Sets bit-significant map of supported transfer modes.

public

void setDMAModes( UInt8 inModeBitMap );
Discussion

Set by ATAControllers.


setDMAQueued


Sets true if support of DMA Queued Feature.

public

void setDMAQueued( bool inState);
Discussion

Set by ATAControllers.


setExtendedLBA


Sets true for support of 48-bit LBA.

public

void setExtendedLBA( bool inState );
Discussion

Set by ATAControllers.


setMaxBlocksExtended


Sets the maximum number of blocks allowed in a single transfer of data.

public

void setMaxBlocksExtended( UInt16 inMaxBlocks);
Discussion

Set by controllers, this indicates the maximum number of blocks allowed in a single transfer of data. Some dma engines may not be capable of supporting the full 16-bit worth of sector count allowed under 48 bit extended LBA. Default is 256 blocks, same as standard ATA.


setOverlapped


Sets true for support of overlapped packet feature set.

public

void setOverlapped( bool inState);
Discussion

Set by ATAControllers.


setPIOModes


Sets bit-significant map of supported transfer modes.

public

void setPIOModes( UInt8 inModeBitMap);
Discussion

Set by ATAControllers.


setSocketType


Sets socket type.

public

void setSocketType( ataSocketType inSocketType );
Discussion

Set by ATAControllers: internal fixed, media-bay, PC-Card.


setUltraModes


Sets bit-significant map of supported transfer modes.

public

void setUltraModes( UInt8 inModeBitMap );
Discussion

Set by ATAControllers.


setUnits


Sets how many devices are on this bus.

public

void setUnits( UInt8 inNumUnits );
Discussion

Set by ATAControllers.


supportsDMA


Returns true if DMA is supported on bus (inferred by looking at the DMA mode bits).

public

bool supportsDMA( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


supportsDMAQueued


Supports DMA Queued Feature set if true.

public

bool supportsDMAQueued( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


supportsExtendedLBA


Supports 48-bit LBA if true.

public

bool supportsExtendedLBA( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


supportsOverlapped


Supports overlapped packet feature set if true.

public

bool supportsOverlapped( void );
Discussion

This method is used by clients of ATAControllers to find out about the bus.


zeroData


Sets this object to a blank state.

public

virtual void zeroData( void);

Structs and Unions


ExpansionData


protected

struct ExpansionData { };
Discussion

This structure will be used to expand the capablilties of the IOWorkLoop in the future.

Member Data


reserved


protected

ExpansionData *reserved;
Discussion

Reserved for future use. (Internal use only)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2008-12-19