dns_api_msg struct
As lwip_netconn_do_gethostbyname requires more arguments but doesn't require a netconn, it has its own struct (to avoid struct api_msg getting bigger than necessary). lwip_netconn_do_gethostbyname must be called using tcpip_callback instead of tcpip_apimsg (see netconn_gethostbyname).
Fields
The resolved address is stored here.
This semaphore is posted when the name is resolved, the application thread should wait on it.
Errors are given back here.