scsidisk.h
来自「EFI BIOS是Intel提出的下一代的BIOS标准。这里上传的Edk源代码是」· C头文件 代码 · 共 777 行 · 第 1/2 页
H
777 行
;
EFI_STATUS
ScsiDiskInquiryDevice (
SCSI_DISK_DEV *ScsiDiskDevice,
BOOLEAN *NeedRetry
)
/*++
Routine Description:
Send out Inquiry command to Device
Arguments:
ScsiDiskDevice - The pointer of SCSI_DISK_DEV
NeedRetry - Indicates if needs try again when error happens
Returns:
EFI_DEVICE_ERROR - Indicates that error occurs
EFI_SUCCESS - Successfully to detect media
--*/
;
VOID
ParseInquiryData (
SCSI_DISK_DEV *ScsiDiskDevice
)
/*++
Routine Description:
Parse Inquiry data
Arguments:
ScsiDiskDevice - The pointer of SCSI_DISK_DEV
Returns:
NONE
--*/
;
EFI_STATUS
ScsiDiskReadSectors (
SCSI_DISK_DEV *ScsiDiskDevice,
VOID *Buffer,
EFI_LBA Lba,
UINTN NumberOfBlocks
)
/*++
Routine Description:
Read sector from SCSI Disk
Arguments:
ScsiDiskDevice - The poiniter of SCSI_DISK_DEV
Buffer - The buffer to fill in the read out data
Lba - Logic block address
NumberOfBlocks - The number of blocks to read
Returns:
EFI_DEVICE_ERROR
EFI_SUCCESS
--*/
;
EFI_STATUS
ScsiDiskWriteSectors (
SCSI_DISK_DEV *ScsiDiskDevice,
VOID *Buffer,
EFI_LBA Lba,
UINTN NumberOfBlocks
)
/*++
Routine Description:
Write SCSI Disk sectors
Arguments:
ScsiDiskDevice - The pointer of SCSI_DISK_DEV
Buffer - The data buffer to write sector
Lba - Logic block address
NumberOfBlocks - The number of blocks to write
Returns:
EFI_DEVICE_ERROR
EFI_SUCCESS
--*/
;
EFI_STATUS
ScsiDiskRead10 (
SCSI_DISK_DEV *ScsiDiskDevice,
BOOLEAN *NeedRetry,
EFI_SCSI_SENSE_DATA **SenseDataArray,
UINTN *NumberOfSenseKeys,
UINT64 Timeout,
UINT8 *DataBuffer,
UINT32 *DataLength,
UINT32 StartLba,
UINT32 SectorSize
)
/*++
Routine Description:
Sumbmit Read command
Arguments:
ScsiDiskDevice - The pointer of ScsiDiskDevice
NeedRetry - The pointer of flag indicates if needs retry if error happens
SenseDataArray - The pointer of an array of sense data
NumberOfSenseKeys - The number of sense key
Timeout - The time to complete the command
DataBuffer - The buffer to fill with the read out data
DataLength - The length of buffer
StartLba - The start logic block address
SectorSize - The size of sector
Returns:
EFI_STATUS
--*/
;
EFI_STATUS
ScsiDiskWrite10 (
SCSI_DISK_DEV *ScsiDiskDevice,
BOOLEAN *NeedRetry,
EFI_SCSI_SENSE_DATA **SenseDataArray,
UINTN *NumberOfSenseKeys,
UINT64 Timeout,
UINT8 *DataBuffer,
UINT32 *DataLength,
UINT32 StartLba,
UINT32 SectorSize
)
/*++
Routine Description:
Submit Write Command
Arguments:
ScsiDiskDevice - The pointer of ScsiDiskDevice
NeedRetry - The pointer of flag indicates if needs retry if error happens
SenseDataArray - The pointer of an array of sense data
NumberOfSenseKeys - The number of sense key
Timeout - The time to complete the command
DataBuffer - The buffer to fill with the read out data
DataLength - The length of buffer
StartLba - The start logic block address
SectorSize - The size of sector
Returns:
EFI_STATUS
--*/
;
VOID
GetMediaInfo (
SCSI_DISK_DEV *ScsiDiskDevice,
EFI_SCSI_DISK_CAPACITY_DATA *Capacity
)
/*++
Routine Description:
Get information from media read capacity command
Arguments:
ScsiDiskDevice - The pointer of SCSI_DISK_DEV
Capacity - The pointer of EFI_SCSI_DISK_CAPACITY_DATA
Returns:
NONE
--*/
;
BOOLEAN
ScsiDiskIsNoMedia (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts
)
/*++
Routine Description:
Check sense key to find if media presents
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
Returns:
BOOLEAN
--*/
;
BOOLEAN
ScsiDiskIsMediaError (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts
)
/*++
Routine Description:
Parse sense key
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
Returns:
BOOLEAN
--*/
;
BOOLEAN
ScsiDiskIsHardwareError (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts
)
/*++
Routine Description:
Check sense key to find if hardware error happens
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
Returns:
BOOLEAN
--*/
;
BOOLEAN
ScsiDiskIsMediaChange (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts
)
/*++
Routine Description:
Routine Description:
Check sense key to find if media has changed
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
Returns:
BOOLEAN
--*/
;
BOOLEAN
ScsiDiskIsResetBefore (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts
)
/*++
Routine Description:
Check sense key to find if reset happens
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
Returns:
BOOLEAN
--*/
;
BOOLEAN
ScsiDiskIsDriveReady (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts,
OUT BOOLEAN *NeedRetry
)
/*++
Routine Description:
Check sense key to find if the drive is ready
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
RetryLater - The flag means if need a retry
Returns:
BOOLEAN
--*/
;
BOOLEAN
ScsiDiskHaveSenseKey (
IN EFI_SCSI_SENSE_DATA *SenseData,
IN UINTN SenseCounts
)
/*++
Routine Description:
Check sense key to find if it has sense key
Arguments:
SenseData - The pointer of EFI_SCSI_SENSE_DATA
SenseCounts - The number of sense key
Returns:
BOOLEAN
--*/
;
VOID
ReleaseScsiDiskDeviceResources (
IN SCSI_DISK_DEV *ScsiDiskDevice
)
/*++
Routine Description:
Release resource about disk device
Arguments:
ScsiDiskDevice - The pointer of SCSI_DISK_DEV
Returns:
NONE
--*/
;
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?