The EFI UDPv4 Protocol provides simple packet-oriented services \r
to transmit and receive UDP packets. \r
\r
- Copyright (c) 2006 - 2008, 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) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution. \r
+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.0. \r
\r
**/\r
\r
\r
typedef struct _EFI_UDP4_PROTOCOL EFI_UDP4_PROTOCOL; \r
\r
+///\r
+/// EFI_UDP4_SERVICE_POINT is deprecated in the UEFI 2.4B and should not be used any more.\r
+/// The definition in here is only present to provide backwards compatability.\r
+///\r
typedef struct {\r
EFI_HANDLE InstanceHandle;\r
EFI_IPv4_ADDRESS LocalAddress;\r
UINT16 RemotePort;\r
} EFI_UDP4_SERVICE_POINT; \r
\r
+///\r
+/// EFI_UDP4_VARIABLE_DATA is deprecated in the UEFI 2.4B and should not be used any more.\r
+/// The definition in here is only present to provide backwards compatability.\r
+///\r
typedef struct {\r
EFI_HANDLE DriverHandle;\r
UINT32 ServiceCount;\r
optionally to retrieve the operational mode data of underlying networks or\r
drivers.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
- @param Udp4ConfigData Pointer to the buffer to receive the current configuration data.\r
- @param Ip4ModeData Pointer to the EFI IPv4 Protocol mode data structure.\r
- @param MnpConfigData Pointer to the managed network configuration data structure.\r
- @param SnpModeData Pointer to the simple network mode data structure.\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param Udp4ConfigData The pointer to the buffer to receive the current configuration data.\r
+ @param Ip4ModeData The pointer to the EFI IPv4 Protocol mode data structure.\r
+ @param MnpConfigData The pointer to the managed network configuration data structure.\r
+ @param SnpModeData The pointer to the simple network mode data structure.\r
\r
@retval EFI_SUCCESS The mode data was read.\r
@retval EFI_NOT_STARTED When Udp4ConfigData is queried, no configuration data is\r
With different parameters in UdpConfigData, Configure() can be used to bind\r
this instance to specified port.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
- @param Udp4ConfigData Pointer to the buffer to receive the current configuration data.\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param Udp4ConfigData The pointer to the buffer to receive the current configuration data.\r
\r
@retval EFI_SUCCESS The configuration settings were set, changed, or reset successfully.\r
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP,\r
RARP, etc.) is not finished yet.\r
- @retval EFI_INVALID_PARAMETER One or more following conditions are TRUE:\r
+ @retval EFI_INVALID_PARAMETER This is NULL.\r
+ @retval EFI_INVALID_PARAMETER UdpConfigData.StationAddress is not a valid unicast IPv4 address.\r
+ @retval EFI_INVALID_PARAMETER UdpConfigData.SubnetMask is not a valid IPv4 address mask. The subnet\r
+ mask must be contiguous.\r
+ @retval EFI_INVALID_PARAMETER UdpConfigData.RemoteAddress is not a valid unicast IPv4 address if it\r
+ is not zero.\r
@retval EFI_ALREADY_STARTED The EFI UDPv4 Protocol instance is already started/configured\r
and must be stopped/reset before it can be reconfigured.\r
@retval EFI_ACCESS_DENIED UdpConfigData. AllowDuplicatePort is FALSE\r
filtering. If the JoinFlag is FALSE and the MulticastAddress is NULL, then all\r
currently joined groups are left.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
@param JoinFlag Set to TRUE to join a multicast group. Set to FALSE to leave one\r
or all multicast groups.\r
- @param MulticastAddress Pointer to multicast group address to join or leave.\r
+ @param MulticastAddress The pointer to multicast group address to join or leave.\r
\r
@retval EFI_SUCCESS The operation completed successfully.\r
@retval EFI_NOT_STARTED The EFI UDPv4 Protocol instance has not been started.\r
copies will be updated automatically whenever the IP driver reconfigures its\r
instances; as a result, the previous modification to these copies will be lost.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
@param DeleteRoute Set to TRUE to delete this route from the routing table.\r
Set to FALSE to add this route to the routing table.\r
@param SubnetAddress The destination network address that needs to be routed.\r
Drivers and applications that are experiencing packet loss should try calling\r
the Poll() function more often.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
\r
@retval EFI_SUCCESS Incoming or outgoing data was processed.\r
@retval EFI_INVALID_PARAMETER This is NULL.\r
will enable the user to receive the notification and receiving status. That\r
notification function is guaranteed to not be re-entered.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
- @param Token Pointer to a token that is associated with the receive data\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param Token The pointer to a token that is associated with the receive data\r
descriptor.\r
\r
@retval EFI_SUCCESS The receive completion token was cached.\r
@retval EFI_NOT_STARTED This EFI UDPv4 Protocol instance has not been started.\r
@retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP, RARP, etc.)\r
is not finished yet.\r
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ @retval EFI_INVALID_PARAMETER This is NULL.\r
+ @retval EFI_INVALID_PARAMETER Token is NULL.\r
+ @retval EFI_INVALID_PARAMETER Token.Event is NULL.\r
@retval EFI_OUT_OF_RESOURCES The receive completion token could not be queued due to a lack of system\r
resources (usually memory).\r
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.\r
and context for the event will enable the user to receive the notification and\r
transmitting status.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
- @param Token Pointer to the completion token that will be placed into the\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param Token The pointer to the completion token that will be placed into the\r
transmit queue.\r
\r
@retval EFI_SUCCESS The data has been queued for transmission.\r
the asynchronous operation has completed, this function will not signal the\r
token and EFI_NOT_FOUND is returned.\r
\r
- @param This Pointer to the EFI_UDP4_PROTOCOL instance.\r
- @param Token Pointer to a token that has been issued by\r
+ @param This The pointer to the EFI_UDP4_PROTOCOL instance.\r
+ @param Token The pointer to a token that has been issued by\r
EFI_UDP4_PROTOCOL.Transmit() or\r
EFI_UDP4_PROTOCOL.Receive().If NULL, all pending\r
tokens are aborted.\r