iPXE
Data Structures | Defines | Typedefs | Functions | Variables
pxe_api.h File Reference

Preboot eXecution Environment (PXE) API. More...

#include "pxe_types.h"

Go to the source code of this file.

Data Structures

struct  s_PXENV
 The PXENV+ structure. More...
struct  s_PXE
 The !PXE structure. More...
struct  s_PXENV_UNLOAD_STACK
 Parameter block for pxenv_unload_stack() More...
struct  s_PXENV_GET_CACHED_INFO
 Parameter block for pxenv_get_cached_info() More...
struct  bootph
 Format of buffer filled in by pxenv_get_cached_info() More...
union  bootph::bootph_vendor
 DHCP options. More...
struct  bootph::bootph_vendor::bootph_vendor_v
 DHCP options. More...
union  bootph_vendor
 DHCP options. More...
struct  bootph_vendor::bootph_vendor_v
 DHCP options. More...
struct  s_PXENV_START_UNDI
 Parameter block for pxenv_start_undi() More...
struct  s_PXENV_STOP_UNDI
 Parameter block for pxenv_stop_undi() More...
struct  s_PXENV_START_BASE
 Parameter block for pxenv_start_base() More...
struct  s_PXENV_STOP_BASE
 Parameter block for pxenv_stop_base() More...
struct  s_PXENV_TFTP_OPEN
 Parameter block for pxenv_tftp_open() More...
struct  s_PXENV_TFTP_CLOSE
 Parameter block for pxenv_tftp_close() More...
struct  s_PXENV_TFTP_READ
 Parameter block for pxenv_tftp_read() More...
struct  s_PXENV_TFTP_READ_FILE
 Parameter block for pxenv_tftp_read_file() More...
struct  s_PXENV_TFTP_GET_FSIZE
 Parameter block for pxenv_tftp_get_fsize() More...
struct  s_PXENV_UDP_OPEN
 Parameter block for pxenv_udp_open() More...
struct  s_PXENV_UDP_CLOSE
 Parameter block for pxenv_udp_close() More...
struct  s_PXENV_UDP_WRITE
 Parameter block for pxenv_udp_write() More...
struct  s_PXENV_UDP_READ
 Parameter block for pxenv_udp_read() More...
struct  s_PXENV_UNDI_STARTUP
 Parameter block for pxenv_undi_startup() More...
struct  s_PXENV_UNDI_CLEANUP
 Parameter block for pxenv_undi_cleanup() More...
struct  s_PXENV_UNDI_INITIALIZE
 Parameter block for pxenv_undi_initialize() More...
struct  s_PXENV_UNDI_MCAST_ADDRESS
 List of multicast MAC addresses. More...
struct  s_PXENV_UNDI_RESET
 Parameter block for pxenv_undi_reset_adapter() More...
struct  s_PXENV_UNDI_SHUTDOWN
 Parameter block for pxenv_undi_shutdown() More...
struct  s_PXENV_UNDI_OPEN
 Parameter block for pxenv_undi_open() More...
struct  s_PXENV_UNDI_CLOSE
 Parameter block for pxenv_undi_close() More...
struct  s_PXENV_UNDI_TBD
 A transmit buffer descriptor, as pointed to by s_PXENV_UNDI_TRANSMIT::TBD. More...
struct  s_PXENV_UNDI_TBD::DataBlk
 Array of up to MAX_DATA_BLKS additional transmit buffers. More...
struct  DataBlk
 Array of up to MAX_DATA_BLKS additional transmit buffers. More...
struct  s_PXENV_UNDI_TRANSMIT
 Parameter block for pxenv_undi_transmit() More...
struct  s_PXENV_UNDI_SET_MCAST_ADDRESS
 Parameter block for pxenv_undi_set_mcast_address() More...
struct  s_PXENV_UNDI_SET_STATION_ADDRESS
 Parameter block for pxenv_undi_set_station_address() More...
struct  s_PXENV_UNDI_SET_PACKET_FILTER
 Parameter block for pxenv_undi_set_packet_filter() More...
struct  s_PXENV_UNDI_GET_INFORMATION
 Parameter block for pxenv_undi_get_information() More...
struct  s_PXENV_UNDI_GET_STATISTICS
 Parameter block for pxenv_undi_get_statistics() More...
struct  s_PXENV_UNDI_CLEAR_STATISTICS
 Parameter block for pxenv_undi_clear_statistics() More...
struct  s_PXENV_UNDI_INITIATE_DIAGS
 Parameter block for pxenv_undi_initiate_diags() More...
struct  s_PXENV_UNDI_FORCE_INTERRUPT
 Parameter block for pxenv_undi_force_interrupt() More...
struct  s_PXENV_UNDI_GET_MCAST_ADDRESS
 Parameter block for pxenv_undi_get_mcast_address() More...
struct  pci_nic_info
 Information for a PCI or equivalent NIC. More...
struct  pnp_nic_info
 Information for an ISAPnP or equivalent NIC. More...
struct  s_PXENV_UNDI_GET_NIC_TYPE
 Parameter block for pxenv_undi_get_nic_type() More...
union  s_PXENV_UNDI_GET_NIC_TYPE::nic_type_info
 NIC information. More...
union  nic_type_info
 NIC information. More...
struct  s_PXENV_UNDI_GET_IFACE_INFO
 Parameter block for pxenv_undi_get_iface_info() More...
struct  s_PXENV_UNDI_GET_STATE
 Parameter block for pxenv_undi_get_state() More...
struct  s_PXENV_UNDI_ISR
 Parameter block for pxenv_undi_isr() More...
struct  s_PXENV_FILE_OPEN
 Parameter block for pxenv_file_open() More...
struct  s_PXENV_FILE_CLOSE
 Parameter block for pxenv_file_close() More...
struct  s_PXENV_FILE_SELECT
 Parameter block for pxenv_file_select() More...
struct  s_PXENV_FILE_READ
 Parameter block for pxenv_file_read() More...
struct  s_PXENV_GET_FILE_SIZE
 Parameter block for pxenv_get_file_size() More...
struct  s_PXENV_FILE_EXEC
 Parameter block for pxenv_file_exec() More...
struct  s_PXENV_FILE_API_CHECK
 Parameter block for pxenv_file_api_check() More...
struct  s_PXENV_FILE_EXIT_HOOK
 Parameter block for pxenv_file_exit_hook() More...
struct  s_PXENV_FILE_CMDLINE
 Parameter block for pxenv_file_cmdline() More...
