Mac Developer Library

Developer

ATADeviceNub Class Reference

Options
Deployment Target:

On This Page

ATADeviceNub

ATADeviceNub is a concrete implementation of IOATADevice.

clients of IOATA (disk drivers) should use the interface presented by IOATADevice. Concrete nubs are private to the IOATA family and specific subclasses of IOATADevice are instantiated by controller drivers to provide the abstract interface to clients.

  • create command objects for clients.

    Declaration

    virtual IOATACommand* allocCommand( void );

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

    Declaration

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

  • override of IOService method.

    Declaration

    virtual bool attach( IOService *provider );

  • Submit IO requests

    Declaration

    virtual IOReturn executeCommand( IOATACommand *command);

  • Clients use this method to dispose of command objects.

    Declaration

    virtual void freeCommand( IOATACommand *inCommand);

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

    Declaration

    virtual IOReturn getDeviceID( void);

  • used after creating the nub.

    Declaration

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

  • to be deprecated.

    Declaration

    static void MyATACallback( IOATACommand *command );

  • to be deprecated.

    Declaration

    void processCallback( IOATACommand *command );

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

    Declaration

    virtual void publishBusProperties( void);

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

    Declaration

    virtual void publishProperties( void );

  • will be deprecated.

    Declaration

    virtual void publishVendorProperties( void );

  • to be deprecated.

    Declaration

    void swapBytes16( UInt8 *dataBuffer, IOByteCount length);

Data Types

  • Declaration

    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

    ExpansionData *reserved;