Version 1.02 12/12/00 235
14PXE Base Code Protocol
This chapter defines the Preboot Execution Environment (PXE) Base Code protocol, which is used
to access PXE-compatible devices for network access and network booting. More information
about PXE can be found in the Preboot Execution Environment (PXE) Specification at:
ftp://download.intel.com/ial/wfm/pxespec.pdf.

14.1 EFI_PXE_BASE_CODE Protocol

Summary
The EFI_PXE_BASE_CODE protocol is used to control PXE-compatible devices. The features of
these devices are defined in the Preboot Execution Environment (PXE) Specification. An
EFI_PXE_BASE_CODE protocol will be layered on top of an EFI_SIMPLE_NETWORK protocol
in order to perform packet level transactions. The EFI_PXE_BASE_CODE handle also supports
the LOAD_FILE protocol. This provides a clean way to obtain control from the boot manager if
the boot path is from the remote device.
GUID
#define EFI_PXE_BASE_CODE_PROTOCOL \
{ 03C4E603-AC28-11d3-9A2D-0090273FC14D }
Revision Number
#define EFI_PXE_BASE_CODE_INTERFACE_REVISION 0x00010000
Protocol Interface Structure
typedef struct {
UINT64 Revision;
EFI_PXE_BASE_CODE_START Start;
EFI_PXE_BASE_CODE_STOP Stop;
EFI_PXE_BASE_CODE_DHCP Dhcp;
EFI_PXE_BASE_CODE_DISCOVER Discover;
EFI_PXE_BASE_CODE_MTFTP Mtftp;
EFI_PXE_BASE_CODE_UDP_WRITE UdpWrite;
EFI_PXE_BASE_CODE_UDP_READ UdpRead;
EFI_PXE_BASE_CODE_SET_IP_FILTER SetIpFilter;
EFI_PXE_BASE_CODE_ARP Arp;
EFI_PXE_BASE_CODE_SET_PARAMETERS SetParameters;
EFI_PXE_BASE_CODE_SET_STATION_IP SetStationIp;
EFI_PXE_BASE_CODE_SET_PACKETS SetPackets;
EFI_PXE_BASE_CODE_MODE *Mode;
} EFI_PXE_BASE_CODE;