scsi.inc

来自「用于查询PC机上的USB端口是否有设备挂接上」· INC 代码 · 共 1,482 行 · 第 1/4 页

INC
1,482
字号
;****************************************************************************
;                                                                           *
; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY     *
; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE       *
; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR     *
; PURPOSE.                                                                  *
;                                                                           *
; Copyright (C) 1993-95  Microsoft Corporation.  All Rights Reserved.       *
;                                                                           *
;****************************************************************************

option expr32

IFNDEF	scsi_inc
scsi_inc	EQU		1

; Begin of file ..\ioh\scsi.h
_SCSI_H_		EQU		1t
	INCLUDE	basedef.inc

	INCLUDE	srb.inc

_SUBCHAN_REC		RECORD	LogicalUnitNumber@_SUBCHAN_REC:3,
			Reserved1@_SUBCHAN_REC:3,
			Msf@_SUBCHAN_REC:1,
			Reserved0@_SUBCHAN_REC:1

SUBCHAN_REC		TYPEDEF		_SUBCHAN_REC

_SUBCHAN_SUBQ_REC		RECORD	Reserved3@_SUBCHAN_SUBQ_REC:1,
			SubQ@_SUBCHAN_SUBQ_REC:1,
			Reserved2@_SUBCHAN_SUBQ_REC:6

SUBCHAN_SUBQ_REC		TYPEDEF		_SUBCHAN_SUBQ_REC

_MODE_SNS_DBD_REC		RECORD	LogicalUnitNumber@_MODE_SNS_DBD_REC:3,
			Reserved2@_MODE_SNS_DBD_REC:1,
			Dbd@_MODE_SNS_DBD_REC:1,
			Reserved1@_MODE_SNS_DBD_REC:3

MODE_SNS_DDB_REC		TYPEDEF		_MODE_SNS_DBD_REC

_MODE_SNS_PC_REC		RECORD	Pc@_MODE_SNS_PC_REC:2,
			PageCode@_MODE_SNS_PC_REC:6

MODE_SNS_PC_REC		TYPEDEF		_MODE_SNS_PC_REC

_MODE_SEL_PF_REC		RECORD	MSEL_LogicalUnitNumber@_MODE_SEL_PF_REC:3,
			MS_PF@_MODE_SEL_PF_REC:1,
			Reserved1@_MODE_SEL_PF_REC:4

MODE_SEL_PF_REC		TYPEDEF		_MODE_SEL_PF_REC

_CDB6GENERIC		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB6GENERIC_0		RECORD	LogicalUnitNumber@_CDB6GENERIC:3,
			CommandUniqueBits@_CDB6GENERIC:4,
			Immediate@_CDB6GENERIC:1
@bit_0		rec@_CDB6GENERIC_0	<>
CommandUniqueBytes		UCHAR		3t DUP (?)
rec@_CDB6GENERIC_1		RECORD	VendorUnique@_CDB6GENERIC:2,
			Reserved@_CDB6GENERIC:4,
			Flag@_CDB6GENERIC:1,
			Link@_CDB6GENERIC:1
@bit_1		rec@_CDB6GENERIC_1	<>
_CDB6GENERIC		ENDS

@t_scsi2		TYPEDEF		PTR _CDB6GENERIC
_CDB6READWRITE		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB6READWRITE_0		RECORD	LogicalUnitNumber@_CDB6READWRITE:3,
			LogicalBlockMsb1@_CDB6READWRITE:5
@bit_0		rec@_CDB6READWRITE_0	<>
LogicalBlockMsb0		UCHAR		?
LogicalBlockLsb		UCHAR		?
TransferBlocks		UCHAR		?
Control		UCHAR		?
_CDB6READWRITE		ENDS

@t_scsi3		TYPEDEF		PTR _CDB6READWRITE
_CDB6INQUIRY		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB6INQUIRY_0		RECORD	LogicalUnitNumber@_CDB6INQUIRY:3,
			Reserved1@_CDB6INQUIRY:5
@bit_0		rec@_CDB6INQUIRY_0	<>
PageCode		UCHAR		?
IReserved		UCHAR		?
AllocationLength		UCHAR		?
Control		UCHAR		?
_CDB6INQUIRY		ENDS

