iPXE
Data Structures | Macros | Typedefs | Functions | Variables
Mtftp4.h File Reference

EFI Multicast Trivial File Transfer Protocol Definition. More...

Go to the source code of this file.

Data Structures

struct  EFI_MTFTP4_REQ_HEADER
 
struct  EFI_MTFTP4_OACK_HEADER
 
struct  EFI_MTFTP4_DATA_HEADER
 
struct  EFI_MTFTP4_ACK_HEADER
 
struct  EFI_MTFTP4_DATA8_HEADER
 
struct  EFI_MTFTP4_ACK8_HEADER
 
struct  EFI_MTFTP4_ERROR_HEADER
 
union  EFI_MTFTP4_PACKET
 
struct  EFI_MTFTP4_OPTION
 MTFTP4 option definition. More...
 
struct  EFI_MTFTP4_CONFIG_DATA
 
struct  EFI_MTFTP4_MODE_DATA
 
struct  EFI_MTFTP4_OVERRIDE_DATA
 
struct  _EFI_MTFTP4_PROTOCOL
 The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications to transmit and receive data files. More...
 
struct  _EFI_MTFTP4_TOKEN
 

Macros

#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID
 
#define EFI_MTFTP4_PROTOCOL_GUID
 
#define EFI_MTFTP4_OPCODE_RRQ   1
 
#define EFI_MTFTP4_OPCODE_WRQ   2
 
#define EFI_MTFTP4_OPCODE_DATA   3
 
#define EFI_MTFTP4_OPCODE_ACK   4
 
#define EFI_MTFTP4_OPCODE_ERROR   5
 
#define EFI_MTFTP4_OPCODE_OACK   6
 
#define EFI_MTFTP4_OPCODE_DIR   7
 
#define EFI_MTFTP4_OPCODE_DATA8   8
 
#define EFI_MTFTP4_OPCODE_ACK8   9
 
#define EFI_MTFTP4_ERRORCODE_NOT_DEFINED   0
 
#define EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND   1
 
#define EFI_MTFTP4_ERRORCODE_ACCESS_VIOLATION   2
 
#define EFI_MTFTP4_ERRORCODE_DISK_FULL   3
 
#define EFI_MTFTP4_ERRORCODE_ILLEGAL_OPERATION   4
 
#define EFI_MTFTP4_ERRORCODE_UNKNOWN_TRANSFER_ID   5
 
#define EFI_MTFTP4_ERRORCODE_FILE_ALREADY_EXISTS   6
 
#define EFI_MTFTP4_ERRORCODE_NO_SUCH_USER   7
 
#define EFI_MTFTP4_ERRORCODE_REQUEST_DENIED   8
 

Typedefs

typedef struct _EFI_MTFTP4_PROTOCOL EFI_MTFTP4_PROTOCOL
 
typedef struct _EFI_MTFTP4_TOKEN EFI_MTFTP4_TOKEN
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_CHECK_PACKET) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token, IN UINT16 PacketLen, IN EFI_MTFTP4_PACKET *Paket)
 A callback function that is provided by the caller to intercept the EFI_MTFTP4_OPCODE_DATA or EFI_MTFTP4_OPCODE_DATA8 packets processed in the EFI_MTFTP4_PROTOCOL.ReadFile() function, and alternatively to intercept EFI_MTFTP4_OPCODE_OACK or EFI_MTFTP4_OPCODE_ERROR packets during a call to EFI_MTFTP4_PROTOCOL.ReadFile(), WriteFile() or ReadDirectory(). More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_TIMEOUT_CALLBACK) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
 Timeout callback function. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_PACKET_NEEDED) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token, IN OUT UINT16 *Length, OUT VOID **Buffer)
 A callback function that the caller provides to feed data to the EFI_MTFTP4_PROTOCOL.WriteFile() function. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_GET_MODE_DATA) (IN EFI_MTFTP4_PROTOCOL *This, OUT EFI_MTFTP4_MODE_DATA *ModeData)
 Submits an asynchronous interrupt transfer to an interrupt endpoint of a USB device. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_CONFIGURE) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL)
 Initializes, changes, or resets the default operational setting for this EFI MTFTPv4 Protocol driver instance. More...
 
