37 #ifndef LWIP_HDR_API_MSG_H
38 #define LWIP_HDR_API_MSG_H
42 #if LWIP_NETCONN || LWIP_SOCKET
58 #if LWIP_MPU_COMPATIBLE
59 #if LWIP_NETCONN_SEM_PER_THREAD
60 #define API_MSG_M_DEF_SEM(m) *m
62 #define API_MSG_M_DEF_SEM(m) API_MSG_M_DEF(m)
65 #define API_MSG_M_DEF_SEM(m) API_MSG_M_DEF(m)
69 #define NETCONN_SHUT_RD 1
70 #define NETCONN_SHUT_WR 2
71 #define NETCONN_SHUT_RDWR (NETCONN_SHUT_RD | NETCONN_SHUT_WR)
121 #if LWIP_SO_SNDTIMEO || LWIP_SO_LINGER
128 #if LWIP_IGMP || (LWIP_IPV6 && LWIP_IPV6_MLD)
133 enum netconn_igmp join_or_leave;
136 #if TCP_LISTEN_BACKLOG
142 #if LWIP_NETCONN_SEM_PER_THREAD
147 #if LWIP_NETCONN_SEM_PER_THREAD
148 #define LWIP_API_MSG_SEM(msg) ((msg)->op_completed_sem)
150 #define LWIP_API_MSG_SEM(msg) (&(msg)->conn->op_completed)
161 #if LWIP_MPU_COMPATIBLE
168 #if LWIP_IPV4 && LWIP_IPV6
181 extern u8_t netconn_aborted;
184 void lwip_netconn_do_newconn (
void *m);
185 void lwip_netconn_do_delconn (
void *m);
186 void lwip_netconn_do_bind (
void *m);
187 void lwip_netconn_do_connect (
void *m);
188 void lwip_netconn_do_disconnect (
void *m);
189 void lwip_netconn_do_listen (
void *m);
190 void lwip_netconn_do_send (
void *m);
191 void lwip_netconn_do_recv (
void *m);
192 #if TCP_LISTEN_BACKLOG
193 void lwip_netconn_do_accepted (
void *m);
195 void lwip_netconn_do_write (
void *m);
196 void lwip_netconn_do_getaddr (
void *m);
197 void lwip_netconn_do_close (
void *m);
198 void lwip_netconn_do_shutdown (
void *m);
199 #if LWIP_IGMP || (LWIP_IPV6 && LWIP_IPV6_MLD)
200 void lwip_netconn_do_join_leave_group(
void *m);
204 void lwip_netconn_do_gethostbyname(
void *arg);
207 struct netconn* netconn_alloc(
enum netconn_type t, netconn_callback callback);
208 void netconn_free(
struct netconn *conn);