Embedded TCP/IP stack
4.1.0
|
fnet_netif_prv.h
44 FNET_NETIF_FEATURE_HW_TX_IP_CHECKSUM = 0x01, /* If an IP frame is transmitted, the checksum is inserted automatically. The IP header checksum field
46 FNET_NETIF_FEATURE_HW_TX_PROTOCOL_CHECKSUM = 0x02, /* If an IP frame with a known protocol is transmitted (UDP,TCP,ICMP), the checksum is inserted automatically into the
48 FNET_NETIF_FEATURE_HW_RX_IP_CHECKSUM = 0x04, /* If an IPv4 frame is received with a mismatching header checksum,
50 FNET_NETIF_FEATURE_HW_RX_PROTOCOL_CHECKSUM = 0x08 /* If a TCP/IP, UDP/IP, or ICMP/IP frame is received that has a wrong TCP, UDP, or ICMP checksum,
111 void (*netif_output_ip4)(struct fnet_netif *netif, fnet_ip4_addr_t dest_ip_addr, fnet_netbuf_t *nb); /* IPv4 Transmit function.*/
113 void (*netif_change_addr_notify)( struct fnet_netif *netif ); /* Address change notification function.*/
115 fnet_return_t (*netif_get_hw_addr)( struct fnet_netif *netif, fnet_uint8_t *hw_addr); /* Get HW address (Optional).*/
116 fnet_return_t (*netif_set_hw_addr)( struct fnet_netif *netif, fnet_uint8_t *hw_addr); /* Set HW address (Optional). */
117 fnet_bool_t (*netif_is_connected)( struct fnet_netif *netif ); /* Connection state flag (Optional).*/
118 fnet_return_t (*netif_get_statistics)( struct fnet_netif *netif, struct fnet_netif_statistics *statistics ); /* Get statistics */
121 void (*netif_multicast_join_ip4)( struct fnet_netif *netif, fnet_ip4_addr_t multicast_addr ); /* Join IPv4 multicast group */
122 void (*netif_multicast_leave_ip4)( struct fnet_netif *netif, fnet_ip4_addr_t multicast_addr ); /* Leave IPv4 multicast group */
125 void (*netif_multicast_join_ip6)( struct fnet_netif *netif, const fnet_ip6_addr_t *multicast_addr ); /* Join IPv4 multicast group */
126 void (*netif_multicast_leave_ip6)( struct fnet_netif *netif, fnet_ip6_addr_t *multicast_addr ); /* Leave IPv6 multicast group */
130 void (*netif_output_ip6)(struct fnet_netif *netif, const fnet_ip6_addr_t *src_ip_addr, const fnet_ip6_addr_t *dest_ip_addr, fnet_netbuf_t *nb); /* IPv6 Transmit function.*/
132 union /* Points to interface specific API structure (Optional). For FNET_NETIF_TYPE_WIFI type it points to fnet_wifi_api_t, for other types it is set to NULL */
157 fnet_scope_id_t scope_id; /* Scope zone index, defining network interface. Used by IPv6 sockets.*/
160 fnet_time_t is_connected_timestamp; /* The timestamp, in milliseconds, when is_connected updated last time.*/
164 struct fnet_arp_if *arp_if_ptr; /* Pointer to the ARP structure, if the interface supports ARP. */
167 fnet_netif_ip6_addr_t ip6_addr[FNET_NETIF_IP6_ADDR_MAX]; /* The interface IPv6 address structure. */
168 struct fnet_nd6_if *nd6_if_ptr; /* Pointer to the ND structure, if the interface supports ND. */
177 fnet_time_t pmtu_timestamp; /* The timestamp, in milliseconds, when PMTU was changed last time.*/
201 void _fnet_netif_join_ip4_multicast (fnet_netif_desc_t netif_desc, fnet_ip4_addr_t multicast_addr);
202 void _fnet_netif_leave_ip4_multicast (fnet_netif_desc_t netif_desc, fnet_ip4_addr_t multicast_addr);
204 fnet_return_t _fnet_netif_set_hw_addr(fnet_netif_desc_t netif_desc, fnet_uint8_t *hw_addr, fnet_size_t hw_addr_size);
207 fnet_netif_ip6_addr_t *fnet_netif_get_ip6_addr_info(fnet_netif_t *netif, const fnet_ip6_addr_t *ip_addr);
208 fnet_return_t fnet_netif_bind_ip6_addr_prv(fnet_netif_t *netif, const fnet_ip6_addr_t *addr, fnet_netif_ip_addr_type_t addr_type,
210 fnet_return_t fnet_netif_unbind_ip6_addr_prv ( fnet_netif_t *netif, fnet_netif_ip6_addr_t *if_addr );
213 fnet_bool_t fnet_netif_is_my_ip6_solicited_multicast_addr(fnet_netif_t *netif, fnet_ip6_addr_t *ip_addr);
222 void _fnet_netif_join_ip6_multicast (fnet_netif_desc_t netif_desc, const fnet_ip6_addr_t *multicast_addr);
223 void _fnet_netif_leave_ip6_multicast (fnet_netif_desc_t netif_desc, fnet_ip6_addr_t *multicast_addr);
Definition: fnet_netif_prv.h:57
fnet_uint32_t fnet_time_t
Unsigned integer type representing time uinits. It can be ticks, seconds or milliseconds.
Definition: fnet_timer.h:66
fnet_ip4_addr_t subnetbroadcast
Definition: fnet_netif_prv.h:65
fnet_uint32_t fnet_scope_id_t
cope zone index type, defining network interface.
Definition: fnet_socket.h:144
#define FNET_NETIF_NAMELEN
The maximum length of a network interface name.
Definition: fnet_netif.h:66
unsigned long fnet_size_t
Unsigned integer type representing the size in bytes.
Definition: fnet_stdlib.h:56
Network interface statistics, used by the fnet_netif_get_statistics().
Definition: fnet_netif.h:57
© 2005-2018 by Andrey Butok. http://fnet.sourceforge.net