struct  s_UNDI_LOADER
 Parameter block for undi_loader() More...

Defines

#define PXENV_UNLOAD_STACK   0x0070
 PXE API function code for pxenv_unload_stack()
#define PXENV_GET_CACHED_INFO   0x0071
 PXE API function code for pxenv_get_cached_info()
#define PXENV_PACKET_TYPE_DHCP_DISCOVER   1
 The client's DHCPDISCOVER packet.
#define PXENV_PACKET_TYPE_DHCP_ACK   2
 The DHCP server's DHCPACK packet.
#define PXENV_PACKET_TYPE_CACHED_REPLY   3
 The Boot Server's Discover Reply packet.
#define BOOTP_REQ   1
 A BOOTP request packet.
#define BOOTP_REP   2
 A BOOTP reply packet.
#define BOOTP_BCAST   0x8000
 DHCP broadcast flag.
#define VM_RFC1048   0x63825363L
 DHCP magic cookie.
#define BOOTP_DHCPVEND   1024
 Maximum length of DHCP options.
#define PXENV_RESTART_TFTP   0x0073
 PXE API function code for pxenv_restart_tftp()
#define PXENV_START_UNDI   0x0000
 PXE API function code for pxenv_start_undi()
#define PXENV_STOP_UNDI   0x0015
 PXE API function code for pxenv_stop_undi()
#define PXENV_START_BASE   0x0075
 PXE API function code for pxenv_start_base()
#define PXENV_STOP_BASE   0x0076
 PXE API function code for pxenv_stop_base()
#define PXENV_TFTP_OPEN   0x0020
 PXE API function code for pxenv_tftp_open()
#define PXENV_TFTP_CLOSE   0x0021
 PXE API function code for pxenv_tftp_close()
#define PXENV_TFTP_READ   0x0022
 PXE API function code for pxenv_tftp_read()
#define PXENV_TFTP_READ_FILE   0x0023
 PXE API function code for pxenv_tftp_read_file()
#define PXENV_TFTP_GET_FSIZE   0x0025
 PXE API function code for pxenv_tftp_get_fsize()
#define PXENV_UDP_OPEN   0x0030
 PXE API function code for pxenv_udp_open()
#define PXENV_UDP_CLOSE   0x0031
 PXE API function code for pxenv_udp_close()
#define PXENV_UDP_WRITE   0x0033
 PXE API function code for pxenv_udp_write()
#define PXENV_UDP_READ   0x0032
 PXE API function code for pxenv_udp_read()
#define PXENV_UNDI_STARTUP   0x0001
 PXE API function code for pxenv_undi_startup()
#define PXENV_BUS_ISA   0
 ISA bus type.
#define PXENV_BUS_EISA   1
 EISA bus type.
#define PXENV_BUS_MCA   2
 MCA bus type.
#define PXENV_BUS_PCI   3
 PCI bus type.
#define PXENV_BUS_VESA   4
 VESA bus type.
#define PXENV_BUS_PCMCIA   5
 PCMCIA bus type.
#define PXENV_UNDI_CLEANUP   0x0002
 PXE API function code for pxenv_undi_cleanup()
#define PXENV_UNDI_INITIALIZE   0x0003
 PXE API function code for pxenv_undi_initialize()
#define PXENV_UNDI_RESET_ADAPTER   0x0004
 PXE API function code for pxenv_undi_reset_adapter()
#define MAXNUM_MCADDR   8
 Maximum number of multicast MAC addresses.
#define PXENV_UNDI_SHUTDOWN   0x0005
 PXE API function code for pxenv_undi_shutdown()
#define PXENV_UNDI_OPEN   0x0006
 PXE API function code for pxenv_undi_open()
#define FLTR_DIRECTED   0x0001
 Accept "directed" packets.
#define FLTR_BRDCST   0x0002
 Accept broadcast packets.
#define FLTR_PRMSCS   0x0004
 Accept all packets; listen in promiscuous mode.
#define FLTR_SRC_RTG   0x0008
 Accept source-routed packets.
#define PXENV_UNDI_CLOSE   0x0007
 PXE API function code for pxenv_undi_close()
#define PXENV_UNDI_TRANSMIT   0x0008
 PXE API function code for pxenv_undi_transmit()
#define P_UNKNOWN   0
 Media header already filled in.
#define P_IP   1
 IP protocol.
#define P_ARP   2
 ARP protocol.
#define P_RARP   3
 RARP protocol.
#define P_OTHER   4
 Other protocol.
#define XMT_DESTADDR   0x0000
 Unicast packet.
#define XMT_BROADCAST   0x0001
 Broadcast packet.
#define MAX_DATA_BLKS   8
 Maximum number of data blocks in a transmit buffer descriptor.
#define PXENV_UNDI_SET_MCAST_ADDRESS   0x0009
 PXE API function code for pxenv_undi_set_mcast_address()
#define PXENV_UNDI_SET_STATION_ADDRESS   0x000a
 PXE API function code for pxenv_undi_set_station_address()
#define PXENV_UNDI_SET_PACKET_FILTER   0x000b
 PXE API function code for pxenv_undi_set_packet_filter()
#define PXENV_UNDI_GET_INFORMATION   0x000c
 PXE API function code for pxenv_undi_get_information()
#define ETHER_TYPE   1
 Ethernet (10Mb)
#define EXP_ETHER_TYPE   2
 Experimental Ethernet (3Mb)
#define AX25_TYPE   3
 Amateur Radio AX.25.
#define TOKEN_RING_TYPE   4
 Proteon ProNET Token Ring.
#define CHAOS_TYPE   5
 Chaos.
#define IEEE_TYPE   6
 IEEE 802 Networks.
#define ARCNET_TYPE   7
 ARCNET.
#define PXENV_UNDI_GET_STATISTICS   0x000d
 PXE API function code for pxenv_undi_get_statistics()
#define PXENV_UNDI_CLEAR_STATISTICS   0x000e
 PXE API function code for pxenv_undi_clear_statistics()
#define PXENV_UNDI_INITIATE_DIAGS   0x000f
 PXE API function code for pxenv_undi_initiate_diags()
#define PXENV_UNDI_FORCE_INTERRUPT   0x0010
 PXE API function code for pxenv_undi_force_interrupt()
#define PXENV_UNDI_GET_MCAST_ADDRESS   0x0011
 PXE API function code for pxenv_undi_get_mcast_address()
#define PXENV_UNDI_GET_NIC_TYPE   0x0012
 PXE API function code for pxenv_undi_get_nic_type()
