brintos

brintos / linux-shallow public Read only

0
0
Text · 2.8 KiB · 9b8d864 Raw
105 lines · plain
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later2.. c:namespace:: V4L3 4.. _VIDIOC_SUBDEV_QUERYCAP:5 6****************************7ioctl VIDIOC_SUBDEV_QUERYCAP8****************************9 10Name11====12 13VIDIOC_SUBDEV_QUERYCAP - Query sub-device capabilities14 15Synopsis16========17 18.. c:macro:: VIDIOC_SUBDEV_QUERYCAP19 20``int ioctl(int fd, VIDIOC_SUBDEV_QUERYCAP, struct v4l2_subdev_capability *argp)``21 22Arguments23=========24 25``fd``26    File descriptor returned by :c:func:`open()`.27 28``argp``29    Pointer to struct :c:type:`v4l2_subdev_capability`.30 31Description32===========33 34All V4L2 sub-devices support the ``VIDIOC_SUBDEV_QUERYCAP`` ioctl. It is used to35identify kernel devices compatible with this specification and to obtain36information about driver and hardware capabilities. The ioctl takes a pointer to37a struct :c:type:`v4l2_subdev_capability` which is filled by the driver. When38the driver is not compatible with this specification the ioctl returns39``ENOTTY`` error code.40 41.. tabularcolumns:: |p{1.5cm}|p{2.9cm}|p{12.9cm}|42 43.. c:type:: v4l2_subdev_capability44 45.. flat-table:: struct v4l2_subdev_capability46    :header-rows:  047    :stub-columns: 048    :widths:       3 4 2049 50    * - __u3251      - ``version``52      - Version number of the driver.53 54	The version reported is provided by the V4L2 subsystem following the55	kernel numbering scheme. However, it may not always return the same56	version as the kernel if, for example, a stable or57	distribution-modified kernel uses the V4L2 stack from a newer kernel.58 59	The version number is formatted using the ``KERNEL_VERSION()``60	macro:61    * - :cspan:`2`62 63	``#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))``64 65	``__u32 version = KERNEL_VERSION(0, 8, 1);``66 67	``printf ("Version: %u.%u.%u\\n",``68 69	``(version >> 16) & 0xFF, (version >> 8) & 0xFF, version & 0xFF);``70    * - __u3271      - ``capabilities``72      - Sub-device capabilities of the opened device, see73	:ref:`subdevice-capabilities`.74    * - __u3275      - ``reserved``\ [14]76      - Reserved for future extensions. Set to 0 by the V4L2 core.77 78.. tabularcolumns:: |p{6.8cm}|p{2.4cm}|p{8.1cm}|79 80.. _subdevice-capabilities:81 82.. cssclass:: longtable83 84.. flat-table:: Sub-Device Capabilities Flags85    :header-rows:  086    :stub-columns: 087    :widths:       3 1 488 89    * - V4L2_SUBDEV_CAP_RO_SUBDEV90      - 0x0000000191      - The sub-device device node is registered in read-only mode.92	Access to the sub-device ioctls that modify the device state is93	restricted. Refer to each individual subdevice ioctl documentation94	for a description of which restrictions apply to a read-only sub-device.95 96Return Value97============98 99On success 0 is returned, on error -1 and the ``errno`` variable is set100appropriately. The generic error codes are described at the101:ref:`Generic Error Codes <gen-errors>` chapter.102 103ENOTTY104    The device node is not a V4L2 sub-device.105