lwIP
2.0.2
Lightweight IP stack
|
Macros | |
#define | LOCK_TCPIP_CORE() sys_mutex_lock(&lock_tcpip_core) |
#define | UNLOCK_TCPIP_CORE() sys_mutex_unlock(&lock_tcpip_core) |
#define | tcpip_callback(f, ctx) tcpip_callback_with_block(f, ctx, 1) |
Typedefs | |
typedef void(* | tcpip_init_done_fn) (void *arg) |
typedef void(* | tcpip_callback_fn) (void *ctx) |
Functions | |
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_callback_with_block (tcpip_callback_fn function, void *ctx, u8_t block) |
struct tcpip_callback_msg * | tcpip_callbackmsg_new (tcpip_callback_fn function, void *ctx) |
void | tcpip_callbackmsg_delete (struct tcpip_callback_msg *msg) |
err_t | tcpip_trycallback (struct tcpip_callback_msg *msg) |
err_t | pbuf_free_callback (struct pbuf *p) |
err_t | mem_free_callback (void *m) |
Variables | |
sys_mutex_t | lock_tcpip_core |
Functions to sync with TCPIP thread
#define LOCK_TCPIP_CORE | ( | ) | sys_mutex_lock(&lock_tcpip_core) |
Lock lwIP core mutex (needs LWIP_TCPIP_CORE_LOCKING 1)
#define UNLOCK_TCPIP_CORE | ( | ) | sys_mutex_unlock(&lock_tcpip_core) |
Unlock lwIP core mutex (needs LWIP_TCPIP_CORE_LOCKING 1)
typedef void(* tcpip_callback_fn) (void *ctx) |
Function prototype for functions passed to tcpip_callback()
typedef void(* tcpip_init_done_fn) (void *arg) |
Function prototype for the init_done function passed to tcpip_init
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 |
A simple wrapper function that allows you to free a pbuf from interrupt context.
p | The pbuf (chain) to be dereferenced. |
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 |
void tcpip_callbackmsg_delete | ( | struct tcpip_callback_msg * | msg | ) |
Free a callback message allocated by tcpip_callbackmsg_new().
msg | the message to free |
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 |
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 |
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 |
sys_mutex_t lock_tcpip_core |
The global semaphore to lock the stack.