€•.=Œ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Œ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”…””}”(hhöhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhhóhž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 Khhóhžhubeh}”(h]”Œname”ah ]”h"]”Œname”ah$]”h&]”uh1hÂhhÄhžhhŸh³h KubhÃ)”}”(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_GET_LINEINFO_WATCH_IOCTL (C macro)”Œc.GPIO_GET_LINEINFO_WATCH_IOCTL”hNt”auh1j+hjhž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”“”)”}”(hjEh]”hŒGPIO_GET_LINEINFO_WATCH_IOCTL”…””}”(hjUhžhhŸNh Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jShjOubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”h±h²uh1jMhjIhžhhŸh³h Kubah}”(h]”h ]”h"]”h$]”h&]”h±h²Œ add_permalink”ˆuh1jGŒsphinx_line_type”Œ declarator”hjChžhhŸh³h Kubah}”(h]”j:ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jAhŸh³h Khj>hžhubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jhj>hžhhŸh³h Kubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”jŒobjtype”jŽŒdesctype”jŽŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j<hžhhjhŸ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 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œhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÕhŸh³h K"hj!ubjï)”}”(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 ”…””}”(hj?hžhhŸNh Nubh)”}”(hŒ":c:type:`line_info`”h]”j)”}”(hjIh]”hŒ line_info”…””}”(hjKhžhhŸNh Nubah}”(h]”h ]”(Œxref”jŒc-type”eh"]”h$]”h&]”uh1jœhjGubah}”(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!hj?ubhŒ" struct to be populated, with the ”…””}”(hj?hžhhŸNh Nubj)”}”(hŒ ``offset``”h]”hŒoffset”…””}”(hjuhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhj?ubhŒ" set to indicate the line to watch”…””}”(hj?hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝhŸh³h K!hj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jîhj!ubeh}”(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.”…””}”(hjühž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.”…””}”(hj hž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 ”…””}”(hjhžhhŸNh Nubj)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjubhŒ0 as described in gpio-lineinfo-changed-read.rst.”…””}”(hjhž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 (”…””}”(hj8hžhhŸNh NubhŒstrong”“”)”}”(hŒ **EBUSY**”h]”hŒEBUSY”…””}”(hjBhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j@hj8ubhŒ).”…””}”(hj8hž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 ”…””}”(hjZhžhhŸNh Nubj)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hjbhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jœhjZubhŒU and are independent of watches on the same GPIO chip opened with a separate call to ”…””}”(hjZhžhhŸNh Nubjü)”}”(hŒ`open()`”h]”hŒopen()”…””}”(hjthžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jûhjZubhŒ.”…””}”(hjZhž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Ájjj¶j³j¤j¡jŸjœjøjõuŒ nametypes”}”(jˆj‰j¶‰j¤‰jŸ‰jø‰uh}”(hÁhÄjýhÄjhój³jj:jCj¡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”“”}”j:Ks…”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&]”jýaŒlevel”KŒtype”ŒINFO”Œsource”h³Œline”Kuh1jhhÄ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”Kuh1jubaŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.