iPXE
Data Structures | Macros | Typedefs | Functions
UefiPxe.h File Reference

This header file contains all of the PXE type definitions, structure prototypes, global variables and constants that are needed for porting PXE to EFI. More...

Go to the source code of this file.

Data Structures

struct  s_pxe_hw_undi
 
struct  s_pxe_sw_undi
 
union  u_pxe_undi
 
struct  s_pxe_cdb
 
union  u_pxe_ip_addr
 
union  pxe_device
 
struct  s_pxe_cpb_start_30
 
struct  s_pxe_cpb_start_31
 
struct  s_pxe_db_get_init_info
 
struct  s_pxe_pci_config_info
 
struct  s_pxe_pcc_config_info
 
union  u_pxe_db_get_config_info
 
struct  s_pxe_cpb_initialize
 
struct  s_pxe_db_initialize
 
struct  s_pxe_cpb_receive_filters
 
struct  s_pxe_db_receive_filters
 
struct  s_pxe_cpb_station_address
 
struct  s_pxe_dpb_station_address
 
struct  s_pxe_db_statistics
 
struct  s_pxe_cpb_mcast_ip_to_mac
 
struct  s_pxe_db_mcast_ip_to_mac
 
struct  s_pxe_cpb_nvdata_sparse
 
union  u_pxe_cpb_nvdata_bulk
 When using bulk update, the size of the CPB structure must be the same size as the non-volatile NIC storage. More...
 
struct  s_pxe_db_nvdata
 
struct  s_pxe_db_get_status
 
struct  s_pxe_cpb_fill_header
 
struct  s_pxe_cpb_fill_header_fragmented
 
struct  s_pxe_cpb_transmit
 
struct  s_pxe_cpb_transmit_fragments
 
struct  s_pxe_cpb_receive
 
struct  s_pxe_db_receive
 

Macros

#define PXE_BUSTYPE(a, b, c, d)
 
#define PXE_BUSTYPE_PXE   PXE_BUSTYPE ('!', 'P', 'X', 'E')
 UNDI ROM ID and devive ID signature. More...
 
#define PXE_BUSTYPE_PCI   PXE_BUSTYPE ('P', 'C', 'I', 'R')
 BUS ROM ID signatures. More...
 
#define PXE_BUSTYPE_PC_CARD   PXE_BUSTYPE ('P', 'C', 'C', 'R')
 
#define PXE_BUSTYPE_USB   PXE_BUSTYPE ('U', 'S', 'B', 'R')
 
#define PXE_BUSTYPE_1394   PXE_BUSTYPE ('1', '3', '9', '4')
 
#define PXE_SWAP_UINT16(n)   ((((PXE_UINT16) (n) & 0x00FF) << 8) | (((PXE_UINT16) (n) & 0xFF00) >> 8))
 
#define PXE_SWAP_UINT32(n)
 
#define PXE_SWAP_UINT64(n)
 
#define PXE_CPBSIZE_NOT_USED   0
 zero More...
 
#define PXE_DBSIZE_NOT_USED   0
 zero More...
 
#define PXE_CPBADDR_NOT_USED   (PXE_UINT64) 0
 zero More...
 
#define PXE_DBADDR_NOT_USED   (PXE_UINT64) 0
 zero More...
 
#define PXE_CONST   CONST
 
#define PXE_VOLATILE   volatile
 
#define PXE_FALSE   0
 zero More...
 
#define PXE_TRUE   (!PXE_FALSE)
 
#define PXE_OPCODE_GET_STATE   0x0000
 Return UNDI operational state. More...
 
#define PXE_OPCODE_START   0x0001
 Change UNDI operational state from Stopped to Started. More...
 
#define PXE_OPCODE_STOP   0x0002
 Change UNDI operational state from Started to Stopped. More...
 
#define PXE_OPCODE_GET_INIT_INFO   0x0003
 Get UNDI initialization information. More...
 
#define PXE_OPCODE_GET_CONFIG_INFO   0x0004
 Get NIC configuration information. More...
 
#define PXE_OPCODE_INITIALIZE   0x0005
 Changed UNDI operational state from Started to Initialized. More...
 
#define PXE_OPCODE_RESET   0x0006
 Re-initialize the NIC H/W. More...
 
#define PXE_OPCODE_SHUTDOWN   0x0007
 Change the UNDI operational state from Initialized to Started. More...
 
#define PXE_OPCODE_INTERRUPT_ENABLES   0x0008
 Read & change state of external interrupt enables. More...
 
#define PXE_OPCODE_RECEIVE_FILTERS   0x0009
 Read & change state of packet receive filters. More...
 
#define PXE_OPCODE_STATION_ADDRESS   0x000A
 Read & change station MAC address. More...
 
#define PXE_OPCODE_STATISTICS   0x000B
 Read traffic statistics. More...
 
#define PXE_OPCODE_MCAST_IP_TO_MAC   0x000C
 Convert multicast IP address to multicast MAC address. More...
 
#define PXE_OPCODE_NVDATA   0x000D
 Read or change non-volatile storage on the NIC. More...
 
#define PXE_OPCODE_GET_STATUS   0x000E
 Get & clear interrupt status. More...
 
#define PXE_OPCODE_FILL_HEADER   0x000F
 Fill media header in packet for transmit. More...
 
#define PXE_OPCODE_TRANSMIT   0x0010
 Transmit packet(s). More...
 
#define PXE_OPCODE_RECEIVE   0x0011
 Receive packet. More...
 
#define PXE_OPCODE_LAST_VALID   0x0011
 Last valid PXE UNDI OpCode number. More...
 
#define PXE_OPFLAGS_NOT_USED   0x0000
 
#define PXE_OPFLAGS_INITIALIZE_CABLE_DETECT_MASK   0x0001
 UNDI Initialize. More...
 
#define PXE_OPFLAGS_INITIALIZE_DETECT_CABLE   0x0000
 
#define PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE   0x0001
 
#define PXE_OPFLAGS_RESET_DISABLE_INTERRUPTS   0x0001
 UNDI Reset. More...
 
#define PXE_OPFLAGS_RESET_DISABLE_FILTERS   0x0002
 
#define PXE_OPFLAGS_INTERRUPT_OPMASK   0xC000
 UNDI Shutdown. More...
 
#define PXE_OPFLAGS_INTERRUPT_ENABLE   0x8000
 
#define PXE_OPFLAGS_INTERRUPT_DISABLE   0x4000
 
#define PXE_OPFLAGS_INTERRUPT_READ   0x0000
 
#define PXE_OPFLAGS_INTERRUPT_RECEIVE   0x0001
 Enable receive interrupts. More...
 
#define PXE_OPFLAGS_INTERRUPT_TRANSMIT   0x0002
 Enable transmit interrupts. More...
 
#define PXE_OPFLAGS_INTERRUPT_COMMAND   0x0004
 Enable command interrupts. More...
 
#define PXE_OPFLAGS_INTERRUPT_SOFTWARE   0x0008
 Generate software interrupt. More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_OPMASK   0xC000
 UNDI Receive Filters. More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_ENABLE   0x8000
 
#define PXE_OPFLAGS_RECEIVE_FILTER_DISABLE   0x4000
 
#define PXE_OPFLAGS_RECEIVE_FILTER_READ   0x0000
 
#define PXE_OPFLAGS_RECEIVE_FILTER_RESET_MCAST_LIST   0x2000
 To reset the contents of the multicast MAC address filter list, set this OpFlag: More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_UNICAST   0x0001
 Enable unicast packet receiving. More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_BROADCAST   0x0002
 Enable broadcast packet receiving. More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST   0x0004
 Enable filtered multicast packet receiving. More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_PROMISCUOUS   0x0008
 Enable promiscuous packet receiving. More...
 
#define PXE_OPFLAGS_RECEIVE_FILTER_ALL_MULTICAST   0x0010
 Enable promiscuous multicast packet receiving. More...
 
#define PXE_OPFLAGS_STATION_ADDRESS_READ   0x0000
 UNDI Station Address. More...
 
#define PXE_OPFLAGS_STATION_ADDRESS_WRITE   0x0000
 
#define PXE_OPFLAGS_STATION_ADDRESS_RESET   0x0001
 
#define PXE_OPFLAGS_STATISTICS_READ   0x0000
 UNDI Statistics. More...
 
#define PXE_OPFLAGS_STATISTICS_RESET   0x0001
 
#define PXE_OPFLAGS_MCAST_IP_TO_MAC_OPMASK   0x0003
 UNDI MCast IP to MAC. More...
 
#define PXE_OPFLAGS_MCAST_IPV4_TO_MAC   0x0000
 
#define PXE_OPFLAGS_MCAST_IPV6_TO_MAC   0x0001
 
#define PXE_OPFLAGS_NVDATA_OPMASK   0x0001
 UNDI NvData. More...
 
#define PXE_OPFLAGS_NVDATA_READ   0x0000
 
#define PXE_OPFLAGS_NVDATA_WRITE   0x0001
 
#define PXE_OPFLAGS_GET_INTERRUPT_STATUS   0x0001
 UNDI Get Status. More...
 
#define PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS   0x0002
 Return list of transmitted buffers for recycling. More...
 
#define PXE_OPFLAGS_GET_MEDIA_STATUS   0x0004
 Return current media status. More...
 
#define PXE_OPFLAGS_FILL_HEADER_OPMASK   0x0001
 UNDI Fill Header. More...
 
#define PXE_OPFLAGS_FILL_HEADER_FRAGMENTED   0x0001
 
#define PXE_OPFLAGS_FILL_HEADER_WHOLE   0x0000
 
#define PXE_OPFLAGS_SWUNDI_TRANSMIT_OPMASK   0x0001
 UNDI Transmit. More...
 
#define PXE_OPFLAGS_TRANSMIT_BLOCK   0x0001
 
#define PXE_OPFLAGS_TRANSMIT_DONT_BLOCK   0x0000
 
#define PXE_OPFLAGS_TRANSMIT_OPMASK   0x0002
 
#define PXE_OPFLAGS_TRANSMIT_FRAGMENTED   0x0002
 
#define PXE_OPFLAGS_TRANSMIT_WHOLE   0x0000
 
#define PXE_STATFLAGS_INITIALIZE   0x0000
 
#define PXE_STATFLAGS_STATUS_MASK   0xC000
 Common StatFlags that can be returned by all commands. More...
 
#define PXE_STATFLAGS_COMMAND_COMPLETE   0xC000
 
#define PXE_STATFLAGS_COMMAND_FAILED   0x8000
 
#define PXE_STATFLAGS_COMMAND_QUEUED   0x4000
 
#define PXE_STATFLAGS_GET_STATE_MASK   0x0003
 UNDI Get State. More...
 
#define PXE_STATFLAGS_GET_STATE_INITIALIZED   0x0002
 
#define PXE_STATFLAGS_GET_STATE_STARTED   0x0001
 
#define PXE_STATFLAGS_GET_STATE_STOPPED   0x0000
 
#define PXE_STATFLAGS_CABLE_DETECT_MASK   0x0001
 UNDI Start. More...
 
#define PXE_STATFLAGS_CABLE_DETECT_NOT_SUPPORTED   0x0000
 
#define PXE_STATFLAGS_CABLE_DETECT_SUPPORTED   0x0001
 
#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_MASK   0x0002
 
#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_NOT_SUPPORTED   0x0000
 
#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_SUPPORTED   0x0002
 
#define PXE_STATFLAGS_INITIALIZED_NO_MEDIA   0x0001
 UNDI Initialize. More...
 
#define PXE_STATFLAGS_RESET_NO_MEDIA   0x0001
 UNDI Reset. More...
 
#define PXE_STATFLAGS_INTERRUPT_RECEIVE   0x0001
 UNDI Shutdown. More...
 
