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 失败时,该参数保持不变。