Mac Developer Library

Developer

IOATAController Class Reference

Options
Deployment Target:

On This Page
Language:

IOATAController

Inheritance


  • IOATAController

Conforms To


Not Applicable

Import Statement


Not Applicable

Objective-C

@import Kernel;

Availability


Available in OS X v10.0 and later.

The base class for ata controller family. Provides the interface common to all ata bus controllers.

The header doc for this class is incomplete. The source however is heavily commented and should be consulted until such time as complete header doc is available.

  • answers whether the bus is in state such that the next command can be dispatched.

    Declaration

    C++

    virtual bool busCanDispatch( void );

    Return Value

    true - bus is free to issue commands. false - bus cannot issue commands at this time.

  • Causes the command at the front of the queue to dequeue, made the current command and begin execution.

    Declaration

    C++

    virtual IOReturn dispatchNext( void );

    Return Value

    noErr indicates successful dispatch.

  • Called by executeCommand() to handle the client command from the workloop context.

    Declaration

    C++

    virtual IOReturn handleCommand( void *command, void *param1 = 0, void *param2 = 0, void *param3 = 0);

    Parameters

    command

    The command code.

    param1

    Command parameter.

    param2

    Command parameter.

    param3

    Command parameter.

    Return Value

    kIOReturnSuccess on success, or an error code otherwise.

Data Types

  • Declaration

    CPlusPlus

    typedef struct ExpansionData { IOBufferMemoryDescriptor *_doubleBufferDesc; } ExpansionData;

    Discussion

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

    Import Statement

    Objective-C

    #include <IOBluetoothHCIController.h>;

    Availability

    Available in OS X v10.2 through OS X v10.5.

Instance Variables

  • Reserved for future use. (Internal use only)

    Declaration

    C++

    ExpansionData *reserved;