TianoCore EDK2 master
Loading...
Searching...
No Matches
PxeBcDhcp4.h File Reference

Go to the source code of this file.

Data Structures

struct  PXEBC_DHCP4_OPTION_PARA
 
struct  PXEBC_DHCP4_OPTION_MAX_MESG_SIZE
 
struct  PXEBC_DHCP4_OPTION_UNDI
 
struct  PXEBC_DHCP4_OPTION_MESG
 
struct  PXEBC_DHCP4_OPTION_ARCH
 
struct  PXEBC_DHCP4_OPTION_CLID
 
struct  PXEBC_DHCP4_OPTION_UUID
 
struct  PXEBC_OPTION_BOOT_ITEM
 
union  PXEBC_DHCP4_OPTION_ENTRY
 
struct  PXEBC_BOOT_SVR_ENTRY
 
struct  PXEBC_BOOT_MENU_ENTRY
 
struct  PXEBC_MENU_PROMPT
 
struct  PXEBC_VENDOR_OPTION
 
union  PXEBC_DHCP4_PACKET
 
struct  PXEBC_DHCP4_PACKET_CACHE
 

Macros

#define PXEBC_DHCP4_OPTION_MAX_NUM   16
 
#define PXEBC_DHCP4_OPTION_MAX_SIZE   312
 
#define PXEBC_DHCP4_PACKET_MAX_SIZE   (sizeof (EFI_PXE_BASE_CODE_PACKET))
 
#define PXEBC_DHCP4_S_PORT   67
 
#define PXEBC_DHCP4_C_PORT   68
 
#define PXEBC_BS_DOWNLOAD_PORT   69
 
#define PXEBC_BS_DISCOVER_PORT   4011
 
#define PXEBC_DHCP4_OPCODE_REQUEST   1
 
#define PXEBC_DHCP4_OPCODE_REPLY   2
 
#define PXEBC_DHCP4_MSG_TYPE_REQUEST   3
 
#define PXEBC_DHCP4_MAGIC   0x63538263
 
#define PXEBC_VENDOR_TAG_MTFTP_IP   1
 
#define PXEBC_VENDOR_TAG_MTFTP_CPORT   2
 
#define PXEBC_VENDOR_TAG_MTFTP_SPORT   3
 
#define PXEBC_VENDOR_TAG_MTFTP_TIMEOUT   4
 
#define PXEBC_VENDOR_TAG_MTFTP_DELAY   5
 
#define PXEBC_VENDOR_TAG_DISCOVER_CTRL   6
 
#define PXEBC_VENDOR_TAG_DISCOVER_MCAST   7
 
#define PXEBC_VENDOR_TAG_BOOT_SERVERS   8
 
#define PXEBC_VENDOR_TAG_BOOT_MENU   9
 
#define PXEBC_VENDOR_TAG_MENU_PROMPT   10
 
#define PXEBC_VENDOR_TAG_MCAST_ALLOC   11
 
#define PXEBC_VENDOR_TAG_CREDENTIAL_TYPES   12
 
#define PXEBC_VENDOR_TAG_BOOT_ITEM   71
 
#define PXEBC_BOOT_REQUEST_TIMEOUT   1
 
#define PXEBC_BOOT_REQUEST_RETRIES   4
 
#define PXEBC_DHCP4_OVERLOAD_FILE   1
 
#define PXEBC_DHCP4_OVERLOAD_SERVER_NAME   2
 
#define PXEBC_DHCP4_TAG_INDEX_BOOTFILE_LEN   0
 
#define PXEBC_DHCP4_TAG_INDEX_VENDOR   1
 
#define PXEBC_DHCP4_TAG_INDEX_OVERLOAD   2
 
#define PXEBC_DHCP4_TAG_INDEX_MSG_TYPE   3
 
#define PXEBC_DHCP4_TAG_INDEX_SERVER_ID   4
 
#define PXEBC_DHCP4_TAG_INDEX_CLASS_ID   5
 
#define PXEBC_DHCP4_TAG_INDEX_BOOTFILE   6
 
#define PXEBC_DHCP4_TAG_INDEX_MAX   7
 
#define BIT(x)   (1 << x)
 
#define CTRL(x)   (0x1F & (x))
 
