Microchip® Advanced Software Framework

netif Struct Reference

Generic data structure used for all lwIP network interfaces.

The following fields should be filled in by the initialization function for the device driver: hwaddr_len, hwaddr[], mtu, flags

#include <netif.h>

Data Fields

u8_t flags
 flags (see NETIF_FLAG_ above) More...
 
struct ip_addr gw
 
ip_addr_t gw
 
u8_t hwaddr [NETIF_MAX_HWADDR_LEN]
 link level hardware address of this interface More...
 
u8_t hwaddr_len
 number of bytes used in hwaddr More...
 
err_t(* input )(struct pbuf *p, struct netif *inp)
 This function is called by the network device driver to pass a packet up the TCP/IP stack. More...
 
netif_input_fn input
 This function is called by the network device driver to pass a packet up the TCP/IP stack. More...
 
struct ip_addr ip_addr
 IP address configuration in network byte order. More...
 
ip_addr_t ip_addr
 IP address configuration in network byte order. More...
 
err_t(* linkoutput )(struct netif *netif, struct pbuf *p)
 This function is called by the ARP module when it wants to send a packet on the interface. More...
 
netif_linkoutput_fn linkoutput
 This function is called by the ARP module when it wants to send a packet on the interface. More...
 
u16_t mtu
 maximum transfer unit (in bytes) More...
 
char name [2]
 descriptive abbreviation More...
 
struct ip_addr netmask
 
ip_addr_t netmask
 
struct netifnext
 pointer to next in linked list More...
 
u8_t num
 number of this interface More...
 
err_t(* output )(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr)
 This function is called by the IP module when it wants to send a packet on the interface. More...
 
netif_output_fn output
 This function is called by the IP module when it wants to send a packet on the interface. More...
 
void * state
 This field can be set by the device driver and could point to state information for the device. More...
 

struct ip_addr netif::gw
ip_addr_t netif::gw
u8_t netif::hwaddr

link level hardware address of this interface

Referenced by document_index_html_cb(), low_level_init(), and vEthernetGetMACAddr().

u8_t netif::hwaddr_len

number of bytes used in hwaddr

Referenced by low_level_init().

err_t(* netif::input)(struct pbuf *p, struct netif *inp)

This function is called by the network device driver to pass a packet up the TCP/IP stack.

netif_input_fn netif::input

This function is called by the network device driver to pass a packet up the TCP/IP stack.

Referenced by ethernetif_input(), netif_add(), and wlif_input().

struct ip_addr netif::ip_addr

IP address configuration in network byte order.

ip_addr_t netif::ip_addr

IP address configuration in network byte order.

Referenced by cmd_status(), document_index_html_cb(), ip_status_cb(), netif_add(), netif_set_ipaddr(), status_callback(), and vEthernetGetIPAddr().

err_t(* netif::linkoutput)(struct netif *netif, struct pbuf *p)

This function is called by the ARP module when it wants to send a packet on the interface.

This function outputs the pbuf as-is on the link medium.

netif_linkoutput_fn netif::linkoutput

This function is called by the ARP module when it wants to send a packet on the interface.

This function outputs the pbuf as-is on the link medium.

Referenced by ethernetif_init(), and wlif_init().

u16_t netif::mtu

maximum transfer unit (in bytes)

Referenced by low_level_init().

struct ip_addr netif::netmask
ip_addr_t netif::netmask
struct netif * netif::next

pointer to next in linked list

Referenced by netif_add(), netif_find(), and netif_remove().

u8_t netif::num

number of this interface

Referenced by netif_add(), and netif_find().

err_t(* netif::output)(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr)

This function is called by the IP module when it wants to send a packet on the interface.

This function typically first resolves the hardware address, then sends the packet.

netif_output_fn netif::output

This function is called by the IP module when it wants to send a packet on the interface.

This function typically first resolves the hardware address, then sends the packet.

Referenced by ethernetif_init(), and wlif_init().

void * netif::state

This field can be set by the device driver and could point to state information for the device.

Referenced by ethernetif_init(), low_level_input(), low_level_output(), netif_add(), process_pqueue(), rx_isr(), wlif_init(), and wlif_poll().