#define PXE_STATFLAGS_INTERRUPT_TRANSMIT   0x0002
 If set, transmit interrupts are enabled. More...
 
#define PXE_STATFLAGS_INTERRUPT_COMMAND   0x0004
 If set, command interrupts are enabled. More...
 
#define PXE_STATFLAGS_RECEIVE_FILTER_UNICAST   0x0001
 UNDI Receive Filters. More...
 
#define PXE_STATFLAGS_RECEIVE_FILTER_BROADCAST   0x0002
 If set, broadcast packets will be received. More...
 
#define PXE_STATFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST   0x0004
 If set, multicast packets that match up with the multicast address filter list will be received. More...
 
#define PXE_STATFLAGS_RECEIVE_FILTER_PROMISCUOUS   0x0008
 If set, all packets will be received. More...
 
#define PXE_STATFLAGS_RECEIVE_FILTER_ALL_MULTICAST   0x0010
 If set, all multicast packets will be received. More...
 
#define PXE_STATFLAGS_GET_STATUS_INTERRUPT_MASK   0x000F
 UNDI Station Address. More...
 
#define PXE_STATFLAGS_GET_STATUS_NO_INTERRUPTS   0x0000
 
#define PXE_STATFLAGS_GET_STATUS_RECEIVE   0x0001
 If set, at least one receive interrupt occurred. More...
 
#define PXE_STATFLAGS_GET_STATUS_TRANSMIT   0x0002
 If set, at least one transmit interrupt occurred. More...
 
#define PXE_STATFLAGS_GET_STATUS_COMMAND   0x0004
 If set, at least one command interrupt occurred. More...
 
#define PXE_STATFLAGS_GET_STATUS_SOFTWARE   0x0008
 If set, at least one software interrupt occurred. More...
 
#define PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY   0x0010
 This flag is set if the transmitted buffer queue is empty. More...
 
#define PXE_STATFLAGS_GET_STATUS_NO_TXBUFS_WRITTEN   0x0020
 This flag is set if no transmitted buffer addresses were written into the DB. More...
 
#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA   0x0040
 This flag is set if there is no media detected. More...
 
#define PXE_STATCODE_INITIALIZE   0x0000
 
#define PXE_STATCODE_SUCCESS   0x0000
 Common StatCodes returned by all UNDI commands, UNDI protocol functions and BC protocol functions. More...
 
#define PXE_STATCODE_INVALID_CDB   0x0001
 
#define PXE_STATCODE_INVALID_CPB   0x0002
 
#define PXE_STATCODE_BUSY   0x0003
 
#define PXE_STATCODE_QUEUE_FULL   0x0004
 
#define PXE_STATCODE_ALREADY_STARTED   0x0005
 
#define PXE_STATCODE_NOT_STARTED   0x0006
 
#define PXE_STATCODE_NOT_SHUTDOWN   0x0007
 
#define PXE_STATCODE_ALREADY_INITIALIZED   0x0008
 
#define PXE_STATCODE_NOT_INITIALIZED   0x0009
 
#define PXE_STATCODE_DEVICE_FAILURE   0x000A
 
#define PXE_STATCODE_NVDATA_FAILURE   0x000B
 
#define PXE_STATCODE_UNSUPPORTED   0x000C
 
#define PXE_STATCODE_BUFFER_FULL   0x000D
 
#define PXE_STATCODE_INVALID_PARAMETER   0x000E
 
#define PXE_STATCODE_INVALID_UNDI   0x000F
 
#define PXE_STATCODE_IPV4_NOT_SUPPORTED   0x0010
 
#define PXE_STATCODE_IPV6_NOT_SUPPORTED   0x0011
 
#define PXE_STATCODE_NOT_ENOUGH_MEMORY   0x0012
 
#define PXE_STATCODE_NO_DATA   0x0013
 
#define PXE_IFNUM_START   0x0000
 This interface number must be passed to the S/W UNDI Start command. More...
 
#define PXE_IFNUM_INVALID   0x0000
 This interface number is returned by the S/W UNDI Get State and Start commands if information in the CDB, CPB or DB is invalid. More...
 
#define PXE_CONTROL_QUEUE_IF_BUSY   0x0002
 Setting this flag directs the UNDI to queue this command for later execution if the UNDI is busy and it supports command queuing. More...
 
#define PXE_CONTROL_LINK   0x0001
 These two bit values are used to determine if there are more UNDI CDB structures following this one. More...
 
#define PXE_CONTROL_LAST_CDB_IN_LIST   0x0000
 
#define PXE_FRAME_TYPE_NONE   0x00
 
#define PXE_FRAME_TYPE_UNICAST   0x01
 
#define PXE_FRAME_TYPE_BROADCAST   0x02
 
#define PXE_FRAME_TYPE_FILTERED_MULTICAST   0x03
 
#define PXE_FRAME_TYPE_PROMISCUOUS   0x04
 
#define PXE_FRAME_TYPE_PROMISCUOUS_MULTICAST   0x05
 
#define PXE_FRAME_TYPE_MULTICAST   PXE_FRAME_TYPE_FILTERED_MULTICAST
 
#define PXE_MAC_LENGTH   32
 
#define PXE_IFTYPE_ETHERNET   0x01
 This information is from the ARP section of RFC 1700. More...
 
#define PXE_IFTYPE_TOKENRING   0x04
 
#define PXE_IFTYPE_FIBRE_CHANNEL   0x12
 
#define PXE_HWSTAT_STATE_MASK   0xC0000000
 Status port bit definitions. More...
 
#define PXE_HWSTAT_BUSY   0xC0000000
 
#define PXE_HWSTAT_INITIALIZED   0x80000000
 
#define PXE_HWSTAT_STARTED   0x40000000
 
#define PXE_HWSTAT_STOPPED   0x00000000
 
#define PXE_HWSTAT_COMMAND_FAILED   0x20000000
 If set, last command failed. More...
 
#define PXE_HWSTAT_PROMISCUOUS_MULTICAST_RX_ENABLED   0x00001000
 If set, identifies enabled receive filters. More...
 
#define PXE_HWSTAT_PROMISCUOUS_RX_ENABLED   0x00000800
 
#define PXE_HWSTAT_BROADCAST_RX_ENABLED   0x00000400
 
#define PXE_HWSTAT_MULTICAST_RX_ENABLED   0x00000200
 
#define PXE_HWSTAT_UNICAST_RX_ENABLED   0x00000100
 
#define PXE_HWSTAT_SOFTWARE_INT_ENABLED   0x00000080
 If set, identifies enabled external interrupts. More...
 
#define PXE_HWSTAT_TX_COMPLETE_INT_ENABLED   0x00000040
 
#define PXE_HWSTAT_PACKET_RX_INT_ENABLED   0x00000020
 
#define PXE_HWSTAT_CMD_COMPLETE_INT_ENABLED   0x00000010
 
#define PXE_HWSTAT_SOFTWARE_INT_PENDING   0x00000008
 If set, identifies pending interrupts. More...
 
#define PXE_HWSTAT_TX_COMPLETE_INT_PENDING   0x00000004
 
#define PXE_HWSTAT_PACKET_RX_INT_PENDING   0x00000002
 
#define PXE_HWSTAT_CMD_COMPLETE_INT_PENDING   0x00000001
 
#define PXE_HWCMD_ISSUE_COMMAND   0x80000000
 Command port definitions. More...
 
#define PXE_HWCMD_INTS_AND_FILTS   0x00000000
 
#define PXE_HWCMD_PROMISCUOUS_MULTICAST_RX_ENABLE   0x00001000
 Use these to enable/disable receive filters. More...
 
#define PXE_HWCMD_PROMISCUOUS_RX_ENABLE   0x00000800
 
#define PXE_HWCMD_BROADCAST_RX_ENABLE   0x00000400
 
#define PXE_HWCMD_MULTICAST_RX_ENABLE   0x00000200
 
#define PXE_HWCMD_UNICAST_RX_ENABLE   0x00000100
 
#define PXE_HWCMD_SOFTWARE_INT_ENABLE   0x00000080
 Use these to enable/disable external interrupts. More...
 
#define PXE_HWCMD_TX_COMPLETE_INT_ENABLE   0x00000040
 
#define PXE_HWCMD_PACKET_RX_INT_ENABLE   0x00000020
 
#define PXE_HWCMD_CMD_COMPLETE_INT_ENABLE   0x00000010
 
#define PXE_HWCMD_CLEAR_SOFTWARE_INT   0x00000008
 Use these to clear pending external interrupts. More...
 
#define PXE_HWCMD_CLEAR_TX_COMPLETE_INT   0x00000004
 
#define PXE_HWCMD_CLEAR_PACKET_RX_INT   0x00000002
 
#define PXE_HWCMD_CLEAR_CMD_COMPLETE_INT   0x00000001
 
#define PXE_ROMID_SIGNATURE   PXE_BUSTYPE ('!', 'P', 'X', 'E')
 Signature of !PXE structure. More...
 
#define PXE_ROMID_REV   0x02
 !PXE structure format revision More...
 
#define PXE_ROMID_MAJORVER   0x03
 UNDI command interface revision. More...
 
#define PXE_ROMID_MINORVER   0x01
 
#define PXE_ROMID_IMP_HW_UNDI   0x80000000
 Implementation flags. More...
 
#define PXE_ROMID_IMP_SW_VIRT_ADDR   0x40000000
 
#define PXE_ROMID_IMP_64BIT_DEVICE   0x00010000
 
#define PXE_ROMID_IMP_FRAG_SUPPORTED   0x00008000
 
#define PXE_ROMID_IMP_CMD_LINK_SUPPORTED   0x00004000
 
#define PXE_ROMID_IMP_CMD_QUEUE_SUPPORTED   0x00002000
 
#define PXE_ROMID_IMP_MULTI_FRAME_SUPPORTED   0x00001000
 
#define PXE_ROMID_IMP_NVDATA_SUPPORT_MASK   0x00000C00
 
#define PXE_ROMID_IMP_NVDATA_BULK_WRITABLE   0x00000C00
 
#define PXE_ROMID_IMP_NVDATA_SPARSE_WRITABLE   0x00000800
 
#define PXE_ROMID_IMP_NVDATA_READ_ONLY   0x00000400
 
#define PXE_ROMID_IMP_NVDATA_NOT_AVAILABLE   0x00000000
 
#define PXE_ROMID_IMP_STATISTICS_SUPPORTED   0x00000200
 
#define PXE_ROMID_IMP_STATION_ADDR_SETTABLE   0x00000100
 
#define PXE_ROMID_IMP_PROMISCUOUS_MULTICAST_RX_SUPPORTED   0x00000080
 
#define PXE_ROMID_IMP_PROMISCUOUS_RX_SUPPORTED   0x00000040
 
#define PXE_ROMID_IMP_BROADCAST_RX_SUPPORTED   0x00000020
 
#define PXE_ROMID_IMP_FILTERED_MULTICAST_RX_SUPPORTED   0x00000010
 
#define PXE_ROMID_IMP_SOFTWARE_INT_SUPPORTED   0x00000008
 
#define PXE_ROMID_IMP_TX_COMPLETE_INT_SUPPORTED   0x00000004
 
#define PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED   0x00000002
 
#define PXE_ROMID_IMP_CMD_COMPLETE_INT_SUPPORTED   0x00000001
 
#define MAX_PCI_CONFIG_LEN   64
 cpb and db definitions More...
 
#define MAX_EEPROM_LEN   128
 
#define MAX_XMIT_BUFFERS   32
 recycling Q length for xmit_done. More...
 
#define MAX_MCAST_ADDRESS_CNT   8
 
#define TO_AND_FROM_DEVICE   0
 
#define FROM_DEVICE   1
 
#define TO_DEVICE   2
 
#define PXE_DELAY_MILLISECOND   1000
 
