|
lwIP
2.1.1
Lightweight IP stack
|
Functions | |
| u8_t | tcp_ext_arg_alloc_id (void) |
| void | tcp_ext_arg_set_callbacks (struct tcp_pcb *pcb, uint8_t id, const struct tcp_ext_arg_callbacks *const callbacks) |
| void | tcp_ext_arg_set (struct tcp_pcb *pcb, uint8_t id, void *arg) |
| void * | tcp_ext_arg_get (const struct tcp_pcb *pcb, uint8_t id) |
Additional data storage per tcp pcb
When LWIP_TCP_PCB_NUM_EXT_ARGS is > 0, every tcp pcb (including listen pcb) includes a number of additional argument entries in an array.
To support memory management, in addition to a 'void *', callbacks can be provided to manage transition from listening pcbs to connections and to deallocate memory when a pcb is deallocated (see struct tcp_ext_arg_callbacks).
After allocating this index, use tcp_ext_arg_set and tcp_ext_arg_get to store and load arguments from this index for a given pcb.
| u8_t tcp_ext_arg_alloc_id | ( | void | ) |
Allocate an index to store data in ext_args member of struct tcp_pcb. Returned value is an index in mentioned array. The index is global over all pcbs!
When LWIP_TCP_PCB_NUM_EXT_ARGS is > 0, every tcp pcb (including listen pcb) includes a number of additional argument entries in an array.
To support memory management, in addition to a 'void *', callbacks can be provided to manage transition from listening pcbs to connections and to deallocate memory when a pcb is deallocated (see struct tcp_ext_arg_callbacks).
After allocating this index, use tcp_ext_arg_set and tcp_ext_arg_get to store and load arguments from this index for a given pcb.
| void* tcp_ext_arg_get | ( | const struct tcp_pcb * | pcb, |
| uint8_t | id | ||
| ) |
Set data for a given index of ext_args on the specified pcb.
| pcb | tcp_pcb for which to set the data |
| id | ext_args index to set (allocated via tcp_ext_arg_alloc_id) |
| void tcp_ext_arg_set | ( | struct tcp_pcb * | pcb, |
| uint8_t | id, | ||
| void * | arg | ||
| ) |
Set data for a given index of ext_args on the specified pcb.
| pcb | tcp_pcb for which to set the data |
| id | ext_args index to set (allocated via tcp_ext_arg_alloc_id) |
| arg | data pointer to set |
| void tcp_ext_arg_set_callbacks | ( | struct tcp_pcb * | pcb, |
| uint8_t | id, | ||
| const struct tcp_ext_arg_callbacks *const | callbacks | ||
| ) |
Set callbacks for a given index of ext_args on the specified pcb.
| pcb | tcp_pcb for which to set the callback |
| id | ext_args index to set (allocated via tcp_ext_arg_alloc_id) |
| callbacks | callback table (const since it is referenced, not copied!) |