TianoCore EDK2 master
Loading...
Searching...
No Matches
EFI_ATA_PASS_THRU_COMMAND_PACKET Struct Reference

Data Fields

EFI_ATA_STATUS_BLOCKAsb
 
EFI_ATA_COMMAND_BLOCKAcb
 
UINT64 Timeout
 
VOIDInDataBuffer
 
VOIDOutDataBuffer
 
UINT32 InTransferLength
 
UINT32 OutTransferLength
 
EFI_ATA_PASS_THRU_CMD_PROTOCOL Protocol
 
EFI_ATA_PASS_THRU_LENGTH Length
 

Detailed Description

Definition at line 108 of file AtaPassThru.h.

Field Documentation

◆ Acb

EFI_ATA_COMMAND_BLOCK* EFI_ATA_PASS_THRU_COMMAND_PACKET::Acb

A pointer to buffer that contains the Command Data Block to send to the ATA device specified by Port and PortMultiplierPort.

Definition at line 119 of file AtaPassThru.h.

◆ Asb

EFI_ATA_STATUS_BLOCK* EFI_ATA_PASS_THRU_COMMAND_PACKET::Asb

A pointer to the sense data that was generated by the execution of the ATA command. It must be aligned to the boundary specified in the IoAlign field in the EFI_ATA_PASS_THRU_MODE structure.

Definition at line 114 of file AtaPassThru.h.

◆ InDataBuffer

VOID* EFI_ATA_PASS_THRU_COMMAND_PACKET::InDataBuffer

A pointer to the data buffer to transfer between the ATA controller and the ATA device for read and bidirectional commands. For all write and non data commands where InTransferLength is 0 this field is optional and may be NULL. If this field is not NULL, then it must be aligned on the boundary specified by the IoAlign field in the EFI_ATA_PASS_THRU_MODE structure.

Definition at line 135 of file AtaPassThru.h.

◆ InTransferLength

UINT32 EFI_ATA_PASS_THRU_COMMAND_PACKET::InTransferLength

On input, the size, in bytes, of InDataBuffer. On output, the number of bytes transferred between the ATA controller and the ATA device. If InTransferLength is larger than the ATA controller can handle, no data will be transferred, InTransferLength will be updated to contain the number of bytes that the ATA controller is able to transfer, and EFI_BAD_BUFFER_SIZE will be returned.

Definition at line 151 of file AtaPassThru.h.

◆ Length

EFI_ATA_PASS_THRU_LENGTH EFI_ATA_PASS_THRU_COMMAND_PACKET::Length

Specifies the way in which the ATA command length is encoded.

Definition at line 167 of file AtaPassThru.h.

◆ OutDataBuffer

VOID* EFI_ATA_PASS_THRU_COMMAND_PACKET::OutDataBuffer

A pointer to the data buffer to transfer between the ATA controller and the ATA device for write or bidirectional commands. For all read and non data commands where OutTransferLength is 0 this field is optional and may be NULL. If this field is not NULL, then it must be aligned on the boundary specified by the IoAlign field in the EFI_ATA_PASS_THRU_MODE structure.

Definition at line 143 of file AtaPassThru.h.

◆ OutTransferLength

UINT32 EFI_ATA_PASS_THRU_COMMAND_PACKET::OutTransferLength

On Input, the size, in bytes of OutDataBuffer. On Output, the Number of bytes transferred between ATA Controller and the ATA device. If OutTransferLength is larger than the ATA controller can handle, no data will be transferred, OutTransferLength will be updated to contain the number of bytes that the ATA controller is able to transfer, and EFI_BAD_BUFFER_SIZE will be returned.

Definition at line 159 of file AtaPassThru.h.

◆ Protocol

EFI_ATA_PASS_THRU_CMD_PROTOCOL EFI_ATA_PASS_THRU_COMMAND_PACKET::Protocol

Specifies the protocol used when the ATA device executes the command.

Definition at line 163 of file AtaPassThru.h.

◆ Timeout

UINT64 EFI_ATA_PASS_THRU_COMMAND_PACKET::Timeout

The timeout, in 100 ns units, to use for the execution of this ATA command. A Timeout value of 0 means that this function will wait indefinitely for the ATA command to execute. If Timeout is greater than zero, then this function will return EFI_TIMEOUT if the time required to execute the ATA command is greater than Timeout.

Definition at line 127 of file AtaPassThru.h.


The documentation for this struct was generated from the following file: