53#define TCPIP_MSG_VAR_REF(name) API_VAR_REF(name)
54#define TCPIP_MSG_VAR_DECLARE(name) API_VAR_DECLARE(struct tcpip_msg, name)
55#define TCPIP_MSG_VAR_ALLOC(name) API_VAR_ALLOC(struct tcpip_msg, MEMP_TCPIP_MSG_API, name, ERR_MEM)
56#define TCPIP_MSG_VAR_FREE(name) API_VAR_FREE(MEMP_TCPIP_MSG_API, name)
63#if LWIP_TCPIP_CORE_LOCKING
72#define TCPIP_MBOX_FETCH(mbox, msg) sys_mbox_fetch(mbox, msg)
75#define TCPIP_MBOX_FETCH(mbox, msg) tcpip_timeouts_mbox_fetch(mbox, msg)
91 sleeptime = sys_timeouts_sleeptime();
97 }
else if (sleeptime == 0) {
109 sys_check_timeouts();
159#if !LWIP_TCPIP_CORE_LOCKING
162 msg->msg.api_msg.function(
msg->msg.api_msg.msg);
166 msg->msg.api_call.arg->err =
msg->msg.api_call.function(
msg->msg.api_call.arg);
171 msg->msg.cb_wait.function(
msg->msg.cb_wait.ctx);
176#if !LWIP_TCPIP_CORE_LOCKING_INPUT
179 if (
msg->msg.inp.input_fn(
msg->msg.inp.p,
msg->msg.inp.netif) !=
ERR_OK) {
186#if LWIP_TCPIP_TIMEOUT && LWIP_TIMERS
187 case TCPIP_MSG_TIMEOUT:
189 sys_timeout(
msg->msg.tmo.msecs,
msg->msg.tmo.h,
msg->msg.tmo.arg);
192 case TCPIP_MSG_UNTIMEOUT:
194 sys_untimeout(
msg->msg.tmo.h,
msg->msg.tmo.arg);
201 msg->msg.cb.function(
msg->msg.cb.ctx);
207 msg->msg.cb.function(
msg->msg.cb.ctx);
217#ifdef TCPIP_THREAD_TEST
220tcpip_thread_poll_one(
void)
247#if LWIP_TCPIP_CORE_LOCKING_INPUT
372#if LWIP_TCPIP_TIMEOUT && LWIP_TIMERS
382tcpip_timeout(
u32_t msecs, sys_timeout_handler
h,
void *
arg)
393 msg->type = TCPIP_MSG_TIMEOUT;
394 msg->msg.tmo.msecs = msecs;
409tcpip_untimeout(sys_timeout_handler
h,
void *
arg)
420 msg->type = TCPIP_MSG_UNTIMEOUT;
444#if LWIP_TCPIP_CORE_LOCKING
480#if LWIP_TCPIP_CORE_LOCKING
489#if !LWIP_NETCONN_SEM_PER_THREAD
502#if LWIP_NETCONN_SEM_PER_THREAD
511#if !LWIP_NETCONN_SEM_PER_THREAD
535struct tcpip_callback_msg *
545 return (
struct tcpip_callback_msg *)
msg;
612#if LWIP_TCPIP_CORE_LOCKING
631 msg.msg.cb_wait.ctx =
ctx;
632 msg.msg.cb_wait.sem = &
sem;
657 LWIP_ASSERT(
"failed to create tcpip_thread mbox", 0);
659#if LWIP_TCPIP_CORE_LOCKING
661 LWIP_ASSERT(
"failed to create lock_tcpip_core", 0);
#define mem_free(ptr, bsize)
#define LWIP_DEBUGF(debug, message)
#define LWIP_ASSERT(message, assertion)
void(* tcpip_callback_fn)(void *ctx)
#define LOCK_TCPIP_CORE()
void(* tcpip_init_done_fn)(void *arg)
#define UNLOCK_TCPIP_CORE()
GLdouble GLdouble GLdouble GLdouble q
GLfloat GLfloat GLfloat GLfloat h
#define LWIP_UNUSED_ARG(x)
#define LWIP_ASSERT_CORE_LOCKED()
#define LWIP_MARK_TCPIP_THREAD()
#define TCPIP_THREAD_NAME
#define TCPIP_THREAD_PRIO
#define LWIP_TCPIP_THREAD_ALIVE()
#define TCPIP_THREAD_STACKSIZE
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 tcpip_callbackmsg_trycallback_fromisr(struct tcpip_callback_msg *msg)
err_t tcpip_callbackmsg_trycallback(struct tcpip_callback_msg *msg)
err_t tcpip_callback(tcpip_callback_fn function, void *ctx)
void tcpip_callbackmsg_delete(struct tcpip_callback_msg *msg)
err_t tcpip_input(struct pbuf *p, struct netif *inp)
err_t tcpip_try_callback(tcpip_callback_fn function, void *ctx)
#define NETIF_FLAG_ETHERNET
#define NETIF_FLAG_ETHARP
u8_t pbuf_free(struct pbuf *p)
u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, 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)
u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg)
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)
u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
void sys_sem_signal(sys_sem_t *sem)
err_t sys_sem_new(sys_sem_t *sem, u8_t count)
#define sys_mbox_trypost_fromisr
#define LWIP_NETCONN_THREAD_SEM_GET()
#define sys_sem_valid(sema)
void * memp_malloc(memp_t type)
void memp_free(memp_t type, void *mem)
err_t(* netif_input_fn)(struct pbuf *p, struct netif *inp)
struct tcpip_msg::@1054::@1058 inp
tcpip_callback_fn function
#define sys_mbox_valid_val(mbox)
static void tcpip_thread_handle_msg(struct tcpip_msg *msg)
err_t tcpip_send_msg_wait_sem(tcpip_callback_fn fn, void *apimsg, sys_sem_t *sem)
#define TCPIP_MSG_VAR_ALLOC(name)
err_t tcpip_api_call(tcpip_api_call_fn fn, struct tcpip_api_call_data *call)
#define TCPIP_MBOX_FETCH(mbox, msg)
err_t mem_free_callback(void *m)
err_t pbuf_free_callback(struct pbuf *p)
static void tcpip_thread(void *arg)
err_t tcpip_callback_wait(tcpip_callback_fn function, void *ctx)
err_t tcpip_inpkt(struct pbuf *p, struct netif *inp, netif_input_fn input_fn)
static tcpip_init_done_fn tcpip_init_done
static sys_mbox_t tcpip_mbox
#define TCPIP_MSG_VAR_FREE(name)
static void pbuf_free_int(void *p)
#define TCPIP_MSG_VAR_REF(name)
#define TCPIP_MSG_VAR_DECLARE(name)
static void * tcpip_init_done_arg
@ TCPIP_MSG_CALLBACK_STATIC
@ TCPIP_MSG_CALLBACK_STATIC_WAIT
err_t(* tcpip_api_call_fn)(struct tcpip_api_call_data *call)
#define SYS_TIMEOUTS_SLEEPTIME_INFINITE
static GLenum _GLUfuncptr fn