1 .. SPDX-License-Identifier: GFDL-1.1-no-invari !! 1 .. Permission is granted to copy, distribute and/or modify this >> 2 .. document under the terms of the GNU Free Documentation License, >> 3 .. Version 1.1 or any later version published by the Free Software >> 4 .. Foundation, with no Invariant Sections, no Front-Cover Texts >> 5 .. and no Back-Cover Texts. A copy of the license is included at >> 6 .. Documentation/userspace-api/media/fdl-appendix.rst. >> 7 .. >> 8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections 2 9 3 .. _querycap: 10 .. _querycap: 4 11 5 ********************* 12 ********************* 6 Querying Capabilities 13 Querying Capabilities 7 ********************* 14 ********************* 8 15 9 Because V4L2 covers a wide variety of devices 16 Because V4L2 covers a wide variety of devices not all aspects of the API 10 are equally applicable to all types of devices 17 are equally applicable to all types of devices. Furthermore devices of 11 the same type have different capabilities and 18 the same type have different capabilities and this specification permits 12 the omission of a few complicated and less imp 19 the omission of a few complicated and less important parts of the API. 13 20 14 The :ref:`VIDIOC_QUERYCAP` ioctl is available 21 The :ref:`VIDIOC_QUERYCAP` ioctl is available to 15 check if the kernel device is compatible with 22 check if the kernel device is compatible with this specification, and to 16 query the :ref:`functions <devices>` and :ref: 23 query the :ref:`functions <devices>` and :ref:`I/O methods <io>` 17 supported by the device. 24 supported by the device. 18 25 19 Starting with kernel version 3.1, :ref:`VIDIOC 26 Starting with kernel version 3.1, :ref:`VIDIOC_QUERYCAP` 20 will return the V4L2 API version used by the d 27 will return the V4L2 API version used by the driver, with generally 21 matches the Kernel version. There's no need of 28 matches the Kernel version. There's no need of using 22 :ref:`VIDIOC_QUERYCAP` to check if a specific 29 :ref:`VIDIOC_QUERYCAP` to check if a specific ioctl 23 is supported, the V4L2 core now returns ``ENOT 30 is supported, the V4L2 core now returns ``ENOTTY`` if a driver doesn't 24 provide support for an ioctl. 31 provide support for an ioctl. 25 32 26 Other features can be queried by calling the r 33 Other features can be queried by calling the respective ioctl, for 27 example :ref:`VIDIOC_ENUMINPUT` to learn about 34 example :ref:`VIDIOC_ENUMINPUT` to learn about the 28 number, types and names of video connectors on 35 number, types and names of video connectors on the device. Although 29 abstraction is a major objective of this API, 36 abstraction is a major objective of this API, the 30 :ref:`VIDIOC_QUERYCAP` ioctl also allows drive 37 :ref:`VIDIOC_QUERYCAP` ioctl also allows driver 31 specific applications to reliably identify the 38 specific applications to reliably identify the driver. 32 39 33 All V4L2 drivers must support :ref:`VIDIOC_QUE 40 All V4L2 drivers must support :ref:`VIDIOC_QUERYCAP`. 34 Applications should always call this ioctl aft 41 Applications should always call this ioctl after opening the device.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.