iPXE
|
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) |
Preboot eXecution Environment (PXE) API.
Definition in file pxe_api.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
SEGOFF16_t PXEPtr |
Checksum.
The byte checksum of this structure (using the length in StructLength) must be zero.
SEGOFF16_t UNDIROMID |
SEGOFF16_t BaseROMID |
SEGOFF16_t EntryPointSP |
SEGOFF16_t EntryPointESP |
SEGOFF16_t StatusCallout |
Status call-out function.
0 | (if in a time-out loop) |
n | Number of a received TFTP packet |
0 | Continue operation |
1 | Cancel 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.
Number of segment descriptors.
If this number is greater than 7, the remaining descriptors follow immediately after BC_CodeWrite.
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.
SEGDESC_t UNDICodeWrite |
SEGDESC_t BC_CodeWrite |
Packet type.
Valid values are PXENV_PACKET_TYPE_DHCP_DISCOVER, PXENV_PACKET_TYPE_DHCP_ACK or PXENV_PACKET_TYPE_CACHED_REPLY
SEGOFF16_t Buffer |
NIC hardware type.
Valid values are as for s_PXENV_UNDI_GET_INFORMATION::HwType.
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().
union bootph_vendor vendor |
Referenced by arbel_reset(), efi_block_hook(), and rsn_get_desc().
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.
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.)
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.)
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.)
Destination IP address.
Definition at line 769 of file pxe_api.h.
Referenced by ar9003_hw_power_interpolate(), ath5k_get_pcdac_intercepts(), dhcp_discovery_rx(), dhcp_request_rx(), efi_pxe_discover(), efi_pxe_ip_filter(), and start_pxebs().
List of up to MAXNUM_MCADDR multicast MAC addresses.
Receive packet filter.
This is the bitwise-OR of any of the following flags: FLTR_DIRECTED, FLTR_BRDCST, FLTR_PRMSCS and FLTR_SRC_RTG.
struct DataBlk DataBlock[MAX_DATA_BLKS] |
Unicast/broadcast flag.
Valid values are XMT_DESTADDR or XMT_BROADCAST.
SEGOFF16_t TBD |
Address of the Transmit Buffer Descriptor.
This is a pointer to a struct s_PXENV_UNDI_TBD.
Receive packet filter.
This field takes the same values as s_PXENV_UNDI_OPEN::PktFilter.
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().
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.
NIC type.
Valid values are PCI_NIC, PnP_NIC or CardBus_NIC.
union nic_type_info info |
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".
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.
Packet type.
Valid values are P_DIRECTED, P_BROADCAST or P_MULTICAST.
SEGOFF16_t PXEptr |