📄 scsidefs.h
字号:
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_Format_t;
typedef struct SCSI_Cdb_LoadUnload_s {
unsigned int CommandCode : 8; /* should be 0x1B */
unsigned int Immediate : 1;
unsigned int : 4;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int : 8;
unsigned int Start : 1;
unsigned int LoadEject : 1;
unsigned int : 6;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_LoadUnload_t;
typedef struct SCSI_Cdb_ModeSense_s {
unsigned int CommandCode : 8; /* should be 0x1A */
unsigned int : 3;
unsigned int DisableBlockDescriptors : 1;
unsigned int : 1;
unsigned int Lun : 3;
unsigned int PageCode : 6;
unsigned int PageControl : 2;
unsigned int : 8;
unsigned int AllocationLength : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ModeSense_t;
typedef struct SCSI_ModeSenseData_s {
unsigned int SenseDataLength : 8;
unsigned int MediumType : 8;
unsigned int Device_Specific : 8;
unsigned int BlockDescriptorLength : 8;
unsigned int DensityCode : 8;
unsigned int NumBlocks2 : 8;
unsigned int NumBlocks1 : 8;
unsigned int NumBlocks0 : 8;
unsigned int Reserved1 : 8;
unsigned int BlockLength2 : 8;
unsigned int BlockLength1 : 8;
unsigned int BlockLength0 : 8;
} SCSI_ModeSenseData_t;
typedef struct SCSI_Cdb_ModeSelect_s {
unsigned int CommandCode : 8; /* should be 0x1A */
unsigned int SavePages : 1;
unsigned int : 3;
unsigned int PageFormat : 1;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int : 8;
unsigned int ParameterListLength : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ModeSelect_t;
typedef struct SCSI_ModeSelectData_s {
unsigned int : 8;
unsigned int : 8;
unsigned int Speed : 4;
unsigned int BufferedMode : 3;
unsigned int : 1;
unsigned int BlockDescriptorLength : 8;
unsigned int DensityCode : 8;
unsigned int NumBlocks2 : 8;
unsigned int NumBlocks1 : 8;
unsigned int NumBlocks0 : 8;
unsigned int : 8;
unsigned int BlockLength2 : 8;
unsigned int BlockLength1 : 8;
unsigned int BlockLength0 : 8;
} SCSI_ModeSelectData_t;
typedef struct SCSI_Cdb_ReserveUnit_s {
unsigned int CommandCode : 8; /* should be 0x16 */
unsigned int : 1;
unsigned int ThirdPartyDeviceId : 3;
unsigned int ThirdPartyFlag : 1;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ReserveUnit_t;
typedef struct SCSI_Cdb_ReleaseUnit_s {
unsigned int CommandCode : 8; /* should be 0x17 */
unsigned int : 1;
unsigned int ThirdPartyDeviceId : 3;
unsigned int ThirdPartyFlag : 1;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ReleaseUnit_t;
typedef struct SCSI_Cdb_SendDiagnostic_s {
unsigned int CommandCode : 8; /* should be 0x12 */
unsigned int UnitOfflineOk : 1;
unsigned int DeviceOfflineOk : 1;
unsigned int SelfTest : 1;
unsigned int : 1;
unsigned int PageFormat : 1;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int ParmListLenByte1 : 8;
unsigned int ParmListLenByte0 : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_SendDiagnostic_t;
typedef struct SCSI_Cdb_ReadCapacity_s {
unsigned int CommandCode : 8; /* should be 0x25 */
unsigned int RelAdr : 1;
unsigned int : 4;
unsigned int Lun : 3;
unsigned int LBA3 : 8;
unsigned int LBA2 : 8;
unsigned int LBA1 : 8;
unsigned int LBA0 : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int Partial : 1;
unsigned int Partition : 7;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ReadCapacity_t;
typedef struct SCSI_ReadCapacityData_s {
unsigned int BlockAddress3 : 8;
unsigned int BlockAddress2 : 8;
unsigned int BlockAddress1 : 8;
unsigned int BlockAddress0 : 8;
unsigned int BlockSize3 : 8;
unsigned int BlockSize2 : 8;
unsigned int BlockSize1 : 8;
unsigned int BlockSize0 : 8;
} SCSI_ReadCapacityData_t;
typedef struct SCSI_Cdb_Locate_s {
unsigned int CommandCode : 8; /* should be 0x2B */
unsigned int Immediate : 1;
unsigned int ChangePartition : 1;
unsigned int BlockType : 1;
unsigned int : 2;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int Count3 : 8;
unsigned int Count2 : 8;
unsigned int Count1 : 8;
unsigned int Count0 : 8;
unsigned int : 8;
unsigned int Partition : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_Locate_t;
typedef struct SCSI_Cdb_ReadPosition_s {
unsigned int CommandCode : 8; /* should be 0x34 */
unsigned int BlockType : 1;
unsigned int : 4;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ReadPosition_t;
typedef struct SCSI_ReadPositionData_s {
unsigned int : 2;
unsigned int BlockPositionUnknown : 1;
unsigned int : 3;
unsigned int EndOfPartition : 1;
unsigned int BeginningOfPartition : 1;
unsigned int Partition : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int FirstBlock3 : 8;
unsigned int FirstBlock2 : 8;
unsigned int FirstBlock1 : 8;
unsigned int FirstBlock0 : 8;
unsigned int LastBlock3 : 8;
unsigned int LastBlock2 : 8;
unsigned int LastBlock1 : 8;
unsigned int LastBlock0 : 8;
unsigned int : 8;
unsigned int BlocksInBuffer2 : 8;
unsigned int BlocksInBuffer1 : 8;
unsigned int BlocksInBuffer0 : 8;
unsigned int BytesInBuffer3 : 8;
unsigned int BytesInBuffer2 : 8;
unsigned int BytesInBuffer1 : 8;
unsigned int BytesInBuffer0 : 8;
} SCSI_ReadPositionData_t;
typedef struct SCSI_Cdb_PreventAllow_s {
unsigned int CommandCode : 8;
unsigned int Reserved1 : 5;
unsigned int Lun : 3;
unsigned int Reserved2 : 8;
unsigned int Reserved3 : 8;
unsigned int Prevent : 1;
unsigned int Reserved4 : 7;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int Reserved5 : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_PreventAllow_t;
typedef struct SCSI_Cdb_ReadToc_s {
unsigned int CommandCode : 8; /* should be 0x43 */
unsigned int : 1;
unsigned int MSF : 1;
unsigned int : 3;
unsigned int Lun : 3;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int : 8;
unsigned int StartTrack : 8;
unsigned int Length1 : 8;
unsigned int Length0 : 8;
unsigned int Link : 1;
unsigned int Flag : 1;
unsigned int : 4;
unsigned int VendorSpecific : 2;
} SCSI_Cdb_ReadToc_t;
typedef struct SCSI_ReadTocData_s {
unsigned int Length1 : 8;
unsigned int Length0 : 8;
unsigned int FirstTrack : 8;
unsigned int LastTrack : 8;
} SCSI_ReadTocData_t;
typedef struct SCSI_TocDescriptor_s {
unsigned int : 8;
unsigned int Control : 4;
unsigned int ADR : 4;
unsigned int TrackNumber : 8;
unsigned int : 8;
unsigned int AbsAddress3 : 8;
unsigned int AbsAddress2 : 8;
unsigned int AbsAddress1 : 8;
unsigned int AbsAddress0 : 8;
} SCSI_TocDescriptor_t;
#pragma pack(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -