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
指向结构体
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
修改结构体 v4l2_subdev_client_capability
以反映已接受的功能。内核不接受功能的常见情况是,内核版本比用户空间使用的头文件旧,因此内核不了解该功能。
-
type v4l2_subdev_client_capability¶
__u64 |
|
已打开设备的子设备客户端功能。 |
功能 |
描述 |
---|---|
|
客户端知道流。设置此标志可启用在各种 ioctl 中使用“流”字段(指流号)。如果未设置此标志(默认),内核会将“流”字段强制设置为 0。 |
|
客户端知道 |
7.64.5. 返回值¶
成功时返回 0,错误时返回 -1,并设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- ENOIOCTLCMD
内核不支持此 ioctl。