54static void *tcpip_init_done_arg;
57#if LWIP_TCPIP_CORE_LOCKING
59sys_mutex_t lock_tcpip_core;
74tcpip_thread(
void *arg)
79 if (tcpip_init_done !=
NULL) {
80 tcpip_init_done(tcpip_init_done_arg);
94 msg->msg.apimsg->function(&(
msg->msg.apimsg->msg));
98#if !LWIP_TCPIP_CORE_LOCKING_INPUT
103 ethernet_input(
msg->msg.inp.p,
msg->msg.inp.netif);
114 case TCPIP_MSG_NETIFAPI:
116 msg->msg.netifapimsg->function(&(
msg->msg.netifapimsg->msg));
120#if LWIP_TCPIP_TIMEOUT
121 case TCPIP_MSG_TIMEOUT:
126 case TCPIP_MSG_UNTIMEOUT:
135 msg->msg.cb.function(
msg->msg.cb.ctx);
141 msg->msg.cb.function(
msg->msg.cb.ctx);
163#if LWIP_TCPIP_CORE_LOCKING_INPUT
169 ret = ethernet_input(
p,
inp);
237#if LWIP_TCPIP_TIMEOUT
257 msg->type = TCPIP_MSG_TIMEOUT;
258 msg->msg.tmo.msecs = msecs;
260 msg->msg.tmo.arg = arg;
286 msg->type = TCPIP_MSG_UNTIMEOUT;
288 msg->msg.tmo.arg = arg;
306tcpip_apimsg(
struct api_msg *apimsg)
315 msg.type = TCPIP_MSG_API;
316 msg.msg.apimsg = apimsg;
319 return apimsg->msg.err;
324#if LWIP_TCPIP_CORE_LOCKING
334tcpip_apimsg_lock(
struct api_msg *apimsg)
342 apimsg->function(&(apimsg->msg));
344 return apimsg->msg.err;
351#if !LWIP_TCPIP_CORE_LOCKING
360tcpip_netifapi(
struct netifapi_msg* netifapimsg)
367 netifapimsg->msg.err = err;
371 msg.type = TCPIP_MSG_NETIFAPI;
372 msg.msg.netifapimsg = netifapimsg;
376 return netifapimsg->msg.err;
390tcpip_netifapi_lock(
struct netifapi_msg* netifapimsg)
393 netifapimsg->function(&(netifapimsg->msg));
395 return netifapimsg->msg.err;
417 return (
struct tcpip_callback_msg*)
msg;
459 tcpip_init_done = initfunc;
460 tcpip_init_done_arg = arg;
462 LWIP_ASSERT(
"failed to create tcpip_thread mbox", 0);
464#if LWIP_TCPIP_CORE_LOCKING
466 LWIP_ASSERT(
"failed to create lock_tcpip_core", 0);
480pbuf_free_int(
void *
p)
#define LWIP_UNUSED_ARG(x)
#define LWIP_DEBUGF(debug, message)
#define LWIP_ASSERT(message, assertion)
err_t ip_input(struct pbuf *p, struct netif *inp)
void mem_free(void *rmem)
void * memp_malloc(memp_t type)
void memp_free(memp_t type, void *mem)
#define NETIF_FLAG_ETHERNET
#define NETIF_FLAG_ETHARP
#define TCPIP_THREAD_NAME
#define TCPIP_THREAD_PRIO
#define TCPIP_THREAD_STACKSIZE
u8_t pbuf_free(struct pbuf *p)
tcpip_callback_fn function
struct tcpip_msg::@3::@4 inp
sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg, int stacksize, int prio)
err_t sys_mutex_new(sys_mutex_t *mutex)
void sys_sem_free(sys_sem_t *sem)
#define sys_sem_wait(sem)
int sys_mbox_valid(sys_mbox_t *mbox)
u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
void sys_mbox_post(sys_mbox_t *mbox, void *msg)
err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg)
err_t sys_mbox_new(sys_mbox_t *mbox, int size)
err_t sys_sem_new(sys_sem_t *sem, u8_t count)
struct tcpip_callback_msg * tcpip_callbackmsg_new(tcpip_callback_fn function, void *ctx)
void tcpip_init(tcpip_init_done_fn initfunc, void *arg)
err_t mem_free_callback(void *m)
err_t pbuf_free_callback(struct pbuf *p)
err_t tcpip_callback_with_block(tcpip_callback_fn function, void *ctx, u8_t block)
void tcpip_callbackmsg_delete(struct tcpip_callback_msg *msg)
err_t tcpip_trycallback(struct tcpip_callback_msg *msg)
err_t tcpip_input(struct pbuf *p, struct netif *inp)
@ TCPIP_MSG_CALLBACK_STATIC
void(* tcpip_callback_fn)(void *ctx)
#define LOCK_TCPIP_CORE()
void(* tcpip_init_done_fn)(void *arg)
#define LWIP_TCPIP_THREAD_ALIVE()
#define UNLOCK_TCPIP_CORE()
void(* sys_timeout_handler)(void *arg)
void sys_timeout(u32_t msecs, sys_timeout_handler handler, void *arg)
void sys_timeouts_mbox_fetch(sys_mbox_t *mbox, void **msg)
void sys_untimeout(sys_timeout_handler handler, void *arg)