€•};Œ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”ŒG/translations/zh_CN/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒG/translations/zh_TW/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒG/translations/it_IT/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒG/translations/ja_JP/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒG/translations/ko_KR/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒG/translations/pt_BR/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒG/translations/sp_SP/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œ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Œ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œa/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl.rst”h´KubhŒtarget”“”)”}”(hŒ%.. _GPIO_V2_GET_LINEINFO_WATCH_IOCTL:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ gpio-v2-get-lineinfo-watch-ioctl”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ GPIO_V2_GET_LINEINFO_WATCH_IOCTL”h]”hŒ GPIO_V2_GET_LINEINFO_WATCH_IOCTL”…””}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒName”h]”hŒName”…””}”(hhîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhëh²hh³hÇh´K ubhŒ paragraph”“”)”}”(hŒyGPIO_V2_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its request state and configuration information.”h]”hŒyGPIO_V2_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its request state and configuration information.”…””}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K hhëh²hubeh}”(h]”Œname”ah ]”h"]”Œname”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K ubh×)”}”(hhh]”(hÜ)”}”(hŒSynopsis”h]”hŒSynopsis”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjh²hh³hÇh´KubhŒindex”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ*GPIO_V2_GET_LINEINFO_WATCH_IOCTL (C macro)”Œ"c.GPIO_V2_GET_LINEINFO_WATCH_IOCTL”hNt”auh1j%hjh²hh³Nh´NubhŒdesc”“”)”}”(hhh]”(hŒdesc_signature”“”)”}”(hŒ GPIO_V2_GET_LINEINFO_WATCH_IOCTL”h]”hŒdesc_signature_line”“”)”}”(hŒ GPIO_V2_GET_LINEINFO_WATCH_IOCTL”h]”hŒ desc_name”“”)”}”(hŒ GPIO_V2_GET_LINEINFO_WATCH_IOCTL”h]”hŒ desc_sig_name”“”)”}”(hj?h]”hŒ GPIO_V2_GET_LINEINFO_WATCH_IOCTL”…””}”(hjOh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jMhjIubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jGhjCh²hh³hÇh´Kubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jAŒsphinx_line_type”Œ declarator”hj=h²hh³hÇh´Kubah}”(h]”j4ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j;h³hÇh´Khj8h²hubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jyhj8h²hh³hÇh´Kubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”j‡Œobjtype”jˆŒdesctype”jˆŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j6h²hhjh³Nh´Nubhý)”}”(hŒ\``int ioctl(int chip_fd, GPIO_V2_GET_LINEINFO_WATCH_IOCTL, struct gpio_v2_line_info *info)``”h]”hŒliteral”“”)”}”(hj”h]”hŒXint ioctl(int chip_fd, GPIO_V2_GET_LINEINFO_WATCH_IOCTL, struct gpio_v2_line_info *info)”…””}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khjh²hubeh}”(h]”Œsynopsis”ah ]”h"]”Œsynopsis”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒ Arguments”h]”hŒ Arguments”…””}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj³h²hh³hÇh´KubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒS``chip_fd`` The file descriptor of the GPIO character device returned by `open()`. ”h]”(hŒterm”“”)”}”(hŒ ``chip_fd``”h]”j—)”}”(hjÓh]”hŒchip_fd”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏh³hÇh´KhjËubhŒ definition”“”)”}”(hhh]”hý)”}”(hŒFThe file descriptor of the GPIO character device returned by `open()`.”h]”(hŒ=The file descriptor of the GPIO character device returned by ”…””}”(hjíh²hh³Nh´NubhŒtitle_reference”“”)”}”(hŒ`open()`”h]”hŒopen()”…””}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjíubhŒ.”…””}”(hjíh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³hÇh´KhjÆubjÊ)”}”(hŒ‚``info`` The :c:type:`line_info` struct to be populated, with the ``offset`` set to indicate the line to watch ”h]”(jÐ)”}”(hŒ``info``”h]”j—)”}”(hj!h]”hŒinfo”…””}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÏh³hÇh´Khjubjé)”}”(hhh]”hý)”}”(hŒxThe :c:type:`line_info` struct to be populated, with the ``offset`` set to indicate the line to watch”h]”(hŒThe ”…””}”(hj9h²hh³Nh´Nubh)”}”(hŒ&:c:type:`line_info`”h]”j—)”}”(hjCh]”hŒ line_info”…””}”(hjEh²hh³Nh´Nubah}”(h]”h ]”(Œxref”j‡Œc-type”eh"]”h$]”h&]”uh1j–hjAubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ3userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œ refdomain”j‡Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”sbŒ reftarget”Œgpio_v2_line_info”uh1hh³hÇh´Khj9ubhŒ" struct to be populated, with the ”…””}”(hj9h²hh³Nh´Nubj—)”}”(hŒ ``offset``”h]”hŒoffset”…””}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj9ubhŒ" set to indicate the line to watch”…””}”(hj9h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jèhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÉh³hÇh´KhjÆh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÄhj³h²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”…””}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj¡h²hh³hÇh´K!ubhý)”}”(hŒ¥Enable watching a line for changes to its request state and configuration information. Changes to line info include a line being requested, released or reconfigured.”h]”hŒ¥Enable watching a line for changes to its request state and configuration information. Changes to line info include a line being requested, released or reconfigured.”…””}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K#hj¡h²hubhŒnote”“”)”}”(hXGWatching line info is not generally required, and would typically only be used by a system monitoring component. The line info does NOT include the line value. The line must be requested using gpio-v2-get-line-ioctl.rst to access its value, and the line request can monitor a line for events using gpio-v2-line-event-read.rst.”h]”(hý)”}”(hŒpWatching line info is not generally required, and would typically only be used by a system monitoring component.”h]”hŒpWatching line info is not generally required, and would typically only be used by a system monitoring component.”…””}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K(hjÂubhý)”}”(hŒÕThe line info does NOT include the line value. The line must be requested using gpio-v2-get-line-ioctl.rst to access its value, and the line request can monitor a line for events using gpio-v2-line-event-read.rst.”h]”hŒÕThe line info does NOT include the line value. The line must be requested using gpio-v2-get-line-ioctl.rst to access its value, and the line request can monitor a line for events using gpio-v2-line-event-read.rst.”…””}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K+hjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÀhj¡h²hh³hÇh´Nubhý)”}”(hŒ@By default all lines are unwatched when the GPIO chip is opened.”h]”hŒ@By default all lines are unwatched when the GPIO chip is opened.”…””}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K0hj¡h²hubhý)”}”(hŒHMultiple lines may be watched simultaneously by adding a watch for each.”h]”hŒHMultiple lines may be watched simultaneously by adding a watch for each.”…””}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K2hj¡h²hubhý)”}”(hŒœOnce a watch is set, any changes to line info will generate events which can be read from the ``chip_fd`` as described in gpio-v2-lineinfo-changed-read.rst.”h]”(hŒ^Once a watch is set, any changes to line info will generate events which can be read from the ”…””}”(hjh²hh³Nh´Nubj—)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubhŒ3 as described in gpio-v2-lineinfo-changed-read.rst.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K4hj¡h²hubhý)”}”(hŒIAdding a watch to a line that is already watched is an error (**EBUSY**).”h]”(hŒ>Adding a watch to a line that is already watched is an error (”…””}”(hj$h²hh³Nh´NubhŒstrong”“”)”}”(hŒ **EBUSY**”h]”hŒEBUSY”…””}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj$ubhŒ).”…””}”(hj$h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K8hj¡h²hubhý)”}”(hŒ…Watches are specific to the ``chip_fd`` and are independent of watches on the same GPIO chip opened with a separate call to `open()`.”h]”(hŒWatches are specific to the ”…””}”(hjFh²hh³Nh´Nubj—)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjFubhŒU and are independent of watches on the same GPIO chip opened with a separate call to ”…””}”(hjFh²hh³Nh´Nubjö)”}”(hŒ`open()`”h]”hŒopen()”…””}”(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´K:hj¡h²hubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K!ubh×)”}”(hhh]”(hÜ)”}”(hŒ Return Value”h]”hŒ Return Value”…””}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj€h²hh³hÇh´K>ubhý)”}”(hŒBOn success 0 and ``info`` is populated with the current line info.”h]”(hŒOn success 0 and ”…””}”(hj‘h²hh³Nh´Nubj—)”}”(hŒ``info``”h]”hŒinfo”…””}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj‘ubhŒ) is populated with the current line info.”…””}”(hj‘h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K@hj€h²hubhý)”}”(hŒqOn error -1 and the ``errno`` variable is set appropriately. Common error codes are described in error-codes.rst.”h]”(hŒOn error -1 and the ”…””}”(hj±h²hh³Nh´Nubj—)”}”(hŒ ``errno``”h]”hŒerrno”…””}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj±ubhŒT variable is set appropriately. Common error codes are described in error-codes.rst.”…””}”(hj±h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KBhj€h²hubeh}”(h]”Œ return-value”ah ]”h"]”Œ return value”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K>ubeh}”(h]”(hÕŒid1”eh ]”h"]”Œ gpio_v2_get_lineinfo_watch_ioctl”ah$]”Œ gpio_v2_get_lineinfo_watch_ioctl”ah&]”uh1hÖhhh²hh³hÇh´KŒ referenced”KŒexpect_referenced_by_name”}”jÞhÊsŒexpect_referenced_by_id”}”hÕhÊsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÛNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÕ]”hÊasŒnameids”}”(jÞhÕjjj°j­jžj›j}jzjÖjÓuŒ nametypes”}”(jÞˆj‰j°‰jž‰j}‰jÖ‰uh}”(hÕhØjÛhØjhëj­jj4j=j›j³jzj¡jÓj€uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jKs…”R”Œparse_messages”]”hŒsystem_message”“”)”}”(hhh]”hý)”}”(hŒCDuplicate implicit target name: "gpio_v2_get_lineinfo_watch_ioctl".”h]”hŒGDuplicate implicit target name: “gpio_v2_get_lineinfo_watch_ioctlâ€.”…””}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hühjoubah}”(h]”h ]”h"]”h$]”h&]”jÛaŒlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1jmhhØh²hh³hÇh´KubaŒtransform_messages”]”jn)”}”(hhh]”hý)”}”(hhh]”hŒFHyperlink target "gpio-v2-get-lineinfo-watch-ioctl" is not referenced.”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”uh1hühjubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jˆŒsource”hÇŒline”Kuh1jmubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.