Mac Developer Library

Developer

IOExtendedLBA Class Reference

Options
Deployment Target:

On This Page
Language:

IOExtendedLBA

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.

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Not Applicable @import Kernel;

Availability


Available in OS X v10.1 and later.
  • Taskfile access. Registers are named in accordance with ATA Standards conventions

    Declaration

    C++

    virtual UInt8 getCommand( void );

    Import Statement

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

    Declaration

    C++

    virtual UInt8 getDevice( void );

    Import Statement

  • convenience method that gets a 48-bit LBA

    Declaration

    C++

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

    Import Statement

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

    Declaration

    C++

    virtual UInt16 getFeatures16( void );

    Import Statement

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

    Declaration

    C++

    virtual UInt16 getLBAHigh16( void );

    Import Statement

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

    Declaration

    C++

    virtual UInt16 getLBALow16 ( void);

    Import Statement

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

    Declaration

    C++

    virtual UInt16 getLBAMid16( void );

    Import Statement

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

    Declaration

    C++

    virtual UInt16 getSectorCount16( void );

    Import Statement

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

    Declaration

    C++

    virtual void setCommand( UInt8 inCommand );

    Import Statement

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

    Declaration

    C++

    virtual void setDevice( UInt8 inDevice );

    Import Statement

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

    Declaration

    C++

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

    Import Statement

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

    Declaration

    C++

    virtual void setFeatures16( UInt16 features );

    Import Statement

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

    Declaration

    C++

    virtual void setLBAHigh16( UInt16 lbaHigh );

    Import Statement

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

    Declaration

    C++

    virtual void setLBALow16( UInt16 lbaLow);

    Import Statement

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

    Declaration

    C++

    virtual void setLBAMid16 ( UInt16 lbaMid);

    Import Statement

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

    Declaration

    C++

    virtual void setSectorCount16( UInt16 sectorCount );

    Import Statement

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

    Declaration

    C++

    virtual void zeroData( void);

    Import Statement

Data Types

  • Declaration

    C++

    struct ExpansionData { };

    Discussion

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

Instance Variables

  • Reserved for future use. (Internal use only)

    Declaration

    C++

    ExpansionData *reserved;