17#ifndef __EXT_SCSI_PASS_THROUGH_PROTOCOL_H__
18#define __EXT_SCSI_PASS_THROUGH_PROTOCOL_H__
20#define EFI_EXT_SCSI_PASS_THRU_PROTOCOL_GUID \
22 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe } \
27#define TARGET_MAX_BYTES 0x10
29#define EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
30#define EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
31#define EFI_EXT_SCSI_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
36#define EFI_EXT_SCSI_DATA_DIRECTION_READ 0
37#define EFI_EXT_SCSI_DATA_DIRECTION_WRITE 1
38#define EFI_EXT_SCSI_DATA_DIRECTION_BIDIRECTIONAL 2
42#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_OK 0x00
43#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09
44#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_TIMEOUT 0x0b
45#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d
46#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_BUS_RESET 0x0e
47#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
48#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10
49#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11
50#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12
51#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_BUS_FREE 0x13
52#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14
53#define EFI_EXT_SCSI_STATUS_HOST_ADAPTER_OTHER 0x7f
57#define EFI_EXT_SCSI_STATUS_TARGET_GOOD 0x00
58#define EFI_EXT_SCSI_STATUS_TARGET_CHECK_CONDITION 0x02
59#define EFI_EXT_SCSI_STATUS_TARGET_CONDITION_MET 0x04
60#define EFI_EXT_SCSI_STATUS_TARGET_BUSY 0x08
61#define EFI_EXT_SCSI_STATUS_TARGET_INTERMEDIATE 0x10
62#define EFI_EXT_SCSI_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14
63#define EFI_EXT_SCSI_STATUS_TARGET_RESERVATION_CONFLICT 0x18
64#define EFI_EXT_SCSI_STATUS_TARGET_TASK_SET_FULL 0x28
65#define EFI_EXT_SCSI_STATUS_TARGET_ACA_ACTIVE 0x30
66#define EFI_EXT_SCSI_STATUS_TARGET_TASK_ABORTED 0x40
#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_EXT_SCSI_PASS_THRU_RESET_CHANNEL)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This)
Definition ScsiPassThruExt.h:312
EFI_STATUS(EFIAPI * EFI_EXT_SCSI_PASS_THRU_GET_TARGET_LUN)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT UINT8 **Target, OUT UINT64 *Lun)
Definition ScsiPassThruExt.h:292
EFI_STATUS(EFIAPI * EFI_EXT_SCSI_PASS_THRU_RESET_TARGET_LUN)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, IN UINT8 *Target, IN UINT64 Lun)
Definition ScsiPassThruExt.h:337
EFI_GUID gEfiExtScsiPassThruProtocolGuid
EFI_STATUS(EFIAPI * EFI_EXT_SCSI_PASS_THRU_PASSTHRU)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, IN UINT8 *Target, IN UINT64 Lun, IN OUT EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet, IN EFI_EVENT Event OPTIONAL)
Definition ScsiPassThruExt.h:193
EFI_STATUS(EFIAPI * EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET_LUN)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, IN OUT UINT8 **Target, IN OUT UINT64 *Lun)
Definition ScsiPassThruExt.h:229
EFI_STATUS(EFIAPI * EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, IN OUT UINT8 **Target)
Definition ScsiPassThruExt.h:367
EFI_STATUS(EFIAPI * EFI_EXT_SCSI_PASS_THRU_BUILD_DEVICE_PATH)(IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This, IN UINT8 *Target, IN UINT64 Lun, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
Definition ScsiPassThruExt.h:264
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
Definition DevicePath.h:49
Definition ScsiPassThruExt.h:68
UINT32 IoAlign
Definition ScsiPassThruExt.h:80
UINT32 Attributes
Definition ScsiPassThruExt.h:76
UINT32 AdapterId
Definition ScsiPassThruExt.h:72
Definition ScsiPassThruExt.h:83
VOID * InDataBuffer
Definition ScsiPassThruExt.h:97
VOID * SenseData
Definition ScsiPassThruExt.h:107
UINT32 OutTransferLength
Definition ScsiPassThruExt.h:122
UINT8 SenseDataLength
Definition ScsiPassThruExt.h:147
VOID * Cdb
Definition ScsiPassThruExt.h:112
UINT64 Timeout
Definition ScsiPassThruExt.h:92
UINT8 CdbLength
Definition ScsiPassThruExt.h:127
UINT8 TargetStatus
Definition ScsiPassThruExt.h:142
VOID * OutDataBuffer
Definition ScsiPassThruExt.h:102
UINT32 InTransferLength
Definition ScsiPassThruExt.h:117
UINT8 DataDirection
Definition ScsiPassThruExt.h:132
UINT8 HostAdapterStatus
Definition ScsiPassThruExt.h:137
Definition ScsiPassThruExt.h:378
EFI_EXT_SCSI_PASS_THRU_RESET_CHANNEL ResetChannel
Definition ScsiPassThruExt.h:387
EFI_EXT_SCSI_PASS_THRU_PASSTHRU PassThru
Definition ScsiPassThruExt.h:383
EFI_EXT_SCSI_PASS_THRU_BUILD_DEVICE_PATH BuildDevicePath
Definition ScsiPassThruExt.h:385
EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET GetNextTarget
Definition ScsiPassThruExt.h:389
EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET_LUN GetNextTargetLun
Definition ScsiPassThruExt.h:384
EFI_EXT_SCSI_PASS_THRU_RESET_TARGET_LUN ResetTargetLun
Definition ScsiPassThruExt.h:388
EFI_EXT_SCSI_PASS_THRU_GET_TARGET_LUN GetTargetLun
Definition ScsiPassThruExt.h:386
EFI_EXT_SCSI_PASS_THRU_MODE * Mode
Definition ScsiPassThruExt.h:382