]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/ScsiIo.h
clean up the un-suitable ';' location when declaring the functions.
[mirror_edk2.git] / MdePkg / Include / Protocol / ScsiIo.h
index 1e037059060d0825091b1c44dd26aa6a667b4023..93bbea6ba87a0d275ea7b31e72e9c5a05196f583 100644 (file)
@@ -1,7 +1,10 @@
 /** @file\r
   EFI_SCSI_IO_PROTOCOL as defined in UEFI 2.0.\r
+  This protocol is used by code, typically drivers, running in the EFI boot \r
+  services environment to access SCSI devices. In particular, functions for \r
+  managing devices on SCSI buses are defined here.\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
@@ -20,9 +23,9 @@
     0x932f4736, 0x2362, 0x4002, {0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \\r
   }\r
 \r
-//\r
-// Forward reference for pure ANSI compatability\r
-//\r
+///\r
+/// Forward reference for pure ANSI compatability\r
+///\r
 typedef struct _EFI_SCSI_IO_PROTOCOL EFI_SCSI_IO_PROTOCOL;\r
 \r
 //\r
@@ -90,11 +93,10 @@ typedef struct {
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE) (\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE)(\r
   IN  EFI_SCSI_IO_PROTOCOL            *This,\r
   OUT UINT8                           *DeviceType\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Retrieves the device location in the SCSI channel.\r
@@ -111,12 +113,11 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION) (\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION)(\r
   IN EFI_SCSI_IO_PROTOCOL           *This,\r
   IN OUT UINT8                      **Target,\r
   OUT UINT64                        *Lun\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Resets the SCSI Bus that the SCSI Controller is attached to.\r
@@ -133,10 +134,9 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_BUS) (\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_BUS)(\r
   IN EFI_SCSI_IO_PROTOCOL     *This\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Resets the SCSI Controller that the device handle specifies.\r
@@ -154,10 +154,9 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_DEVICE) (\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_DEVICE)(\r
   IN EFI_SCSI_IO_PROTOCOL     *This\r
-  )\r
-;\r
+  );\r
 \r
 \r
 /**\r
@@ -181,7 +180,7 @@ EFI_STATUS
                                     HostAdapterStatus, TargetStatus,\r
                                     SenseDataLength, and SenseData in that order\r
                                     for additional status information.\r
-  @retval EFI_WARN_BUFFER_TOO_SMALL The SCSI Request Packet was executed,\r
+  @retval EFI_BAD_BUFFER_SIZE       The SCSI Request Packet was executed,\r
                                     but the entire DataBuffer could not be transferred.\r
                                     The actual number of bytes transferred is returned\r
                                     in TransferLength. See HostAdapterStatus,\r
@@ -210,13 +209,40 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_COMMAND) (\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_COMMAND)(\r
   IN EFI_SCSI_IO_PROTOCOL                   *This,\r
   IN OUT  EFI_SCSI_IO_SCSI_REQUEST_PACKET   *Packet,\r
   IN EFI_EVENT                              Event  OPTIONAL\r
-  )\r
-;\r
+  );\r
+\r
+/**  \r
+  @par Protocol Description:\r
+  Provides services to manage and communicate with SCSI devices.\r
+\r
+  @param GetDeviceType\r
+  Retrieves the information of the device type which the SCSI device belongs to. \r
+\r
+  @param GetDeviceLocation\r
+  Retrieves the device location information in the SCSI bus. \r
 \r
+  @param ResetBus\r
+  Resets the entire SCSI bus the SCSI device attaches to. \r
+\r
+  @param ResetDevice\r
+  Resets the SCSI Device that is specified by the device handle the SCSI I/O \r
+  protocol attaches. \r
+\r
+  @param ExecuteScsiCommand\r
+  Sends a SCSI command to the SCSI device and waits for the execution completion \r
+  until an exit condition is met, or a timeout occurs. \r
+\r
+  @param IoAlign\r
+  Supplies the alignment requirement for any buffer used in a data transfer. \r
+  IoAlign values of 0 and 1 mean that the buffer can be placed anywhere in memory. \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
+**/\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