Microchip® Advanced Software Framework

pbuf Struct Reference

#include <pbuf.h>

Data Fields

u8_t flags
 misc flags More...
 
u16_t len
 length of this buffer More...
 
struct pbufnext
 next pbuf in singly linked pbuf chain More...
 
void * payload
 pointer to the actual data in the buffer More...
 
u16_t ref
 the reference count always equals the number of pointers that refer to this pbuf. More...
 
u16_t tot_len
 total length of this buffer and all next buffers in chain belonging to the same packet. More...
 
u8_t type
 pbuf_type as u8_t instead of enum to save space More...
 

u8_t pbuf::flags

misc flags

Referenced by cpu_irq_save(), pbuf_alloc(), and pbuf_free().

u16_t pbuf::ref

the reference count always equals the number of pointers that refer to this pbuf.

This can be pointers from an application, the stack itself, or pbuf->next pointers from a chain.

Referenced by pbuf_alloc(), pbuf_free(), and pbuf_ref().

u16_t pbuf::tot_len

total length of this buffer and all next buffers in chain belonging to the same packet.

For non-queue packet chains this is the invariant: p->tot_len == p->len + (p->next? p->next->tot_len: 0)

Referenced by ip_input(), ksz8851snl_low_level_input(), ksz8851snl_low_level_output(), ksz8851snl_update(), pbuf_alloc(), pbuf_cat(), pbuf_coalesce(), pbuf_copy(), pbuf_dechain(), pbuf_header(), pbuf_header_impl(), pbuf_memfind(), pbuf_realloc(), pbuf_strstr(), pbuf_take(), and pbuf_take_at().

u8_t pbuf::type

pbuf_type as u8_t instead of enum to save space

Referenced by pbuf_alloc(), pbuf_free(), pbuf_header(), pbuf_header_impl(), and pbuf_realloc().