#define PCI_NIC   2
 PCI network card.
#define PnP_NIC   3
 ISAPnP network card.
#define CardBus_NIC   4
 CardBus network card.
#define PXENV_UNDI_GET_IFACE_INFO   0x0013
 PXE API function code for pxenv_undi_get_iface_info()
#define SUPPORTED_BROADCAST   0x0001
 Broadcast supported.
#define SUPPORTED_MULTICAST   0x0002
 Multicast supported.
#define SUPPORTED_GROUP   0x0004
 Functional/group addressing supported.
#define SUPPORTED_PROMISCUOUS   0x0008
 Promiscuous mode supported.
#define SUPPORTED_SET_STATION_ADDRESS   0x0010
 Software settable station address.
#define SUPPORTED_DIAGNOSTICS   0x0040
 InitiateDiagnostics supported.
#define SUPPORTED_RESET   0x0400
 Reset MAC supported.
#define SUPPORTED_OPEN_CLOSE   0x0800
 Open / Close Adapter supported.
#define SUPPORTED_IRQ   0x1000
 Interrupt Request supported.
#define PXENV_UNDI_GET_STATE   0x0015
 PXE API function code for pxenv_undi_get_state()
#define PXE_UNDI_GET_STATE_STARTED   1
 pxenv_start_undi() has been called
#define PXE_UNDI_GET_STATE_INITIALIZED   2
 pxenv_undi_initialize() has been called
#define PXE_UNDI_GET_STATE_OPENED   3
 pxenv_undi_open() has been called
#define PXENV_UNDI_ISR   0x0014
 PXE API function code for pxenv_undi_isr()
#define PXENV_UNDI_ISR_IN_START   1
 Determine whether or not this is our interrupt.
#define PXENV_UNDI_ISR_IN_PROCESS   2
 Start processing interrupt.
#define PXENV_UNDI_ISR_IN_GET_NEXT   3
 Continue processing interrupt.
#define PXENV_UNDI_ISR_OUT_OURS   0
 This interrupt was ours.
#define PXENV_UNDI_ISR_OUT_NOT_OURS   1
 This interrupt was not ours.
#define PXENV_UNDI_ISR_OUT_DONE   0
 Finished processing interrupt.
#define PXENV_UNDI_ISR_OUT_TRANSMIT   2
 A packet transmission has completed.
#define PXENV_UNDI_ISR_OUT_RECEIVE   3
 A packet has been received.
#define PXENV_UNDI_ISR_OUT_BUSY   4
 We are already in the middle of processing an interrupt.
#define P_DIRECTED   0
 Unicast packet (or packet captured in promiscuous mode)
#define P_BROADCAST   1
 Broadcast packet.
#define P_MULTICAST   2
 Multicast packet.
#define PXENV_FILE_MIN   0x00e0
 Minimum possible opcode used within PXE FILE API.
#define PXENV_FILE_MAX   0x00ef
 Minimum possible opcode used within PXE FILE API.
#define PXENV_FILE_OPEN   0x00e0
 PXE API function code for pxenv_file_open()
#define PXENV_FILE_CLOSE   0x00e1
 PXE API function code for pxenv_file_close()
#define PXENV_FILE_SELECT   0x00e2
 PXE API function code for pxenv_file_select()
#define RDY_READ   0x0001
 File is ready for reading.
#define PXENV_FILE_READ   0x00e3
 PXE API function code for pxenv_file_read()
#define PXENV_GET_FILE_SIZE   0x00e4
 PXE API function code for pxenv_get_file_size()
#define PXENV_FILE_EXEC   0x00e5
 PXE API function code for pxenv_file_exec()
#define PXENV_FILE_API_CHECK   0x00e6
 PXE API function code for pxenv_file_api_check()
#define PXENV_FILE_EXIT_HOOK   0x00e7
 PXE API function code for pxenv_file_exit_hook()
#define PXENV_FILE_CMDLINE   0x00e8
 PXE API function code for pxenv_file_cmdline()

Typedefs

