IOATABusInfo

Inherits from
OSObject
Availability
Available in OS X v10.0 and later.
Declared in
IOATABusInfo.h

Overview

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

Tasks

Miscellaneous

Instance Methods

atabusinfo

factory method

static IOATABusInfo* atabusinfo( void);

getDMAModes

bit-significant map of DMA mode(s) supported on the bus. Used by clients of ATAControllers to find out about the bus.

UInt8 getDMAModes( void );

getPIOModes

returns the bit-significant map of PIO mode(s) supported on the bus. Used by clients of ATAControllers to find out about the bus.

UInt8 getPIOModes( void );

getSocketType

returns the socket type, internal fixed, media-bay, PC-Card Used by clients of ATAControllers to find out about the bus

ataSocketType getSocketType( void );

getUltraModes

bit-significant map of Ultra mode(s) supported on the bus. Used by clients of ATAControllers to find out about the bus.

UInt8 getUltraModes( void );

getUnits

How many devices are present on bus. Used by clients of ATAControllers to find out about the bus.

UInt8 getUnits( void );

maxBlocksExtended

The maximum number of 512-byte blocks this controller supports in a single Extended LBA transfer. Some controllers may be limited to less than the maximum sector count allowed under extended LBA protocol.

UInt16 maxBlocksExtended( void);

setDMAModes

Bit significant map of supported transfer modes. Set by ATAControllers.

void setDMAModes( UInt8 inModeBitMap );

setDMAQueued

Set true if supports DMA Queued Feature. Set by ATAControllers.

void setDMAQueued( bool inState);

setExtendedLBA

Set true for supports 48-bit LBA. Set by ATAControllers.

void setExtendedLBA( bool inState );

setMaxBlocksExtended

value set by controllers to indicate 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.

void setMaxBlocksExtended( UInt16 inMaxBlocks);
Discussion

function setMaxBlocksExtended

setOverlapped

Set true for supports overlapped packet feature set. Set by ATAControllers.

void setOverlapped( bool inState);

setPIOModes

Bit significant map of supported transfer modes. Set by ATAControllers.

void setPIOModes( UInt8 inModeBitMap);

setSocketType

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

void setSocketType( ataSocketType inSocketType );

setUltraModes

Bit significant map of supported transfer modes. Set by ATAControllers.

void setUltraModes( UInt8 inModeBitMap );

setUnits

set to indicate how many devices are on this bus. Set by ATAControllers.

void setUnits( UInt8 inNumUnits );

supportsDMA

True = DMA supported on bus - inferred by looking at the DMA mode bits. Used by clients of ATAControllers to find out about the bus.

bool supportsDMA( void );

supportsDMAQueued

Supports DMA Queued Feature set if true. Used by clients of ATAControllers to find out about the bus.

bool supportsDMAQueued( void );

supportsExtendedLBA

Supports 48-bit LBA if true. Used by clients of ATAControllers to find out about the bus.

bool supportsExtendedLBA( void );

supportsOverlapped

Supports overlapped packet feature set if true. Used by clients of ATAControllers to find out about the bus.

bool supportsOverlapped( void );

zeroData

set this object to a blank state.

virtual void zeroData( void);

ExpansionData

struct ExpansionData {
};
Discussion

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

Instance Variables

reserved

ExpansionData *reserved;

Reserved for future use. (Internal use only)