|
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 |
| SInt32 | ataConfigSetting |
| UInt8 | ataPIOSpeedMode |
| UInt8 | Reserved3 |
| UInt16 | atapcValid |
| UInt16 | ataRWMultipleCount |
| UInt16 | ataSectorsPerCylinder |
| UInt16 | ataHeads |
| UInt16 | ataSectorsPerTrack |
| UInt16 | ataSocketNumber |
| UInt8 | ataSocketType |
| UInt8 | ataDeviceType |
| UInt8 | atapcAccessMode |
| UInt8 | atapcVcc |
| UInt8 | atapcVpp1 |
| UInt8 | atapcVpp2 |
| UInt8 | atapcStatus |
| UInt8 | atapcPin |
| UInt8 | atapcCopy |
| UInt8 | atapcConfigIndex |
| UInt8 | ataSingleDMASpeed |
| UInt8 | ataMultiDMASpeed |
| UInt16 | ataPIOCycleTime |
| UInt16 | ataMultiCycleTime |
| UInt8 | ataUltraDMASpeed |
| UInt8 | reserved2 |
| UInt16 | ataUltraCycleTime |
| UInt16 | Reserved1 [5] |
Get/Set Device Configuration parameter block structure <8/6/94> Manager parameter block structure
| SInt32 ataDevConfiguration::ataConfigSetting |
Reserved
End of cloned common header ataPBHdr
| UInt8 ataDevConfiguration::ataDeviceType |
<–: Specifies the socket type (get config only) 00 = Unknown socket 01 = Internal ATA bus 02 = Media Bay 03 = PCMCIA
| UInt16 ataDevConfiguration::ataHeads |
Reserved for future (not supported yet)
| UInt16 ataDevConfiguration::ataMultiCycleTime |
<->:Cycle time for PIO mode
| UInt8 ataDevConfiguration::ataMultiDMASpeed |
<->: Single Word DMA Timing Class
| ATACallbackUPP ataDevConfiguration::ataPBCallbackPtr |
Reserved
| Ptr ataDevConfiguration::ataPBClientPtr1 |
-->: Transaction timeout value in msec
| Ptr ataDevConfiguration::ataPBClientPtr2 |
Client's storage Ptr 1
| UInt32 ataDevConfiguration::ataPBDeviceID |
Reserved
| UInt16 ataDevConfiguration::ataPBFlags |
-->: I/O Timing Class
| UInt8 ataDevConfiguration::ataPBFunctionCode |
<–: Returned result
| UInt8 ataDevConfiguration::ataPBIOSpeed |
-->: Manager Function Code
| ataPBHeader* ataDevConfiguration::ataPBLink |
Start of cloned common header ataPBHdr
| UInt16 ataDevConfiguration::ataPBQType |
a pointer to the next entry in the queue
| UInt8 ataDevConfiguration::ataPBReserved |
-->: parameter block version number; Must be 0x01
| Ptr ataDevConfiguration::ataPBReserved2 |
Reserved
| SInt16 ataDevConfiguration::ataPBReserved3 |
-->: Various control options
| SInt32 ataDevConfiguration::ataPBReserved4 |
Used internally by the manager
| OSErr ataDevConfiguration::ataPBResult |
-->: Completion Routine Pointer
| UInt16 ataDevConfiguration::ataPBSemaphores |
Reserved for Manager; Initialize to 0
| UInt16 ataDevConfiguration::ataPBState |
Client's storage Ptr 2
| UInt32 ataDevConfiguration::ataPBTimeOut |
-->: Device identifier (see ataDeviceID)
| UInt8 ataDevConfiguration::ataPBVers |
type byte for safety check
| UInt8 ataDevConfiguration::atapcAccessMode |
<–: Specifies the device type (get config only) 00 = Unknown device 01 = standard ATA device (HD) 02 = ATAPI device 03 = PCMCIA ATA device
| UInt8 ataDevConfiguration::atapcConfigIndex |
<->: Card Socket/Copy register setting (PCMCIA only)
| UInt8 ataDevConfiguration::atapcCopy |
<->: Card Pin register setting (PCMCIA only)
| UInt8 ataDevConfiguration::atapcPin |
<->: Card Status register setting (PCMCIA only)
| UInt8 ataDevConfiguration::atapcStatus |
<->: Voltage in tenths of a volt (PCMCIA only)
| UInt16 ataDevConfiguration::atapcValid |
Reserved to force word alignment
| UInt8 ataDevConfiguration::atapcVcc |
<->: Access mode: Memory vs. I/O (PCMCIA only)
| UInt8 ataDevConfiguration::atapcVpp1 |
<->: Voltage in tenths of a volt (PCMCIA only)
| UInt8 ataDevConfiguration::atapcVpp2 |
<->: Voltage in tenths of a volt (PCMCIA only)
| UInt16 ataDevConfiguration::ataPIOCycleTime |
<->: Multiple Word DMA Timing Class
| UInt8 ataDevConfiguration::ataPIOSpeedMode |
<->: Configuration setting Bits 3 - 0: Reserved Bit 4: Reserved (allowLBAAccess) Bit 5: Reserved (allowRWMultiple) Bit 6: ATAPIpacketDRQ 1 = Check for Interrupt DRQ on ATAPI command packet DRQ 0 = Default: Check only for the assertion of command packet DRQ Bits 31 - 7: Reserved
| UInt16 ataDevConfiguration::ataRWMultipleCount |
<->: Set when pcXXX fields are valid (atapcAccessMode - atapcConfigIndex) bit 0 - atapcAccessMode field valid, when set bit 1 - atapcVcc field valid, when set bit 2 - atapcVpp1 field valid, when set bit 3 - atapcVpp2 field valid, when set bit 4 - atapcStatus field valid, when set bit 5 - atapcPin field valid, when set bit 6 - atapcCopy field valid, when set bit 7 - atapcConfigIndex field valid, when set bits 14-8 - Reserved bit 15 - device lock/unlock request (write only)
| UInt16 ataDevConfiguration::ataSectorsPerCylinder |
Reserved for future (not supported yet)
| UInt16 ataDevConfiguration::ataSectorsPerTrack |
Reserved for future (not supported yet)
| UInt8 ataDevConfiguration::ataSingleDMASpeed |
<->: Card Option register setting (PCMCIA only)
| UInt16 ataDevConfiguration::ataSocketNumber |
Reserved for future (not supported yet)
| UInt8 ataDevConfiguration::ataSocketType |
<–: Socket number used by the CardServices 0xFF = socket number invalid (Not a CardServices device) other = socket number of the device
| UInt16 ataDevConfiguration::ataUltraCycleTime |
reserved
| UInt8 ataDevConfiguration::ataUltraDMASpeed |
<->:Cycle time for Multiword DMA mode
| UInt16 ataDevConfiguration::Reserved1[5] |
<-> Cycle time for Ultra DMA mode
| UInt8 ataDevConfiguration::reserved2 |
<-> Ultra DMA timing class
| UInt8 ataDevConfiguration::Reserved3 |
<->: Device access speed in PIO Mode