ReactOS 0.4.16-dev-21-g2af6fd4
|
#include "lwip/opt.h"
#include "lwip/api_msg.h"
#include "lwip/netifapi.h"
#include "lwip/pbuf.h"
#include "lwip/api.h"
#include "lwip/sys.h"
#include "lwip/timers.h"
#include "lwip/netif.h"
Go to the source code of this file.
Classes | |
struct | tcpip_msg |
Macros | |
#define | LWIP_TCPIP_THREAD_ALIVE() |
#define | LOCK_TCPIP_CORE() |
#define | UNLOCK_TCPIP_CORE() |
#define | TCPIP_APIMSG(m) tcpip_apimsg(m) |
#define | TCPIP_APIMSG_ACK(m) sys_sem_signal(&m->conn->op_completed) |
#define | TCPIP_NETIFAPI(m) tcpip_netifapi(m) |
#define | TCPIP_NETIFAPI_ACK(m) sys_sem_signal(&m->sem) |
#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) |
Enumerations | |
enum | tcpip_msg_type { TCPIP_MSG_INPKT , TCPIP_MSG_CALLBACK , TCPIP_MSG_CALLBACK_STATIC } |
Functions | |
void | tcpip_init (tcpip_init_done_fn tcpip_init_done, void *arg) |
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) |
#define LWIP_TCPIP_THREAD_ALIVE | ( | ) |
#define TCPIP_APIMSG_ACK | ( | m | ) | sys_sem_signal(&m->conn->op_completed) |
Function prototype for functions passed to tcpip_callback()
Enumerator | |
---|---|
TCPIP_MSG_INPKT | |
TCPIP_MSG_CALLBACK | |
TCPIP_MSG_CALLBACK_STATIC |
Definition at line 117 of file tcpip.h.
A simple wrapper function that allows you to free heap memory from interrupt context.
m | the heap memory to free |
Definition at line 509 of file tcpip.c.
A simple wrapper function that allows you to free a pbuf from interrupt context.
p | The pbuf (chain) to be dereferenced. |
Definition at line 496 of file tcpip.c.
Referenced by LibTCPGetDataFromConnectionQueue().
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.
f | 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 214 of file tcpip.c.
Referenced by LibTCPBind(), LibTCPClose(), LibTCPConnect(), LibTCPFreeSocket(), LibTCPListen(), LibTCPSend(), LibTCPShutdown(), LibTCPSocket(), mem_free_callback(), and pbuf_free_callback().
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 |
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 458 of file tcpip.c.
Referenced by LibIPInitialize().
Pass a received packet to tcpip_thread for input processing
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 164 of file tcpip.c.
Referenced by netif_init(), and TCPRegisterInterface().
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 441 of file tcpip.c.