18#ifndef __EFI_SCSI_IO_PROTOCOL_H__
19#define __EFI_SCSI_IO_PROTOCOL_H__
21#define EFI_SCSI_IO_PROTOCOL_GUID \
23 0x932f47e6, 0x2362, 0x4002, {0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
34#define EFI_SCSI_IO_TYPE_DISK 0x00
35#define EFI_SCSI_IO_TYPE_TAPE 0x01
36#define EFI_SCSI_IO_TYPE_PRINTER 0x02
37#define EFI_SCSI_IO_TYPE_PROCESSOR 0x03
38#define EFI_SCSI_IO_TYPE_WORM 0x04
39#define EFI_SCSI_IO_TYPE_CDROM 0x05
40#define EFI_SCSI_IO_TYPE_SCANNER 0x06
41#define EFI_SCSI_IO_TYPE_OPTICAL 0x07
42#define EFI_SCSI_IO_TYPE_MEDIUMCHANGER 0x08
43#define EFI_SCSI_IO_TYPE_COMMUNICATION 0x09
44#define MFI_SCSI_IO_TYPE_A 0x0A
45#define MFI_SCSI_IO_TYPE_B 0x0B
46#define MFI_SCSI_IO_TYPE_RAID 0x0C
47#define MFI_SCSI_IO_TYPE_SES 0x0D
48#define MFI_SCSI_IO_TYPE_RBC 0x0E
49#define MFI_SCSI_IO_TYPE_OCRW 0x0F
50#define MFI_SCSI_IO_TYPE_BRIDGE 0x10
51#define MFI_SCSI_IO_TYPE_OSD 0x11
52#define EFI_SCSI_IO_TYPE_RESERVED_LOW 0x12
53#define EFI_SCSI_IO_TYPE_RESERVED_HIGH 0x1E
54#define EFI_SCSI_IO_TYPE_UNKNOWN 0x1F
59#define EFI_SCSI_IO_DATA_DIRECTION_READ 0
60#define EFI_SCSI_IO_DATA_DIRECTION_WRITE 1
61#define EFI_SCSI_IO_DATA_DIRECTION_BIDIRECTIONAL 2
66#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OK 0x00
67#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09
68#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT 0x0b
69#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d
70#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_RESET 0x0e
71#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
72#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10
73#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11
74#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12
75#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_FREE 0x13
76#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14
77#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f
83#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00
84#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02
85#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04
86#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08
87#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10
88#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14
89#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18
90#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22
91#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
EFI_STATUS(EFIAPI * EFI_SCSI_IO_PROTOCOL_RESET_BUS)(IN EFI_SCSI_IO_PROTOCOL *This)
Definition ScsiIo.h:215
EFI_STATUS(EFIAPI * EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE)(IN EFI_SCSI_IO_PROTOCOL *This, OUT UINT8 *DeviceType)
Definition ScsiIo.h:174
EFI_STATUS(EFIAPI * EFI_SCSI_IO_PROTOCOL_RESET_DEVICE)(IN EFI_SCSI_IO_PROTOCOL *This)
Definition ScsiIo.h:235
EFI_GUID gEfiScsiIoProtocolGuid
EFI_STATUS(EFIAPI * EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_COMMAND)(IN EFI_SCSI_IO_PROTOCOL *This, IN OUT EFI_SCSI_IO_SCSI_REQUEST_PACKET *Packet, IN EFI_EVENT Event OPTIONAL)
Definition ScsiIo.h:290
EFI_STATUS(EFIAPI * EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION)(IN EFI_SCSI_IO_PROTOCOL *This, IN OUT UINT8 **Target, OUT UINT64 *Lun)
Definition ScsiIo.h:194
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
#define VOID
Definition acefi.h:190
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
UINT32 InTransferLength
Definition ScsiIo.h:127
UINT8 TargetStatus
Definition ScsiIo.h:153
UINT8 CdbLength
Definition ScsiIo.h:137
UINT64 Timeout
Definition ScsiIo.h:102
UINT32 OutTransferLength
Definition ScsiIo.h:132
UINT8 SenseDataLength
Definition ScsiIo.h:158
UINT8 HostAdapterStatus
Definition ScsiIo.h:148
UINT8 DataDirection
Definition ScsiIo.h:142
VOID * SenseData
Definition ScsiIo.h:117
VOID * InDataBuffer
Definition ScsiIo.h:107
VOID * OutDataBuffer
Definition ScsiIo.h:112
VOID * Cdb
Definition ScsiIo.h:122
EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_COMMAND ExecuteScsiCommand
Definition ScsiIo.h:304
EFI_SCSI_IO_PROTOCOL_RESET_BUS ResetBus
Definition ScsiIo.h:302
UINT32 IoAlign
Definition ScsiIo.h:312
EFI_SCSI_IO_PROTOCOL_RESET_DEVICE ResetDevice
Definition ScsiIo.h:303
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType
Definition ScsiIo.h:300
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation
Definition ScsiIo.h:301