|
Mac OS 9
|
#include <ATA.h>
Data Fields | |
| ataPBHeader * | ataPBLink |
| UInt16 | ataPBQType |
| UInt8 | ataPBVers |
| UInt8 | ataPBReserved |
| Ptr | ataPBReserved2 |
| ATACallbackUPP | ataPBCallbackPtr |
| OSErr | ataPBResult |
| UInt8 | ataPBFunctionCode |
| UInt8 | ataPBIOSpeed |
| UInt16 | ataPBFlags |
| SInt16 | ataPBReserved3 |
| UInt32 | ataPBDeviceID |
| UInt32 | ataPBTimeOut |
| Ptr | ataPBClientPtr1 |
| Ptr | ataPBClientPtr2 |
| UInt16 | ataPBState |
| UInt16 | ataPBSemaphores |
| SInt32 | ataPBReserved4 |
| UInt16 | ataRegSelect |
| ataRegValueUnion | ataRegValue |
| UInt16 | ataRegMask |
| ataTaskFile | ataRegisterImage |
| UInt8 | ataAltSDevCReg |
| UInt8 | Reserved3 |
| SInt16 | Reserved [16] |
Manager parameter block structure
| UInt8 ataRegAccess::ataAltSDevCReg |
<->: register images
| ATACallbackUPP ataRegAccess::ataPBCallbackPtr |
Reserved
| Ptr ataRegAccess::ataPBClientPtr1 |
-->: Transaction timeout value in msec
| Ptr ataRegAccess::ataPBClientPtr2 |
Client's storage Ptr 1
| UInt32 ataRegAccess::ataPBDeviceID |
Reserved
| UInt16 ataRegAccess::ataPBFlags |
-->: I/O Timing Class
| UInt8 ataRegAccess::ataPBFunctionCode |
<–: Returned result
| UInt8 ataRegAccess::ataPBIOSpeed |
-->: Manager Function Code
| ataPBHeader* ataRegAccess::ataPBLink |
Start of cloned common header ataPBHdr
| UInt16 ataRegAccess::ataPBQType |
a pointer to the next entry in the queue
| UInt8 ataRegAccess::ataPBReserved |
-->: parameter block version number; Must be 0x01
| Ptr ataRegAccess::ataPBReserved2 |
Reserved
| SInt16 ataRegAccess::ataPBReserved3 |
-->: Various control options
| SInt32 ataRegAccess::ataPBReserved4 |
Used internally by the manager
| OSErr ataRegAccess::ataPBResult |
-->: Completion Routine Pointer
| UInt16 ataRegAccess::ataPBSemaphores |
Reserved for Manager; Initialize to 0
| UInt16 ataRegAccess::ataPBState |
Client's storage Ptr 2
| UInt32 ataRegAccess::ataPBTimeOut |
-->: Device identifier (see ataDeviceID)
| UInt8 ataRegAccess::ataPBVers |
type byte for safety check
| ataTaskFile ataRegAccess::ataRegisterImage |
-->: mask for register(s) to update bit 0 : data register valid bit 1 : error/feaures register valid bit 2 : sector count register valid bit 3 : sector number register valid bit 4 : cylinder low register valid bit 5 : cylinder high register valid bit 6 : ataTFSDH register valid bit 7 : status/command register valid bits 8 - 13 : reserved (set to 0) bit 14: alternate status / device control reg valid bit 15: reserved (set to 0)
| UInt16 ataRegAccess::ataRegMask |
Following fields are valid only if ataRegSelect = 0xFFFF
| UInt16 ataRegAccess::ataRegSelect |
Reserved
End of cloned common header ataPBHdr
| ataRegValueUnion ataRegAccess::ataRegValue |
-->: Device Register Selector DataReg 0
ErrorReg(R) or FeaturesReg(W) 1 SecCntReg 2 SecNumReg 3 CylLoReg 4 CylHiReg 5 SDHReg 6 StatusReg(R) or CmdReg(W) 7 AltStatus(R) or DevCntr(W) 0E
| SInt16 ataRegAccess::Reserved[16] |
Reserved
| UInt8 ataRegAccess::Reserved3 |
<->: Alternate status(R) or Device Control(W) register image