Description, Status codes returned – Intel Extensible Firmware Interface User Manual
Page 655

Protocols
— Network Support
Version 1.10
12/01/02
15-49
Description
This function attempts to complete the PXE Boot Server and/or boot image discovery sequence. If
this sequence is completed, then
EFI_SUCCESS
is returned, and the
PxeDiscoverValid
,
PxeDiscover
,
PxeReplyReceived
, and
PxeReply
fields of the
EFI_PXE_BASE_CODE_MODE
structure are filled in. If
UseBis
is
TRUE
, then the
PxeBisReplyReceived
and PxeBisReply
fields of the
EFI_PXE_BASE_CODE_MODE
structure will also be filled in. If
UseBis
is
FALSE
, then
PxeBisReplyValid
will be set to
FALSE
.
In the structure referenced by parameter
Info
, the PXE Boot Server list,
SrvList[]
, has two
uses: It is the Boot Server IP address list used for unicast discovery (if the
UseUCast
field is
TRUE
), and it is the list used for Boot Server verification (if the
MustUseList
field is
TRUE
).
Also, if the
MustUseList
field in that structure is
TRUE
and the
AcceptAnyResponse
field
in the
SrvList[]
array is
TRUE
, any Boot Server reply of that type will be accepted. If the
AcceptAnyResponse
field is
FALSE
, only responses from Boot Servers with matching IP
addresses will be accepted.
This function can take at least 10 seconds to timeout and return control to the caller. If the
Discovery sequence does not complete, then
EFI_TIMEOUT
will be returned. Please see the
Preboot Execution Environment (PXE) Specification for additional details on the implementation of
the Discovery sequence.
If the Callback Protocol does not return
EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE
, then the Discovery sequence is
stopped and
EFI_ABORTED
will be returned.
Status Codes Returned
EFI_SUCCESS
The Discovery sequence has been completed.
EFI_NOT_STARTED
The PXE Base Code Protocol is in the stopped state.
EFI_INVALID_PARAMETER
One of the parameters is not valid.
EFI_DEVICE_ERROR
The network device encountered an error during this operation.
EFI_OUT_OF_RESOURCES
Could not allocate enough memory to complete Discovery.
EFI_ABORTED
The callback function aborted the Discovery sequence.
EFI_TIMEOUT
The Discovery sequence timed out.
EFI_ICMP_ERROR
The Discovery sequence generated an ICMP error.