typedef EFI_STATUS(EFIAPIEFI_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)
 Gets information about a file from an MTFTPv4 server. More...
 
typedef EFI_STATUS(EFIAPIEFI_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)
 Parses the options in an MTFTPv4 OACK packet. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_READ_FILE) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
 Downloads a file from an MTFTPv4 server. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_WRITE_FILE) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
 Sends a file to an MTFTPv4 server. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_READ_DIRECTORY) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)
 Downloads a data file "directory" from an MTFTPv4 server. More...
 
typedef EFI_STATUS(EFIAPIEFI_MTFTP4_POLL) (IN EFI_MTFTP4_PROTOCOL *This)
 Polls for incoming data packets and processes outgoing data packets. More...
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Variables

EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid
 
EFI_GUID gEfiMtftp4ProtocolGuid
 

Detailed Description

EFI Multicast Trivial File Transfer Protocol Definition.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This Protocol is introduced in UEFI Specification 2.0

Definition in file Mtftp4.h.

Macro Definition Documentation

◆ EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID

#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID
Value:
{ \
0x2FE800BE, 0x8F01, 0x4aa6, {0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F } \
}

Definition at line 17 of file Mtftp4.h.

◆ EFI_MTFTP4_PROTOCOL_GUID

#define EFI_MTFTP4_PROTOCOL_GUID
Value:
{ \
0x78247c57, 0x63db, 0x4708, {0x99, 0xc2, 0xa8, 0xb4, 0xa9, 0xa6, 0x1f, 0x6b } \
}

Definition at line 22 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_RRQ

#define EFI_MTFTP4_OPCODE_RRQ   1

Definition at line 33 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_WRQ

#define EFI_MTFTP4_OPCODE_WRQ   2

Definition at line 34 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_DATA

#define EFI_MTFTP4_OPCODE_DATA   3

Definition at line 35 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_ACK

#define EFI_MTFTP4_OPCODE_ACK   4

Definition at line 36 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_ERROR

#define EFI_MTFTP4_OPCODE_ERROR   5

Definition at line 37 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_OACK

#define EFI_MTFTP4_OPCODE_OACK   6

Definition at line 38 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_DIR

#define EFI_MTFTP4_OPCODE_DIR   7

Definition at line 39 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_DATA8

#define EFI_MTFTP4_OPCODE_DATA8   8

Definition at line 40 of file Mtftp4.h.

◆ EFI_MTFTP4_OPCODE_ACK8

#define EFI_MTFTP4_OPCODE_ACK8   9

Definition at line 41 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_NOT_DEFINED

#define EFI_MTFTP4_ERRORCODE_NOT_DEFINED   0

Definition at line 46 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND

#define EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND   1

Definition at line 47 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_ACCESS_VIOLATION

#define EFI_MTFTP4_ERRORCODE_ACCESS_VIOLATION   2

Definition at line 48 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_DISK_FULL

#define EFI_MTFTP4_ERRORCODE_DISK_FULL   3

Definition at line 49 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_ILLEGAL_OPERATION

#define EFI_MTFTP4_ERRORCODE_ILLEGAL_OPERATION   4

Definition at line 50 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_UNKNOWN_TRANSFER_ID

#define EFI_MTFTP4_ERRORCODE_UNKNOWN_TRANSFER_ID   5

Definition at line 51 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_FILE_ALREADY_EXISTS

#define EFI_MTFTP4_ERRORCODE_FILE_ALREADY_EXISTS   6

Definition at line 52 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_NO_SUCH_USER

#define EFI_MTFTP4_ERRORCODE_NO_SUCH_USER   7

Definition at line 53 of file Mtftp4.h.

◆ EFI_MTFTP4_ERRORCODE_REQUEST_DENIED

#define EFI_MTFTP4_ERRORCODE_REQUEST_DENIED   8

Definition at line 54 of file Mtftp4.h.

