| lwIP
    2.1.2
    Lightweight IP stack | 
#include <sockets_priv.h>
| Data Fields | |
| struct lwip_select_cb * | next | 
| struct lwip_select_cb * | prev | 
| fd_set * | readset | 
| fd_set * | writeset | 
| fd_set * | exceptset | 
| struct pollfd * | poll_fds | 
| nfds_t | poll_nfds | 
| int | sem_signalled | 
| sys_sem_t | sem | 
Description for a task waiting in select
| fd_set* lwip_select_cb::exceptset | 
unimplemented: exceptset passed to select
| struct lwip_select_cb* lwip_select_cb::next | 
Pointer to the next waiting task
| struct pollfd* lwip_select_cb::poll_fds | 
fds passed to poll; NULL if select
| nfds_t lwip_select_cb::poll_nfds | 
nfds passed to poll; 0 if select
| struct lwip_select_cb* lwip_select_cb::prev | 
Pointer to the previous waiting task
| fd_set* lwip_select_cb::readset | 
readset passed to select
| sys_sem_t lwip_select_cb::sem | 
semaphore to wake up a task waiting for select
| int lwip_select_cb::sem_signalled | 
don't signal the same semaphore twice: set to 1 when signalled
| fd_set* lwip_select_cb::writeset | 
writeset passed to select