@t_scsi4		TYPEDEF		PTR _CDB6INQUIRY
_CDB6FORMAT		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB6FORMAT_0		RECORD	LogicalUnitNumber@_CDB6FORMAT:3,
			FormatControl@_CDB6FORMAT:5
@bit_0		rec@_CDB6FORMAT_0	<>
FReserved1		UCHAR		?
InterleaveMsb		UCHAR		?
InterleaveLsb		UCHAR		?
FReserved2		UCHAR		?
_CDB6FORMAT		ENDS

@t_scsi5		TYPEDEF		PTR _CDB6FORMAT
_CDB6SENDDIAG		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB6SENDDIAG_0		RECORD	LogicalUnitNumber@_CDB6SENDDIAG:3,
			PF@_CDB6SENDDIAG:1,
			Reserved1@_CDB6SENDDIAG:1,
			SelfTest@_CDB6SENDDIAG:1,
			DevOfl@_CDB6SENDDIAG:1,
			UnitOfl@_CDB6SENDDIAG:1
@bit_0		rec@_CDB6SENDDIAG_0	<>
Reserved2		UCHAR		?
ParamListLenMsb		UCHAR		?
ParamListLenLsb		UCHAR		?
Control		UCHAR		?
_CDB6SENDDIAG		ENDS

@t_scsi6		TYPEDEF		PTR _CDB6SENDDIAG
_CDB6RECDIAG		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB6RECDIAG_0		RECORD	LogicalUnitNumber@_CDB6RECDIAG:3,
			Reserved1@_CDB6RECDIAG:5
@bit_0		rec@_CDB6RECDIAG_0	<>
Reserved		UCHAR		?
AllocationLenMsb		UCHAR		?
AllocationLenLsb		UCHAR		?
Control		UCHAR		?
_CDB6RECDIAG		ENDS

@t_scsi7		TYPEDEF		PTR _CDB6RECDIAG
_CDB10		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB10_0		RECORD	LogicalUnitNumber@_CDB10:3,
			Reserved1@_CDB10:5
@bit_0		rec@_CDB10_0	<>
LogicalBlockByte0		UCHAR		?
LogicalBlockByte1		UCHAR		?
LogicalBlockByte2		UCHAR		?
LogicalBlockByte3		UCHAR		?
Reserved2		UCHAR		?
TransferBlocksMsb		UCHAR		?
TransferBlocksLsb		UCHAR		?
Control		UCHAR		?
_CDB10		ENDS

@t_scsi8		TYPEDEF		PTR _CDB10
_READ_CAPACITY		STRUCT 1t
OperationCode		UCHAR		?
rec@_READ_CAPACITY_0		RECORD	LogicalUnitNumber@_READ_CAPACITY:3,
			Reserved1@_READ_CAPACITY:4,
			RelAdr@_READ_CAPACITY:1
@bit_0		rec@_READ_CAPACITY_0	<>
LogicalBlockByte0		UCHAR		?
LogicalBlockByte1		UCHAR		?
LogicalBlockByte2		UCHAR		?
LogicalBlockByte3		UCHAR		?
Reserved2		UCHAR		?
Reserved3		UCHAR		?
rec@_READ_CAPACITY_1		RECORD	Reserved4@_READ_CAPACITY:7,
			PMI@_READ_CAPACITY:1
@bit_1		rec@_READ_CAPACITY_1	<>
Control		UCHAR		?
_READ_CAPACITY		ENDS

@t_scsi9		TYPEDEF		PTR _READ_CAPACITY
_CDB10READWRITE		STRUCT 1t
OperationCode		UCHAR		?
rec@_CDB10READWRITE_0		RECORD	LogicalUnitNumber@_CDB10READWRITE:3,
			DPO@_CDB10READWRITE:1,
			FUA@_CDB10READWRITE:1,
			Reserved1@_CDB10READWRITE:2,
			RelAdr@_CDB10READWRITE:1
@bit_0		rec@_CDB10READWRITE_0	<>
LogicalBlockByte0		UCHAR		?
LogicalBlockByte1		UCHAR		?
LogicalBlockByte2		UCHAR		?
LogicalBlockByte3		UCHAR		?
Reserved2		UCHAR		?
TransferBlocksMSB		UCHAR		?
TransferBlocksLSB		UCHAR		?
Control		UCHAR		?
_CDB10READWRITE		ENDS

