~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/vidioc-remove-bufs.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: V4L
  3 
  4 .. _VIDIOC_REMOVE_BUFS:
  5 
  6 ************************
  7 ioctl VIDIOC_REMOVE_BUFS
  8 ************************
  9 
 10 Name
 11 ====
 12 
 13 VIDIOC_REMOVE_BUFS - Removes buffers from a queue
 14 
 15 Synopsis
 16 ========
 17 
 18 .. c:macro:: VIDIOC_REMOVE_BUFS
 19 
 20 ``int ioctl(int fd, VIDIOC_REMOVE_BUFS, struct v4l2_remove_buffers *argp)``
 21 
 22 Arguments
 23 =========
 24 
 25 ``fd``
 26     File descriptor returned by :c:func:`open()`.
 27 
 28 ``argp``
 29     Pointer to struct :c:type:`v4l2_remove_buffers`.
 30 
 31 Description
 32 ===========
 33 
 34 Applications can optionally call the :ref:`VIDIOC_REMOVE_BUFS` ioctl to
 35 remove buffers from a queue.
 36 :ref:`VIDIOC_CREATE_BUFS` ioctl support is mandatory to enable :ref:`VIDIOC_REMOVE_BUFS`.
 37 This ioctl is available if the ``V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS`` capability
 38 is set on the queue when :c:func:`VIDIOC_REQBUFS` or :c:func:`VIDIOC_CREATE_BUFS`
 39 are invoked.
 40 
 41 .. c:type:: v4l2_remove_buffers
 42 
 43 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm}|
 44 
 45 .. flat-table:: struct v4l2_remove_buffers
 46     :header-rows:  0
 47     :stub-columns: 0
 48     :widths:       1 1 2
 49 
 50     * - __u32
 51       - ``index``
 52       - The starting buffer index to remove. This field is ignored if count == 0.
 53     * - __u32
 54       - ``count``
 55       - The number of buffers to be removed with indices 'index' until 'index + count - 1'.
 56         All buffers in this range must be valid and in DEQUEUED state.
 57         :ref:`VIDIOC_REMOVE_BUFS` will always check the validity of ``type`, if it is
 58         invalid it returns ``EINVAL`` error code.
 59         If count is set to 0 :ref:`VIDIOC_REMOVE_BUFS` will do nothing and return 0.
 60     * - __u32
 61       - ``type``
 62       - Type of the stream or buffers, this is the same as the struct
 63         :c:type:`v4l2_format` ``type`` field. See
 64         :c:type:`v4l2_buf_type` for valid values.
 65     * - __u32
 66       - ``reserved``\ [13]
 67       - A place holder for future extensions. Drivers and applications
 68         must set the array to zero.
 69 
 70 Return Value
 71 ============
 72 
 73 On success 0 is returned, on error -1 and the ``errno`` variable is set
 74 appropriately. The generic error codes are described at the
 75 :ref:`Generic Error Codes <gen-errors>` chapter. If an error occurs, no
 76 buffers will be freed and one of the error codes below will be returned:
 77 
 78 EBUSY
 79     File I/O is in progress.
 80     One or more of the buffers in the range ``index`` to ``index + count - 1`` are not
 81     in DEQUEUED state.
 82 
 83 EINVAL
 84     One or more of the buffers in the range ``index`` to ``index + count - 1`` do not
 85     exist in the queue.
 86     The buffer type (``type`` field) is not valid.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php