//\r
// SCSI Device type information, defined in the SCSI Primary Commands standard (e.g., SPC-4)\r
//\r
-#define EFI_SCSI_IO_TYPE_DISK 0x00 ///< Disk device\r
-#define EFI_SCSI_IO_TYPE_TAPE 0x01 ///< Tape device\r
-#define EFI_SCSI_IO_TYPE_PRINTER 0x02 ///< Printer\r
-#define EFI_SCSI_IO_TYPE_PROCESSOR 0x03 ///< Processor\r
-#define EFI_SCSI_IO_TYPE_WORM 0x04 ///< Write-once read-multiple\r
-#define EFI_SCSI_IO_TYPE_CDROM 0x05 ///< CD or DVD device\r
-#define EFI_SCSI_IO_TYPE_SCANNER 0x06 ///< Scanner device\r
-#define EFI_SCSI_IO_TYPE_OPTICAL 0x07 ///< Optical memory device\r
-#define EFI_SCSI_IO_TYPE_MEDIUMCHANGER 0x08 ///< Medium Changer device\r
-#define EFI_SCSI_IO_TYPE_COMMUNICATION 0x09 ///< Communications device\r
-#define MFI_SCSI_IO_TYPE_A 0x0A ///< Obsolete\r
-#define MFI_SCSI_IO_TYPE_B 0x0B ///< Obsolete\r
-#define MFI_SCSI_IO_TYPE_RAID 0x0C ///< Storage array controller device (e.g., RAID)\r
-#define MFI_SCSI_IO_TYPE_SES 0x0D ///< Enclosure services device\r
-#define MFI_SCSI_IO_TYPE_RBC 0x0E ///< Simplified direct-access device (e.g., magnetic disk)\r
-#define MFI_SCSI_IO_TYPE_OCRW 0x0F ///< Optical card reader/writer device\r
-#define MFI_SCSI_IO_TYPE_BRIDGE 0x10 ///< Bridge Controller Commands\r
-#define MFI_SCSI_IO_TYPE_OSD 0x11 ///< Object-based Storage Device\r
-#define EFI_SCSI_IO_TYPE_RESERVED_LOW 0x12 ///< Reserved (low)\r
-#define EFI_SCSI_IO_TYPE_RESERVED_HIGH 0x1E ///< Reserved (high)\r
-#define EFI_SCSI_IO_TYPE_UNKNOWN 0x1F ///< Unknown no device type\r
+#define EFI_SCSI_IO_TYPE_DISK 0x00 ///< Disk device\r
+#define EFI_SCSI_IO_TYPE_TAPE 0x01 ///< Tape device\r
+#define EFI_SCSI_IO_TYPE_PRINTER 0x02 ///< Printer\r
+#define EFI_SCSI_IO_TYPE_PROCESSOR 0x03 ///< Processor\r
+#define EFI_SCSI_IO_TYPE_WORM 0x04 ///< Write-once read-multiple\r
+#define EFI_SCSI_IO_TYPE_CDROM 0x05 ///< CD or DVD device\r
+#define EFI_SCSI_IO_TYPE_SCANNER 0x06 ///< Scanner device\r
+#define EFI_SCSI_IO_TYPE_OPTICAL 0x07 ///< Optical memory device\r
+#define EFI_SCSI_IO_TYPE_MEDIUMCHANGER 0x08 ///< Medium Changer device\r
+#define EFI_SCSI_IO_TYPE_COMMUNICATION 0x09 ///< Communications device\r
+#define MFI_SCSI_IO_TYPE_A 0x0A ///< Obsolete\r
+#define MFI_SCSI_IO_TYPE_B 0x0B ///< Obsolete\r
+#define MFI_SCSI_IO_TYPE_RAID 0x0C ///< Storage array controller device (e.g., RAID)\r
+#define MFI_SCSI_IO_TYPE_SES 0x0D ///< Enclosure services device\r
+#define MFI_SCSI_IO_TYPE_RBC 0x0E ///< Simplified direct-access device (e.g., magnetic disk)\r
+#define MFI_SCSI_IO_TYPE_OCRW 0x0F ///< Optical card reader/writer device\r
+#define MFI_SCSI_IO_TYPE_BRIDGE 0x10 ///< Bridge Controller Commands\r
+#define MFI_SCSI_IO_TYPE_OSD 0x11 ///< Object-based Storage Device\r
+#define EFI_SCSI_IO_TYPE_RESERVED_LOW 0x12 ///< Reserved (low)\r
+#define EFI_SCSI_IO_TYPE_RESERVED_HIGH 0x1E ///< Reserved (high)\r
+#define EFI_SCSI_IO_TYPE_UNKNOWN 0x1F ///< Unknown no device type\r
\r
//\r
// SCSI Data Direction definition\r
//\r
-#define EFI_SCSI_IO_DATA_DIRECTION_READ 0\r
-#define EFI_SCSI_IO_DATA_DIRECTION_WRITE 1\r
-#define EFI_SCSI_IO_DATA_DIRECTION_BIDIRECTIONAL 2\r
+#define EFI_SCSI_IO_DATA_DIRECTION_READ 0\r
+#define EFI_SCSI_IO_DATA_DIRECTION_WRITE 1\r
+#define EFI_SCSI_IO_DATA_DIRECTION_BIDIRECTIONAL 2\r
\r
//\r
// SCSI Host Adapter Status definition\r
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 ///< Target bus phase sequence failure\r
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f\r
\r
-\r
//\r
// SCSI Target Status definition\r
//\r
-#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00\r
-#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 ///< check condition\r
-#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 ///< condition met\r
-#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 ///< busy\r
-#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 ///< intermediate\r
-#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 ///< intermediate-condition met\r
-#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 ///< reservation conflict\r
-#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 ///< command terminated\r
-#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 ///< queue full\r
+#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00\r
+#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 ///< check condition\r
+#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 ///< condition met\r
+#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 ///< busy\r
+#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 ///< intermediate\r
+#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 ///< intermediate-condition met\r
+#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 ///< reservation conflict\r
+#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 ///< command terminated\r
+#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 ///< queue full\r
\r
typedef struct {\r
///\r
/// EFI_TIMEOUT if the time required to execute the SCSI Request\r
/// Packet is greater than Timeout.\r
///\r
- UINT64 Timeout;\r
+ UINT64 Timeout;\r
///\r
/// A pointer to the data buffer to transfer between the SCSI\r
/// controller and the SCSI device for SCSI READ command\r
///\r
- VOID *InDataBuffer;\r
+ VOID *InDataBuffer;\r
///\r
/// A pointer to the data buffer to transfer between the SCSI\r
/// controller and the SCSI device for SCSI WRITE command.\r
///\r
- VOID *OutDataBuffer;\r
+ VOID *OutDataBuffer;\r
///\r
/// A pointer to the sense data that was generated by the execution of\r
/// the SCSI Request Packet.\r
///\r
- VOID *SenseData;\r
+ VOID *SenseData;\r
///\r
/// A pointer to buffer that contains the Command Data Block to\r
/// send to the SCSI device.\r
///\r
- VOID *Cdb;\r
+ VOID *Cdb;\r
///\r
/// On Input, the size, in bytes, of InDataBuffer. On output, the\r
/// number of bytes transferred between the SCSI controller and the SCSI device.\r
///\r
- UINT32 InTransferLength;\r
+ UINT32 InTransferLength;\r
///\r
/// On Input, the size, in bytes of OutDataBuffer. On Output, the\r
/// Number of bytes transferred between SCSI Controller and the SCSI device.\r
///\r
- UINT32 OutTransferLength;\r
+ UINT32 OutTransferLength;\r
///\r
/// The length, in bytes, of the buffer Cdb. The standard values are\r
/// 6, 10, 12, and 16, but other values are possible if a variable length CDB is used.\r
///\r
- UINT8 CdbLength;\r
+ UINT8 CdbLength;\r
///\r
/// The direction of the data transfer. 0 for reads, 1 for writes. A\r
/// value of 2 is Reserved for Bi-Directional SCSI commands.\r
///\r
- UINT8 DataDirection;\r
+ UINT8 DataDirection;\r
///\r
/// The status of the SCSI Host Controller that produces the SCSI\r
/// bus where the SCSI device attached when the SCSI Request\r
/// Packet was executed on the SCSI Controller.\r
///\r
- UINT8 HostAdapterStatus;\r
+ UINT8 HostAdapterStatus;\r
///\r
/// The status returned by the SCSI device when the SCSI Request\r
/// Packet was executed.\r
///\r
- UINT8 TargetStatus;\r
+ UINT8 TargetStatus;\r
///\r
/// On input, the length in bytes of the SenseData buffer. On\r
/// output, the number of bytes written to the SenseData buffer.\r
///\r
- UINT8 SenseDataLength;\r
+ UINT8 SenseDataLength;\r
} EFI_SCSI_IO_SCSI_REQUEST_PACKET;\r
\r
/**\r
IN EFI_SCSI_IO_PROTOCOL *This\r
);\r
\r
-\r
/**\r
Sends a SCSI Request Packet to the SCSI Controller for execution.\r
\r
/// Provides services to manage and communicate with SCSI devices.\r
///\r
struct _EFI_SCSI_IO_PROTOCOL {\r
- EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType;\r
- EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation;\r
- EFI_SCSI_IO_PROTOCOL_RESET_BUS ResetBus;\r
- EFI_SCSI_IO_PROTOCOL_RESET_DEVICE ResetDevice;\r
- EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_COMMAND ExecuteScsiCommand;\r
+ EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType;\r
+ EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation;\r
+ EFI_SCSI_IO_PROTOCOL_RESET_BUS ResetBus;\r
+ EFI_SCSI_IO_PROTOCOL_RESET_DEVICE ResetDevice;\r
+ EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_COMMAND ExecuteScsiCommand;\r
\r
///\r
/// Supplies the alignment requirement for any buffer used in a data transfer.\r
/// Otherwise, IoAlign must be a power of 2, and the requirement is that the\r
/// start address of a buffer must be evenly divisible by IoAlign with no remainder.\r
///\r
- UINT32 IoAlign;\r
+ UINT32 IoAlign;\r
};\r
\r
-extern EFI_GUID gEfiScsiIoProtocolGuid;\r
+extern EFI_GUID gEfiScsiIoProtocolGuid;\r
\r
#endif\r