Add a network device and hardware as a network interface.
Files
net_if.h/net_if.c
Prototype
Code Block |
---|
NET_IF_NBR NetIF_Add(void *if_api,
void *dev_api,
void *dev_bsp,
void *dev_cfg,
void *ext_api,
void *ext_cfg,
NET_ERR *p_err); |
Arguments
if_api
Pointer to the desired link-layer API for this network interface and device hardware. In most cases, the The desired link-layer interface will point to the Ethernet API , (NetIF_API_Ether
(see also section L16-1(1))
or the WiFi API,(
NetIF_API_WiFi
).
dev_api
Pointer to the desired device driver API for this network interface (see also section 5-3-3 “Adding an Ethernet Interface” and section 5-4-2 “Adding a Wireless Interface”).
dev_bsp
Pointer to the specific device's BSP interface for this network interface (see also Chapter 6, “Network section Network Board Support Package”Package).
dev_cfg
Pointer to a configuration structure used to configure the device hardware for the specific network interface (see also Chapter 5, “Network Interface Configuration”section Network Interface Configuration).
phyext_api
Pointer to an optional physical layer device driver API for this network interface. In most cases, the generic physical layer device API will be used, NetPhy_API_Generic
, but for Ethernet devices that have non-MII or non-RMII compliant physical layer components, another device-specific physical layer device driver API may be necessary. See also section 7-4 “Ethernet PHY API Implementation”.
...
specific network extension layer API.
ext_cfg
Pointer to a configuration structure used to configure the physical layer hardware for the specific network interface (see also section 5-3-2 “Ethernet PHY Configuration”).
...
specific network extension layer configuration.
p_err
Pointer to variable that will receive the return error code from this function:
NET_IF_ERR_NONE
NET_IF_ERR_NULL_PTR
NET_IF_ERR_INVALID_IF
NET_IF_ERR_INVALID_CFG
NET_IF_ERR_NONE_AVAIL
NET_BUF_ERR_POOL_INIT
NET_BUF_ERR_INVALID_POOL_TYPE
NET_BUF_ERR_INVALID_POOL_ADDR
NET_BUF_ERR_INVALID_POOL_SIZE
NET_BUF_ERR_INVALID_POOL_QTY
NET_BUF_ERR_INVALID_SIZE
NET_OS_ERR_INIT_DEV_TX_RDY
NET_OS_ERR_INIT_DEV_TX_RDY_NAME
NET_OSERR_ERRFAULT_LOCK_ACQUIRE
Returned Value
Network interface number, if device and hardware successfully added;
NET_IF_NBR_NONE
, otherwise.
Required Configuration
None.
Notes / Warnings
The first network interface added and started is the default interface used for all default communication. See also section C-12-1 and section C-12-2.Both physical layer API and configuration parameters must ,either be specified or passed NULL
pointers
When a PHY layer is present, the PHY API and configuration need to be indicate in the ext_api and ext_cfg arguments.
Additional error codes may be returned by the specific interface or device driver.
See section 16-1-1 “Adding Network Interfaces” for Initializing Interfaces for a detailed example of how to add an interface.