]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h
Clean up to update the reference of the these macros:
[mirror_edk2.git] / MdeModulePkg / Bus / Scsi / ScsiDiskDxe / ScsiDisk.h
index 971df28a2bd92ecb5441ac66688500d49f12feef..250927ffcd2b779d739e60e80ebed3f37d07ace7 100644 (file)
@@ -1,33 +1,42 @@
-/*++\r
+/** @file\r
+  Header file for SCSI Disk Driver.\r
 \r
-Copyright (c) 2004 - 2007, 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
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+Copyright (c) 2004 - 2008, Intel Corporation. <BR>\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
+http://opensource.org/licenses/bsd-license.php\r
 \r
-Module Name:\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-  ScsiDisk.h\r
+**/\r
 \r
-Abstract:\r
-  \r
-  Header file for SCSI Disk Driver.\r
+#ifndef _SCSI_DISK_H_\r
+#define _SCSI_DISK_H_\r
 \r
---*/\r
 \r
-#ifndef _SCSI_DISK_H\r
-#define _SCSI_DISK_H\r
+#include <Uefi.h>\r
 \r
 \r
-#include <IndustryStandard/scsi.h>\r
+#include <Protocol/ScsiIo.h>\r
+#include <Protocol/ComponentName.h>\r
+#include <Protocol/BlockIo.h>\r
+#include <Protocol/DriverBinding.h>\r
+#include <Protocol/ScsiPassThruExt.h>\r
 \r
-#define IsDeviceFixed(a)        (a)->FixedDevice ? 1 : 0\r
+#include <Library/DebugLib.h>\r
+#include <Library/UefiDriverEntryPoint.h>\r
+#include <Library/UefiLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/UefiScsiLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
 \r
