XenevaOS
Loading...
Searching...
No Matches
ScsiPassThru.h
Go to the documentation of this file.
1
22#ifndef __SCSI_PASS_THROUGH_H__
23#define __SCSI_PASS_THROUGH_H__
24
25#define EFI_SCSI_PASS_THRU_PROTOCOL_GUID \
26 { \
27 0xa59e8fcf, 0xbda0, 0x43bb, {0x90, 0xb1, 0xd3, 0x73, 0x2e, 0xca, 0xa8, 0x77 } \
28 }
29
34
35#define EFI_SCSI_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
36#define EFI_SCSI_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
37#define EFI_SCSI_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
38
39//
40// SCSI Host Adapter Status definition
41//
42#define EFI_SCSI_STATUS_HOST_ADAPTER_OK 0x00
43#define EFI_SCSI_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09 // timeout when processing the command
44#define EFI_SCSI_STATUS_HOST_ADAPTER_TIMEOUT 0x0b // timeout when waiting for the command processing
45#define EFI_SCSI_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d // a message reject was received when processing command
46#define EFI_SCSI_STATUS_HOST_ADAPTER_BUS_RESET 0x0e // a bus reset was detected
47#define EFI_SCSI_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
48#define EFI_SCSI_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10 // the adapter failed in issuing request sense command
49#define EFI_SCSI_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11 // selection timeout
50#define EFI_SCSI_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12 // data overrun or data underrun
51#define EFI_SCSI_STATUS_HOST_ADAPTER_BUS_FREE 0x13 // Unexepected bus free
52#define EFI_SCSI_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 // Target bus phase sequence failure
53#define EFI_SCSI_STATUS_HOST_ADAPTER_OTHER 0x7f
54
55//
56// SCSI Target Status definition
57//
58#define EFI_SCSI_STATUS_TARGET_GOOD 0x00
59#define EFI_SCSI_STATUS_TARGET_CHECK_CONDITION 0x02 // check condition
60#define EFI_SCSI_STATUS_TARGET_CONDITION_MET 0x04 // condition met
61#define EFI_SCSI_STATUS_TARGET_BUSY 0x08 // busy
62#define EFI_SCSI_STATUS_TARGET_INTERMEDIATE 0x10 // intermediate
63#define EFI_SCSI_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 // intermediate-condition met
64#define EFI_SCSI_STATUS_TARGET_RESERVATION_CONFLICT 0x18 // reservation conflict
65#define EFI_SCSI_STATUS_TARGET_COMMOND_TERMINATED 0x22 // command terminated
66#define EFI_SCSI_STATUS_TARGET_QUEUE_FULL 0x28 // queue full
67
127
150
203typedef
207 IN UINT32 Target,
208 IN UINT64 Lun,
210 IN EFI_EVENT Event OPTIONAL
211 );
212
237typedef
241 IN OUT UINT32 *Target,
242 IN OUT UINT64 *Lun
243 );
244
272typedef
276 IN UINT32 Target,
277 IN UINT64 Lun,
278 IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
279 );
280
304typedef
308 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
309 OUT UINT32 *Target,
310 OUT UINT64 *Lun
311 );
312
328typedef
332 );
333
353typedef
357 IN UINT32 Target,
358 IN UINT64 Lun
359 );
360
380
382
383#endif
unsigned short CHAR16
Definition ProcessorBind.h:105
#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_PASS_THRU_RESET_TARGET)(IN EFI_SCSI_PASS_THRU_PROTOCOL *This, IN UINT32 Target, IN UINT64 Lun)
Definition ScsiPassThru.h:355
EFI_GUID gEfiScsiPassThruProtocolGuid
EFI_STATUS(EFIAPI * EFI_SCSI_PASS_THRU_GET_TARGET_LUN)(IN EFI_SCSI_PASS_THRU_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT UINT32 *Target, OUT UINT64 *Lun)
Definition ScsiPassThru.h:306
EFI_STATUS(EFIAPI * EFI_SCSI_PASS_THRU_PASSTHRU)(IN EFI_SCSI_PASS_THRU_PROTOCOL *This, IN UINT32 Target, IN UINT64 Lun, IN OUT EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet, IN EFI_EVENT Event OPTIONAL)
Definition ScsiPassThru.h:205
EFI_STATUS(EFIAPI * EFI_SCSI_PASS_THRU_BUILD_DEVICE_PATH)(IN EFI_SCSI_PASS_THRU_PROTOCOL *This, IN UINT32 Target, IN UINT64 Lun, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
Definition ScsiPassThru.h:274
EFI_STATUS(EFIAPI * EFI_SCSI_PASS_THRU_RESET_CHANNEL)(IN EFI_SCSI_PASS_THRU_PROTOCOL *This)
Definition ScsiPassThru.h:330
EFI_STATUS(EFIAPI * EFI_SCSI_PASS_THRU_GET_NEXT_DEVICE)(IN EFI_SCSI_PASS_THRU_PROTOCOL *This, IN OUT UINT32 *Target, IN OUT UINT64 *Lun)
Definition ScsiPassThru.h:239
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 ScsiPassThru.h:128
CHAR16 * ChannelName
Definition ScsiPassThru.h:136
UINT32 IoAlign
Definition ScsiPassThru.h:148
UINT32 AdapterId
Definition ScsiPassThru.h:140
UINT32 Attributes
Definition ScsiPassThru.h:144
CHAR16 * ControllerName
Definition ScsiPassThru.h:132
Definition ScsiPassThru.h:68
UINT32 TransferLength
Definition ScsiPassThru.h:99
UINT64 Timeout
Definition ScsiPassThru.h:77
UINT8 DataDirection
Definition ScsiPassThru.h:109
UINT8 CdbLength
Definition ScsiPassThru.h:104
VOID * SenseData
Definition ScsiPassThru.h:89
VOID * DataBuffer
Definition ScsiPassThru.h:84
UINT8 HostAdapterStatus
Definition ScsiPassThru.h:115
VOID * Cdb
Definition ScsiPassThru.h:94
UINT8 TargetStatus
Definition ScsiPassThru.h:120
UINT8 SenseDataLength
Definition ScsiPassThru.h:125
Definition Base.h:281
Definition ScsiPassThru.h:368
EFI_SCSI_PASS_THRU_PASSTHRU PassThru
Definition ScsiPassThru.h:373
EFI_SCSI_PASS_THRU_GET_TARGET_LUN GetTargetLun
Definition ScsiPassThru.h:376
EFI_SCSI_PASS_THRU_GET_NEXT_DEVICE GetNextDevice
Definition ScsiPassThru.h:374
EFI_SCSI_PASS_THRU_RESET_CHANNEL ResetChannel
Definition ScsiPassThru.h:377
EFI_SCSI_PASS_THRU_MODE * Mode
Definition ScsiPassThru.h:372
EFI_SCSI_PASS_THRU_RESET_TARGET ResetTarget
Definition ScsiPassThru.h:378
EFI_SCSI_PASS_THRU_BUILD_DEVICE_PATH BuildDevicePath
Definition ScsiPassThru.h:375