Typedef Documentation

◆ EFI_MTFTP4_PROTOCOL

Definition at line 27 of file Mtftp4.h.

◆ EFI_MTFTP4_TOKEN

Definition at line 28 of file Mtftp4.h.

◆ EFI_MTFTP4_CHECK_PACKET

typedef 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)

A callback function that is provided by the caller to intercept the EFI_MTFTP4_OPCODE_DATA or EFI_MTFTP4_OPCODE_DATA8 packets processed in the EFI_MTFTP4_PROTOCOL.ReadFile() function, and alternatively to intercept EFI_MTFTP4_OPCODE_OACK or EFI_MTFTP4_OPCODE_ERROR packets during a call to EFI_MTFTP4_PROTOCOL.ReadFile(), WriteFile() or ReadDirectory().

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
TokenThe token that the caller provided in the EFI_MTFTP4_PROTOCOL.ReadFile(), WriteFile() or ReadDirectory() function.
PacketLenIndicates the length of the packet.
PacketThe pointer to an MTFTPv4 packet.
Return values
EFI_SUCCESSThe operation was successful.
OthersAborts the transfer process.

Definition at line 200 of file Mtftp4.h.

◆ EFI_MTFTP4_TIMEOUT_CALLBACK

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_TIMEOUT_CALLBACK) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)

Timeout callback function.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
TokenThe token that is provided in the EFI_MTFTP4_PROTOCOL.ReadFile() or EFI_MTFTP4_PROTOCOL.WriteFile() or EFI_MTFTP4_PROTOCOL.ReadDirectory() functions by the caller.
Return values
EFI_SUCCESSThe operation was successful.
OthersAborts download process.

Definition at line 223 of file Mtftp4.h.

◆ EFI_MTFTP4_PACKET_NEEDED

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_PACKET_NEEDED) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token, IN OUT UINT16 *Length, OUT VOID **Buffer)

A callback function that the caller provides to feed data to the EFI_MTFTP4_PROTOCOL.WriteFile() function.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
TokenThe token provided in the EFI_MTFTP4_PROTOCOL.WriteFile() by the caller.
LengthIndicates the length of the raw data wanted on input, and the length the data available on output.
BufferThe pointer to the buffer where the data is stored.
Return values
EFI_SUCCESSThe operation was successful.
OthersAborts session.

Definition at line 245 of file Mtftp4.h.

◆ EFI_MTFTP4_GET_MODE_DATA

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_GET_MODE_DATA) (IN EFI_MTFTP4_PROTOCOL *This, OUT EFI_MTFTP4_MODE_DATA *ModeData)

Submits an asynchronous interrupt transfer to an interrupt endpoint of a USB device.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
ModeDataThe pointer to storage for the EFI MTFTPv4 Protocol driver mode data.
Return values
EFI_SUCCESSThe configuration data was successfully returned.
EFI_OUT_OF_RESOURCESThe required mode data could not be allocated.
EFI_INVALID_PARAMETERThis is NULL or ModeData is NULL.

Definition at line 265 of file Mtftp4.h.

◆ EFI_MTFTP4_CONFIGURE

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_CONFIGURE) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL)

Initializes, changes, or resets the default operational setting for this EFI MTFTPv4 Protocol driver instance.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
MtftpConfigDataThe pointer to the configuration data structure.
Return values
EFI_SUCCESSThe EFI MTFTPv4 Protocol driver was configured successfully.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_ACCESS_DENIEDThe EFI configuration could not be changed at this time because there is one MTFTP background operation in progress.
EFI_NO_MAPPINGWhen using a default address, configuration (DHCP, BOOTP, RARP, etc.) has not finished yet.
EFI_UNSUPPORTEDA configuration protocol (DHCP, BOOTP, RARP, etc.) could not be located when clients choose to use the default address settings.
EFI_OUT_OF_RESOURCESThe EFI MTFTPv4 Protocol driver instance data could not be allocated.
EFI_DEVICE_ERRORAn unexpected system or network error occurred. The EFI MTFTPv4 Protocol driver instance is not configured.

