€•~:Œ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Œ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”auh1jhjhž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”…””}”(hj;hžhhŸNh Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j9hj5ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”h±h²uh1j3hj/hžhhŸh³h Kubah}”(h]”h ]”h"]”h$]”h&]”h±h²Œ add_permalink”ˆuh1j-Œsphinx_line_type”Œ declarator”hj)hžhhŸh³h Kubah}”(h]”j ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j'hŸh³h Khj$hžhubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jehj$hžhhŸh³h Kubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”jsŒobjtype”jtŒdesctype”jtŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j"hž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”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj ubah}”(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 ”…””}”(hj%hžhhŸNh Nubh)”}”(hŒ&:c:type:`line_info`”h]”jƒ)”}”(hj/h]”hŒ line_info”…””}”(hj1hžhhŸNh Nubah}”(h]”h ]”(Œxref”jsŒc-type”eh"]”h$]”h&]”uh1j‚hj-ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ3userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”Œ refdomain”jsŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”sbŒ reftarget”Œgpio_v2_line_info”uh1hhŸh³h Khj%ubhŒ" struct to be populated, with the ”…””}”(hj%hžhhŸNh Nubjƒ)”}”(hŒ ``offset``”h]”hŒoffset”…””}”(hj[hž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 Khj"ubah}”(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”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjhž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#hjhž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¬hjhž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 K0hjhž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 K2hjhž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 ”…””}”(hjðhžhhŸNh Nubjƒ)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hjøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjðubhŒ3 as described in gpio-v2-lineinfo-changed-read.rst.”…””}”(hjðhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K4hjhž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 (”…””}”(hjhžhhŸNh NubhŒstrong”“”)”}”(hŒ **EBUSY**”h]”hŒEBUSY”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒ).”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K8hjhž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 ”…””}”(hj2hžhhŸNh Nubjƒ)”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…””}”(hj:hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hj2ubhŒU and are independent of watches on the same GPIO chip opened with a separate call to ”…””}”(hj2hžhhŸNh Nubjâ)”}”(hŒ`open()`”h]”hŒopen()”…””}”(hjLhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jáhj2ubhŒ.”…””}”(hj2hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h K:hjhž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”…””}”(hjohžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjlhž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@hjlhž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 ”…””}”(hjhžhhŸNh Nubjƒ)”}”(hŒ ``errno``”h]”hŒerrno”…””}”(hj¥hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j‚hjubhŒT variable is set appropriately. Common error codes are described in error-codes.rst.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hèhŸh³h KBhjlhž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Áhýhújœj™jŠj‡jijfjÂj¿uŒ nametypes”}”(jʈhý‰jœ‰jЉji‰j‰uh}”(hÁhÄjÇhÄhúh×j™jj j)j‡jŸjfjj¿jluŒ 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â€.”…””}”(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”Kuh1jYhhÄhžhhŸh³h KubaŒtransform_messages”]”jZ)”}”(hhh]”hé)”}”(hhh]”hŒFHyperlink target "gpio-v2-get-lineinfo-watch-ioctl" is not referenced.”…””}”hj|sbah}”(h]”h ]”h"]”h$]”h&]”uh1hèhjyubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jtŒsource”h³Œline”Kuh1jYubaŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.