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

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-client-cap.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-subdev-g-client-cap.rst (Architecture i386) and /Documentation/userspace-api/media/v4l/vidioc-subdev-g-client-cap.rst (Architecture alpha)


  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_SUBDEV_G_CLIENT_CAP:                     4 .. _VIDIOC_SUBDEV_G_CLIENT_CAP:
  5                                                     5 
  6 **********************************************      6 ************************************************************
  7 ioctl VIDIOC_SUBDEV_G_CLIENT_CAP, VIDIOC_SUBDE      7 ioctl VIDIOC_SUBDEV_G_CLIENT_CAP, VIDIOC_SUBDEV_S_CLIENT_CAP
  8 **********************************************      8 ************************************************************
  9                                                     9 
 10 Name                                               10 Name
 11 ====                                               11 ====
 12                                                    12 
 13 VIDIOC_SUBDEV_G_CLIENT_CAP - VIDIOC_SUBDEV_S_C     13 VIDIOC_SUBDEV_G_CLIENT_CAP - VIDIOC_SUBDEV_S_CLIENT_CAP - Get or set client
 14 capabilities.                                      14 capabilities.
 15                                                    15 
 16 Synopsis                                           16 Synopsis
 17 ========                                           17 ========
 18                                                    18 
 19 .. c:macro:: VIDIOC_SUBDEV_G_CLIENT_CAP            19 .. c:macro:: VIDIOC_SUBDEV_G_CLIENT_CAP
 20                                                    20 
 21 ``int ioctl(int fd, VIDIOC_SUBDEV_G_CLIENT_CAP     21 ``int ioctl(int fd, VIDIOC_SUBDEV_G_CLIENT_CAP, struct v4l2_subdev_client_capability *argp)``
 22                                                    22 
 23 .. c:macro:: VIDIOC_SUBDEV_S_CLIENT_CAP            23 .. c:macro:: VIDIOC_SUBDEV_S_CLIENT_CAP
 24                                                    24 
 25 ``int ioctl(int fd, VIDIOC_SUBDEV_S_CLIENT_CAP     25 ``int ioctl(int fd, VIDIOC_SUBDEV_S_CLIENT_CAP, struct v4l2_subdev_client_capability *argp)``
 26                                                    26 
 27 Arguments                                          27 Arguments
 28 =========                                          28 =========
 29                                                    29 
 30 ``fd``                                             30 ``fd``
 31     File descriptor returned by :ref:`open() <     31     File descriptor returned by :ref:`open() <func-open>`.
 32                                                    32 
 33 ``argp``                                           33 ``argp``
 34     Pointer to struct :c:type:`v4l2_subdev_cli     34     Pointer to struct :c:type:`v4l2_subdev_client_capability`.
 35                                                    35 
 36 Description                                        36 Description
 37 ===========                                        37 ===========
 38                                                    38 
 39 These ioctls are used to get and set the clien     39 These ioctls are used to get and set the client (the application using the
 40 subdevice ioctls) capabilities. The client cap     40 subdevice ioctls) capabilities. The client capabilities are stored in the file
 41 handle of the opened subdev device node, and t     41 handle of the opened subdev device node, and the client must set the
 42 capabilities for each opened subdev separately     42 capabilities for each opened subdev separately.
 43                                                    43 
 44 By default no client capabilities are set when     44 By default no client capabilities are set when a subdev device node is opened.
 45                                                    45 
 46 The purpose of the client capabilities are to      46 The purpose of the client capabilities are to inform the kernel of the behavior
 47 of the client, mainly related to maintaining c     47 of the client, mainly related to maintaining compatibility with different
 48 kernel and userspace versions.                     48 kernel and userspace versions.
 49                                                    49 
 50 The ``VIDIOC_SUBDEV_G_CLIENT_CAP`` ioctl retur     50 The ``VIDIOC_SUBDEV_G_CLIENT_CAP`` ioctl returns the current client capabilities
 51 associated with the file handle ``fd``.            51 associated with the file handle ``fd``.
 52                                                    52 
 53 The ``VIDIOC_SUBDEV_S_CLIENT_CAP`` ioctl sets      53 The ``VIDIOC_SUBDEV_S_CLIENT_CAP`` ioctl sets client capabilities for the file
 54 handle ``fd``. The new capabilities fully repl     54 handle ``fd``. The new capabilities fully replace the current capabilities, the
 55 ioctl can therefore also be used to remove cap     55 ioctl can therefore also be used to remove capabilities that have previously
 56 been set.                                          56 been set.
 57                                                    57 
 58 ``VIDIOC_SUBDEV_S_CLIENT_CAP`` modifies the st     58 ``VIDIOC_SUBDEV_S_CLIENT_CAP`` modifies the struct
 59 :c:type:`v4l2_subdev_client_capability` to ref     59 :c:type:`v4l2_subdev_client_capability` to reflect the capabilities that have
 60 been accepted. A common case for the kernel no     60 been accepted. A common case for the kernel not accepting a capability is that
 61 the kernel is older than the headers the users     61 the kernel is older than the headers the userspace uses, and thus the capability
 62 is unknown to the kernel.                          62 is unknown to the kernel.
 63                                                    63 
 64 .. tabularcolumns:: |p{1.5cm}|p{2.9cm}|p{12.9c     64 .. tabularcolumns:: |p{1.5cm}|p{2.9cm}|p{12.9cm}|
 65                                                    65 
 66 .. c:type:: v4l2_subdev_client_capability          66 .. c:type:: v4l2_subdev_client_capability
 67                                                    67 
 68 .. flat-table:: struct v4l2_subdev_client_capa     68 .. flat-table:: struct v4l2_subdev_client_capability
 69     :header-rows:  0                               69     :header-rows:  0
 70     :stub-columns: 0                               70     :stub-columns: 0
 71     :widths:       3 4 20                          71     :widths:       3 4 20
 72                                                    72 
 73     * - __u64                                      73     * - __u64
 74       - ``capabilities``                           74       - ``capabilities``
 75       - Sub-device client capabilities of the      75       - Sub-device client capabilities of the opened device.
 76                                                    76 
 77 .. tabularcolumns:: |p{6.8cm}|p{2.4cm}|p{8.1cm     77 .. tabularcolumns:: |p{6.8cm}|p{2.4cm}|p{8.1cm}|
 78                                                    78 
 79 .. flat-table:: Client Capabilities                79 .. flat-table:: Client Capabilities
 80     :header-rows:  1                               80     :header-rows:  1
 81                                                    81 
 82     * - Capability                                 82     * - Capability
 83       - Description                                83       - Description
 84     * - ``V4L2_SUBDEV_CLIENT_CAP_STREAMS``         84     * - ``V4L2_SUBDEV_CLIENT_CAP_STREAMS``
 85       - The client is aware of streams. Settin     85       - The client is aware of streams. Setting this flag enables the use
 86         of 'stream' fields (referring to the s     86         of 'stream' fields (referring to the stream number) with various
 87         ioctls. If this is not set (which is t     87         ioctls. If this is not set (which is the default), the 'stream' fields
 88         will be forced to 0 by the kernel.         88         will be forced to 0 by the kernel.
 89     * - ``V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES     89     * - ``V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES_WHICH``
 90       - The client is aware of the :c:type:`v4     90       - The client is aware of the :c:type:`v4l2_subdev_frame_interval`
 91         ``which`` field. If this is not set (w     91         ``which`` field. If this is not set (which is the default), the
 92         ``which`` field is forced to ``V4L2_SU     92         ``which`` field is forced to ``V4L2_SUBDEV_FORMAT_ACTIVE`` by the
 93         kernel.                                    93         kernel.
 94                                                    94 
 95 Return Value                                       95 Return Value
 96 ============                                       96 ============
 97                                                    97 
 98 On success 0 is returned, on error -1 and the      98 On success 0 is returned, on error -1 and the ``errno`` variable is set
 99 appropriately. The generic error codes are des     99 appropriately. The generic error codes are described at the
100 :ref:`Generic Error Codes <gen-errors>` chapte    100 :ref:`Generic Error Codes <gen-errors>` chapter.
101                                                   101 
102 ENOIOCTLCMD                                       102 ENOIOCTLCMD
103    The kernel does not support this ioctl.        103    The kernel does not support this ioctl.
                                                      

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