Example program with HTTPServer and sensor data streaming over TCPSockets, using Donatien Garnier's Net APIs and services code on top of LWIP. Files StreamServer.h and .cpp encapsulate streaming over TCPSockets. Broadcast is done by sendToAll(), and all incoming data is echoed back to the client. Echo code can be replaced with some remote control of the streaming interface. See main() that shows how to periodically send some data to all subscribed clients. To subscribe, a client should open a socket at <mbed_ip> port 123. I used few lines in TCL code to set up a quick sink for the data. HTTP files are served on port 80 concurrently to the streaming.
netif Struct Reference
Generic data structure used for all lwIP network interfaces. More...
#include <netif.h>
Data Fields | |
struct netif * | next |
pointer to next in linked list | |
ip_addr_t | ip_addr |
IP address configuration in network byte order. | |
netif_input_fn | input |
This function is called by the network device driver to pass a packet up the TCP/IP stack. | |
netif_output_fn | output |
This function is called by the IP module when it wants to send a packet on the interface. | |
netif_linkoutput_fn | linkoutput |
This function is called by the ARP module when it wants to send a packet on the interface. | |
netif_status_callback_fn | status_callback |
This function is called when the netif state is set to up or down. | |
netif_status_callback_fn | link_callback |
This function is called when the netif link is set to up or down. | |
void * | state |
This field can be set by the device driver and could point to state information for the device. | |
struct dhcp * | dhcp |
the DHCP client state information for this netif | |
struct autoip * | autoip |
the AutoIP client state information for this netif | |
u16_t | mtu |
maximum transfer unit (in bytes) | |
u8_t | hwaddr_len |
number of bytes used in hwaddr | |
u8_t | hwaddr [NETIF_MAX_HWADDR_LEN] |
link level hardware address of this interface | |
u8_t | flags |
flags (see NETIF_FLAG_ above) | |
char | name [2] |
descriptive abbreviation | |
u8_t | num |
number of this interface | |
u8_t | link_type |
link type (from "snmp_ifType" enum from snmp.h) | |
u32_t | link_speed |
(estimate) link speed | |
u32_t | ts |
timestamp at last change made (up/down) | |
u32_t | ifinoctets |
counters | |
netif_igmp_mac_filter_fn | igmp_mac_filter |
This function could be called to add or delete a entry in the multicast filter table of the ethernet MAC. |
Detailed Description
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
Definition at line 136 of file lwip/include/lwip/netif.h.
Field Documentation
the AutoIP client state information for this netif
Definition at line 175 of file lwip/include/lwip/netif.h.
the DHCP client state information for this netif
Definition at line 171 of file lwip/include/lwip/netif.h.
u8_t flags |
flags (see NETIF_FLAG_ above)
Definition at line 188 of file lwip/include/lwip/netif.h.
u8_t hwaddr[NETIF_MAX_HWADDR_LEN] |
link level hardware address of this interface
Definition at line 186 of file lwip/include/lwip/netif.h.
u8_t hwaddr_len |
number of bytes used in hwaddr
Definition at line 184 of file lwip/include/lwip/netif.h.
u32_t ifinoctets |
counters
Definition at line 201 of file lwip/include/lwip/netif.h.
netif_igmp_mac_filter_fn igmp_mac_filter |
This function could be called to add or delete a entry in the multicast filter table of the ethernet MAC.
Definition at line 213 of file lwip/include/lwip/netif.h.
netif_input_fn input |
This function is called by the network device driver to pass a packet up the TCP/IP stack.
Definition at line 147 of file lwip/include/lwip/netif.h.
ip_addr_t ip_addr |
IP address configuration in network byte order.
Definition at line 141 of file lwip/include/lwip/netif.h.
netif_status_callback_fn link_callback |
This function is called when the netif link is set to up or down.
Definition at line 164 of file lwip/include/lwip/netif.h.
u32_t link_speed |
(estimate) link speed
Definition at line 197 of file lwip/include/lwip/netif.h.
u8_t link_type |
link type (from "snmp_ifType" enum from snmp.h)
Definition at line 195 of file lwip/include/lwip/netif.h.
netif_linkoutput_fn 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.
Definition at line 155 of file lwip/include/lwip/netif.h.
u16_t mtu |
maximum transfer unit (in bytes)
Definition at line 182 of file lwip/include/lwip/netif.h.
char name[2] |
descriptive abbreviation
Definition at line 190 of file lwip/include/lwip/netif.h.
pointer to next in linked list
Definition at line 138 of file lwip/include/lwip/netif.h.
u8_t num |
number of this interface
Definition at line 192 of file lwip/include/lwip/netif.h.
netif_output_fn 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.
Definition at line 151 of file lwip/include/lwip/netif.h.
void* state |
This field can be set by the device driver and could point to state information for the device.
Definition at line 168 of file lwip/include/lwip/netif.h.
netif_status_callback_fn status_callback |
This function is called when the netif state is set to up or down.
Definition at line 159 of file lwip/include/lwip/netif.h.
u32_t ts |
timestamp at last change made (up/down)
Definition at line 199 of file lwip/include/lwip/netif.h.
Generated on Tue Jul 12 2022 21:10:27 by 1.7.2