📄 scsi.h
字号:
UCHAR Control; } MODE_SENSE10, *PMODE_SENSE10; struct _MODE_SELECT { UCHAR OperationCode; UCHAR SPBit : 1; UCHAR Reserved1 : 3; UCHAR PFBit : 1; UCHAR LogicalUnitNumber : 3; UCHAR Reserved2[2]; UCHAR ParameterListLength; UCHAR Control; } MODE_SELECT, *PMODE_SELECT; struct _MODE_SELECT10 { UCHAR OperationCode; UCHAR SPBit : 1; UCHAR Reserved1 : 3; UCHAR PFBit : 1; UCHAR LogicalUnitNumber : 3; UCHAR Reserved2[5]; UCHAR ParameterListLength[2]; UCHAR Control; } MODE_SELECT10, *PMODE_SELECT10; struct _LOCATE { UCHAR OperationCode; UCHAR Immediate : 1; UCHAR CPBit : 1; UCHAR BTBit : 1; UCHAR Reserved1 : 2; UCHAR LogicalUnitNumber : 3; UCHAR Reserved3; UCHAR LogicalBlockAddress[4]; UCHAR Reserved4; UCHAR Partition; UCHAR Control; } LOCATE, *PLOCATE; struct _LOGSENSE { UCHAR OperationCode; UCHAR SPBit : 1; UCHAR PPCBit : 1; UCHAR Reserved1 : 3; UCHAR LogicalUnitNumber : 3; UCHAR PageCode : 6; UCHAR PCBit : 2; UCHAR Reserved2; UCHAR Reserved3; UCHAR ParameterPointer[2]; UCHAR AllocationLength[2]; UCHAR Control; } LOGSENSE, *PLOGSENSE; struct _LOGSELECT { UCHAR OperationCode; UCHAR SPBit : 1; UCHAR PCRBit : 1; UCHAR Reserved1 : 3; UCHAR LogicalUnitNumber : 3; UCHAR Reserved : 6; UCHAR PCBit : 2; UCHAR Reserved2[4]; UCHAR ParameterListLength[2]; UCHAR Control; } LOGSELECT, *PLOGSELECT; struct _PRINT { UCHAR OperationCode; UCHAR Reserved : 5; UCHAR LogicalUnitNumber : 3; UCHAR TransferLength[3]; UCHAR Control; } PRINT, *PPRINT; struct _SEEK { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR LogicalUnitNumber : 3; UCHAR LogicalBlockAddress[4]; UCHAR Reserved2[3]; UCHAR Control; } SEEK, *PSEEK; struct _ERASE { UCHAR OperationCode; UCHAR Long : 1; UCHAR Immediate : 1; UCHAR Reserved1 : 3; UCHAR LogicalUnitNumber : 3; UCHAR Reserved2[3]; UCHAR Control; } ERASE, *PERASE; struct _START_STOP { UCHAR OperationCode; UCHAR Immediate: 1; UCHAR Reserved1 : 4; UCHAR LogicalUnitNumber : 3; UCHAR Reserved2[2]; UCHAR Start : 1; UCHAR LoadEject : 1; UCHAR Reserved3 : 6; UCHAR Control; } START_STOP, *PSTART_STOP; struct _MEDIA_REMOVAL { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR LogicalUnitNumber : 3; UCHAR Reserved2[2]; UCHAR Prevent : 1; UCHAR Persistant : 1; UCHAR Reserved3 : 6; UCHAR Control; } MEDIA_REMOVAL, *PMEDIA_REMOVAL; struct _SEEK_BLOCK { UCHAR OperationCode; UCHAR Immediate : 1; UCHAR Reserved1 : 7; UCHAR BlockAddress[3]; UCHAR Link : 1; UCHAR Flag : 1; UCHAR Reserved2 : 4; UCHAR VendorUnique : 2; } SEEK_BLOCK, *PSEEK_BLOCK; struct _REQUEST_BLOCK_ADDRESS { UCHAR OperationCode; UCHAR Reserved1[3]; UCHAR AllocationLength; UCHAR Link : 1; UCHAR Flag : 1; UCHAR Reserved2 : 4; UCHAR VendorUnique : 2; } REQUEST_BLOCK_ADDRESS, *PREQUEST_BLOCK_ADDRESS; struct _PARTITION { UCHAR OperationCode; UCHAR Immediate : 1; UCHAR Sel: 1; UCHAR PartitionSelect : 6; UCHAR Reserved1[3]; UCHAR Control; } PARTITION, *PPARTITION; struct _WRITE_TAPE_MARKS { UCHAR OperationCode; UCHAR Immediate : 1; UCHAR WriteSetMarks: 1; UCHAR Reserved : 3; UCHAR LogicalUnitNumber : 3; UCHAR TransferLength[3]; UCHAR Control; } WRITE_TAPE_MARKS, *PWRITE_TAPE_MARKS; struct _SPACE_TAPE_MARKS { UCHAR OperationCode; UCHAR Code : 3; UCHAR Reserved : 2; UCHAR LogicalUnitNumber : 3; UCHAR NumMarksMSB ; UCHAR NumMarks; UCHAR NumMarksLSB; union { UCHAR value; struct { UCHAR Link : 1; UCHAR Flag : 1; UCHAR Reserved : 4; UCHAR VendorUnique : 2; } Fields; } Byte6; } SPACE_TAPE_MARKS, *PSPACE_TAPE_MARKS; struct _READ_POSITION { UCHAR Operation; UCHAR BlockType : 1; UCHAR Reserved1 : 4; UCHAR Lun : 3; UCHAR Reserved2[7]; UCHAR Control; } READ_POSITION, *PREAD_POSITION; struct _CDB6READWRITETAPE { UCHAR OperationCode; UCHAR VendorSpecific : 5; UCHAR Reserved : 3; UCHAR TransferLenMSB; UCHAR TransferLen; UCHAR TransferLenLSB; UCHAR Link : 1; UCHAR Flag : 1; UCHAR Reserved1 : 4; UCHAR VendorUnique : 2; } CDB6READWRITETAPE, *PCDB6READWRITETAPE; struct _INIT_ELEMENT_STATUS { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR LogicalUnitNubmer : 3; UCHAR Reserved2[3]; UCHAR Reserved3 : 7; UCHAR NoBarCode : 1; } INIT_ELEMENT_STATUS, *PINIT_ELEMENT_STATUS; struct _INITIALIZE_ELEMENT_RANGE { UCHAR OperationCode; UCHAR Range : 1; UCHAR Reserved1 : 4; UCHAR LogicalUnitNubmer : 3; UCHAR FirstElementAddress[2]; UCHAR Reserved2[2]; UCHAR NumberOfElements[2]; UCHAR Reserved3; UCHAR Reserved4 : 7; UCHAR NoBarCode : 1; } INITIALIZE_ELEMENT_RANGE, *PINITIALIZE_ELEMENT_RANGE; struct _POSITION_TO_ELEMENT { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR LogicalUnitNumber : 3; UCHAR TransportElementAddress[2]; UCHAR DestinationElementAddress[2]; UCHAR Reserved2[2]; UCHAR Flip : 1; UCHAR Reserved3 : 7; UCHAR Control; } POSITION_TO_ELEMENT, *PPOSITION_TO_ELEMENT; struct _MOVE_MEDIUM { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR LogicalUnitNumber : 3; UCHAR TransportElementAddress[2]; UCHAR SourceElementAddress[2]; UCHAR DestinationElementAddress[2]; UCHAR Reserved2[2]; UCHAR Flip : 1; UCHAR Reserved3 : 7; UCHAR Control; } MOVE_MEDIUM, *PMOVE_MEDIUM; struct _EXCHANGE_MEDIUM { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR LogicalUnitNumber : 3; UCHAR TransportElementAddress[2]; UCHAR SourceElementAddress[2]; UCHAR Destination1ElementAddress[2]; UCHAR Destination2ElementAddress[2]; UCHAR Flip1 : 1; UCHAR Flip2 : 1; UCHAR Reserved3 : 6; UCHAR Control; } EXCHANGE_MEDIUM, *PEXCHANGE_MEDIUM; struct _READ_ELEMENT_STATUS { UCHAR OperationCode; UCHAR ElementType : 4; UCHAR VolTag : 1; UCHAR LogicalUnitNumber : 3; UCHAR StartingElementAddress[2]; UCHAR NumberOfElements[2]; UCHAR Reserved1; UCHAR AllocationLength[3]; UCHAR Reserved2; UCHAR Control; } READ_ELEMENT_STATUS, *PREAD_ELEMENT_STATUS; struct _SEND_VOLUME_TAG { UCHAR OperationCode; UCHAR ElementType : 4; UCHAR Reserved1 : 1; UCHAR LogicalUnitNumber : 3; UCHAR StartingElementAddress[2]; UCHAR Reserved2; UCHAR ActionCode : 5; UCHAR Reserved3 : 3; UCHAR Reserved4[2]; UCHAR ParameterListLength[2]; UCHAR Reserved5; UCHAR Control; } SEND_VOLUME_TAG, *PSEND_VOLUME_TAG; struct _REQUEST_VOLUME_ELEMENT_ADDRESS { UCHAR OperationCode; UCHAR ElementType : 4; UCHAR VolTag : 1; UCHAR LogicalUnitNumber : 3; UCHAR StartingElementAddress[2]; UCHAR NumberElements[2]; UCHAR Reserved1; UCHAR AllocationLength[3]; UCHAR Reserved2; UCHAR Control; } REQUEST_VOLUME_ELEMENT_ADDRESS, *PREQUEST_VOLUME_ELEMENT_ADDRESS; struct _LOAD_UNLOAD { UCHAR OperationCode; UCHAR Immediate : 1; UCHAR Reserved1 : 4; UCHAR Lun : 3; UCHAR Reserved2[2]; UCHAR Start : 1; UCHAR LoadEject : 1; UCHAR Reserved3: 6; UCHAR Reserved4[3]; UCHAR Slot; UCHAR Reserved5[3]; } LOAD_UNLOAD, *PLOAD_UNLOAD; struct _MECH_STATUS { UCHAR OperationCode; UCHAR Reserved : 5; UCHAR Lun : 3; UCHAR Reserved1[6]; UCHAR AllocationLength[2]; UCHAR Reserved2[1]; UCHAR Control; } MECH_STATUS, *PMECH_STATUS; struct _SYNCHRONIZE_CACHE10 { UCHAR OperationCode; UCHAR RelAddr : 1; UCHAR Immediate : 1; UCHAR Reserved : 3; UCHAR Lun : 3; UCHAR LogicalBlockAddress[4]; UCHAR Reserved2; UCHAR BlockCount[2]; UCHAR Control; } SYNCHRONIZE_CACHE10, *PSYNCHRONIZE_CACHE10; struct _GET_EVENT_STATUS_NOTIFICATION { UCHAR OperationCode; UCHAR Immediate : 1; UCHAR Reserved : 4; UCHAR Lun : 3; UCHAR Reserved2[2]; UCHAR NotificationClassRequest; UCHAR Reserved3[2]; UCHAR EventListLength[2]; UCHAR Control; } GET_EVENT_STATUS_NOTIFICATION, *PGET_EVENT_STATUS_NOTIFICATION; struct _READ_DVD_STRUCTURE { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR Lun : 3; UCHAR RMDBlockNumber[4]; UCHAR LayerNumber; UCHAR Format; UCHAR AllocationLength[2]; UCHAR Reserved3 : 6; UCHAR AGID : 2; UCHAR Control; } READ_DVD_STRUCTURE, *PREAD_DVD_STRUCTURE; struct _SEND_DVD_STRUCTURE { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR Lun : 3; UCHAR Reserved2[5]; UCHAR Format; UCHAR ParameterListLength[2]; UCHAR Reserved3; UCHAR Control; } SEND_DVD_STRUCTURE, *PSEND_DVD_STRUCTURE; struct _SEND_KEY { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR Lun : 3; UCHAR Reserved2[6]; UCHAR ParameterListLength[2]; UCHAR KeyFormat : 6; UCHAR AGID : 2; UCHAR Control; } SEND_KEY, *PSEND_KEY; struct _REPORT_KEY { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR Lun : 3; UCHAR LogicalBlockAddress[4]; UCHAR Reserved2[2]; UCHAR AllocationLength[2]; UCHAR KeyFormat : 6; UCHAR AGID : 2; UCHAR Control; } REPORT_KEY, *PREPORT_KEY; struct _SET_READ_AHEAD { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR Lun : 3; UCHAR TriggerLBA[4]; UCHAR ReadAheadLBA[4]; UCHAR Reserved2; UCHAR Control; } SET_READ_AHEAD, *PSET_READ_AHEAD; struct _READ_FORMATTED_CAPACITIES { UCHAR OperationCode; UCHAR Reserved1 : 5; UCHAR Lun : 3; UCHAR Reserved2[5]; UCHAR AllocationLength[2]; UCHAR Control; } READ_FORMATTED_CAPACITIES, *PREAD_FORMATTED_CAPACITIES; struct _REPORT_LUNS { UCHAR OperationCode;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -