/** @file\r
EFI_EXT_SCSI_PASS_THRU_PROTOCOL as defined in UEFI 2.0.\r
+ This protocol provides services that allow SCSI Pass Thru commands \r
+ to be sent to SCSI devices attached to a SCSI channel.\r
\r
- Copyright (c) 2006, Intel Corporation \r
+ Copyright (c) 2006 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_PASSTHRU) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_PASSTHRU)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
IN UINT8 *Target,\r
IN UINT64 Lun,\r
IN OUT EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *Packet,\r
IN EFI_EVENT Event OPTIONAL\r
- )\r
-; \r
+ ); \r
\r
/**\r
Used to retrieve the list of legal Target IDs and LUNs for SCSI devices on a SCSI channel. These \r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET_LUN) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET_LUN)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
IN OUT UINT8 **Target,\r
IN OUT UINT64 *Lun\r
- )\r
-; \r
+ ); \r
\r
/**\r
Used to allocate and build a device path node for a SCSI device on a SCSI channel.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_BUILD_DEVICE_PATH) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_BUILD_DEVICE_PATH)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
IN UINT8 *Target,\r
IN UINT64 Lun,\r
IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath\r
- )\r
-; \r
+ ); \r
\r
/**\r
Used to translate a device path node to a Target ID and LUN.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_GET_TARGET_LUN) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_GET_TARGET_LUN)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
OUT UINT8 **Target,\r
OUT UINT64 *Lun\r
- )\r
-; \r
+ ); \r
\r
/**\r
Resets a SCSI channel. This operation resets all the SCSI devices connected to the SCSI channel.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_RESET_CHANNEL) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_RESET_CHANNEL)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This\r
- )\r
-; \r
+ ); \r
\r
/**\r
Resets a SCSI logical unit that is connected to a SCSI channel.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_RESET_TARGET_LUN) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_RESET_TARGET_LUN)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
IN UINT8 *Target,\r
IN UINT64 Lun\r
- )\r
-; \r
+ ); \r
\r
/**\r
Used to retrieve the list of legal Target IDs for SCSI devices on a SCSI channel. These can either \r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET) (\r
+(EFIAPI *EFI_EXT_SCSI_PASS_THRU_GET_NEXT_TARGET)(\r
IN EFI_EXT_SCSI_PASS_THRU_PROTOCOL *This,\r
IN OUT UINT8 **Target\r
- )\r
-; \r
- \r
+ ); \r
+\r
+/** \r
+ @par Protocol Description:\r
+ The EFI_EXT_SCSI_PASS_THRU_PROTOCOL provides information about a SCSI channel \r
+ and the ability to send SCI Request Packets to any SCSI device attached to \r
+ that SCSI channel. The information includes the Target ID of the host controller \r
+ on the SCSI channel and the attributes of the SCSI channel.\r
+\r
+ @param Mode \r
+ A pointer to the EFI_EXT_SCSI_PASS_THRU_MODE data for this SCSI channel. \r
+\r
+ @param PassThru \r
+ Sends a SCSI Request Packet to a SCSI device that is Connected to the SCSI channel. \r
+\r
+ @param GetNextTargetLun \r
+ Retrieves the list of legal Target IDs and LUNs for the SCSI devices on a SCSI channel. \r
+\r
+ @param BuildDevicePath \r
+ Allocates and builds a device path node for a SCSI Device on a SCSI channel. \r
+\r
+ @param GetTargetLun\r
+ Translates a device path node to a Target ID and LUN. \r
+\r
+ @param ResetChannel\r
+ Resets the SCSI channel. This operation resets all the SCSI devices connected to the SCSI channel. \r
+\r
+ @param ResetTargetLun\r
+ Resets a SCSI device that is connected to the SCSI channel. \r
+\r
+ @param GetNextTartget \r
+ Retrieves the list of legal Target IDs for the SCSI devices on a SCSI channel. \r
+**/ \r
struct _EFI_EXT_SCSI_PASS_THRU_PROTOCOL {\r
EFI_EXT_SCSI_PASS_THRU_MODE *Mode;\r
EFI_EXT_SCSI_PASS_THRU_PASSTHRU PassThru;\r