#define DEFAULT_CLASS_ID_DATA   "PXEClient:Arch:xxxxx:UNDI:003000"
 
#define DEFAULT_UNDI_TYPE   1
 
#define DEFAULT_UNDI_MAJOR   3
 
#define DEFAULT_UNDI_MINOR   0
 
#define MTFTP_VENDOR_OPTION_BIT_MAP
 
#define DISCOVER_VENDOR_OPTION_BIT_MAP
 
#define IS_VALID_BOOT_SERVERS(x)
 
#define IS_VALID_BOOT_PROMPT(x)
 
#define IS_VALID_BOOT_MENU(x)
 
#define IS_VALID_MTFTP_VENDOR_OPTION(x)
 
#define IS_VALID_DISCOVER_VENDOR_OPTION(x)    (((UINT32) ((x)[0]) & DISCOVER_VENDOR_OPTION_BIT_MAP) != 0)
 
#define IS_VALID_CREDENTIAL_VENDOR_OPTION(x)
 
#define IS_VALID_BOOTITEM_VENDOR_OPTION(x)
 
#define SET_VENDOR_OPTION_BIT_MAP(x, y)    (*(x + ((y) / 32)) = (UINT32) ((UINT32) ((x)[(y) / 32]) | BIT ((y) % 32)))
 
#define GET_NEXT_DHCP_OPTION(Opt)
 
#define GET_OPTION_BUFFER_LEN(Pkt)    ((Pkt)->Length - sizeof (EFI_DHCP4_HEADER) - 4)
 
#define GET_NEXT_BOOT_SVR_ENTRY(Ent)
 
#define IS_PROXY_DHCP_OFFER(Offer)    EFI_IP4_EQUAL (&(Offer)->Dhcp4.Header.YourAddr, &mZeroIp4Addr)
 
#define IS_DISABLE_BCAST_DISCOVER(x)    (((x) & BIT (0)) == BIT (0))
 
#define IS_DISABLE_MCAST_DISCOVER(x)    (((x) & BIT (1)) == BIT (1))
 
#define IS_ENABLE_USE_SERVER_LIST(x)    (((x) & BIT (2)) == BIT (2))
 
#define IS_DISABLE_PROMPT_MENU(x)    (((x) & BIT (3)) == BIT (3))
 
#define PXEBC_CACHED_DHCP4_PACKET_MAX_SIZE   (OFFSET_OF (EFI_DHCP4_PACKET, Dhcp4) + PXEBC_DHCP4_PACKET_MAX_SIZE)
 

Enumerations

enum  PXEBC_OFFER_TYPE {
  PxeOfferTypeDhcpOnly , PxeOfferTypeDhcpPxe10 , PxeOfferTypeDhcpWfm11a , PxeOfferTypeDhcpBinl ,
  PxeOfferTypeProxyPxe10 , PxeOfferTypeProxyWfm11a , PxeOfferTypeProxyBinl , PxeOfferTypeBootp ,
  PxeOfferTypeMax
}
 

Functions

VOID PxeBcSeedDhcp4Packet (OUT EFI_DHCP4_PACKET *Seed, IN EFI_UDP4_PROTOCOL *Udp4)
 
EFI_STATUS PxeBcParseDhcp4Packet (IN PXEBC_DHCP4_PACKET_CACHE *Cache4)
 
EFI_STATUS PxeBcDhcp4Discover (IN PXEBC_PRIVATE_DATA *Private, IN UINT16 Type, IN UINT16 *Layer, IN BOOLEAN UseBis, IN EFI_IP_ADDRESS *DestIp, IN UINT16 IpCount, IN EFI_PXE_BASE_CODE_SRVLIST *SrvList)
 
EFI_STATUS PxeBcSetIp4Policy (IN PXEBC_PRIVATE_DATA *Private)
 
EFI_STATUS PxeBcDhcp4Dora (IN PXEBC_PRIVATE_DATA *Private, IN EFI_DHCP4_PROTOCOL *Dhcp4)
 

Detailed Description

Functions declaration related with DHCPv4 for UefiPxeBc Driver.

Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PxeBcDhcp4.h.

Macro Definition Documentation

◆ BIT

