| lwIP
    2.0.3
    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 { | |
| } 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
| 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
| struct { ... } api_msg::r | 
used for lwip_netconn_do_recv
| struct { ... } api_msg::sd | 
used for lwip_netconn_do_close (/shutdown)
| struct { ... } api_msg::w | 
used for lwip_netconn_do_write