@t_scsi10		TYPEDEF		PTR _CDB10READWRITE
_REQ_SENSE		STRUCT 1t
OperationCode		UCHAR		?
rec@_REQ_SENSE_0		RECORD	LogicalUnitNumber@_REQ_SENSE:3,
			Reserved1@_REQ_SENSE:5
@bit_0		rec@_REQ_SENSE_0	<>
Reserved2		UCHAR		?
Reserved3		UCHAR		?
TransferLength		UCHAR		?
Control		UCHAR		?
_REQ_SENSE		ENDS

@t_scsi11		TYPEDEF		PTR _REQ_SENSE
_PAUSE_RESUME		STRUCT 1t
OperationCode		UCHAR		?
rec@_PAUSE_RESUME_0		RECORD	LogicalUnitNumber@_PAUSE_RESUME:3,
			Reserved1@_PAUSE_RESUME:5
@bit_0		rec@_PAUSE_RESUME_0	<>
Reserved2		UCHAR		6t DUP (?)
Action		UCHAR		?
Control		UCHAR		?
_PAUSE_RESUME		ENDS

@t_scsi12		TYPEDEF		PTR _PAUSE_RESUME
_READ_TOC		STRUCT 1t
OperationCode		UCHAR		?
TOC_rec0		SUBCHAN_REC		<>
Reserved2		UCHAR		4t DUP (?)
StartingTrack		UCHAR		?
AllocationLength		UCHAR		2t DUP (?)
Control		UCHAR		?
_READ_TOC		ENDS

@t_scsi13		TYPEDEF		PTR _READ_TOC
_READ_CD_DA		STRUCT 1t
OperationCode		UCHAR		?
CD_DA_Lun		UCHAR		?
LogicalStartAddress		UCHAR		4t DUP (?)
CD_DA_TransferLength		UCHAR		4t DUP (?)
CD_DA_SubCode		UCHAR		?
CD_DA_Control		UCHAR		?
_READ_CD_DA		ENDS

@t_scsi14		TYPEDEF		PTR _READ_CD_DA
_PLAY_AUDIO_MSF		STRUCT 1t
OperationCode		UCHAR		?
rec@_PLAY_AUDIO_MSF_0		RECORD	LogicalUnitNumber@_PLAY_AUDIO_MSF:3,
			Reserved1@_PLAY_AUDIO_MSF:5
@bit_0		rec@_PLAY_AUDIO_MSF_0	<>
Reserved2		UCHAR		?
StartingM		UCHAR		?
StartingS		UCHAR		?
StartingF		UCHAR		?
EndingM		UCHAR		?
EndingS		UCHAR		?
EndingF		UCHAR		?
Control		UCHAR		?
_PLAY_AUDIO_MSF		ENDS

@t_scsi15		TYPEDEF		PTR _PLAY_AUDIO_MSF
_PLAY_AUDIO_LBA		STRUCT 1t
OperationCode		UCHAR		?
rec@_PLAY_AUDIO_LBA_0		RECORD	LogicalUnitNumber@_PLAY_AUDIO_LBA:3,
			Reserved1@_PLAY_AUDIO_LBA:5
@bit_0		rec@_PLAY_AUDIO_LBA_0	<>
LbaStart		UCHAR		4t DUP (?)
Extent		UCHAR		4t DUP (?)
LBA_Reserved2		UCHAR		?
Control		UCHAR		?
_PLAY_AUDIO_LBA		ENDS

@t_scsi16		TYPEDEF		PTR _PLAY_AUDIO_LBA
_PLAY_LBA10		STRUCT 1t
OperationCode		UCHAR		?
rec@_PLAY_LBA10_0		RECORD	LogicalUnitNumber@_PLAY_LBA10:3,
			Reserved1@_PLAY_LBA10:5
@bit_0		rec@_PLAY_LBA10_0	<>
Lba10_Start		UCHAR		4t DUP (?)
Lba10_Reserved2		UCHAR		?
Lba10_Extent		UCHAR		2t DUP (?)
Control		UCHAR		?
_PLAY_LBA10		ENDS

@t_scsi17		TYPEDEF		PTR _PLAY_LBA10
_SUBCHANNEL		STRUCT 1t
OperationCode		UCHAR		?
subq_rec0		SUBCHAN_REC		<>
subq_rec1		SUBCHAN_SUBQ_REC		<>
Format		UCHAR		?
SUB_Reserved4		UCHAR		2t DUP (?)
SUB_TrackNumber		UCHAR		?
AllocationLength		UCHAR		2t DUP (?)
Control		UCHAR		?
_SUBCHANNEL		ENDS

