| UbixOS
    2.0
    | 


Go to the source code of this file.
| Macros | |
| #define | LOCK_TCPIP_CORE() | 
| #define | tcpip_callback(f, ctx) tcpip_callback_with_block(f, ctx, 1) | 
| #define | UNLOCK_TCPIP_CORE() | 
| Typedefs | |
| typedef void(* | tcpip_callback_fn) (void *ctx) | 
| typedef void(* | tcpip_init_done_fn) (void *arg) | 
| Functions | |
| 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) | 
| struct tcpip_callback_msg * | tcpip_callbackmsg_new (tcpip_callback_fn function, void *ctx) | 
| void | tcpip_init (tcpip_init_done_fn tcpip_init_done, void *arg) | 
| err_t | tcpip_inpkt (struct pbuf *p, struct netif *inp, netif_input_fn input_fn) | 
| err_t | tcpip_input (struct pbuf *p, struct netif *inp) | 
| err_t | tcpip_trycallback (struct tcpip_callback_msg *msg) | 
Functions to sync with TCPIP thread
Definition in file tcpip.h.
| #define tcpip_callback | ( | f, | |
| ctx | |||
| ) | tcpip_callback_with_block(f, ctx, 1) | 
| typedef void(* tcpip_callback_fn) (void *ctx) | 
Function prototype for functions passed to tcpip_callback()
| typedef void(* tcpip_init_done_fn) (void *arg) | 
| err_t mem_free_callback | ( | void * | m | ) | 
A simple wrapper function that allows you to free heap memory from interrupt context.
| m | the heap memory to free | 
Definition at line 491 of file tcpip.c.
References mem_free(), and tcpip_callback_with_block().

A simple wrapper function that allows you to free a pbuf from interrupt context.
| p | The pbuf (chain) to be dereferenced. | 
Definition at line 480 of file tcpip.c.
References tcpip_callback_with_block().

| err_t tcpip_callback_with_block | ( | tcpip_callback_fn | function, | 
| void * | ctx, | ||
| u8_t | block | ||
| ) | 
Call a specific function in the thread context of tcpip_thread for easy access synchronization. A function called in that way may access lwIP core code without fearing concurrent access.
| function | the function to call | 
| ctx | parameter passed to f | 
| block | 1 to block until the request is posted, 0 to non-blocking mode | 
Definition at line 229 of file tcpip.c.
References LWIP_ASSERT, tcpip_msg::msg, and sys_mbox_valid_val.
Referenced by mem_free_callback(), and pbuf_free_callback().
| void tcpip_callbackmsg_delete | ( | struct tcpip_callback_msg * | msg | ) | 
Free a callback message allocated by tcpip_callbackmsg_new().
| msg | the message to free | 
Definition at line 421 of file tcpip.c.
References memp_free(), and tcpip_msg::msg.

| struct tcpip_callback_msg* tcpip_callbackmsg_new | ( | tcpip_callback_fn | function, | 
| void * | ctx | ||
| ) | 
Allocate a structure for a static callback message and initialize it. This is intended to be used to send "static" messages from interrupt context.
| function | the function to call | 
| ctx | parameter passed to function | 
Definition at line 405 of file tcpip.c.
References tcpip_msg::ctx, memp_malloc(), tcpip_msg::msg, NULL, and TCPIP_MSG_CALLBACK_STATIC.

| void tcpip_init | ( | tcpip_init_done_fn | initfunc, | 
| void * | arg | ||
| ) | 
Initialize this module:
| initfunc | a function to call when tcpip_thread is running and finished initializing | 
| arg | argument to pass to initfunc | 
Definition at line 446 of file tcpip.c.
References lwip_init().
Referenced by net_init().

| err_t tcpip_inpkt | ( | struct pbuf * | p, | 
| struct netif * | inp, | ||
| netif_input_fn | input_fn | ||
| ) | 
Pass a received packet to tcpip_thread for input processing
| p | the received packet | 
| inp | the network interface on which the packet was received | 
| input_fn | input function to call | 
Definition at line 161 of file tcpip.c.
References tcpip_msg::inp, tcpip_msg::input_fn, LOCK_TCPIP_CORE, LWIP_ASSERT, LWIP_DEBUGF, tcpip_msg::msg, tcpip_msg::p, sys_mbox_valid_val, TCPIP_DEBUG, and UNLOCK_TCPIP_CORE.
Referenced by tcpip_input().
Pass a received packet to tcpip_thread for input processing with ethernet_input or ip_input. Don't call directly, pass to netif_add() and call netif->input().
| p | the received packet, p->payload pointing to the Ethernet header or to an IP header (if inp doesn't have NETIF_FLAG_ETHARP or NETIF_FLAG_ETHERNET flags) | 
| inp | the network interface on which the packet was received | 
Definition at line 204 of file tcpip.c.
References tcpip_msg::inp, NETIF_FLAG_ETHARP, NETIF_FLAG_ETHERNET, tcpip_msg::p, and tcpip_inpkt().
Referenced by net_init(), and netif_init().

| err_t tcpip_trycallback | ( | struct tcpip_callback_msg * | msg | ) | 
Try to post a callback-message to the tcpip_thread mbox This is intended to be used to send "static" messages from interrupt context.
| msg | pointer to the message to post | 
Definition at line 432 of file tcpip.c.
References LWIP_ASSERT, and sys_mbox_valid_val.