typedef struct s_PXENV PXENV_t
typedef struct s_PXE PXE_t
typedef struct s_PXENV_UNLOAD_STACK PXENV_UNLOAD_STACK_t
typedef struct
s_PXENV_GET_CACHED_INFO 
PXENV_GET_CACHED_INFO_t
typedef struct bootph BOOTPLAYER_t
typedef struct s_PXENV_RESTART_TFTP PXENV_RESTART_TFTP_t
typedef struct s_PXENV_START_UNDI PXENV_START_UNDI_t
typedef struct s_PXENV_STOP_UNDI PXENV_STOP_UNDI_t
typedef struct s_PXENV_START_BASE PXENV_START_BASE_t
typedef struct s_PXENV_STOP_BASE PXENV_STOP_BASE_t
typedef struct s_PXENV_TFTP_OPEN PXENV_TFTP_OPEN_t
typedef struct s_PXENV_TFTP_CLOSE PXENV_TFTP_CLOSE_t
typedef struct s_PXENV_TFTP_READ PXENV_TFTP_READ_t
typedef struct
s_PXENV_TFTP_READ_FILE 
PXENV_TFTP_READ_FILE_t
typedef struct
s_PXENV_TFTP_GET_FSIZE 
PXENV_TFTP_GET_FSIZE_t
typedef struct s_PXENV_UDP_OPEN PXENV_UDP_OPEN_t
typedef struct s_PXENV_UDP_CLOSE PXENV_UDP_CLOSE_t
typedef struct s_PXENV_UDP_WRITE PXENV_UDP_WRITE_t
typedef struct s_PXENV_UDP_READ PXENV_UDP_READ_t
typedef struct s_PXENV_UNDI_STARTUP PXENV_UNDI_STARTUP_t
typedef struct s_PXENV_UNDI_CLEANUP PXENV_UNDI_CLEANUP_t
typedef struct
s_PXENV_UNDI_INITIALIZE 
PXENV_UNDI_INITIALIZE_t
typedef struct
s_PXENV_UNDI_MCAST_ADDRESS 
PXENV_UNDI_MCAST_ADDRESS_t
typedef struct s_PXENV_UNDI_RESET PXENV_UNDI_RESET_t
typedef struct
s_PXENV_UNDI_SHUTDOWN 
PXENV_UNDI_SHUTDOWN_t
typedef struct s_PXENV_UNDI_OPEN PXENV_UNDI_OPEN_t
typedef struct s_PXENV_UNDI_CLOSE PXENV_UNDI_CLOSE_t
typedef struct s_PXENV_UNDI_TBD PXENV_UNDI_TBD_t
typedef struct
s_PXENV_UNDI_TRANSMIT 
PXENV_UNDI_TRANSMIT_t
typedef struct
s_PXENV_UNDI_SET_MCAST_ADDRESS 
PXENV_UNDI_SET_MCAST_ADDRESS_t
typedef struct
s_PXENV_UNDI_SET_STATION_ADDRESS 
PXENV_UNDI_SET_STATION_ADDRESS_t
typedef struct
s_PXENV_UNDI_SET_PACKET_FILTER 
PXENV_UNDI_SET_PACKET_FILTER_t
typedef struct
s_PXENV_UNDI_GET_INFORMATION 
PXENV_UNDI_GET_INFORMATION_t
typedef struct
s_PXENV_UNDI_GET_STATISTICS 
PXENV_UNDI_GET_STATISTICS_t
typedef struct
s_PXENV_UNDI_CLEAR_STATISTICS 
PXENV_UNDI_CLEAR_STATISTICS_t
typedef struct
s_PXENV_UNDI_INITIATE_DIAGS 
PXENV_UNDI_INITIATE_DIAGS_t
typedef struct
s_PXENV_UNDI_FORCE_INTERRUPT 
PXENV_UNDI_FORCE_INTERRUPT_t
typedef struct
s_PXENV_UNDI_GET_MCAST_ADDRESS 
PXENV_UNDI_GET_MCAST_ADDRESS_t
typedef struct
s_PXENV_UNDI_GET_NIC_TYPE 
PXENV_UNDI_GET_NIC_TYPE_t
typedef struct
s_PXENV_UNDI_GET_IFACE_INFO 
PXENV_UNDI_GET_IFACE_INFO_t
typedef struct
s_PXENV_UNDI_GET_STATE 
PXENV_UNDI_GET_STATE_t
typedef struct s_PXENV_UNDI_ISR PXENV_UNDI_ISR_t
typedef struct s_PXENV_FILE_OPEN PXENV_FILE_OPEN_t
typedef struct s_PXENV_FILE_CLOSE PXENV_FILE_CLOSE_t
typedef struct s_PXENV_FILE_SELECT PXENV_FILE_SELECT_t
typedef struct s_PXENV_FILE_READ PXENV_FILE_READ_t
typedef struct
s_PXENV_GET_FILE_SIZE 
PXENV_GET_FILE_SIZE_t
typedef struct s_PXENV_FILE_EXEC PXENV_FILE_EXEC_t
typedef struct
s_PXENV_FILE_API_CHECK 
PXENV_FILE_API_CHECK_t
typedef struct
s_PXENV_FILE_EXIT_HOOK 
PXENV_FILE_EXIT_HOOK_t
typedef struct s_PXENV_FILE_CMDLINE PXENV_FILE_CMDLINE_t
typedef struct s_UNDI_LOADER UNDI_LOADER_t

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
struct s_PXENV __attribute__ ((packed))

Variables

UINT8_t Signature [6]
 Signature.
UINT16_t Version
 PXE API version.
UINT8_t Length
 Length of this structure.
UINT8_t Checksum
 Checksum.
SEGOFF16_t RMEntry
 Real-mode PXENV+ entry point.
UINT32_t PMOffset
 Protected-mode PXENV+ entry point offset.
SEGSEL_t PMSelector
 Protected-mode PXENV+ entry point segment selector.
SEGSEL_t StackSeg
 Stack segment selector.
UINT16_t StackSize
 Stack segment size.
SEGSEL_t BC_CodeSeg
 Base-code code segment selector.
UINT16_t BC_CodeSize
 Base-code code segment size.
SEGSEL_t BC_DataSeg
 Base-code data segment selector.
UINT16_t BC_DataSize
 Base-code data segment size.
SEGSEL_t UNDIDataSeg
 UNDI data segment selector.
UINT16_t UNDIDataSize
 UNDI data segment size.
SEGSEL_t UNDICodeSeg
 UNDI code segment selector.
UINT16_t UNDICodeSize
 UNDI code segment size.
SEGOFF16_t PXEPtr
 Address of the !PXE structure.
UINT8_t StructLength
 Length of this structure.
UINT8_t StructCksum
 Checksum.
UINT8_t StructRev
 Revision of this structure.
UINT8_t reserved_1
 Must be zero.
SEGOFF16_t UNDIROMID
 Address of the UNDI ROM ID structure.
SEGOFF16_t BaseROMID
 Address of the Base Code ROM ID structure.
SEGOFF16_t EntryPointSP
 16-bit !PXE entry point
SEGOFF16_t EntryPointESP
 32-bit !PXE entry point
SEGOFF16_t StatusCallout
 Status call-out function.
UINT8_t reserved_2
 Must be zero.
UINT8_t SegDescCnt
 Number of segment descriptors.
SEGSEL_t FirstSelector
 First protected-mode selector.
SEGDESC_t Stack
 Stack segment descriptor.
SEGDESC_t UNDIData
 UNDI data segment descriptor.
SEGDESC_t UNDICode
 UNDI code segment descriptor.
SEGDESC_t UNDICodeWrite
 UNDI writable code segment descriptor.
SEGDESC_t BC_Data
 Base-code data segment descriptor.
SEGDESC_t BC_Code
 Base-code code segment descriptor.
SEGDESC_t BC_CodeWrite
 Base-code writable code segment descriptor.
PXENV_STATUS_t Status
 PXE status code.
UINT8_t reserved [10]
 Must be zero.
UINT16_t PacketType
 Packet type.
UINT16_t BufferSize
 Buffer size.
SEGOFF16_t Buffer
 Buffer address.
UINT16_t BufferLimit
 Maximum buffer size.
UINT8_t opcode
 Message opcode.
UINT8_t Hardware
 NIC hardware type.
UINT8_t Hardlen
 MAC address length.
UINT8_t Gatehops
 Gateway hops.
UINT32_t ident
 DHCP transaction id (xid)
UINT16_t seconds
 Elapsed time.
UINT16_t Flags
 Flags.
IP4_t cip
 Client IP address.
IP4_t yip
 Your IP address.
IP4_t sip
 Server IP address.
IP4_t gip
 Gateway IP address.
MAC_ADDR_t CAddr
 Client MAC address.
UINT8_t Sname [64]
 Server host name.
UINT8_t bootfile [128]
 Boot file name.
union bootph_vendor vendor
UINT16_t AX
 ax register as passed to the Option ROM initialisation routine.