#define BIT (   x)    (1 << x)

Definition at line 81 of file PxeBcDhcp4.h.

◆ CTRL

#define CTRL (   x)    (0x1F & (x))

Definition at line 82 of file PxeBcDhcp4.h.

◆ DEFAULT_CLASS_ID_DATA

#define DEFAULT_CLASS_ID_DATA   "PXEClient:Arch:xxxxx:UNDI:003000"

Definition at line 83 of file PxeBcDhcp4.h.

◆ DEFAULT_UNDI_MAJOR

#define DEFAULT_UNDI_MAJOR   3

Definition at line 85 of file PxeBcDhcp4.h.

◆ DEFAULT_UNDI_MINOR

#define DEFAULT_UNDI_MINOR   0

Definition at line 86 of file PxeBcDhcp4.h.

◆ DEFAULT_UNDI_TYPE

#define DEFAULT_UNDI_TYPE   1

Definition at line 84 of file PxeBcDhcp4.h.

◆ DISCOVER_VENDOR_OPTION_BIT_MAP

#define DISCOVER_VENDOR_OPTION_BIT_MAP
Value:
(BIT (PXEBC_VENDOR_TAG_DISCOVER_CTRL) | \
BIT (PXEBC_VENDOR_TAG_DISCOVER_MCAST) | \
BIT (PXEBC_VENDOR_TAG_BOOT_SERVERS) | \
BIT (PXEBC_VENDOR_TAG_BOOT_MENU) | \
BIT (PXEBC_VENDOR_TAG_MENU_PROMPT))

Definition at line 95 of file PxeBcDhcp4.h.

◆ GET_NEXT_BOOT_SVR_ENTRY

#define GET_NEXT_BOOT_SVR_ENTRY (   Ent)
Value:
(PXEBC_BOOT_SVR_ENTRY *) ((UINT8 *) Ent + sizeof (*(Ent)) + \
((Ent)->IpCnt - 1) * sizeof (EFI_IPv4_ADDRESS))
IPv4_ADDRESS EFI_IPv4_ADDRESS
Definition: UefiBaseType.h:85

Definition at line 140 of file PxeBcDhcp4.h.

◆ GET_NEXT_DHCP_OPTION

#define GET_NEXT_DHCP_OPTION (   Opt)
Value:
(EFI_DHCP4_PACKET_OPTION *) ((UINT8 *) (Opt) + \
sizeof (EFI_DHCP4_PACKET_OPTION) + (Opt)->Length - 1)

Definition at line 133 of file PxeBcDhcp4.h.

◆ GET_OPTION_BUFFER_LEN

#define GET_OPTION_BUFFER_LEN (   Pkt)     ((Pkt)->Length - sizeof (EFI_DHCP4_HEADER) - 4)

Definition at line 137 of file PxeBcDhcp4.h.

◆ IS_DISABLE_BCAST_DISCOVER

#define IS_DISABLE_BCAST_DISCOVER (   x)     (((x) & BIT (0)) == BIT (0))

Definition at line 147 of file PxeBcDhcp4.h.

◆ IS_DISABLE_MCAST_DISCOVER

#define IS_DISABLE_MCAST_DISCOVER (   x)     (((x) & BIT (1)) == BIT (1))

Definition at line 150 of file PxeBcDhcp4.h.

◆ IS_DISABLE_PROMPT_MENU

#define IS_DISABLE_PROMPT_MENU (   x)     (((x) & BIT (3)) == BIT (3))

Definition at line 156 of file PxeBcDhcp4.h.

◆ IS_ENABLE_USE_SERVER_LIST

#define IS_ENABLE_USE_SERVER_LIST (   x)     (((x) & BIT (2)) == BIT (2))

Definition at line 153 of file PxeBcDhcp4.h.

◆ IS_PROXY_DHCP_OFFER

#define IS_PROXY_DHCP_OFFER (   Offer)     EFI_IP4_EQUAL (&(Offer)->Dhcp4.Header.YourAddr, &mZeroIp4Addr)

Definition at line 144 of file PxeBcDhcp4.h.

◆ IS_VALID_BOOT_MENU

