ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference
|
IOATABusCommand |
Inherits from: | |
Declared In: |
ATA Device (disk) drivers should use the superclass, IOATACommand and may not derive or use any subclass of IOATACommand.
IOATABusCommand is the subclass of IOATACommand used by IOATAControllers. Controller classes may override this class to provide additional fields as their needs dictate or may use this as a concrete class if it is sufficient.
IOATAControllers are always paired with specific IOATADevices and each specific subclass of IOATADevice is in turn the factory method for IOATACommands for use by disk drivers.
In this manner, mass-storage device drivers (disk drivers, clients of ATA bus controllers) see only the generalized interface of IOATADevice and the generalized interface of IOATACommand. This provides isolation from specific bus details for disk drivers and offers flexibility to controllers to add per-command fields and state variables for their own internal use.
Factory method that creates an instance of this class used by subclasses of IOATADevice.
Calls the completion callback function.
Gets pointer to the memory descriptor for this transaction.
Returns the byte count for this transaction to transfer.
Returns the callback pointer.
Returns the flags for this command.
Returns the command opcode.
Returns pointer to the array of packet data.
Returns the size of ATAPI packet if any.
Gets the position within the memory buffer for the transaction.
Gets the register mask for desired regs
Returns the taskfile structure pointer.
Returns the timeout value for this command.
Returns the number of bytes between interrupts.
Returns the unit ID (0 master, 1 slave).
Zeroes all data, returns false if allocation fails. protected.
Sets the byte count of bytes actually transferred.
Marks the command as being in progress.
Sets the result code.
Sets to blank state.
allocateCmd |
Factory method that creates an instance of this class used by subclasses of IOATADevice.
public
static IOATABusCommand* allocateCmd( void);
executeCallback |
Calls the completion callback function.
public
virtual void executeCallback( void);
getBuffer |
Gets pointer to the memory descriptor for this transaction.
public
virtual IOMemoryDescriptor* getBuffer ( void);
getByteCount |
Returns the byte count for this transaction to transfer.
public
virtual IOByteCount getByteCount ( void);
getCallbackPtr |
Returns the callback pointer.
public
virtual IOATACompletionFunction* getCallbackPtr ( void );
getFlags |
Returns the flags for this command.
public
virtual ataFlags getFlags ( void );
getOpcode |
Returns the command opcode.
public
virtual ataOpcode getOpcode( void );
getPacketData |
Returns pointer to the array of packet data.
public
virtual UInt16* getPacketData( void);
getPacketSize |
Returns the size of ATAPI packet if any.
public
virtual UInt16 getPacketSize( void);
getPosition |
Gets the position within the memory buffer for the transaction.
public
virtual IOByteCount getPosition ( void);
getRegMask |
Gets the register mask for desired regs
public
virtual ataRegMask getRegMask( void );
getTaskFilePtr |
Returns the taskfile structure pointer.
public
virtual ataTaskFile* getTaskFilePtr( void);
getTimeoutMS |
Returns the timeout value for this command.
public
virtual UInt32 getTimeoutMS ( void );
getTransferChunkSize |
Returns the number of bytes between interrupts.
public
virtual IOByteCount getTransferChunkSize( void);
getUnit |
Returns the unit ID (0 master, 1 slave).
public
virtual ataUnitID getUnit( void );
init |
Zeroes all data, returns false if allocation fails. protected.
protected
virtual bool init();
setActualTransfer |
Sets the byte count of bytes actually transferred.
public
virtual void setActualTransfer ( IOByteCount bytesTransferred );
setCommandInUse |
Marks the command as being in progress.
public
virtual void setCommandInUse( bool inUse = true);
setResult |
Sets the result code.
public
virtual void setResult( IOReturn );
zeroCommand |
Sets to blank state.
public
virtual void zeroCommand( void);
Call this method prior to re-use of this object.
ExpansionData |
protected
struct ExpansionData { };
This structure will be used to expand the capablilties of the IOWorkLoop in the future.
queueChain |
public
queue_chain_t queueChain;
Queue header for use by IOATAController.
reserved |
protected
ExpansionData *reserved;
Reserved for future use. (Internal use only)
state |
public
UInt32 state;
State-semaphore for use by IOATAController.
syncer |
public
IOSyncer* syncer;
IOSyncer for use by IOATAController.
|
Last Updated: 2008-12-19