Efi_simple_network_state, Below) – Intel Extensible Firmware Interface User Manual
Page 611

Protocols
— Network Support
Version 1.10
12/01/02
15-5
//*******************************************************
// EFI_SIMPLE_NETWORK_STATE
//*******************************************************
typedef enum {
EfiSimpleNetworkStopped,
EfiSimpleNetworkStarted,
EfiSimpleNetworkInitialized,
EfiSimpleNetworkMaxState
} EFI_SIMPLE_NETWORK_STATE;
//*******************************************************
// MAX_MCAST_FILTER_CNT
//*******************************************************
#define
MAX_MCAST_FILTER_CNT
16
//*******************************************************
// Bit Mask Values for
ReceiveFilterSetting. bit mask values
//
// Note that all other bit values are reserved.
//*******************************************************
#define
EFI_SIMPLE_NETWORK_RECEIVE_UNICAST
0x01
#define
EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST 0x02
#define
EFI_SIMPLE_NETWORK_RECEIVE_BROADCAST 0x04
#define
EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS
0x08
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST
0x10
Description
The
EFI_SIMPLE_NETWORK
protocol is used to initialize access to a network adapter. Once the
network adapter has been initialized, the
EFI_SIMPLE_NETWORK
protocol provides services that
allow packets to be transmitted and received. This provides a packet level interface that can then be
used by higher level drivers to produce boot services like DHCP, TFTP, and MTFTP. In addition,
this protocol can be used as a building block in a full UDP and TCP/IP implementation that can
produce a wide variety of application level network interfaces. See the Preboot Execution
Environment (PXE) Specification for more information.
Implementation Note
The underlying network hardware may only be able to access 4 GB (32-bits) of system memory.
Any requests to transfer data to/from memory above 4 GB with 32-bit network hardware will be
double-buffered (using intermediate buffers below 4 GB) and will reduce performance.