16 #ifndef __EFI_MTFTP6_PROTOCOL_H__ 17 #define __EFI_MTFTP6_PROTOCOL_H__ 21 #define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID \ 23 0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23 } \ 26 #define EFI_MTFTP6_PROTOCOL_GUID \ 28 0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51 } \ 37 #define EFI_MTFTP6_OPCODE_RRQ 1 38 #define EFI_MTFTP6_OPCODE_WRQ 2
39 #define EFI_MTFTP6_OPCODE_DATA 3
40 #define EFI_MTFTP6_OPCODE_ACK 4
41 #define EFI_MTFTP6_OPCODE_ERROR 5
42 #define EFI_MTFTP6_OPCODE_OACK 6
43 #define EFI_MTFTP6_OPCODE_DIR 7
44 #define EFI_MTFTP6_OPCODE_DATA8 8
45 #define EFI_MTFTP6_OPCODE_ACK8 9
54 #define EFI_MTFTP6_ERRORCODE_NOT_DEFINED 0 58 #define EFI_MTFTP6_ERRORCODE_FILE_NOT_FOUND 1 62 #define EFI_MTFTP6_ERRORCODE_ACCESS_VIOLATION 2 66 #define EFI_MTFTP6_ERRORCODE_DISK_FULL 3 70 #define EFI_MTFTP6_ERRORCODE_ILLEGAL_OPERATION 4 74 #define EFI_MTFTP6_ERRORCODE_UNKNOWN_TRANSFER_ID 5 78 #define EFI_MTFTP6_ERRORCODE_FILE_ALREADY_EXISTS 6 82 #define EFI_MTFTP6_ERRORCODE_NO_SUCH_USER 7 86 #define EFI_MTFTP6_ERRORCODE_REQUEST_DENIED 8 #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_FILE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
Download a file from an MTFTPv6 server.
The EFI_MTFTP6_PROTOCOL is designed to be used by UEFI drivers and applications to transmit and recei...
UINT16 TryCount
Number of times to transmit MTFTPv6 request packets and wait for a response.
UINT16 TimeoutValue
The number of seconds to wait for a response after sending the MTFTPv6 request packet.
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_WRITE_FILE)(IN EFI_MTFTP6_PROTOCOL *This, IN EFI_MTFTP6_TOKEN *Token)
Send a file to an MTFTPv6 server.
UINT64 BufferSize
On input, the size, in bytes, of Buffer.
EFI_MTFTP6_CONFIGURE Configure
UINT8 * ModeStr
Pointer to the null-terminated ASCII mode string.
128 bit buffer containing a unique identifier value.
VOID * EFI_EVENT
Handle to an event structure.
UINT16 OpCode
Type of packets as defined by the MTFTPv6 packet opcodes.
EFI_MTFTP6_ACK8_HEADER Ack8
Acknowledgement header with big block number.
UINT16 InitialServerPort
The initial MTFTPv6 server port number.
EFI_GUID gEfiMtftp6ProtocolGuid
EFI_MTFTP6_OACK_HEADER Oack
Option acknowledge packet header.
EFI_MTFTP6_ACK_HEADER Ack
Acknowledgement packet header.
UINT8_t Length
Length of this structure.
FILE_LICENCE(BSD2_PATENT)
UINT16 TryCount
The number of times to transmit MTFTPv6 request packets and wait for a response.
UINT8 * Filename
Pointer to the null-terminated ASCII file name string.
UINT16 ServerPort
MTFTPv6 server port number.
EFI_MTFTP6_GET_MODE_DATA GetModeData
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_MTFTP6_OVERRIDE_DATA * OverrideData
If not NULL, the data that will be used to override the existing configure data.
EFI_MTFTP6_CHECK_PACKET CheckPacket
Pointer to the callback function to check the contents of the received packet.
EFI_MTFTP6_OPTION * OptionList
Pointer to an array of option/value string pairs.
EFI_STATUS(EFIAPI * EFI_MTFTP6_POLL)(IN EFI_MTFTP6_PROTOCOL *This)
Polls for incoming data packets and processes outgoing data packets.
EFI_MTFTP6_DATA8_HEADER Data8
Data packet header with big block number.
VOID * Buffer
Pointer to the data buffer.
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_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_MTFTP6_CONFIG_DATA ConfigData
The configuration data of this instance.
EFI_STATUS(EFIAPI * EFI_MTFTP6_GET_MODE_DATA)(IN EFI_MTFTP6_PROTOCOL *This, OUT EFI_MTFTP6_MODE_DATA *ModeData)
Read the current operational settings.
EFI_IPv6_ADDRESS StationIp
The local IP address to use.
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.
EFI_STATUS Status
The status that is returned to the caller at the end of the operation to indicate whether this operat...
SEGOFF16_t Buffer
Buffer address.
EFI_GUID gEfiMtftp6ServiceBindingProtocolGuid
EFI_MTFTP6_ERROR_HEADER Error
Error packet header.
VOID * Context
Pointer to the context that will be used by CheckPacket, TimeoutCallback and PacketNeeded.
#define VOID
Undeclared type.
unsigned long long UINT64
UINT16 TimeoutValue
Number of seconds to wait for a response after sending the MTFTPv6 request packet.
UINT32 OptionCount
Number of option/value string pairs.
EFI_EVENT Event
The event that will be signaled when the operation completes.
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_MTFTP6_DATA_HEADER Data
Data packet header.
EFI_MTFTP6_PARSE_OPTIONS ParseOptions
EFI_MTFTP6_READ_DIRECTORY ReadDirectory
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
EFI_MTFTP6_READ_FILE ReadFile
UINT8 SupportedOptionCount
The number of option strings in the following SupportedOptions array.
EFI_MTFTP6_REQ_HEADER Rrq
Read request packet header.
UINT16 LocalPort
Local port number.
EFI_MTFTP6_PACKET_NEEDED PacketNeeded
Pointer to the function to provide the needed packet contents.
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_MTFTP6_TIMEOUT_CALLBACK TimeoutCallback
Pointer to the function to be called when a timeout occurs.
UINT8 * ValueStr
Pointer to the null-terminated ASCII MTFTPv6 value string.
EFI_IPv6_ADDRESS ServerIp
The IP address of the MTFTPv6 server.
UINT8 ** SupportedOptions
An array of null-terminated ASCII option strings that are recognized and supported by this EFI MTFTPv...
EFI_MTFTP6_WRITE_FILE WriteFile
EFI_MTFTP6_REQ_HEADER Wrq
write request packet header.
EFI_MTFTP6_GET_INFO GetInfo
UINT8 * OptionStr
Pointer to the null-terminated ASCII MTFTPv6 option string.
EFI_IPv6_ADDRESS ServerIp
IP address of the MTFTPv6 server.