#define PXE_DELAY_SECOND   1000000
 
#define PXE_IO_READ   0
 
#define PXE_IO_WRITE   1
 
#define PXE_MEM_READ   2
 
#define PXE_MEM_WRITE   4
 
#define PXE_MAX_TXRX_UNIT_ETHER   1500
 
#define PXE_HWADDR_LEN_ETHER   0x0006
 
#define PXE_MAC_HEADER_LEN_ETHER   0x000E
 
#define PXE_DUPLEX_ENABLE_FULL_SUPPORTED   1
 
#define PXE_DUPLEX_FORCE_FULL_SUPPORTED   2
 
#define PXE_LOOPBACK_INTERNAL_SUPPORTED   1
 
#define PXE_LOOPBACK_EXTERNAL_SUPPORTED   2
 
#define PXE_DUPLEX_DEFAULT   0x00
 
#define PXE_FORCE_FULL_DUPLEX   0x01
 
#define PXE_ENABLE_FULL_DUPLEX   0x02
 
#define PXE_FORCE_HALF_DUPLEX   0x04
 
#define PXE_DISABLE_FULL_DUPLEX   0x08
 
#define LOOPBACK_NORMAL   0
 
#define LOOPBACK_INTERNAL   1
 
#define LOOPBACK_EXTERNAL   2
 
#define PXE_STATISTICS_RX_TOTAL_FRAMES   0x00
 Total number of frames received. More...
 
#define PXE_STATISTICS_RX_GOOD_FRAMES   0x01
 Number of valid frames received and copied into receive buffers. More...
 
#define PXE_STATISTICS_RX_UNDERSIZE_FRAMES   0x02
 Number of frames below the minimum length for the media. More...
 
#define PXE_STATISTICS_RX_OVERSIZE_FRAMES   0x03
 Number of frames longer than the maxminum length for the media. More...
 
#define PXE_STATISTICS_RX_DROPPED_FRAMES   0x04
 Valid frames that were dropped because receive buffers were full. More...
 
#define PXE_STATISTICS_RX_UNICAST_FRAMES   0x05
 Number of valid unicast frames received and not dropped. More...
 
#define PXE_STATISTICS_RX_BROADCAST_FRAMES   0x06
 Number of valid broadcast frames received and not dropped. More...
 
#define PXE_STATISTICS_RX_MULTICAST_FRAMES   0x07
 Number of valid mutlicast frames received and not dropped. More...
 
#define PXE_STATISTICS_RX_CRC_ERROR_FRAMES   0x08
 Number of frames w/ CRC or alignment errors. More...
 
#define PXE_STATISTICS_RX_TOTAL_BYTES   0x09
 Total number of bytes received. More...
 
#define PXE_STATISTICS_TX_TOTAL_FRAMES   0x0A
 Transmit statistics. More...
 
#define PXE_STATISTICS_TX_GOOD_FRAMES   0x0B
 
#define PXE_STATISTICS_TX_UNDERSIZE_FRAMES   0x0C
 
#define PXE_STATISTICS_TX_OVERSIZE_FRAMES   0x0D
 
#define PXE_STATISTICS_TX_DROPPED_FRAMES   0x0E
 
#define PXE_STATISTICS_TX_UNICAST_FRAMES   0x0F
 
#define PXE_STATISTICS_TX_BROADCAST_FRAMES   0x10
 
#define PXE_STATISTICS_TX_MULTICAST_FRAMES   0x11
 
#define PXE_STATISTICS_TX_CRC_ERROR_FRAMES   0x12
 
#define PXE_STATISTICS_TX_TOTAL_BYTES   0x13
 
#define PXE_STATISTICS_COLLISIONS   0x14
 Number of collisions detection on this subnet. More...
 
#define PXE_STATISTICS_UNSUPPORTED_PROTOCOL   0x15
 Number of frames destined for unsupported protocol. More...
 
#define PXE_STATISTICS_RX_DUPLICATED_FRAMES   0x16
 Number of valid frames received that were duplicated. More...
 
#define PXE_STATISTICS_RX_DECRYPT_ERROR_FRAMES   0x17
 Number of encrypted frames received that failed to decrypt. More...
 
#define PXE_STATISTICS_TX_ERROR_FRAMES   0x18
 Number of frames that failed to transmit after exceeding the retry limit. More...
 
#define PXE_STATISTICS_TX_RETRY_FRAMES   0x19
 Number of frames transmitted successfully after more than one attempt. More...
 
#define PXE_PROTOCOL_ETHERNET_IP   0x0800
 
#define PXE_PROTOCOL_ETHERNET_ARP   0x0806
 
#define MAX_XMIT_FRAGMENTS   16
 

Typedefs

typedef VOID PXE_VOID
 
typedef UINT8 PXE_UINT8
 
typedef UINT16 PXE_UINT16
 
typedef UINT32 PXE_UINT32
 
typedef UINTN PXE_UINTN
 
typedef UINT64 PXE_UINT64
 Typedef unsigned long PXE_UINT64. More...
 
typedef PXE_UINT8 PXE_BOOL
 
typedef PXE_UINT16 PXE_OPCODE
 
typedef PXE_UINT16 PXE_OPFLAGS
 
typedef PXE_UINT16 PXE_STATFLAGS
 UNDI Receive. More...
 
typedef PXE_UINT16 PXE_STATCODE
 UNDI Fill Header. More...
 
typedef PXE_UINT16 PXE_IFNUM
 
typedef PXE_UINT16 PXE_CONTROL
 
typedef PXE_UINT8 PXE_FRAME_TYPE
 
typedef PXE_UINT32 PXE_IPV4
 
typedef PXE_UINT32 PXE_IPV6[4]
 
typedef PXE_UINT8 PXE_MAC_ADDR[PXE_MAC_LENGTH]
 
typedef PXE_UINT8 PXE_IFTYPE
 
typedef UINT16 PXE_MEDIA_PROTOCOL
 
typedef struct s_pxe_hw_undi PXE_HW_UNDI
 
typedef struct s_pxe_sw_undi PXE_SW_UNDI
 
typedef union u_pxe_undi PXE_UNDI
 
typedef struct s_pxe_cdb PXE_CDB
 
typedef union u_pxe_ip_addr PXE_IP_ADDR
 
typedef union pxe_device PXE_DEVICE
 
typedef struct s_pxe_cpb_start_30 PXE_CPB_START_30
 
typedef struct s_pxe_cpb_start_31 PXE_CPB_START_31
 
typedef struct s_pxe_db_get_init_info PXE_DB_GET_INIT_INFO
 
typedef struct s_pxe_pci_config_info PXE_PCI_CONFIG_INFO
 
typedef struct s_pxe_pcc_config_info PXE_PCC_CONFIG_INFO
 
typedef union u_pxe_db_get_config_info PXE_DB_GET_CONFIG_INFO
 
typedef struct s_pxe_cpb_initialize PXE_CPB_INITIALIZE
 
typedef struct s_pxe_db_initialize PXE_DB_INITIALIZE
 
typedef struct s_pxe_cpb_receive_filters PXE_CPB_RECEIVE_FILTERS
 
typedef struct s_pxe_db_receive_filters PXE_DB_RECEIVE_FILTERS
 
typedef struct s_pxe_cpb_station_address PXE_CPB_STATION_ADDRESS
 
typedef struct s_pxe_dpb_station_address PXE_DB_STATION_ADDRESS
 
typedef struct s_pxe_db_statistics PXE_DB_STATISTICS
 
typedef struct s_pxe_cpb_mcast_ip_to_mac PXE_CPB_MCAST_IP_TO_MAC
 
typedef struct s_pxe_db_mcast_ip_to_mac PXE_DB_MCAST_IP_TO_MAC
 
typedef struct s_pxe_cpb_nvdata_sparse PXE_CPB_NVDATA_SPARSE
 
typedef union u_pxe_cpb_nvdata_bulk PXE_CPB_NVDATA_BULK
 When using bulk update, the size of the CPB structure must be the same size as the non-volatile NIC storage. More...
 
typedef struct s_pxe_db_nvdata PXE_DB_NVDATA
 
typedef struct s_pxe_db_get_status PXE_DB_GET_STATUS
 
typedef struct s_pxe_cpb_fill_header PXE_CPB_FILL_HEADER
 
typedef struct s_pxe_cpb_fill_header_fragmented PXE_CPB_FILL_HEADER_FRAGMENTED
 
typedef struct s_pxe_cpb_transmit PXE_CPB_TRANSMIT
 
typedef struct s_pxe_cpb_transmit_fragments PXE_CPB_TRANSMIT_FRAGMENTS
 
typedef struct s_pxe_cpb_receive PXE_CPB_RECEIVE
 
typedef struct s_pxe_db_receive PXE_DB_RECEIVE
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Detailed Description

This header file contains all of the PXE type definitions, structure prototypes, global variables and constants that are needed for porting PXE to EFI.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
32/64-bit PXE specification: alpha-4, 99-Dec-17.

Definition in file UefiPxe.h.

Macro Definition Documentation

◆ PXE_BUSTYPE

#define PXE_BUSTYPE (   a,
  b,
  c,
 
)
Value:
( \
(((PXE_UINT32) (d) & 0xFF) << 24) | (((PXE_UINT32) (c) & 0xFF) << 16) | (((PXE_UINT32) (b) & 0xFF) << 8) | \
((PXE_UINT32) (a) & 0xFF) \
)
static __always_inline void off_t int c
Definition: librm.h:173
UINT32 PXE_UINT32
Definition: UefiPxe.h:70

Definition at line 22 of file UefiPxe.h.

◆ PXE_BUSTYPE_PXE

#define PXE_BUSTYPE_PXE   PXE_BUSTYPE ('!', 'P', 'X', 'E')

UNDI ROM ID and devive ID signature.

Definition at line 31 of file UefiPxe.h.

◆ PXE_BUSTYPE_PCI

#define PXE_BUSTYPE_PCI   PXE_BUSTYPE ('P', 'C', 'I', 'R')

BUS ROM ID signatures.

Definition at line 36 of file UefiPxe.h.

◆ PXE_BUSTYPE_PC_CARD

#define PXE_BUSTYPE_PC_CARD   PXE_BUSTYPE ('P', 'C', 'C', 'R')

Definition at line 37 of file UefiPxe.h.

◆ PXE_BUSTYPE_USB

#define PXE_BUSTYPE_USB   PXE_BUSTYPE ('U', 'S', 'B', 'R')

Definition at line 38 of file UefiPxe.h.

◆ PXE_BUSTYPE_1394

#define PXE_BUSTYPE_1394   PXE_BUSTYPE ('1', '3', '9', '4')

Definition at line 39 of file UefiPxe.h.

◆ PXE_SWAP_UINT16

#define PXE_SWAP_UINT16 (   n)    ((((PXE_UINT16) (n) & 0x00FF) << 8) | (((PXE_UINT16) (n) & 0xFF00) >> 8))

Definition at line 41 of file UefiPxe.h.

◆ PXE_SWAP_UINT32

#define PXE_SWAP_UINT32 (   n)
Value:
((((PXE_UINT32)(n) & 0x000000FF) << 24) | \
(((PXE_UINT32)(n) & 0x0000FF00) << 8) | \
(((PXE_UINT32)(n) & 0x00FF0000) >> 8) | \
(((PXE_UINT32)(n) & 0xFF000000) >> 24))
UINT32 PXE_UINT32
Definition: UefiPxe.h:70

Definition at line 43 of file UefiPxe.h.

◆ PXE_SWAP_UINT64

