+/**\r
+ Submit Async Read(10) command.\r
+\r
+ @param ScsiDiskDevice The pointer of ScsiDiskDevice.\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 SectorCount The number of blocks to read.\r
+ @param BlkIo2Req The upstream BlockIo2 request.\r
+ @param Token The pointer to the token associated with the\r
+ non-blocking read request.\r
+\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a\r
+ lack of resources.\r
+ @return others Status returned by calling\r
+ ScsiRead10CommandEx().\r
+\r
+**/\r
+EFI_STATUS\r
+ScsiDiskAsyncRead10 (\r
+ IN SCSI_DISK_DEV *ScsiDiskDevice,\r
+ IN UINT64 Timeout,\r
+ OUT UINT8 *DataBuffer,\r
+ IN UINT32 DataLength,\r
+ IN UINT32 StartLba,\r
+ IN UINT32 SectorCount,\r
+ IN OUT SCSI_BLKIO2_REQUEST *BlkIo2Req,\r
+ IN EFI_BLOCK_IO2_TOKEN *Token\r
+ );\r
+\r
+/**\r
+ Submit Async Write(10) command.\r
+\r
+ @param ScsiDiskDevice The pointer of ScsiDiskDevice.\r
+ @param Timeout The time to complete the command.\r
+ @param DataBuffer The buffer contains the data to write.\r
+ @param DataLength The length of buffer.\r
+ @param StartLba The start logic block address.\r
+ @param SectorCount The number of blocks to write.\r
+ @param BlkIo2Req The upstream BlockIo2 request.\r
+ @param Token The pointer to the token associated with the\r
+ non-blocking read request.\r
+\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a\r
+ lack of resources.\r
+ @return others Status returned by calling\r
+ ScsiWrite10CommandEx().\r
+\r
+**/\r
+EFI_STATUS\r
+ScsiDiskAsyncWrite10 (\r
+ IN SCSI_DISK_DEV *ScsiDiskDevice,\r
+ IN UINT64 Timeout,\r
+ IN UINT8 *DataBuffer,\r
+ IN UINT32 DataLength,\r
+ IN UINT32 StartLba,\r
+ IN UINT32 SectorCount,\r
+ IN OUT SCSI_BLKIO2_REQUEST *BlkIo2Req,\r
+ IN EFI_BLOCK_IO2_TOKEN *Token\r
+ );\r
+\r
+/**\r
+ Submit Async Read(16) command.\r
+\r
+ @param ScsiDiskDevice The pointer of ScsiDiskDevice.\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 SectorCount The number of blocks to read.\r
+ @param BlkIo2Req The upstream BlockIo2 request.\r
+ @param Token The pointer to the token associated with the\r
+ non-blocking read request.\r
+\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a\r
+ lack of resources.\r
+ @return others Status returned by calling\r
+ ScsiRead16CommandEx().\r
+\r
+**/\r
+EFI_STATUS\r
+ScsiDiskAsyncRead16 (\r
+ IN SCSI_DISK_DEV *ScsiDiskDevice,\r
+ IN UINT64 Timeout,\r
+ OUT UINT8 *DataBuffer,\r
+ IN UINT32 DataLength,\r
+ IN UINT64 StartLba,\r
+ IN UINT32 SectorCount,\r
+ IN OUT SCSI_BLKIO2_REQUEST *BlkIo2Req,\r
+ IN EFI_BLOCK_IO2_TOKEN *Token\r
+ );\r
+\r
+/**\r
+ Submit Async Write(16) command.\r
+\r
+ @param ScsiDiskDevice The pointer of ScsiDiskDevice.\r
+ @param Timeout The time to complete the command.\r
+ @param DataBuffer The buffer contains the data to write.\r
+ @param DataLength The length of buffer.\r
+ @param StartLba The start logic block address.\r
+ @param SectorCount The number of blocks to write.\r
+ @param BlkIo2Req The upstream BlockIo2 request.\r
+ @param Token The pointer to the token associated with the\r
+ non-blocking read request.\r
+\r
+ @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a\r
+ lack of resources.\r
+ @return others Status returned by calling\r
+ ScsiWrite16CommandEx().\r
+\r
+**/\r
+EFI_STATUS\r
+ScsiDiskAsyncWrite16 (\r
+ IN SCSI_DISK_DEV *ScsiDiskDevice,\r
+ IN UINT64 Timeout,\r
+ IN UINT8 *DataBuffer,\r
+ IN UINT32 DataLength,\r
+ IN UINT64 StartLba,\r
+ IN UINT32 SectorCount,\r
+ IN OUT SCSI_BLKIO2_REQUEST *BlkIo2Req,\r
+ IN EFI_BLOCK_IO2_TOKEN *Token\r
+ );\r
+\r