Definition at line 294 of file Mtftp4.h.

◆ EFI_MTFTP4_GET_INFO

typedef 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)

Gets information about a file from an MTFTPv4 server.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
OverrideDataData that is used to override the existing parameters. If NULL, the default parameters that were set in the EFI_MTFTP4_PROTOCOL.Configure() function are used.
FilenameThe pointer to null-terminated ASCII file name string.
ModeStrThe pointer to null-terminated ASCII mode string. If NULL, "octet" will be used.
OptionCountNumber of option/value string pairs in OptionList.
OptionListThe pointer to array of option/value string pairs. Ignored if OptionCount is zero.
PacketLengthThe number of bytes in the returned packet.
PacketThe pointer to the received packet. This buffer must be freed by the caller.
Return values
EFI_SUCCESSAn MTFTPv4 OACK packet was received and is in the Packet.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE:
  • This is NULL.
  • Filename is NULL.
  • OptionCount is not zero and OptionList is NULL.
  • One or more options in OptionList have wrong format.
  • PacketLength is NULL.
  • One or more IPv4 addresses in OverrideData are not valid unicast IPv4 addresses if OverrideData is not NULL.
EFI_UNSUPPORTEDOne or more options in the OptionList are in the unsupported list of structure EFI_MTFTP4_MODE_DATA.
EFI_NOT_STARTEDThe EFI MTFTPv4 Protocol driver has not been started.
EFI_NO_MAPPINGWhen using a default address, configuration (DHCP, BOOTP, RARP, etc.) has not finished yet.
EFI_ACCESS_DENIEDThe previous operation has not completed yet.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.
EFI_TFTP_ERRORAn MTFTPv4 ERROR packet was received and is in the Packet.
EFI_NETWORK_UNREACHABLEAn ICMP network unreachable error packet was received and the Packet is set to NULL.
EFI_HOST_UNREACHABLEAn ICMP host unreachable error packet was received and the Packet is set to NULL.
EFI_PROTOCOL_UNREACHABLEAn ICMP protocol unreachable error packet was received and the Packet is set to NULL.
EFI_PORT_UNREACHABLEAn ICMP port unreachable error packet was received and the Packet is set to NULL.
EFI_ICMP_ERRORSome other ICMP ERROR packet was received and is in the Buffer.
EFI_PROTOCOL_ERRORAn unexpected MTFTPv4 packet was received and is in the Packet.
EFI_TIMEOUTNo responses were received from the MTFTPv4 server.
EFI_DEVICE_ERRORAn unexpected network error or system error occurred.
EFI_NO_MEDIAThere was a media error.

Definition at line 345 of file Mtftp4.h.

◆ EFI_MTFTP4_PARSE_OPTIONS

typedef 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)

Parses the options in an MTFTPv4 OACK packet.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
PacketLenLength of the OACK packet to be parsed.
PacketThe pointer to the OACK packet to be parsed.
OptionCountThe pointer to the number of options in following OptionList.
OptionListThe pointer to EFI_MTFTP4_OPTION storage. Call the EFI Boot Service FreePool() to release the OptionList if the options in this OptionList are not needed any more.
Return values
EFI_SUCCESSThe OACK packet was valid and the OptionCount and OptionList parameters have been updated.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE:
  • PacketLen is 0.
  • Packet is NULL or Packet is not a valid MTFTPv4 packet.
  • OptionCount is NULL.
EFI_NOT_FOUNDNo options were found in the OACK packet.
EFI_OUT_OF_RESOURCESStorage for the OptionList array cannot be allocated.
EFI_PROTOCOL_ERROROne or more of the option fields is invalid.

Definition at line 380 of file Mtftp4.h.

◆ EFI_MTFTP4_READ_FILE

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_READ_FILE) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)

