Efi_pxe_base_code.dhcp(), Dhcp(), Func – Intel Extensible Firmware Interface User Manual

Page 651

Advertising
background image

Protocols

— Network Support

Version 1.10

12/01/02

15-45

EFI_PXE_BASE_CODE.Dhcp()

Summary

Attempts to complete a DHCPv4 D.O.R.A. (discover / offer / request / acknowledge) or DHCPv6
S.A.R.R (solicit / advertise / request / reply) sequence.

Prototype

EFI_STATUS

(EFIAPI *EFI_PXE_BASE_CODE_DHCP) (

IN

EFI_PXE_BASE_CODE

*This,

IN

BOOLEAN

SortOffers

);

Parameters

This

Pointer to the

EFI_PXE_BASE_CODE

instance.

SortOffers

TRUE

if the offers received should be sorted. Set to

FALSE

to try the

offers in the order that they are received.

Description

This function attempts to complete the DHCP sequence. If this sequence is completed, then

EFI_SUCCESS

is returned, and the

DhcpCompleted

,

ProxyOfferReceived

,

StationIp

,

SubnetMask

,

DhcpDiscover

,

DhcpAck

, and

ProxyOffer

fields of the

EFI_PXE_BASE_CODE_MODE

structure are filled in.

If

SortOffers

is

TRUE

, then the cached DHCP offer packets will be sorted before they are tried.

If

SortOffers

is

FALSE

, then the cached DHCP offer packets will be tried in the order in which

they are received. Please see the Preboot Execution Environment (PXE) Specification for
additional details on the implementation of DHCP.

This function can take at least 31 seconds to timeout and return control to the caller. If the DHCP
sequence does not complete, then

EFI_TIMEOUT

will be returned.

If the Callback Protocol does not return

EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE

, then the DHCP sequence will be

stopped and

EFI_ABORTED

will be returned.

Advertising