| lwIP
    2.1.2
    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!) |