250 #define PXENV_UNLOAD_STACK 0x0070 270 #define PXENV_GET_CACHED_INFO 0x0071 273 #define PXENV_PACKET_TYPE_DHCP_DISCOVER 1 276 #define PXENV_PACKET_TYPE_DHCP_ACK 2 283 #define PXENV_PACKET_TYPE_CACHED_REPLY 3 309 #define BOOTP_BCAST 0x8000 311 #define VM_RFC1048 0x63825363L 314 #define BOOTP_DHCPVEND 1024 418 #define PXENV_RESTART_TFTP 0x0073 435 #define PXENV_START_UNDI 0x0000 505 #define PXENV_STOP_UNDI 0x0015 524 #define PXENV_START_BASE 0x0075 543 #define PXENV_STOP_BASE 0x0076 571 #define PXENV_TFTP_OPEN 0x0020 601 #define PXENV_TFTP_CLOSE 0x0021 620 #define PXENV_TFTP_READ 0x0022 642 #define PXENV_TFTP_READ_FILE 0x0023 685 #define PXENV_TFTP_GET_FSIZE 0x0025 717 #define PXENV_UDP_OPEN 0x0030 737 #define PXENV_UDP_CLOSE 0x0031 756 #define PXENV_UDP_WRITE 0x0033 781 #define PXENV_UDP_READ 0x0032 815 #define PXENV_UNDI_STARTUP 0x0001 817 #define PXENV_BUS_ISA 0 818 #define PXENV_BUS_EISA 1 819 #define PXENV_BUS_MCA 2 820 #define PXENV_BUS_PCI 3 821 #define PXENV_BUS_VESA 4 822 #define PXENV_BUS_PCMCIA 5 841 #define PXENV_UNDI_CLEANUP 0x0002 860 #define PXENV_UNDI_INITIALIZE 0x0003 888 #define PXENV_UNDI_RESET_ADAPTER 0x0004 891 #define MAXNUM_MCADDR 8 922 #define PXENV_UNDI_SHUTDOWN 0x0005 941 #define PXENV_UNDI_OPEN 0x0006 949 #define FLTR_DIRECTED 0x0001 951 #define FLTR_BRDCST 0x0002 953 #define FLTR_PRMSCS 0x0004 955 #define FLTR_SRC_RTG 0x0008 990 #define PXENV_UNDI_CLOSE 0x0007 1009 #define PXENV_UNDI_TRANSMIT 0x0008 1017 #define XMT_DESTADDR 0x0000 1018 #define XMT_BROADCAST 0x0001 1021 #define MAX_DATA_BLKS 8 1084 #define PXENV_UNDI_SET_MCAST_ADDRESS 0x0009 1105 #define PXENV_UNDI_SET_STATION_ADDRESS 0x000a 1125 #define PXENV_UNDI_SET_PACKET_FILTER 0x000b 1155 #define PXENV_UNDI_GET_INFORMATION 0x000c 1157 #define ETHER_TYPE 1 1158 #define EXP_ETHER_TYPE 2 1160 #define TOKEN_RING_TYPE 4 1161 #define CHAOS_TYPE 5 1163 #define ARCNET_TYPE 7 1198 #define PXENV_UNDI_GET_STATISTICS 0x000d 1221 #define PXENV_UNDI_CLEAR_STATISTICS 0x000e 1240 #define PXENV_UNDI_INITIATE_DIAGS 0x000f 1259 #define PXENV_UNDI_FORCE_INTERRUPT 0x0010 1278 #define PXENV_UNDI_GET_MCAST_ADDRESS 0x0011 1299 #define PXENV_UNDI_GET_NIC_TYPE 0x0012 1303 #define CardBus_NIC 4 1359 #define PXENV_UNDI_GET_IFACE_INFO 0x0013 1362 #define SUPPORTED_BROADCAST 0x0001 1364 #define SUPPORTED_MULTICAST 0x0002 1366 #define SUPPORTED_GROUP 0x0004 1368 #define SUPPORTED_PROMISCUOUS 0x0008 1370 #define SUPPORTED_SET_STATION_ADDRESS 0x0010 1372 #define SUPPORTED_DIAGNOSTICS 0x0040 1374 #define SUPPORTED_RESET 0x0400 1376 #define SUPPORTED_OPEN_CLOSE 0x0800 1378 #define SUPPORTED_IRQ 0x1000 1417 #define PXENV_UNDI_GET_STATE 0x0015 1420 #define PXE_UNDI_GET_STATE_STARTED 1 1422 #define PXE_UNDI_GET_STATE_INITIALIZED 2 1424 #define PXE_UNDI_GET_STATE_OPENED 3 1450 #define PXENV_UNDI_ISR 0x0014 1453 #define PXENV_UNDI_ISR_IN_START 1 1455 #define PXENV_UNDI_ISR_IN_PROCESS 2 1457 #define PXENV_UNDI_ISR_IN_GET_NEXT 3 1459 #define PXENV_UNDI_ISR_OUT_OURS 0 1461 #define PXENV_UNDI_ISR_OUT_NOT_OURS 1 1463 #define PXENV_UNDI_ISR_OUT_DONE 0 1465 #define PXENV_UNDI_ISR_OUT_TRANSMIT 2 1467 #define PXENV_UNDI_ISR_OUT_RECEIVE 3 1469 #define PXENV_UNDI_ISR_OUT_BUSY 4 1472 #define P_DIRECTED 0 1474 #define P_BROADCAST 1 1476 #define P_MULTICAST 2 1520 #define PXENV_FILE_MIN 0x00e0 1523 #define PXENV_FILE_MAX 0x00ef 1533 #define PXENV_FILE_OPEN 0x00e0 1555 #define PXENV_FILE_CLOSE 0x00e1 1575 #define PXENV_FILE_SELECT 0x00e2 1578 #define RDY_READ 0x0001 1599 #define PXENV_FILE_READ 0x00e3 1621 #define PXENV_GET_FILE_SIZE 0x00e4 1642 #define PXENV_FILE_EXEC 0x00e5 1662 #define PXENV_FILE_API_CHECK 0x00e6 1686 #define PXENV_FILE_EXIT_HOOK 0x00e7 1706 #define PXENV_FILE_CMDLINE 0x00e8 UINT32_t EISA_Dev_ID
EISA device ID.
PXENV_STATUS_t Status
PXE status code.
IP4_t InetAddr
Multicast IP address.
SEGOFF16_t UNDIROMID
Address of the UNDI ROM ID structure.
Parameter block for pxenv_stop_base()
UINT16_t PacketNumber
TFTP packet number.
UINT16_t BufferLimit
Maximum buffer size.
UINT16_t FileHandle
File handle.
PXENV_STATUS_t Status
PXE status code.
IP4_t ServerIPAddress
TFTP server IP address.
UINT8_t Length
Length of this structure.
Parameter block for pxenv_undi_isr()
SEGSEL_t StackSeg
Stack segment selector.
PXENV_STATUS_t Status
PXE status code.
Parameter block for pxenv_undi_clear_statistics()
A transmit buffer descriptor, as pointed to by s_PXENV_UNDI_TRANSMIT::TBD.
IP4_t GatewayIPAddress
Relay agent IP address.
OFF16_t DI
di register as for PXENV_START_UNDI
struct pnp_nic_info pnp
NIC information (if NicType==PnP_NIC)
UINT8_t pad[56]
"End of BOOTP vendor extensions"
UINT32_t Provider
Implementation identifier.
SEGOFF16_t Buffer
Data buffer.
UINT16_t BufferSize
Data buffer size.
SEGDESC_t BC_Code
Base-code code segment descriptor.
UINT16_t SubVendor_ID
PCI subvendor ID.
UINT8_t Gatehops
Gateway hops.
Parameter block for pxenv_undi_force_interrupt()
List of multicast MAC addresses.
UINT16_t FileHandle
File handle.
UINT32_t RcvGoodFrames
Successful reception count.
UDP_PORT_t d_port
Destination UDP port.
UDP_PORT_t dst_port
Destination UDP port.
PXENV_STATUS_t Status
PXE status code.
SEGOFF16_t StatusCallout
Status call-out function.
SEGOFF16_t PXEPtr
Address of the !PXE structure.
UINT16_t BX
bx register as for PXENV_START_UNDI
UINT16_t StackSize
Stack segment size.
PXENV_STATUS_t Status
PXE status code.
PXENV_STATUS_t Status
PXE status code.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
UINT8_t PktType
Packet type.
SEGSEL_t UNDI_DS
UNDI data segment.
UINT16_t BusDevFunc
PCI bus:dev:fn address.
struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf
Multicast MAC addresses.
MAC_ADDR_t MediaAddr
Multicast MAC address.
UINT16_t AX
ax register as for PXENV_START_UNDI
Parameter block for pxenv_tftp_read()
Parameter block for pxenv_unload_stack()
UINT8_t d[BOOTP_DHCPVEND]
DHCP options.
UINT32_t ADDR32_t
A physical address.
PXENV_STATUS_t Status
PXE status code.
PXENV_STATUS_t Status
PXE status code.
Parameter block for pxenv_file_close()
UINT8_t Signature[6]
Signature.
Parameter block for pxenv_undi_initialize()
UINT16_t PacketType
Packet type.
SEGDESC_t UNDICode
UNDI code segment descriptor.
UINT8_t Prog_Intf
Programming interface.
UINT16_t TFTPOpenTimeOut
TFTP open timeout.
Parameter block for pxenv_undi_transmit()
UINT32_t RcvResourceErrors
Receive queue overflow count.
Parameter block for pxenv_udp_close()
UINT8_t StructRev
Revision of this structure.
Parameter block for pxenv_get_cached_info()
Parameter block for pxenv_undi_set_packet_filter()
UDP_PORT_t s_port
Source UDP port.
PXENV_STATUS_t Status
PXE status code.
Parameter block for pxenv_undi_get_nic_type()
struct s_PXENV_UNDI_TBD::DataBlk DataBlock[MAX_DATA_BLKS]
UINT32_t ServiceFlags
Service flags.
UINT16_t PktFilter
Receive packet filter.
UINT16_t seconds
Elapsed time.
UINT8_t Sub_Class
PCI sub class.
union s_PXENV_UNDI_GET_NIC_TYPE::nic_type_info info
PXENV_STATUS_t Status
PXE status code.
struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf
List of multicast addresses.
SEGOFF16_t Hook
SEG16:OFF16 to jump to.
UINT32_t RcvCRCErrors
Receive CRC error count.
UINT16_t FuncFlag
Function flag.
UINT8_t reserved[10]
Must be zero.
UINT32_t LinkSpeed
Link speed, in bits per second.
SEGSEL_t BC_CodeSeg
Base-code code segment selector.
Parameter block for pxenv_udp_read()
struct pci_nic_info pci
NIC information (if NicType==PCI_NIC)
PXENV_STATUS_t Status
PXE status code.
UINT16_t FileHandle
File handle.
PXENV_STATUS_t Status
PXE status code.
UINT32_t BufferSize
Size of data buffer.
UINT8_t Prog_Intf
PCI programming interface.
SEGSEL_t PMSelector
Protected-mode PXENV+ entry point segment selector.
SEGSEL_t ES
es register as passed to the Option ROM initialisation routine.
UINT8_t Base_Class
PCI base class.
PXENV_STATUS_t Status
PXE status code.
Parameter block for pxenv_undi_close()
UINT8_t reserved_1
Must be zero.
Parameter block for pxenv_file_api_check()
SEGDESC_t UNDIData
UNDI data segment descriptor.
struct bootph::bootph_vendor::bootph_vendor_v v
#define BOOTP_DHCPVEND
Maximum length of DHCP options.
UINT16_t BufferSize
Size of data buffer.
PXENV_STATUS_t Status
PXE status code.
OFF16_t DI
di register as passed to the Option ROM initialisation routine.
UINT32_t XmtGoodFrames
Successful transmission count.
Array of up to MAX_DATA_BLKS additional transmit buffers.
UINT16_t PXENV_STATUS_t
A PXE status code.
IP4_t ip
Destination IP address.
Parameter block for pxenv_file_select()
IP4_t src_ip
IP address of this station.
PXENV_STATUS_t Status
PXE status code.
IP4_t ServerIPAddress
TFTP server IP address.
UINT16_t Version
PXE API version.
UINT16_t FrameLength
Total frame length.
UINT8_t FileName[128]
File name.
UINT32_t Flags
Reserved for the future.
Parameter block for pxenv_udp_open()
UDP_PORT_t src_port
Source UDP port.
#define MAX_DATA_BLKS
Maximum number of data blocks in a transmit buffer descriptor.
Parameter block for pxenv_file_exit_hook()
PXENV_STATUS_t Status
PXE status code.
SEGDESC_t BC_Data
Base-code data segment descriptor.
UINT8_t Protocol
Protocol.
UINT8_t StructCksum
Checksum.
PXENV_STATUS_t Status
PXE status code.
UDP_PORT_t TFTPClntPort
Client multicast listening port.
UINT8_t SegDescCnt
Number of segment descriptors.
SEGOFF16_t BaseROMID
Address of the Base Code ROM ID structure.
PXENV_STATUS_t Status
PXE status code.
SEGOFF16_t DestAddr
Destination MAC address.
UINT16_t PacketSize
Requested size of TFTP packets.
UINT8_t XmitFlag
Unicast/broadcast flag.
UINT16_t UDP_PORT_t
A UDP port.
SEGOFF16_t RMEntry
Real-mode PXENV+ entry point.
UINT32_t Reserved[4]
Must be zero.
Parameter block for pxenv_undi_set_station_address()
Information for an ISAPnP or equivalent NIC.
Parameter block for pxenv_get_file_size()
UINT16_t Ready
Indication of readiness.
uint8_t UINT8_t
An 8-bit unsigned integer.
UINT16_t BufferSize
Buffer size.
SEGSEL_t UNDI_CS
UNDI code segment.
Parameter block for pxenv_file_exec()
IP4_t src_ip
Source IP address.
IP4_t GatewayIPAddress
Relay agent IP address.
UINT32_t Reserved[2]
Must be zero.
UINT8_t Signature[4]
Signature.
SEGOFF16_t Frame
Data buffer address.
SEGSEL_t UNDICodeSeg
UNDI code segment selector.
SEGOFF16_t FileName
File URL.
UINT8_t reserved_2
Must be zero.
Parameter block for pxenv_undi_shutdown()
IP4_t gip
Gateway IP address.
Parameter block for pxenv_undi_get_mcast_address()
UINT16_t BX
bx register as passed to the Option ROM initialisation routine.
UINT8_t filter
Receive packet filter.
UINT16_t DX
dx register as for PXENV_START_UNDI
UINT16_t SubDevice_ID
PCI subdevice ID.
UINT16_t UNDICodeSize
UNDI code segment size.
UINT16_t FileHandle
File handle.
PXENV_STATUS_t Status
PXE status code.
UINT32_t Magic
Magic number.
Parameter block for pxenv_tftp_get_fsize()
UINT16_t OFF16_t
An offset within a segment identified by #SEGSEL.
IP4_t GatewayIPAddress
Relay agent IP address.
Parameter block for pxenv_undi_startup()
SEGOFF16_t buffer
UDP payload buffer address.
PXENV_STATUS_t Status
PXE status code.
struct s_PXENV_RESTART_TFTP PXENV_RESTART_TFTP_t
PXENV_STATUS_t Status
PXE status code.
SEGOFF16_t Command
Command to execute.
UINT8_t ProtType
Protocol type.
Parameter block for pxenv_undi_set_mcast_address()
UINT16_t Dev_ID
PCI device ID.
PXENV_STATUS_t Status
PXE status code.
UINT8_t bootfile[128]
Boot file name.
PXENV_STATUS_t Status
PXE status code.
MAC_ADDR_t McastAddr[MAXNUM_MCADDR]
List of up to MAXNUM_MCADDR multicast MAC addresses.
IP4_t gw
Relay agent IP address.
SEGOFF16_t buffer
UDP payload buffer address.
UINT8_t opcode
Message opcode.
UINT8_t Base_Class
Base class.
UINT8_t FileName[128]
File name.
SEGOFF16_t Xmit
Address of the transmit buffer.
PXENV_STATUS_t Status
PXE status code.
UINT32_t Reserved
Reserved.
Parameter block for pxenv_file_cmdline()
Parameter block for pxenv_tftp_close()
MAC_ADDR_t CAddr
Client MAC address.
MAC_ADDR_t StationAddress
Station MAC address.
UINT16_t BC_CodeSize
Base-code code segment size.
PXENV_STATUS_t Status
PXE status code.
IP4_t McastIPAddress
File multicast IP address.
SEGOFF16_t Buffer
Buffer address.
SEGSEL_t UNDIDataSeg
UNDI data segment selector.
Parameter block for pxenv_undi_get_state()
PXENV_STATUS_t Status
PXE status code.
ADDR32_t ProtocolIni
NDIS 2.0 configuration information, or NULL.
SEGDESC_t BC_CodeWrite
Base-code writable code segment descriptor.
UINT16_t buffer_size
UDP payload buffer size.
UINT16_t SEGSEL_t
A segment selector.
Parameter block for pxenv_undi_cleanup()
UINT32_t APIMask
Supported API functions.
SEGSEL_t ES
es register as for PXENV_START_UNDI
UINT8_t magic[4]
DHCP magic cookie.
UINT8_t TDPtrType
Always 1.
PXENV_STATUS_t Status
PXE status code.
SEGOFF16_t Buffer
Data buffer.
Parameter block for pxenv_file_open()
Parameter block for pxenv_start_base()
UINT32_t PMOffset
Protected-mode PXENV+ entry point offset.
IP4_t cip
Client IP address.
Parameter block for pxenv_undi_reset_adapter()
PXENV_STATUS_t Status
PXE status code.
UINT16_t FileHandle
File handle.
UINT16_t TDDataLen
Length of this transmit buffer.
union bootph::bootph_vendor vendor
SEGDESC_t Stack
Stack segment descriptor.
UINT8_t MAC_ADDR_t[MAC_ADDR_LEN]
A MAC address.
Parameter block for pxenv_undi_initiate_diags()
PXENV_STATUS_t Status
PXE status code.
UINT16_t Size
Size of structure.
UINT8_t Checksum
Checksum.
SEGOFF16_t TBD
Address of the Transmit Buffer Descriptor.
UINT16_t CardSelNum
Card Select Number assigned to card.
PXENV_STATUS_t Status
PXE status code.
PXENV_STATUS_t Status
PXE status code.
uint16_t UINT16_t
A 16-bit unsigned integer.
Parameter block for undi_loader()
uint32_t UINT32_t
A 32-bit unsigned integer.
PXENV_STATUS_t Status
PXE status code.
UINT32_t FileSize
File size.
SEGOFF16_t PXENVptr
Address of the PXENV+ structure (a struct s_PXENV)
UINT8_t reserved[8]
Must be zero.
PXENV_STATUS_t Status
PXE status code.
UINT8_t StructLength
Length of this structure.
PXENV_STATUS_t Status
PXE status code.
PXENV_STATUS_t Status
PXE status code.
SEGDESC_t UNDICodeWrite
UNDI writable code segment descriptor.
Parameter block for pxenv_undi_get_iface_info()
Parameter block for pxenv_tftp_read_file()
UINT16_t ImmedLength
Length of the transmit buffer.
UINT8_t UNDIstate
Current state of the UNDI driver.
UINT16_t TFTPReopenDelay
TFTP reopen timeout.
PXENV_STATUS_t Status
PXE status code.
UINT32_t FileSize
Size of the file.
Parameter block for pxenv_tftp_open()
ADDR32_t Buffer
Address of data buffer.
SEGOFF16_t EntryPointESP
32-bit !PXE entry point
Format of buffer filled in by pxenv_get_cached_info()
UINT16_t UNDIDataSize
UNDI data segment size.
PXENV_STATUS_t Status
PXE status code.
SEGOFF16_t Buffer
Address of data buffer.
UINT16_t buffer_size
UDP payload buffer size.
PXENV_STATUS_t Status
PXE status code.
UINT16_t Vendor_ID
PCI vendor ID.
Parameter block for pxenv_file_read()
#define MAXNUM_MCADDR
Maximum number of multicast MAC addresses.
SEGOFF16_t TDDataPtr
Address of this transmit buffer.
UINT16_t OpenFlag
Open flags as defined in NDIS 2.0.
UINT8_t Sname[64]
Server host name.
UINT16_t BC_DataSize
Base-code data segment size.
UINT32_t IP4_t
An IPv4 address.
SEGOFF16_t EntryPointSP
16-bit !PXE entry point
UINT8_t Hardlen
MAC address length.
UINT8_t IfaceType[16]
Interface type.
PXENV_STATUS_t Status
PXE status code.
Parameter block for pxenv_start_undi()
UINT8_t Hardware
NIC hardware type.
UDP_PORT_t TFTPPort
TFTP server UDP port.
PXENV_STATUS_t Status
PXE status code.
SEGSEL_t BC_DataSeg
Base-code data segment selector.
UDP_PORT_t TFTPSrvPort
Server multicast listening port.
UINT16_t AX
ax register as passed to the Option ROM initialisation routine.
SEGOFF16_t PXEptr
Address of the !PXE structure (a struct s_PXE)
PXENV_STATUS_t Status
PXE status code.
UINT8_t TDRsvdByte
Must be zero.
UINT16_t FrameHeaderLength
Frame header length.
PXENV_STATUS_t Status
PXE status code.
IP4_t ServerIPAddress
TFTP server IP address.
PXENV_STATUS_t Status
PXE status code.
SEGSEL_t FirstSelector
First protected-mode selector.
IP4_t dest_ip
Destination IP address.
struct pci_nic_info cardbus
NIC information (if NicType==CardBus_NIC)
UINT8_t Sub_Class
Sub class.
Parameter block for pxenv_undi_get_statistics()
PXENV_STATUS_t Status
PXE status code.
UINT16_t DX
dx register as passed to the Option ROM initialisation routine.
UINT16_t BufferLength
Data buffer length.
IP4_t sip
Server IP address.
Parameter block for pxenv_stop_undi()
Parameter block for pxenv_undi_open()
UINT32_t flags
BOOTP flags/opcodes.
struct s_PXENV __attribute__((packed))
PXENV_STATUS_t Status
PXE status code.
UINT8_t FileName[128]
File name.
UINT16_t MCastAddrCount
Number of multicast MAC addresses.
UINT32_t ident
DHCP transaction id (xid)
Information for a PCI or equivalent NIC.
IP4_t yip
Your IP address.
Parameter block for pxenv_udp_write()
struct s_PXENV_UNDI_MCAST_ADDRESS R_Mcast_Buf
Multicast MAC addresses.
UINT16_t BufferSize
Data buffer size.