5.9. ioctl MEDIA_IOC_REQUEST_ALLOC¶
5.9.1. 名称¶
MEDIA_IOC_REQUEST_ALLOC - 分配请求
5.9.2. 概要¶
-
MEDIA_IOC_REQUEST_ALLOC¶
int ioctl(int fd, MEDIA_IOC_REQUEST_ALLOC, int *argp)
5.9.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向整数的指针。
5.9.4. 描述¶
如果媒体设备支持 请求,则可以使用此 ioctl 分配请求。 如果不支持,则 errno
设置为 ENOTTY
。 通过 *argp
中返回的文件描述符访问请求。
如果请求已成功分配,则可以将请求文件描述符传递给 VIDIOC_QBUF、VIDIOC_G_EXT_CTRLS、VIDIOC_S_EXT_CTRLS 和 VIDIOC_TRY_EXT_CTRLS ioctl。
此外,可以通过调用 ioctl MEDIA_REQUEST_IOC_QUEUE 来排队请求,并通过调用 ioctl MEDIA_REQUEST_IOC_REINIT 重新初始化请求。
最后,可以 轮询 文件描述符以等待请求完成。
请求将保持分配状态,直到与其关联的所有文件描述符都被 close()
关闭并且驱动程序不再在内部使用该请求为止。另请参阅 此处 以获取更多信息。
5.9.5. 返回值¶
成功时返回 0,出错时返回 -1,并且会适当设置 errno
变量。 泛型错误代码在 通用错误代码 章节中描述。
- ENOTTY
驱动程序不支持请求。