#define PXE_SWAP_UINT64 (   n)
Value:
((((PXE_UINT64)(n) & 0x00000000000000FFULL) << 56) | \
(((PXE_UINT64)(n) & 0x000000000000FF00ULL) << 40) | \
(((PXE_UINT64)(n) & 0x0000000000FF0000ULL) << 24) | \
(((PXE_UINT64)(n) & 0x00000000FF000000ULL) << 8) | \
(((PXE_UINT64)(n) & 0x000000FF00000000ULL) >> 8) | \
(((PXE_UINT64)(n) & 0x0000FF0000000000ULL) >> 24) | \
(((PXE_UINT64)(n) & 0x00FF000000000000ULL) >> 40) | \
(((PXE_UINT64)(n) & 0xFF00000000000000ULL) >> 56))
UINT64 PXE_UINT64
Typedef unsigned long PXE_UINT64.
Definition: UefiPxe.h:76

Definition at line 49 of file UefiPxe.h.

◆ PXE_CPBSIZE_NOT_USED

#define PXE_CPBSIZE_NOT_USED   0

zero

Definition at line 59 of file UefiPxe.h.

◆ PXE_DBSIZE_NOT_USED

#define PXE_DBSIZE_NOT_USED   0

zero

Definition at line 60 of file UefiPxe.h.

◆ PXE_CPBADDR_NOT_USED

#define PXE_CPBADDR_NOT_USED   (PXE_UINT64) 0

zero

Definition at line 61 of file UefiPxe.h.

◆ PXE_DBADDR_NOT_USED

#define PXE_DBADDR_NOT_USED   (PXE_UINT64) 0

zero

Definition at line 62 of file UefiPxe.h.

◆ PXE_CONST

#define PXE_CONST   CONST

Definition at line 63 of file UefiPxe.h.

◆ PXE_VOLATILE

#define PXE_VOLATILE   volatile

Definition at line 65 of file UefiPxe.h.

◆ PXE_FALSE

#define PXE_FALSE   0

zero

Definition at line 79 of file UefiPxe.h.

◆ PXE_TRUE

#define PXE_TRUE   (!PXE_FALSE)

Definition at line 80 of file UefiPxe.h.

◆ PXE_OPCODE_GET_STATE

#define PXE_OPCODE_GET_STATE   0x0000

Return UNDI operational state.

Definition at line 87 of file UefiPxe.h.

◆ PXE_OPCODE_START

#define PXE_OPCODE_START   0x0001

Change UNDI operational state from Stopped to Started.

Definition at line 92 of file UefiPxe.h.

◆ PXE_OPCODE_STOP

#define PXE_OPCODE_STOP   0x0002

Change UNDI operational state from Started to Stopped.

Definition at line 97 of file UefiPxe.h.

◆ PXE_OPCODE_GET_INIT_INFO

#define PXE_OPCODE_GET_INIT_INFO   0x0003

Get UNDI initialization information.

Definition at line 102 of file UefiPxe.h.

◆ PXE_OPCODE_GET_CONFIG_INFO

#define PXE_OPCODE_GET_CONFIG_INFO   0x0004

Get NIC configuration information.

Definition at line 107 of file UefiPxe.h.

◆ PXE_OPCODE_INITIALIZE

#define PXE_OPCODE_INITIALIZE   0x0005

Changed UNDI operational state from Started to Initialized.

Definition at line 112 of file UefiPxe.h.

◆ PXE_OPCODE_RESET

#define PXE_OPCODE_RESET   0x0006

Re-initialize the NIC H/W.

Definition at line 117 of file UefiPxe.h.

◆ PXE_OPCODE_SHUTDOWN

#define PXE_OPCODE_SHUTDOWN   0x0007

Change the UNDI operational state from Initialized to Started.

Definition at line 122 of file UefiPxe.h.

◆ PXE_OPCODE_INTERRUPT_ENABLES

#define PXE_OPCODE_INTERRUPT_ENABLES   0x0008

Read & change state of external interrupt enables.

Definition at line 127 of file UefiPxe.h.

◆ PXE_OPCODE_RECEIVE_FILTERS

#define PXE_OPCODE_RECEIVE_FILTERS   0x0009

Read & change state of packet receive filters.

Definition at line 132 of file UefiPxe.h.

◆ PXE_OPCODE_STATION_ADDRESS

#define PXE_OPCODE_STATION_ADDRESS   0x000A

Read & change station MAC address.

Definition at line 137 of file UefiPxe.h.

◆ PXE_OPCODE_STATISTICS

#define PXE_OPCODE_STATISTICS   0x000B

Read traffic statistics.

Definition at line 142 of file UefiPxe.h.

◆ PXE_OPCODE_MCAST_IP_TO_MAC

#define PXE_OPCODE_MCAST_IP_TO_MAC   0x000C

Convert multicast IP address to multicast MAC address.

Definition at line 147 of file UefiPxe.h.

◆ PXE_OPCODE_NVDATA

#define PXE_OPCODE_NVDATA   0x000D

Read or change non-volatile storage on the NIC.

Definition at line 152 of file UefiPxe.h.

◆ PXE_OPCODE_GET_STATUS

#define PXE_OPCODE_GET_STATUS   0x000E

Get & clear interrupt status.

Definition at line 157 of file UefiPxe.h.

◆ PXE_OPCODE_FILL_HEADER

#define PXE_OPCODE_FILL_HEADER   0x000F

Fill media header in packet for transmit.

Definition at line 162 of file UefiPxe.h.

◆ PXE_OPCODE_TRANSMIT

#define PXE_OPCODE_TRANSMIT   0x0010

Transmit packet(s).

Definition at line 167 of file UefiPxe.h.

◆ PXE_OPCODE_RECEIVE

#define PXE_OPCODE_RECEIVE   0x0011

Receive packet.

Definition at line 172 of file UefiPxe.h.

◆ PXE_OPCODE_LAST_VALID

#define PXE_OPCODE_LAST_VALID   0x0011

Last valid PXE UNDI OpCode number.

Definition at line 177 of file UefiPxe.h.

◆ PXE_OPFLAGS_NOT_USED

#define PXE_OPFLAGS_NOT_USED   0x0000

Definition at line 181 of file UefiPxe.h.

◆ PXE_OPFLAGS_INITIALIZE_CABLE_DETECT_MASK

#define PXE_OPFLAGS_INITIALIZE_CABLE_DETECT_MASK   0x0001

UNDI Initialize.

Definition at line 212 of file UefiPxe.h.

◆ PXE_OPFLAGS_INITIALIZE_DETECT_CABLE

#define PXE_OPFLAGS_INITIALIZE_DETECT_CABLE   0x0000

Definition at line 213 of file UefiPxe.h.

◆ PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE

#define PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE   0x0001

Definition at line 214 of file UefiPxe.h.

◆ PXE_OPFLAGS_RESET_DISABLE_INTERRUPTS

#define PXE_OPFLAGS_RESET_DISABLE_INTERRUPTS   0x0001

UNDI Reset.

Definition at line 220 of file UefiPxe.h.

◆ PXE_OPFLAGS_RESET_DISABLE_FILTERS

#define PXE_OPFLAGS_RESET_DISABLE_FILTERS   0x0002

Definition at line 221 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_OPMASK

#define PXE_OPFLAGS_INTERRUPT_OPMASK   0xC000

UNDI Shutdown.

No OpFlags. UNDI Interrupt Enables.

Select whether to enable or disable external interrupt signals. Setting both enable and disable will return PXE_STATCODE_INVALID_OPFLAGS.

Definition at line 235 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_ENABLE

#define PXE_OPFLAGS_INTERRUPT_ENABLE   0x8000

Definition at line 236 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_DISABLE

#define PXE_OPFLAGS_INTERRUPT_DISABLE   0x4000

Definition at line 237 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_READ

#define PXE_OPFLAGS_INTERRUPT_READ   0x0000

Definition at line 238 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_RECEIVE

#define PXE_OPFLAGS_INTERRUPT_RECEIVE   0x0001

Enable receive interrupts.

An external interrupt will be generated after a complete non-error packet has been received.

Definition at line 244 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_TRANSMIT

#define PXE_OPFLAGS_INTERRUPT_TRANSMIT   0x0002

Enable transmit interrupts.

An external interrupt will be generated after a complete non-error packet has been transmitted.

Definition at line 250 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_COMMAND

#define PXE_OPFLAGS_INTERRUPT_COMMAND   0x0004

Enable command interrupts.

An external interrupt will be generated when command execution stops.

Definition at line 256 of file UefiPxe.h.

◆ PXE_OPFLAGS_INTERRUPT_SOFTWARE

#define PXE_OPFLAGS_INTERRUPT_SOFTWARE   0x0008

Generate software interrupt.

Setting this bit generates an external interrupt, if it is supported by the hardware.

Definition at line 262 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_OPMASK

#define PXE_OPFLAGS_RECEIVE_FILTER_OPMASK   0xC000

UNDI Receive Filters.

Select whether to enable or disable receive filters. Setting both enable and disable will return PXE_STATCODE_INVALID_OPCODE.

Definition at line 271 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_ENABLE

#define PXE_OPFLAGS_RECEIVE_FILTER_ENABLE   0x8000

Definition at line 272 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_DISABLE

#define PXE_OPFLAGS_RECEIVE_FILTER_DISABLE   0x4000

Definition at line 273 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_READ

#define PXE_OPFLAGS_RECEIVE_FILTER_READ   0x0000

Definition at line 274 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_RESET_MCAST_LIST

#define PXE_OPFLAGS_RECEIVE_FILTER_RESET_MCAST_LIST   0x2000

To reset the contents of the multicast MAC address filter list, set this OpFlag:

Definition at line 280 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_UNICAST

#define PXE_OPFLAGS_RECEIVE_FILTER_UNICAST   0x0001

Enable unicast packet receiving.

Packets sent to the current station MAC address will be received.

Definition at line 286 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_BROADCAST

#define PXE_OPFLAGS_RECEIVE_FILTER_BROADCAST   0x0002

Enable broadcast packet receiving.

Packets sent to the broadcast MAC address will be received.

Definition at line 292 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST

#define PXE_OPFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST   0x0004

Enable filtered multicast packet receiving.

Packets sent to any of the multicast MAC addresses in the multicast MAC address filter list will be received. If the filter list is empty, no multicast

Definition at line 299 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_PROMISCUOUS

#define PXE_OPFLAGS_RECEIVE_FILTER_PROMISCUOUS   0x0008

Enable promiscuous packet receiving.

All packets will be received.

Definition at line 304 of file UefiPxe.h.

◆ PXE_OPFLAGS_RECEIVE_FILTER_ALL_MULTICAST

#define PXE_OPFLAGS_RECEIVE_FILTER_ALL_MULTICAST   0x0010

Enable promiscuous multicast packet receiving.

All multicast packets will be received.

Definition at line 310 of file UefiPxe.h.

◆ PXE_OPFLAGS_STATION_ADDRESS_READ

#define PXE_OPFLAGS_STATION_ADDRESS_READ   0x0000

UNDI Station Address.

Definition at line 315 of file UefiPxe.h.

◆ PXE_OPFLAGS_STATION_ADDRESS_WRITE

#define PXE_OPFLAGS_STATION_ADDRESS_WRITE   0x0000

Definition at line 316 of file UefiPxe.h.

◆ PXE_OPFLAGS_STATION_ADDRESS_RESET

#define PXE_OPFLAGS_STATION_ADDRESS_RESET   0x0001

Definition at line 317 of file UefiPxe.h.

◆ PXE_OPFLAGS_STATISTICS_READ

#define PXE_OPFLAGS_STATISTICS_READ   0x0000

UNDI Statistics.

Definition at line 322 of file UefiPxe.h.

◆ PXE_OPFLAGS_STATISTICS_RESET

#define PXE_OPFLAGS_STATISTICS_RESET   0x0001

Definition at line 323 of file UefiPxe.h.

◆ PXE_OPFLAGS_MCAST_IP_TO_MAC_OPMASK

#define PXE_OPFLAGS_MCAST_IP_TO_MAC_OPMASK   0x0003

UNDI MCast IP to MAC.

Identify the type of IP address in the CPB.

Definition at line 331 of file UefiPxe.h.

◆ PXE_OPFLAGS_MCAST_IPV4_TO_MAC

#define PXE_OPFLAGS_MCAST_IPV4_TO_MAC   0x0000

Definition at line 332 of file UefiPxe.h.

◆ PXE_OPFLAGS_MCAST_IPV6_TO_MAC

#define PXE_OPFLAGS_MCAST_IPV6_TO_MAC   0x0001

Definition at line 333 of file UefiPxe.h.

◆ PXE_OPFLAGS_NVDATA_OPMASK

#define PXE_OPFLAGS_NVDATA_OPMASK   0x0001

UNDI NvData.

Select the type of non-volatile data operation.

Definition at line 341 of file UefiPxe.h.

◆ PXE_OPFLAGS_NVDATA_READ

#define PXE_OPFLAGS_NVDATA_READ   0x0000

Definition at line 342 of file UefiPxe.h.

◆ PXE_OPFLAGS_NVDATA_WRITE

#define PXE_OPFLAGS_NVDATA_WRITE   0x0001

Definition at line 343 of file UefiPxe.h.

◆ PXE_OPFLAGS_GET_INTERRUPT_STATUS

#define PXE_OPFLAGS_GET_INTERRUPT_STATUS   0x0001

UNDI Get Status.

Return current interrupt status. This will also clear any interrupts that are currently set. This can be used in a polling routine. The interrupt flags are still set and cleared even when the interrupts are disabled.

Definition at line 354 of file UefiPxe.h.

◆ PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS

#define PXE_OPFLAGS_GET_TRANSMITTED_BUFFERS   0x0002

Return list of transmitted buffers for recycling.

Transmit buffers must not be changed or unallocated until they have recycled. After issuing a transmit command, wait for a transmit complete interrupt. When a transmit complete interrupt is received, read the transmitted buffers. Do not plan on getting one buffer per interrupt. Some NICs and UNDIs may transmit multiple buffers per interrupt.

Definition at line 364 of file UefiPxe.h.

◆ PXE_OPFLAGS_GET_MEDIA_STATUS

#define PXE_OPFLAGS_GET_MEDIA_STATUS   0x0004

Return current media status.

Definition at line 369 of file UefiPxe.h.

◆ PXE_OPFLAGS_FILL_HEADER_OPMASK

#define PXE_OPFLAGS_FILL_HEADER_OPMASK   0x0001

UNDI Fill Header.

Definition at line 374 of file UefiPxe.h.

◆ PXE_OPFLAGS_FILL_HEADER_FRAGMENTED

#define PXE_OPFLAGS_FILL_HEADER_FRAGMENTED   0x0001

Definition at line 375 of file UefiPxe.h.

◆ PXE_OPFLAGS_FILL_HEADER_WHOLE

#define PXE_OPFLAGS_FILL_HEADER_WHOLE   0x0000

Definition at line 376 of file UefiPxe.h.

◆ PXE_OPFLAGS_SWUNDI_TRANSMIT_OPMASK

#define PXE_OPFLAGS_SWUNDI_TRANSMIT_OPMASK   0x0001

UNDI Transmit.

S/W UNDI only. Return after the packet has been transmitted. A transmit complete interrupt will still be generated and the transmit buffer will have to be recycled.

Definition at line 386 of file UefiPxe.h.

◆ PXE_OPFLAGS_TRANSMIT_BLOCK

#define PXE_OPFLAGS_TRANSMIT_BLOCK   0x0001

Definition at line 387 of file UefiPxe.h.

◆ PXE_OPFLAGS_TRANSMIT_DONT_BLOCK

#define PXE_OPFLAGS_TRANSMIT_DONT_BLOCK   0x0000

Definition at line 388 of file UefiPxe.h.

◆ PXE_OPFLAGS_TRANSMIT_OPMASK

#define PXE_OPFLAGS_TRANSMIT_OPMASK   0x0002

Definition at line 390 of file UefiPxe.h.

◆ PXE_OPFLAGS_TRANSMIT_FRAGMENTED

#define PXE_OPFLAGS_TRANSMIT_FRAGMENTED   0x0002

Definition at line 391 of file UefiPxe.h.

◆ PXE_OPFLAGS_TRANSMIT_WHOLE

#define PXE_OPFLAGS_TRANSMIT_WHOLE   0x0000

Definition at line 392 of file UefiPxe.h.

◆ PXE_STATFLAGS_INITIALIZE

#define PXE_STATFLAGS_INITIALIZE   0x0000

Definition at line 405 of file UefiPxe.h.

◆ PXE_STATFLAGS_STATUS_MASK

#define PXE_STATFLAGS_STATUS_MASK   0xC000

Common StatFlags that can be returned by all commands.

The COMMAND_COMPLETE and COMMAND_FAILED status flags must be implemented by all UNDIs. COMMAND_QUEUED is only needed by UNDIs that support command queuing.

Definition at line 415 of file UefiPxe.h.

◆ PXE_STATFLAGS_COMMAND_COMPLETE

#define PXE_STATFLAGS_COMMAND_COMPLETE   0xC000

Definition at line 416 of file UefiPxe.h.

◆ PXE_STATFLAGS_COMMAND_FAILED

#define PXE_STATFLAGS_COMMAND_FAILED   0x8000

Definition at line 417 of file UefiPxe.h.

◆ PXE_STATFLAGS_COMMAND_QUEUED

#define PXE_STATFLAGS_COMMAND_QUEUED   0x4000

Definition at line 418 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATE_MASK

#define PXE_STATFLAGS_GET_STATE_MASK   0x0003

UNDI Get State.

Definition at line 423 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATE_INITIALIZED

#define PXE_STATFLAGS_GET_STATE_INITIALIZED   0x0002

Definition at line 424 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATE_STARTED

#define PXE_STATFLAGS_GET_STATE_STARTED   0x0001

Definition at line 425 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATE_STOPPED

#define PXE_STATFLAGS_GET_STATE_STOPPED   0x0000

Definition at line 426 of file UefiPxe.h.

◆ PXE_STATFLAGS_CABLE_DETECT_MASK

#define PXE_STATFLAGS_CABLE_DETECT_MASK   0x0001

UNDI Start.

No additional StatFlags.UNDI Get Init Info.

Definition at line 437 of file UefiPxe.h.

◆ PXE_STATFLAGS_CABLE_DETECT_NOT_SUPPORTED

#define PXE_STATFLAGS_CABLE_DETECT_NOT_SUPPORTED   0x0000

Definition at line 438 of file UefiPxe.h.

◆ PXE_STATFLAGS_CABLE_DETECT_SUPPORTED

#define PXE_STATFLAGS_CABLE_DETECT_SUPPORTED   0x0001

Definition at line 439 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_NO_MEDIA_MASK

#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_MASK   0x0002

Definition at line 441 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_NO_MEDIA_NOT_SUPPORTED

#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_NOT_SUPPORTED   0x0000

Definition at line 442 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_NO_MEDIA_SUPPORTED

#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA_SUPPORTED   0x0002

Definition at line 443 of file UefiPxe.h.

◆ PXE_STATFLAGS_INITIALIZED_NO_MEDIA

#define PXE_STATFLAGS_INITIALIZED_NO_MEDIA   0x0001

UNDI Initialize.

Definition at line 448 of file UefiPxe.h.

◆ PXE_STATFLAGS_RESET_NO_MEDIA

#define PXE_STATFLAGS_RESET_NO_MEDIA   0x0001

UNDI Reset.

Definition at line 453 of file UefiPxe.h.

◆ PXE_STATFLAGS_INTERRUPT_RECEIVE

#define PXE_STATFLAGS_INTERRUPT_RECEIVE   0x0001

UNDI Shutdown.

No additional StatFlags. UNDI Interrupt Enables.

If set, receive interrupts are enabled.

Definition at line 466 of file UefiPxe.h.

◆ PXE_STATFLAGS_INTERRUPT_TRANSMIT

#define PXE_STATFLAGS_INTERRUPT_TRANSMIT   0x0002

If set, transmit interrupts are enabled.

Definition at line 471 of file UefiPxe.h.

◆ PXE_STATFLAGS_INTERRUPT_COMMAND

#define PXE_STATFLAGS_INTERRUPT_COMMAND   0x0004

If set, command interrupts are enabled.

Definition at line 476 of file UefiPxe.h.

◆ PXE_STATFLAGS_RECEIVE_FILTER_UNICAST

#define PXE_STATFLAGS_RECEIVE_FILTER_UNICAST   0x0001

UNDI Receive Filters.

If set, unicast packets will be received.

Definition at line 485 of file UefiPxe.h.

◆ PXE_STATFLAGS_RECEIVE_FILTER_BROADCAST

#define PXE_STATFLAGS_RECEIVE_FILTER_BROADCAST   0x0002

If set, broadcast packets will be received.

Definition at line 490 of file UefiPxe.h.

◆ PXE_STATFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST

#define PXE_STATFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST   0x0004

If set, multicast packets that match up with the multicast address filter list will be received.

Definition at line 496 of file UefiPxe.h.

◆ PXE_STATFLAGS_RECEIVE_FILTER_PROMISCUOUS

#define PXE_STATFLAGS_RECEIVE_FILTER_PROMISCUOUS   0x0008

If set, all packets will be received.

Definition at line 501 of file UefiPxe.h.

◆ PXE_STATFLAGS_RECEIVE_FILTER_ALL_MULTICAST

#define PXE_STATFLAGS_RECEIVE_FILTER_ALL_MULTICAST   0x0010

If set, all multicast packets will be received.

Definition at line 506 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_INTERRUPT_MASK

#define PXE_STATFLAGS_GET_STATUS_INTERRUPT_MASK   0x000F

UNDI Station Address.

No additional StatFlags.UNDI Statistics.

No additional StatFlags./ UNDI MCast IP to MAC. / / No additional StatFlags. UNDI NvData.

No additional StatFlags.UNDI Get Status.Use to determine if an interrupt has occurred.

Definition at line 538 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_NO_INTERRUPTS

#define PXE_STATFLAGS_GET_STATUS_NO_INTERRUPTS   0x0000

Definition at line 539 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_RECEIVE

#define PXE_STATFLAGS_GET_STATUS_RECEIVE   0x0001

If set, at least one receive interrupt occurred.

Definition at line 544 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_TRANSMIT

#define PXE_STATFLAGS_GET_STATUS_TRANSMIT   0x0002

If set, at least one transmit interrupt occurred.

Definition at line 549 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_COMMAND

#define PXE_STATFLAGS_GET_STATUS_COMMAND   0x0004

If set, at least one command interrupt occurred.

Definition at line 554 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_SOFTWARE

#define PXE_STATFLAGS_GET_STATUS_SOFTWARE   0x0008

If set, at least one software interrupt occurred.

Definition at line 559 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY

#define PXE_STATFLAGS_GET_STATUS_TXBUF_QUEUE_EMPTY   0x0010

This flag is set if the transmitted buffer queue is empty.

This flag will be set if all transmitted buffer addresses get written into the DB.

Definition at line 565 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_NO_TXBUFS_WRITTEN

#define PXE_STATFLAGS_GET_STATUS_NO_TXBUFS_WRITTEN   0x0020

This flag is set if no transmitted buffer addresses were written into the DB.

(This could be because DBsize was too small.)

Definition at line 571 of file UefiPxe.h.

◆ PXE_STATFLAGS_GET_STATUS_NO_MEDIA

#define PXE_STATFLAGS_GET_STATUS_NO_MEDIA   0x0040

This flag is set if there is no media detected.

Definition at line 576 of file UefiPxe.h.

◆ PXE_STATCODE_INITIALIZE

#define PXE_STATCODE_INITIALIZE   0x0000

Definition at line 598 of file UefiPxe.h.

◆ PXE_STATCODE_SUCCESS

#define PXE_STATCODE_SUCCESS   0x0000

Common StatCodes returned by all UNDI commands, UNDI protocol functions and BC protocol functions.

Definition at line 604 of file UefiPxe.h.

◆ PXE_STATCODE_INVALID_CDB

#define PXE_STATCODE_INVALID_CDB   0x0001

Definition at line 606 of file UefiPxe.h.

◆ PXE_STATCODE_INVALID_CPB

#define PXE_STATCODE_INVALID_CPB   0x0002

Definition at line 607 of file UefiPxe.h.

◆ PXE_STATCODE_BUSY

#define PXE_STATCODE_BUSY   0x0003

Definition at line 608 of file UefiPxe.h.

◆ PXE_STATCODE_QUEUE_FULL

#define PXE_STATCODE_QUEUE_FULL   0x0004

Definition at line 609 of file UefiPxe.h.

◆ PXE_STATCODE_ALREADY_STARTED

#define PXE_STATCODE_ALREADY_STARTED   0x0005

Definition at line 610 of file UefiPxe.h.

◆ PXE_STATCODE_NOT_STARTED

#define PXE_STATCODE_NOT_STARTED   0x0006

Definition at line 611 of file UefiPxe.h.

◆ PXE_STATCODE_NOT_SHUTDOWN

#define PXE_STATCODE_NOT_SHUTDOWN   0x0007

Definition at line 612 of file UefiPxe.h.

◆ PXE_STATCODE_ALREADY_INITIALIZED

#define PXE_STATCODE_ALREADY_INITIALIZED   0x0008

Definition at line 613 of file UefiPxe.h.

◆ PXE_STATCODE_NOT_INITIALIZED

#define PXE_STATCODE_NOT_INITIALIZED   0x0009

Definition at line 614 of file UefiPxe.h.

◆ PXE_STATCODE_DEVICE_FAILURE

#define PXE_STATCODE_DEVICE_FAILURE   0x000A

Definition at line 615 of file UefiPxe.h.

◆ PXE_STATCODE_NVDATA_FAILURE

#define PXE_STATCODE_NVDATA_FAILURE   0x000B

Definition at line 616 of file UefiPxe.h.

◆ PXE_STATCODE_UNSUPPORTED

#define PXE_STATCODE_UNSUPPORTED   0x000C

Definition at line 617 of file UefiPxe.h.

◆ PXE_STATCODE_BUFFER_FULL

#define PXE_STATCODE_BUFFER_FULL   0x000D

Definition at line 618 of file UefiPxe.h.

◆ PXE_STATCODE_INVALID_PARAMETER

#define PXE_STATCODE_INVALID_PARAMETER   0x000E

Definition at line 619 of file UefiPxe.h.

◆ PXE_STATCODE_INVALID_UNDI

#define PXE_STATCODE_INVALID_UNDI   0x000F

Definition at line 620 of file UefiPxe.h.

◆ PXE_STATCODE_IPV4_NOT_SUPPORTED

#define PXE_STATCODE_IPV4_NOT_SUPPORTED   0x0010

Definition at line 621 of file UefiPxe.h.

◆ PXE_STATCODE_IPV6_NOT_SUPPORTED

#define PXE_STATCODE_IPV6_NOT_SUPPORTED   0x0011

Definition at line 622 of file UefiPxe.h.

◆ PXE_STATCODE_NOT_ENOUGH_MEMORY

#define PXE_STATCODE_NOT_ENOUGH_MEMORY   0x0012

Definition at line 623 of file UefiPxe.h.

◆ PXE_STATCODE_NO_DATA

#define PXE_STATCODE_NO_DATA   0x0013

Definition at line 624 of file UefiPxe.h.

◆ PXE_IFNUM_START

#define PXE_IFNUM_START   0x0000

This interface number must be passed to the S/W UNDI Start command.

Definition at line 631 of file UefiPxe.h.

◆ PXE_IFNUM_INVALID

#define PXE_IFNUM_INVALID   0x0000

This interface number is returned by the S/W UNDI Get State and Start commands if information in the CDB, CPB or DB is invalid.

Definition at line 637 of file UefiPxe.h.

◆ PXE_CONTROL_QUEUE_IF_BUSY

#define PXE_CONTROL_QUEUE_IF_BUSY   0x0002

Setting this flag directs the UNDI to queue this command for later execution if the UNDI is busy and it supports command queuing.

If queuing is not supported, a PXE_STATCODE_INVALID_CONTROL error is returned. If the queue is full, a PXE_STATCODE_CDB_QUEUE_FULL error is returned.

Definition at line 648 of file UefiPxe.h.

◆ PXE_CONTROL_LINK

#define PXE_CONTROL_LINK   0x0001

These two bit values are used to determine if there are more UNDI CDB structures following this one.

If the link bit is set, there must be a CDB structure following this one. Execution will start on the next CDB structure as soon as this one completes successfully. If an error is generated by this command, execution will stop.

Definition at line 657 of file UefiPxe.h.

◆ PXE_CONTROL_LAST_CDB_IN_LIST

#define PXE_CONTROL_LAST_CDB_IN_LIST   0x0000

Definition at line 658 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_NONE

#define PXE_FRAME_TYPE_NONE   0x00

Definition at line 662 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_UNICAST

#define PXE_FRAME_TYPE_UNICAST   0x01

Definition at line 663 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_BROADCAST

#define PXE_FRAME_TYPE_BROADCAST   0x02

Definition at line 664 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_FILTERED_MULTICAST

#define PXE_FRAME_TYPE_FILTERED_MULTICAST   0x03

Definition at line 665 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_PROMISCUOUS

#define PXE_FRAME_TYPE_PROMISCUOUS   0x04

Definition at line 666 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_PROMISCUOUS_MULTICAST

#define PXE_FRAME_TYPE_PROMISCUOUS_MULTICAST   0x05

Definition at line 667 of file UefiPxe.h.

◆ PXE_FRAME_TYPE_MULTICAST

#define PXE_FRAME_TYPE_MULTICAST   PXE_FRAME_TYPE_FILTERED_MULTICAST

Definition at line 669 of file UefiPxe.h.

◆ PXE_MAC_LENGTH

#define PXE_MAC_LENGTH   32

Definition at line 674 of file UefiPxe.h.

◆ PXE_IFTYPE_ETHERNET

#define PXE_IFTYPE_ETHERNET   0x01

This information is from the ARP section of RFC 1700.

1 Ethernet (10Mb)                                    [JBP]
2 Experimental Ethernet (3Mb)                        [JBP]
3 Amateur Radio AX.25                                [PXK]
4 Proteon ProNET Token Ring                          [JBP]
5 Chaos                                              [GXP]
6 IEEE 802 Networks                                  [JBP]
7 ARCNET                                             [JBP]
8 Hyperchannel                                       [JBP]
9 Lanstar                                             [TU]

10 Autonet Short Address [MXB1] 11 LocalTalk [JKR1] 12 LocalNet (IBM* PCNet or SYTEK* LocalNET) [JXM] 13 Ultra link [RXD2] 14 SMDS [GXC1] 15 Frame Relay [AGM] 16 Asynchronous Transmission Mode (ATM) [JXB2] 17 HDLC [JBP] 18 Fibre Channel [Yakov Rekhter] 19 Asynchronous Transmission Mode (ATM) [Mark Laubach] 20 Serial Line [JBP] 21 Asynchronous Transmission Mode (ATM) [MXB1]

  • Other names and brands may be claimed as the property of others.

Definition at line 708 of file UefiPxe.h.

◆ PXE_IFTYPE_TOKENRING

#define PXE_IFTYPE_TOKENRING   0x04

Definition at line 709 of file UefiPxe.h.

◆ PXE_IFTYPE_FIBRE_CHANNEL

#define PXE_IFTYPE_FIBRE_CHANNEL   0x12

Definition at line 710 of file UefiPxe.h.

◆ PXE_HWSTAT_STATE_MASK

#define PXE_HWSTAT_STATE_MASK   0xC0000000

Status port bit definitions.

UNDI operation state.

Definition at line 737 of file UefiPxe.h.

◆ PXE_HWSTAT_BUSY

#define PXE_HWSTAT_BUSY   0xC0000000

Definition at line 738 of file UefiPxe.h.

◆ PXE_HWSTAT_INITIALIZED

#define PXE_HWSTAT_INITIALIZED   0x80000000

Definition at line 739 of file UefiPxe.h.

◆ PXE_HWSTAT_STARTED

#define PXE_HWSTAT_STARTED   0x40000000

Definition at line 740 of file UefiPxe.h.

◆ PXE_HWSTAT_STOPPED

#define PXE_HWSTAT_STOPPED   0x00000000

Definition at line 741 of file UefiPxe.h.

◆ PXE_HWSTAT_COMMAND_FAILED

#define PXE_HWSTAT_COMMAND_FAILED   0x20000000

If set, last command failed.

Definition at line 746 of file UefiPxe.h.

◆ PXE_HWSTAT_PROMISCUOUS_MULTICAST_RX_ENABLED

#define PXE_HWSTAT_PROMISCUOUS_MULTICAST_RX_ENABLED   0x00001000

If set, identifies enabled receive filters.

Definition at line 751 of file UefiPxe.h.

◆ PXE_HWSTAT_PROMISCUOUS_RX_ENABLED

#define PXE_HWSTAT_PROMISCUOUS_RX_ENABLED   0x00000800

Definition at line 752 of file UefiPxe.h.

◆ PXE_HWSTAT_BROADCAST_RX_ENABLED

#define PXE_HWSTAT_BROADCAST_RX_ENABLED   0x00000400

Definition at line 753 of file UefiPxe.h.

◆ PXE_HWSTAT_MULTICAST_RX_ENABLED

#define PXE_HWSTAT_MULTICAST_RX_ENABLED   0x00000200

Definition at line 754 of file UefiPxe.h.

◆ PXE_HWSTAT_UNICAST_RX_ENABLED

#define PXE_HWSTAT_UNICAST_RX_ENABLED   0x00000100

Definition at line 755 of file UefiPxe.h.

◆ PXE_HWSTAT_SOFTWARE_INT_ENABLED

#define PXE_HWSTAT_SOFTWARE_INT_ENABLED   0x00000080

If set, identifies enabled external interrupts.

Definition at line 760 of file UefiPxe.h.

◆ PXE_HWSTAT_TX_COMPLETE_INT_ENABLED

#define PXE_HWSTAT_TX_COMPLETE_INT_ENABLED   0x00000040

Definition at line 761 of file UefiPxe.h.

◆ PXE_HWSTAT_PACKET_RX_INT_ENABLED

#define PXE_HWSTAT_PACKET_RX_INT_ENABLED   0x00000020

Definition at line 762 of file UefiPxe.h.

◆ PXE_HWSTAT_CMD_COMPLETE_INT_ENABLED

#define PXE_HWSTAT_CMD_COMPLETE_INT_ENABLED   0x00000010

Definition at line 763 of file UefiPxe.h.

◆ PXE_HWSTAT_SOFTWARE_INT_PENDING

#define PXE_HWSTAT_SOFTWARE_INT_PENDING   0x00000008

If set, identifies pending interrupts.

Definition at line 768 of file UefiPxe.h.

◆ PXE_HWSTAT_TX_COMPLETE_INT_PENDING

#define PXE_HWSTAT_TX_COMPLETE_INT_PENDING   0x00000004

Definition at line 769 of file UefiPxe.h.

◆ PXE_HWSTAT_PACKET_RX_INT_PENDING

#define PXE_HWSTAT_PACKET_RX_INT_PENDING   0x00000002

