12#ifndef __EFI_MTFTP4_PROTOCOL_H__
13#define __EFI_MTFTP4_PROTOCOL_H__
15#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID \
17 0x2FE800BE, 0x8F01, 0x4aa6, {0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F } \
20#define EFI_MTFTP4_PROTOCOL_GUID \
22 0x78247c57, 0x63db, 0x4708, {0x99, 0xc2, 0xa8, 0xb4, 0xa9, 0xa6, 0x1f, 0x6b } \
31#define EFI_MTFTP4_OPCODE_RRQ 1
32#define EFI_MTFTP4_OPCODE_WRQ 2
33#define EFI_MTFTP4_OPCODE_DATA 3
34#define EFI_MTFTP4_OPCODE_ACK 4
35#define EFI_MTFTP4_OPCODE_ERROR 5
36#define EFI_MTFTP4_OPCODE_OACK 6
37#define EFI_MTFTP4_OPCODE_DIR 7
38#define EFI_MTFTP4_OPCODE_DATA8 8
39#define EFI_MTFTP4_OPCODE_ACK8 9
44#define EFI_MTFTP4_ERRORCODE_NOT_DEFINED 0
45#define EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND 1
46#define EFI_MTFTP4_ERRORCODE_ACCESS_VIOLATION 2
47#define EFI_MTFTP4_ERRORCODE_DISK_FULL 3
48#define EFI_MTFTP4_ERRORCODE_ILLEGAL_OPERATION 4
49#define EFI_MTFTP4_ERRORCODE_UNKNOWN_TRANSFER_ID 5
50#define EFI_MTFTP4_ERRORCODE_FILE_ALREADY_EXISTS 6
51#define EFI_MTFTP4_ERRORCODE_NO_SUCH_USER 7
52#define EFI_MTFTP4_ERRORCODE_REQUEST_DENIED 8
94 UINT8 ErrorMessage[1];
147 BOOLEAN UseDefaultSetting;
153 UINT16 InitialServerPort;
160 UINT8 SupportedOptionCount;
161 UINT8 **SupportedOptoins;
162 UINT8 UnsupportedOptionCount;
163 UINT8 **UnsupportedOptoins;
246 IN OUT UINT16 *Length,
348 IN UINT8 OptionCount,
350 OUT UINT32 *PacketLength,
382 OUT UINT32 *OptionCount,
573extern EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid;
574extern EFI_GUID gEfiMtftp4ProtocolGuid;
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)
EFI_STATUS(EFIAPI * EFI_MTFTP4_TIMEOUT_CALLBACK)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP4_READ_DIRECTORY)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
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)
EFI_STATUS(EFIAPI * EFI_MTFTP4_READ_FILE)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP4_WRITE_FILE)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP4_GET_MODE_DATA)(IN EFI_MTFTP4_PROTOCOL *This, OUT EFI_MTFTP4_MODE_DATA *ModeData)
EFI_STATUS(EFIAPI * EFI_MTFTP4_CONFIGURE)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MTFTP4_POLL)(IN EFI_MTFTP4_PROTOCOL *This)
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)
EFI_STATUS(EFIAPI * EFI_MTFTP4_PACKET_NEEDED)(IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token, IN OUT UINT16 *Length, OUT VOID **Buffer)
EFI_MTFTP4_CHECK_PACKET CheckPacket
EFI_MTFTP4_PACKET_NEEDED PacketNeeded
EFI_MTFTP4_TIMEOUT_CALLBACK TimeoutCallback
EFI_MTFTP4_OVERRIDE_DATA * OverrideData
EFI_MTFTP4_OPTION * OptionList
EFI_MTFTP4_DATA8_HEADER Data8
EFI_MTFTP4_REQ_HEADER Rrq
EFI_MTFTP4_OACK_HEADER Oack
EFI_MTFTP4_ACK8_HEADER Ack8
EFI_MTFTP4_DATA_HEADER Data
EFI_MTFTP4_ACK_HEADER Ack
EFI_MTFTP4_REQ_HEADER Wrq
EFI_MTFTP4_ERROR_HEADER Error