@t_scsi18		TYPEDEF		PTR _SUBCHANNEL
_MODE_SENSE		STRUCT 1t
OperationCode		UCHAR		?
md_sns_rec0		MODE_SNS_DDB_REC		<>
md_sns_rec1		MODE_SNS_PC_REC		<>
MS_Reserved3		UCHAR		?
MS_AllocationLength		UCHAR		?
Control		UCHAR		?
_MODE_SENSE		ENDS

@t_scsi19		TYPEDEF		PTR _MODE_SENSE
_MODE_SELECT		STRUCT 1t
OperationCode		UCHAR		?
md_sel_rec0		MODE_SEL_PF_REC		<>
MSEL_Reserved2		UCHAR		2t DUP (?)
ParameterListLength		UCHAR		?
Control		UCHAR		?
_MODE_SELECT		ENDS

@t_scsi20		TYPEDEF		PTR _MODE_SELECT
_LOCATE		STRUCT 1t
OperationCode		UCHAR		?
rec@_LOCATE_0		RECORD	Reserved2@_LOCATE:6,
			CPBit@_LOCATE:1,
			Reserved1@_LOCATE:1
@bit_0		rec@_LOCATE_0	<>
Reserved3		UCHAR		?
LogicalBlockAddress		UCHAR		4t DUP (?)
Reserved4		UCHAR		?
Partition		UCHAR		?
Control		UCHAR		?
_LOCATE		ENDS

@t_scsi21		TYPEDEF		PTR _LOCATE
_LOGSENSE		STRUCT 1t
OperationCode		UCHAR		?
Unknown1		UCHAR		?
rec@_LOGSENSE_0		RECORD	PCBit@_LOGSENSE:2,
			PageCode@_LOGSENSE:6
@bit_0		rec@_LOGSENSE_0	<>
Unknown2		UCHAR		?
Unknown3		UCHAR		?
ParameterPointer		UCHAR		2t DUP (?)
AllocationLength		UCHAR		2t DUP (?)
Control		UCHAR		?
_LOGSENSE		ENDS

@t_scsi22		TYPEDEF		PTR _LOGSENSE
_PRINT		STRUCT 1t
OperationCode		UCHAR		?
rec@_PRINT_0		RECORD	LogicalUnitNumber@_PRINT:3,
			Reserved@_PRINT:5
@bit_0		rec@_PRINT_0	<>
TransferLength		UCHAR		3t DUP (?)
Control		UCHAR		?
_PRINT		ENDS

@t_scsi23		TYPEDEF		PTR _PRINT
_SEEK		STRUCT 1t
OperationCode		UCHAR		?
rec@_SEEK_0		RECORD	LogicalUnitNumber@_SEEK:3,
			Reserved1@_SEEK:5
@bit_0		rec@_SEEK_0	<>
SeekLBA		UCHAR		4t DUP (?)
Reserved2		UCHAR		3t DUP (?)
Control		UCHAR		?
_SEEK		ENDS

@t_scsi24		TYPEDEF		PTR _SEEK
_START_STOP		STRUCT 1t
OperationCode		UCHAR		?
rec@_START_STOP_0		RECORD	LogicalUnitNumber@_START_STOP:3,
			Reserved1@_START_STOP:4,
			Immediate@_START_STOP:1
@bit_0		rec@_START_STOP_0	<>
Reserved2		UCHAR		2t DUP (?)
rec@_START_STOP_1		RECORD	Reserved3@_START_STOP:6,
			LoadEject@_START_STOP:1,
			Start@_START_STOP:1
@bit_1		rec@_START_STOP_1	<>
Control		UCHAR		?
_START_STOP		ENDS

@t_scsi25		TYPEDEF		PTR _START_STOP
_MEDIA_REMOVAL		STRUCT 1t
OperationCode		UCHAR		?
rec@_MEDIA_REMOVAL_0		RECORD	LogicalUnitNumber@_MEDIA_REMOVAL:3,
			Reserved1@_MEDIA_REMOVAL:5
@bit_0		rec@_MEDIA_REMOVAL_0	<>
Reserved2		UCHAR		2t DUP (?)
Prevent		UCHAR		?

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?