18#ifndef __PXE_BASE_CODE_PROTOCOL_H__
19#define __PXE_BASE_CODE_PROTOCOL_H__
24#define EFI_PXE_BASE_CODE_PROTOCOL_GUID \
26 0x03c4e603, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
72#define EFI_PXE_BASE_CODE_MAX_IPCNT 8
84#define EFI_PXE_BASE_CODE_IP_FILTER_STATION_IP 0x0001
85#define EFI_PXE_BASE_CODE_IP_FILTER_BROADCAST 0x0002
86#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS 0x0004
87#define EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS_MULTICAST 0x0008
111#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_SRC_IP 0x0001
112#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_SRC_PORT 0x0002
113#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_DEST_IP 0x0004
114#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_ANY_DEST_PORT 0x0008
115#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_USE_FILTER 0x0010
116#define EFI_PXE_BASE_CODE_UDP_OPFLAGS_MAY_FRAGMENT 0x0020
121#define EFI_PXE_BASE_CODE_BOOT_TYPE_BOOTSTRAP 0
122#define EFI_PXE_BASE_CODE_BOOT_TYPE_MS_WINNT_RIS 1
123#define EFI_PXE_BASE_CODE_BOOT_TYPE_INTEL_LCM 2
124#define EFI_PXE_BASE_CODE_BOOT_TYPE_DOSUNDI 3
125#define EFI_PXE_BASE_CODE_BOOT_TYPE_NEC_ESMPRO 4
126#define EFI_PXE_BASE_CODE_BOOT_TYPE_IBM_WSoD 5
127#define EFI_PXE_BASE_CODE_BOOT_TYPE_IBM_LCCM 6
128#define EFI_PXE_BASE_CODE_BOOT_TYPE_CA_UNICENTER_TNG 7
129#define EFI_PXE_BASE_CODE_BOOT_TYPE_HP_OPENVIEW 8
130#define EFI_PXE_BASE_CODE_BOOT_TYPE_ALTIRIS_9 9
131#define EFI_PXE_BASE_CODE_BOOT_TYPE_ALTIRIS_10 10
132#define EFI_PXE_BASE_CODE_BOOT_TYPE_ALTIRIS_11 11
133#define EFI_PXE_BASE_CODE_BOOT_TYPE_NOT_USED_12 12
134#define EFI_PXE_BASE_CODE_BOOT_TYPE_REDHAT_INSTALL 13
135#define EFI_PXE_BASE_CODE_BOOT_TYPE_REDHAT_BOOT 14
136#define EFI_PXE_BASE_CODE_BOOT_TYPE_REMBO 15
137#define EFI_PXE_BASE_CODE_BOOT_TYPE_BEOBOOT 16
143#define EFI_PXE_BASE_CODE_BOOT_TYPE_PXETEST 65535
145#define EFI_PXE_BASE_CODE_BOOT_LAYER_MASK 0x7FFF
146#define EFI_PXE_BASE_CODE_BOOT_LAYER_INITIAL 0x0000
154#if defined (MDE_CPU_IA32)
155#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0006
156#elif defined (MDE_CPU_X64)
157#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0007
158#elif defined (MDE_CPU_ARM)
159#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000A
160#elif defined (MDE_CPU_AARCH64)
161#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000B
259#define EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES 8
260#define EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES 8
890#define EFI_PXE_BASE_CODE_PROTOCOL_REVISION 0x00010000
895#define EFI_PXE_BASE_CODE_INTERFACE_REVISION EFI_PXE_BASE_CODE_PROTOCOL_REVISION
char CHAR8
Definition ProcessorBind.h:109
UINT64 UINTN
Definition ProcessorBind.h:118
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_START)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN BOOLEAN UseIpv6)
Definition PxeBaseCode.h:375
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_MTFTP)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN EFI_PXE_BASE_CODE_TFTP_OPCODE Operation, IN OUT VOID *BufferPtr OPTIONAL, IN BOOLEAN Overwrite, IN OUT UINT64 *BufferSize, IN UINTN *BlockSize OPTIONAL, IN EFI_IP_ADDRESS *ServerIp, IN UINT8 *Filename OPTIONAL, IN EFI_PXE_BASE_CODE_MTFTP_INFO *Info OPTIONAL, IN BOOLEAN DontUseBuffer)
Definition PxeBaseCode.h:569
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_SET_PARAMETERS)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN BOOLEAN *NewAutoArp, OPTIONAL IN BOOLEAN *NewSendGUID, OPTIONAL IN UINT8 *NewTTL, OPTIONAL IN UINT8 *NewToS, OPTIONAL IN BOOLEAN *NewMakeCallback OPTIONAL)
Definition PxeBaseCode.h:798
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_SET_PACKETS)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, BOOLEAN *NewDhcpDiscoverValid, OPTIONAL BOOLEAN *NewDhcpAckReceived, OPTIONAL BOOLEAN *NewProxyOfferReceived, OPTIONAL BOOLEAN *NewPxeDiscoverValid, OPTIONAL BOOLEAN *NewPxeReplyReceived, OPTIONAL BOOLEAN *NewPxeBisReplyReceived, OPTIONAL IN EFI_PXE_BASE_CODE_PACKET *NewDhcpDiscover, OPTIONAL IN EFI_PXE_BASE_CODE_PACKET *NewDhcpAck, OPTIONAL IN EFI_PXE_BASE_CODE_PACKET *NewProxyOffer, OPTIONAL IN EFI_PXE_BASE_CODE_PACKET *NewPxeDiscover, OPTIONAL IN EFI_PXE_BASE_CODE_PACKET *NewPxeReply, OPTIONAL IN EFI_PXE_BASE_CODE_PACKET *NewPxeBisReply OPTIONAL)
Definition PxeBaseCode.h:871
EFI_PXE_BASE_CODE_TFTP_OPCODE
Definition PxeBaseCode.h:191
@ EFI_PXE_BASE_CODE_TFTP_READ_FILE
Definition PxeBaseCode.h:194
@ EFI_PXE_BASE_CODE_TFTP_FIRST
Definition PxeBaseCode.h:192
@ EFI_PXE_BASE_CODE_TFTP_WRITE_FILE
Definition PxeBaseCode.h:195
@ EFI_PXE_BASE_CODE_MTFTP_READ_DIRECTORY
Definition PxeBaseCode.h:199
@ EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE
Definition PxeBaseCode.h:197
@ EFI_PXE_BASE_CODE_TFTP_READ_DIRECTORY
Definition PxeBaseCode.h:196
@ EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE
Definition PxeBaseCode.h:193
@ EFI_PXE_BASE_CODE_MTFTP_LAST
Definition PxeBaseCode.h:200
@ EFI_PXE_BASE_CODE_MTFTP_READ_FILE
Definition PxeBaseCode.h:198
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_ARP)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN EFI_IP_ADDRESS *IpAddr, IN EFI_MAC_ADDRESS *MacAddr OPTIONAL)
Definition PxeBaseCode.h:758
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_SET_STATION_IP)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN EFI_IP_ADDRESS *NewStationIp, OPTIONAL IN EFI_IP_ADDRESS *NewSubnetMask OPTIONAL)
Definition PxeBaseCode.h:832
#define EFI_PXE_BASE_CODE_MAX_IPCNT
Definition PxeBaseCode.h:72
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_UDP_READ)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN UINT16 OpFlags, IN OUT EFI_IP_ADDRESS *DestIp, OPTIONAL IN OUT EFI_PXE_BASE_CODE_UDP_PORT *DestPort, OPTIONAL IN OUT EFI_IP_ADDRESS *SrcIp, OPTIONAL IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort, OPTIONAL IN UINTN *HeaderSize, OPTIONAL IN VOID *HeaderPtr, OPTIONAL IN OUT UINTN *BufferSize, IN VOID *BufferPtr)
Definition PxeBaseCode.h:675
EFI_GUID gEfiPxeBaseCodeProtocolGuid
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_UDP_WRITE)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN UINT16 OpFlags, IN EFI_IP_ADDRESS *DestIp, IN EFI_PXE_BASE_CODE_UDP_PORT *DestPort, IN EFI_IP_ADDRESS *GatewayIp, OPTIONAL IN EFI_IP_ADDRESS *SrcIp, OPTIONAL IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort, OPTIONAL IN UINTN *HeaderSize, OPTIONAL IN VOID *HeaderPtr, OPTIONAL IN UINTN *BufferSize, IN VOID *BufferPtr)
Definition PxeBaseCode.h:621
#define EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES
Definition PxeBaseCode.h:260
UINT16 EFI_PXE_BASE_CODE_UDP_PORT
Definition PxeBaseCode.h:109
EFI_PXE_BASE_CODE_PROTOCOL EFI_PXE_BASE_CODE
Definition PxeBaseCode.h:34
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_STOP)(IN EFI_PXE_BASE_CODE_PROTOCOL *This)
Definition PxeBaseCode.h:399
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_SET_IP_FILTER)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN EFI_PXE_BASE_CODE_IP_FILTER *NewFilter)
Definition PxeBaseCode.h:722
#define EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES
Definition PxeBaseCode.h:259
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_DISCOVER)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN UINT16 Type, IN UINT16 *Layer, IN BOOLEAN UseBis, IN EFI_PXE_BASE_CODE_DISCOVER_INFO *Info OPTIONAL)
Definition PxeBaseCode.h:488
EFI_STATUS(EFIAPI * EFI_PXE_BASE_CODE_DHCP)(IN EFI_PXE_BASE_CODE_PROTOCOL *This, IN BOOLEAN SortOffers)
Definition PxeBaseCode.h:438
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
#define VOID
Definition acefi.h:190
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 Type
Definition acpixf.h:894
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition UefiBaseType.h:100
Definition PxeBaseCode.h:92
EFI_IP_ADDRESS IpAddr
Definition PxeBaseCode.h:93
EFI_MAC_ADDRESS MacAddr
Definition PxeBaseCode.h:94
Definition PxeBaseCode.h:219
UINT16 BootpSeconds
Definition PxeBaseCode.h:225
UINT32 DhcpMagik
Definition PxeBaseCode.h:234
UINT8 BootpHwType
Definition PxeBaseCode.h:221
UINT8 BootpHwAddrLen
Definition PxeBaseCode.h:222
UINT8 BootpGateHops
Definition PxeBaseCode.h:223
UINT32 BootpIdent
Definition PxeBaseCode.h:224
UINT16 BootpFlags
Definition PxeBaseCode.h:226
UINT8 BootpOpcode
Definition PxeBaseCode.h:220
Definition PxeBaseCode.h:241
UINT32 TransactionId
Definition PxeBaseCode.h:243
UINT32 MessageType
Definition PxeBaseCode.h:242
Definition PxeBaseCode.h:178
EFI_IP_ADDRESS ServerMCastIp
Definition PxeBaseCode.h:183
BOOLEAN MustUseList
Definition PxeBaseCode.h:182
BOOLEAN UseMCast
Definition PxeBaseCode.h:179
UINT16 IpCnt
Definition PxeBaseCode.h:184
BOOLEAN UseUCast
Definition PxeBaseCode.h:181
BOOLEAN UseBCast
Definition PxeBaseCode.h:180
Definition PxeBaseCode.h:45
UINT16 Sequence
Definition PxeBaseCode.h:55
UINT16 Checksum
Definition PxeBaseCode.h:48
UINT8 Type
Definition PxeBaseCode.h:46
UINT32 Pointer
Definition PxeBaseCode.h:52
UINT32 Mtu
Definition PxeBaseCode.h:51
UINT16 Identifier
Definition PxeBaseCode.h:54
UINT32 reserved
Definition PxeBaseCode.h:50
UINT8 Code
Definition PxeBaseCode.h:47
Definition PxeBaseCode.h:77
UINT8 IpCnt
Definition PxeBaseCode.h:79
UINT8 Filters
Definition PxeBaseCode.h:78
UINT16 reserved
Definition PxeBaseCode.h:80
Definition PxeBaseCode.h:268
BOOLEAN PxeBisReplyReceived
Definition PxeBaseCode.h:282
EFI_IP_ADDRESS StationIp
Definition PxeBaseCode.h:288
UINT8 TTL
Definition PxeBaseCode.h:286
EFI_PXE_BASE_CODE_IP_FILTER IpFilter
Definition PxeBaseCode.h:296
BOOLEAN UsingIpv6
Definition PxeBaseCode.h:272
UINT8 ToS
Definition PxeBaseCode.h:287
BOOLEAN ProxyOfferReceived
Definition PxeBaseCode.h:279
EFI_PXE_BASE_CODE_PACKET ProxyOffer
Definition PxeBaseCode.h:292
BOOLEAN Ipv6Available
Definition PxeBaseCode.h:270
UINT32 ArpCacheEntries
Definition PxeBaseCode.h:297
BOOLEAN PxeReplyReceived
Definition PxeBaseCode.h:281
BOOLEAN TftpErrorReceived
Definition PxeBaseCode.h:284
EFI_PXE_BASE_CODE_PACKET DhcpAck
Definition PxeBaseCode.h:291
EFI_PXE_BASE_CODE_PACKET PxeBisReply
Definition PxeBaseCode.h:295
BOOLEAN MakeCallbacks
Definition PxeBaseCode.h:285
BOOLEAN SendGUID
Definition PxeBaseCode.h:276
BOOLEAN Started
Definition PxeBaseCode.h:269
EFI_PXE_BASE_CODE_PACKET PxeReply
Definition PxeBaseCode.h:294
BOOLEAN BisSupported
Definition PxeBaseCode.h:273
BOOLEAN DhcpAckReceived
Definition PxeBaseCode.h:278
UINT32 RouteTableEntries
Definition PxeBaseCode.h:299
EFI_PXE_BASE_CODE_PACKET DhcpDiscover
Definition PxeBaseCode.h:290
BOOLEAN Ipv6Supported
Definition PxeBaseCode.h:271
EFI_PXE_BASE_CODE_TFTP_ERROR TftpError
Definition PxeBaseCode.h:302
BOOLEAN DhcpDiscoverValid
Definition PxeBaseCode.h:277
BOOLEAN PxeDiscoverValid
Definition PxeBaseCode.h:280
BOOLEAN IcmpErrorReceived
Definition PxeBaseCode.h:283
BOOLEAN BisDetected
Definition PxeBaseCode.h:274
EFI_PXE_BASE_CODE_ICMP_ERROR IcmpError
Definition PxeBaseCode.h:301
BOOLEAN AutoArp
Definition PxeBaseCode.h:275
EFI_IP_ADDRESS SubnetMask
Definition PxeBaseCode.h:289
EFI_PXE_BASE_CODE_PACKET PxeDiscover
Definition PxeBaseCode.h:293
Definition PxeBaseCode.h:208
EFI_PXE_BASE_CODE_UDP_PORT SPort
Definition PxeBaseCode.h:211
EFI_PXE_BASE_CODE_UDP_PORT CPort
Definition PxeBaseCode.h:210
UINT16 TransmitTimeout
Definition PxeBaseCode.h:213
UINT16 ListenTimeout
Definition PxeBaseCode.h:212
EFI_IP_ADDRESS MCastIp
Definition PxeBaseCode.h:209
Definition PxeBaseCode.h:100
EFI_IP_ADDRESS SubnetMask
Definition PxeBaseCode.h:102
EFI_IP_ADDRESS IpAddr
Definition PxeBaseCode.h:101
EFI_IP_ADDRESS GwAddr
Definition PxeBaseCode.h:103
Definition PxeBaseCode.h:168
UINT8 Reserved
Definition PxeBaseCode.h:171
EFI_IP_ADDRESS IpAddr
Definition PxeBaseCode.h:172
UINT16 Type
Definition PxeBaseCode.h:169
BOOLEAN AcceptAnyResponse
Definition PxeBaseCode.h:170
Definition PxeBaseCode.h:64
UINT8 ErrorCode
Definition PxeBaseCode.h:65
Definition PxeBaseCode.h:905
EFI_PXE_BASE_CODE_SET_PARAMETERS SetParameters
Definition PxeBaseCode.h:921
UINT64 Revision
Definition PxeBaseCode.h:911
EFI_PXE_BASE_CODE_SET_PACKETS SetPackets
Definition PxeBaseCode.h:923
EFI_PXE_BASE_CODE_SET_STATION_IP SetStationIp
Definition PxeBaseCode.h:922
EFI_PXE_BASE_CODE_UDP_READ UdpRead
Definition PxeBaseCode.h:918
EFI_PXE_BASE_CODE_UDP_WRITE UdpWrite
Definition PxeBaseCode.h:917
EFI_PXE_BASE_CODE_MODE * Mode
Definition PxeBaseCode.h:927
EFI_PXE_BASE_CODE_MTFTP Mtftp
Definition PxeBaseCode.h:916
EFI_PXE_BASE_CODE_SET_IP_FILTER SetIpFilter
Definition PxeBaseCode.h:919
EFI_PXE_BASE_CODE_STOP Stop
Definition PxeBaseCode.h:913
EFI_PXE_BASE_CODE_DHCP Dhcp
Definition PxeBaseCode.h:914
EFI_PXE_BASE_CODE_START Start
Definition PxeBaseCode.h:912
EFI_PXE_BASE_CODE_DISCOVER Discover
Definition PxeBaseCode.h:915
EFI_PXE_BASE_CODE_ARP Arp
Definition PxeBaseCode.h:920
Definition UefiBaseType.h:108
Definition PxeBaseCode.h:250
EFI_PXE_BASE_CODE_DHCPV6_PACKET Dhcpv6
Definition PxeBaseCode.h:253
EFI_PXE_BASE_CODE_DHCPV4_PACKET Dhcpv4
Definition PxeBaseCode.h:252