XenevaOS
Loading...
Searching...
No Matches
Mtftp4.h
Go to the documentation of this file.
1
18#ifndef __EFI_MTFTP4_PROTOCOL_H__
19#define __EFI_MTFTP4_PROTOCOL_H__
20
21#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID \
22 { \
23 0x2FE800BE, 0x8F01, 0x4aa6, {0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F } \
24 }
25
26#define EFI_MTFTP4_PROTOCOL_GUID \
27 { \
28 0x78247c57, 0x63db, 0x4708, {0x99, 0xc2, 0xa8, 0xb4, 0xa9, 0xa6, 0x1f, 0x6b } \
29 }
30
33
34//
35//MTFTP4 packet opcode definition
36//
37#define EFI_MTFTP4_OPCODE_RRQ 1
38#define EFI_MTFTP4_OPCODE_WRQ 2
39#define EFI_MTFTP4_OPCODE_DATA 3
40#define EFI_MTFTP4_OPCODE_ACK 4
41#define EFI_MTFTP4_OPCODE_ERROR 5
42#define EFI_MTFTP4_OPCODE_OACK 6
43#define EFI_MTFTP4_OPCODE_DIR 7
44#define EFI_MTFTP4_OPCODE_DATA8 8
45#define EFI_MTFTP4_OPCODE_ACK8 9
46
47//
48// MTFTP4 error code definition
49//
50#define EFI_MTFTP4_ERRORCODE_NOT_DEFINED 0
51#define EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND 1
52#define EFI_MTFTP4_ERRORCODE_ACCESS_VIOLATION 2
53#define EFI_MTFTP4_ERRORCODE_DISK_FULL 3
54#define EFI_MTFTP4_ERRORCODE_ILLEGAL_OPERATION 4
55#define EFI_MTFTP4_ERRORCODE_UNKNOWN_TRANSFER_ID 5
56#define EFI_MTFTP4_ERRORCODE_FILE_ALREADY_EXISTS 6
57#define EFI_MTFTP4_ERRORCODE_NO_SUCH_USER 7
58#define EFI_MTFTP4_ERRORCODE_REQUEST_DENIED 8
59
60//
61// MTFTP4 pacekt definitions
62//
63#pragma pack(1)
64
69
70typedef struct {
72 UINT8 Data[1];
74
80
81typedef struct {
83 UINT16 Block[1];
85
91
92typedef struct {
94 UINT64 Block[1];
96
97typedef struct {
100 UINT8 ErrorMessage[1];
102
141
142#pragma pack()
143
151
152
164
165
173
174
182
183//
184// Protocol interfaces definition
185//
186
205typedef
209 IN EFI_MTFTP4_TOKEN *Token,
210 IN UINT16 PacketLen,
211 IN EFI_MTFTP4_PACKET *Paket
212 );
213
228typedef
232 IN EFI_MTFTP4_TOKEN *Token
233 );
234
250typedef
254 IN EFI_MTFTP4_TOKEN *Token,
256 OUT VOID **Buffer
257 );
258
259
271typedef
275 OUT EFI_MTFTP4_MODE_DATA *ModeData
276 );
277
278
301typedef
305 IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL
306 );
307
308
353typedef
358 IN UINT8 *Filename,
359 IN UINT8 *ModeStr OPTIONAL,
360 IN UINT8 OptionCount,
361 IN EFI_MTFTP4_OPTION *OptionList,
362 OUT UINT32 *PacketLength,
364 );
365
388typedef
392 IN UINT32 PacketLen,
393 IN EFI_MTFTP4_PACKET *Packet,
394 OUT UINT32 *OptionCount,
395 OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL
396 );
397
398
422typedef
426 IN EFI_MTFTP4_TOKEN *Token
427 );
428
429
430
452typedef
456 IN EFI_MTFTP4_TOKEN *Token
457 );
458
459
482typedef
486 IN EFI_MTFTP4_TOKEN *Token
487 );
488
504typedef
508 );
509
525
588
591
592#endif
593
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
EFI_STATUS(EFIAPI * EFI_MTFTP4_CHECK_PACKET)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token, IN UINT16 PacketLen, IN EFI_MTFTP4_PACKET *Paket)
Definition Mtftp4.h:207
EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid
EFI_STATUS(EFIAPI * EFI_MTFTP4_TIMEOUT_CALLBACK)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
Definition Mtftp4.h:230
EFI_STATUS(EFIAPI * EFI_MTFTP4_READ_DIRECTORY)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
Definition Mtftp4.h:484
EFI_STATUS(EFIAPI * EFI_MTFTP4_PARSE_OPTIONS)(IN EFI_MTFTP4_PROTOCOL *This, IN UINT32 PacketLen, IN EFI_MTFTP4_PACKET *Packet, OUT UINT32 *OptionCount, OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL)
Definition Mtftp4.h:390
EFI_STATUS(EFIAPI * EFI_MTFTP4_READ_FILE)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
Definition Mtftp4.h:424
EFI_GUID gEfiMtftp4ProtocolGuid
EFI_STATUS(EFIAPI * EFI_MTFTP4_WRITE_FILE)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
Definition Mtftp4.h:454
EFI_STATUS(EFIAPI * EFI_MTFTP4_GET_MODE_DATA)(IN EFI_MTFTP4_PROTOCOL *This, OUT EFI_MTFTP4_MODE_DATA *ModeData)
Definition Mtftp4.h:273
EFI_STATUS(EFIAPI * EFI_MTFTP4_CONFIGURE)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL)
Definition Mtftp4.h:303
EFI_STATUS(EFIAPI * EFI_MTFTP4_POLL)(IN EFI_MTFTP4_PROTOCOL *This)
Definition Mtftp4.h:506
EFI_STATUS(EFIAPI * EFI_MTFTP4_GET_INFO)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_OVERRIDE_DATA *OverrideData OPTIONAL, IN UINT8 *Filename, IN UINT8 *ModeStr OPTIONAL, IN UINT8 OptionCount, IN EFI_MTFTP4_OPTION *OptionList, OUT UINT32 *PacketLength, OUT EFI_MTFTP4_PACKET **Packet OPTIONAL)
Definition Mtftp4.h:355
EFI_STATUS(EFIAPI * EFI_MTFTP4_PACKET_NEEDED)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token, IN OUT UINT16 *Length, OUT VOID **Buffer)
Definition Mtftp4.h:252
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
#define VOID
Definition acefi.h:190
ACPI_PHYSICAL_ADDRESS ACPI_SIZE Length
Definition acpixf.h:638
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition Mtftp4.h:92
UINT16 OpCode
Definition Mtftp4.h:93
Definition Mtftp4.h:81
UINT16 OpCode
Definition Mtftp4.h:82
Definition Mtftp4.h:153
EFI_IPv4_ADDRESS ServerIp
Definition Mtftp4.h:159
UINT16 LocalPort
Definition Mtftp4.h:157
EFI_IPv4_ADDRESS SubnetMask
Definition Mtftp4.h:156
EFI_IPv4_ADDRESS GatewayIp
Definition Mtftp4.h:158
UINT16 TryCount
Definition Mtftp4.h:161
EFI_IPv4_ADDRESS StationIp
Definition Mtftp4.h:155
UINT16 InitialServerPort
Definition Mtftp4.h:160
UINT16 TimeoutValue
Definition Mtftp4.h:162
BOOLEAN UseDefaultSetting
Definition Mtftp4.h:154
Definition Mtftp4.h:86
UINT64 Block
Definition Mtftp4.h:88
UINT16 OpCode
Definition Mtftp4.h:87
Definition Mtftp4.h:75
UINT16 Block
Definition Mtftp4.h:77
UINT16 OpCode
Definition Mtftp4.h:76
Definition Mtftp4.h:97
UINT16 OpCode
Definition Mtftp4.h:98
UINT16 ErrorCode
Definition Mtftp4.h:99
Definition Mtftp4.h:166
UINT8 UnsupportedOptionCount
Definition Mtftp4.h:170
UINT8 ** SupportedOptoins
Definition Mtftp4.h:169
UINT8 ** UnsupportedOptoins
Definition Mtftp4.h:171
EFI_MTFTP4_CONFIG_DATA ConfigData
Definition Mtftp4.h:167
UINT8 SupportedOptionCount
Definition Mtftp4.h:168
Definition Mtftp4.h:70
UINT16 OpCode
Definition Mtftp4.h:71
Definition Mtftp4.h:147
UINT8 * OptionStr
Definition Mtftp4.h:148
UINT8 * ValueStr
Definition Mtftp4.h:149
Definition Mtftp4.h:175
EFI_IPv4_ADDRESS ServerIp
Definition Mtftp4.h:177
UINT16 TryCount
Definition Mtftp4.h:179
UINT16 ServerPort
Definition Mtftp4.h:178
EFI_IPv4_ADDRESS GatewayIp
Definition Mtftp4.h:176
UINT16 TimeoutValue
Definition Mtftp4.h:180
Definition Mtftp4.h:65
UINT16 OpCode
Definition Mtftp4.h:66
Definition Base.h:281
Definition Base.h:291
Definition Mtftp4.h:515
EFI_MTFTP4_GET_MODE_DATA GetModeData
Definition Mtftp4.h:516
EFI_MTFTP4_CONFIGURE Configure
Definition Mtftp4.h:517
EFI_MTFTP4_PARSE_OPTIONS ParseOptions
Definition Mtftp4.h:519
EFI_MTFTP4_READ_FILE ReadFile
Definition Mtftp4.h:520
EFI_MTFTP4_READ_DIRECTORY ReadDirectory
Definition Mtftp4.h:522
EFI_MTFTP4_GET_INFO GetInfo
Definition Mtftp4.h:518
EFI_MTFTP4_WRITE_FILE WriteFile
Definition Mtftp4.h:521
EFI_MTFTP4_POLL Poll
Definition Mtftp4.h:523
Definition Mtftp4.h:526
EFI_MTFTP4_CHECK_PACKET CheckPacket
Definition Mtftp4.h:578
EFI_STATUS Status
Definition Mtftp4.h:531
UINT32 OptionCount
Definition Mtftp4.h:555
UINT64 BufferSize
Definition Mtftp4.h:563
UINT8 * ModeStr
Definition Mtftp4.h:551
EFI_MTFTP4_PACKET_NEEDED PacketNeeded
Definition Mtftp4.h:586
VOID * Context
Definition Mtftp4.h:574
VOID * Buffer
Definition Mtftp4.h:569
EFI_MTFTP4_TIMEOUT_CALLBACK TimeoutCallback
Definition Mtftp4.h:582
EFI_MTFTP4_OVERRIDE_DATA * OverrideData
Definition Mtftp4.h:543
EFI_EVENT Event
Definition Mtftp4.h:539
EFI_MTFTP4_OPTION * OptionList
Definition Mtftp4.h:559
UINT8 * Filename
Definition Mtftp4.h:547
Definition Mtftp4.h:103
EFI_MTFTP4_DATA8_HEADER Data8
Definition Mtftp4.h:131
EFI_MTFTP4_REQ_HEADER Rrq
Definition Mtftp4.h:111
EFI_MTFTP4_OACK_HEADER Oack
Definition Mtftp4.h:119
EFI_MTFTP4_ACK8_HEADER Ack8
Definition Mtftp4.h:135
EFI_MTFTP4_DATA_HEADER Data
Definition Mtftp4.h:123
UINT16 OpCode
Definition Mtftp4.h:107
EFI_MTFTP4_ACK_HEADER Ack
Definition Mtftp4.h:127
EFI_MTFTP4_REQ_HEADER Wrq
Definition Mtftp4.h:115
EFI_MTFTP4_ERROR_HEADER Error
Definition Mtftp4.h:139