7.64. ioctl VIDIOC_SUBDEV_G_CLIENT_CAP, VIDIOC_SUBDEV_S_CLIENT_CAP¶
7.64.1. 名称¶
VIDIOC_SUBDEV_G_CLIENT_CAP - VIDIOC_SUBDEV_S_CLIENT_CAP - 获取或设置客户端功能。
7.64.2. 概要¶
-
VIDIOC_SUBDEV_G_CLIENT_CAP¶
int ioctl(int fd, VIDIOC_SUBDEV_G_CLIENT_CAP, struct v4l2_subdev_client_capability *argp)
-
VIDIOC_SUBDEV_S_CLIENT_CAP¶
int ioctl(int fd, VIDIOC_SUBDEV_S_CLIENT_CAP, struct v4l2_subdev_client_capability *argp)
7.64.3. 参数¶
fd
由 open() 返回的文件描述符。
argp
指向 struct
v4l2_subdev_client_capability
的指针。
7.64.4. 描述¶
这些 ioctl 用于获取和设置客户端(使用子设备 ioctl 的应用程序)功能。客户端功能存储在打开的子设备节点的文件句柄中,客户端必须为每个打开的子设备单独设置功能。
默认情况下,打开子设备节点时未设置任何客户端功能。
客户端功能的目的是通知内核客户端的行为,主要与保持与不同内核和用户空间版本的兼容性有关。
VIDIOC_SUBDEV_G_CLIENT_CAP
ioctl 返回与文件句柄 fd
关联的当前客户端功能。
VIDIOC_SUBDEV_S_CLIENT_CAP
ioctl 设置文件句柄 fd
的客户端功能。新功能完全替换当前功能,因此该 ioctl 也可用于删除先前设置的功能。
VIDIOC_SUBDEV_S_CLIENT_CAP
修改 struct v4l2_subdev_client_capability
以反映已被接受的功能。内核不接受功能的一个常见情况是,内核比用户空间使用的标头旧,因此内核不知道该功能。
-
type v4l2_subdev_client_capability¶
__u64 |
|
打开的设备的子设备客户端功能。 |
功能 |
描述 |
---|---|
|
客户端知道流。设置此标志后,可以在各种 ioctl 中使用“流”字段(指流编号)。如果未设置此标志(默认设置),则内核将强制将“流”字段设置为 0。 |
|
客户端知道 |
7.64.5. 返回值¶
成功时返回 0,出错时返回 -1,并适当设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- ENOIOCTLCMD
内核不支持此 ioctl。