7.2. V4L2 ioctl()

7.2.1. 名称

v4l2-ioctl - 编程 V4L2 设备

7.2.2. 概要

#include <sys/ioctl.h>

int ioctl(int fd, int request, void *argp)

7.2.3. 参数

fd

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

request

V4L2 ioctl 请求代码,如 videodev2.h 头文件中所定义,例如 VIDIOC_QUERYCAP。

argp

指向函数参数的指针,通常是一个结构体。

7.2.4. 描述

ioctl() 函数用于编程 V4L2 设备。参数 fd 必须是一个打开的文件描述符。ioctl request 编码了参数是输入、输出还是读/写参数,以及参数 argp 的大小(以字节为单位)。指定 V4L2 ioctl 请求的宏和定义位于 videodev2.h 头文件中。应用程序应该使用自己的副本,而不是包含它们编译系统上内核源代码中的版本。所有 V4L2 ioctl 请求、它们各自的函数和参数都在 函数参考 中指定。

7.2.5. 返回值

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

当一个接受输出或读/写参数的 ioctl 失败时,该参数保持不变。