Mac Developer Library

Developer

ATADeviceNub Class Reference

Options
Deployment Target:

On This Page
Language:

ATADeviceNub

ATADeviceNub is a concrete implementation of IOATADevice. More...

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


Not Applicable @import Kernel;

Availability


Available in OS X v10.0 and later.
  • create command objects for clients.

    Declaration

    C++

    virtual IOATACommand* allocCommand( void );

    Import Statement

  • static creator function - used by IOATAControllers to create nubs.

    Declaration

    C++

    static ATADeviceNub* ataDeviceNub( IOATAController *provider, ataUnitID unit, ataDeviceType devType);

    Import Statement

  • override of IOService method.

    Declaration

    C++

    virtual bool attach( IOService *provider );

    Import Statement

  • Submit IO requests

    Declaration

    C++

    virtual IOReturn executeCommand( IOATACommand *command);

    Import Statement

  • Clients use this method to dispose of command objects.

    Declaration

    C++

    virtual void freeCommand( IOATACommand *inCommand);

    Import Statement

  • get the unit id of this drive (0 or 1)

    Declaration

    C++

    virtual IOReturn getDeviceID( void);

    Import Statement

  • used after creating the nub.

    Declaration

    C++

    virtual bool init( IOATAController *provider, ataUnitID unit, ataDeviceType devType);

    Import Statement

  • to be deprecated.

    Declaration

    C++

    static void MyATACallback( IOATACommand *command );

    Import Statement

  • to be deprecated.

    Declaration

    C++

    void processCallback( IOATACommand *command );

    Import Statement

  • puts info about this device's bus capability in the device tree.

    Declaration

    C++

    virtual void publishBusProperties( void);

    Import Statement

  • publish the nub's properties in the device tree.

    Declaration

    C++

    virtual void publishProperties( void );

    Import Statement

  • will be deprecated.

    Declaration

    C++

    virtual void publishVendorProperties( void );

    Import Statement

  • to be deprecated.

    Declaration

    C++

    void swapBytes16( UInt8 *dataBuffer, IOByteCount length);

    Import Statement

Data Types

  • Declaration

    C++

    struct ExpansionData { };

    Discussion

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

Instance Variables

  • Reserved for future use. (Internal use only)

    Declaration

    C++

    ExpansionData *reserved;