tcpip_priv.h File Reference
`#include "lwip/opt.h"`
`#include "lwip/tcpip.h"`
`#include "lwip/sys.h"`
`#include "lwip/timeouts.h"`

## 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)

## Detailed Description

TCPIP API internal implementations (do not use in application code)

## Function Documentation

## tcpip_api_call()

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.

Parameters

  fn | Function to call
  call | Call parameters

Returns
  Return value from tcpip_api_call_fn

## tcpip_send_msg_wait_sem()

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 is 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.

Parameters

  fn | function to be called from TCPIP thread
  apimsg | argument to API function
  sem | semaphore to wait on

Returns
  ERR_OK if the function was called, another err_t if not