Lines Matching refs:msg
76 struct tcpip_msg *msg;
88 sys_timeouts_mbox_fetch(&mbox, (void **)&msg);
90 switch (msg->type) {
93 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: API message %p\n", (void *)msg));
94 msg->msg.apimsg->function(&(msg->msg.apimsg->msg));
100 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: PACKET %p\n", (void *)msg));
102 if (msg->msg.inp.netif->flags & (NETIF_FLAG_ETHARP | NETIF_FLAG_ETHERNET)) {
103 ethernet_input(msg->msg.inp.p, msg->msg.inp.netif);
107 ip_input(msg->msg.inp.p, msg->msg.inp.netif);
109 memp_free(MEMP_TCPIP_MSG_INPKT, msg);
115 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: Netif API message %p\n", (void *)msg));
116 msg->msg.netifapimsg->function(&(msg->msg.netifapimsg->msg));
122 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: TIMEOUT %p\n", (void *)msg));
123 sys_timeout(msg->msg.tmo.msecs, msg->msg.tmo.h, msg->msg.tmo.arg);
124 memp_free(MEMP_TCPIP_MSG_API, msg);
127 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: UNTIMEOUT %p\n", (void *)msg));
128 sys_untimeout(msg->msg.tmo.h, msg->msg.tmo.arg);
129 memp_free(MEMP_TCPIP_MSG_API, msg);
134 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: CALLBACK %p\n", (void *)msg));
135 msg->msg.cb.function(msg->msg.cb.ctx);
136 memp_free(MEMP_TCPIP_MSG_API, msg);
140 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: CALLBACK_STATIC %p\n", (void *)msg));
141 msg->msg.cb.function(msg->msg.cb.ctx);
145 LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: invalid message: %d\n", msg->type));
178 struct tcpip_msg *msg;
183 msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_INPKT);
184 if (msg == NULL) {
188 msg->type = TCPIP_MSG_INPKT;
189 msg->msg.inp.p = p;
190 msg->msg.inp.netif = inp;
191 if (sys_mbox_trypost(&mbox, msg) != ERR_OK) {
192 memp_free(MEMP_TCPIP_MSG_INPKT, msg);
213 struct tcpip_msg *msg;
216 msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);
217 if (msg == NULL) {
221 msg->type = TCPIP_MSG_CALLBACK;
222 msg->msg.cb.function = function;
223 msg->msg.cb.ctx = ctx;
225 sys_mbox_post(&mbox, msg);
227 if (sys_mbox_trypost(&mbox, msg) != ERR_OK) {
228 memp_free(MEMP_TCPIP_MSG_API, msg);
249 struct tcpip_msg *msg;
252 msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);
253 if (msg == NULL) {
257 msg->type = TCPIP_MSG_TIMEOUT;
258 msg->msg.tmo.msecs = msecs;
259 msg->msg.tmo.h = h;
260 msg->msg.tmo.arg = arg;
261 sys_mbox_post(&mbox, msg);
278 struct tcpip_msg *msg;
281 msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);
282 if (msg == NULL) {
286 msg->type = TCPIP_MSG_UNTIMEOUT;
287 msg->msg.tmo.h = h;
288 msg->msg.tmo.arg = arg;
289 sys_mbox_post(&mbox, msg);
308 struct tcpip_msg msg;
311 apimsg->msg.err = ERR_VAL;
315 msg.type = TCPIP_MSG_API;
316 msg.msg.apimsg = apimsg;
317 sys_mbox_post(&mbox, &msg);
318 sys_arch_sem_wait(&apimsg->msg.conn->op_completed, 0);
319 return apimsg->msg.err;
338 apimsg->msg.err = ERR_VAL;
342 apimsg->function(&(apimsg->msg));
344 return apimsg->msg.err;
362 struct tcpip_msg msg;
365 err_t err = sys_sem_new(&netifapimsg->msg.sem, 0);
367 netifapimsg->msg.err = err;
371 msg.type = TCPIP_MSG_NETIFAPI;
372 msg.msg.netifapimsg = netifapimsg;
373 sys_mbox_post(&mbox, &msg);
374 sys_sem_wait(&netifapimsg->msg.sem);
375 sys_sem_free(&netifapimsg->msg.sem);
376 return netifapimsg->msg.err;
393 netifapimsg->function(&(netifapimsg->msg));
395 return netifapimsg->msg.err;
410 struct tcpip_msg *msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);
411 if (msg == NULL) {
414 msg->type = TCPIP_MSG_CALLBACK_STATIC;
415 msg->msg.cb.function = function;
416 msg->msg.cb.ctx = ctx;
417 return (struct tcpip_callback_msg*)msg;
423 * @param msg the message to free
425 void tcpip_callbackmsg_delete(struct tcpip_callback_msg* msg)
427 memp_free(MEMP_TCPIP_MSG_API, msg);
434 * @param msg pointer to the message to post
438 tcpip_trycallback(struct tcpip_callback_msg* msg)
443 return sys_mbox_trypost(&mbox, msg);