Definition at line 770 of file UefiPxe.h.

◆ PXE_HWSTAT_CMD_COMPLETE_INT_PENDING

#define PXE_HWSTAT_CMD_COMPLETE_INT_PENDING   0x00000001

Definition at line 771 of file UefiPxe.h.

◆ PXE_HWCMD_ISSUE_COMMAND

#define PXE_HWCMD_ISSUE_COMMAND   0x80000000

Command port definitions.

If set, CDB identified in CDBaddr port is given to UNDI. If not set, other bits in this word will be processed.

Definition at line 781 of file UefiPxe.h.

◆ PXE_HWCMD_INTS_AND_FILTS

#define PXE_HWCMD_INTS_AND_FILTS   0x00000000

Definition at line 782 of file UefiPxe.h.

◆ PXE_HWCMD_PROMISCUOUS_MULTICAST_RX_ENABLE

#define PXE_HWCMD_PROMISCUOUS_MULTICAST_RX_ENABLE   0x00001000

Use these to enable/disable receive filters.

Definition at line 787 of file UefiPxe.h.

◆ PXE_HWCMD_PROMISCUOUS_RX_ENABLE

#define PXE_HWCMD_PROMISCUOUS_RX_ENABLE   0x00000800

Definition at line 788 of file UefiPxe.h.

◆ PXE_HWCMD_BROADCAST_RX_ENABLE

#define PXE_HWCMD_BROADCAST_RX_ENABLE   0x00000400

Definition at line 789 of file UefiPxe.h.

◆ PXE_HWCMD_MULTICAST_RX_ENABLE

#define PXE_HWCMD_MULTICAST_RX_ENABLE   0x00000200

Definition at line 790 of file UefiPxe.h.

◆ PXE_HWCMD_UNICAST_RX_ENABLE

#define PXE_HWCMD_UNICAST_RX_ENABLE   0x00000100

Definition at line 791 of file UefiPxe.h.

◆ PXE_HWCMD_SOFTWARE_INT_ENABLE

#define PXE_HWCMD_SOFTWARE_INT_ENABLE   0x00000080

Use these to enable/disable external interrupts.

Definition at line 796 of file UefiPxe.h.

◆ PXE_HWCMD_TX_COMPLETE_INT_ENABLE

#define PXE_HWCMD_TX_COMPLETE_INT_ENABLE   0x00000040

Definition at line 797 of file UefiPxe.h.

◆ PXE_HWCMD_PACKET_RX_INT_ENABLE

#define PXE_HWCMD_PACKET_RX_INT_ENABLE   0x00000020

Definition at line 798 of file UefiPxe.h.

◆ PXE_HWCMD_CMD_COMPLETE_INT_ENABLE

#define PXE_HWCMD_CMD_COMPLETE_INT_ENABLE   0x00000010

Definition at line 799 of file UefiPxe.h.

◆ PXE_HWCMD_CLEAR_SOFTWARE_INT

#define PXE_HWCMD_CLEAR_SOFTWARE_INT   0x00000008

Use these to clear pending external interrupts.

Definition at line 804 of file UefiPxe.h.

◆ PXE_HWCMD_CLEAR_TX_COMPLETE_INT

#define PXE_HWCMD_CLEAR_TX_COMPLETE_INT   0x00000004

Definition at line 805 of file UefiPxe.h.

◆ PXE_HWCMD_CLEAR_PACKET_RX_INT

#define PXE_HWCMD_CLEAR_PACKET_RX_INT   0x00000002

Definition at line 806 of file UefiPxe.h.

◆ PXE_HWCMD_CLEAR_CMD_COMPLETE_INT

#define PXE_HWCMD_CLEAR_CMD_COMPLETE_INT   0x00000001

Definition at line 807 of file UefiPxe.h.

◆ PXE_ROMID_SIGNATURE

#define PXE_ROMID_SIGNATURE   PXE_BUSTYPE ('!', 'P', 'X', 'E')

Signature of !PXE structure.

Definition at line 834 of file UefiPxe.h.

◆ PXE_ROMID_REV

#define PXE_ROMID_REV   0x02

!PXE structure format revision

Definition at line 839 of file UefiPxe.h.

◆ PXE_ROMID_MAJORVER

#define PXE_ROMID_MAJORVER   0x03

UNDI command interface revision.

These are the values that get sent in option 94 (Client Network Interface Identifier) in the DHCP Discover and PXE Boot Server Request packets.

Definition at line 846 of file UefiPxe.h.

◆ PXE_ROMID_MINORVER

#define PXE_ROMID_MINORVER   0x01

Definition at line 847 of file UefiPxe.h.

◆ PXE_ROMID_IMP_HW_UNDI

#define PXE_ROMID_IMP_HW_UNDI   0x80000000

Implementation flags.

Definition at line 852 of file UefiPxe.h.

◆ PXE_ROMID_IMP_SW_VIRT_ADDR

#define PXE_ROMID_IMP_SW_VIRT_ADDR   0x40000000

Definition at line 853 of file UefiPxe.h.

◆ PXE_ROMID_IMP_64BIT_DEVICE

#define PXE_ROMID_IMP_64BIT_DEVICE   0x00010000

Definition at line 854 of file UefiPxe.h.

◆ PXE_ROMID_IMP_FRAG_SUPPORTED

#define PXE_ROMID_IMP_FRAG_SUPPORTED   0x00008000

Definition at line 855 of file UefiPxe.h.

◆ PXE_ROMID_IMP_CMD_LINK_SUPPORTED

#define PXE_ROMID_IMP_CMD_LINK_SUPPORTED   0x00004000

Definition at line 856 of file UefiPxe.h.

◆ PXE_ROMID_IMP_CMD_QUEUE_SUPPORTED

#define PXE_ROMID_IMP_CMD_QUEUE_SUPPORTED   0x00002000

Definition at line 857 of file UefiPxe.h.

◆ PXE_ROMID_IMP_MULTI_FRAME_SUPPORTED

#define PXE_ROMID_IMP_MULTI_FRAME_SUPPORTED   0x00001000

Definition at line 858 of file UefiPxe.h.

◆ PXE_ROMID_IMP_NVDATA_SUPPORT_MASK

#define PXE_ROMID_IMP_NVDATA_SUPPORT_MASK   0x00000C00

Definition at line 859 of file UefiPxe.h.

◆ PXE_ROMID_IMP_NVDATA_BULK_WRITABLE

#define PXE_ROMID_IMP_NVDATA_BULK_WRITABLE   0x00000C00

Definition at line 860 of file UefiPxe.h.

◆ PXE_ROMID_IMP_NVDATA_SPARSE_WRITABLE

#define PXE_ROMID_IMP_NVDATA_SPARSE_WRITABLE   0x00000800

Definition at line 861 of file UefiPxe.h.

◆ PXE_ROMID_IMP_NVDATA_READ_ONLY

#define PXE_ROMID_IMP_NVDATA_READ_ONLY   0x00000400

Definition at line 862 of file UefiPxe.h.

◆ PXE_ROMID_IMP_NVDATA_NOT_AVAILABLE

#define PXE_ROMID_IMP_NVDATA_NOT_AVAILABLE   0x00000000

Definition at line 863 of file UefiPxe.h.

◆ PXE_ROMID_IMP_STATISTICS_SUPPORTED

#define PXE_ROMID_IMP_STATISTICS_SUPPORTED   0x00000200

Definition at line 864 of file UefiPxe.h.

◆ PXE_ROMID_IMP_STATION_ADDR_SETTABLE

#define PXE_ROMID_IMP_STATION_ADDR_SETTABLE   0x00000100

Definition at line 865 of file UefiPxe.h.

◆ PXE_ROMID_IMP_PROMISCUOUS_MULTICAST_RX_SUPPORTED

#define PXE_ROMID_IMP_PROMISCUOUS_MULTICAST_RX_SUPPORTED   0x00000080

Definition at line 866 of file UefiPxe.h.

◆ PXE_ROMID_IMP_PROMISCUOUS_RX_SUPPORTED

#define PXE_ROMID_IMP_PROMISCUOUS_RX_SUPPORTED   0x00000040

Definition at line 867 of file UefiPxe.h.

◆ PXE_ROMID_IMP_BROADCAST_RX_SUPPORTED

#define PXE_ROMID_IMP_BROADCAST_RX_SUPPORTED   0x00000020

Definition at line 868 of file UefiPxe.h.

◆ PXE_ROMID_IMP_FILTERED_MULTICAST_RX_SUPPORTED

#define PXE_ROMID_IMP_FILTERED_MULTICAST_RX_SUPPORTED   0x00000010

Definition at line 869 of file UefiPxe.h.

◆ PXE_ROMID_IMP_SOFTWARE_INT_SUPPORTED

#define PXE_ROMID_IMP_SOFTWARE_INT_SUPPORTED   0x00000008

Definition at line 870 of file UefiPxe.h.

◆ PXE_ROMID_IMP_TX_COMPLETE_INT_SUPPORTED

#define PXE_ROMID_IMP_TX_COMPLETE_INT_SUPPORTED   0x00000004

Definition at line 871 of file UefiPxe.h.

◆ PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED

#define PXE_ROMID_IMP_PACKET_RX_INT_SUPPORTED   0x00000002

Definition at line 872 of file UefiPxe.h.

◆ PXE_ROMID_IMP_CMD_COMPLETE_INT_SUPPORTED

#define PXE_ROMID_IMP_CMD_COMPLETE_INT_SUPPORTED   0x00000001

Definition at line 873 of file UefiPxe.h.

◆ MAX_PCI_CONFIG_LEN

#define MAX_PCI_CONFIG_LEN   64

cpb and db definitions

of dwords.

Definition at line 919 of file UefiPxe.h.

◆ MAX_EEPROM_LEN

#define MAX_EEPROM_LEN   128

of dwords.

Definition at line 920 of file UefiPxe.h.

◆ MAX_XMIT_BUFFERS

#define MAX_XMIT_BUFFERS   32

recycling Q length for xmit_done.

Definition at line 921 of file UefiPxe.h.

◆ MAX_MCAST_ADDRESS_CNT

#define MAX_MCAST_ADDRESS_CNT   8

Definition at line 922 of file UefiPxe.h.

◆ TO_AND_FROM_DEVICE

#define TO_AND_FROM_DEVICE   0

Definition at line 1082 of file UefiPxe.h.

◆ FROM_DEVICE

#define FROM_DEVICE   1

Definition at line 1083 of file UefiPxe.h.

◆ TO_DEVICE

#define TO_DEVICE   2

Definition at line 1084 of file UefiPxe.h.

◆ PXE_DELAY_MILLISECOND

#define PXE_DELAY_MILLISECOND   1000

Definition at line 1086 of file UefiPxe.h.

◆ PXE_DELAY_SECOND

#define PXE_DELAY_SECOND   1000000

Definition at line 1087 of file UefiPxe.h.

◆ PXE_IO_READ

#define PXE_IO_READ   0

Definition at line 1088 of file UefiPxe.h.

◆ PXE_IO_WRITE

#define PXE_IO_WRITE   1

Definition at line 1089 of file UefiPxe.h.

◆ PXE_MEM_READ

#define PXE_MEM_READ   2

Definition at line 1090 of file UefiPxe.h.

◆ PXE_MEM_WRITE

#define PXE_MEM_WRITE   4

Definition at line 1091 of file UefiPxe.h.

◆ PXE_MAX_TXRX_UNIT_ETHER

#define PXE_MAX_TXRX_UNIT_ETHER   1500

Definition at line 1174 of file UefiPxe.h.

◆ PXE_HWADDR_LEN_ETHER

#define PXE_HWADDR_LEN_ETHER   0x0006

Definition at line 1176 of file UefiPxe.h.

