€•#\Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”ŒF/translations/zh_CN/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒF/translations/zh_TW/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒF/translations/it_IT/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒF/translations/ja_JP/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒF/translations/ko_KR/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒF/translations/pt_BR/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒF/translations/sp_SP/userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”h]”hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ`/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-client-cap.rst”h´KubhŒtarget”“”)”}”(hŒ.. _VIDIOC_SUBDEV_G_CLIENT_CAP:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œvidioc-subdev-g-client-cap”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ``fd`` File descriptor returned by :ref:`open() `. ”h]”(hŒterm”“”)”}”(hŒ``fd``”h]”j—)”}”(hj6h]”hŒfd”…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2h³hÇh´Khj.ubhŒ definition”“”)”}”(hhh]”hý)”}”(hŒ6File descriptor returned by :ref:`open() `.”h]”(hŒFile descriptor returned by ”…””}”(hjPh²hh³Nh´Nubh)”}”(hŒ:ref:`open() `”h]”hŒinline”“”)”}”(hjZh]”hŒopen()”…””}”(hj^h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j\hjXubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ2userspace-api/media/v4l/vidioc-subdev-g-client-cap”Œ refdomain”jiŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ func-open”uh1hh³hÇh´KhjPubhŒ.”…””}”(hjPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,h³hÇh´Khj)ubj-)”}”(hŒD``argp`` Pointer to struct :c:type:`v4l2_subdev_client_capability`. ”h]”(j3)”}”(hŒ``argp``”h]”j—)”}”(hj™h]”hŒargp”…””}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2h³hÇh´K"hj“ubjL)”}”(hhh]”hý)”}”(hŒ:Pointer to struct :c:type:`v4l2_subdev_client_capability`.”h]”(hŒPointer to struct ”…””}”(hj±h²hh³Nh´Nubh)”}”(hŒ':c:type:`v4l2_subdev_client_capability`”h]”j—)”}”(hj»h]”hŒv4l2_subdev_client_capability”…””}”(hj½h²hh³Nh´Nubah}”(h]”h ]”(jhj‡Œc-type”eh"]”h$]”h&]”uh1j–hj¹ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”juŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”jØŒ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbj{Œv4l2_subdev_client_capability”uh1hh³hÇh´K"hj±ubhŒ.”…””}”(hj±h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K"hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,h³hÇh´K"hj)h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j'hjh²hh³hÇh´Nubeh}”(h]”Œ arguments”ah ]”h"]”Œ arguments”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒ Description”h]”hŒ Description”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj h²hh³hÇh´K%ubhý)”}”(hXThese ioctls are used to get and set the client (the application using the subdevice ioctls) capabilities. The client capabilities are stored in the file handle of the opened subdev device node, and the client must set the capabilities for each opened subdev separately.”h]”hXThese ioctls are used to get and set the client (the application using the subdevice ioctls) capabilities. The client capabilities are stored in the file handle of the opened subdev device node, and the client must set the capabilities for each opened subdev separately.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K'hj h²hubhý)”}”(hŒNBy default no client capabilities are set when a subdev device node is opened.”h]”hŒNBy default no client capabilities are set when a subdev device node is opened.”…””}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K,hj h²hubhý)”}”(hŒ¸The purpose of the client capabilities are to inform the kernel of the behavior of the client, mainly related to maintaining compatibility with different kernel and userspace versions.”h]”hŒ¸The purpose of the client capabilities are to inform the kernel of the behavior of the client, mainly related to maintaining compatibility with different kernel and userspace versions.”…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K.hj h²hubhý)”}”(hŒxThe ``VIDIOC_SUBDEV_G_CLIENT_CAP`` ioctl returns the current client capabilities associated with the file handle ``fd``.”h]”(hŒThe ”…””}”(hjFh²hh³Nh´Nubj—)”}”(hŒ``VIDIOC_SUBDEV_G_CLIENT_CAP``”h]”hŒVIDIOC_SUBDEV_G_CLIENT_CAP”…””}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjFubhŒO ioctl returns the current client capabilities associated with the file handle ”…””}”(hjFh²hh³Nh´Nubj—)”}”(hŒ``fd``”h]”hŒfd”…””}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjFubhŒ.”…””}”(hjFh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K2hj h²hubhý)”}”(hŒõThe ``VIDIOC_SUBDEV_S_CLIENT_CAP`` ioctl sets client capabilities for the file handle ``fd``. The new capabilities fully replace the current capabilities, the ioctl can therefore also be used to remove capabilities that have previously been set.”h]”(hŒThe ”…””}”(hjxh²hh³Nh´Nubj—)”}”(hŒ``VIDIOC_SUBDEV_S_CLIENT_CAP``”h]”hŒVIDIOC_SUBDEV_S_CLIENT_CAP”…””}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjxubhŒ4 ioctl sets client capabilities for the file handle ”…””}”(hjxh²hh³Nh´Nubj—)”}”(hŒ``fd``”h]”hŒfd”…””}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjxubhŒ™. The new capabilities fully replace the current capabilities, the ioctl can therefore also be used to remove capabilities that have previously been set.”…””}”(hjxh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K5hj h²hubhý)”}”(hX:``VIDIOC_SUBDEV_S_CLIENT_CAP`` modifies the struct :c:type:`v4l2_subdev_client_capability` to reflect the capabilities that have been accepted. A common case for the kernel not accepting a capability is that the kernel is older than the headers the userspace uses, and thus the capability is unknown to the kernel.”h]”(j—)”}”(hŒ``VIDIOC_SUBDEV_S_CLIENT_CAP``”h]”hŒVIDIOC_SUBDEV_S_CLIENT_CAP”…””}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjªubhŒ modifies the struct ”…””}”(hjªh²hh³Nh´Nubh)”}”(hŒ':c:type:`v4l2_subdev_client_capability`”h]”j—)”}”(hjÂh]”hŒv4l2_subdev_client_capability”…””}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”(jhj‡Œc-type”eh"]”h$]”h&]”uh1j–hjÀubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”juŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j×jÛj{Œv4l2_subdev_client_capability”uh1hh³hÇh´K:hjªubhŒà to reflect the capabilities that have been accepted. A common case for the kernel not accepting a capability is that the kernel is older than the headers the userspace uses, and thus the capability is unknown to the kernel.”…””}”(hjªh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K:hj h²hubhŒtabular_col_spec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œspec”Œ|p{1.5cm}|p{2.9cm}|p{12.9cm}|”uh1jéh³hÇh´K@hj h²hubj&)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j2Œ*V4L.v4l2_subdev_client_capability (C type)”Œ#c.V4L.v4l2_subdev_client_capability”hNt”auh1j%hj h²hh³Nh´Nubj7)”}”(hhh]”(j<)”}”(hŒv4l2_subdev_client_capability”h]”jB)”}”(hŒ"type v4l2_subdev_client_capability”h]”(hŒdesc_sig_keyword”“”)”}”(hŒtype”h]”hŒtype”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jhj h²hh³hÇh´KBubhŒdesc_sig_space”“”)”}”(hŒ ”h]”hŒ ”…””}”(hj"h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j hj h²hh³hÇh´KBubjH)”}”(hŒv4l2_subdev_client_capability”h]”jN)”}”(hj h]”hŒv4l2_subdev_client_capability”…””}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jYah"]”h$]”h&]”uh1jMhj1ubah}”(h]”h ]”(j`jaeh"]”h$]”h&]”hÅhÆuh1jGhj h²hh³hÇh´KBubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjkˆuh1jAjljmhjh²hh³hÇh´KBubah}”(h]”jah ]”(jqjreh"]”h$]”h&]”jvˆjw)jxhuh1j;h³hÇh´KBhjh²hubjz)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jyhjh²hh³hÇh´KBubeh}”(h]”h ]”(j‡Œtype”eh"]”h$]”h&]”jŒj‡jj`jŽj`j‰j‰j‘‰uh1j6h²hhj h³Nh´NubhŒtable”“”)”}”(hhh]”(hÜ)”}”(hŒ$struct v4l2_subdev_client_capability”h]”hŒ$struct v4l2_subdev_client_capability”…””}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÇh´KDhjfubhŒtgroup”“”)”}”(hhh]”(hŒcolspec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j|hjyubj})”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j|hjyubj})”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j|hjyubhŒtbody”“”)”}”(hhh]”hŒrow”“”)”}”(hhh]”(hŒentry”“”)”}”(hhh]”hý)”}”(hŒ__u64”h]”hŒ__u64”…””}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KIhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hj£ubj§)”}”(hhh]”hý)”}”(hŒ``capabilities``”h]”j—)”}”(hjÄh]”hŒ capabilities”…””}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KJhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hj£ubj§)”}”(hhh]”hý)”}”(hŒ4Sub-device client capabilities of the opened device.”h]”hŒ4Sub-device client capabilities of the opened device.”…””}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KKhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjyubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jwhjfubeh}”(h]”Œid1”ah ]”h"]”h$]”h&]”uh1jdhj h²hh³Nh´Nubjê)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”jôŒ|p{6.8cm}|p{2.4cm}|p{8.1cm}|”uh1jéh³hÇh´KMhj h²hubje)”}”(hhh]”(hÜ)”}”(hŒClient Capabilities”h]”hŒClient Capabilities”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÇh´KOhjubjx)”}”(hhh]”(j})”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K2uh1j|hj+ubj})”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K2uh1j|hj+ubhŒthead”“”)”}”(hhh]”j¢)”}”(hhh]”(j§)”}”(hhh]”hý)”}”(hŒ Capability”h]”hŒ Capability”…””}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KRhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hjGubj§)”}”(hhh]”hý)”}”(hŒ Description”h]”hŒ Description”…””}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KShjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¡hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jBhj+ubj)”}”(hhh]”(j¢)”}”(hhh]”(j§)”}”(hhh]”hý)”}”(hŒ"``V4L2_SUBDEV_CLIENT_CAP_STREAMS``”h]”j—)”}”(hjh]”hŒV4L2_SUBDEV_CLIENT_CAP_STREAMS”…””}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KThjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hj‡ubj§)”}”(hhh]”hý)”}”(hŒìThe client is aware of streams. Setting this flag enables the use of 'stream' fields (referring to the stream number) with various ioctls. If this is not set (which is the default), the 'stream' fields will be forced to 0 by the kernel.”h]”hŒôThe client is aware of streams. Setting this flag enables the use of ‘stream’ fields (referring to the stream number) with various ioctls. If this is not set (which is the default), the ‘stream’ fields will be forced to 0 by the kernel.”…””}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KUhjªubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¡hj„ubj¢)”}”(hhh]”(j§)”}”(hhh]”hý)”}”(hŒ.``V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES_WHICH``”h]”j—)”}”(hjÏh]”hŒ*V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES_WHICH”…””}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KYhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hjÇubj§)”}”(hhh]”hý)”}”(hŒÉThe client is aware of the :c:type:`v4l2_subdev_frame_interval` ``which`` field. If this is not set (which is the default), the ``which`` field is forced to ``V4L2_SUBDEV_FORMAT_ACTIVE`` by the kernel.”h]”(hŒThe client is aware of the ”…””}”(hjíh²hh³Nh´Nubh)”}”(hŒ$:c:type:`v4l2_subdev_frame_interval`”h]”j—)”}”(hj÷h]”hŒv4l2_subdev_frame_interval”…””}”(hjùh²hh³Nh´Nubah}”(h]”h ]”(jhj‡Œc-type”eh"]”h$]”h&]”uh1j–hjõubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”juŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j×jÛj{Œv4l2_subdev_frame_interval”uh1hh³hÇh´KZhjíubhŒ ”…””}”(hjíh²hh³Nh´Nubj—)”}”(hŒ ``which``”h]”hŒwhich”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjíubhŒ7 field. If this is not set (which is the default), the ”…””}”(hjíh²hh³Nh´Nubj—)”}”(hŒ ``which``”h]”hŒwhich”…””}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjíubhŒ field is forced to ”…””}”(hjíh²hh³Nh´Nubj—)”}”(hŒ``V4L2_SUBDEV_FORMAT_ACTIVE``”h]”hŒV4L2_SUBDEV_FORMAT_ACTIVE”…””}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjíubhŒ by the kernel.”…””}”(hjíh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KZhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1j¦hjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¡hj„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jœhj+ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1jwhjubeh}”(h]”Œid2”ah ]”h"]”h$]”h&]”uh1jdhj h²hh³Nh´Nubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K%ubh×)”}”(hhh]”(hÜ)”}”(hŒ Return Value”h]”hŒ Return Value”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj|h²hh³hÇh´K`ubhý)”}”(hŒ´On success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter.”h]”(hŒ.On success 0 is returned, on error -1 and the ”…””}”(hjh²hh³Nh´Nubj—)”}”(hŒ ``errno``”h]”hŒerrno”…””}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubhŒM variable is set appropriately. The generic error codes are described at the ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ':ref:`Generic Error Codes `”h]”j])”}”(hj©h]”hŒGeneric Error Codes”…””}”(hj«h²hh³Nh´Nubah}”(h]”h ]”(jhŒstd”Œstd-ref”eh"]”h$]”h&]”uh1j\hj§ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”juŒ refdomain”jµŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj{Œ gen-errors”uh1hh³hÇh´KbhjubhŒ chapter.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kbhj|h²hubj()”}”(hhh]”j-)”}”(hŒ3ENOIOCTLCMD The kernel does not support this ioctl.”h]”(j3)”}”(hŒ ENOIOCTLCMD”h]”hŒ ENOIOCTLCMD”…””}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j2h³hÇh´KfhjÔubjL)”}”(hhh]”hý)”}”(hŒ'The kernel does not support this ioctl.”h]”hŒ'The kernel does not support this ioctl.”…””}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kghjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,h³hÇh´KfhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj|h²hh³hÇh´Nubeh}”(h]”Œ return-value”ah ]”h"]”Œ return value”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K`ubeh}”(h]”(Œ;ioctl-vidioc-subdev-g-client-cap-vidioc-subdev-s-client-cap”hÕeh ]”h"]”(Œ