/** @file\r
Support functions declaration for UefiPxeBc Driver.\r
\r
- Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
\r
- 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
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
\r
/**\r
- Flush the previous configration using the new station Ip address.\r
+ Flush the previous configuration using the new station Ip address.\r
\r
@param[in] Private Pointer to PxeBc private data.\r
@param[in] StationIp Pointer to the station Ip address.\r
\r
**/\r
EFI_STATUS\r
-PxeBcFlushStaionIp (\r
+PxeBcFlushStationIp (\r
PXEBC_PRIVATE_DATA *Private,\r
- EFI_IP_ADDRESS *StationIp,\r
+ EFI_IP_ADDRESS *StationIp, OPTIONAL\r
EFI_IP_ADDRESS *SubnetMask OPTIONAL\r
);\r
\r
\r
@param Mode Pointer to EFI_PXE_BASE_CODE_MODE.\r
@param Ip4Addr The Ip4 address for resolution.\r
- @param MacAddress The resoluted MAC address if the resolution is successful.\r
+ @param MacAddress The resolved MAC address if the resolution is successful.\r
The value is undefined if resolution fails.\r
\r
@retval TRUE Found a matched entry.\r
/**\r
This function is to configure a UDPv4 instance for UdpWrite.\r
\r
- @param[in] Udp4 Pointer to EFI_UDP4_PROTOCOL.\r
- @param[in] StationIp Pointer to the station address.\r
- @param[in] SubnetMask Pointer to the subnet mask.\r
- @param[in] Gateway Pointer to the gateway address.\r
- @param[in, out] SrcPort Pointer to the source port.\r
- @param[in] DoNotFragment The flag of DoNotFragment bit in the IPv4\r
- packet.\r
+ @param[in] Udp4 The pointer to EFI_UDP4_PROTOCOL.\r
+ @param[in] StationIp The pointer to the station address.\r
+ @param[in] SubnetMask The pointer to the subnet mask.\r
+ @param[in] Gateway The pointer to the gateway address.\r
+ @param[in, out] SrcPort The pointer to the source port.\r
+ @param[in] DoNotFragment If TRUE, fragment is not enabled.\r
+ Otherwise, fragment is enabled.\r
+ @param[in] Ttl The time to live field of the IP header.\r
+ @param[in] ToS The type of service field of the IP header.\r
\r
@retval EFI_SUCCESS Successfully configured this instance.\r
@retval Others Failed to configure this instance.\r
IN EFI_IPv4_ADDRESS *SubnetMask,\r
IN EFI_IPv4_ADDRESS *Gateway,\r
IN OUT UINT16 *SrcPort,\r
- IN BOOLEAN DoNotFragment\r
+ IN BOOLEAN DoNotFragment,\r
+ IN UINT8 Ttl,\r
+ IN UINT8 ToS\r
);\r
\r
\r
@param[in] StationIp Pointer to the station address.\r
@param[in, out] SrcPort Pointer to the source port.\r
\r
- @retval EFI_SUCCESS Successfuly configured this instance.\r
+ @retval EFI_SUCCESS Successfully configured this instance.\r
@retval Others Failed to configure this instance.\r
\r
**/\r
@param[in] Session Pointer to the current UDPv4 session.\r
@param[in] OpFlags Operation flag for UdpRead/UdpWrite.\r
\r
- @retval TRUE Succesfully passed the Ip filter.\r
+ @retval TRUE Successfully passed the Ip filter.\r
@retval FALSE Failed to pass the Ip filter.\r
\r
**/\r
@param[in, out] DestIp Pointer to the dest Ip address.\r
@param[in] OpFlags Operation flag for UdpRead/UdpWrite.\r
\r
- @retval TRUE Succesfully passed the IPv4 filter.\r
+ @retval TRUE Successfully passed the IPv4 filter.\r
@retval FALSE Failed to pass the IPv4 filter.\r
\r
**/\r
@param[in, out] DestPort Pointer to the destination port.\r
@param[in] OpFlags Operation flag for UdpRead/UdpWrite.\r
\r
- @retval TRUE Succesfully passed the IPv4 filter.\r
+ @retval TRUE Successfully passed the IPv4 filter.\r
@retval FALSE Failed to pass the IPv4 filter.\r
\r
**/\r
@param[in, out] SrcIp Pointer to the source Ip address.\r
@param[in] OpFlags Operation flag for UdpRead/UdpWrite.\r
\r
- @retval TRUE Succesfully passed the IPv4 filter.\r
+ @retval TRUE Successfully passed the IPv4 filter.\r
@retval FALSE Failed to pass the IPv4 filter.\r
\r
**/\r
@param[in, out] SrcPort Pointer to the source port.\r
@param[in] OpFlags Operation flag for UdpRead/UdpWrite.\r
\r
- @retval TRUE Succesfully passed the IPv4 filter.\r
+ @retval TRUE Successfully passed the IPv4 filter.\r
@retval FALSE Failed to pass the IPv4 filter.\r
\r
**/\r
\r
@param[in] Number Numeric value to be converted.\r
@param[in] Buffer Pointer to the buffer for ASCII string.\r
+ @param[in] BufferSize The maxsize of the buffer.\r
\r
@return Length The actual length of the ASCII string.\r
\r
UINTN\r
PxeBcUintnToAscDec (\r
IN UINTN Number,\r
- IN UINT8 *Buffer\r
+ IN UINT8 *Buffer,\r
+ IN UINTN BufferSize\r
);\r
\r
/**\r
IN PXEBC_PRIVATE_DATA *Private\r
);\r
\r
+/**\r
+ Get the Nic handle using any child handle in the IPv4 stack.\r
+\r
+ @param[in] ControllerHandle Pointer to child handle over IPv4.\r
+\r
+ @return NicHandle The pointer to the Nic handle.\r
+\r
+**/\r
+EFI_HANDLE\r
+PxeBcGetNicByIp4Children (\r
+ IN EFI_HANDLE ControllerHandle\r
+ );\r
+\r
+/**\r
+ Get the Nic handle using any child handle in the IPv6 stack.\r
+\r
+ @param[in] ControllerHandle Pointer to child handle over IPv6.\r
+\r
+ @return NicHandle The pointer to the Nic handle.\r
+\r
+**/\r
+EFI_HANDLE\r
+PxeBcGetNicByIp6Children (\r
+ IN EFI_HANDLE ControllerHandle\r
+ );\r
#endif\r