#define IS_VALID_BOOT_MENU (   x)
Value:
((((x)[0]) & BIT (PXEBC_VENDOR_TAG_BOOT_MENU)) \
== BIT (PXEBC_VENDOR_TAG_BOOT_MENU))

Definition at line 110 of file PxeBcDhcp4.h.

◆ IS_VALID_BOOT_PROMPT

#define IS_VALID_BOOT_PROMPT (   x)
Value:
((((x)[0]) & BIT (PXEBC_VENDOR_TAG_MENU_PROMPT)) \
== BIT (PXEBC_VENDOR_TAG_MENU_PROMPT))

Definition at line 106 of file PxeBcDhcp4.h.

◆ IS_VALID_BOOT_SERVERS

#define IS_VALID_BOOT_SERVERS (   x)
Value:
((((x)[0]) & BIT (PXEBC_VENDOR_TAG_BOOT_SERVERS)) \
== BIT (PXEBC_VENDOR_TAG_BOOT_SERVERS))

Definition at line 102 of file PxeBcDhcp4.h.

◆ IS_VALID_BOOTITEM_VENDOR_OPTION

#define IS_VALID_BOOTITEM_VENDOR_OPTION (   x)
Value:
(((UINT32) ((x)[PXEBC_VENDOR_TAG_BOOT_ITEM / 32]) & \
BIT (PXEBC_VENDOR_TAG_BOOT_ITEM % 32)) \
== BIT (PXEBC_VENDOR_TAG_BOOT_ITEM % 32))

Definition at line 125 of file PxeBcDhcp4.h.

◆ IS_VALID_CREDENTIAL_VENDOR_OPTION

#define IS_VALID_CREDENTIAL_VENDOR_OPTION (   x)
Value:
(((UINT32) ((x)[0]) & BIT (PXEBC_VENDOR_TAG_CREDENTIAL_TYPES)) \
== BIT (PXEBC_VENDOR_TAG_CREDENTIAL_TYPES))

Definition at line 121 of file PxeBcDhcp4.h.

◆ IS_VALID_DISCOVER_VENDOR_OPTION

#define IS_VALID_DISCOVER_VENDOR_OPTION (   x)     (((UINT32) ((x)[0]) & DISCOVER_VENDOR_OPTION_BIT_MAP) != 0)

Definition at line 118 of file PxeBcDhcp4.h.

◆ IS_VALID_MTFTP_VENDOR_OPTION

#define IS_VALID_MTFTP_VENDOR_OPTION (   x)
Value:
(((UINT32) ((x)[0]) & MTFTP_VENDOR_OPTION_BIT_MAP) \
== MTFTP_VENDOR_OPTION_BIT_MAP)

Definition at line 114 of file PxeBcDhcp4.h.

◆ MTFTP_VENDOR_OPTION_BIT_MAP

#define MTFTP_VENDOR_OPTION_BIT_MAP
Value:
(BIT (PXEBC_VENDOR_TAG_MTFTP_IP) | \
BIT (PXEBC_VENDOR_TAG_MTFTP_CPORT) | \
BIT (PXEBC_VENDOR_TAG_MTFTP_SPORT) | \
BIT (PXEBC_VENDOR_TAG_MTFTP_TIMEOUT) | \
BIT (PXEBC_VENDOR_TAG_MTFTP_DELAY))

Definition at line 88 of file PxeBcDhcp4.h.

◆ PXEBC_BOOT_REQUEST_RETRIES

#define PXEBC_BOOT_REQUEST_RETRIES   4

Definition at line 43 of file PxeBcDhcp4.h.

◆ PXEBC_BOOT_REQUEST_TIMEOUT

#define PXEBC_BOOT_REQUEST_TIMEOUT   1

Definition at line 42 of file PxeBcDhcp4.h.

◆ PXEBC_BS_DISCOVER_PORT

#define PXEBC_BS_DISCOVER_PORT   4011

Definition at line 19 of file PxeBcDhcp4.h.

◆ PXEBC_BS_DOWNLOAD_PORT

#define PXEBC_BS_DOWNLOAD_PORT   69

Definition at line 18 of file PxeBcDhcp4.h.

◆ PXEBC_CACHED_DHCP4_PACKET_MAX_SIZE

