Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
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.