-#define SCSI_DISK_DEV_SIGNATURE EFI_SIGNATURE_32 ('s', 'c', 'd', 'k')\r
+#include <IndustryStandard/Scsi.h>\r
+\r
+#define IS_DEVICE_FIXED(a)        (a)->FixedDevice ? 1 : 0\r
+\r
+#define SCSI_DISK_DEV_SIGNATURE SIGNATURE_32 ('s', 'c', 'd', 'k')\r
 \r
 typedef struct {\r
   UINT32                    Signature;\r
@@ -54,8 +63,9 @@ typedef struct {
 //\r
 // Global Variables\r
 //\r
-extern EFI_DRIVER_BINDING_PROTOCOL  gScsiDiskDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL  gScsiDiskComponentName;\r
+extern EFI_DRIVER_BINDING_PROTOCOL   gScsiDiskDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL   gScsiDiskComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL  gScsiDiskComponentName2;\r
 //\r
 // action code used in detect media process\r
 //\r
@@ -63,34 +73,130 @@ extern EFI_COMPONENT_NAME_PROTOCOL  gScsiDiskComponentName;
 #define ACTION_READ_CAPACITY        0x01\r
 #define ACTION_RETRY_COMMAND_LATER  0x02\r
 \r
+/**\r
+  Test to see if this driver supports ControllerHandle.\r
+\r
+  This service is called by the EFI boot service ConnectController(). In order\r
+  to make drivers as small as possible, there are a few calling restrictions for\r
+  this service. ConnectController() must follow these calling restrictions.\r
+  If any other agent wishes to call Supported() it must also follow these\r
+  calling restrictions.\r
+\r
+  @param  This                Protocol instance pointer.\r
+  @param  ControllerHandle    Handle of device to test\r
+  @param  RemainingDevicePath Optional parameter use to pick a specific child\r
+                              device to start.\r
+\r
+  @retval EFI_SUCCESS         This driver supports this device\r
+  @retval EFI_ALREADY_STARTED This driver is already running on this device\r
+  @retval other               This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskDriverBindingSupported (\r
   IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
   IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath   OPTIONAL\r
   );\r
 \r
+/**\r
+  Start this driver on ControllerHandle.\r
+\r
+  This service is called by the EFI boot service ConnectController(). In order\r
+  to make drivers as small as possible, there are a few calling restrictions for\r
+  this service. ConnectController() must follow these calling restrictions. If\r
+  any other agent wishes to call Start() it must also follow these calling\r
+  restrictions.\r
+\r
+  @param  This                 Protocol instance pointer.\r
+  @param  ControllerHandle     Handle of device to bind driver to\r
+  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
+                               device to start.\r
+\r
+  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
+  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
+  @retval other                This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskDriverBindingStart (\r
   IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
   IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
+  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath   OPTIONAL\r
   );\r
 \r
+/**\r
+  Stop this driver on ControllerHandle.\r
+\r
+  This service is called by the EFI boot service DisconnectController().\r
+  In order to make drivers as small as possible, there are a few calling\r
+  restrictions for this service. DisconnectController() must follow these\r
+  calling restrictions. If any other agent wishes to call Stop() it must\r
+  also follow these calling restrictions.\r
+  \r
+  @param  This              Protocol instance pointer.\r
+  @param  ControllerHandle  Handle of device to stop driver on\r
+  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
+                            children is zero stop the entire bus driver.\r
+  @param  ChildHandleBuffer List of Child Handles to Stop.\r
+\r
+  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
+  @retval other             This driver was not removed from this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskDriverBindingStop (\r
   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,\r
   IN  EFI_HANDLE                      Controller,\r
   IN  UINTN                           NumberOfChildren,\r
-  IN  EFI_HANDLE                      *ChildHandleBuffer\r
+  IN  EFI_HANDLE                      *ChildHandleBuffer   OPTIONAL\r
   );\r
 \r
 //\r
 // EFI Component Name Functions\r
 //\r
+/**\r
+  Retrieves a Unicode string that is the user readable name of the driver.\r
+\r
+  This function retrieves the user readable name of a driver in the form of a\r
+  Unicode string. If the driver specified by This has a user readable name in\r
+  the language specified by Language, then a pointer to the driver name is\r
+  returned in DriverName, and EFI_SUCCESS is returned. If the driver specified\r
+  by This does not support the language specified by Language,\r
+  then EFI_UNSUPPORTED is returned.\r
+\r
+  @param  This                  A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or\r
+                                EFI_COMPONENT_NAME_PROTOCOL instance.\r
+\r
+  @param  Language              A pointer to a Null-terminated ASCII string\r
+                                array indicating the language. This is the\r
+                                language of the driver name that the caller is\r
+                                requesting, and it must match one of the\r
+                                languages specified in SupportedLanguages. The\r
+                                number of languages supported by a driver is up\r
+                                to the driver writer. Language is specified\r
+                                in RFC 3066 or ISO 639-2 language code format.\r
+\r
+  @param  DriverName            A pointer to the Unicode string to return.\r
+                                This Unicode string is the name of the\r
+                                driver specified by This in the language\r
+                                specified by Language.\r
+\r
+  @retval EFI_SUCCESS           The Unicode string for the Driver specified by\r
+                                This and the language specified by Language was\r
+                                returned in DriverName.\r
+\r
+  @retval EFI_INVALID_PARAMETER Language is NULL.\r
+\r
+  @retval EFI_INVALID_PARAMETER DriverName is NULL.\r
+\r
+  @retval EFI_UNSUPPORTED       The driver specified by This does not support\r
+                                the language specified by Language.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskComponentNameGetDriverName (\r
@@ -99,6 +205,75 @@ ScsiDiskComponentNameGetDriverName (
   OUT CHAR16                       **DriverName\r
   );\r
 \r
+\r
+/**\r
+  Retrieves a Unicode string that is the user readable name of the controller\r
+  that is being managed by a driver.\r
+\r
+  This function retrieves the user readable name of the controller specified by\r
+  ControllerHandle and ChildHandle in the form of a Unicode string. If the\r
+  driver specified by This has a user readable name in the language specified by\r
+  Language, then a pointer to the controller name is returned in ControllerName,\r
+  and EFI_SUCCESS is returned.  If the driver specified by This is not currently\r
+  managing the controller specified by ControllerHandle and ChildHandle,\r
+  then EFI_UNSUPPORTED is returned.  If the driver specified by This does not\r
+  support the language specified by Language, then EFI_UNSUPPORTED is returned.\r
+\r
+  @param  This                  A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or\r
+                                EFI_COMPONENT_NAME_PROTOCOL instance.\r
+\r
+  @param  ControllerHandle      The handle of a controller that the driver\r
+                                specified by This is managing.  This handle\r
+                                specifies the controller whose name is to be\r
+                                returned.\r
+\r
+  @param  ChildHandle           The handle of the child controller to retrieve\r
+                                the name of.  This is an optional parameter that\r
+                                may be NULL.  It will be NULL for device\r
+                                drivers.  It will also be NULL for a bus drivers\r
+                                that wish to retrieve the name of the bus\r
+                                controller.  It will not be NULL for a bus\r
+                                driver that wishes to retrieve the name of a\r
+                                child controller.\r
+\r
+  @param  Language              A pointer to a Null-terminated ASCII string\r
+                                array indicating the language.  This is the\r
+                                language of the driver name that the caller is\r
+                                requesting, and it must match one of the\r
+                                languages specified in SupportedLanguages. The\r
+                                number of languages supported by a driver is up\r
+                                to the driver writer. Language is specified in\r
+                                RFC 3066 or ISO 639-2 language code format.\r
+\r
+  @param  ControllerName        A pointer to the Unicode string to return.\r
+                                This Unicode string is the name of the\r
+                                controller specified by ControllerHandle and\r
+                                ChildHandle in the language specified by\r
+                                Language from the point of view of the driver\r
+                                specified by This.\r
+\r
+  @retval EFI_SUCCESS           The Unicode string for the user readable name in\r
+                                the language specified by Language for the\r
+                                driver specified by This was returned in\r
+                                DriverName.\r
+\r
+  @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+\r
+  @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
+                                EFI_HANDLE.\r
+\r
+  @retval EFI_INVALID_PARAMETER Language is NULL.\r
+\r
+  @retval EFI_INVALID_PARAMETER ControllerName is NULL.\r
+\r
+  @retval EFI_UNSUPPORTED       The driver specified by This is not currently\r
+                                managing the controller specified by\r
+                                ControllerHandle and ChildHandle.\r
+\r
+  @retval EFI_UNSUPPORTED       The driver specified by This does not support\r
+                                the language specified by Language.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskComponentNameGetControllerName (\r
@@ -109,698 +284,500 @@ ScsiDiskComponentNameGetControllerName (
   OUT CHAR16                                          **ControllerName\r
   );\r
 \r
+/**\r
+  Reset SCSI Disk.\r
+\r
+\r
+  @param  This                 The pointer of EFI_BLOCK_IO_PROTOCOL\r
+  @param  ExtendedVerification The flag about if extend verificate\r
+\r
+  @retval EFI_SUCCESS          The device was reset.\r
+  @retval EFI_DEVICE_ERROR     The device is not functioning properly and could\r
+                               not be reset.\r
+  @return EFI_STATUS is retured from EFI_SCSI_IO_PROTOCOL.ResetDevice().\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskReset (\r
   IN  EFI_BLOCK_IO_PROTOCOL   *This,\r
   IN  BOOLEAN                 ExtendedVerification\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Reset SCSI Disk  \r
-\r
-Arguments:\r
+  );\r
 \r
-  This                  - The pointer of EFI_BLOCK_IO_PROTOCOL\r
-  ExtendedVerification  - The flag about if extend verificate\r
 \r
-Returns:\r
+/**\r
+  The function is to Read Block from SCSI Disk.\r
 \r
-  EFI_STATUS\r
+  @param  This       The pointer of EFI_BLOCK_IO_PROTOCOL.\r
+  @param  MediaId    The Id of Media detected\r
+  @param  Lba        The logic block address\r
+  @param  BufferSize The size of Buffer\r
+  @param  Buffer     The buffer to fill the read out data\r
 \r
---*/\r
-;\r
+  @retval EFI_SUCCESS           Successfully to read out block.\r
+  @retval EFI_DEVICE_ERROR      Fail to detect media.\r
+  @retval EFI_NO_MEDIA          Media is not present.\r
+  @retval EFI_MEDIA_CHANGED     Media has changed.\r
+  @retval EFI_BAD_BUFFER_SIZE   The Buffer was not a multiple of the block size of the device.\r
+  @retval EFI_INVALID_PARAMETER Invalid parameter passed in.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskReadBlocks (\r
   IN  EFI_BLOCK_IO_PROTOCOL   *This,\r
   IN  UINT32                  MediaId,\r
-  IN  EFI_LBA                 LBA,\r
+  IN  EFI_LBA                 Lba,\r
   IN  UINTN                   BufferSize,\r
   OUT VOID                    *Buffer\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  The function is to Read Block from SCSI Disk\r
-\r
-Arguments:\r
+  );\r
 \r
-  This        - The pointer of EFI_BLOCK_IO_PROTOCOL\r
-  MediaId     - The Id of Media detected\r
-  LBA         - The logic block address\r
-  BufferSize  - The size of Buffer\r
-  Buffer      - The buffer to fill the read out data\r
 \r
-Returns:\r
+/**\r
+  The function is to Write Block to SCSI Disk.\r
 \r
-  EFI_INVALID_PARAMETER - Invalid parameter passed in.\r
-  EFI_SUCCESS           - Successfully to read out block.\r
-  EFI_DEVICE_ERROR      - Fail to detect media.\r
-  EFI_NO_MEDIA          - Media is not present.\r
-  EFI_MEDIA_CHANGED     - Media has changed.\r
-  EFI_BAD_BUFFER_SIZE   - The buffer size is not multiple of BlockSize.\r
+  @param  This       The pointer of EFI_BLOCK_IO_PROTOCOL\r
+  @param  MediaId    The Id of Media detected\r
+  @param  Lba        The logic block address\r
+  @param  BufferSize The size of Buffer\r
+  @param  Buffer     The buffer to fill the read out data\r
 \r
---*/\r
-;\r
+  @retval EFI_SUCCESS           Successfully to read out block.\r
+  @retval EFI_WRITE_PROTECTED   The device can not be written to.\r
+  @retval EFI_DEVICE_ERROR      Fail to detect media.\r
+  @retval EFI_NO_MEDIA          Media is not present.\r
+  @retval EFI_MEDIA_CHNAGED     Media has changed.\r
+  @retval EFI_BAD_BUFFER_SIZE   The Buffer was not a multiple of the block size of the device.\r
+  @retval EFI_INVALID_PARAMETER Invalid parameter passed in.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskWriteBlocks (\r
   IN  EFI_BLOCK_IO_PROTOCOL   *This,\r
   IN  UINT32                  MediaId,\r
-  IN  EFI_LBA                 LBA,\r
+  IN  EFI_LBA                 Lba,\r
   IN  UINTN                   BufferSize,\r
   IN  VOID                    *Buffer\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  The function is to Write Block to SCSI Disk\r
+  );\r
 \r
-Arguments:\r
 \r
-  This        - The pointer of EFI_BLOCK_IO_PROTOCOL\r
-  MediaId     - The Id of Media detected\r
-  LBA         - The logic block address\r
-  BufferSize  - The size of Buffer\r
-  Buffer      - The buffer to fill the read out data\r
+/**\r
+  Flush Block to Disk.\r
 \r
-Returns:\r
+  EFI_SUCCESS is returned directly.\r
 \r
-  EFI_INVALID_PARAMETER - Invalid parameter passed in.\r
-  EFI_SUCCESS           - Successfully to read out block.\r
-  EFI_DEVICE_ERROR      - Fail to detect media.\r
-  EFI_NO_MEDIA          - Media is not present.\r
-  EFI_MEDIA_CHANGED     - Media has changed.\r
-  EFI_BAD_BUFFER_SIZE   - The buffer size is not multiple of BlockSize.\r
+  @param  This              The pointer of EFI_BLOCK_IO_PROTOCOL\r
 \r
---*/\r
-;\r
+  @retval EFI_SUCCESS       All outstanding data was written to the device\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 ScsiDiskFlushBlocks (\r
   IN  EFI_BLOCK_IO_PROTOCOL   *This\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Flush Block to Disk\r
-\r
-Arguments:\r
-\r
-  This  - The pointer of EFI_BLOCK_IO_PROTOCOL\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Dectect Device and read out capacity ,if error occurs, parse the sense key.\r
 \r
-  EFI_SUCCESS \r
+  @param  ScsiDiskDevice    The pointer of SCSI_DISK_DEV\r
+  @param  MustReadCapacity  The flag about reading device capacity\r
+  @param  MediaChange       The pointer of flag indicates if media has changed \r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR  Indicates that error occurs\r
+  @retval EFI_SUCCESS       Successfully to detect media\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskDetectMedia (\r
-  SCSI_DISK_DEV   *ScsiDiskDevice,\r
-  BOOLEAN         MustReadCap,\r
-  BOOLEAN         *MediaChange\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Dectect Device and read out capacity ,if error occurs, parse the sense key.\r
-\r
-Arguments:\r
+  IN   SCSI_DISK_DEV   *ScsiDiskDevice,\r
+  IN   BOOLEAN         MustReadCapacity,\r
+  OUT  BOOLEAN         *MediaChange\r
+  );\r
 \r
-  ScsiDiskDevice     - The pointer of SCSI_DISK_DEV\r
-  MustReadCapacity   - The flag about reading device capacity\r
-  MediaChange        - The pointer of flag indicates if media has changed \r
+/**\r
+  To test deivice.\r
 \r
-Returns:\r
+  When Test Unit Ready command succeeds, retrieve Sense Keys via Request Sense;\r
+  When Test Unit Ready command encounters any error caused by host adapter or\r
+  target, return error without retrieving Sense Keys.\r
 \r
-  EFI_DEVICE_ERROR   - Indicates that error occurs\r
-  EFI_SUCCESS        - Successfully to detect media\r
+  @param  ScsiDiskDevice     The pointer of SCSI_DISK_DEV\r
+  @param  NeedRetry          The pointer of flag indicates try again\r
+  @param  SenseDataArray     The pointer of an array of sense data\r
+  @param  NumberOfSenseKeys  The pointer of the number of sense data array\r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR   Indicates that error occurs\r
+  @retval EFI_SUCCESS        Successfully to test unit\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskTestUnitReady (\r
-  SCSI_DISK_DEV       *ScsiDiskDevice,\r
-  BOOLEAN             *NeedRetry,\r
-  EFI_SCSI_SENSE_DATA **SenseDataArray,\r
-  UINTN               *NumberOfSenseKeys\r
-  )\r
-/*++\r
+  IN  SCSI_DISK_DEV         *ScsiDiskDevice,\r
+  OUT BOOLEAN               *NeedRetry,\r
+  OUT EFI_SCSI_SENSE_DATA   **SenseDataArray,\r
+  OUT UINTN                 *NumberOfSenseKeys\r
+  );\r
 \r
-Routine Description:\r
 \r
-  When Test Unit Ready command succeeds, retrieve Sense Keys via Request Sense;\r
-  When Test Unit Ready command encounters any error caused by host adapter or\r
-  target, return error without retrieving Sense Keys.\r
-  \r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The pointer of SCSI_DISK_DEV\r
-  NeedRetry       - The pointer of flag indicates try again\r
-  SenseDataArray  - The pointer of an array of sense data\r
-  NumberOfSenseKeys - The pointer of the number of sense data array\r
-  \r
-Returns:\r
+/**\r
+  Parsing Sense Keys which got from request sense command.\r
 \r
-  EFI_DEVICE_ERROR   - Indicates that error occurs\r
-  EFI_SUCCESS        - Successfully to test unit\r
+  @param  ScsiDiskDevice     The pointer of SCSI_DISK_DEV\r
+  @param  SenseData          The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  NumberOfSenseKeys  The number of sense key  \r
+  @param  Action             The pointer of action which indicates what is need to do next\r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR   Indicates that error occurs\r
+  @retval EFI_SUCCESS        Successfully to complete the parsing\r
 \r
+**/\r
 EFI_STATUS\r
 DetectMediaParsingSenseKeys (\r
-  SCSI_DISK_DEV           *ScsiDiskDevice,\r
-  EFI_SCSI_SENSE_DATA     *SenseData,\r
-  UINTN                   NumberOfSenseKeys,\r
-  UINTN                   *Action\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parsing Sense Keys which got from request sense command.\r
-  \r
-Arguments:\r
+  OUT  SCSI_DISK_DEV           *ScsiDiskDevice,\r
+  IN   EFI_SCSI_SENSE_DATA     *SenseData,\r
+  IN   UINTN                   NumberOfSenseKeys,\r
+  OUT  UINTN                   *Action\r
+  );\r
 \r
-  ScsiDiskDevice    - The pointer of SCSI_DISK_DEV\r
-  SenseData         - The pointer of EFI_SCSI_SENSE_DATA\r
-  NumberOfSenseKeys - The number of sense key  \r
-  Action            - The pointer of action which indicates what is need to do next\r
 \r
-Returns:\r
+/**\r
+  Send read capacity command to device and get the device parameter.\r
 \r
-  EFI_DEVICE_ERROR   - Indicates that error occurs\r
-  EFI_SUCCESS        - Successfully to complete the parsing\r
+  @param  ScsiDiskDevice     The pointer of SCSI_DISK_DEV\r
+  @param  NeedRetry          The pointer of flag indicates if need a retry\r
+  @param  SenseDataArray     The pointer of an array of sense data\r
+  @param  NumberOfSenseKeys  The number of sense key\r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR   Indicates that error occurs\r
+  @retval EFI_SUCCESS        Successfully to read capacity\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskReadCapacity (\r
-  SCSI_DISK_DEV       *ScsiDiskDevice,\r
-  BOOLEAN             *NeedRetry,\r
-  EFI_SCSI_SENSE_DATA **SenseDataArray,\r
-  UINTN               *NumberOfSenseKeys\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Send read capacity command to device and get the device parameter\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice     -  The pointer of SCSI_DISK_DEV\r
-  NeedRetry          -  The pointer of flag indicates if need a retry\r
-  SenseDataArray     -  The pointer of an array of sense data\r
-  NumberOfSenseKeys  -  The number of sense key\r
+  IN  OUT  SCSI_DISK_DEV           *ScsiDiskDevice,\r
+      OUT  BOOLEAN                 *NeedRetry,\r
+      OUT  EFI_SCSI_SENSE_DATA     **SenseDataArray,\r
+      OUT  UINTN                   *NumberOfSenseKeys\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Check the HostAdapter status and re-interpret it in EFI_STATUS.\r
 \r
-  EFI_DEVICE_ERROR   - Indicates that error occurs\r
-  EFI_SUCCESS        - Successfully to read capacity\r
+  @param  HostAdapterStatus  Host Adapter status\r
 \r
---*/\r
-;\r
+  @retval  EFI_SUCCESS       Host adapter is OK.\r
+  @retval  EFI_TIMEOUT       Timeout.\r
+  @retval  EFI_NOT_READY     Adapter NOT ready.\r
+  @retval  EFI_DEVICE_ERROR  Adapter device error.\r
 \r
+**/\r
 EFI_STATUS\r
 CheckHostAdapterStatus (\r
-  UINT8   HostAdapterStatus\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check the HostAdapter status\r
-  \r
-Arguments:\r
+  IN UINT8   HostAdapterStatus\r
+  );\r
 \r
-  HostAdapterStatus - Host Adapter status\r
 \r
-Returns:\r
+/**\r
+  Check the target status and re-interpret it in EFI_STATUS.\r
 \r
-  EFI_SUCCESS       \r
-  EFI_TIMEOUT       \r
-  EFI_NOT_READY     \r
-  EFI_DEVICE_ERROR  \r
+  @param  TargetStatus  Target status\r
 \r
---*/\r
-;\r
+  @retval EFI_NOT_READY       Device is NOT ready.\r
+  @retval EFI_DEVICE_ERROR \r
+  @retval EFI_SUCCESS\r
 \r
+**/\r
 EFI_STATUS\r
 CheckTargetStatus (\r
-  UINT8   TargetStatus\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check the target status\r
-  \r
-Arguments:\r
+  IN  UINT8   TargetStatus\r
+  );\r
 \r
-  TargetStatus  - Target status\r
+/**\r
+  Retrieve all sense keys from the device.\r
 \r
-Returns:\r
+  When encountering error during the process, if retrieve sense keys before\r
+  error encounterred, it returns the sense keys with return status set to EFI_SUCCESS,\r
+  and NeedRetry set to FALSE; otherwize, return the proper return status.\r
 \r
-  EFI_NOT_READY  \r
-  EFI_DEVICE_ERROR \r
-  EFI_SUCCESS\r
+  @param  ScsiDiskDevice     The pointer of SCSI_DISK_DEV\r
+  @param  NeedRetry          The pointer of flag indicates if need a retry\r
+  @param  SenseDataArray     The pointer of an array of sense data\r
+  @param  NumberOfSenseKeys  The number of sense key\r
+  @param  AskResetIfError    The flag indicates if need reset when error occurs\r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR   Indicates that error occurs\r
+  @retval EFI_SUCCESS        Successfully to request sense key\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskRequestSenseKeys (\r
-  SCSI_DISK_DEV           *ScsiDiskDevice,\r
-  BOOLEAN                 *NeedRetry,\r
-  EFI_SCSI_SENSE_DATA     **SenseDataArray,\r
-  UINTN                   *NumberOfSenseKeys,\r
-  BOOLEAN                 AskResetIfError\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+  IN  OUT  SCSI_DISK_DEV           *ScsiDiskDevice,\r
+      OUT  BOOLEAN                 *NeedRetry,\r
+      OUT  EFI_SCSI_SENSE_DATA     **SenseDataArray,\r
+      OUT  UINTN                   *NumberOfSenseKeys,\r
+  IN       BOOLEAN                 AskResetIfError\r
+  );\r
 \r
-  Retrieve all sense keys from the device.\r
-  When encountering error during the process,\r
-  if retrieve sense keys before error encounterred,\r
-  return the sense keys with return status set to EFI_SUCCESS,\r
-  and NeedRetry set to FALSE; otherwize, return the proper return\r
-  status.\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice     -  The pointer of SCSI_DISK_DEV\r
-  NeedRetry          -  The pointer of flag indicates if need a retry\r
-  SenseDataArray     -  The pointer of an array of sense data\r
-  NumberOfSenseKeys  -  The number of sense key\r
-  AskResetIfError    -  The flag indicates if need reset when error occurs\r
-  \r
-Returns:\r
+/**\r
+  Send out Inquiry command to Device.\r
 \r
-  EFI_DEVICE_ERROR   - Indicates that error occurs\r
-  EFI_SUCCESS        - Successfully to request sense key\r
+  @param  ScsiDiskDevice  The pointer of SCSI_DISK_DEV\r
+  @param  NeedRetry       Indicates if needs try again when error happens\r
 \r
---*/\r
-;\r
+  @retval  EFI_DEVICE_ERROR  Indicates that error occurs\r
+  @retval  EFI_SUCCESS       Successfully to detect media\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskInquiryDevice (\r
-  SCSI_DISK_DEV   *ScsiDiskDevice,\r
-  BOOLEAN         *NeedRetry\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Send out Inquiry command to Device\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The pointer of SCSI_DISK_DEV\r
-  NeedRetry       - Indicates if needs try again when error happens\r
-\r
-Returns:\r
+  IN OUT  SCSI_DISK_DEV   *ScsiDiskDevice,\r
+     OUT  BOOLEAN         *NeedRetry\r
+  );\r
 \r
-  EFI_DEVICE_ERROR   - Indicates that error occurs\r
-  EFI_SUCCESS        - Successfully to detect media\r
+/**\r
+  Parse Inquiry data.\r
 \r
---*/\r
-;\r
+  @param  ScsiDiskDevice  The pointer of SCSI_DISK_DEV\r
 \r
+**/\r
 VOID\r
 ParseInquiryData (\r
-  SCSI_DISK_DEV   *ScsiDiskDevice\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parse Inquiry data\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The pointer of SCSI_DISK_DEV\r
+  IN OUT SCSI_DISK_DEV   *ScsiDiskDevice\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Read sector from SCSI Disk.\r
 \r
-  NONE\r
+  @param  ScsiDiskDevice  The poiniter of SCSI_DISK_DEV\r
+  @param  Buffer          The buffer to fill in the read out data\r
+  @param  Lba             Logic block address\r
+  @param  NumberOfBlocks  The number of blocks to read\r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR  Indicates a device error.\r
+  @retval EFI_SUCCESS       Operation is successful.\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskReadSectors (\r
-  SCSI_DISK_DEV     *ScsiDiskDevice,\r
-  VOID              *Buffer,\r
-  EFI_LBA           Lba,\r
-  UINTN             NumberOfBlocks\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Read sector from SCSI Disk\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The poiniter of SCSI_DISK_DEV\r
-  Buffer          - The buffer to fill in the read out data\r
-  Lba             - Logic block address\r
-  NumberOfBlocks  - The number of blocks to read\r
+  IN   SCSI_DISK_DEV     *ScsiDiskDevice,\r
+  OUT  VOID              *Buffer,\r
+  IN   EFI_LBA           Lba,\r
+  IN   UINTN             NumberOfBlocks\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Write sector to SCSI Disk.\r
 \r
-  EFI_DEVICE_ERROR\r
-  EFI_SUCCESS\r
+  @param  ScsiDiskDevice  The poiniter of SCSI_DISK_DEV\r
+  @param  Buffer          The buffer of data to be written into SCSI Disk\r
+  @param  Lba             Logic block address\r
+  @param  NumberOfBlocks  The number of blocks to read\r
 \r
---*/\r
-;\r
+  @retval EFI_DEVICE_ERROR  Indicates a device error.\r
+  @retval EFI_SUCCESS       Operation is successful.\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskWriteSectors (\r
-  SCSI_DISK_DEV     *ScsiDiskDevice,\r
-  VOID              *Buffer,\r
-  EFI_LBA           Lba,\r
-  UINTN             NumberOfBlocks\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Write SCSI Disk sectors\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The pointer of SCSI_DISK_DEV\r
-  Buffer          - The data buffer to write sector\r
-  Lba             - Logic block address\r
-  NumberOfBlocks  - The number of blocks to write\r
-\r
-Returns:\r
-\r
-  EFI_DEVICE_ERROR \r
-  EFI_SUCCESS\r
-\r
---*/\r
-;\r
+  IN  SCSI_DISK_DEV     *ScsiDiskDevice,\r
+  IN  VOID              *Buffer,\r
+  IN  EFI_LBA           Lba,\r
+  IN  UINTN             NumberOfBlocks\r
+  );\r
 \r
+/**\r
+  Sumbmit Read command.\r
+\r
+  @param  ScsiDiskDevice     The pointer of ScsiDiskDevice\r
+  @param  NeedRetry          The pointer of flag indicates if needs retry if error happens\r
+  @param  SenseDataArray     NOT used yet in this function\r
+  @param  NumberOfSenseKeys  The number of sense key\r
+  @param  Timeout            The time to complete the command\r
+  @param  DataBuffer         The buffer to fill with the read out data\r
+  @param  DataLength         The length of buffer\r
+  @param  StartLba           The start logic block address\r
+  @param  SectorSize         The size of sector\r
+\r
+  @return  EFI_STATUS is returned by calling ScsiRead10Command().\r
+**/\r
 EFI_STATUS\r
 ScsiDiskRead10 (\r
-  SCSI_DISK_DEV         *ScsiDiskDevice,\r
-  BOOLEAN               *NeedRetry,\r
-  EFI_SCSI_SENSE_DATA   **SenseDataArray,\r
-  UINTN                 *NumberOfSenseKeys,\r
-  UINT64                Timeout,\r
-  UINT8                 *DataBuffer,\r
-  UINT32                *DataLength,\r
-  UINT32                StartLba,\r
-  UINT32                SectorSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Sumbmit Read command \r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice    - The pointer of ScsiDiskDevice\r
-  NeedRetry         - The pointer of flag indicates if needs retry if error happens\r
-  SenseDataArray    - The pointer of an array of sense data\r
-  NumberOfSenseKeys - The number of sense key\r
-  Timeout           - The time to complete the command\r
-  DataBuffer        - The buffer to fill with the read out data\r
-  DataLength        - The length of buffer\r
-  StartLba          - The start logic block address\r
-  SectorSize        - The size of sector\r
+  IN     SCSI_DISK_DEV         *ScsiDiskDevice,\r
+     OUT BOOLEAN               *NeedRetry,\r
+     OUT EFI_SCSI_SENSE_DATA   **SenseDataArray,   OPTIONAL\r
+     OUT UINTN                 *NumberOfSenseKeys,\r
+  IN     UINT64                Timeout,\r
+     OUT UINT8                 *DataBuffer,\r
+  IN OUT UINT32                *DataLength,\r
+  IN     UINT32                StartLba,\r
+  IN     UINT32                SectorSize\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Submit Write Command.\r
 \r
-  EFI_STATUS\r
+  @param  ScsiDiskDevice     The pointer of ScsiDiskDevice\r
+  @param  NeedRetry          The pointer of flag indicates if needs retry if error happens\r
+  @param  SenseDataArray     NOT used yet in this function\r
+  @param  NumberOfSenseKeys  The number of sense key\r
+  @param  Timeout            The time to complete the command\r
+  @param  DataBuffer         The buffer to fill with the read out data\r
+  @param  DataLength         The length of buffer\r
+  @param  StartLba           The start logic block address\r
+  @param  SectorSize         The size of sector\r
 \r
---*/\r
-;\r
+  @return  EFI_STATUS is returned by calling ScsiWrite10Command().\r
 \r
+**/\r
 EFI_STATUS\r
 ScsiDiskWrite10 (\r
-  SCSI_DISK_DEV         *ScsiDiskDevice,\r
-  BOOLEAN               *NeedRetry,\r
-  EFI_SCSI_SENSE_DATA   **SenseDataArray,\r
-  UINTN                 *NumberOfSenseKeys,\r
-  UINT64                Timeout,\r
-  UINT8                 *DataBuffer,\r
-  UINT32                *DataLength,\r
-  UINT32                StartLba,\r
-  UINT32                SectorSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Submit Write Command\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice    - The pointer of ScsiDiskDevice\r
-  NeedRetry         - The pointer of flag indicates if needs retry if error happens\r
-  SenseDataArray    - The pointer of an array of sense data\r
-  NumberOfSenseKeys - The number of sense key\r
-  Timeout           - The time to complete the command\r
-  DataBuffer        - The buffer to fill with the read out data\r
-  DataLength        - The length of buffer\r
-  StartLba          - The start logic block address\r
-  SectorSize        - The size of sector\r
-\r
-Returns:\r
+  IN     SCSI_DISK_DEV         *ScsiDiskDevice,\r
+     OUT BOOLEAN               *NeedRetry,\r
+     OUT EFI_SCSI_SENSE_DATA   **SenseDataArray,   OPTIONAL\r
+     OUT UINTN                 *NumberOfSenseKeys,\r
+  IN     UINT64                Timeout,\r
+  IN     UINT8                 *DataBuffer,\r
+  IN OUT UINT32                *DataLength,\r
+  IN     UINT32                StartLba,\r
+  IN     UINT32                SectorSize\r
+  );\r
 \r
-  EFI_STATUS\r
+/**\r
+  Get information from media read capacity command.\r
 \r
---*/\r
-;\r
+  @param  ScsiDiskDevice  The pointer of SCSI_DISK_DEV\r
+  @param  Capacity        The pointer of EFI_SCSI_DISK_CAPACITY_DATA\r
 \r
+**/\r
 VOID\r
 GetMediaInfo (\r
-  SCSI_DISK_DEV                 *ScsiDiskDevice,\r
-  EFI_SCSI_DISK_CAPACITY_DATA   *Capacity\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get information from media read capacity command\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The pointer of SCSI_DISK_DEV\r
-  Capacity        - The pointer of EFI_SCSI_DISK_CAPACITY_DATA\r
-\r
-Returns:\r
+  IN  OUT  SCSI_DISK_DEV                 *ScsiDiskDevice,\r
+  IN       EFI_SCSI_DISK_CAPACITY_DATA   *Capacity\r
+  );\r
 \r
-  NONE\r
+/**\r
+  Check sense key to find if media presents.\r
 \r
---*/\r
-;\r
+  @param  SenseData   The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts The number of sense key\r
 \r
+  @retval TRUE    NOT any media\r
+  @retval FALSE   Media presents\r
+**/\r
 BOOLEAN\r
 ScsiDiskIsNoMedia (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check sense key to find if media presents\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Parse sense key.\r
 \r
-  BOOLEAN\r
+  @param  SenseData    The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts  The number of sense key\r
 \r
---*/\r
-;\r
+  @retval TRUE   Error\r
+  @retval FALSE  NOT error\r
 \r
+**/\r
 BOOLEAN\r
 ScsiDiskIsMediaError (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parse sense key\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Check sense key to find if hardware error happens.\r
 \r
-  BOOLEAN\r
+  @param  SenseData     The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts   The number of sense key\r
 \r
---*/\r
-;\r
+  @retval TRUE  Hardware error exits.\r
+  @retval FALSE NO error.\r
 \r
+**/\r
 BOOLEAN\r
 ScsiDiskIsHardwareError (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check sense key to find if hardware error happens\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
-\r
-Returns:\r
+  );\r
 \r
-  BOOLEAN\r
+/**\r
+  Check sense key to find if media has changed.\r
 \r
---*/\r
-;\r
+  @param  SenseData    The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts  The number of sense key\r
 \r
+  @retval TRUE   Media is changed.\r
+  @retval FALSE  Medit is NOT changed.\r
+**/\r
 BOOLEAN\r
 ScsiDiskIsMediaChange (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Routine Description:\r
-\r
- Check sense key to find if media has changed\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Check sense key to find if reset happens.\r
 \r
-  BOOLEAN\r
+  @param  SenseData    The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts  The number of sense key\r
 \r
---*/\r
-;\r
+  @retval TRUE  It is reset before.\r
+  @retval FALSE It is NOT reset before.\r
 \r
+**/\r
 BOOLEAN\r
 ScsiDiskIsResetBefore (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check sense key to find if reset happens\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Check sense key to find if the drive is ready.\r
 \r
-  BOOLEAN\r
+  @param  SenseData    The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts  The number of sense key\r
+  @param  RetryLater   The flag means if need a retry \r
 \r
---*/\r
-;\r
+  @retval TRUE  Drive is ready.\r
+  @retval FALSE Drive is NOT ready.\r
 \r
+**/\r
 BOOLEAN\r
 ScsiDiskIsDriveReady (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts,\r
-  OUT BOOLEAN               *NeedRetry\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check sense key to find if the drive is ready\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
-  RetryLater  - The flag means if need a retry \r
+  OUT BOOLEAN               *RetryLater\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Check sense key to find if it has sense key.\r
 \r
-  BOOLEAN\r
+  @param  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
+  @param  SenseCounts - The number of sense key\r
 \r
---*/\r
-;\r
+  @retval TRUE  It has sense key.\r
+  @retval FALSE It has NOT any sense key.\r
 \r
+**/\r
 BOOLEAN\r
 ScsiDiskHaveSenseKey (\r
   IN  EFI_SCSI_SENSE_DATA   *SenseData,\r
   IN  UINTN                 SenseCounts\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check sense key to find if it has sense key\r
-\r
-Arguments:\r
-\r
-  SenseData   - The pointer of EFI_SCSI_SENSE_DATA\r
-  SenseCounts - The number of sense key\r
-\r
-Returns:\r
+  );\r
 \r
-  BOOLEAN\r
+/**\r
+  Release resource about disk device.\r
 \r
---*/\r
-;\r
+  @param  ScsiDiskDevice  The pointer of SCSI_DISK_DEV\r
 \r
+**/\r
 VOID\r
 ReleaseScsiDiskDeviceResources (\r
   IN  SCSI_DISK_DEV   *ScsiDiskDevice\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Release resource about disk device\r
-\r
-Arguments:\r
-\r
-  ScsiDiskDevice  - The pointer of SCSI_DISK_DEV\r
-\r
-Returns:\r
-\r
-  NONE\r
-\r
---*/\r
-;\r
+  );\r
 \r
 #endif\r