16#ifndef __EFI_MTFTP6_PROTOCOL_H__
17#define __EFI_MTFTP6_PROTOCOL_H__
22#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID \
24 0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23 } \
27#define EFI_MTFTP6_PROTOCOL_GUID \
29 0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51 } \
38#define EFI_MTFTP6_OPCODE_RRQ 1
39#define EFI_MTFTP6_OPCODE_WRQ 2
40#define EFI_MTFTP6_OPCODE_DATA 3
41#define EFI_MTFTP6_OPCODE_ACK 4
42#define EFI_MTFTP6_OPCODE_ERROR 5
43#define EFI_MTFTP6_OPCODE_OACK 6
44#define EFI_MTFTP6_OPCODE_DIR 7
45#define EFI_MTFTP6_OPCODE_DATA8 8
46#define EFI_MTFTP6_OPCODE_ACK8 9
55#define EFI_MTFTP6_ERRORCODE_NOT_DEFINED 0
59#define EFI_MTFTP6_ERRORCODE_FILE_NOT_FOUND 1
63#define EFI_MTFTP6_ERRORCODE_ACCESS_VIOLATION 2
67#define EFI_MTFTP6_ERRORCODE_DISK_FULL 3
71#define EFI_MTFTP6_ERRORCODE_ILLEGAL_OPERATION 4
75#define EFI_MTFTP6_ERRORCODE_UNKNOWN_TRANSFER_ID 5
79#define EFI_MTFTP6_ERRORCODE_FILE_ALREADY_EXISTS 6
83#define EFI_MTFTP6_ERRORCODE_NO_SUCH_USER 7
87#define EFI_MTFTP6_ERRORCODE_REQUEST_DENIED 8
unsigned short UINT16
2-byte unsigned value.
unsigned long long UINT64
8-byte unsigned value.
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
#define VOID
Undeclared type.
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
EFI_STATUS(EFIAPI * EFI_MTFTP6_READ_DIRECTORY)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
Download a data file directory from an MTFTPv6 server.
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)
Parse the options in an MTFTPv6 OACK packet.
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_MTFTP6_TIMEOUT_CALLBACK is a callback function that the caller provides to capture the timeout ev...
EFI_STATUS(EFIAPI * EFI_MTFTP6_WRITE_FILE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
Send a file to an MTFTPv6 server.
struct _EFI_MTFTP6_TOKEN EFI_MTFTP6_TOKEN
EFI_STATUS(EFIAPI * EFI_MTFTP6_GET_MODE_DATA)(IN EFI_MTFTP6_PROTOCOL *This, OUT EFI_MTFTP6_MODE_DATA *ModeData)
Read the current operational settings.
struct _EFI_MTFTP6_PROTOCOL EFI_MTFTP6_PROTOCOL
EFI_GUID gEfiMtftp6ProtocolGuid
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_MTFTP6_PACKET_NEEDED is a callback function that the caller provides to feed data to the EFI_MTFT...
EFI_STATUS(EFIAPI * EFI_MTFTP6_POLL)(IN EFI_MTFTP6_PROTOCOL *This)
Polls for incoming data packets and processes outgoing data packets.
EFI_STATUS(EFIAPI * EFI_MTFTP6_CONFIGURE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_CONFIG_DATA *MtftpConfigData OPTIONAL)
Initializes, changes, or resets the default operational setting for this EFI MTFTPv6 Protocol driver ...
EFI_GUID gEfiMtftp6ServiceBindingProtocolGuid
EFI_STATUS(EFIAPI * EFI_MTFTP6_TIMEOUT_CALLBACK)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
EFI_MTFTP6_TIMEOUT_CALLBACK is a callback function that the caller provides to capture the timeout ev...
EFI_STATUS(EFIAPI * EFI_MTFTP6_READ_FILE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
Download a file from an MTFTPv6 server.
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)
Get information about a file from an MTFTPv6 server.
IPv6_ADDRESS EFI_IPv6_ADDRESS
16-byte buffer.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
SEGOFF16_t Buffer
Buffer address.
UINT8_t Length
Length of this structure.
UINT16 InitialServerPort
The initial MTFTPv6 server port number.
UINT16 LocalPort
Local port number.
EFI_IPv6_ADDRESS StationIp
The local IP address to use.
UINT16 TryCount
The number of times to transmit MTFTPv6 request packets and wait for a response.
EFI_IPv6_ADDRESS ServerIp
The IP address of the MTFTPv6 server.
UINT16 TimeoutValue
The number of seconds to wait for a response after sending the MTFTPv6 request packet.
UINT8 SupportedOptionCount
The number of option strings in the following SupportedOptions array.
UINT8 ** SupportedOptions
An array of null-terminated ASCII option strings that are recognized and supported by this EFI MTFTPv...
EFI_MTFTP6_CONFIG_DATA ConfigData
The configuration data of this instance.
UINT8 * ValueStr
Pointer to the null-terminated ASCII MTFTPv6 value string.
UINT8 * OptionStr
Pointer to the null-terminated ASCII MTFTPv6 option string.
UINT16 TimeoutValue
Number of seconds to wait for a response after sending the MTFTPv6 request packet.
UINT16 ServerPort
MTFTPv6 server port number.
EFI_IPv6_ADDRESS ServerIp
IP address of the MTFTPv6 server.
UINT16 TryCount
Number of times to transmit MTFTPv6 request packets and wait for a response.
The EFI_MTFTP6_PROTOCOL is designed to be used by UEFI drivers and applications to transmit and recei...
EFI_MTFTP6_GET_INFO GetInfo
EFI_MTFTP6_PARSE_OPTIONS ParseOptions
EFI_MTFTP6_GET_MODE_DATA GetModeData
EFI_MTFTP6_CONFIGURE Configure
EFI_MTFTP6_READ_DIRECTORY ReadDirectory
EFI_MTFTP6_WRITE_FILE WriteFile
EFI_MTFTP6_READ_FILE ReadFile
UINT8 * ModeStr
Pointer to the null-terminated ASCII mode string.
UINT64 BufferSize
On input, the size, in bytes, of Buffer.
EFI_MTFTP6_PACKET_NEEDED PacketNeeded
Pointer to the function to provide the needed packet contents.
VOID * Context
Pointer to the context that will be used by CheckPacket, TimeoutCallback and PacketNeeded.
EFI_MTFTP6_TIMEOUT_CALLBACK TimeoutCallback
Pointer to the function to be called when a timeout occurs.
EFI_MTFTP6_OPTION * OptionList
Pointer to an array of option/value string pairs.
EFI_MTFTP6_OVERRIDE_DATA * OverrideData
If not NULL, the data that will be used to override the existing configure data.
VOID * Buffer
Pointer to the data buffer.
UINT8 * Filename
Pointer to the null-terminated ASCII file name string.
EFI_MTFTP6_CHECK_PACKET CheckPacket
Pointer to the callback function to check the contents of the received packet.
EFI_STATUS Status
The status that is returned to the caller at the end of the operation to indicate whether this operat...
EFI_EVENT Event
The event that will be signaled when the operation completes.
UINT32 OptionCount
Number of option/value string pairs.
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.