ioctl VIDIOC_PREPARE_BUF &manvol; VIDIOC_PREPARE_BUF Prepare a buffer for I/O int ioctl int fd int request struct v4l2_buffer *argp Arguments fd &fd; request VIDIOC_PREPARE_BUF argp Description Applications can optionally call the VIDIOC_PREPARE_BUF ioctl to pass ownership of the buffer to the driver before actually enqueuing it, using the VIDIOC_QBUF ioctl, and to prepare it for future I/O. Such preparations may include cache invalidation or cleaning. Performing them in advance saves time during the actual I/O. In case such cache operations are not required, the application can use one of V4L2_BUF_FLAG_NO_CACHE_INVALIDATE and V4L2_BUF_FLAG_NO_CACHE_CLEAN flags to skip the respective step. The v4l2_buffer structure is specified in . &return-value; EBUSY File I/O is in progress. EINVAL The buffer type is not supported, or the index is out of bounds, or no buffers have been allocated yet, or the userptr or length are invalid.