pbuf_dechain
该函数将第一个pbuf与链中剩余的pbuf分离开。该函数不能在包队列上调用。
struct pbuf * pbuf_dechain(struct pbuf *p)
pbuf_copy
该函数创建pbuf的一个PBUF_RAM类型的副本。该函数只会复制一个包,不会复制整个包队列。
err_t pbuf_copy(struct pbuf *p_to, const struct pbuf *p_from)
pbuf_copy_partial
将数据包缓冲区的(部分)内容复制到应用程序提供的缓冲区。
u16_t pbuf_copy_partial(const struct pbuf *buf, void *dataptr, u16_t len, u16_t offset)
pbuf_skip
在 pbuf 的开头跳过一些字节。
struct pbuf* pbuf_skip(struct pbuf* in, u16_t in_offset, u16_t* out_offset)
pbuf_take
将应用程序提供的数据复制到 pbuf 中。该函数只能用于复制相当于buf->tot_len的数据。
err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)
pbuf_take_at
与 pbuf_take() 相同,但将数据放在偏移量处
err_t pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset)
pbuf_coalesce
该函数将一个pbuf队列合并为一个单独的pbuf。
struct pbuf* pbuf_coalesce(struct pbuf *p, pbuf_layer layer)
pbuf_get_at
从 pbuf 中的指定位置获取一个字节。
u8_t pbuf_get_at(const struct pbuf* p, u16_t offset)
pbuf_try_get_at
从 pbuf 中的指定位置获取一个字节
int pbuf_try_get_at(const struct pbuf* p, u16_t offset)
pbuf_put_at
将一个字节放到 pbuf 中的指定位置 。
void pbuf_put_at(struct pbuf* p, u16_t offset, u8_t data)
pbuf_strstr
该函数在pbuf p中查找substr。但和strstr()函数不同,不会在遇到第一个’\0’时停止。
u16_t pbuf_strstr(struct pbuf* p, const char* substr)
pbuf_memcmp
将指定偏移量处的 pbuf 内容与内存 s2 进行比较,两者的长度均为 n。
u16_t pbuf_memcmp(const struct pbuf* p, u16_t offset, const void* s2, u16_t n)
pbuf_memfind
该函数在pbuf p中查找出现的长度为mem_len的mem,查找位置从start_offest开始。
u16_t pbuf_memfind(struct pbuf* p, const void* mem, u16_t mem_len, u16_t start_offset)