◆ PXE_MAC_HEADER_LEN_ETHER

#define PXE_MAC_HEADER_LEN_ETHER   0x000E

Definition at line 1177 of file UefiPxe.h.

◆ PXE_DUPLEX_ENABLE_FULL_SUPPORTED

#define PXE_DUPLEX_ENABLE_FULL_SUPPORTED   1

Definition at line 1179 of file UefiPxe.h.

◆ PXE_DUPLEX_FORCE_FULL_SUPPORTED

#define PXE_DUPLEX_FORCE_FULL_SUPPORTED   2

Definition at line 1180 of file UefiPxe.h.

◆ PXE_LOOPBACK_INTERNAL_SUPPORTED

#define PXE_LOOPBACK_INTERNAL_SUPPORTED   1

Definition at line 1182 of file UefiPxe.h.

◆ PXE_LOOPBACK_EXTERNAL_SUPPORTED

#define PXE_LOOPBACK_EXTERNAL_SUPPORTED   2

Definition at line 1183 of file UefiPxe.h.

◆ PXE_DUPLEX_DEFAULT

#define PXE_DUPLEX_DEFAULT   0x00

Definition at line 1287 of file UefiPxe.h.

◆ PXE_FORCE_FULL_DUPLEX

#define PXE_FORCE_FULL_DUPLEX   0x01

Definition at line 1288 of file UefiPxe.h.

◆ PXE_ENABLE_FULL_DUPLEX

#define PXE_ENABLE_FULL_DUPLEX   0x02

Definition at line 1289 of file UefiPxe.h.

◆ PXE_FORCE_HALF_DUPLEX

#define PXE_FORCE_HALF_DUPLEX   0x04

Definition at line 1290 of file UefiPxe.h.

◆ PXE_DISABLE_FULL_DUPLEX

#define PXE_DISABLE_FULL_DUPLEX   0x08

Definition at line 1291 of file UefiPxe.h.

◆ LOOPBACK_NORMAL

#define LOOPBACK_NORMAL   0

Definition at line 1293 of file UefiPxe.h.

◆ LOOPBACK_INTERNAL

#define LOOPBACK_INTERNAL   1

Definition at line 1294 of file UefiPxe.h.

◆ LOOPBACK_EXTERNAL

#define LOOPBACK_EXTERNAL   2

Definition at line 1295 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_TOTAL_FRAMES

#define PXE_STATISTICS_RX_TOTAL_FRAMES   0x00

Total number of frames received.

Includes frames with errors and dropped frames.

Definition at line 1380 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_GOOD_FRAMES

#define PXE_STATISTICS_RX_GOOD_FRAMES   0x01

Number of valid frames received and copied into receive buffers.

Definition at line 1385 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_UNDERSIZE_FRAMES

#define PXE_STATISTICS_RX_UNDERSIZE_FRAMES   0x02

Number of frames below the minimum length for the media.

This would be <64 for ethernet.

Definition at line 1391 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_OVERSIZE_FRAMES

#define PXE_STATISTICS_RX_OVERSIZE_FRAMES   0x03

Number of frames longer than the maxminum length for the media.

This would be >1500 for ethernet.

Definition at line 1397 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_DROPPED_FRAMES

#define PXE_STATISTICS_RX_DROPPED_FRAMES   0x04

Valid frames that were dropped because receive buffers were full.

Definition at line 1402 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_UNICAST_FRAMES

#define PXE_STATISTICS_RX_UNICAST_FRAMES   0x05

Number of valid unicast frames received and not dropped.

Definition at line 1407 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_BROADCAST_FRAMES

#define PXE_STATISTICS_RX_BROADCAST_FRAMES   0x06

Number of valid broadcast frames received and not dropped.

Definition at line 1412 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_MULTICAST_FRAMES

#define PXE_STATISTICS_RX_MULTICAST_FRAMES   0x07

Number of valid mutlicast frames received and not dropped.

Definition at line 1417 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_CRC_ERROR_FRAMES

#define PXE_STATISTICS_RX_CRC_ERROR_FRAMES   0x08

Number of frames w/ CRC or alignment errors.

Definition at line 1422 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_TOTAL_BYTES

#define PXE_STATISTICS_RX_TOTAL_BYTES   0x09

Total number of bytes received.

Includes frames with errors and dropped frames.

Definition at line 1428 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_TOTAL_FRAMES

#define PXE_STATISTICS_TX_TOTAL_FRAMES   0x0A

Transmit statistics.

Definition at line 1433 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_GOOD_FRAMES

#define PXE_STATISTICS_TX_GOOD_FRAMES   0x0B

Definition at line 1434 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_UNDERSIZE_FRAMES

#define PXE_STATISTICS_TX_UNDERSIZE_FRAMES   0x0C

Definition at line 1435 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_OVERSIZE_FRAMES

#define PXE_STATISTICS_TX_OVERSIZE_FRAMES   0x0D

Definition at line 1436 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_DROPPED_FRAMES

#define PXE_STATISTICS_TX_DROPPED_FRAMES   0x0E

Definition at line 1437 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_UNICAST_FRAMES

#define PXE_STATISTICS_TX_UNICAST_FRAMES   0x0F

Definition at line 1438 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_BROADCAST_FRAMES

#define PXE_STATISTICS_TX_BROADCAST_FRAMES   0x10

Definition at line 1439 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_MULTICAST_FRAMES

#define PXE_STATISTICS_TX_MULTICAST_FRAMES   0x11

Definition at line 1440 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_CRC_ERROR_FRAMES

#define PXE_STATISTICS_TX_CRC_ERROR_FRAMES   0x12

Definition at line 1441 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_TOTAL_BYTES

#define PXE_STATISTICS_TX_TOTAL_BYTES   0x13

Definition at line 1442 of file UefiPxe.h.

◆ PXE_STATISTICS_COLLISIONS

#define PXE_STATISTICS_COLLISIONS   0x14

Number of collisions detection on this subnet.

Definition at line 1447 of file UefiPxe.h.

◆ PXE_STATISTICS_UNSUPPORTED_PROTOCOL

#define PXE_STATISTICS_UNSUPPORTED_PROTOCOL   0x15

Number of frames destined for unsupported protocol.

Definition at line 1452 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_DUPLICATED_FRAMES

#define PXE_STATISTICS_RX_DUPLICATED_FRAMES   0x16

Number of valid frames received that were duplicated.

Definition at line 1457 of file UefiPxe.h.

◆ PXE_STATISTICS_RX_DECRYPT_ERROR_FRAMES

#define PXE_STATISTICS_RX_DECRYPT_ERROR_FRAMES   0x17

Number of encrypted frames received that failed to decrypt.

Definition at line 1462 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_ERROR_FRAMES

#define PXE_STATISTICS_TX_ERROR_FRAMES   0x18

Number of frames that failed to transmit after exceeding the retry limit.

Definition at line 1467 of file UefiPxe.h.

◆ PXE_STATISTICS_TX_RETRY_FRAMES

#define PXE_STATISTICS_TX_RETRY_FRAMES   0x19

Number of frames transmitted successfully after more than one attempt.

Definition at line 1472 of file UefiPxe.h.

◆ PXE_PROTOCOL_ETHERNET_IP

#define PXE_PROTOCOL_ETHERNET_IP   0x0800

Definition at line 1602 of file UefiPxe.h.

◆ PXE_PROTOCOL_ETHERNET_ARP

#define PXE_PROTOCOL_ETHERNET_ARP   0x0806

Definition at line 1603 of file UefiPxe.h.

◆ MAX_XMIT_FRAGMENTS

#define MAX_XMIT_FRAGMENTS   16

Definition at line 1604 of file UefiPxe.h.

Typedef Documentation

◆ PXE_VOID

typedef VOID PXE_VOID

Definition at line 67 of file UefiPxe.h.

◆ PXE_UINT8

typedef UINT8 PXE_UINT8

Definition at line 68 of file UefiPxe.h.

◆ PXE_UINT16

typedef UINT16 PXE_UINT16

Definition at line 69 of file UefiPxe.h.

◆ PXE_UINT32

typedef UINT32 PXE_UINT32

Definition at line 70 of file UefiPxe.h.

◆ PXE_UINTN

typedef UINTN PXE_UINTN

Definition at line 71 of file UefiPxe.h.

◆ PXE_UINT64

typedef UINT64 PXE_UINT64

Typedef unsigned long PXE_UINT64.

Definition at line 76 of file UefiPxe.h.

◆ PXE_BOOL

Definition at line 78 of file UefiPxe.h.

◆ PXE_OPCODE

Definition at line 82 of file UefiPxe.h.

◆ PXE_OPFLAGS

Definition at line 179 of file UefiPxe.h.

◆ PXE_STATFLAGS

UNDI Receive.

No OpFlags.PXE STATFLAGS.

Definition at line 403 of file UefiPxe.h.

◆ PXE_STATCODE

UNDI Fill Header.

No additional StatFlags.UNDI Transmit.

No additional StatFlags. UNDI Receive . No additional StatFlags.

Definition at line 596 of file UefiPxe.h.

◆ PXE_IFNUM

Definition at line 626 of file UefiPxe.h.

◆ PXE_CONTROL

Definition at line 639 of file UefiPxe.h.

◆ PXE_FRAME_TYPE

Definition at line 660 of file UefiPxe.h.

◆ PXE_IPV4

Definition at line 671 of file UefiPxe.h.

◆ PXE_IPV6

typedef PXE_UINT32 PXE_IPV6[4]

Definition at line 673 of file UefiPxe.h.

◆ PXE_MAC_ADDR

typedef PXE_UINT8 PXE_MAC_ADDR[PXE_MAC_LENGTH]

Definition at line 676 of file UefiPxe.h.

◆ PXE_IFTYPE

Definition at line 678 of file UefiPxe.h.

◆ PXE_MEDIA_PROTOCOL

Definition at line 679 of file UefiPxe.h.

◆ PXE_HW_UNDI

typedef struct s_pxe_hw_undi PXE_HW_UNDI

◆ PXE_SW_UNDI

typedef struct s_pxe_sw_undi PXE_SW_UNDI

◆ PXE_UNDI

typedef union u_pxe_undi PXE_UNDI

◆ PXE_CDB

typedef struct s_pxe_cdb PXE_CDB

◆ PXE_IP_ADDR

typedef union u_pxe_ip_addr PXE_IP_ADDR

◆ PXE_DEVICE

typedef union pxe_device PXE_DEVICE

◆ PXE_CPB_START_30

◆ PXE_CPB_START_31

◆ PXE_DB_GET_INIT_INFO

◆ PXE_PCI_CONFIG_INFO

◆ PXE_PCC_CONFIG_INFO

◆ PXE_DB_GET_CONFIG_INFO

◆ PXE_CPB_INITIALIZE

◆ PXE_DB_INITIALIZE

◆ PXE_CPB_RECEIVE_FILTERS

◆ PXE_DB_RECEIVE_FILTERS

◆ PXE_CPB_STATION_ADDRESS

◆ PXE_DB_STATION_ADDRESS

◆ PXE_DB_STATISTICS

◆ PXE_CPB_MCAST_IP_TO_MAC

◆ PXE_DB_MCAST_IP_TO_MAC

◆ PXE_CPB_NVDATA_SPARSE

◆ PXE_CPB_NVDATA_BULK

When using bulk update, the size of the CPB structure must be the same size as the non-volatile NIC storage.

◆ PXE_DB_NVDATA

◆ PXE_DB_GET_STATUS

◆ PXE_CPB_FILL_HEADER

◆ PXE_CPB_FILL_HEADER_FRAGMENTED

◆ PXE_CPB_TRANSMIT

◆ PXE_CPB_TRANSMIT_FRAGMENTS

◆ PXE_CPB_RECEIVE

◆ PXE_DB_RECEIVE

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )