3.2.17. ioctl DMX_QUERYBUF

3.2.17.1. 名称

DMX_QUERYBUF - 查询缓冲区的状态

警告

此API仍处于实验阶段

3.2.17.2. 概要

DMX_QUERYBUF

int ioctl(int fd, DMX_QUERYBUF, struct dvb_buffer *argp)

3.2.17.3. 参数

fd

open() 返回的文件描述符。

argp

指向 struct dvb_buffer 的指针。

3.2.17.4. 描述

此 ioctl 是 mmap 流式 I/O 方法的一部分。它可用于在通过 ioctl DMX_REQBUFS ioctl 分配缓冲区后随时查询缓冲区的状态。

应用程序设置 index 字段。有效的索引号范围从零到使用 ioctl DMX_REQBUFS(struct dvb_requestbuffers count)分配的缓冲区数减一。

在调用 ioctl DMX_QUERYBUF 并传入指向此结构的指针后,驱动程序会返回错误代码或填充结构的其余部分。

成功后,offset 将包含缓冲区相对于设备内存起点的偏移量,length 字段包含其大小,而 bytesused 则包含缓冲区中数据(有效负载)占用的字节数。

3.2.17.5. 返回值

成功时返回 0,offset 将包含缓冲区相对于设备内存起点的偏移量,length 字段包含其大小,而 bytesused 则包含缓冲区中数据(有效负载)占用的字节数。

出错时返回 -1,并适当设置 errno 变量。通用错误代码在 通用错误代码 章节中描述。

EINVAL

index 超出范围。