The Pedigree Project
0.1
|
Go to the source code of this file.
Classes | |
struct | tcpip_api_call_data |
struct | tcpip_msg |
Typedefs | |
typedef err_t(* | tcpip_api_call_fn) (struct tcpip_api_call_data *call) |
Enumerations | |
enum | tcpip_msg_type { TCPIP_MSG_API, TCPIP_MSG_API_CALL, TCPIP_MSG_INPKT, TCPIP_MSG_CALLBACK, TCPIP_MSG_CALLBACK_STATIC } |
Functions | |
err_t | tcpip_send_msg_wait_sem (tcpip_callback_fn fn, void *apimsg, sys_sem_t *sem) |
err_t | tcpip_api_call (tcpip_api_call_fn fn, struct tcpip_api_call_data *call) |
TCPIP API internal implementations (do not use in application code)
Definition in file tcpip_priv.h.
err_t tcpip_api_call | ( | tcpip_api_call_fn | fn, |
struct tcpip_api_call_data * | call | ||
) |
Synchronously calls function in TCPIP thread and waits for its completion. It is recommended to use LWIP_TCPIP_CORE_LOCKING (preferred) or LWIP_NETCONN_SEM_PER_THREAD. If not, a semaphore is created and destroyed on every call which is usually an expensive/slow operation.
fn | Function to call |
call | Call parameters |
Definition at line 384 of file tcpip.c.
References ERR_OK, sys_arch_sem_wait(), sys_mbox_post(), sys_mbox_valid_val, sys_sem_free(), and sys_sem_new().
err_t tcpip_send_msg_wait_sem | ( | tcpip_callback_fn | fn, |
void * | apimsg, | ||
sys_sem_t * | sem | ||
) |
Sends a message to TCPIP thread to call a function. Caller thread blocks on on a provided semaphore, which ist NOT automatically signalled by TCPIP thread, this has to be done by the user. It is recommended to use LWIP_TCPIP_CORE_LOCKING since this is the way with least runtime overhead.
fn | function to be called from TCPIP thread |
apimsg | argument to API function |
sem | semaphore to wait on |
Definition at line 348 of file tcpip.c.
References ERR_OK, LWIP_UNUSED_ARG, sys_arch_sem_wait(), sys_mbox_post(), sys_mbox_valid_val, and sys_sem_valid().