32 #ifndef __LWIP_TCPIP_H__
33 #define __LWIP_TCPIP_H__
39 #include "lwip/api_msg.h"
40 #include "lwip/netifapi.h"
41 #include "lwip/pbuf.h"
44 #include "lwip/timers.h"
45 #include "lwip/netif.h"
53 #ifndef LWIP_TCPIP_THREAD_ALIVE
54 #define LWIP_TCPIP_THREAD_ALIVE()
57 #if LWIP_TCPIP_CORE_LOCKING
59 extern sys_mutex_t lock_tcpip_core;
60 #define LOCK_TCPIP_CORE() sys_mutex_lock(&lock_tcpip_core)
61 #define UNLOCK_TCPIP_CORE() sys_mutex_unlock(&lock_tcpip_core)
62 #define TCPIP_APIMSG(m) tcpip_apimsg_lock(m)
63 #define TCPIP_APIMSG_ACK(m)
64 #define TCPIP_NETIFAPI(m) tcpip_netifapi_lock(m)
65 #define TCPIP_NETIFAPI_ACK(m)
67 #define LOCK_TCPIP_CORE()
68 #define UNLOCK_TCPIP_CORE()
69 #define TCPIP_APIMSG(m) tcpip_apimsg(m)
70 #define TCPIP_APIMSG_ACK(m) sys_sem_signal(&m->conn->op_completed)
71 #define TCPIP_NETIFAPI(m) tcpip_netifapi(m)
72 #define TCPIP_NETIFAPI_ACK(m) sys_sem_signal(&m->sem)
76 typedef void (*tcpip_init_done_fn)(
void *arg);
78 typedef void (*tcpip_callback_fn)(
void *ctx);
80 void tcpip_init(tcpip_init_done_fn tcpip_init_done,
void *arg);
83 err_t tcpip_apimsg(
struct api_msg *apimsg);
84 #if LWIP_TCPIP_CORE_LOCKING
85 err_t tcpip_apimsg_lock(
struct api_msg *apimsg);
89 err_t tcpip_input(
struct pbuf *p,
struct netif *inp);
92 err_t tcpip_netifapi(
struct netifapi_msg *netifapimsg);
93 #if LWIP_TCPIP_CORE_LOCKING
94 err_t tcpip_netifapi_lock(
struct netifapi_msg *netifapimsg);
98 err_t tcpip_callback_with_block(tcpip_callback_fn
function,
void *ctx, u8_t block);
99 #define tcpip_callback(f, ctx) tcpip_callback_with_block(f, ctx, 1)
102 err_t pbuf_free_callback(
struct pbuf *p);
103 err_t mem_free_callback(
void *m);
105 #if LWIP_TCPIP_TIMEOUT
106 err_t tcpip_timeout(u32_t msecs, sys_timeout_handler h,
void *arg);
107 err_t tcpip_untimeout(sys_timeout_handler h,
void *arg);
110 enum tcpip_msg_type {
118 #if LWIP_TCPIP_TIMEOUT
130 struct api_msg *apimsg;
133 struct netifapi_msg *netifapimsg;
140 tcpip_callback_fn
function;
143 #if LWIP_TCPIP_TIMEOUT
146 sys_timeout_handler h;
struct tcpip_msg::@0::@1 inp
enum tcpip_msg_type type
Definition: tcpip.h:126
struct pbuf * p
Definition: tcpip.h:136
sys_sem_t * sem
Definition: tcpip.h:127
struct tcpip_msg::@0::@2 cb
void * ctx
Definition: tcpip.h:141
struct netif * netif
Definition: tcpip.h:137