]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/UefiScsiLib.h
Read-Capacity16 command added for SCSI drivers
[mirror_edk2.git] / MdePkg / Include / Library / UefiScsiLib.h
index 1ff091aaca51d8945a79d54caf616806af7f9dcd..7d27a2a0b0e1bb32b85fc0a63eb9d85b5a5956ed 100644 (file)
@@ -377,6 +377,53 @@ ScsiReadCapacityCommand (
   );\r
 \r
 \r
+/**\r
+  Function to submit read capacity16 command.\r
+\r
+  @param  ScsiIo            A pointer to SCSI IO protocol.\r
+  @param  Timeout           The length of timeout period.\r
+  @param  SenseData         A pointer to output sense data.\r
+  @param  SenseDataLength   The length of output sense data.\r
+  @param  HostAdapterStatus The status of Host Adapter.\r
+  @param  TargetStatus      The status of the target.\r
+  @param  DataBuffer        A pointer to a data buffer.\r
+  @param  DataLength        The length of data buffer.\r
+  @param  PMI               Partial medium indicator.\r
+\r
+  @retval  EFI_SUCCESS            The status of the unit is tested successfully.\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.\r
+  @retval  EFI_NOT_READY          The SCSI Request Packet could not be sent because \r
+                                  there are too many SCSI Command Packets already \r
+                                  queued.\r
+  @retval  EFI_DEVICE_ERROR       A device error occurred while attempting to send \r
+                                  the SCSI Request Packet.\r
+  @retval  EFI_INVALID_PARAMETER  The contents of CommandPacket are invalid.  \r
+  @retval  EFI_UNSUPPORTED        The command described by the SCSI Request Packet\r
+                                  is not supported by the SCSI initiator(i.e., SCSI \r
+                                  Host Controller).\r
+  @retval  EFI_TIMEOUT            A timeout occurred while waiting for the SCSI \r
+                                  Request Packet to execute.\r
+\r
+**/\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+ScsiReadCapacity16Command (\r
+  IN  EFI_SCSI_IO_PROTOCOL  *ScsiIo,\r
+  IN  UINT64                Timeout,\r
+  IN  VOID                  *SenseData,\r
+  IN OUT UINT8              *SenseDataLength,\r
+  OUT UINT8                 *HostAdapterStatus,\r
+  OUT UINT8                 *TargetStatus,\r
+  OUT VOID                  *DataBuffer,\r
+  IN OUT UINT32             *DataLength,\r
+  IN  BOOLEAN               PMI\r
+  );\r
+\r
+\r
 /**\r
   Execute Read(10) SCSI command on a specific SCSI target.\r
 \r