#ifndef __EFI_MTFTP6_PROTOCOL_H__\r
#define __EFI_MTFTP6_PROTOCOL_H__\r
\r
-\r
#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID \\r
{ \\r
0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23 } \\r
0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51 } \\r
}\r
\r
-typedef struct _EFI_MTFTP6_PROTOCOL EFI_MTFTP6_PROTOCOL;\r
-typedef struct _EFI_MTFTP6_TOKEN EFI_MTFTP6_TOKEN;\r
+typedef struct _EFI_MTFTP6_PROTOCOL EFI_MTFTP6_PROTOCOL;\r
+typedef struct _EFI_MTFTP6_TOKEN EFI_MTFTP6_TOKEN;\r
\r
///\r
/// MTFTP Packet OpCodes\r
///@{\r
-#define EFI_MTFTP6_OPCODE_RRQ 1 ///< The MTFTPv6 packet is a read request.\r
-#define EFI_MTFTP6_OPCODE_WRQ 2 ///< The MTFTPv6 packet is a write request.\r
-#define EFI_MTFTP6_OPCODE_DATA 3 ///< The MTFTPv6 packet is a data packet.\r
-#define EFI_MTFTP6_OPCODE_ACK 4 ///< The MTFTPv6 packet is an acknowledgement packet.\r
-#define EFI_MTFTP6_OPCODE_ERROR 5 ///< The MTFTPv6 packet is an error packet.\r
-#define EFI_MTFTP6_OPCODE_OACK 6 ///< The MTFTPv6 packet is an option acknowledgement packet.\r
-#define EFI_MTFTP6_OPCODE_DIR 7 ///< The MTFTPv6 packet is a directory query packet.\r
-#define EFI_MTFTP6_OPCODE_DATA8 8 ///< The MTFTPv6 packet is a data packet with a big block number.\r
-#define EFI_MTFTP6_OPCODE_ACK8 9 ///< The MTFTPv6 packet is an acknowledgement packet with a big block number.\r
+#define EFI_MTFTP6_OPCODE_RRQ 1 ///< The MTFTPv6 packet is a read request.\r
+#define EFI_MTFTP6_OPCODE_WRQ 2 ///< The MTFTPv6 packet is a write request.\r
+#define EFI_MTFTP6_OPCODE_DATA 3 ///< The MTFTPv6 packet is a data packet.\r
+#define EFI_MTFTP6_OPCODE_ACK 4 ///< The MTFTPv6 packet is an acknowledgement packet.\r
+#define EFI_MTFTP6_OPCODE_ERROR 5 ///< The MTFTPv6 packet is an error packet.\r
+#define EFI_MTFTP6_OPCODE_OACK 6 ///< The MTFTPv6 packet is an option acknowledgement packet.\r
+#define EFI_MTFTP6_OPCODE_DIR 7 ///< The MTFTPv6 packet is a directory query packet.\r
+#define EFI_MTFTP6_OPCODE_DATA8 8 ///< The MTFTPv6 packet is a data packet with a big block number.\r
+#define EFI_MTFTP6_OPCODE_ACK8 9 ///< The MTFTPv6 packet is an acknowledgement packet with a big block number.\r
///@}\r
\r
///\r
///\r
/// The error code is not defined. See the error message in the packet (if any) for details.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_NOT_DEFINED 0\r
+#define EFI_MTFTP6_ERRORCODE_NOT_DEFINED 0\r
///\r
/// The file was not found.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_FILE_NOT_FOUND 1\r
+#define EFI_MTFTP6_ERRORCODE_FILE_NOT_FOUND 1\r
///\r
/// There was an access violation.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_ACCESS_VIOLATION 2\r
+#define EFI_MTFTP6_ERRORCODE_ACCESS_VIOLATION 2\r
///\r
/// The disk was full or its allocation was exceeded.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_DISK_FULL 3\r
+#define EFI_MTFTP6_ERRORCODE_DISK_FULL 3\r
///\r
/// The MTFTPv6 operation was illegal.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_ILLEGAL_OPERATION 4\r
+#define EFI_MTFTP6_ERRORCODE_ILLEGAL_OPERATION 4\r
///\r
/// The transfer ID is unknown.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_UNKNOWN_TRANSFER_ID 5\r
+#define EFI_MTFTP6_ERRORCODE_UNKNOWN_TRANSFER_ID 5\r
///\r
/// The file already exists.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_FILE_ALREADY_EXISTS 6\r
+#define EFI_MTFTP6_ERRORCODE_FILE_ALREADY_EXISTS 6\r
///\r
/// There is no such user.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_NO_SUCH_USER 7\r
+#define EFI_MTFTP6_ERRORCODE_NO_SUCH_USER 7\r
///\r
/// The request has been denied due to option negotiation.\r
///\r
-#define EFI_MTFTP6_ERRORCODE_REQUEST_DENIED 8\r
+#define EFI_MTFTP6_ERRORCODE_REQUEST_DENIED 8\r
///@}\r
\r
#pragma pack(1)\r
/// EFI_MTFTP6_PACKET\r
///\r
typedef union {\r
- UINT16 OpCode; ///< Type of packets as defined by the MTFTPv6 packet opcodes.\r
- EFI_MTFTP6_REQ_HEADER Rrq; ///< Read request packet header.\r
- EFI_MTFTP6_REQ_HEADER Wrq; ///< write request packet header.\r
- EFI_MTFTP6_OACK_HEADER Oack; ///< Option acknowledge packet header.\r
- EFI_MTFTP6_DATA_HEADER Data; ///< Data packet header.\r
- EFI_MTFTP6_ACK_HEADER Ack; ///< Acknowledgement packet header.\r
- EFI_MTFTP6_DATA8_HEADER Data8; ///< Data packet header with big block number.\r
- EFI_MTFTP6_ACK8_HEADER Ack8; ///< Acknowledgement header with big block number.\r
- EFI_MTFTP6_ERROR_HEADER Error; ///< Error packet header.\r
+ UINT16 OpCode; ///< Type of packets as defined by the MTFTPv6 packet opcodes.\r
+ EFI_MTFTP6_REQ_HEADER Rrq; ///< Read request packet header.\r
+ EFI_MTFTP6_REQ_HEADER Wrq; ///< write request packet header.\r
+ EFI_MTFTP6_OACK_HEADER Oack; ///< Option acknowledge packet header.\r
+ EFI_MTFTP6_DATA_HEADER Data; ///< Data packet header.\r
+ EFI_MTFTP6_ACK_HEADER Ack; ///< Acknowledgement packet header.\r
+ EFI_MTFTP6_DATA8_HEADER Data8; ///< Data packet header with big block number.\r
+ EFI_MTFTP6_ACK8_HEADER Ack8; ///< Acknowledgement header with big block number.\r
+ EFI_MTFTP6_ERROR_HEADER Error; ///< Error packet header.\r
} EFI_MTFTP6_PACKET;\r
\r
#pragma pack()\r
/// driver choose a source address. If not zero it must be one of the\r
/// configured IP addresses in the underlying IPv6 driver.\r
///\r
- EFI_IPv6_ADDRESS StationIp;\r
+ EFI_IPv6_ADDRESS StationIp;\r
///\r
/// Local port number. Set to zero to use the automatically assigned port number.\r
///\r
- UINT16 LocalPort;\r
+ UINT16 LocalPort;\r
///\r
/// The IP address of the MTFTPv6 server.\r
///\r
- EFI_IPv6_ADDRESS ServerIp;\r
+ EFI_IPv6_ADDRESS ServerIp;\r
///\r
/// The initial MTFTPv6 server port number. Request packets are\r
/// sent to this port. This number is almost always 69 and using zero\r
/// defaults to 69.\r
- UINT16 InitialServerPort;\r
+ UINT16 InitialServerPort;\r
///\r
/// The number of times to transmit MTFTPv6 request packets and wait for a response.\r
///\r
- UINT16 TryCount;\r
+ UINT16 TryCount;\r
///\r
/// The number of seconds to wait for a response after sending the MTFTPv6 request packet.\r
///\r
- UINT16 TimeoutValue;\r
+ UINT16 TimeoutValue;\r
} EFI_MTFTP6_CONFIG_DATA;\r
\r
///\r
///\r
/// The configuration data of this instance.\r
///\r
- EFI_MTFTP6_CONFIG_DATA ConfigData;\r
+ EFI_MTFTP6_CONFIG_DATA ConfigData;\r
///\r
/// The number of option strings in the following SupportedOptions array.\r
///\r
- UINT8 SupportedOptionCount;\r
+ UINT8 SupportedOptionCount;\r
///\r
/// An array of null-terminated ASCII option strings that are recognized and supported by\r
/// this EFI MTFTPv6 Protocol driver implementation. The buffer is\r
/// read only to the caller and the caller should NOT free the buffer.\r
///\r
- UINT8 **SupportedOptions;\r
+ UINT8 **SupportedOptions;\r
} EFI_MTFTP6_MODE_DATA;\r
\r
///\r
/// IP address of the MTFTPv6 server. If set to all zero, the value that\r
/// was set by the EFI_MTFTP6_PROTOCOL.Configure() function will be used.\r
///\r
- EFI_IPv6_ADDRESS ServerIp;\r
+ EFI_IPv6_ADDRESS ServerIp;\r
///\r
/// MTFTPv6 server port number. If set to zero, it will use the value\r
/// that was set by the EFI_MTFTP6_PROTOCOL.Configure() function.\r
///\r
- UINT16 ServerPort;\r
+ UINT16 ServerPort;\r
///\r
/// Number of times to transmit MTFTPv6 request packets and wait\r
/// for a response. If set to zero, the value that was set by\r
/// theEFI_MTFTP6_PROTOCOL.Configure() function will be used.\r
///\r
- UINT16 TryCount;\r
+ UINT16 TryCount;\r
///\r
/// Number of seconds to wait for a response after sending the\r
/// MTFTPv6 request packet. If set to zero, the value that was set by\r
/// the EFI_MTFTP6_PROTOCOL.Configure() function will be used.\r
///\r
- UINT16 TimeoutValue;\r
+ UINT16 TimeoutValue;\r
} EFI_MTFTP6_OVERRIDE_DATA;\r
\r
///\r
/// EFI_MTFTP6_OPTION\r
///\r
typedef struct {\r
- UINT8 *OptionStr; ///< Pointer to the null-terminated ASCII MTFTPv6 option string.\r
- UINT8 *ValueStr; ///< Pointer to the null-terminated ASCII MTFTPv6 value string.\r
+ UINT8 *OptionStr; ///< Pointer to the null-terminated ASCII MTFTPv6 option string.\r
+ UINT8 *ValueStr; ///< Pointer to the null-terminated ASCII MTFTPv6 value string.\r
} EFI_MTFTP6_OPTION;\r
\r
/**\r
/// to indicate whether this operation completed successfully.\r
/// Defined Status values are listed below.\r
///\r
- EFI_STATUS Status;\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 EVT_NOTIFY_SIGNAL.\r
///\r
- EFI_EVENT Event;\r
+ EFI_EVENT Event;\r
///\r
/// If not NULL, the data that will be used to override the existing\r
/// configure data.\r
///\r
- EFI_MTFTP6_OVERRIDE_DATA *OverrideData;\r
+ EFI_MTFTP6_OVERRIDE_DATA *OverrideData;\r
///\r
/// Pointer to the null-terminated ASCII file name string.\r
///\r
- UINT8 *Filename;\r
+ UINT8 *Filename;\r
///\r
/// Pointer to the null-terminated ASCII mode string. If NULL, octet is used.\r
///\r
- UINT8 *ModeStr;\r
+ UINT8 *ModeStr;\r
///\r
/// Number of option/value string pairs.\r
///\r
- UINT32 OptionCount;\r
+ UINT32 OptionCount;\r
///\r
/// Pointer to an array of option/value string pairs. Ignored if\r
/// OptionCount is zero. Both a remote server and this driver\r
/// options are unrecognized by this implementation, it is sent to the\r
/// remote server without being changed.\r
///\r
- EFI_MTFTP6_OPTION *OptionList;\r
+ EFI_MTFTP6_OPTION *OptionList;\r
///\r
/// On input, the size, in bytes, of Buffer. On output, the number\r
/// of bytes transferred.\r
///\r
- UINT64 BufferSize;\r
+ UINT64 BufferSize;\r
///\r
/// Pointer to the data buffer. Data that is downloaded from the\r
/// MTFTPv6 server is stored here. Data that is uploaded to the\r
/// MTFTPv6 server is read from here. Ignored if BufferSize is zero.\r
///\r
- VOID *Buffer;\r
+ VOID *Buffer;\r
///\r
/// Pointer to the context that will be used by CheckPacket,\r
/// TimeoutCallback and PacketNeeded.\r
///\r
- VOID *Context;\r
+ VOID *Context;\r
///\r
/// Pointer to the callback function to check the contents of the\r
/// received packet.\r
///\r
- EFI_MTFTP6_CHECK_PACKET CheckPacket;\r
+ EFI_MTFTP6_CHECK_PACKET CheckPacket;\r
///\r
/// Pointer to the function to be called when a timeout occurs.\r
///\r
- EFI_MTFTP6_TIMEOUT_CALLBACK TimeoutCallback;\r
+ EFI_MTFTP6_TIMEOUT_CALLBACK TimeoutCallback;\r
///\r
/// Pointer to the function to provide the needed packet contents.\r
/// Only used in WriteFile() operation.\r
///\r
- EFI_MTFTP6_PACKET_NEEDED PacketNeeded;\r
+ EFI_MTFTP6_PACKET_NEEDED PacketNeeded;\r
};\r
\r
/**\r
(EFIAPI *EFI_MTFTP6_CONFIGURE)(\r
IN EFI_MTFTP6_PROTOCOL *This,\r
IN EFI_MTFTP6_CONFIG_DATA *MtftpConfigData OPTIONAL\r
-);\r
+ );\r
\r
/**\r
Get information about a file from an MTFTPv6 server.\r
IN EFI_MTFTP6_OPTION *OptionList OPTIONAL,\r
OUT UINT32 *PacketLength,\r
OUT EFI_MTFTP6_PACKET **Packet OPTIONAL\r
-);\r
+ );\r
\r
/**\r
Parse the options in an MTFTPv6 OACK packet.\r
(EFIAPI *EFI_MTFTP6_READ_DIRECTORY)(\r
IN EFI_MTFTP6_PROTOCOL *This,\r
IN EFI_MTFTP6_TOKEN *Token\r
-);\r
+ );\r
\r
/**\r
Polls for incoming data packets and processes outgoing data packets.\r
/// driver and EFI IPv6 Protocol driver.\r
///\r
struct _EFI_MTFTP6_PROTOCOL {\r
- EFI_MTFTP6_GET_MODE_DATA GetModeData;\r
- EFI_MTFTP6_CONFIGURE Configure;\r
- EFI_MTFTP6_GET_INFO GetInfo;\r
- EFI_MTFTP6_PARSE_OPTIONS ParseOptions;\r
- EFI_MTFTP6_READ_FILE ReadFile;\r
- EFI_MTFTP6_WRITE_FILE WriteFile;\r
- EFI_MTFTP6_READ_DIRECTORY ReadDirectory;\r
- EFI_MTFTP6_POLL Poll;\r
+ EFI_MTFTP6_GET_MODE_DATA GetModeData;\r
+ EFI_MTFTP6_CONFIGURE Configure;\r
+ EFI_MTFTP6_GET_INFO GetInfo;\r
+ EFI_MTFTP6_PARSE_OPTIONS ParseOptions;\r
+ EFI_MTFTP6_READ_FILE ReadFile;\r
+ EFI_MTFTP6_WRITE_FILE WriteFile;\r
+ EFI_MTFTP6_READ_DIRECTORY ReadDirectory;\r
+ EFI_MTFTP6_POLL Poll;\r
};\r
\r
-extern EFI_GUID gEfiMtftp6ServiceBindingProtocolGuid;\r
-extern EFI_GUID gEfiMtftp6ProtocolGuid;\r
+extern EFI_GUID gEfiMtftp6ServiceBindingProtocolGuid;\r
+extern EFI_GUID gEfiMtftp6ProtocolGuid;\r
\r
#endif\r
-\r