37#ifndef LWIP_HDR_SOCKETS_PRIV_H
38#define LWIP_HDR_SOCKETS_PRIV_H
52#define NUM_SOCKETS MEMP_NUM_NETCONN
61union lwip_sock_lastdata {
62 struct netbuf *netbuf;
71 union lwip_sock_lastdata lastdata;
72#if LWIP_SOCKET_SELECT || LWIP_SOCKET_POLL
82 SELWAIT_T select_waiting;
84#if LWIP_NETCONN_FULLDUPLEX
89#define LWIP_SOCK_FD_FREE_TCP 1
90#define LWIP_SOCK_FD_FREE_FREE 2
97 sys_mutex_t mutex_recv;
98 sys_mutex_t mutex_send;
103#define set_errno(err) do { if (err) { errno = (err); } } while(0)
106#if !LWIP_TCPIP_CORE_LOCKING
108#define LWIP_SETGETSOCKOPT_MAXOPTLEN LWIP_MAX(16, sizeof(struct ifreq))
112struct lwip_setgetsockopt_data {
121#if LWIP_MPU_COMPATIBLE
122 u8_t optval[LWIP_SETGETSOCKOPT_MAXOPTLEN];
142struct lwip_sock* lwip_socket_dbg_get_socket(
int fd);
144#if LWIP_SOCKET_SELECT || LWIP_SOCKET_POLL
146#if LWIP_NETCONN_SEM_PER_THREAD
147#define SELECT_SEM_T sys_sem_t*
148#define SELECT_SEM_PTR(sem) (sem)
150#define SELECT_SEM_T sys_sem_t
151#define SELECT_SEM_PTR(sem) (&(sem))
155struct lwip_select_cb {
157 struct lwip_select_cb *next;
159 struct lwip_select_cb *prev;
160#if LWIP_SOCKET_SELECT
170 struct pollfd *poll_fds;