#define PXEBC_CACHED_DHCP4_PACKET_MAX_SIZE   (OFFSET_OF (EFI_DHCP4_PACKET, Dhcp4) + PXEBC_DHCP4_PACKET_MAX_SIZE)

Definition at line 258 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_C_PORT

#define PXEBC_DHCP4_C_PORT   68

Definition at line 17 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_MAGIC

#define PXEBC_DHCP4_MAGIC   0x63538263

Definition at line 23 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_MSG_TYPE_REQUEST

#define PXEBC_DHCP4_MSG_TYPE_REQUEST   3

Definition at line 22 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_OPCODE_REPLY

#define PXEBC_DHCP4_OPCODE_REPLY   2

Definition at line 21 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_OPCODE_REQUEST

#define PXEBC_DHCP4_OPCODE_REQUEST   1

Definition at line 20 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_OPTION_MAX_NUM

#define PXEBC_DHCP4_OPTION_MAX_NUM   16

Definition at line 13 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_OPTION_MAX_SIZE

#define PXEBC_DHCP4_OPTION_MAX_SIZE   312

Definition at line 14 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_OVERLOAD_FILE

#define PXEBC_DHCP4_OVERLOAD_FILE   1

Definition at line 45 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_OVERLOAD_SERVER_NAME

#define PXEBC_DHCP4_OVERLOAD_SERVER_NAME   2

Definition at line 46 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_PACKET_MAX_SIZE

#define PXEBC_DHCP4_PACKET_MAX_SIZE   (sizeof (EFI_PXE_BASE_CODE_PACKET))

Definition at line 15 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_S_PORT

#define PXEBC_DHCP4_S_PORT   67

Definition at line 16 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_BOOTFILE

#define PXEBC_DHCP4_TAG_INDEX_BOOTFILE   6

Definition at line 57 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_BOOTFILE_LEN

#define PXEBC_DHCP4_TAG_INDEX_BOOTFILE_LEN   0

Definition at line 51 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_CLASS_ID

#define PXEBC_DHCP4_TAG_INDEX_CLASS_ID   5

Definition at line 56 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_MAX

#define PXEBC_DHCP4_TAG_INDEX_MAX   7

Definition at line 58 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_MSG_TYPE

#define PXEBC_DHCP4_TAG_INDEX_MSG_TYPE   3

Definition at line 54 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_OVERLOAD

#define PXEBC_DHCP4_TAG_INDEX_OVERLOAD   2

Definition at line 53 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_SERVER_ID

#define PXEBC_DHCP4_TAG_INDEX_SERVER_ID   4

Definition at line 55 of file PxeBcDhcp4.h.

◆ PXEBC_DHCP4_TAG_INDEX_VENDOR

#define PXEBC_DHCP4_TAG_INDEX_VENDOR   1

Definition at line 52 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_BOOT_ITEM

#define PXEBC_VENDOR_TAG_BOOT_ITEM   71

Definition at line 40 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_BOOT_MENU

#define PXEBC_VENDOR_TAG_BOOT_MENU   9

Definition at line 36 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_BOOT_SERVERS

#define PXEBC_VENDOR_TAG_BOOT_SERVERS   8

Definition at line 35 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_CREDENTIAL_TYPES

#define PXEBC_VENDOR_TAG_CREDENTIAL_TYPES   12

Definition at line 39 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_DISCOVER_CTRL

#define PXEBC_VENDOR_TAG_DISCOVER_CTRL   6

Definition at line 33 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_DISCOVER_MCAST

#define PXEBC_VENDOR_TAG_DISCOVER_MCAST   7

Definition at line 34 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MCAST_ALLOC

#define PXEBC_VENDOR_TAG_MCAST_ALLOC   11

Definition at line 38 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MENU_PROMPT

#define PXEBC_VENDOR_TAG_MENU_PROMPT   10

Definition at line 37 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MTFTP_CPORT

#define PXEBC_VENDOR_TAG_MTFTP_CPORT   2

Definition at line 29 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MTFTP_DELAY

#define PXEBC_VENDOR_TAG_MTFTP_DELAY   5

Definition at line 32 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MTFTP_IP

#define PXEBC_VENDOR_TAG_MTFTP_IP   1

Definition at line 28 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MTFTP_SPORT

