NetworkPkg/UefiPxeBcDxe/PxeBcSupport.h File Reference


Defines

#define ICMP_DEST_UNREACHABLE   3
#define ICMP_SOURCE_QUENCH   4
#define ICMP_REDIRECT   5
#define ICMP_ECHO_REQUEST   8
#define ICMP_TIME_EXCEEDED   11
#define ICMP_PARAMETER_PROBLEM   12

Functions

EFI_STATUS PxeBcFlushStationIp (PXEBC_PRIVATE_DATA *Private, EFI_IP_ADDRESS *StationIp, EFI_IP_ADDRESS *SubnetMask)
VOID EFIAPI PxeBcCommonNotify (IN EFI_EVENT Event, IN VOID *Context)
BOOLEAN PxeBcCheckArpCache (IN EFI_PXE_BASE_CODE_MODE *Mode, IN EFI_IPv4_ADDRESS *Ip4Addr, OUT EFI_MAC_ADDRESS *MacAddress)
VOID EFIAPI PxeBcArpCacheUpdate (IN EFI_EVENT Event, IN VOID *Context)
VOID EFIAPI PxeBcIcmpErrorUpdate (IN EFI_EVENT Event, IN VOID *Context)
VOID EFIAPI PxeBcIcmp6ErrorUpdate (IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS PxeBcConfigUdp4Write (IN EFI_UDP4_PROTOCOL *Udp4, IN EFI_IPv4_ADDRESS *StationIp, IN EFI_IPv4_ADDRESS *SubnetMask, IN EFI_IPv4_ADDRESS *Gateway, IN OUT UINT16 *SrcPort, IN BOOLEAN DoNotFragment)
EFI_STATUS PxeBcConfigUdp6Write (IN EFI_UDP6_PROTOCOL *Udp6, IN EFI_IPv6_ADDRESS *StationIp, IN OUT UINT16 *SrcPort)
EFI_STATUS PxeBcUdp4Write (IN EFI_UDP4_PROTOCOL *Udp4, IN EFI_UDP4_SESSION_DATA *Session, IN EFI_EVENT TimeoutEvent, IN EFI_IPv4_ADDRESS *Gateway, IN UINTN *HeaderSize, IN VOID *HeaderPtr, IN UINTN *BufferSize, IN VOID *BufferPtr)
EFI_STATUS PxeBcUdp6Write (IN EFI_UDP6_PROTOCOL *Udp6, IN EFI_UDP6_SESSION_DATA *Session, IN EFI_EVENT TimeoutEvent, IN UINTN *HeaderSize, IN VOID *HeaderPtr, IN UINTN *BufferSize, IN VOID *BufferPtr)
BOOLEAN PxeBcCheckByIpFilter (IN EFI_PXE_BASE_CODE_MODE *Mode, IN VOID *Session, IN UINT16 OpFlags)
BOOLEAN PxeBcCheckByDestIp (IN EFI_PXE_BASE_CODE_MODE *Mode, IN VOID *Session, IN OUT EFI_IP_ADDRESS *DestIp, IN UINT16 OpFlags)
BOOLEAN PxeBcCheckByDestPort (IN EFI_PXE_BASE_CODE_MODE *Mode, IN VOID *Session, IN OUT UINT16 *DestPort, IN UINT16 OpFlags)
BOOLEAN PxeBcFilterBySrcIp (IN EFI_PXE_BASE_CODE_MODE *Mode, IN VOID *Session, IN OUT EFI_IP_ADDRESS *SrcIp, IN UINT16 OpFlags)
BOOLEAN PxeBcFilterBySrcPort (IN EFI_PXE_BASE_CODE_MODE *Mode, IN VOID *Session, IN OUT UINT16 *SrcPort, IN UINT16 OpFlags)
EFI_STATUS PxeBcUdp4Read (IN EFI_UDP4_PROTOCOL *Udp4, IN EFI_UDP4_COMPLETION_TOKEN *Token, IN EFI_PXE_BASE_CODE_MODE *Mode, IN EFI_EVENT TimeoutEvent, IN UINT16 OpFlags, IN BOOLEAN *IsDone, OUT BOOLEAN *IsMatched, IN OUT EFI_IP_ADDRESS *DestIp, IN OUT EFI_PXE_BASE_CODE_UDP_PORT *DestPort, IN OUT EFI_IP_ADDRESS *SrcIp, IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort)
EFI_STATUS PxeBcUdp6Read (IN EFI_UDP6_PROTOCOL *Udp6, IN EFI_UDP6_COMPLETION_TOKEN *Token, IN EFI_PXE_BASE_CODE_MODE *Mode, IN EFI_EVENT TimeoutEvent, IN UINT16 OpFlags, IN BOOLEAN *IsDone, OUT BOOLEAN *IsMatched, IN OUT EFI_IP_ADDRESS *DestIp, IN OUT EFI_PXE_BASE_CODE_UDP_PORT *DestPort, IN OUT EFI_IP_ADDRESS *SrcIp, IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort)
VOID PxeBcShowIp4Addr (IN EFI_IPv4_ADDRESS *Ip)
VOID PxeBcShowIp6Addr (IN EFI_IPv6_ADDRESS *Ip)
VOID PxeBcUintnToAscDecWithFormat (IN UINTN Number, IN UINT8 *Buffer, IN INTN Length)
UINTN PxeBcUintnToAscDec (IN UINTN Number, IN UINT8 *Buffer, IN UINTN BufferSize)
EFI_STATUS PxeBcUniHexToUint8 (OUT UINT8 *Digit, IN CHAR16 Char)
VOID CalcElapsedTime (IN PXEBC_PRIVATE_DATA *Private)
EFI_HANDLE PxeBcGetNicByIp4Children (IN EFI_HANDLE ControllerHandle)
EFI_HANDLE PxeBcGetNicByIp6Children (IN EFI_HANDLE ControllerHandle)

Detailed Description

Support functions declaration for UefiPxeBc Driver.

Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.

This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define Documentation

#define ICMP_DEST_UNREACHABLE   3

Referenced by PxeBcIcmpErrorDpcHandle().

#define ICMP_ECHO_REQUEST   8

#define ICMP_PARAMETER_PROBLEM   12

Referenced by PxeBcIcmpErrorDpcHandle().

#define ICMP_REDIRECT   5

Referenced by PxeBcIcmpErrorDpcHandle().

#define ICMP_SOURCE_QUENCH   4

Referenced by PxeBcIcmpErrorDpcHandle().

#define ICMP_TIME_EXCEEDED   11

Referenced by PxeBcIcmpErrorDpcHandle().


Function Documentation

VOID CalcElapsedTime ( IN PXEBC_PRIVATE_DATA Private  ) 

Calculate the elapsed time.

Parameters:
[in] Private The pointer to PXE private data

Referenced by PxeBcDhcp6CallBack(), and PxeBcRequestBootService().

VOID EFIAPI PxeBcArpCacheUpdate ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Update arp cache periodically.

Parameters:
Event Pointer to EFI_PXE_BC_PROTOCOL.
Context Context of the timer event.
Update the arp cache periodically.

Parameters:
Event The pointer to EFI_PXE_BC_PROTOCOL.
Context Context of the timer event.

References _PXEBC_PRIVATE_DATA::Arp, and _PXEBC_PRIVATE_DATA::PxeBc.

Referenced by EfiPxeBcArp(), and EfiPxeBcStart().

BOOLEAN PxeBcCheckArpCache ( IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN EFI_IPv4_ADDRESS *  Ip4Addr,
OUT EFI_MAC_ADDRESS *  MacAddress 
)

Perform arp resolution from the arp cache in PxeBcMode.

Parameters:
Mode Pointer to EFI_PXE_BASE_CODE_MODE.
Ip4Addr The Ip4 address for resolution.
MacAddress The resoluted MAC address if the resolution is successful. The value is undefined if resolution fails.
Return values:
TRUE Found a matched entry.
FALSE Did not find a matched entry.
Do arp resolution from arp cache in PxeBcMode.

Parameters:
Mode The pointer to EFI_PXE_BASE_CODE_MODE.
Ip4Addr The Ip4 address for resolution.
MacAddress The resoluted MAC address if the resolution is successful. The value is undefined if the resolution fails.
Return values:
TRUE Found an matched entry.
FALSE Did not find a matched entry.

Referenced by EfiPxeBcArp().

BOOLEAN PxeBcCheckByDestIp ( IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN VOID *  Session,
IN OUT EFI_IP_ADDRESS *  DestIp,
IN UINT16  OpFlags 
)

Filter the received packet with the destination Ip.

Parameters:
[in] Mode Pointer to mode data of PxeBc.
[in] Session Pointer to the current UDPv4 session.
[in,out] DestIp Pointer to the dest Ip address.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Succesfully passed the IPv4 filter.
FALSE Failed to pass the IPv4 filter.
Filter the received packet using the destination Ip.

Parameters:
[in] Mode The pointer to the mode data of PxeBc.
[in] Session The pointer to the current UDPv4 session.
[in,out] DestIp The pointer to the destination Ip address.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Passed the IPv4 filter successfully.
FALSE Failed to pass the IPv4 filter.

Referenced by PxeBcUdp4Read(), and PxeBcUdp6Read().

BOOLEAN PxeBcCheckByDestPort ( IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN VOID *  Session,
IN OUT UINT16 *  DestPort,
IN UINT16  OpFlags 
)

Check the received packet with the destination port.

Parameters:
[in] Mode Pointer to mode data of PxeBc.
[in] Session Pointer to the current UDPv4 session.
[in,out] DestPort Pointer to the destination port.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Succesfully passed the IPv4 filter.
FALSE Failed to pass the IPv4 filter.
Check the received packet using the destination port.

Parameters:
[in] Mode The pointer to the mode data of PxeBc.
[in] Session The pointer to the current UDPv4 session.
[in,out] DestPort The pointer to the destination port.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Passed the IPv4 filter successfully.
FALSE Failed to pass the IPv4 filter.

Referenced by PxeBcUdp4Read(), and PxeBcUdp6Read().

BOOLEAN PxeBcCheckByIpFilter ( IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN VOID *  Session,
IN UINT16  OpFlags 
)

Check the received packet with the Ip filter.

Parameters:
[in] Mode Pointer to mode data of PxeBc.
[in] Session Pointer to the current UDPv4 session.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Succesfully passed the Ip filter.
FALSE Failed to pass the Ip filter.
Check the received packet using the Ip filter.

Parameters:
[in] Mode The pointer to the mode data of PxeBc.
[in] Session The pointer to the current UDPv4 session.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Passed the Ip filter successfully.
FALSE Failed to pass the Ip filter.

Referenced by PxeBcUdp4Read(), and PxeBcUdp6Read().

VOID EFIAPI PxeBcCommonNotify ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Notify callback function when an event is triggered.

Parameters:
[in] Event The triggered event.
[in] Context The opaque parameter to the function.
Notify the callback function when an event is triggered.

Parameters:
[in] Event The triggered event.
[in] Context The opaque parameter to the function.

Referenced by EfiPxeBcArp(), EfiPxeBcUdpRead(), PxeBcRegisterIp6Address(), PxeBcUdp4Write(), and PxeBcUdp6Write().

EFI_STATUS PxeBcConfigUdp4Write ( IN EFI_UDP4_PROTOCOL *  Udp4,
IN EFI_IPv4_ADDRESS *  StationIp,
IN EFI_IPv4_ADDRESS *  SubnetMask,
IN EFI_IPv4_ADDRESS *  Gateway,
IN OUT UINT16 *  SrcPort,
IN BOOLEAN  DoNotFragment 
)

This function is to configure a UDPv4 instance for UdpWrite.

Parameters:
[in] Udp4 Pointer to EFI_UDP4_PROTOCOL.
[in] StationIp Pointer to the station address.
[in] SubnetMask Pointer to the subnet mask.
[in] Gateway Pointer to the gateway address.
[in,out] SrcPort Pointer to the source port.
[in] DoNotFragment The flag of DoNotFragment bit in the IPv4 packet.
Return values:
EFI_SUCCESS Successfully configured this instance.
Others Failed to configure this instance.
This function is to configure a UDPv4 instance for UdpWrite.

Parameters:
[in] Udp4 The pointer to EFI_UDP4_PROTOCOL.
[in] StationIp The pointer to the station address.
[in] SubnetMask The pointer to the subnet mask.
[in] Gateway The pointer to the gateway address.
[in,out] SrcPort The pointer to the source port.
[in] DoNotFragment If TRUE, fragment is not enabled. Otherwise, fragment is enabled.
Return values:
EFI_SUCCESS Successfully configured this instance.
Others Failed to configure this instance.

References PXEBC_DEFAULT_LIFETIME.

Referenced by EfiPxeBcUdpWrite().

EFI_STATUS PxeBcConfigUdp6Write ( IN EFI_UDP6_PROTOCOL *  Udp6,
IN EFI_IPv6_ADDRESS *  StationIp,
IN OUT UINT16 *  SrcPort 
)

This function is to configure a UDPv6 instance for UdpWrite.

Parameters:
[in] Udp6 Pointer to EFI_UDP6_PROTOCOL.
[in] StationIp Pointer to the station address.
[in,out] SrcPort Pointer to the source port.
Return values:
EFI_SUCCESS Successfuly configured this instance.
Others Failed to configure this instance.
This function is to configure a UDPv6 instance for UdpWrite.

Parameters:
[in] Udp6 The pointer to EFI_UDP6_PROTOCOL.
[in] StationIp The pointer to the station address.
[in,out] SrcPort The pointer to the source port.
Return values:
EFI_SUCCESS Successfully configured this instance.
Others Failed to configure this instance.

References PXEBC_DEFAULT_HOPLIMIT, and PXEBC_DEFAULT_LIFETIME.

Referenced by EfiPxeBcUdpWrite().

BOOLEAN PxeBcFilterBySrcIp ( IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN VOID *  Session,
IN OUT EFI_IP_ADDRESS *  SrcIp,
IN UINT16  OpFlags 
)

Filter the received packet with the source Ip.

Parameters:
[in] Mode Pointer to mode data of PxeBc.
[in] Session Pointer to the current UDPv4 session.
[in,out] SrcIp Pointer to the source Ip address.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Succesfully passed the IPv4 filter.
FALSE Failed to pass the IPv4 filter.
Filter the received packet using the source Ip.

Parameters:
[in] Mode The pointer to the mode data of PxeBc.
[in] Session The pointer to the current UDPv4 session.
[in,out] SrcIp The pointer to the source Ip address.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Passed the IPv4 filter successfully.
FALSE Failed to pass the IPv4 filter.

Referenced by PxeBcUdp4Read(), and PxeBcUdp6Read().

BOOLEAN PxeBcFilterBySrcPort ( IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN VOID *  Session,
IN OUT UINT16 *  SrcPort,
IN UINT16  OpFlags 
)

Filter the received packet with the source port.

Parameters:
[in] Mode Pointer to mode data of PxeBc.
[in] Session Pointer to the current UDPv4 session.
[in,out] SrcPort Pointer to the source port.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Succesfully passed the IPv4 filter.
FALSE Failed to pass the IPv4 filter.
Filter the received packet using the source port.

Parameters:
[in] Mode The pointer to the mode data of PxeBc.
[in] Session The pointer to the current UDPv4 session.
[in,out] SrcPort The pointer to the source port.
[in] OpFlags Operation flag for UdpRead/UdpWrite.
Return values:
TRUE Passed the IPv4 filter successfully.
FALSE Failed to pass the IPv4 filter.

Referenced by PxeBcUdp4Read(), and PxeBcUdp6Read().

EFI_STATUS PxeBcFlushStationIp ( PXEBC_PRIVATE_DATA Private,
EFI_IP_ADDRESS *  StationIp,
EFI_IP_ADDRESS *  SubnetMask 
)

Flush the previous configration using the new station Ip address.

Parameters:
[in] Private Pointer to PxeBc private data.
[in] StationIp Pointer to the station Ip address.
[in] SubnetMask Pointer to the subnet mask address for v4.
Return values:
EFI_SUCCESS Successfully flushed the previous config.
Others Failed to flush using the new station Ip.
Flush the previous configration using the new station Ip address.

Parameters:
[in] Private The pointer to the PxeBc private data.
[in] StationIp The pointer to the station Ip address.
[in] SubnetMask The pointer to the subnet mask address for v4.
Return values:
EFI_SUCCESS Successfully flushed the previous configuration.
Others Failed to flush using the new station Ip.

References _PXEBC_PRIVATE_DATA::Icmp6Token, _PXEBC_PRIVATE_DATA::IcmpToken, _PXEBC_PRIVATE_DATA::Ip4, _PXEBC_PRIVATE_DATA::Ip4CfgData, _PXEBC_PRIVATE_DATA::Ip6, _PXEBC_PRIVATE_DATA::Ip6CfgData, _PXEBC_PRIVATE_DATA::PxeBc, _PXEBC_PRIVATE_DATA::Udp4CfgData, and _PXEBC_PRIVATE_DATA::Udp6CfgData.

Referenced by EfiPxeBcSetStationIP(), PxeBcDhcp4Dora(), and PxeBcSetIp6Address().

EFI_HANDLE PxeBcGetNicByIp4Children ( IN EFI_HANDLE  ControllerHandle  ) 

Get the Nic handle using any child handle in the IPv4 stack.

Parameters:
[in] ControllerHandle Pointer to child handle over IPv4.
Returns:
NicHandle The pointer to the Nic handle.

Referenced by PxeBcComponentNameGetControllerName(), and PxeBcStop().

EFI_HANDLE PxeBcGetNicByIp6Children ( IN EFI_HANDLE  ControllerHandle  ) 

Get the Nic handle using any child handle in the IPv6 stack.

Parameters:
[in] ControllerHandle Pointer to child handle over IPv6.
Returns:
NicHandle The pointer to the Nic handle.

Referenced by PxeBcComponentNameGetControllerName(), and PxeBcStop().

VOID EFIAPI PxeBcIcmp6ErrorUpdate ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

xxx

Parameters:
Event The event signaled.
Context The context passed in by the event notifier.
Callback function to update the latest ICMP6 error message.

Parameters:
Event The event signalled.
Context The context passed in using the event notifier.

References PxeBcIcmp6ErrorDpcHandle().

Referenced by EfiPxeBcStart().

VOID EFIAPI PxeBcIcmpErrorUpdate ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

xxx

Parameters:
Event The event signaled.
Context The context passed in by the event notifier.
Callback function to update the latest ICMP6 error message.

Parameters:
Event The event signalled.
Context The context passed in using the event notifier.

References PxeBcIcmpErrorDpcHandle().

Referenced by EfiPxeBcStart().

VOID PxeBcShowIp4Addr ( IN EFI_IPv4_ADDRESS *  Ip  ) 

This function is to display the IPv4 address.

Parameters:
[in] Ip Pointer to the IPv4 address.
This function is to display the IPv4 address.

Parameters:
[in] Ip The pointer to the IPv4 address.

Referenced by PxeBcDhcp4BootInfo(), and PxeBcDhcp4Dora().

VOID PxeBcShowIp6Addr ( IN EFI_IPv6_ADDRESS *  Ip  ) 

This function is to display the IPv6 address.

Parameters:
[in] Ip Pointer to the IPv6 address.
This function is to display the IPv6 address.

Parameters:
[in] Ip The pointer to the IPv6 address.

Referenced by PxeBcDhcp6BootInfo(), and PxeBcSetIp6Address().

EFI_STATUS PxeBcUdp4Read ( IN EFI_UDP4_PROTOCOL *  Udp4,
IN EFI_UDP4_COMPLETION_TOKEN *  Token,
IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN EFI_EVENT  TimeoutEvent,
IN UINT16  OpFlags,
IN BOOLEAN *  IsDone,
OUT BOOLEAN *  IsMatched,
IN OUT EFI_IP_ADDRESS *  DestIp,
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *  DestPort,
IN OUT EFI_IP_ADDRESS *  SrcIp,
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *  SrcPort 
)

This function is to receive packet with Udp4Read.

Parameters:
[in] Udp4 Pointer to EFI_UDP4_PROTOCOL.
[in] Token Pointer to EFI_UDP4_COMPLETION_TOKEN.
[in] Mode Pointer to EFI_PXE_BASE_CODE_MODE.
[in] TimeoutEvent The event for timeout.
[in] OpFlags The UDP operation flags.
[in] IsDone Pointer to IsDone flag.
[out] IsMatched Pointer to IsMatched flag.
[in,out] DestIp Pointer to destination address.
[in,out] DestPort Pointer to destination port.
[in,out] SrcIp Pointer to source address.
[in,out] SrcPort Pointer to source port.
Return values:
EFI_SUCCESS Successfully read data with Udp4.
Others Failed to send out data.
This function is to receive packet using Udp4Read.

Parameters:
[in] Udp4 The pointer to EFI_UDP4_PROTOCOL.
[in] Token The pointer to EFI_UDP4_COMPLETION_TOKEN.
[in] Mode The pointer to EFI_PXE_BASE_CODE_MODE.
[in] TimeoutEvent The event for timeout.
[in] OpFlags The UDP operation flags.
[in] IsDone The pointer to the IsDone flag.
[out] IsMatched The pointer to the IsMatched flag.
[in,out] DestIp The pointer to the destination address.
[in,out] DestPort The pointer to the destination port.
[in,out] SrcIp The pointer to the source address.
[in,out] SrcPort The pointer to the source port.
Return values:
EFI_SUCCESS Successfully read the data using Udp4.
Others Failed to send out data.

References PxeBcCheckByDestIp(), PxeBcCheckByDestPort(), PxeBcCheckByIpFilter(), PxeBcFilterBySrcIp(), and PxeBcFilterBySrcPort().

Referenced by EfiPxeBcUdpRead().

EFI_STATUS PxeBcUdp4Write ( IN EFI_UDP4_PROTOCOL *  Udp4,
IN EFI_UDP4_SESSION_DATA *  Session,
IN EFI_EVENT  TimeoutEvent,
IN EFI_IPv4_ADDRESS *  Gateway,
IN UINTN *  HeaderSize,
IN VOID *  HeaderPtr,
IN UINTN *  BufferSize,
IN VOID *  BufferPtr 
)

This function is to configure a UDPv4 instance for UdpWrite.

Parameters:
[in] Udp4 Pointer to EFI_UDP4_PROTOCOL.
[in] Session Pointer to the UDP4 session data.
[in] TimeoutEvent The event for timeout.
[in] Gateway Pointer to the gateway address.
[in] HeaderSize An optional field which may be set to the length of a header at HeaderPtr to be prefixed to the data at BufferPtr.
[in] HeaderPtr If HeaderSize is not NULL, a pointer to a header to be prefixed to the data at BufferPtr.
[in] BufferSize A pointer to the size of the data at BufferPtr.
[in] BufferPtr A pointer to the data to be written.
Return values:
EFI_SUCCESS Successfully sent out data with Udp4Write.
Others Failed to send out data.
This function is to configure a UDPv4 instance for UdpWrite.

Parameters:
[in] Udp4 The pointer to EFI_UDP4_PROTOCOL.
[in] Session The pointer to the UDP4 session data.
[in] TimeoutEvent The event for timeout.
[in] Gateway The pointer to the gateway address.
[in] HeaderSize An optional field which may be set to the length of a header at HeaderPtr to be prefixed to the data at BufferPtr.
[in] HeaderPtr If HeaderSize is not NULL, a pointer to a header to be prefixed to the data at BufferPtr.
[in] BufferSize A pointer to the size of the data at BufferPtr.
[in] BufferPtr A pointer to the data to be written.
Return values:
EFI_SUCCESS Successfully send out data using Udp4Write.
Others Failed to send out data.

References PxeBcCommonNotify().

Referenced by EfiPxeBcUdpWrite().

EFI_STATUS PxeBcUdp6Read ( IN EFI_UDP6_PROTOCOL *  Udp6,
IN EFI_UDP6_COMPLETION_TOKEN *  Token,
IN EFI_PXE_BASE_CODE_MODE *  Mode,
IN EFI_EVENT  TimeoutEvent,
IN UINT16  OpFlags,
IN BOOLEAN *  IsDone,
OUT BOOLEAN *  IsMatched,
IN OUT EFI_IP_ADDRESS *  DestIp,
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *  DestPort,
IN OUT EFI_IP_ADDRESS *  SrcIp,
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *  SrcPort 
)

This function is to receive packet with Udp6Read.

Parameters:
[in] Udp6 Pointer to EFI_UDP6_PROTOCOL.
[in] Token Pointer to EFI_UDP6_COMPLETION_TOKEN.
[in] Mode Pointer to EFI_PXE_BASE_CODE_MODE.
[in] TimeoutEvent The event for timeout.
[in] OpFlags The UDP operation flags.
[in] IsDone Pointer to IsDone flag.
[out] IsMatched Pointer to IsMatched flag.
[in,out] DestIp Pointer to destination address.
[in,out] DestPort Pointer to destination port.
[in,out] SrcIp Pointer to source address.
[in,out] SrcPort Pointer to source port.
Return values:
EFI_SUCCESS Successfully read data with Udp6.
Others Failed to send out data.
This function is to receive packets using Udp6Read.

Parameters:
[in] Udp6 The pointer to EFI_UDP6_PROTOCOL.
[in] Token The pointer to EFI_UDP6_COMPLETION_TOKEN.
[in] Mode The pointer to EFI_PXE_BASE_CODE_MODE.
[in] TimeoutEvent The event for timeout.
[in] OpFlags The UDP operation flags.
[in] IsDone The pointer to the IsDone flag.
[out] IsMatched The pointer to the IsMatched flag.
[in,out] DestIp The pointer to the destination address.
[in,out] DestPort The pointer to the destination port.
[in,out] SrcIp The pointer to the source address.
[in,out] SrcPort The pointer to the source port.
Return values:
EFI_SUCCESS Successfully read data using Udp6.
Others Failed to send out data.

References PxeBcCheckByDestIp(), PxeBcCheckByDestPort(), PxeBcCheckByIpFilter(), PxeBcFilterBySrcIp(), and PxeBcFilterBySrcPort().

Referenced by EfiPxeBcUdpRead().

EFI_STATUS PxeBcUdp6Write ( IN EFI_UDP6_PROTOCOL *  Udp6,
IN EFI_UDP6_SESSION_DATA *  Session,
IN EFI_EVENT  TimeoutEvent,
IN UINTN *  HeaderSize,
IN VOID *  HeaderPtr,
IN UINTN *  BufferSize,
IN VOID *  BufferPtr 
)

This function is to configure a UDPv6 instance for UdpWrite.

Parameters:
[in] Udp6 Pointer to EFI_UDP6_PROTOCOL.
[in] Session Pointer to the UDP6 session data.
[in] TimeoutEvent The event for timeout.
[in] HeaderSize An optional field which may be set to the length of a header at HeaderPtr to be prefixed to the data at BufferPtr.
[in] HeaderPtr If HeaderSize is not NULL, a pointer to a header to be prefixed to the data at BufferPtr.
[in] BufferSize A pointer to the size of the data at BufferPtr.
[in] BufferPtr A pointer to the data to be written.
Return values:
EFI_SUCCESS Successfully to send out data with Udp6Write.
Others Failed to send out data.
This function is to configure a UDPv4 instance for UdpWrite.

Parameters:
[in] Udp6 The pointer to EFI_UDP6_PROTOCOL.
[in] Session The pointer to the UDP6 session data.
[in] TimeoutEvent The event for timeout.
[in] HeaderSize An optional field which may be set to the length of a header at HeaderPtr to be prefixed to the data at BufferPtr.
[in] HeaderPtr If HeaderSize is not NULL, a pointer to a header to be prefixed to the data at BufferPtr.
[in] BufferSize A pointer to the size of the data at BufferPtr.
[in] BufferPtr A pointer to the data to be written.
Return values:
EFI_SUCCESS Successfully sent out data using Udp6Write.
Others Failed to send out data.

References PxeBcCommonNotify().

Referenced by EfiPxeBcUdpWrite().

UINTN PxeBcUintnToAscDec ( IN UINTN  Number,
IN UINT8 *  Buffer,
IN UINTN  BufferSize 
)

This function is to convert a UINTN to a ASCII string, and return the actual length of the buffer.

Parameters:
[in] Number Numeric value to be converted.
[in] Buffer Pointer to the buffer for ASCII string.
[in] BufferSize The maxsize of the buffer.
Returns:
Length The actual length of the ASCII string.
This function is to convert a UINTN to a ASCII string, and return the actual length of the buffer.

Parameters:
[in] Number Numeric value to be converted.
[in] Buffer The pointer to the buffer for ASCII string.
[in] BufferSize The maxsize of the buffer.
Returns:
Length The actual length of the ASCII string.

Referenced by PxeBcMtftp4GetFileSize(), PxeBcMtftp4ReadDirectory(), PxeBcMtftp4ReadFile(), PxeBcMtftp4WriteFile(), PxeBcMtftp6GetFileSize(), PxeBcMtftp6ReadDirectory(), PxeBcMtftp6ReadFile(), and PxeBcMtftp6WriteFile().

VOID PxeBcUintnToAscDecWithFormat ( IN UINTN  Number,
IN UINT8 *  Buffer,
IN INTN  Length 
)

This function is to convert UINTN to ASCII string with required format.

Parameters:
[in] Number Numeric value to be converted.
[in] Buffer Pointer to the buffer for ASCII string.
[in] Length Length of the required format.
This function is to convert UINTN to ASCII string with the required formatting.

Parameters:
[in] Number Numeric value to be converted.
[in] Buffer The pointer to the buffer for ASCII string.
[in] Length The length of the required format.

Referenced by PxeBcBuildDhcp4Options(), and PxeBcBuildDhcp6Options().

EFI_STATUS PxeBcUniHexToUint8 ( OUT UINT8 *  Digit,
IN CHAR16  Char 
)

This function is to convert unicode hex number to a UINT8.

Parameters:
[out] Digit The converted UINT8 for output.
[in] Char The unicode hex number to be converted.
Return values:
EFI_SUCCESS Successfully converted the unicode hex.
EFI_INVALID_PARAMETER Failed to convert the unicode hex.

Referenced by PxeBcExtractBootFileParam().


Generated on Mon Sep 28 08:49:07 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1