IOExtendedLBA

Inherits from
OSObject
Availability
Available in OS X v10.1 and later.
Declared in
IOATACommand.h

Overview

If 48-bit LBAs are supported, IOExtendedLBA is used to represent a 48-bit LBA. The driver examines the ATA identify data to determine if 48-bit addressing is supported.

Tasks

Miscellaneous

Instance Methods

getCommand

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual UInt8 getCommand( void );

getDevice

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual UInt8 getDevice( void );

getExtendedLBA

convenience method that gets a 48-bit LBA

virtual void getExtendedLBA( UInt32 *outLBAHi, UInt32 *outLBALo );

getFeatures16

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual UInt16 getFeatures16( void );

getLBAHigh16

convenience method that gets the high 16 bits of a 48-bit LBA

virtual UInt16 getLBAHigh16( void );

getLBALow16

convenience method that gets the lower 16 bits of a 48-bit LBA

virtual UInt16 getLBALow16 ( void);

getLBAMid16

convenience method that gets the middle 16 bits of a 48-bit LBA

virtual UInt16 getLBAMid16( void );

getSectorCount16

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual UInt16 getSectorCount16( void );

setCommand

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual void setCommand( UInt8 inCommand );

setDevice

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual void setDevice( UInt8 inDevice );

setExtendedLBA

convenience method that sets the taskfile registers into a 48-bit LBA address, along with sector count, and unit selected and LBA bit set

virtual void setExtendedLBA( UInt32 inLBAHi, UInt32 inLBALo, ataUnitID inUnit, UInt16 extendedCount, UInt8 extendedCommand);

setFeatures16

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual void setFeatures16( UInt16 features );

setLBAHigh16

convenience method that sets the high 16 bits of a 48-bit LBA

virtual void setLBAHigh16( UInt16 lbaHigh );

setLBALow16

convenience method that sets the lower 16 bits of a 48-bit LBA

virtual void setLBALow16( UInt16 lbaLow);

setLBAMid16

convenience method that sets the middle 16 bits of a 48-bit LBA

virtual void setLBAMid16 ( UInt16 lbaMid);

setSectorCount16

Taskfile access. Registers are named in accordance with ATA Standards conventions

virtual void setSectorCount16( UInt16 sectorCount );

zeroData

convenience method that zeros out the lba, sector count, features, device, and command member variables

virtual void zeroData( void);

ExpansionData

struct ExpansionData {
};
Discussion

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

Instance Variables

reserved

ExpansionData *reserved;

Reserved for future use. (Internal use only)