XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
EFI_ATA_PASS_THRU_COMMAND_PACKET Struct Reference

#include <AtaPassThru.h>

Collaboration diagram for EFI_ATA_PASS_THRU_COMMAND_PACKET:
Collaboration graph
[legend]

Public Attributes

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
 

Member Data 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.

◆ 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.

◆ 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.

◆ 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.

◆ Length

EFI_ATA_PASS_THRU_LENGTH EFI_ATA_PASS_THRU_COMMAND_PACKET::Length

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

◆ 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.

◆ 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.

◆ 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.

◆ 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.


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