16#ifndef __EFI_MTFTP6_PROTOCOL_H__
17#define __EFI_MTFTP6_PROTOCOL_H__
19#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID \
21 0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23 } \
24#define EFI_MTFTP6_PROTOCOL_GUID \
26 0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51 } \
35#define EFI_MTFTP6_OPCODE_RRQ 1
36#define EFI_MTFTP6_OPCODE_WRQ 2
37#define EFI_MTFTP6_OPCODE_DATA 3
38#define EFI_MTFTP6_OPCODE_ACK 4
39#define EFI_MTFTP6_OPCODE_ERROR 5
40#define EFI_MTFTP6_OPCODE_OACK 6
41#define EFI_MTFTP6_OPCODE_DIR 7
42#define EFI_MTFTP6_OPCODE_DATA8 8
43#define EFI_MTFTP6_OPCODE_ACK8 9
52#define EFI_MTFTP6_ERRORCODE_NOT_DEFINED 0
56#define EFI_MTFTP6_ERRORCODE_FILE_NOT_FOUND 1
60#define EFI_MTFTP6_ERRORCODE_ACCESS_VIOLATION 2
64#define EFI_MTFTP6_ERRORCODE_DISK_FULL 3
68#define EFI_MTFTP6_ERRORCODE_ILLEGAL_OPERATION 4
72#define EFI_MTFTP6_ERRORCODE_UNKNOWN_TRANSFER_ID 5
76#define EFI_MTFTP6_ERRORCODE_FILE_ALREADY_EXISTS 6
80#define EFI_MTFTP6_ERRORCODE_NO_SUCH_USER 7
84#define EFI_MTFTP6_ERRORCODE_REQUEST_DENIED 8
197 UINT8 ErrorMessage[1];
384 IN OUT UINT16 *Length,
575 IN UINT8 OptionCount,
577 OUT UINT32 *PacketLength,
617 OUT UINT32 *OptionCount,
815extern EFI_GUID gEfiMtftp6ServiceBindingProtocolGuid;
816extern EFI_GUID gEfiMtftp6ProtocolGuid;
EFI_STATUS(EFIAPI * EFI_MTFTP6_READ_DIRECTORY)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP6_PARSE_OPTIONS)(IN EFI_MTFTP6_PROTOCOL *This, IN UINT32 PacketLen, IN EFI_MTFTP6_PACKET *Packet, OUT UINT32 *OptionCount, OUT EFI_MTFTP6_OPTION **OptionList OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MTFTP6_CHECK_PACKET)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token, IN UINT16 PacketLen, IN EFI_MTFTP6_PACKET *Packet)
EFI_STATUS(EFIAPI * EFI_MTFTP6_WRITE_FILE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP6_GET_MODE_DATA)(IN EFI_MTFTP6_PROTOCOL *This, OUT EFI_MTFTP6_MODE_DATA *ModeData)
EFI_STATUS(EFIAPI * EFI_MTFTP6_PACKET_NEEDED)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token, IN OUT UINT16 *Length, OUT VOID **Buffer)
EFI_STATUS(EFIAPI * EFI_MTFTP6_POLL)(IN EFI_MTFTP6_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_MTFTP6_CONFIGURE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_CONFIG_DATA *MtftpConfigData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MTFTP6_TIMEOUT_CALLBACK)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP6_READ_FILE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MTFTP6_GET_INFO)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_OVERRIDE_DATA *OverrideData OPTIONAL, IN UINT8 *Filename, IN UINT8 *ModeStr OPTIONAL, IN UINT8 OptionCount, IN EFI_MTFTP6_OPTION *OptionList OPTIONAL, OUT UINT32 *PacketLength, OUT EFI_MTFTP6_PACKET **Packet OPTIONAL)
EFI_MTFTP6_PACKET_NEEDED PacketNeeded
EFI_MTFTP6_TIMEOUT_CALLBACK TimeoutCallback
EFI_MTFTP6_OPTION * OptionList
EFI_MTFTP6_OVERRIDE_DATA * OverrideData
EFI_MTFTP6_CHECK_PACKET CheckPacket
EFI_IPv6_ADDRESS StationIp
EFI_IPv6_ADDRESS ServerIp
UINT8 SupportedOptionCount
UINT8 ** SupportedOptions
EFI_MTFTP6_CONFIG_DATA ConfigData
UINT8 * ValueStr
Pointer to the null-terminated ASCII MTFTPv6 value string.
UINT8 * OptionStr
Pointer to the null-terminated ASCII MTFTPv6 option string.
EFI_IPv6_ADDRESS ServerIp
EFI_MTFTP6_REQ_HEADER Wrq
write request packet header.
EFI_MTFTP6_REQ_HEADER Rrq
Read request packet header.
EFI_MTFTP6_DATA_HEADER Data
Data packet header.
EFI_MTFTP6_ACK8_HEADER Ack8
Acknowledgement header with big block number.
EFI_MTFTP6_ERROR_HEADER Error
Error packet header.
EFI_MTFTP6_ACK_HEADER Ack
Acknowledgement packet header.
EFI_MTFTP6_OACK_HEADER Oack
Option acknowledge packet header.
UINT16 OpCode
Type of packets as defined by the MTFTPv6 packet opcodes.
EFI_MTFTP6_DATA8_HEADER Data8
Data packet header with big block number.