UINT16_t BX
 bx register as passed to the Option ROM initialisation routine.
UINT16_t DX
 dx register as passed to the Option ROM initialisation routine.
OFF16_t DI
 di register as passed to the Option ROM initialisation routine.
SEGSEL_t ES
 es register as passed to the Option ROM initialisation routine.
IP4_t ServerIPAddress
 TFTP server IP address.
IP4_t GatewayIPAddress
 Relay agent IP address.
UINT8_t FileName [128]
 File name.
UDP_PORT_t TFTPPort
 TFTP server UDP port.
UINT16_t PacketSize
 Requested size of TFTP packets.
UINT16_t PacketNumber
 TFTP packet number.
IP4_t McastIPAddress
 File multicast IP address.
UDP_PORT_t TFTPClntPort
 Client multicast listening port.
UDP_PORT_t TFTPSrvPort
 Server multicast listening port.
UINT16_t TFTPOpenTimeOut
 TFTP open timeout.
UINT16_t TFTPReopenDelay
 TFTP reopen timeout.
UINT32_t FileSize
 Size of the file.
IP4_t src_ip
 IP address of this station.
IP4_t ip
 Destination IP address.
IP4_t gw
 Relay agent IP address.
UDP_PORT_t src_port
 Source UDP port.
UDP_PORT_t dst_port
 Destination UDP port.
UINT16_t buffer_size
 UDP payload buffer size.
SEGOFF16_t buffer
 UDP payload buffer address.
IP4_t dest_ip
 Destination IP address.
UDP_PORT_t s_port
 Source UDP port.
UDP_PORT_t d_port
 Destination UDP port.
ADDR32_t ProtocolIni
 NDIS 2.0 configuration information, or NULL.
UINT16_t MCastAddrCount
 Number of multicast MAC addresses.
MAC_ADDR_t McastAddr [MAXNUM_MCADDR]
 List of up to MAXNUM_MCADDR multicast MAC addresses.
struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf
 Multicast MAC addresses.
UINT16_t OpenFlag
 Open flags as defined in NDIS 2.0.
UINT16_t PktFilter
 Receive packet filter.
UINT16_t ImmedLength
 Length of the transmit buffer.
SEGOFF16_t Xmit
 Address of the transmit buffer.
UINT16_t DataBlkCount
struct DataBlk DataBlock [MAX_DATA_BLKS]
UINT8_t Protocol
 Protocol.
UINT8_t XmitFlag
 Unicast/broadcast flag.
SEGOFF16_t DestAddr
 Destination MAC address.
SEGOFF16_t TBD
 Address of the Transmit Buffer Descriptor.
UINT32_t Reserved [2]
 Must be zero.
MAC_ADDR_t StationAddress
 Station MAC address.
UINT8_t filter
 Receive packet filter.
UINT16_t BaseIo
 I/O base address.
UINT16_t IntNumber
 IRQ number.
UINT16_t MaxTranUnit
 Adapter MTU.
UINT16_t HwType
 Hardware type.
UINT16_t HwAddrLen
 MAC address length.
MAC_ADDR_t CurrentNodeAddress
 Current MAC address.
MAC_ADDR_t PermNodeAddress
 Permanent (EEPROM) MAC address.
SEGSEL_t ROMAddress
 Real-mode ROM segment address.
UINT16_t RxBufCt
 Receive queue length.
UINT16_t TxBufCt
 Transmit queue length.
UINT32_t XmtGoodFrames
 Successful transmission count.
UINT32_t RcvGoodFrames
 Successful reception count.
UINT32_t RcvCRCErrors
 Receive CRC error count.
UINT32_t RcvResourceErrors
 Receive queue overflow count.
IP4_t InetAddr
 Multicast IP address.
MAC_ADDR_t MediaAddr
 Multicast MAC address.
UINT16_t Vendor_ID
 PCI vendor ID.
UINT16_t Dev_ID
 PCI device ID.
UINT8_t Base_Class
 PCI base class.
UINT8_t Sub_Class
 PCI sub class.
UINT8_t Prog_Intf
 PCI programming interface.
UINT8_t Rev
 PCI revision.
UINT16_t BusDevFunc
 PCI bus:dev:fn address.
UINT16_t SubVendor_ID
 PCI subvendor ID.
UINT16_t SubDevice_ID
 PCI subdevice ID.
UINT32_t EISA_Dev_ID
 EISA device ID.
UINT16_t CardSelNum
 Card Select Number assigned to card.
UINT8_t NicType
 NIC type.
union nic_type_info info
UINT8_t IfaceType [16]
 Interface type.
UINT32_t LinkSpeed
 Link speed, in bits per second.
UINT32_t ServiceFlags
 Service flags.
UINT8_t UNDIstate
 Current state of the UNDI driver.
UINT16_t FuncFlag
 Function flag.
UINT16_t BufferLength
 Data buffer length.
UINT16_t FrameLength
 Total frame length.
UINT16_t FrameHeaderLength
 Frame header length.
SEGOFF16_t Frame
 Data buffer address.
UINT8_t ProtType
 Protocol type.
UINT8_t PktType
 Packet type.
UINT16_t FileHandle
 File handle.
UINT16_t Ready
 Indication of readiness.
SEGOFF16_t Command
 Command to execute.
UINT16_t Size
 Size of structure.
UINT32_t Magic
 Magic number.
UINT32_t Provider
 Implementation identifier.
UINT32_t APIMask
 Supported API functions.
SEGOFF16_t Hook
 SEG16:OFF16 to jump to.
SEGSEL_t UNDI_DS
 UNDI data segment.
SEGSEL_t UNDI_CS
 UNDI code segment.
SEGOFF16_t PXEptr
 Address of the !PXE structure (a struct s_PXE)
SEGOFF16_t PXENVptr
 Address of the PXENV+ structure (a struct s_PXENV)

Detailed Description

Preboot eXecution Environment (PXE) API.

Definition in file pxe_api.h.


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

Variable Documentation

Signature.

Contains the bytes 'P', 'X', 'E', 'N', 'V', '+'.

Contains the bytes '!', 'P', 'X', 'E'.

Definition at line 129 of file pxe_api.h.

PXE API version.

MSB is major version number, LSB is minor version number. If the API version number is 0x0201 or greater, the !PXE structure pointed to by PXEPtr should be used instead of this data structure.

Definition at line 137 of file pxe_api.h.

Length of this structure.

Definition at line 138 of file pxe_api.h.

