|
lwIP
2.1.2
Lightweight IP stack
|
Modules | |
| IPv4 address handling | |
| IPv6 address handling | |
| Client data handling | |
| Flags | |
| MIB2 statistics | |
Data Structures | |
| union | netif_ext_callback_args_t |
Macros | |
| #define | netif_is_up(netif) (((netif)->flags & NETIF_FLAG_UP) ? (u8_t)1 : (u8_t)0) |
| #define | netif_set_hostname(netif, name) do { if((netif) != NULL) { (netif)->hostname = name; }}while(0) |
| #define | netif_get_hostname(netif) (((netif) != NULL) ? ((netif)->hostname) : NULL) |
| #define | netif_set_igmp_mac_filter(netif, function) do { if((netif) != NULL) { (netif)->igmp_mac_filter = function; }}while(0) |
| #define | netif_set_mld_mac_filter(netif, function) do { if((netif) != NULL) { (netif)->mld_mac_filter = function; }}while(0) |
Typedefs | |
| typedef u16_t | netif_nsc_reason_t |
| typedef void(* | netif_ext_callback_fn) (struct netif *netif, netif_nsc_reason_t reason, const netif_ext_callback_args_t *args) |
| #define netif_is_up | ( | netif | ) | (((netif)->flags & NETIF_FLAG_UP) ? (u8_t)1 : (u8_t)0) |
Ask if an interface is up
| #define netif_set_hostname | ( | netif, | |
| name | |||
| ) | do { if((netif) != NULL) { (netif)->hostname = name; }}while(0) |
| #define netif_set_igmp_mac_filter | ( | netif, | |
| function | |||
| ) | do { if((netif) != NULL) { (netif)->igmp_mac_filter = function; }}while(0) |
| #define netif_set_mld_mac_filter | ( | netif, | |
| function | |||
| ) | do { if((netif) != NULL) { (netif)->mld_mac_filter = function; }}while(0) |
| typedef void(* netif_ext_callback_fn) (struct netif *netif, netif_nsc_reason_t reason, const netif_ext_callback_args_t *args) |
Function used for extended netif status callbacks Note: When parsing reason argument, keep in mind that more reasons may be added in the future!
| netif | netif that is affected by change |
| reason | change reason |
| args | depends on reason, see reason description |
| typedef u16_t netif_nsc_reason_t |
Extended netif status callback (NSC) reasons flags. May be extended in the future!
| struct netif* netif_add | ( | struct netif * | netif, |
| const ip4_addr_t * | ipaddr, | ||
| const ip4_addr_t * | netmask, | ||
| const ip4_addr_t * | gw, | ||
| void * | state, | ||
| netif_init_fn | init, | ||
| netif_input_fn | input | ||
| ) |
Add a network interface to the list of lwIP netifs.
| netif | a pre-allocated netif structure |
| ipaddr | IP address for the new netif |
| netmask | network mask for the new netif |
| gw | default gateway IP address for the new netif |
| state | opaque data passed to the new netif |
| init | callback function that initializes the interface |
| input | callback function that is called to pass ingress packets up in the protocol layer stack. It is recommended to use a function that passes the input directly to the stack (netif_input(), NO_SYS=1 mode) or via sending a message to TCPIP thread (tcpip_input(), NO_SYS=0 mode). These functions use netif flags NETIF_FLAG_ETHARP and NETIF_FLAG_ETHERNET to decide whether to forward to ethernet_input() or ip_input(). In other words, the functions only work when the netif driver is implemented correctly! Most members of struct netif should be be initialized by the netif init function = netif driver (init parameter of this function). IPv6: Don't forget to call netif_create_ip6_linklocal_address() after setting the MAC address in struct netif.hwaddr (IPv6 requires a link-local address). |
| void netif_add_ext_callback | ( | netif_ext_callback_t * | callback, |
| netif_ext_callback_fn | fn | ||
| ) |
Add extended netif events listener
| callback | pointer to listener structure |
| fn | callback function |
| struct netif* netif_add_noaddr | ( | struct netif * | netif, |
| void * | state, | ||
| netif_init_fn | init, | ||
| netif_input_fn | input | ||
| ) |
Add a network interface to the list of lwIP netifs.
Same as netif_add but without IPv4 addresses
| struct netif* netif_find | ( | const char * | name | ) |
Find a network interface by searching for its name
| name | the name of the netif (like netif->name) plus concatenated number in ascii representation (e.g. 'en0') |
| struct netif* netif_get_by_index | ( | u8_t | idx | ) |
Return the interface for the netif index
| idx | index of netif to find |
| char* netif_index_to_name | ( | u8_t | idx, |
| char * | name | ||
| ) |
Return the interface name for the netif matching index or NULL if not found/on error
| idx | the interface index of the netif |
| name | char buffer of at least NETIF_NAMESIZE bytes |
Send an IP packet to be received on the same netif (loopif-like). The pbuf is simply copied and handed back to netif->input. In multithreaded mode, this is done directly since netif->input must put the packet on a queue. In callback mode, the packet is put on an internal queue and is fed to netif->input by netif_poll().
| netif | the lwip network interface structure |
| p | the (IP) packet to 'send' |
| u8_t netif_name_to_index | ( | const char * | name | ) |
Return the interface index for the netif with name or NETIF_NO_INDEX if not found/on error
| name | the name of the netif |
| void netif_remove | ( | struct netif * | netif | ) |
Remove a network interface from the list of lwIP netifs.
| netif | the network interface to remove |
| void netif_remove_ext_callback | ( | netif_ext_callback_t * | callback | ) |
Remove extended netif events listener
| callback | pointer to listener structure |
| void netif_set_default | ( | struct netif * | netif | ) |
Set a network interface as the default network interface (used to output all packets for which no specific route is found)
| netif | the default network interface |
| void netif_set_down | ( | struct netif * | netif | ) |
Bring an interface down, disabling any traffic processing.
| void netif_set_link_callback | ( | struct netif * | netif, |
| netif_status_callback_fn | link_callback | ||
| ) |
Set callback to be called when link is brought up/down
| void netif_set_link_down | ( | struct netif * | netif | ) |
Called by a driver when its link goes down
| void netif_set_link_up | ( | struct netif * | netif | ) |
Called by a driver when its link goes up
| void netif_set_remove_callback | ( | struct netif * | netif, |
| netif_status_callback_fn | remove_callback | ||
| ) |
Set callback to be called when the interface has been removed
| void netif_set_status_callback | ( | struct netif * | netif, |
| netif_status_callback_fn | status_callback | ||
| ) |
Set callback to be called when interface is brought up/down or address is changed while up
| void netif_set_up | ( | struct netif * | netif | ) |
Bring an interface up, available for processing traffic.