ReactOS 0.4.16-dev-306-g647d351
|
Macros | |
#define | tcpip_callback_with_block(function, ctx, block) ((block != 0)? tcpip_callback(function, ctx) : tcpip_try_callback(function, ctx)) |
Functions | |
err_t | tcpip_input (struct pbuf *p, struct netif *inp) |
err_t | tcpip_callback (tcpip_callback_fn function, void *ctx) |
err_t | tcpip_try_callback (tcpip_callback_fn function, void *ctx) |
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_callbackmsg_trycallback (struct tcpip_callback_msg *msg) |
err_t | tcpip_callbackmsg_trycallback_fromisr (struct tcpip_callback_msg *msg) |
void | tcpip_init (tcpip_init_done_fn initfunc, void *arg) |
Use this mode if you run an OS on your system. It is recommended to use an RTOS that correctly handles priority inversion and to use LWIP_TCPIP_CORE_LOCKING.
Porting: implement all functions in Porting (system abstraction layer).
You can use "raw" APIs together with tcpip_callback, and all Sequential-style APIs.
#define tcpip_callback_with_block | ( | function, | |
ctx, | |||
block | |||
) | ((block != 0)? tcpip_callback(function, ctx) : tcpip_try_callback(function, ctx)) |
err_t tcpip_callback | ( | tcpip_callback_fn | function, |
void * | ctx | ||
) |
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. Blocks until the request is posted. Must not be called from interrupt context!
function | the function to call |
ctx | parameter passed to f |
Free a callback message allocated by tcpip_callbackmsg_new().
msg | the message to free |
Definition at line 557 of file tcpip.c.
struct tcpip_callback_msg * tcpip_callbackmsg_new | ( | tcpip_callback_fn | function, |
void * | ctx | ||
) |
Allocate a structure for a static callback message and initialize it. The message has a special type such that lwIP never frees it. This is intended to be used to send "static" messages from interrupt context, e.g. the message is allocated once and posted several times from an IRQ using tcpip_callbackmsg_trycallback(). Example usage: Trigger execution of an ethernet IRQ DPC routine in lwIP thread context.
function | the function to call |
ctx | parameter passed to function |
Definition at line 536 of file tcpip.c.
Try to post a callback-message to the tcpip_thread tcpip_mbox.
msg | pointer to the message to post |
Definition at line 572 of file tcpip.c.
Try to post a callback-message to the tcpip_thread mbox. Same as tcpip_callbackmsg_trycallback but calls sys_mbox_trypost_fromisr(), mainly to help FreeRTOS, where calls differ between task level and ISR level.
msg | pointer to the message to post |
Definition at line 591 of file tcpip.c.
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 650 of file tcpip.c.
Referenced by LibIPInitialize(), and main().
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 288 of file tcpip.c.
Referenced by netif_init(), and TCPRegisterInterface().
err_t tcpip_try_callback | ( | tcpip_callback_fn | function, |
void * | ctx | ||
) |
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. Does NOT block when the request cannot be posted because the tcpip_mbox is full, but returns ERR_MEM instead. Can be called from interrupt context.
function | the function to call |
ctx | parameter passed to f |
Definition at line 350 of file tcpip.c.
Referenced by mem_free_callback(), and pbuf_free_callback().