Checksum.

The byte checksum of this structure (using the length in Length) must be zero.

Definition at line 144 of file pxe_api.h.

SEGOFF16_t RMEntry

Real-mode PXENV+ entry point.

Definition at line 145 of file pxe_api.h.

Protected-mode PXENV+ entry point offset.

PXE 2.1 deprecates this entry point. For protected-mode API calls, use the !PXE structure pointed to by PXEPtr instead.

Definition at line 152 of file pxe_api.h.

Protected-mode PXENV+ entry point segment selector.

PXE 2.1 deprecates this entry point. For protected-mode API calls, use the !PXE structure pointed to by PXEPtr instead.

Definition at line 159 of file pxe_api.h.

Stack segment selector.

Definition at line 160 of file pxe_api.h.

Stack segment size.

Definition at line 161 of file pxe_api.h.

Base-code code segment selector.

Definition at line 162 of file pxe_api.h.

Base-code code segment size.

Definition at line 163 of file pxe_api.h.

Base-code data segment selector.

Definition at line 164 of file pxe_api.h.

Base-code data segment size.

Definition at line 165 of file pxe_api.h.

UNDI data segment selector.

Definition at line 166 of file pxe_api.h.

UNDI data segment size.

Definition at line 167 of file pxe_api.h.

UNDI code segment selector.

Definition at line 168 of file pxe_api.h.

UNDI code segment size.

Definition at line 169 of file pxe_api.h.

SEGOFF16_t PXEPtr

Address of the !PXE structure.

This field is present only if Version is 0x0201 or greater. If present, it points to a struct s_PXE.

Definition at line 175 of file pxe_api.h.

Length of this structure.

Definition at line 235 of file pxe_api.h.

Checksum.

The byte checksum of this structure (using the length in StructLength) must be zero.

Definition at line 241 of file pxe_api.h.

Revision of this structure.

For PXE version 2.1, this field must be zero.

Definition at line 246 of file pxe_api.h.

Must be zero.

Definition at line 247 of file pxe_api.h.

SEGOFF16_t UNDIROMID

Address of the UNDI ROM ID structure.

This is a pointer to a struct s_UNDI_ROM_ID.

Definition at line 252 of file pxe_api.h.

SEGOFF16_t BaseROMID

Address of the Base Code ROM ID structure.

This is a pointer to a struct s_BC_ROM_ID.

Definition at line 257 of file pxe_api.h.

SEGOFF16_t EntryPointSP

16-bit !PXE entry point

This is the entry point for either real mode, or protected mode with a 16-bit stack segment.

Definition at line 263 of file pxe_api.h.

SEGOFF16_t EntryPointESP

32-bit !PXE entry point

This is the entry point for protected mode with a 32-bit stack segment.

Definition at line 269 of file pxe_api.h.

SEGOFF16_t StatusCallout

Status call-out function.

Parameters:
0(if in a time-out loop)
nNumber of a received TFTP packet
Return values:
0Continue operation
1Cancel operation

This function will be called whenever the PXE stack is in protected mode, is waiting for an event (e.g. a DHCP reply) and wishes to allow the user to cancel the operation. Parameters are passed in register ax; the return value must also be placed in register ax. All other registers and flags must be preserved.

In real mode, an internal function (that checks for a keypress) will be used.

If this field is set to -1, no status call-out function will be used and consequently the user will not be allowed to interrupt operations.

Note:
The PXE specification version 2.1 defines the StatusCallout field, mentions it 11 times, but nowhere defines what it actually does or how it gets called. Fortunately, the WfM specification version 1.1a deigns to inform us of such petty details.

Definition at line 297 of file pxe_api.h.

Must be zero.

Definition at line 298 of file pxe_api.h.

Number of segment descriptors.

If this number is greater than 7, the remaining descriptors follow immediately after BC_CodeWrite.

Definition at line 304 of file pxe_api.h.

First protected-mode selector.

This is the segment selector value for the first segment assigned to PXE. Protected-mode selectors must be consecutive, according to the PXE 2.1 specification, though no reason is given. Each #SEGDESC_t includes a field for the segment selector, so this information is entirely redundant.

Definition at line 314 of file pxe_api.h.

SEGDESC_t Stack

Stack segment descriptor.

Definition at line 316 of file pxe_api.h.

SEGDESC_t UNDIData

UNDI data segment descriptor.

Definition at line 318 of file pxe_api.h.

SEGDESC_t UNDICode

UNDI code segment descriptor.

Definition at line 320 of file pxe_api.h.

SEGDESC_t UNDICodeWrite

UNDI writable code segment descriptor.

Definition at line 322 of file pxe_api.h.

SEGDESC_t BC_Data

Base-code data segment descriptor.

Definition at line 324 of file pxe_api.h.

SEGDESC_t BC_Code

Base-code code segment descriptor.

Definition at line 326 of file pxe_api.h.

SEGDESC_t BC_CodeWrite

Base-code writable code segment descriptor.

Definition at line 328 of file pxe_api.h.

PXE status code.

Definition at line 257 of file pxe_api.h.

Must be zero.

Definition at line 258 of file pxe_api.h.

Packet type.

Valid values are PXENV_PACKET_TYPE_DHCP_DISCOVER, PXENV_PACKET_TYPE_DHCP_ACK or PXENV_PACKET_TYPE_CACHED_REPLY

Definition at line 304 of file pxe_api.h.

Buffer size.

Data buffer size.

Size of data buffer.

Definition at line 305 of file pxe_api.h.

SEGOFF16_t Buffer

Buffer address.

Data buffer.

Address of data buffer.

Definition at line 306 of file pxe_api.h.

Maximum buffer size.

Definition at line 307 of file pxe_api.h.

Message opcode.

Valid values are BOOTP_REQ and BOOTP_REP.

Definition at line 409 of file pxe_api.h.

NIC hardware type.

Valid values are as for s_PXENV_UNDI_GET_INFORMATION::HwType.

Definition at line 414 of file pxe_api.h.

MAC address length.

Definition at line 415 of file pxe_api.h.

Gateway hops.

Zero in packets sent by the client. May be non-zero in replies from the DHCP server, if the reply comes via a DHCP relay agent.

Definition at line 422 of file pxe_api.h.

DHCP transaction id (xid)

Definition at line 423 of file pxe_api.h.

Elapsed time.

Number of seconds since the client began the DHCP transaction.

Definition at line 429 of file pxe_api.h.

Referenced by mktime(), and sleep_exec().

Flags.

Reserved for the future.

