NetIF_Add
Add a network device and hardware as a network interface.
Files
net_if.h/net_if.c
Prototype
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. The desired link-layer interface will point to the Ethernet API (NetIF_API_Ether
)
or the WiFi API,
(NetIF_API_WiFi
).
dev_api
Pointer to the desired device driver API for this network interface.
dev_bsp
Pointer to the specific device's BSP interface for this network interface (see also section Network Board Support Package).
dev_cfg
Pointer to a configuration structure used to configure the device hardware for the specific network interface (see also section Network Interface Configuration).
ext_api
Pointer to specific network extension layer API.
ext_cfg
Pointer to 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_ERR_FAULT_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.
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 Initializing Interfaces for a detailed example of how to add an interface.