#define PXEBC_VENDOR_TAG_MTFTP_SPORT   3

Definition at line 30 of file PxeBcDhcp4.h.

◆ PXEBC_VENDOR_TAG_MTFTP_TIMEOUT

#define PXEBC_VENDOR_TAG_MTFTP_TIMEOUT   4

Definition at line 31 of file PxeBcDhcp4.h.

◆ SET_VENDOR_OPTION_BIT_MAP

#define SET_VENDOR_OPTION_BIT_MAP (   x,
 
)     (*(x + ((y) / 32)) = (UINT32) ((UINT32) ((x)[(y) / 32]) | BIT ((y) % 32)))

Definition at line 130 of file PxeBcDhcp4.h.

Enumeration Type Documentation

◆ PXEBC_OFFER_TYPE

enum PXEBC_OFFER_TYPE

Definition at line 69 of file PxeBcDhcp4.h.

Function Documentation

◆ PxeBcDhcp4Discover()

EFI_STATUS PxeBcDhcp4Discover ( IN PXEBC_PRIVATE_DATA Private,
IN UINT16  Type,
IN UINT16 *  Layer,
IN BOOLEAN  UseBis,
IN EFI_IP_ADDRESS DestIp,
IN UINT16  IpCount,
IN EFI_PXE_BASE_CODE_SRVLIST SrvList 
)

Build and send out the request packet for the bootfile, and parse the reply.

Parameters
[in]PrivatePointer to PxeBc private data.
[in]TypePxeBc option boot item type.
[in]LayerPointer to option boot item layer.
[in]UseBisUse BIS or not.
[in]DestIpPointer to the server address.
[in]IpCountThe total count of the server address.
[in]SrvListPointer to EFI_PXE_BASE_CODE_SRVLIST.
Return values
EFI_SUCCESSSuccessfully discovered boot file.
EFI_OUT_OF_RESOURCESFailed to allocate resource.
EFI_NOT_FOUNDCan't get the PXE reply packet.
OthersFailed to discover boot file.

Definition at line 1355 of file PxeBcDhcp4.c.

◆ PxeBcDhcp4Dora()

EFI_STATUS PxeBcDhcp4Dora ( IN PXEBC_PRIVATE_DATA Private,
IN EFI_DHCP4_PROTOCOL Dhcp4 
)

Start the D.O.R.A DHCPv4 process to acquire the IPv4 address and other PXE boot information.

Parameters
[in]PrivatePointer to PxeBc private data.
[in]Dhcp4Pointer to the EFI_DHCP4_PROTOCOL
Return values
EFI_SUCCESSThe D.O.R.A process successfully finished.
OthersFailed to finish the D.O.R.A process.

Definition at line 1657 of file PxeBcDhcp4.c.

◆ PxeBcParseDhcp4Packet()

EFI_STATUS PxeBcParseDhcp4Packet ( IN PXEBC_DHCP4_PACKET_CACHE Cache4)

Parse the cached DHCPv4 packet, including all the options.

Parameters
[in]Cache4Pointer to cached DHCPv4 packet.
Return values
EFI_SUCCESSParsed the DHCPv4 packet successfully.
EFI_DEVICE_ERRORFailed to parse and invalid packet.

Definition at line 445 of file PxeBcDhcp4.c.

◆ PxeBcSeedDhcp4Packet()

VOID PxeBcSeedDhcp4Packet ( OUT EFI_DHCP4_PACKET Seed,
IN EFI_UDP4_PROTOCOL Udp4 
)

Create a template DHCPv4 packet as a seed.

Parameters
[out]SeedPointer to the seed packet.
[in]Udp4Pointer to EFI_UDP4_PROTOCOL.

Definition at line 383 of file PxeBcDhcp4.c.

◆ PxeBcSetIp4Policy()

EFI_STATUS PxeBcSetIp4Policy ( IN PXEBC_PRIVATE_DATA Private)

Switch the Ip4 policy to static.

Parameters
[in]PrivateThe pointer to PXEBC_PRIVATE_DATA.
Return values
EFI_SUCCESSThe policy is already configured to static.
OthersOther error as indicated..

Definition at line 1609 of file PxeBcDhcp4.c.