This is the bitwise-OR of any of the following values: BOOTP_BCAST.

Definition at line 435 of file pxe_api.h.

Client IP address.

Set only if the client already has an IP address.

Definition at line 440 of file pxe_api.h.

Your IP address.

This is the IP address that the server assigns to the client.

Definition at line 446 of file pxe_api.h.

Server IP address.

This is the IP address of the BOOTP/DHCP server.

Definition at line 451 of file pxe_api.h.

Gateway IP address.

This is the IP address of the BOOTP/DHCP relay agent, if any. It is not (necessarily) the address of the default gateway for routing purposes.

Definition at line 458 of file pxe_api.h.

Client MAC address.

Definition at line 459 of file pxe_api.h.

Server host name.

Definition at line 460 of file pxe_api.h.

Boot file name.

Definition at line 461 of file pxe_api.h.

ax register as passed to the Option ROM initialisation routine.

ax register as for PXENV_START_UNDI

For a PCI device, this should contain the bus:dev:fn value that uniquely identifies the PCI device in the system. For a non-PCI device, this field is not defined.

Definition at line 499 of file pxe_api.h.

bx register as passed to the Option ROM initialisation routine.

bx register as for PXENV_START_UNDI

For an ISAPnP device, this should contain the Card Select Number assigned to the ISAPnP card. For non-ISAPnP devices, this should contain 0xffff.

Definition at line 506 of file pxe_api.h.

dx register as passed to the Option ROM initialisation routine.

dx register as for PXENV_START_UNDI

For an ISAPnP device, this should contain the ISAPnP Read Port address as currently set in all ISAPnP cards. If there are no ISAPnP cards, this should contain 0xffff. (If this is a non-ISAPnP device, but there are ISAPnP cards in the system, this value is not well defined.)

Definition at line 515 of file pxe_api.h.

di register as passed to the Option ROM initialisation routine.

di register as for PXENV_START_UNDI

This contains the OFF16_t portion of a struct s_SEGOFF16 that points to the System BIOS Plug and Play Installation Check Structure. (Refer to section 4.4 of the Plug and Play BIOS specification for a description of this structure.)

Note:
The PXE specification defines the type of this field as UINT16_t. For x86, OFF16_t and UINT16_t are equivalent anyway; for other architectures OFF16_t makes more sense.

Definition at line 529 of file pxe_api.h.

es register as passed to the Option ROM initialisation routine.

es register as for PXENV_START_UNDI

This contains the SEGSEL_t portion of a struct s_SEGOFF16 that points to the System BIOS Plug and Play Installation Check Structure. (Refer to section 4.4 of the Plug and Play BIOS specification for a description of this structure.)

Note:
The PXE specification defines the type of this field as UINT16_t. For x86, SEGSEL_t and UINT16_t are equivalent anyway; for other architectures SEGSEL_t makes more sense.

Definition at line 543 of file pxe_api.h.

TFTP server IP address.

Definition at line 589 of file pxe_api.h.

Relay agent IP address.

Definition at line 590 of file pxe_api.h.

SEGOFF16_t FileName

File name.

File URL.

Definition at line 591 of file pxe_api.h.

TFTP server UDP port.

Definition at line 592 of file pxe_api.h.

Requested size of TFTP packets.

This is the TFTP "blksize" option. This must be at least 512, since servers that do not support TFTP options cannot negotiate blocksizes smaller than this.

Definition at line 599 of file pxe_api.h.

TFTP packet number.

Definition at line 630 of file pxe_api.h.

File multicast IP address.

Definition at line 679 of file pxe_api.h.

Client multicast listening port.

Definition at line 681 of file pxe_api.h.

Server multicast listening port.

Definition at line 683 of file pxe_api.h.

TFTP open timeout.

This is the timeout for receiving the first DATA or ACK packets during the MTFTP Listen phase.

Definition at line 689 of file pxe_api.h.

TFTP reopen timeout.

This is the timeout for receiving an ACK packet while in the MTFTP Listen phase (when at least one ACK packet has already been seen).

Definition at line 696 of file pxe_api.h.

Size of the file.

File size.

Definition at line 699 of file pxe_api.h.

IP address of this station.

Source IP address.

Definition at line 725 of file pxe_api.h.

Relay agent IP address.

Definition at line 770 of file pxe_api.h.

Source UDP port.

Definition at line 771 of file pxe_api.h.

Destination UDP port.

Definition at line 772 of file pxe_api.h.

UDP payload buffer size.

Definition at line 773 of file pxe_api.h.

SEGOFF16_t buffer

UDP payload buffer address.

Definition at line 774 of file pxe_api.h.

Destination IP address.

Definition at line 795 of file pxe_api.h.

Source UDP port.

Definition at line 796 of file pxe_api.h.

Destination UDP port.

Definition at line 797 of file pxe_api.h.

Referenced by pxenv_udp_read().

NDIS 2.0 configuration information, or NULL.

This is a pointer to the data structure returned by the NDIS 2.0 GetProtocolManagerInfo() API call. The data structure is documented, in a rather haphazard way, in section 4-17 of the NDIS 2.0 specification.

Definition at line 883 of file pxe_api.h.

Number of multicast MAC addresses.

Definition at line 901 of file pxe_api.h.

List of up to MAXNUM_MCADDR multicast MAC addresses.

Definition at line 903 of file pxe_api.h.

Multicast MAC addresses.

List of multicast addresses.

Definition at line 911 of file pxe_api.h.

Open flags as defined in NDIS 2.0.

This is the OpenOptions field as passed to the NDIS 2.0 OpenAdapter() API call. It is defined to be "adapter specific", though 0 is guaranteed to be a valid value.

Definition at line 984 of file pxe_api.h.

Receive packet filter.

This is the bitwise-OR of any of the following flags: FLTR_DIRECTED, FLTR_BRDCST, FLTR_PRMSCS and FLTR_SRC_RTG.

Definition at line 991 of file pxe_api.h.

Length of the transmit buffer.

Definition at line 1045 of file pxe_api.h.

SEGOFF16_t Xmit

Address of the transmit buffer.

Definition at line 1046 of file pxe_api.h.

Definition at line 1047 of file pxe_api.h.

Protocol.

Valid values are P_UNKNOWN, P_IP, P_ARP or P_RARP. If the caller has already filled in the media header, this field must be set to P_UNKNOWN.

Definition at line 1078 of file pxe_api.h.

Unicast/broadcast flag.

Valid values are XMT_DESTADDR or XMT_BROADCAST.

