37 #ifndef LWIP_HDR_API_MSG_H
38 #define LWIP_HDR_API_MSG_H
54 #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)
108 const struct netvector *vector;
130 #if LWIP_SO_SNDTIMEO || LWIP_SO_LINGER
137 #if LWIP_IGMP || (LWIP_IPV6 && LWIP_IPV6_MLD)
143 enum netconn_igmp join_or_leave;
146 #if TCP_LISTEN_BACKLOG
152 #if LWIP_NETCONN_SEM_PER_THREAD
157 #if LWIP_NETCONN_SEM_PER_THREAD
158 #define LWIP_API_MSG_SEM(msg) ((msg)->op_completed_sem)
160 #define LWIP_API_MSG_SEM(msg) (&(msg)->conn->op_completed)
171 #if LWIP_MPU_COMPATIBLE
178 #if LWIP_IPV4 && LWIP_IPV6
190 #if LWIP_NETCONN_FULLDUPLEX
191 int lwip_netconn_is_deallocated_msg(
void *msg);
193 int lwip_netconn_is_err_msg(
void *msg,
err_t *err);
194 void lwip_netconn_do_newconn (
void *m);
195 void lwip_netconn_do_delconn (
void *m);
196 void lwip_netconn_do_bind (
void *m);
197 void lwip_netconn_do_bind_if (
void *m);
198 void lwip_netconn_do_connect (
void *m);
199 void lwip_netconn_do_disconnect (
void *m);
200 void lwip_netconn_do_listen (
void *m);
201 void lwip_netconn_do_send (
void *m);
202 void lwip_netconn_do_recv (
void *m);
203 #if TCP_LISTEN_BACKLOG
204 void lwip_netconn_do_accepted (
void *m);
206 void lwip_netconn_do_write (
void *m);
207 void lwip_netconn_do_getaddr (
void *m);
208 void lwip_netconn_do_close (
void *m);
209 void lwip_netconn_do_shutdown (
void *m);
210 #if LWIP_IGMP || (LWIP_IPV6 && LWIP_IPV6_MLD)
211 void lwip_netconn_do_join_leave_group(
void *m);
212 void lwip_netconn_do_join_leave_group_netif(
void *m);
216 void lwip_netconn_do_gethostbyname(
void *arg);
219 struct netconn* netconn_alloc(
enum netconn_type t, netconn_callback callback);
220 void netconn_free(
struct netconn *conn);
228 #if LWIP_MPU_COMPATIBLE
229 #define NETIFAPI_IPADDR_DEF(type, m) type m
231 #define NETIFAPI_IPADDR_DEF(type, m) const type * m
234 typedef void (*netifapi_void_fn)(
struct netif *
netif);
237 struct netifapi_msg {
243 NETIFAPI_IPADDR_DEF(ip4_addr_t, ipaddr);
244 NETIFAPI_IPADDR_DEF(ip4_addr_t, netmask);
245 NETIFAPI_IPADDR_DEF(ip4_addr_t, gw);
252 netifapi_void_fn voidfunc;
253 netifapi_errt_fn errtfunc;
256 #if LWIP_MPU_COMPATIBLE
uint32_t u32_t
Definition: arch.h:129
uint8_t u8_t
Definition: arch.h:125
uint16_t u16_t
Definition: arch.h:127
s8_t err_t
Definition: err.h:96
#define DNS_MAX_NAME_LENGTH
Definition: opt.h:1105
ip6_addr_t ip_addr_t
Definition: ip_addr.h:318
err_t(* netif_init_fn)(struct netif *netif)
Definition: netif.h:168
#define NETIF_NAMESIZE
Definition: netif.h:70
err_t(* netif_input_fn)(struct pbuf *p, struct netif *inp)
Definition: netif.h:178
Definition: tcpip_priv.h:100
osSemaphoreId sys_sem_t
Definition: sys_arch.h:52
#define API_MSG_M_DEF_C(t, m)
Definition: tcpip_priv.h:94
#define API_MSG_M_DEF(m)
Definition: tcpip_priv.h:93