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

Page 655

Advertising
background image

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.

Advertising