Definition at line 1083 of file pxe_api.h.

SEGOFF16_t DestAddr

Destination MAC address.

Definition at line 1084 of file pxe_api.h.

SEGOFF16_t TBD

Address of the Transmit Buffer Descriptor.

This is a pointer to a struct s_PXENV_UNDI_TBD.

Definition at line 1089 of file pxe_api.h.

Must be zero.

Reserved.

Definition at line 1090 of file pxe_api.h.

Station MAC address.

Definition at line 1113 of file pxe_api.h.

Receive packet filter.

This field takes the same values as s_PXENV_UNDI_OPEN::PktFilter.

Note:
Yes, this field is a different size to s_PXENV_UNDI_OPEN::PktFilter. Blame "the managers at Intel who apparently let a consultant come up with the spec without any kind of adult supervision" (quote from hpa).

Definition at line 1153 of file pxe_api.h.

Referenced by ath5k_hw_get_rx_filter(), ecm_open(), efi_pxe_ip_filter(), png_unfilter_pass(), and sky2_set_multicast().

I/O base address.

Definition at line 1186 of file pxe_api.h.

IRQ number.

Definition at line 1187 of file pxe_api.h.

Adapter MTU.

Definition at line 1188 of file pxe_api.h.

Hardware type.

Valid values are defined in RFC1010 ("Assigned numbers"), and are ETHER_TYPE, EXP_ETHER_TYPE, AX25_TYPE, TOKEN_RING_TYPE, CHAOS_TYPE, IEEE_TYPE or ARCNET_TYPE.

Definition at line 1195 of file pxe_api.h.

MAC address length.

Definition at line 1196 of file pxe_api.h.

Current MAC address.

Definition at line 1197 of file pxe_api.h.

Permanent (EEPROM) MAC address.

Definition at line 1198 of file pxe_api.h.

Real-mode ROM segment address.

Definition at line 1199 of file pxe_api.h.

Receive queue length.

Definition at line 1200 of file pxe_api.h.

Transmit queue length.

Definition at line 1201 of file pxe_api.h.

Successful transmission count.

Definition at line 1209 of file pxe_api.h.

Successful reception count.

Definition at line 1210 of file pxe_api.h.

Receive CRC error count.

Definition at line 1211 of file pxe_api.h.

Receive queue overflow count.

Definition at line 1212 of file pxe_api.h.

Multicast IP address.

Definition at line 1287 of file pxe_api.h.

Multicast MAC address.

Definition at line 1288 of file pxe_api.h.

PCI vendor ID.

Definition at line 1317 of file pxe_api.h.

PCI device ID.

Definition at line 1318 of file pxe_api.h.

PCI base class.

Base class.

Definition at line 1319 of file pxe_api.h.

PCI sub class.

Sub class.

Definition at line 1320 of file pxe_api.h.

PCI programming interface.

Programming interface.

Definition at line 1321 of file pxe_api.h.

PCI revision.

Definition at line 1322 of file pxe_api.h.

PCI bus:dev:fn address.

Definition at line 1323 of file pxe_api.h.

PCI subvendor ID.

Definition at line 1324 of file pxe_api.h.

PCI subdevice ID.

Definition at line 1325 of file pxe_api.h.

EISA device ID.

Definition at line 1327 of file pxe_api.h.

Card Select Number assigned to card.

Definition at line 1332 of file pxe_api.h.

NIC type.

Valid values are PCI_NIC, PnP_NIC or CardBus_NIC.

Definition at line 1351 of file pxe_api.h.

Interface type.

This is defined in the NDIS 2.0 specification to be one of the strings "802.3", "802.4", "802.5", "802.6", "DIX", "DIX+802.3", "APPLETALK", "ARCNET", "FDDI", "SDLC", "BSC", "HDLC", or "ISDN".

"Normal" Ethernet, for various historical reasons, is "DIX+802.3".

Definition at line 1415 of file pxe_api.h.

Link speed, in bits per second.

Definition at line 1416 of file pxe_api.h.

Service flags.

These are the "service flags" defined in the "MAC Service-Specific Characteristics" table in the NDIS 2.0 specification. Almost all of them are irrelevant to PXE.

Definition at line 1423 of file pxe_api.h.

Current state of the UNDI driver.

Valid values are PXE_UNDI_GET_STATE_STARTED, PXE_UNDI_GET_STATE_INITIALIZED or PXE_UNDI_GET_STATE_OPENED.

Definition at line 1444 of file pxe_api.h.

Data buffer length.

Definition at line 1515 of file pxe_api.h.

Total frame length.

Definition at line 1516 of file pxe_api.h.

Frame header length.

Definition at line 1517 of file pxe_api.h.

SEGOFF16_t Frame

Data buffer address.

Definition at line 1518 of file pxe_api.h.

Protocol type.

Valid values are P_IP, P_ARP, P_RARP or P_OTHER.

Definition at line 1523 of file pxe_api.h.

Packet type.

Valid values are P_DIRECTED, P_BROADCAST or P_MULTICAST.

Definition at line 1528 of file pxe_api.h.

File handle.

Definition at line 1543 of file pxe_api.h.

Indication of readiness.

Definition at line 1588 of file pxe_api.h.

SEGOFF16_t Command

Command to execute.

Definition at line 1650 of file pxe_api.h.

Size of structure.

Definition at line 1674 of file pxe_api.h.

Magic number.

Definition at line 1675 of file pxe_api.h.

Implementation identifier.

Definition at line 1676 of file pxe_api.h.

Supported API functions.

Definition at line 1677 of file pxe_api.h.

SEGOFF16_t Hook

SEG16:OFF16 to jump to.

Definition at line 1694 of file pxe_api.h.

UNDI data segment.

Note:
The PXE specification defines the type of this field as UINT16_t. For x86, SEGSEL_t and UINT16_t are equivalent anyway; for other architectures SEGSEL_t makes more sense.

Definition at line 1782 of file pxe_api.h.

UNDI code segment.

Note:
The PXE specification defines the type of this field as UINT16_t. For x86, SEGSEL_t and UINT16_t are equivalent anyway; for other architectures SEGSEL_t makes more sense.

Definition at line 1790 of file pxe_api.h.

SEGOFF16_t PXEptr

Address of the !PXE structure (a struct s_PXE)

Definition at line 1792 of file pxe_api.h.

SEGOFF16_t PXENVptr

Address of the PXENV+ structure (a struct s_PXENV)

Definition at line 1794 of file pxe_api.h.