€•*>Œ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”ŒD/translations/zh_CN/userspace-api/gpio/gpio-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”ŒD/translations/zh_TW/userspace-api/gpio/gpio-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”ŒD/translations/it_IT/userspace-api/gpio/gpio-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”ŒD/translations/ja_JP/userspace-api/gpio/gpio-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”ŒD/translations/ko_KR/userspace-api/gpio/gpio-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”ŒD/translations/pt_BR/userspace-api/gpio/gpio-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”ŒD/translations/sp_SP/userspace-api/gpio/gpio-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³Œ^/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/gpio-get-lineinfo-watch-ioctl.rst”h´KubhŒtarget”“”)”}”(hŒ".. _GPIO_GET_LINEINFO_WATCH_IOCTL:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œgpio-get-lineinfo-watch-ioctl”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒGPIO_GET_LINEINFO_WATCH_IOCTL”h]”hŒGPIO_GET_LINEINFO_WATCH_IOCTL”…””}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´KubhŒwarning”“”)”}”(hŒ^This ioctl is part of chardev_v1.rst and is obsoleted by gpio-v2-get-lineinfo-watch-ioctl.rst.”h]”hŒ paragraph”“”)”}”(hŒ^This ioctl is part of chardev_v1.rst and is obsoleted by gpio-v2-get-lineinfo-watch-ioctl.rst.”h]”hŒ^This ioctl is part of chardev_v1.rst and is obsoleted by gpio-v2-get-lineinfo-watch-ioctl.rst.”…””}”(hhóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K hhíubah}”(h]”h ]”h"]”h$]”h&]”uh1hëhhØh²hh³hÇh´Nubh×)”}”(hhh]”(hÜ)”}”(hŒName”h]”hŒName”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjh²hh³hÇh´Kubhò)”}”(hŒvGPIO_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its request state and configuration information.”h]”hŒvGPIO_GET_LINEINFO_WATCH_IOCTL - Enable watching a line for changes to its request state and configuration information.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´Khjh²hubeh}”(h]”Œname”ah ]”h"]”Œname”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒSynopsis”h]”hŒSynopsis”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj.h²hh³hÇh´KubhŒindex”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ'GPIO_GET_LINEINFO_WATCH_IOCTL (C macro)”Œc.GPIO_GET_LINEINFO_WATCH_IOCTL”hNt”auh1j?hj.h²hh³Nh´NubhŒdesc”“”)”}”(hhh]”(hŒdesc_signature”“”)”}”(hŒGPIO_GET_LINEINFO_WATCH_IOCTL”h]”hŒdesc_signature_line”“”)”}”(hŒGPIO_GET_LINEINFO_WATCH_IOCTL”h]”hŒ desc_name”“”)”}”(hŒGPIO_GET_LINEINFO_WATCH_IOCTL”h]”hŒ desc_sig_name”“”)”}”(hjYh]”hŒGPIO_GET_LINEINFO_WATCH_IOCTL”…””}”(hjih²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jghjcubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jahj]h²hh³hÇh´Kubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j[Œsphinx_line_type”Œ declarator”hjWh²hh³hÇh´Kubah}”(h]”jNah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jUh³hÇh´KhjRh²hubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j“hjRh²hh³hÇh´Kubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”j¡Œobjtype”j¢Œdesctype”j¢Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jPh²hhj.h³Nh´Nubhò)”}”(hŒU``int ioctl(int chip_fd, GPIO_GET_LINEINFO_WATCH_IOCTL, struct gpioline_info *info)``”h]”hŒliteral”“”)”}”(hj®h]”hŒQint ioctl(int chip_fd, GPIO_GET_LINEINFO_WATCH_IOCTL, struct gpioline_info *info)”…””}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´Khj.h²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 ”…””}”(hjh²hh³Nh´NubhŒtitle_reference”“”)”}”(hŒ`open()`”h]”hŒopen()”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒ.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjå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°hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jéh³hÇh´K"hj5ubj)”}”(hhh]”hò)”}”(hŒtThe :c:type:`line_info` struct to be populated, with the ``offset`` set to indicate the line to watch”h]”(hŒThe ”…””}”(hjSh²hh³Nh´Nubh)”}”(hŒ":c:type:`line_info`”h]”j±)”}”(hj]h]”hŒ line_info”…””}”(hj_h²hh³Nh´Nubah}”(h]”h ]”(Œxref”j¡Œc-type”eh"]”h$]”h&]”uh1j°hj[ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ0userspace-api/gpio/gpio-get-lineinfo-watch-ioctl”Œ refdomain”j¡Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”sbŒ reftarget”Œ gpioline_info”uh1hh³hÇh´K!hjSubhŒ" struct to be populated, with the ”…””}”(hjSh²hh³Nh´Nubj±)”}”(hŒ ``offset``”h]”hŒoffset”…””}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hjSubhŒ" set to indicate the line to watch”…””}”(hjSh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K!hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jãh³hÇh´K"hjà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”“”)”}”(hXjWatching 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-get-linehandle-ioctl.rst or gpio-get-lineevent-ioctl.rst to access its value, and the line event can monitor a line for events using gpio-lineevent-data-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.”h]”hŒ.The line info does NOT include the line value.”…””}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K/hjÜubhò)”}”(hŒÈThe line must be requested using gpio-get-linehandle-ioctl.rst or gpio-get-lineevent-ioctl.rst to access its value, and the line event can monitor a line for events using gpio-lineevent-data-read.rst.”h]”hŒÈThe line must be requested using gpio-get-linehandle-ioctl.rst or gpio-get-lineevent-ioctl.rst to access its value, and the line event can monitor a line for events using gpio-lineevent-data-read.rst.”…””}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K1hjÜ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.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K5hj»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.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K7hj»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-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 ”…””}”(hj,h²hh³Nh´Nubj±)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hj,ubhŒ0 as described in gpio-lineinfo-changed-read.rst.”…””}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K9hj»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 (”…””}”(hjLh²hh³Nh´NubhŒstrong”“”)”}”(hŒ **EBUSY**”h]”hŒEBUSY”…””}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jThjLubhŒ).”…””}”(hjLh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K=hj»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 ”…””}”(hjnh²hh³Nh´Nubj±)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hjnubhŒU and are independent of watches on the same GPIO chip opened with a separate call to ”…””}”(hjnh²hh³Nh´Nubj)”}”(hŒ`open()`”h]”hŒopen()”…””}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnubhŒ.”…””}”(hjnh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´K?hj»h²hubhò)”}”(hŒFirst added in 5.7.”h]”hŒFirst added in 5.7.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñh³hÇh´KBhj»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´KEubhò)”}”(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´KGhj¶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´KIhj¶h²hubeh}”(h]”Œ return-value”ah ]”h"]”Œ return value”ah$]”h&]”uh1hÖhhØh²hh³hÇh´KEubeh}”(h]”(hÕŒid1”eh ]”h"]”Œgpio_get_lineinfo_watch_ioctl”ah$]”Œgpio_get_lineinfo_watch_ioctl”ah&]”uh1hÖhhh²hh³hÇh´KŒ referenced”KŒexpect_referenced_by_name”}”jhÊ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”}”(jhÕj+j(jÊjÇj¸jµj³j°j j uŒ nametypes”}”(jˆj+‰jʉj¸‰j³‰j ‰uh}”(hÕhØjhØj(jjÇj.jNjWjµjÍj°j»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”“”}”jNKs…”R”Œparse_messages”]”hŒsystem_message”“”)”}”(hhh]”hò)”}”(hŒ@Duplicate implicit target name: "gpio_get_lineinfo_watch_ioctl".”h]”hŒDDuplicate implicit target name: “gpio_get_lineinfo_watch_ioctlâ€.”…””}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñhj¥ubah}”(h]”h ]”h"]”h$]”h&]”jaŒlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1j£hhØh²hh³hÇh´KubaŒtransform_messages”]”j¤)”}”(hhh]”hò)”}”(hhh]”hŒCHyperlink target "gpio-get-lineinfo-watch-ioctl" is not referenced.”…””}”hjÆsbah}”(h]”h ]”h"]”h$]”h&]”uh1hñhjÃubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j¾Œsource”hÇŒline”Kuh1j£ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.