ZYNQ-pbuf操作指南(二)

简介: ZYNQ-pbuf操作指南

pbuf_dechain


该函数将第一个pbuf与链中剩余的pbuf分离开。该函数不能在包队列上调用。

struct pbuf *
pbuf_dechain(struct pbuf *p)

image.png

pbuf_copy


该函数创建pbuf的一个PBUF_RAM类型的副本。该函数只会复制一个包,不会复制整个包队列。

err_t
pbuf_copy(struct pbuf *p_to, const struct pbuf *p_from)

image.png

pbuf_copy_partial


将数据包缓冲区的(部分)内容复制到应用程序提供的缓冲区。

u16_t
pbuf_copy_partial(const struct pbuf *buf, void *dataptr, u16_t len, u16_t offset)

image.png

pbuf_skip


在 pbuf 的开头跳过一些字节。

struct pbuf*
pbuf_skip(struct pbuf* in, u16_t in_offset, u16_t* out_offset)

image.png

pbuf_take


将应用程序提供的数据复制到 pbuf 中。该函数只能用于复制相当于buf->tot_len的数据。

err_t
pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)

image.png

pbuf_take_at


与 pbuf_take() 相同,但将数据放在偏移量处

err_t
pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset)

image.png

pbuf_coalesce


该函数将一个pbuf队列合并为一个单独的pbuf。

struct pbuf*
pbuf_coalesce(struct pbuf *p, pbuf_layer layer)

image.png

pbuf_get_at


从 pbuf 中的指定位置获取一个字节。

u8_t
pbuf_get_at(const struct pbuf* p, u16_t offset)

image.png

pbuf_try_get_at


从 pbuf 中的指定位置获取一个字节

int
pbuf_try_get_at(const struct pbuf* p, u16_t offset)

image.png

pbuf_put_at


将一个字节放到 pbuf 中的指定位置 。

void
pbuf_put_at(struct pbuf* p, u16_t offset, u8_t data)

image.png

pbuf_strstr


该函数在pbuf p中查找substr。但和strstr()函数不同,不会在遇到第一个’\0’时停止。

u16_t pbuf_strstr(struct pbuf* p, const char* substr)

image.png

pbuf_memcmp


将指定偏移量处的 pbuf 内容与内存 s2 进行比较,两者的长度均为 n。

u16_t
pbuf_memcmp(const struct pbuf* p, u16_t offset, const void* s2, u16_t n)

image.png

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)

image.png

目录
相关文章
|
存储
ZYNQ-pbuf操作指南(一)
ZYNQ-pbuf操作指南
392 0
ZYNQ-pbuf操作指南(一)
|
10天前
|
传感器 开发工具 芯片
【ZYNQ】ZYNQ7000 XADC 及其驱动示例
【ZYNQ】ZYNQ7000 XADC 及其驱动示例
|
10天前
|
测试技术 Perl
【ZYNQ】ZYNQ7000 UART 控制器及驱动应用示例
【ZYNQ】ZYNQ7000 UART 控制器及驱动应用示例
|
10天前
|
安全 测试技术
【ZYNQ】ZYNQ7000 全局定时器及其驱动示例
【ZYNQ】ZYNQ7000 全局定时器及其驱动示例
|
10天前
|
测试技术
【ZYNQ】ZYNQ7000 私有定时器及其驱动应用示例
【ZYNQ】ZYNQ7000 私有定时器及其驱动应用示例
|
15天前
|
存储 芯片 SoC
|
数据处理 SoC Perl
Xilinx Zynq7035 PL SFP光口通信例程
本文主要介绍说明XQ6657Z35-EVM 高速数据处理评估板SPF光口通信例程的功能、使用步骤以及各个例程的运行效果。
Xilinx Zynq7035 PL SFP光口通信例程
|
存储 缓存 网络协议
ZYNQ裸板:AXIDMA篇(简单模式)
DMA(Direct Memory Access,直接存储器访问)是计算机科学中的一种内存访问技术。它允许某些计算机内部的硬件子系统可以独立地直接读写系统内存,而不需中央处理器( CPU)介入处理。 DMA 是一种快速的数据传送方式, 通常用来传送数据量较多的数据块
755 0
ZYNQ裸板:AXIDMA篇(简单模式)
|
存储 安全 存储控制器
ZYNQ裸板:中断篇
中断对于单片机过来的我们来说,相对也算比较熟悉了,还是严谨一点从头开始说吧。中断是什么?是一种当满足要求的突发事件发生时通知处理器进行处理的信号。中断可以由硬件处理单元和外部设备产生,也可以由软件本身产生。对硬件来说,中断信号是一个由某个处理单元产生的异步信号,用来引起处理器的注意。对软件来说,中断还是一种异步事件,用来通知处理器需要改变代码的执行,当然,轮询所产生的中断的过程是同步的。
626 0
ZYNQ裸板:中断篇