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

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/vidioc-querybuf.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 ] ~

Diff markup

Differences between /Documentation/userspace-api/media/v4l/vidioc-querybuf.rst (Version linux-6.12-rc7) and /Documentation/userspace-api/media/v4l/vidioc-querybuf.rst (Version linux-5.19.17)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari      1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: V4L                                2 .. c:namespace:: V4L
  3                                                     3 
  4 .. _VIDIOC_QUERYBUF:                                4 .. _VIDIOC_QUERYBUF:
  5                                                     5 
  6 *********************                               6 *********************
  7 ioctl VIDIOC_QUERYBUF                               7 ioctl VIDIOC_QUERYBUF
  8 *********************                               8 *********************
  9                                                     9 
 10 Name                                               10 Name
 11 ====                                               11 ====
 12                                                    12 
 13 VIDIOC_QUERYBUF - Query the status of a buffer     13 VIDIOC_QUERYBUF - Query the status of a buffer
 14                                                    14 
 15 Synopsis                                           15 Synopsis
 16 ========                                           16 ========
 17                                                    17 
 18 .. c:macro:: VIDIOC_QUERYBUF                       18 .. c:macro:: VIDIOC_QUERYBUF
 19                                                    19 
 20 ``int ioctl(int fd, VIDIOC_QUERYBUF, struct v4     20 ``int ioctl(int fd, VIDIOC_QUERYBUF, struct v4l2_buffer *argp)``
 21                                                    21 
 22 Arguments                                          22 Arguments
 23 =========                                          23 =========
 24                                                    24 
 25 ``fd``                                             25 ``fd``
 26     File descriptor returned by :c:func:`open(     26     File descriptor returned by :c:func:`open()`.
 27                                                    27 
 28 ``argp``                                           28 ``argp``
 29     Pointer to struct :c:type:`v4l2_buffer`.       29     Pointer to struct :c:type:`v4l2_buffer`.
 30                                                    30 
 31 Description                                        31 Description
 32 ===========                                        32 ===========
 33                                                    33 
 34 This ioctl is part of the :ref:`streaming <mma     34 This ioctl is part of the :ref:`streaming <mmap>` I/O method. It can
 35 be used to query the status of a buffer at any     35 be used to query the status of a buffer at any time after buffers have
 36 been allocated with the :ref:`VIDIOC_REQBUFS`      36 been allocated with the :ref:`VIDIOC_REQBUFS` ioctl.
 37                                                    37 
 38 Applications set the ``type`` field of a struc     38 Applications set the ``type`` field of a struct
 39 :c:type:`v4l2_buffer` to the same buffer type      39 :c:type:`v4l2_buffer` to the same buffer type as was
 40 previously used with struct :c:type:`v4l2_form     40 previously used with struct :c:type:`v4l2_format` ``type``
 41 and struct :c:type:`v4l2_requestbuffers` ``typ     41 and struct :c:type:`v4l2_requestbuffers` ``type``,
 42 and the ``index`` field. Valid index numbers r     42 and the ``index`` field. Valid index numbers range from zero to the
 43 number of buffers allocated with                   43 number of buffers allocated with
 44 :ref:`VIDIOC_REQBUFS` (struct                      44 :ref:`VIDIOC_REQBUFS` (struct
 45 :c:type:`v4l2_requestbuffers` ``count``) minus     45 :c:type:`v4l2_requestbuffers` ``count``) minus
 46 one. The ``reserved`` and ``reserved2`` fields     46 one. The ``reserved`` and ``reserved2`` fields must be set to 0. When
 47 using the :ref:`multi-planar API <planar-apis>     47 using the :ref:`multi-planar API <planar-apis>`, the ``m.planes``
 48 field must contain a userspace pointer to an a     48 field must contain a userspace pointer to an array of struct
 49 :c:type:`v4l2_plane` and the ``length`` field      49 :c:type:`v4l2_plane` and the ``length`` field has to be set
 50 to the number of elements in that array. After     50 to the number of elements in that array. After calling
 51 :ref:`VIDIOC_QUERYBUF` with a pointer to this      51 :ref:`VIDIOC_QUERYBUF` with a pointer to this structure drivers return an
 52 error code or fill the rest of the structure.      52 error code or fill the rest of the structure.
 53                                                    53 
 54 In the ``flags`` field the ``V4L2_BUF_FLAG_MAP     54 In the ``flags`` field the ``V4L2_BUF_FLAG_MAPPED``,
 55 ``V4L2_BUF_FLAG_PREPARED``, ``V4L2_BUF_FLAG_QU     55 ``V4L2_BUF_FLAG_PREPARED``, ``V4L2_BUF_FLAG_QUEUED`` and
 56 ``V4L2_BUF_FLAG_DONE`` flags will be valid. Th     56 ``V4L2_BUF_FLAG_DONE`` flags will be valid. The ``memory`` field will be
 57 set to the current I/O method. For the single-     57 set to the current I/O method. For the single-planar API, the
 58 ``m.offset`` contains the offset of the buffer     58 ``m.offset`` contains the offset of the buffer from the start of the
 59 device memory, the ``length`` field its size.      59 device memory, the ``length`` field its size. For the multi-planar API,
 60 fields ``m.mem_offset`` and ``length`` in the      60 fields ``m.mem_offset`` and ``length`` in the ``m.planes`` array
 61 elements will be used instead and the ``length     61 elements will be used instead and the ``length`` field of struct
 62 :c:type:`v4l2_buffer` is set to the number of      62 :c:type:`v4l2_buffer` is set to the number of filled-in
 63 array elements. The driver may or may not set      63 array elements. The driver may or may not set the remaining fields and
 64 flags, they are meaningless in this context.       64 flags, they are meaningless in this context.
 65                                                    65 
 66 The struct :c:type:`v4l2_buffer` structure is      66 The struct :c:type:`v4l2_buffer` structure is specified in
 67 :ref:`buffer`.                                     67 :ref:`buffer`.
 68                                                    68 
 69 Return Value                                       69 Return Value
 70 ============                                       70 ============
 71                                                    71 
 72 On success 0 is returned, on error -1 and the      72 On success 0 is returned, on error -1 and the ``errno`` variable is set
 73 appropriately. The generic error codes are des     73 appropriately. The generic error codes are described at the
 74 :ref:`Generic Error Codes <gen-errors>` chapte     74 :ref:`Generic Error Codes <gen-errors>` chapter.
 75                                                    75 
 76 EINVAL                                             76 EINVAL
 77     The buffer ``type`` is not supported, or t     77     The buffer ``type`` is not supported, or the ``index`` is out of
 78     bounds.                                        78     bounds.
                                                      

~ [ 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