#ifndef _ATADEVICE_H
#define _ATADEVICE_H
#define kDefaultInquirySize 255
typedef UInt32 ATAUnit;
enum ATADeviceTimeouts
{
kATATimerIntervalmS = 500,
kATAProbeTimeoutmS = 5000,
kATAResetIntervalmS = 3000,
kATAAbortTimeoutmS = 5000,
kATAReqSenseTimeoutmS = 5000,
kATADisableTimeoutmS = 5000,
kATAResetPollIntervalmS = 50,
kATAResetTimeoutmS = 25000,
kATABusyTimeoutmS = 10,
kATADRQTimeoutmS = 10,
};
enum ATAClientMessage
{
kATAClientMsgNone = 0x00005000,
kATAClientMsgDeviceAbort,
kATAClientMsgDeviceReset,
kATAClientMsgBusReset,
kATAClientMsgSelectTiming,
kATAClientMsgDone = 0x80000000,
};
enum ATAQueueType
{
kATAQTypeNormalQ = 0,
kATAQTypeBypassQ = 1,
};
enum ATAQueuePosition
{
kATAQPositionTail = 0,
kATAQPositionHead = 1,
};
#define kATAPropertyProtocol "ATA Protocol"
#define kATAPropertyDeviceNumber "ATA Device Number"
#define kATAPropertyDeviceType "ATA Device Type"
#define kATAPropertyDeviceId "ATA Device Id"
#define kATAPropertyModelNumber "ATA Device Model Number"
#define kATAPropertyFirmwareRev "ATA Device Firmware Revision"
#define kATAPropertyVendorName "ATA Device Vendor Name"
#define kATAPropertyProductName "ATA Device Product Name"
#define kATAPropertyProductRevision "ATA Device Product Revision"
#define kATAPropertyLocation "IOUnit"
#define kATAMaxProperties 9
#define kATAPropertyProtocolATA "ATA"
#define kATAPropertyProtocolATAPI "ATAPI"
#define kATADeviceTypeDisk "Disk"
#define kATADeviceTypeTape "Tape"
#define kATADeviceTypeCDRom "CDRom"
#define kATADeviceTypeScanner "Scanner"
#define kATADeviceTypeOther "Other"
#endif