Downloads a file from an MTFTPv4 server.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
TokenThe pointer to the token structure to provide the parameters that are used in this operation.
Return values
EFI_SUCCESSThe data file has been transferred successfully.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.
EFI_BUFFER_TOO_SMALLBufferSize is not zero but not large enough to hold the downloaded data in downloading process.
EFI_ABORTEDCurrent operation is aborted by user.
EFI_NETWORK_UNREACHABLEAn ICMP network unreachable error packet was received.
EFI_HOST_UNREACHABLEAn ICMP host unreachable error packet was received.
EFI_PROTOCOL_UNREACHABLEAn ICMP protocol unreachable error packet was received.
EFI_PORT_UNREACHABLEAn ICMP port unreachable error packet was received.
EFI_ICMP_ERRORSome other ICMP ERROR packet was received.
EFI_TIMEOUTNo responses were received from the MTFTPv4 server.
EFI_TFTP_ERRORAn MTFTPv4 ERROR packet was received.
EFI_DEVICE_ERRORAn unexpected network error or system error occurred.
EFI_NO_MEDIAThere was a media error.

Definition at line 413 of file Mtftp4.h.

◆ EFI_MTFTP4_WRITE_FILE

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_WRITE_FILE) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)

Sends a file to an MTFTPv4 server.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
TokenThe pointer to the token structure to provide the parameters that are used in this operation.
Return values
EFI_SUCCESSThe upload session has started.
EFI_UNSUPPORTEDThe operation is not supported by this implementation.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_UNSUPPORTEDOne or more options in the Token.OptionList are in the unsupported list of structure EFI_MTFTP4_MODE_DATA.
EFI_NOT_STARTEDThe EFI MTFTPv4 Protocol driver has not been started.
EFI_NO_MAPPINGWhen using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet.
EFI_ALREADY_STARTEDThis Token is already being used in another MTFTPv4 session.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.
EFI_ACCESS_DENIEDThe previous operation has not completed yet.
EFI_DEVICE_ERRORAn unexpected network error or system error occurred.

Definition at line 441 of file Mtftp4.h.

◆ EFI_MTFTP4_READ_DIRECTORY

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_READ_DIRECTORY) (IN EFI_MTFTP4_PROTOCOL *This, IN EFI_MTFTP4_TOKEN *Token)

Downloads a data file "directory" from an MTFTPv4 server.

May be unsupported in some EFI implementations.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
TokenThe pointer to the token structure to provide the parameters that are used in this operation.
Return values
EFI_SUCCESSThe MTFTPv4 related file "directory" has been downloaded.
EFI_UNSUPPORTEDThe operation is not supported by this implementation.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_UNSUPPORTEDOne or more options in the Token.OptionList are in the unsupported list of structure EFI_MTFTP4_MODE_DATA.
EFI_NOT_STARTEDThe EFI MTFTPv4 Protocol driver has not been started.
EFI_NO_MAPPINGWhen using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet.
EFI_ALREADY_STARTEDThis Token is already being used in another MTFTPv4 session.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.
EFI_ACCESS_DENIEDThe previous operation has not completed yet.
EFI_DEVICE_ERRORAn unexpected network error or system error occurred.

Definition at line 470 of file Mtftp4.h.

◆ EFI_MTFTP4_POLL

typedef EFI_STATUS(EFIAPI * EFI_MTFTP4_POLL) (IN EFI_MTFTP4_PROTOCOL *This)

Polls for incoming data packets and processes outgoing data packets.

Parameters
ThisThe pointer to the EFI_MTFTP4_PROTOCOL instance.
Return values
EFI_SUCCESSIncoming or outgoing data was processed.
EFI_NOT_STARTEDThis EFI MTFTPv4 Protocol instance has not been started.
EFI_NO_MAPPINGWhen using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet.
EFI_INVALID_PARAMETERThis is NULL.
EFI_DEVICE_ERRORAn unexpected system or network error occurred.
EFI_TIMEOUTData was dropped out of the transmit and/or receive queue. Consider increasing the polling rate.

Definition at line 492 of file Mtftp4.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )

Variable Documentation

◆ gEfiMtftp4ServiceBindingProtocolGuid

EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid

◆ gEfiMtftp4ProtocolGuid

EFI_GUID gEfiMtftp4ProtocolGuid