XenevaOS
Loading...
Searching...
No Matches
AtaPassThru.h
Go to the documentation of this file.
1
20#ifndef __ATA_PASS_THROUGH_H__
21#define __ATA_PASS_THROUGH_H__
22
23#define EFI_ATA_PASS_THRU_PROTOCOL_GUID \
24 { \
25 0x1d3de7f0, 0x807, 0x424f, {0xaa, 0x69, 0x11, 0xa5, 0x4e, 0x19, 0xa4, 0x6f } \
26 }
27
29
34
39#define EFI_ATA_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
44#define EFI_ATA_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
50#define EFI_ATA_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
51
68
85
87
88#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_HARDWARE_RESET 0x00
89#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_SOFTWARE_RESET 0x01
90#define EFI_ATA_PASS_THRU_PROTOCOL_ATA_NON_DATA 0x02
91#define EFI_ATA_PASS_THRU_PROTOCOL_PIO_DATA_IN 0x04
92#define EFI_ATA_PASS_THRU_PROTOCOL_PIO_DATA_OUT 0x05
93#define EFI_ATA_PASS_THRU_PROTOCOL_DMA 0x06
94#define EFI_ATA_PASS_THRU_PROTOCOL_DMA_QUEUED 0x07
95#define EFI_ATA_PASS_THRU_PROTOCOL_DEVICE_DIAGNOSTIC 0x08
96#define EFI_ATA_PASS_THRU_PROTOCOL_DEVICE_RESET 0x09
97#define EFI_ATA_PASS_THRU_PROTOCOL_UDMA_DATA_IN 0x0A
98#define EFI_ATA_PASS_THRU_PROTOCOL_UDMA_DATA_OUT 0x0B
99#define EFI_ATA_PASS_THRU_PROTOCOL_FPDMA 0x0C
100#define EFI_ATA_PASS_THRU_PROTOCOL_RETURN_RESPONSE 0xFF
101
103
104#define EFI_ATA_PASS_THRU_LENGTH_BYTES 0x80
105
106
107#define EFI_ATA_PASS_THRU_LENGTH_MASK 0x70
108#define EFI_ATA_PASS_THRU_LENGTH_NO_DATA_TRANSFER 0x00
109#define EFI_ATA_PASS_THRU_LENGTH_FEATURES 0x10
110#define EFI_ATA_PASS_THRU_LENGTH_SECTOR_COUNT 0x20
111#define EFI_ATA_PASS_THRU_LENGTH_TPSIU 0x30
112
113#define EFI_ATA_PASS_THRU_LENGTH_COUNT 0x0F
114
176
177
207typedef
211 IN UINT16 Port,
212 IN UINT16 PortMultiplierPort,
214 IN EFI_EVENT Event OPTIONAL
215 );
216
248typedef
252 IN OUT UINT16 *Port
253 );
254
297typedef
301 IN UINT16 Port,
302 IN OUT UINT16 *PortMultiplierPort
303 );
304
337typedef
341 IN UINT16 Port,
342 IN UINT16 PortMultiplierPort,
343 IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
344 );
345
382typedef
386 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
387 OUT UINT16 *Port,
388 OUT UINT16 *PortMultiplierPort
389 );
390
415typedef
419 IN UINT16 Port
420 );
421
453typedef
457 IN UINT16 Port,
458 IN UINT16 PortMultiplierPort
459 );
460
471
473
474#endif
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
struct _EFI_ATA_STATUS_BLOCK EFI_ATA_STATUS_BLOCK
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_RESET_DEVICE)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN UINT16 Port, IN UINT16 PortMultiplierPort)
Definition AtaPassThru.h:455
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_RESET_PORT)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN UINT16 Port)
Definition AtaPassThru.h:417
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_GET_DEVICE)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT UINT16 *Port, OUT UINT16 *PortMultiplierPort)
Definition AtaPassThru.h:384
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_GET_NEXT_PORT)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN OUT UINT16 *Port)
Definition AtaPassThru.h:250
struct _EFI_ATA_COMMAND_BLOCK EFI_ATA_COMMAND_BLOCK
UINT8 EFI_ATA_PASS_THRU_CMD_PROTOCOL
Definition AtaPassThru.h:86
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_GET_NEXT_DEVICE)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN UINT16 Port, IN OUT UINT16 *PortMultiplierPort)
Definition AtaPassThru.h:299
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_PASSTHRU)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN UINT16 Port, IN UINT16 PortMultiplierPort, IN OUT EFI_ATA_PASS_THRU_COMMAND_PACKET *Packet, IN EFI_EVENT Event OPTIONAL)
Definition AtaPassThru.h:209
EFI_GUID gEfiAtaPassThruProtocolGuid
UINT8 EFI_ATA_PASS_THRU_LENGTH
Definition AtaPassThru.h:102
EFI_STATUS(EFIAPI * EFI_ATA_PASS_THRU_BUILD_DEVICE_PATH)(IN EFI_ATA_PASS_THRU_PROTOCOL *This, IN UINT16 Port, IN UINT16 PortMultiplierPort, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
Definition AtaPassThru.h:339
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
#define VOID
Definition acefi.h:190
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition AtaPassThru.h:115
VOID * OutDataBuffer
Definition AtaPassThru.h:150
EFI_ATA_STATUS_BLOCK * Asb
Definition AtaPassThru.h:121
UINT32 OutTransferLength
Definition AtaPassThru.h:166
UINT32 InTransferLength
Definition AtaPassThru.h:158
EFI_ATA_PASS_THRU_LENGTH Length
Definition AtaPassThru.h:174
EFI_ATA_PASS_THRU_CMD_PROTOCOL Protocol
Definition AtaPassThru.h:170
VOID * InDataBuffer
Definition AtaPassThru.h:142
UINT64 Timeout
Definition AtaPassThru.h:134
EFI_ATA_COMMAND_BLOCK * Acb
Definition AtaPassThru.h:126
Definition AtaPassThru.h:30
UINT32 IoAlign
Definition AtaPassThru.h:32
UINT32 Attributes
Definition AtaPassThru.h:31
Definition DevicePath.h:49
Definition Base.h:281
Definition AtaPassThru.h:52
UINT8 AtaSectorCountExp
Definition AtaPassThru.h:65
UINT8 AtaSectorCount
Definition AtaPassThru.h:64
UINT8 AtaCommand
Definition AtaPassThru.h:54
UINT8 AtaFeatures
Definition AtaPassThru.h:55
UINT8 AtaDeviceHead
Definition AtaPassThru.h:59
UINT8 AtaCylinderHighExp
Definition AtaPassThru.h:62
UINT8 AtaCylinderLow
Definition AtaPassThru.h:57
UINT8 Reserved1[2]
Definition AtaPassThru.h:53
UINT8 AtaSectorNumber
Definition AtaPassThru.h:56
UINT8 AtaCylinderLowExp
Definition AtaPassThru.h:61
UINT8 AtaCylinderHigh
Definition AtaPassThru.h:58
UINT8 Reserved2[6]
Definition AtaPassThru.h:66
UINT8 AtaSectorNumberExp
Definition AtaPassThru.h:60
UINT8 AtaFeaturesExp
Definition AtaPassThru.h:63
Definition AtaPassThru.h:461
EFI_ATA_PASS_THRU_MODE * Mode
Definition AtaPassThru.h:462
EFI_ATA_PASS_THRU_GET_NEXT_PORT GetNextPort
Definition AtaPassThru.h:464
EFI_ATA_PASS_THRU_GET_NEXT_DEVICE GetNextDevice
Definition AtaPassThru.h:465
EFI_ATA_PASS_THRU_PASSTHRU PassThru
Definition AtaPassThru.h:463
EFI_ATA_PASS_THRU_GET_DEVICE GetDevice
Definition AtaPassThru.h:467
EFI_ATA_PASS_THRU_BUILD_DEVICE_PATH BuildDevicePath
Definition AtaPassThru.h:466
EFI_ATA_PASS_THRU_RESET_PORT ResetPort
Definition AtaPassThru.h:468
EFI_ATA_PASS_THRU_RESET_DEVICE ResetDevice
Definition AtaPassThru.h:469
Definition AtaPassThru.h:69
UINT8 AtaSectorNumber
Definition AtaPassThru.h:73
UINT8 AtaStatus
Definition AtaPassThru.h:71
UINT8 Reserved1[2]
Definition AtaPassThru.h:70
UINT8 AtaSectorCount
Definition AtaPassThru.h:81
UINT8 AtaError
Definition AtaPassThru.h:72
UINT8 AtaCylinderHighExp
Definition AtaPassThru.h:79
UINT8 AtaCylinderLowExp
Definition AtaPassThru.h:78
UINT8 AtaSectorCountExp
Definition AtaPassThru.h:82
UINT8 AtaSectorNumberExp
Definition AtaPassThru.h:77
UINT8 AtaCylinderHigh
Definition AtaPassThru.h:75
UINT8 AtaDeviceHead
Definition AtaPassThru.h:76
UINT8 Reserved3[6]
Definition AtaPassThru.h:83
UINT8 Reserved2
Definition AtaPassThru.h:80
UINT8 AtaCylinderLow
Definition AtaPassThru.h:74