SCSICommandDefinitions.h [plain text]
#ifndef _IOKIT_SCSI_COMMAND_DEFINITIONS_H_
#define _IOKIT_SCSI_COMMAND_DEFINITIONS_H_
#if KERNEL
#include <IOKit/IOTypes.h>
#else
#include <CoreFoundation/CoreFoundation.h>
#endif
#pragma mark About this file
#pragma mark Field Type Definitions
typedef UInt8 SCSICmdField1Bit;
typedef UInt8 SCSICmdField2Bit;
typedef UInt8 SCSICmdField3Bit;
typedef UInt8 SCSICmdField4Bit;
typedef UInt8 SCSICmdField5Bit;
typedef UInt8 SCSICmdField6Bit;
typedef UInt8 SCSICmdField7Bit;
typedef UInt8 SCSICmdField1Byte;
typedef UInt16 SCSICmdField9Bit;
typedef UInt16 SCSICmdField10Bit;
typedef UInt16 SCSICmdField11Bit;
typedef UInt16 SCSICmdField12Bit;
typedef UInt16 SCSICmdField13Bit;
typedef UInt16 SCSICmdField14Bit;
typedef UInt16 SCSICmdField15Bit;
typedef UInt16 SCSICmdField2Byte;
typedef UInt32 SCSICmdField17Bit;
typedef UInt32 SCSICmdField18Bit;
typedef UInt32 SCSICmdField19Bit;
typedef UInt32 SCSICmdField20Bit;
typedef UInt32 SCSICmdField21Bit;
typedef UInt32 SCSICmdField22Bit;
typedef UInt32 SCSICmdField23Bit;
typedef UInt32 SCSICmdField3Byte;
typedef UInt32 SCSICmdField25Bit;
typedef UInt32 SCSICmdField26Bit;
typedef UInt32 SCSICmdField27Bit;
typedef UInt32 SCSICmdField28Bit;
typedef UInt32 SCSICmdField29Bit;
typedef UInt32 SCSICmdField30Bit;
typedef UInt32 SCSICmdField31Bit;
typedef UInt32 SCSICmdField4Byte;
typedef UInt64 SCSICmdField33Bit;
typedef UInt64 SCSICmdField34Bit;
typedef UInt64 SCSICmdField35Bit;
typedef UInt64 SCSICmdField36Bit;
typedef UInt64 SCSICmdField37Bit;
typedef UInt64 SCSICmdField38Bit;
typedef UInt64 SCSICmdField39Bit;
typedef UInt64 SCSICmdField5Byte;
typedef UInt64 SCSICmdField41Bit;
typedef UInt64 SCSICmdField42Bit;
typedef UInt64 SCSICmdField43Bit;
typedef UInt64 SCSICmdField44Bit;
typedef UInt64 SCSICmdField45Bit;
typedef UInt64 SCSICmdField46Bit;
typedef UInt64 SCSICmdField47Bit;
typedef UInt64 SCSICmdField6Byte;
typedef UInt64 SCSICmdField49Bit;
typedef UInt64 SCSICmdField50Bit;
typedef UInt64 SCSICmdField51Bit;
typedef UInt64 SCSICmdField52Bit;
typedef UInt64 SCSICmdField53Bit;
typedef UInt64 SCSICmdField54Bit;
typedef UInt64 SCSICmdField55Bit;
typedef UInt64 SCSICmdField7Byte;
typedef UInt64 SCSICmdField57Bit;
typedef UInt64 SCSICmdField58Bit;
typedef UInt64 SCSICmdField59Bit;
typedef UInt64 SCSICmdField60Bit;
typedef UInt64 SCSICmdField61Bit;
typedef UInt64 SCSICmdField62Bit;
typedef UInt64 SCSICmdField63Bit;
typedef UInt64 SCSICmdField8Byte;
#pragma mark Field Mask Definitions
enum
{
kSCSICmdFieldMask1Bit = 0x01,
kSCSICmdFieldMask2Bit = 0x03,
kSCSICmdFieldMask3Bit = 0x07,
kSCSICmdFieldMask4Bit = 0x0F,
kSCSICmdFieldMask5Bit = 0x1F,
kSCSICmdFieldMask6Bit = 0x3F,
kSCSICmdFieldMask7Bit = 0x7F,
kSCSICmdFieldMask1Byte = 0xFF
};
enum
{
kSCSICmdFieldMask9Bit = 0x01FF,
kSCSICmdFieldMask10Bit = 0x03FF,
kSCSICmdFieldMask11Bit = 0x07FF,
kSCSICmdFieldMask12Bit = 0x0FFF,
kSCSICmdFieldMask13Bit = 0x1FFF,
kSCSICmdFieldMask14Bit = 0x3FFF,
kSCSICmdFieldMask15Bit = 0x7FFF,
kSCSICmdFieldMask2Byte = 0xFFFF
};
enum
{
kSCSICmdFieldMask17Bit = 0x01FFFF,
kSCSICmdFieldMask18Bit = 0x03FFFF,
kSCSICmdFieldMask19Bit = 0x07FFFF,
kSCSICmdFieldMask20Bit = 0x0FFFFF,
kSCSICmdFieldMask21Bit = 0x1FFFFF,
kSCSICmdFieldMask22Bit = 0x3FFFFF,
kSCSICmdFieldMask23Bit = 0x7FFFFF,
kSCSICmdFieldMask3Byte = 0xFFFFFF
};
enum
{
kSCSICmdFieldMask25Bit = 0x01FFFFFFUL,
kSCSICmdFieldMask26Bit = 0x03FFFFFFUL,
kSCSICmdFieldMask27Bit = 0x07FFFFFFUL,
kSCSICmdFieldMask28Bit = 0x0FFFFFFFUL,
kSCSICmdFieldMask29Bit = 0x1FFFFFFFUL,
kSCSICmdFieldMask30Bit = 0x3FFFFFFFUL,
kSCSICmdFieldMask31Bit = 0x7FFFFFFFUL,
kSCSICmdFieldMask4Byte = 0xFFFFFFFFUL
};
enum
{
kSCSICmdFieldMask33Bit = 0x01FFFFFFFFULL,
kSCSICmdFieldMask34Bit = 0x03FFFFFFFFULL,
kSCSICmdFieldMask35Bit = 0x07FFFFFFFFULL,
kSCSICmdFieldMask36Bit = 0x0FFFFFFFFFULL,
kSCSICmdFieldMask37Bit = 0x1FFFFFFFFFULL,
kSCSICmdFieldMask38Bit = 0x3FFFFFFFFFULL,
kSCSICmdFieldMask39Bit = 0x7FFFFFFFFFULL,
kSCSICmdFieldMask5Byte = 0xFFFFFFFFFFULL
};
enum
{
kSCSICmdFieldMask41Bit = 0x01FFFFFFFFFFULL,
kSCSICmdFieldMask42Bit = 0x03FFFFFFFFFFULL,
kSCSICmdFieldMask43Bit = 0x07FFFFFFFFFFULL,
kSCSICmdFieldMask44Bit = 0x0FFFFFFFFFFFULL,
kSCSICmdFieldMask45Bit = 0x1FFFFFFFFFFFULL,
kSCSICmdFieldMask46Bit = 0x3FFFFFFFFFFFULL,
kSCSICmdFieldMask47Bit = 0x7FFFFFFFFFFFULL,
kSCSICmdFieldMask6Byte = 0xFFFFFFFFFFFFULL
};
enum
{
kSCSICmdFieldMask49Bit = 0x01FFFFFFFFFFFFULL,
kSCSICmdFieldMask50Bit = 0x03FFFFFFFFFFFFULL,
kSCSICmdFieldMask51Bit = 0x07FFFFFFFFFFFFULL,
kSCSICmdFieldMask52Bit = 0x0FFFFFFFFFFFFFULL,
kSCSICmdFieldMask53Bit = 0x1FFFFFFFFFFFFFULL,
kSCSICmdFieldMask54Bit = 0x3FFFFFFFFFFFFFULL,
kSCSICmdFieldMask55Bit = 0x7FFFFFFFFFFFFFULL,
kSCSICmdFieldMask7Byte = 0xFFFFFFFFFFFFFFULL
};
enum
{
kSCSICmdFieldMask57Bit = 0x01FFFFFFFFFFFFFFULL,
kSCSICmdFieldMask58Bit = 0x03FFFFFFFFFFFFFFULL,
kSCSICmdFieldMask59Bit = 0x07FFFFFFFFFFFFFFULL,
kSCSICmdFieldMask60Bit = 0x0FFFFFFFFFFFFFFFULL,
kSCSICmdFieldMask61Bit = 0x1FFFFFFFFFFFFFFFULL,
kSCSICmdFieldMask62Bit = 0x3FFFFFFFFFFFFFFFULL,
kSCSICmdFieldMask63Bit = 0x7FFFFFFFFFFFFFFFULL,
kSCSICmdFieldMask8Byte = 0xFFFFFFFFFFFFFFFFULL
};
#endif