the EFI UDPv6 Protocol and provides basic services for client-side unicast and/or\r
multicast TFTP operations.\r
\r
-Copyright (c) 2008 - 2009, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ Copyright (c) 2008 - 2009, Intel Corporation \r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+ \r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+ @par Revision Reference: \r
+ This Protocol is introduced in UEFI Specification 2.2\r
\r
**/\r
\r
- MtftpConfigData.StationIp is neither zero nor one \r
of the configured IP addresses in the underlying IPv6 driver.\r
- MtftpCofigData.ServerIp is not a valid IPv6 unicast address.\r
- - The StationIP and LocalPort is already in use\r
- @retval EFI_ACCESS_DENIED The configuration could not be changed at this time because there \r
- is some MTFTP background operation in progress.\r
+ Note: It does not match UEFI 2.3 Specification.\r
+ @retval EFI_ACCESS_DENIED - The configuration could not be changed at this time because there \r
+ is some MTFTP background operation in progress.\r
+ - MtftpCofigData.LocalPort is already in use.\r
+ Note: It does not match UEFI 2.3 Specification.\r
@retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source \r
- address for this instance, but no source address was available for use\r
+ address for this instance, but no source address was available for use.\r
+ @retval EFI_OUT_OF_RESOURCES The EFI MTFTPv6 Protocol driver instance data could not be \r
+ allocated.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI \r
+ MTFTPv6 Protocol driver instance is not configured.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+\r
\r
**/\r
typedef \r
@param[out] Packet The pointer to the received packet. This buffer must be freed by \r
the caller.\r
\r
- @retval EFI_SUCCESS An MTFTPv6 OACK packet was received and is in the Buffer.\r
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
- - This is NULL.\r
- - Filename is NULL\r
- - OptionCount is not zero and OptionList is NULL.\r
- - One or more options in OptionList have wrong format.\r
- - PacketLength is NULL.\r
- - OverrideData.ServerIp is not valid unicast IPv6 addresses.\r
- @retval EFI_UNSUPPORTED One or more options in the OptionList are unsupported by \r
- this implementation.\r
- @retval EFI_NOT_STARTED The EFI MTFTPv6 Protocol driver has not been started.\r
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source \r
- address for this instance, but no source address was available for use.\r
- @retval EFI_ACCESS_DENIED The previous operation has not completed yet.\r
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.\r
- @retval EFI_TFTP_ERROR An MTFTPv6 ERROR packet was received and is in the Packet.\r
- @retval EFI_ICMP_ERROR An ICMP ERROR packet was received and the Packet is set to NULL.\r
- @retval EFI_PROTOCOL_ERROR An unexpected MTFTPv6 packet was received and is in the Packet.\r
- @retval EFI_TIMEOUT No responses were received from the MTFTPv6 server.\r
- @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.\r
+ @retval EFI_SUCCESS An MTFTPv6 OACK packet was received and is in the Packet.\r
+ Note: It does not match UEFI 2.3 Specification.\r
+ @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ - This is NULL.\r
+ - Filename is NULL\r
+ - OptionCount is not zero and OptionList is NULL.\r
+ - One or more options in OptionList have wrong format.\r
+ - PacketLength is NULL.\r
+ - OverrideData.ServerIp is not valid unicast IPv6 addresses.\r
+ @retval EFI_UNSUPPORTED One or more options in the OptionList are unsupported by \r
+ this implementation.\r
+ @retval EFI_NOT_STARTED The EFI MTFTPv6 Protocol driver has not been started.\r
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source \r
+ address for this instance, but no source address was available for use.\r
+ @retval EFI_ACCESS_DENIED The previous operation has not completed yet.\r
+ @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.\r
+ @retval EFI_TFTP_ERROR An MTFTPv6 ERROR packet was received and is in the Packet.\r
+ @retval EFI_NETWORK_UNREACHABLE An ICMP network unreachable error packet was received and the Packet is set to NULL.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_HOST_UNREACHABLE An ICMP host unreachable error packet was received and the Packet is set to NULL.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_PROTOCOL_UNREACHABLE An ICMP protocol unreachable error packet was received and the Packet is set to NULL.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_PORT_UNREACHABLE An ICMP port unreachable error packet was received and the Packet is set to NULL.\r
+ @retval EFI_ICMP_ERROR Some other ICMP ERROR packet was received and the Packet is set to NULL.\r
+ Note: It does not match UEFI 2.3 Specification.\r
+ @retval EFI_PROTOCOL_ERROR An unexpected MTFTPv6 packet was received and is in the Packet.\r
+ @retval EFI_TIMEOUT No responses were received from the MTFTPv6 server.\r
+ @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.\r
\r
**/\r
typedef \r
@param[in] Token Pointer to the token structure to provide the parameters that are \r
used in this operation.\r
\r
- @retval EFI_SUCCESS The data file has been transferred successfully.\r
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.\r
- @retval EFI_BUFFER_TOO_SMALL BufferSize is not large enough to hold the downloaded data \r
- in downloading process.\r
- @retval EFI_ABORTED Current operation is aborted by user.\r
- @retval EFI_ICMP_ERROR An ICMP ERROR packet was received.\r
- @retval EFI_TIMEOUT No responses were received from the MTFTPv6 server.\r
- @retval EFI_TFTP_ERROR An MTFTPv6 ERROR packet was received.\r
- @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.\r
+ @retval EFI_SUCCESS The data file has been transferred successfully.\r
+ @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.\r
+ @retval EFI_BUFFER_TOO_SMALL BufferSize is not zero but not large enough to hold the\r
+ downloaded data in downloading process.\r
+ Note: It does not match UEFI 2.3 Specification.\r
+ @retval EFI_ABORTED Current operation is aborted by user.\r
+ @retval EFI_NETWORK_UNREACHABLE An ICMP network unreachable error packet was received.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_HOST_UNREACHABLE An ICMP host unreachable error packet was received.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_PROTOCOL_UNREACHABLE An ICMP protocol unreachable error packet was received.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_PORT_UNREACHABLE An ICMP port unreachable error packet was received.\r
+ Note: It is not defined in UEFI 2.3 Specification.\r
+ @retval EFI_ICMP_ERROR An ICMP ERROR packet was received.\r
+ @retval EFI_TIMEOUT No responses were received from the MTFTPv6 server.\r
+ @retval EFI_TFTP_ERROR An MTFTPv6 ERROR packet was received.\r
+ @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.\r
\r
**/\r
typedef \r