iPXE
|
Preboot eXecution Environment (PXE) API. More...
#include "pxe_types.h"
Go to the source code of this file.
Macros | |
#define | PXENV_UNLOAD_STACK 0x0070 |
PXE API function code for pxenv_unload_stack() More... | |
#define | PXENV_GET_CACHED_INFO 0x0071 |
PXE API function code for pxenv_get_cached_info() More... | |
#define | PXENV_PACKET_TYPE_DHCP_DISCOVER 1 |
The client's DHCPDISCOVER packet. More... | |
#define | PXENV_PACKET_TYPE_DHCP_ACK 2 |
The DHCP server's DHCPACK packet. More... | |
#define | PXENV_PACKET_TYPE_CACHED_REPLY 3 |
The Boot Server's Discover Reply packet. More... | |
#define | BOOTP_REQ 1 |
A BOOTP request packet. More... | |
#define | BOOTP_REP 2 |
A BOOTP reply packet. More... | |
#define | BOOTP_BCAST 0x8000 |
DHCP broadcast flag. More... | |
#define | VM_RFC1048 0x63825363L |
DHCP magic cookie. More... | |
#define | BOOTP_DHCPVEND 1024 |
Maximum length of DHCP options. More... | |
#define | PXENV_RESTART_TFTP 0x0073 |
PXE API function code for pxenv_restart_tftp() More... | |
#define | PXENV_START_UNDI 0x0000 |
PXE API function code for pxenv_start_undi() More... | |
#define | PXENV_STOP_UNDI 0x0015 |
PXE API function code for pxenv_stop_undi() More... | |
#define | PXENV_START_BASE 0x0075 |
PXE API function code for pxenv_start_base() More... | |
#define | PXENV_STOP_BASE 0x0076 |
PXE API function code for pxenv_stop_base() More... | |
#define | PXENV_TFTP_OPEN 0x0020 |
PXE API function code for pxenv_tftp_open() More... | |
#define | PXENV_TFTP_CLOSE 0x0021 |
PXE API function code for pxenv_tftp_close() More... | |
#define | PXENV_TFTP_READ 0x0022 |
PXE API function code for pxenv_tftp_read() More... | |
#define | PXENV_TFTP_READ_FILE 0x0023 |
PXE API function code for pxenv_tftp_read_file() More... | |
#define | PXENV_TFTP_GET_FSIZE 0x0025 |
PXE API function code for pxenv_tftp_get_fsize() More... | |
#define | PXENV_UDP_OPEN 0x0030 |
PXE API function code for pxenv_udp_open() More... | |
#define | PXENV_UDP_CLOSE 0x0031 |
PXE API function code for pxenv_udp_close() More... | |
#define | PXENV_UDP_WRITE 0x0033 |
PXE API function code for pxenv_udp_write() More... | |
#define | PXENV_UDP_READ 0x0032 |
PXE API function code for pxenv_udp_read() More... | |
#define | PXENV_UNDI_STARTUP 0x0001 |
PXE API function code for pxenv_undi_startup() More... | |
#define | PXENV_BUS_ISA 0 |
ISA bus type. More... | |
#define | PXENV_BUS_EISA 1 |
EISA bus type. More... | |
#define | PXENV_BUS_MCA 2 |
MCA bus type. More... | |
#define | PXENV_BUS_PCI 3 |
PCI bus type. More... | |
#define | PXENV_BUS_VESA 4 |
VESA bus type. More... | |
#define | PXENV_BUS_PCMCIA 5 |
PCMCIA bus type. More... | |
#define | PXENV_UNDI_CLEANUP 0x0002 |
PXE API function code for pxenv_undi_cleanup() More... | |
#define | PXENV_UNDI_INITIALIZE 0x0003 |
PXE API function code for pxenv_undi_initialize() More... | |
#define | PXENV_UNDI_RESET_ADAPTER 0x0004 |
PXE API function code for pxenv_undi_reset_adapter() More... | |
#define | MAXNUM_MCADDR 8 |
Maximum number of multicast MAC addresses. More... | |
#define | PXENV_UNDI_SHUTDOWN 0x0005 |
PXE API function code for pxenv_undi_shutdown() More... | |
#define | PXENV_UNDI_OPEN 0x0006 |
PXE API function code for pxenv_undi_open() More... | |
#define | FLTR_DIRECTED 0x0001 |
Accept "directed" packets. More... | |
#define | FLTR_BRDCST 0x0002 |
Accept broadcast packets. More... | |
#define | FLTR_PRMSCS 0x0004 |
Accept all packets; listen in promiscuous mode. More... | |
#define | FLTR_SRC_RTG 0x0008 |
Accept source-routed packets. More... | |
#define | PXENV_UNDI_CLOSE 0x0007 |
PXE API function code for pxenv_undi_close() More... | |
#define | PXENV_UNDI_TRANSMIT 0x0008 |
PXE API function code for pxenv_undi_transmit() More... | |
#define | P_UNKNOWN 0 |
Media header already filled in. More... | |
#define | P_IP 1 |
IP protocol. More... | |
#define | P_ARP 2 |
ARP protocol. More... | |
#define | P_RARP 3 |
RARP protocol. More... | |
#define | P_OTHER 4 |
Other protocol. More... | |
#define | XMT_DESTADDR 0x0000 |
Unicast packet. More... | |
#define | XMT_BROADCAST 0x0001 |
Broadcast packet. More... | |
#define | MAX_DATA_BLKS 8 |
Maximum number of data blocks in a transmit buffer descriptor. More... | |
#define | PXENV_UNDI_SET_MCAST_ADDRESS 0x0009 |
PXE API function code for pxenv_undi_set_mcast_address() More... | |
#define | PXENV_UNDI_SET_STATION_ADDRESS 0x000a |
PXE API function code for pxenv_undi_set_station_address() More... | |
#define | PXENV_UNDI_SET_PACKET_FILTER 0x000b |
PXE API function code for pxenv_undi_set_packet_filter() More... | |
#define | PXENV_UNDI_GET_INFORMATION 0x000c |
PXE API function code for pxenv_undi_get_information() More... | |
#define | ETHER_TYPE 1 |
Ethernet (10Mb) More... | |
#define | EXP_ETHER_TYPE 2 |
Experimental Ethernet (3Mb) More... | |
#define | AX25_TYPE 3 |
Amateur Radio AX.25. More... | |
#define | TOKEN_RING_TYPE 4 |
Proteon ProNET Token Ring. More... | |
#define | CHAOS_TYPE 5 |
Chaos. More... | |
#define | IEEE_TYPE 6 |
IEEE 802 Networks. More... | |
#define | ARCNET_TYPE 7 |
ARCNET. More... | |
#define | PXENV_UNDI_GET_STATISTICS 0x000d |
PXE API function code for pxenv_undi_get_statistics() More... | |
#define | PXENV_UNDI_CLEAR_STATISTICS 0x000e |
PXE API function code for pxenv_undi_clear_statistics() More... | |
#define | PXENV_UNDI_INITIATE_DIAGS 0x000f |
PXE API function code for pxenv_undi_initiate_diags() More... | |
#define | PXENV_UNDI_FORCE_INTERRUPT 0x0010 |
PXE API function code for pxenv_undi_force_interrupt() More... | |
#define | PXENV_UNDI_GET_MCAST_ADDRESS 0x0011 |
PXE API function code for pxenv_undi_get_mcast_address() More... | |
#define | PXENV_UNDI_GET_NIC_TYPE 0x0012 |
PXE API function code for pxenv_undi_get_nic_type() More... | |
#define | PCI_NIC 2 |
PCI network card. More... | |
#define | PnP_NIC 3 |
ISAPnP network card. More... | |
#define | CardBus_NIC 4 |
CardBus network card. More... | |
#define | PXENV_UNDI_GET_IFACE_INFO 0x0013 |
PXE API function code for pxenv_undi_get_iface_info() More... | |
#define | SUPPORTED_BROADCAST 0x0001 |
Broadcast supported. More... | |
#define | SUPPORTED_MULTICAST 0x0002 |
Multicast supported. More... | |
#define | SUPPORTED_GROUP 0x0004 |
Functional/group addressing supported. More... | |
#define | SUPPORTED_PROMISCUOUS 0x0008 |
Promiscuous mode supported. More... | |
#define | SUPPORTED_SET_STATION_ADDRESS 0x0010 |
Software settable station address. More... | |
#define | SUPPORTED_DIAGNOSTICS 0x0040 |
InitiateDiagnostics supported. More... | |
#define | SUPPORTED_RESET 0x0400 |
Reset MAC supported. More... | |
#define | SUPPORTED_OPEN_CLOSE 0x0800 |
Open / Close Adapter supported. More... | |
#define | SUPPORTED_IRQ 0x1000 |
Interrupt Request supported. More... | |
#define | PXENV_UNDI_GET_STATE 0x0015 |
PXE API function code for pxenv_undi_get_state() More... | |
#define | PXE_UNDI_GET_STATE_STARTED 1 |
pxenv_start_undi() has been called More... | |
#define | PXE_UNDI_GET_STATE_INITIALIZED 2 |
pxenv_undi_initialize() has been called More... | |
#define | PXE_UNDI_GET_STATE_OPENED 3 |
pxenv_undi_open() has been called More... | |
#define | PXENV_UNDI_ISR 0x0014 |
PXE API function code for pxenv_undi_isr() More... | |
#define | PXENV_UNDI_ISR_IN_START 1 |
Determine whether or not this is our interrupt. More... | |
#define | PXENV_UNDI_ISR_IN_PROCESS 2 |
Start processing interrupt. More... | |
#define | PXENV_UNDI_ISR_IN_GET_NEXT 3 |
Continue processing interrupt. More... | |
#define | PXENV_UNDI_ISR_OUT_OURS 0 |
This interrupt was ours. More... | |
#define | PXENV_UNDI_ISR_OUT_NOT_OURS 1 |
This interrupt was not ours. More... | |
#define | PXENV_UNDI_ISR_OUT_DONE 0 |
Finished processing interrupt. More... | |
#define | PXENV_UNDI_ISR_OUT_TRANSMIT 2 |
A packet transmission has completed. More... | |
#define | PXENV_UNDI_ISR_OUT_RECEIVE 3 |
A packet has been received. More... | |
#define | PXENV_UNDI_ISR_OUT_BUSY 4 |
We are already in the middle of processing an interrupt. More... | |
#define | P_DIRECTED 0 |
Unicast packet (or packet captured in promiscuous mode) More... | |
#define | P_BROADCAST 1 |
Broadcast packet. More... | |
#define | P_MULTICAST 2 |
Multicast packet. More... | |
#define | PXENV_FILE_MIN 0x00e0 |
Minimum possible opcode used within PXE FILE API. More... | |
#define | PXENV_FILE_MAX 0x00ef |
Minimum possible opcode used within PXE FILE API. More... | |
#define | PXENV_FILE_OPEN 0x00e0 |
PXE API function code for pxenv_file_open() More... | |
#define | PXENV_FILE_CLOSE 0x00e1 |
PXE API function code for pxenv_file_close() More... | |
#define | PXENV_FILE_SELECT 0x00e2 |
PXE API function code for pxenv_file_select() More... | |
#define | RDY_READ 0x0001 |
File is ready for reading. More... | |
#define | PXENV_FILE_READ 0x00e3 |
PXE API function code for pxenv_file_read() More... | |
#define | PXENV_GET_FILE_SIZE 0x00e4 |
PXE API function code for pxenv_get_file_size() More... | |
#define | PXENV_FILE_EXEC 0x00e5 |
PXE API function code for pxenv_file_exec() More... | |
#define | PXENV_FILE_API_CHECK 0x00e6 |
PXE API function code for pxenv_file_api_check() More... | |
#define | PXENV_FILE_EXIT_HOOK 0x00e7 |
PXE API function code for pxenv_file_exit_hook() More... | |
#define | PXENV_FILE_CMDLINE 0x00e8 |
PXE API function code for pxenv_file_cmdline() More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
struct s_PXENV | __attribute__ ((packed)) |
Variables | |
UINT8_t | Signature [6] |
Signature. More... | |
UINT16_t | Version |
PXE API version. More... | |
UINT8_t | Length |
Length of this structure. More... | |
UINT8_t | Checksum |
Checksum. More... | |
SEGOFF16_t | RMEntry |
Real-mode PXENV+ entry point. More... | |
UINT32_t | PMOffset |
Protected-mode PXENV+ entry point offset. More... | |
SEGSEL_t | PMSelector |
Protected-mode PXENV+ entry point segment selector. More... | |
SEGSEL_t | StackSeg |
Stack segment selector. More... | |
UINT16_t | StackSize |
Stack segment size. More... | |
SEGSEL_t | BC_CodeSeg |
Base-code code segment selector. More... | |
UINT16_t | BC_CodeSize |
Base-code code segment size. More... | |
SEGSEL_t | BC_DataSeg |
Base-code data segment selector. More... | |
UINT16_t | BC_DataSize |
Base-code data segment size. More... | |
SEGSEL_t | UNDIDataSeg |
UNDI data segment selector. More... | |
UINT16_t | UNDIDataSize |
UNDI data segment size. More... | |
SEGSEL_t | UNDICodeSeg |
UNDI code segment selector. More... | |
UINT16_t | UNDICodeSize |
UNDI code segment size. More... | |
SEGOFF16_t | PXEPtr |
Address of the !PXE structure. More... | |
UINT8_t | StructLength |
Length of this structure. More... | |
UINT8_t | StructCksum |
Checksum. More... | |
UINT8_t | StructRev |
Revision of this structure. More... | |
UINT8_t | reserved_1 |
Must be zero. More... | |
SEGOFF16_t | UNDIROMID |
Address of the UNDI ROM ID structure. More... | |
SEGOFF16_t | BaseROMID |
Address of the Base Code ROM ID structure. More... | |
SEGOFF16_t | EntryPointSP |
16-bit !PXE entry point More... | |
SEGOFF16_t | EntryPointESP |
32-bit !PXE entry point More... | |
SEGOFF16_t | StatusCallout |
Status call-out function. More... | |
UINT8_t | reserved_2 |
Must be zero. More... | |
UINT8_t | SegDescCnt |
Number of segment descriptors. More... | |
SEGSEL_t | FirstSelector |
First protected-mode selector. More... | |
SEGDESC_t | Stack |
Stack segment descriptor. More... | |
SEGDESC_t | UNDIData |
UNDI data segment descriptor. More... | |
SEGDESC_t | UNDICode |
UNDI code segment descriptor. More... | |
SEGDESC_t | UNDICodeWrite |
UNDI writable code segment descriptor. More... | |
SEGDESC_t | BC_Data |
Base-code data segment descriptor. More... | |
SEGDESC_t | BC_Code |
Base-code code segment descriptor. More... | |
SEGDESC_t | BC_CodeWrite |
Base-code writable code segment descriptor. More... | |
PXENV_STATUS_t | Status |
PXE status code. More... | |
UINT8_t | reserved [10] |
Must be zero. More... | |
UINT16_t | PacketType |
Packet type. More... | |
UINT16_t | BufferSize |
Buffer size. More... | |
SEGOFF16_t | Buffer |
Buffer address. More... | |
UINT16_t | BufferLimit |
Maximum buffer size. More... | |
UINT8_t | opcode |
Message opcode. More... | |
UINT8_t | Hardware |
NIC hardware type. More... | |
UINT8_t | Hardlen |
MAC address length. More... | |
UINT8_t | Gatehops |
Gateway hops. More... | |
UINT32_t | ident |
DHCP transaction id (xid) More... | |
UINT16_t | seconds |
Elapsed time. More... | |
UINT16_t | Flags |
Flags. More... | |
IP4_t | cip |
Client IP address. More... | |
IP4_t | yip |
Your IP address. More... | |
IP4_t | sip |
Server IP address. More... | |
IP4_t | gip |
Gateway IP address. More... | |
MAC_ADDR_t | CAddr |
Client MAC address. More... | |
UINT8_t | Sname [64] |
Server host name. More... | |
UINT8_t | bootfile [128] |
Boot file name. More... | |
union bootph_vendor | vendor |
UINT16_t | AX |
ax register as passed to the Option ROM initialisation routine. More... | |
UINT16_t | BX |
bx register as passed to the Option ROM initialisation routine. More... | |
UINT16_t | DX |
dx register as passed to the Option ROM initialisation routine. More... | |
OFF16_t | DI |
di register as passed to the Option ROM initialisation routine. More... | |
SEGSEL_t | ES |
es register as passed to the Option ROM initialisation routine. More... | |
IP4_t | ServerIPAddress |
TFTP server IP address. More... | |
IP4_t | GatewayIPAddress |
Relay agent IP address. More... | |
UINT8_t | FileName [128] |
File name. More... | |
UDP_PORT_t | TFTPPort |
TFTP server UDP port. More... | |
UINT16_t | PacketSize |
Requested size of TFTP packets. More... | |
UINT16_t | PacketNumber |
TFTP packet number. More... | |
IP4_t | McastIPAddress |
File multicast IP address. More... | |
UDP_PORT_t | TFTPClntPort |
Client multicast listening port. More... | |
UDP_PORT_t | TFTPSrvPort |
Server multicast listening port. More... | |
UINT16_t | TFTPOpenTimeOut |
TFTP open timeout. More... | |
UINT16_t | TFTPReopenDelay |
TFTP reopen timeout. More... | |
UINT32_t | FileSize |
Size of the file. More... | |
IP4_t | src_ip |
IP address of this station. More... | |
IP4_t | ip |
Destination IP address. More... | |
IP4_t | gw |
Relay agent IP address. More... | |
UDP_PORT_t | src_port |
Source UDP port. More... | |
UDP_PORT_t | dst_port |
Destination UDP port. More... | |
UINT16_t | buffer_size |
UDP payload buffer size. More... | |
SEGOFF16_t | buffer |
UDP payload buffer address. More... | |
IP4_t | dest_ip |
Destination IP address. More... | |
UDP_PORT_t | s_port |
Source UDP port. More... | |
UDP_PORT_t | d_port |
Destination UDP port. More... | |
ADDR32_t | ProtocolIni |
NDIS 2.0 configuration information, or NULL. More... | |
UINT16_t | MCastAddrCount |
Number of multicast MAC addresses. More... | |
MAC_ADDR_t | McastAddr [MAXNUM_MCADDR] |
List of up to MAXNUM_MCADDR multicast MAC addresses. More... | |
struct s_PXENV_UNDI_MCAST_ADDRESS | R_Mcast_Buf |
Multicast MAC addresses. More... | |
UINT16_t | OpenFlag |
Open flags as defined in NDIS 2.0. More... | |
UINT16_t | PktFilter |
Receive packet filter. More... | |
UINT16_t | ImmedLength |
Length of the transmit buffer. More... | |
SEGOFF16_t | Xmit |
Address of the transmit buffer. More... | |
UINT16_t | DataBlkCount |
struct DataBlk | DataBlock [MAX_DATA_BLKS] |
UINT8_t | Protocol |
Protocol. More... | |
UINT8_t | XmitFlag |
Unicast/broadcast flag. More... | |
SEGOFF16_t | DestAddr |
Destination MAC address. More... | |
SEGOFF16_t | TBD |
Address of the Transmit Buffer Descriptor. More... | |
UINT32_t | Reserved [2] |
Must be zero. More... | |
MAC_ADDR_t | StationAddress |
Station MAC address. More... | |
UINT8_t | filter |
Receive packet filter. More... | |
UINT16_t | BaseIo |
I/O base address. More... | |
UINT16_t | IntNumber |
IRQ number. More... | |
UINT16_t | MaxTranUnit |
Adapter MTU. More... | |
UINT16_t | HwType |
Hardware type. More... | |
UINT16_t | HwAddrLen |
MAC address length. More... | |
MAC_ADDR_t | CurrentNodeAddress |
Current MAC address. More... | |
MAC_ADDR_t | PermNodeAddress |
Permanent (EEPROM) MAC address. More... | |
SEGSEL_t | ROMAddress |
Real-mode ROM segment address. More... | |
UINT16_t | RxBufCt |
Receive queue length. More... | |
UINT16_t | TxBufCt |
Transmit queue length. More... | |
UINT32_t | XmtGoodFrames |
Successful transmission count. More... | |
UINT32_t | RcvGoodFrames |
Successful reception count. More... | |
UINT32_t | RcvCRCErrors |
Receive CRC error count. More... | |
UINT32_t | RcvResourceErrors |
Receive queue overflow count. More... | |
IP4_t | InetAddr |
Multicast IP address. More... | |
MAC_ADDR_t | MediaAddr |
Multicast MAC address. More... | |
UINT16_t | Vendor_ID |
PCI vendor ID. More... | |
UINT16_t | Dev_ID |
PCI device ID. More... | |
UINT8_t | Base_Class |
PCI base class. More... | |
UINT8_t | Sub_Class |
PCI sub class. More... | |
UINT8_t | Prog_Intf |
PCI programming interface. More... | |
UINT8_t | Rev |
PCI revision. More... | |
UINT16_t | BusDevFunc |
PCI bus:dev:fn address. More... | |
UINT16_t | SubVendor_ID |
PCI subvendor ID. More... | |
UINT16_t | SubDevice_ID |
PCI subdevice ID. More... | |
UINT32_t | EISA_Dev_ID |
EISA device ID. More... | |
UINT16_t | CardSelNum |
Card Select Number assigned to card. More... | |
UINT8_t | NicType |
NIC type. More... | |
union nic_type_info | info |
UINT8_t | IfaceType [16] |
Interface type. More... | |
UINT32_t | LinkSpeed |
Link speed, in bits per second. More... | |
UINT32_t | ServiceFlags |
Service flags. More... | |
UINT8_t | UNDIstate |
Current state of the UNDI driver. More... | |
UINT16_t | FuncFlag |
Function flag. More... | |
UINT16_t | BufferLength |
Data buffer length. More... | |
UINT16_t | FrameLength |
Total frame length. More... | |
UINT16_t | FrameHeaderLength |
Frame header length. More... | |
SEGOFF16_t | Frame |
Data buffer address. More... | |
UINT8_t | ProtType |
Protocol type. More... | |
UINT8_t | PktType |
Packet type. More... | |
UINT16_t | FileHandle |
File handle. More... | |
UINT16_t | Ready |
Indication of readiness. More... | |
SEGOFF16_t | Command |
Command to execute. More... | |
UINT16_t | Size |
Size of structure. More... | |
UINT32_t | Magic |
Magic number. More... | |
UINT32_t | Provider |
Implementation identifier. More... | |
UINT32_t | APIMask |
Supported API functions. More... | |
SEGOFF16_t | Hook |
SEG16:OFF16 to jump to. More... | |
SEGSEL_t | UNDI_DS |
UNDI data segment. More... | |
SEGSEL_t | UNDI_CS |
UNDI code segment. More... | |
SEGOFF16_t | PXEptr |
Address of the !PXE structure (a struct s_PXE) More... | |
SEGOFF16_t | PXENVptr |
Address of the PXENV+ structure (a struct s_PXENV) More... | |
Preboot eXecution Environment (PXE) API.
Definition in file pxe_api.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
UINT8_t Signature |
UINT16_t Version |
UINT8_t Checksum |
UINT32_t PMOffset |
SEGSEL_t PMSelector |
SEGOFF16_t PXEPtr |
UINT8_t StructCksum |
Checksum.
The byte checksum of this structure (using the length in StructLength) must be zero.
UINT8_t StructRev |
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.
UINT8_t SegDescCnt |
Number of segment descriptors.
If this number is greater than 7, the remaining descriptors follow immediately after BC_CodeWrite.
SEGSEL_t FirstSelector |
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 |
PXENV_STATUS_t Status |
UINT16_t PacketType |
Packet type.
Valid values are PXENV_PACKET_TYPE_DHCP_DISCOVER, PXENV_PACKET_TYPE_DHCP_ACK or PXENV_PACKET_TYPE_CACHED_REPLY
UINT16_t BufferSize |
SEGOFF16_t Buffer |
UINT8_t opcode |
UINT8_t Hardware |
NIC hardware type.
Valid values are as for s_PXENV_UNDI_GET_INFORMATION::HwType.
UINT8_t Gatehops |
UINT16_t seconds |
Elapsed time.
Number of seconds since the client began the DHCP transaction.
Definition at line 81 of file pxe_api.h.
Referenced by mktime(), and sleep_exec().
UINT32_t Flags |
IP4_t cip |
IP4_t yip |
IP4_t sip |
IP4_t gip |
MAC_ADDR_t CAddr |
union bootph_vendor vendor |
UINT16_t AX |
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.
UINT16_t BX |
UINT16_t DX |
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.)
OFF16_t DI |
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.)
SEGSEL_t ES |
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.)
UDP_PORT_t TFTPPort |
UINT16_t PacketSize |
UDP_PORT_t TFTPClntPort |
UDP_PORT_t TFTPSrvPort |
UINT16_t TFTPOpenTimeOut |
UINT16_t TFTPReopenDelay |
IP4_t src_ip |
IP address of this station.
Source IP address.
Definition at line 58 of file pxe_api.h.
Referenced by efi_pxe_udp_read(), and efi_pxe_udp_write().
IP4_t ip |
Destination IP address.
Definition at line 58 of file pxe_api.h.
Referenced by ar9003_hw_power_interpolate(), ath5k_get_pcdac_intercepts(), dhcp_discovery_rx(), dhcp_request_rx(), efi_pxe_arp(), efi_pxe_discover(), efi_pxe_install(), efi_pxe_ip_filter(), efi_pxe_ip_ntoa(), efi_pxe_ip_sockaddr(), efi_pxe_mtftp(), efi_pxe_set_station_ip(), efi_pxe_tftp_open(), efi_snp_mcast_ip_to_mac(), pxebs_list(), pxenv_undi_get_mcast_address(), and start_pxebs().
UDP_PORT_t src_port |
Source UDP port.
Definition at line 60 of file pxe_api.h.
Referenced by efi_pxe_udp_read(), and efi_pxe_udp_write().
UDP_PORT_t dst_port |
UINT16_t buffer_size |
UDP payload buffer size.
Definition at line 62 of file pxe_api.h.
Referenced by efi_locate_handle_wrapper().
IP4_t dest_ip |
Destination IP address.
Definition at line 59 of file pxe_api.h.
Referenced by efi_pxe_udp_read(), efi_pxe_udp_write(), and pxenv_udp_read().
UDP_PORT_t s_port |
UDP_PORT_t d_port |
ADDR32_t ProtocolIni |
MAC_ADDR_t McastAddr[MAXNUM_MCADDR] |
List of up to MAXNUM_MCADDR multicast MAC addresses.
struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf |
UINT16_t OpenFlag |
UINT16_t PktFilter |
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] |
UINT8_t Protocol |
UINT8_t XmitFlag |
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.
MAC_ADDR_t StationAddress |
UINT8_t filter |
Receive packet filter.
This field takes the same values as s_PXENV_UNDI_OPEN::PktFilter.
Definition at line 68 of file pxe_api.h.
Referenced by ath5k_hw_get_rx_filter(), ath5k_hw_set_rx_filter(), ecm_open(), efi_pxe_ip_filter(), efi_pxe_set_ip_filter(), efi_vlan_find(), png_unfilter_pass(), rndis_filter(), and sky2_set_multicast().
UINT16_t HwType |
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.
MAC_ADDR_t CurrentNodeAddress |
MAC_ADDR_t PermNodeAddress |
MAC_ADDR_t MediaAddr |
UINT8_t Prog_Intf |
UINT8_t NicType |
NIC type.
Valid values are PCI_NIC, PnP_NIC or CardBus_NIC.
union nic_type_info info |
UINT8_t IfaceType[16] |
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".
UINT32_t ServiceFlags |
UINT8_t UNDIstate |
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.
UINT16_t FuncFlag |
UINT8_t ProtType |
UINT8_t PktType |
Packet type.
Valid values are P_DIRECTED, P_BROADCAST or P_MULTICAST.
SEGSEL_t UNDI_DS |
SEGSEL_t UNDI_CS |
SEGOFF16_t PXEptr |