| lwIP
    2.1.2
    Lightweight IP stack | 
#include <api_msg.h>
| Data Fields | |
| struct netconn * | conn | 
| err_t | err | 
| union { | |
| struct netbuf * b | |
| struct { | |
| } n | |
| struct { | |
| } bc | |
| struct { | |
| } ad | |
| struct { | |
| const struct netvector * vector | |
| u16_t vector_cnt | |
| size_t vector_off | |
| size_t len | |
| size_t offset | |
| } w | |
| struct { | |
| } r | |
| struct { | |
| } sd | |
| struct { | |
| } jl | |
| } | msg | 
This struct includes everything that is necessary to execute a function for a netconn in another thread context (mainly used to process netconns in the tcpip_thread context to be thread safe).
| struct { ... } api_msg::ad | 
used for lwip_netconn_do_getaddr
| struct netbuf* api_msg::b | 
used for lwip_netconn_do_send
| struct { ... } api_msg::bc | 
used for lwip_netconn_do_bind and lwip_netconn_do_connect
| struct netconn* api_msg::conn | 
The netconn which to process - always needed: it includes the semaphore which is used to block the application thread until the function finished.
| err_t api_msg::err | 
The return value of the function executed in tcpip_thread.
| struct { ... } api_msg::jl | 
used for lwip_netconn_do_join_leave_group
| size_t api_msg::len | 
total length across vectors
| union { ... } api_msg::msg | 
Depending on the executed function, one of these union members is used
| struct { ... } api_msg::n | 
used for lwip_netconn_do_newconn
| size_t api_msg::offset | 
offset into total length/output of bytes written when err == ERR_OK
| struct { ... } api_msg::r | 
used for lwip_netconn_do_recv
| struct { ... } api_msg::sd | 
used for lwip_netconn_do_close (/shutdown)
| const struct netvector* api_msg::vector | 
current vector to write
| u16_t api_msg::vector_cnt | 
number of unwritten vectors
| size_t api_msg::vector_off | 
offset into current vector
| struct { ... } api_msg::w | 
used for lwip_netconn_do_write