Extensible Firmware Interface Specification
264 12/12/00 Version 1.02
Description
This function reads a UDP packet from a network interface. The data contents are returned in (the
optional HeaderPtr and) BufferPtr, and the size of the buffer received is returned in
BufferSize . If the input BufferSize is smaller than the UDP packet received (less optional
HeaderSize), it will be set to the required size, and EFI_BUFFER_TOO_SMALL will be
returned. In this case, the contents of BufferPtr are undefined, and the packet is lost. If a UDP
packet is successfully received, then EFI_SUCCESS will be returned, and the information from the
UDP header will be returned in DestIp, DestPort, SrcIp, and SrcPort if they are not
NULL. Depending on the values of OpFlags and the DestIp, DestPort, SrcIp, and
SrcPort input values, different types of UDP packet receive filtering will be performed. The
following tables summarize these receive filter operations.
Table 14-2. Destination IP Filter Operation
OpFlags
USE_FILTER
OpFlags
ANY_DEST_IP DestIp Action
0 0 NULL Receive a packet sent to StationIp.
0 1 NULL Receive a packet sent to any IP address.
1 x NULL Receive a packet whose destination IP address passes
the IP filter.
0 0 not NULL Receive a packet whose destination IP address matches
DestIp.
0 1 not NULL Receive a packet sent to any IP address and, return the
destination IP address in DestIp.
1 x not NULL Receive a packet whose destination IP address passes the
IP filter, and return the destination IP address in DestIp.
Table 14-3. Destination UDP Port Filter Operation
OpFlags
ANY_DEST_PORT DestPort Action
0 NULL Return EFI_INVALID_PARAMETER.
1 NULL Receive a packet sent to any UDP port.
0 not NULL Receive a packet whose destination Port matches DestPort.
1 not NULL Receive a packet sent to any UDP port, and return the destination port in
DestPort.