56#ifndef LWIP_HDR_API_MSG_H
57#define LWIP_HDR_API_MSG_H
61#if LWIP_NETCONN || LWIP_SOCKET
77#if LWIP_MPU_COMPATIBLE
78#if LWIP_NETCONN_SEM_PER_THREAD
79#define API_MSG_M_DEF_SEM(m) *m
81#define API_MSG_M_DEF_SEM(m) API_MSG_M_DEF(m)
84#define API_MSG_M_DEF_SEM(m) API_MSG_M_DEF(m)
88#define NETCONN_SHUT_RD 1
89#define NETCONN_SHUT_WR 2
90#define NETCONN_SHUT_RDWR (NETCONN_SHUT_RD | NETCONN_SHUT_WR)
101 struct netconn *conn;
114 API_MSG_M_DEF_C(ip_addr_t, ipaddr);
119 ip_addr_t API_MSG_M_DEF(ipaddr);
120 u16_t API_MSG_M_DEF(port);
140#if LWIP_SO_SNDTIMEO || LWIP_SO_LINGER
147#if LWIP_IGMP || (LWIP_IPV6 && LWIP_IPV6_MLD)
150 API_MSG_M_DEF_C(ip_addr_t, multiaddr);
151 API_MSG_M_DEF_C(ip_addr_t, netif_addr);
152 enum netconn_igmp join_or_leave;
155#if TCP_LISTEN_BACKLOG
161#if LWIP_NETCONN_SEM_PER_THREAD
162 sys_sem_t* op_completed_sem;
166#if LWIP_NETCONN_SEM_PER_THREAD
167#define LWIP_API_MSG_SEM(msg) ((msg)->op_completed_sem)
169#define LWIP_API_MSG_SEM(msg) (&(msg)->conn->op_completed)
180#if LWIP_MPU_COMPATIBLE
186 ip_addr_t API_MSG_M_DEF(addr);
187#if LWIP_IPV4 && LWIP_IPV6
193 sys_sem_t API_MSG_M_DEF_SEM(sem);
195 err_t API_MSG_M_DEF(err);
200extern u8_t netconn_aborted;
203void lwip_netconn_do_newconn (
void *m);
204void lwip_netconn_do_delconn (
void *m);
205void lwip_netconn_do_bind (
void *m);
206void lwip_netconn_do_connect (
void *m);
207void lwip_netconn_do_disconnect (
void *m);
208void lwip_netconn_do_listen (
void *m);
209void lwip_netconn_do_send (
void *m);
210void lwip_netconn_do_recv (
void *m);
211#if TCP_LISTEN_BACKLOG
212void lwip_netconn_do_accepted (
void *m);
214void lwip_netconn_do_write (
void *m);
215void lwip_netconn_do_getaddr (
void *m);
216void lwip_netconn_do_close (
void *m);
217void lwip_netconn_do_shutdown (
void *m);
218#if LWIP_IGMP || (LWIP_IPV6 && LWIP_IPV6_MLD)
219void lwip_netconn_do_join_leave_group(
void *m);
223void lwip_netconn_do_gethostbyname(
void *arg);
226struct netconn* netconn_alloc(
enum netconn_type t, netconn_callback callback);
227void netconn_free(
struct netconn *conn);
#define DNS_MAX_NAME_LENGTH