⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scsidefs.h

📁 使用ASPI包装成的一些通用类
💻 H
📖 第 1 页 / 共 2 页
字号:
   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 + -