|
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 |
| SInt8 | ataPBStatusRegister |
| SInt8 | ataPBErrorRegister |
| SInt16 | ataPBReserved5 |
| UInt32 | ataPBLogicalBlockSize |
| UInt8 * | ataPBBuffer |
| UInt32 | ataPBByteCount |
| UInt32 | ataPBActualTxCount |
| UInt32 | ataPBReserved6 |
| ataTaskFile | ataPBTaskFile |
| ATAPICmdPacket * | ataPBPacketPtr |
| SInt16 | ataPBReserved7 [6] |
Manager parameter block structure (96 bytes)
| UInt32 ataIOPB::ataPBActualTxCount |
-->: Data transfer length in bytes
| UInt8* ataIOPB::ataPBBuffer |
-->: Blind transfer size per interrupt (Logical block size)
| UInt32 ataIOPB::ataPBByteCount |
-->: Data buffer pointer
| ATACallbackUPP ataIOPB::ataPBCallbackPtr |
Reserved
| Ptr ataIOPB::ataPBClientPtr1 |
-->: Transaction timeout value in msec
| Ptr ataIOPB::ataPBClientPtr2 |
Client's storage Ptr 1
| UInt32 ataIOPB::ataPBDeviceID |
Reserved
| SInt8 ataIOPB::ataPBErrorRegister |
<–: Last ATA status image
| UInt16 ataIOPB::ataPBFlags |
-->: I/O Timing Class
| UInt8 ataIOPB::ataPBFunctionCode |
<–: Returned result
| UInt8 ataIOPB::ataPBIOSpeed |
-->: Manager Function Code
| ataPBHeader* ataIOPB::ataPBLink |
Start of cloned common header ataPBHdr
| UInt32 ataIOPB::ataPBLogicalBlockSize |
Reserved
| ATAPICmdPacket* ataIOPB::ataPBPacketPtr |
<->: Device register images
| UInt16 ataIOPB::ataPBQType |
a pointer to the next entry in the queue
| UInt8 ataIOPB::ataPBReserved |
-->: parameter block version number; Must be 0x01
| Ptr ataIOPB::ataPBReserved2 |
Reserved
| SInt16 ataIOPB::ataPBReserved3 |
-->: Various control options
| SInt32 ataIOPB::ataPBReserved4 |
Used internally by the manager
| SInt16 ataIOPB::ataPBReserved5 |
<–: Last ATA error image-valid if lsb of Status set
| UInt32 ataIOPB::ataPBReserved6 |
<–: Actual transfer count
| SInt16 ataIOPB::ataPBReserved7[6] |
-->: ATAPI packet command block pointer (valid with ATAPI bit set)
| OSErr ataIOPB::ataPBResult |
-->: Completion Routine Pointer
| UInt16 ataIOPB::ataPBSemaphores |
Reserved for Manager; Initialize to 0
| UInt16 ataIOPB::ataPBState |
Client's storage Ptr 2
| SInt8 ataIOPB::ataPBStatusRegister |
Reserved
End of cloned common header ataPBHdr
| ataTaskFile ataIOPB::ataPBTaskFile |
Reserved
| UInt32 ataIOPB::ataPBTimeOut |
-->: Device identifier (see ataDeviceID)
| UInt8 ataIOPB::ataPBVers |
type byte for safety check