} EFI_MTFTP4_ERROR_HEADER;\r
\r
typedef union {\r
+ ///\r
+ /// Type of packets as defined by the MTFTPv4 packet opcodes.\r
+ ///\r
UINT16 OpCode;\r
+ ///\r
+ /// Read request packet header.\r
+ ///\r
EFI_MTFTP4_REQ_HEADER Rrq;\r
+ ///\r
+ /// Write request packet header.\r
+ ///\r
EFI_MTFTP4_REQ_HEADER Wrq;\r
+ ///\r
+ /// Option acknowledge packet header.\r
+ ///\r
EFI_MTFTP4_OACK_HEADER Oack;\r
+ ///\r
+ /// Data packet header.\r
+ ///\r
EFI_MTFTP4_DATA_HEADER Data;\r
+ ///\r
+ /// Acknowledgement packet header.\r
+ ///\r
EFI_MTFTP4_ACK_HEADER Ack;\r
+ ///\r
+ /// Data packet header with big block number.\r
+ ///\r
EFI_MTFTP4_DATA8_HEADER Data8;\r
+ ///\r
+ /// Acknowledgement header with big block num.\r
+ ///\r
EFI_MTFTP4_ACK8_HEADER Ack8;\r
+ ///\r
+ /// Error packet header.\r
+ ///\r
EFI_MTFTP4_ERROR_HEADER Error;\r
} EFI_MTFTP4_PACKET;\r
\r
//\r
\r
/**\r
- a callback function that is provided by the caller to intercept \r
+ A callback function that is provided by the caller to intercept \r
the EFI_MTFTP4_OPCODE_DATA or EFI_MTFTP4_OPCODE_DATA8 packets processed in the\r
- EFI_MTFTP4_PROTOCOL.ReadFile() function, and alternatively to intercept \r
+ EFI_MTFTP4_PROTOCOL.ReadFile() function, or alternatively to intercept \r
EFI_MTFTP4_OPCODE_OACK or EFI_MTFTP4_OPCODE_ERROR packets during a call to \r
EFI_MTFTP4_PROTOCOL.ReadFile(), WriteFile() or ReadDirectory(). \r
\r
IN EFI_MTFTP4_TOKEN *Token,\r
IN UINT16 PacketLen,\r
IN EFI_MTFTP4_PACKET *Paket\r
- )\r
-;\r
+ );\r
\r
/**\r
Timeout callback funtion. \r
(EFIAPI *EFI_MTFTP4_TIMEOUT_CALLBACK)( \r
IN EFI_MTFTP4_PROTOCOL *This,\r
IN EFI_MTFTP4_TOKEN *Token\r
- )\r
-;\r
+ );\r
\r
/**\r
- a callback function that the caller provides to feed data to the\r
+ A callback function that the caller provides to feed data to the\r
EFI_MTFTP4_PROTOCOL.WriteFile() function.\r
\r
@param This Pointer to the EFI_MTFTP4_PROTOCOL instance.\r
IN EFI_MTFTP4_TOKEN *Token,\r
IN OUT UINT16 *Length,\r
OUT VOID **Buffer\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
(EFIAPI *EFI_MTFTP4_GET_MODE_DATA)(\r
IN EFI_MTFTP4_PROTOCOL *This,\r
OUT EFI_MTFTP4_MODE_DATA *ModeData\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
(EFIAPI *EFI_MTFTP4_CONFIGURE)(\r
IN EFI_MTFTP4_PROTOCOL *This,\r
IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL\r
- )\r
-; \r
+ ); \r
\r
\r
/**\r
IN EFI_MTFTP4_OPTION *OptionList,\r
OUT UINT32 *PacketLength,\r
OUT EFI_MTFTP4_PACKET **Packet OPTIONAL\r
- )\r
-;\r
+ );\r
\r
/**\r
Parses the options in an MTFTPv4 OACK packet.\r
IN EFI_MTFTP4_PACKET *Packet,\r
OUT UINT32 *OptionCount,\r
OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL\r
- )\r
-; \r
+ ); \r
\r
\r
/**\r
(EFIAPI *EFI_MTFTP4_READ_FILE)(\r
IN EFI_MTFTP4_PROTOCOL *This,\r
IN EFI_MTFTP4_TOKEN *Token\r
- )\r
-; \r
+ ); \r
\r
\r
\r
(EFIAPI *EFI_MTFTP4_WRITE_FILE)(\r
IN EFI_MTFTP4_PROTOCOL *This,\r
IN EFI_MTFTP4_TOKEN *Token\r
- )\r
-; \r
+ ); \r
\r
\r
/**\r
(EFIAPI *EFI_MTFTP4_READ_DIRECTORY)(\r
IN EFI_MTFTP4_PROTOCOL *This,\r
IN EFI_MTFTP4_TOKEN *Token\r
- )\r
-; \r
+ ); \r
\r
/**\r
Polls for incoming data packets and processes outgoing data packets.\r
EFI_STATUS\r
(EFIAPI *EFI_MTFTP4_POLL)(\r
IN EFI_MTFTP4_PROTOCOL *This\r
- )\r
-; \r
+ ); \r
\r
-/** \r
- The EFI MTFTPv4 Protocol provides basic services for client-side unicast \r
- and/or multicast TFTP operations.\r
-\r
- @par Protocol Description:\r
- The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications \r
- to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses \r
- the underlying EFI UDPv4 Protocol driver and EFI IPv4 Protocol driver.\r
-\r
- @param GetModeData\r
- Reads the current operational settings. \r
-\r
- @param Configure\r
- Initializes, changes, or resets the operational settings for \r
- this instance of the EFI MTFTPv4 Protocol driver. \r
-\r
- @param GetInfo\r
- Retrieves information about a file from an MTFTPv4 server. \r
-\r
- @param ParseOptions\r
- Parses the options in an MTFTPv4 OACK (options acknowledgement) packet. \r
-\r
- @param ReadFile\r
- Downloads a file from an MTFTPv4 server. \r
-\r
- @param WriteFile\r
- Uploads a file to an MTFTPv4 server. This function may be unsupported \r
- in some EFI implementations. \r
-\r
- @param ReadDirectory\r
- Downloads a related file directory from an MTFTPv4 server. This function \r
- may be unsupported in some EFI implementations. \r
-\r
- @param Poll\r
- Polls for incoming data packets and processes outgoing data packets. \r
-\r
-**/ \r
+///\r
+/// The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications \r
+/// to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses \r
+/// the underlying EFI UDPv4 Protocol driver and EFI IPv4 Protocol driver.\r
+/// \r
struct _EFI_MTFTP4_PROTOCOL {\r
EFI_MTFTP4_GET_MODE_DATA GetModeData;\r
EFI_MTFTP4_CONFIGURE Configure;\r
};\r
\r
struct _EFI_MTFTP4_TOKEN {\r
- OUT EFI_STATUS Status;\r
- IN EFI_EVENT Event;\r
- IN EFI_MTFTP4_OVERRIDE_DATA *OverrideData;\r
- IN UINT8 *Filename;\r
- IN UINT8 *ModeStr;\r
- IN UINT32 OptionCount;\r
- IN EFI_MTFTP4_OPTION *OptionList;\r
- IN OUT UINT64 BufferSize;\r
- IN OUT VOID *Buffer;\r
- IN EFI_MTFTP4_CHECK_PACKET CheckPacket;\r
- IN EFI_MTFTP4_TIMEOUT_CALLBACK TimeoutCallback;\r
- IN EFI_MTFTP4_PACKET_NEEDED PacketNeeded;\r
+ ///\r
+ /// The status that is returned to the caller at the end of the operation\r
+ /// to indicate whether this operation completed successfully.\r
+ ///\r
+ EFI_STATUS Status;\r
+ ///\r
+ /// The event that will be signaled when the operation completes. If\r
+ /// set to NULL, the corresponding function will wait until the read or\r
+ /// write operation finishes. The type of Event must be\r
+ /// EVT_NOTIFY_SIGNAL. The Task Priority Level (TPL) of\r
+ /// Event must be lower than or equal to TPL_CALLBACK.\r
+ ///\r
+ EFI_EVENT Event;\r
+ ///\r
+ /// If not NULL, the data that will be used to override the existing configure data.\r
+ ///\r
+ EFI_MTFTP4_OVERRIDE_DATA *OverrideData;\r
+ ///\r
+ /// Pointer to the ASCIIZ file name string.\r
+ ///\r
+ UINT8 *Filename;\r
+ ///\r
+ /// Pointer to the ASCIIZ mode string. If NULL, "octet" is used.\r
+ ///\r
+ UINT8 *ModeStr;\r
+ ///\r
+ /// Number of option/value string pairs.\r
+ ///\r
+ UINT32 OptionCount;\r
+ ///\r
+ /// Pointer to an array of option/value string pairs. Ignored if OptionCount is zero.\r
+ ///\r
+ EFI_MTFTP4_OPTION *OptionList;\r
+ ///\r
+ /// Size of the data buffer.\r
+ ///\r
+ OUT UINT64 BufferSize;\r
+ ///\r
+ /// Pointer to the data buffer. Data that is downloaded from the\r
+ /// MTFTPv4 server is stored here. Data that is uploaded to the\r
+ /// MTFTPv4 server is read from here. Ignored if BufferSize is zero.\r
+ ///\r
+ OUT VOID *Buffer;\r
+ ///\r
+ /// Pointer to the callback function to check the contents of the received packet.\r
+ ///\r
+ EFI_MTFTP4_CHECK_PACKET CheckPacket;\r
+ ///\r
+ /// Pointer to the function to be called when a timeout occurs.\r
+ ///\r
+ EFI_MTFTP4_TIMEOUT_CALLBACK TimeoutCallback;\r
+ ///\r
+ /// Pointer to the function to provide the needed packet contents.\r
+ ///\r
+ EFI_MTFTP4_PACKET_NEEDED PacketNeeded;\r
};\r
\r
extern EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid;\r