Documentation/userspace-api/media/v4l/vidioc-prepare-buf.rst
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later .. c:namespace:: V4L
.. _VIDIOC_PREPARE_BUF:
ioctl VIDIOC_PREPARE_BUF
VIDIOC_PREPARE_BUF - Prepare a buffer for I/O
.. c:macro:: VIDIOC_PREPARE_BUF
int ioctl(int fd, VIDIOC_PREPARE_BUF, struct v4l2_buffer *argp)
fd
File descriptor returned by :c:func:open().
argp
Pointer to struct :c:type:v4l2_buffer.
Applications can optionally call the :ref:VIDIOC_PREPARE_BUF ioctl to
pass ownership of the buffer to the driver before actually enqueuing it,
using the :ref:VIDIOC_QBUF <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.
The struct :c:type:v4l2_buffer structure is specified in
:ref:buffer.
On success 0 is returned, on error -1 and the errno variable is set
appropriately. The generic error codes are described at the
:ref:Generic Error Codes <gen-errors> chapter.
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.