Zsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget?/translations/zh_CN/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/zh_TW/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/it_IT/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/ja_JP/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/ko_KR/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/pt_BR/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/sp_SP/userspace-api/media/cec/cec-ioc-adap-g-capsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhY/var/lib/git/docbuild/linux/Documentation/userspace-api/media/cec/cec-ioc-adap-g-caps.rsthKubhtarget)}(h.. _CEC_ADAP_G_CAPS:h]h}(h]h ]h"]h$]h&]refidcec-adap-g-capsuh1hhKhhhhhhubhsection)}(hhh](htitle)}(hioctl CEC_ADAP_G_CAPSh]hioctl CEC_ADAP_G_CAPS}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(h+CEC_ADAP_G_CAPS - Query device capabilitiesh]h+CEC_ADAP_G_CAPS - Query device capabilities}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]nameah ]h"]nameah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSynopsish]hSynopsis}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleCEC.CEC_ADAP_G_CAPS (C macro)c.CEC.CEC_ADAP_G_CAPShNtauh1j%hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hCEC_ADAP_G_CAPSh]hdesc_signature_line)}(hCEC_ADAP_G_CAPSh]h desc_name)}(hCEC_ADAP_G_CAPSh]h desc_sig_name)}(hj?h]hCEC_ADAP_G_CAPS}(hjOhhhNhNubah}(h]h ]nah"]h$]h&]uh1jMhjIubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jGhjChhhhhKubah}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jAsphinx_line_type declaratorhj=hhhhhKubah}(h]j4ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j;hhhKhj8hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj8hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1j6hhhjhNhNubh)}(h=``int ioctl(int fd, CEC_ADAP_G_CAPS, struct cec_caps *argp)``h]hliteral)}(hjh]h9int ioctl(int fd, CEC_ADAP_G_CAPS, struct cec_caps *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_list)}(hhh]hdefinition_list_item)}(h5``fd`` File descriptor returned by :c:func:`open()`. h](hterm)}(h``fd``h]j)}(hjh]hfd}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hjhhhNhNubh)}(h:c:func:`open()`h]j)}(hjh]hopen()}(hjhhhNhNubah}(h]h ](xrefjc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc+userspace-api/media/cec/cec-ioc-adap-g-caps refdomainjreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)} identifierCECsbNasb reftargetopenuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h``argp``h]j)}(hjDh]hargp}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahhhhhKubh)}(hXAll cec devices must support :ref:`ioctl CEC_ADAP_G_CAPS `. To query device information, applications call the ioctl with a pointer to a struct :c:type:`cec_caps`. The driver fills the structure and returns the information to the application. The ioctl never fails.h](hAll cec devices must support }(hjrhhhNhNubh)}(h.:ref:`ioctl CEC_ADAP_G_CAPS `h]hinline)}(hj|h]hioctl CEC_ADAP_G_CAPS}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hjzubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$cec_adap_g_capsuh1hhhhK!hjrubhV. To query device information, applications call the ioctl with a pointer to a struct }(hjrhhhNhNubh)}(h:c:type:`cec_caps`h]j)}(hjh]hcec_caps}(hjhhhNhNubah}(h]h ](jjc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjjj$cec_capsuh1hhhhK!hjrubhg. The driver fills the structure and returns the information to the application. The ioctl never fails.}(hjrhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjahhubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{1.2cm}|p{2.5cm}|p{13.6cm}|uh1jhhhK&hjahhubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2CEC.cec_caps (C type)c.CEC.cec_capshNtauh1j%hjahhhNhNubj7)}(hhh](j<)}(hcec_capsh]jB)}(h type cec_capsh](hdesc_sig_keyword)}(htypeh]htype}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhhhK(ubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhhhK(ubjH)}(hcec_capsh]jN)}(hjh]hcec_caps}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhjhhhhhK(ubeh}(h]h ]h"]h$]h&]hhjkuh1jAjljmhjhhhhhK(ubah}(h]jah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhK(hjhhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhjhhhhhK(ubeh}(h]h ](jtypeeh"]h$]h&]jjjj@jj@jjjuh1j6hhhjahNhNubhtable)}(hhh](h)}(hstruct cec_capsh]hstruct cec_caps}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjFubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j\hjYubj])}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j\hjYubj])}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j\hjYubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``driver[32]``h]j)}(hjh]h driver[32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#The name of the cec adapter driver.h]h#The name of the cec adapter driver.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``name[32]``h]j)}(hjh]hname[32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK3hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hUThe name of this CEC adapter. The combination ``driver`` and ``name`` must be unique.h](h.The name of this CEC adapter. The combination }(hjhhhNhNubj)}(h ``driver``h]hdriver}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h``name``h]hname}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh must be unique.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjZubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(h``available_log_addrs``h]j)}(hjvh]havailable_log_addrs}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1hhhhK7hjqubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(h?The maximum number of logical addresses that can be configured.h]h?The maximum number of logical addresses that can be configured.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``capabilities``h]j)}(hjh]h capabilities}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hAThe capabilities of the CEC adapter, see :ref:`cec-capabilities`.h](h)The capabilities of the CEC adapter, see }(hjhhhNhNubh)}(h:ref:`cec-capabilities`h]j)}(hjh]hcec-capabilities}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$cec-capabilitiesuh1hhhhK;hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hj,ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h ``version``h]j)}(hjHh]hversion}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubah}(h]h ]h"]h$]h&]uh1hhhhK>hjCubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hICEC Framework API version, formatted with the ``KERNEL_VERSION()`` macro.h](h.CEC Framework API version, formatted with the }(hjfhhhNhNubj)}(h``KERNEL_VERSION()``h]hKERNEL_VERSION()}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh macro.}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK?hjcubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1j|hjYubeh}(h]h ]h"]h$]h&]colsKuh1jWhjFubeh}(h]id1ah ]h"]h$]h&]uh1jDhjahhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{4.4cm}|p{2.5cm}|p{10.4cm}|uh1jhhhKBhjahhubh)}(h.. _cec-capabilities:h]h}(h]h ]h"]h$]h&]hԌcec-capabilitiesuh1hhKDhjahhhhubjE)}(hhh](h)}(hCEC Capabilities Flagsh]hCEC Capabilities Flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjubjX)}(hhh](j])}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j\hjubj])}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j\hjubj])}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j\hjubj})}(hhh](j)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-PHYS-ADDR`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-phys-addruh1hhKKhj)}(hhh](jh)}(hX Userspace has to configure the physical address by calling :ref:`ioctl CEC_ADAP_S_PHYS_ADDR `. If this capability isn't set, then setting the physical address is handled by the kernel whenever the EDID is set (for an HDMI receiver) or read (for an HDMI transmitter).h](h;Userspace has to configure the physical address by calling }(hjhhhNhNubh)}(h8:ref:`ioctl CEC_ADAP_S_PHYS_ADDR `h]j)}(hjh]hioctl CEC_ADAP_S_PHYS_ADDR}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hj ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$cec_adap_s_phys_addruh1hhhhKOhjubh. If this capability isn’t set, then setting the physical address is handled by the kernel whenever the EDID is set (for an HDMI receiver) or read (for an HDMI transmitter).}(hjhhhNhNubeh}(h]jah ]h"]cec-cap-phys-addrah$]h&]uh1hhhhKOhjexpect_referenced_by_name}j4jsexpect_referenced_by_id}jjsubeh}(h]h ]h"]h$]h&]uh1jhjububh)}(h``CEC_CAP_PHYS_ADDR``h]j)}(hjCh]hCEC_CAP_PHYS_ADDR}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](jh)}(h 0x00000001h]h 0x00000001}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj^ubeh}(h]h ]h"]h$]h&]uh1jhjubjeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-LOG-ADDRS`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-log-addrsuh1hhKThj)}(hhh](jh)}(hUserspace has to configure the logical addresses by calling :ref:`ioctl CEC_ADAP_S_LOG_ADDRS `. If this capability isn't set, then the kernel will have configured this.h](h`h]j)}(hjh]hioctl CEC_ADAP_S_LOG_ADDRS}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$cec_adap_s_log_addrsuh1hhhhKXhjubhL. If this capability isn’t set, then the kernel will have configured this.}(hjhhhNhNubeh}(h]jah ]h"]cec-cap-log-addrsah$]h&]uh1hhhhKXhjj7}jjsj9}jjsubeh}(h]h ]h"]h$]h&]uh1jhj{ububh)}(h``CEC_CAP_LOG_ADDRS``h]j)}(hjh]hCEC_CAP_LOG_ADDRS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKVhj~ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](jh)}(h 0x00000002h]h 0x00000002}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubeh}(h]h ]h"]h$]h&]uh1jhj{ubjeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-TRANSMIT`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-transmituh1hhK\hj)}(hhh](j h)}(hXUUserspace can transmit CEC messages by calling :ref:`ioctl CEC_TRANSMIT `. This implies that userspace can be a follower as well, since being able to transmit messages is a prerequisite of becoming a follower. If this capability isn't set, then the kernel will handle all CEC transmits and process all CEC messages it receives.h](h/Userspace can transmit CEC messages by calling }(hjhhhNhNubh)}(h(:ref:`ioctl CEC_TRANSMIT `h]j)}(hj"h]hioctl CEC_TRANSMIT}(hj$hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hj ubah}(h]h ]h"]h$]h&]refdocj refdomainj.reftyperef refexplicitrefwarnj$ cec_transmituh1hhhhK`hjubhX. This implies that userspace can be a follower as well, since being able to transmit messages is a prerequisite of becoming a follower. If this capability isn’t set, then the kernel will handle all CEC transmits and process all CEC messages it receives.}(hjhhhNhNubeh}(h]jah ]h"]cec-cap-transmitah$]h&]uh1hhhhK`hjj7}jHj sj9}jj subeh}(h]h ]h"]h$]h&]uh1jhjububh)}(h``CEC_CAP_TRANSMIT``h]j)}(hjUh]hCEC_CAP_TRANSMIT}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j h)}(h 0x00000004h]h 0x00000004}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjpubeh}(h]h ]h"]h$]h&]uh1jhjubjeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-PASSTHROUGH`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-passthroughuh1hhKfhj)}(hhh](jh)}(hWUserspace can use the passthrough mode by calling :ref:`ioctl CEC_S_MODE `.h](h2Userspace can use the passthrough mode by calling }(hjhhhNhNubh)}(h$:ref:`ioctl CEC_S_MODE `h]j)}(hjh]hioctl CEC_S_MODE}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$ cec_s_modeuh1hhhhKjhjubh.}(hjhhhNhNubeh}(h]jah ]h"]cec-cap-passthroughah$]h&]uh1hhhhKjhjj7}jjsj9}jjsubeh}(h]h ]h"]h$]h&]uh1jhjububh)}(h``CEC_CAP_PASSTHROUGH``h]j)}(hjh]hCEC_CAP_PASSTHROUGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](jh)}(h 0x00000008h]h 0x00000008}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubeh}(h]h ]h"]h$]h&]uh1jhjubjeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-RC`:h]h}(h]h ]h"]h$]h&]hԌ cec-cap-rcuh1hhKlhj)}(hhh](jh)}(h2This adapter supports the remote control protocol.h]h2This adapter supports the remote control protocol.}(hj*hhhNhNubah}(h]j&ah ]h"] cec-cap-rcah$]h&]uh1hhhhKphj'j7}j6jsj9}j&jsubeh}(h]h ]h"]h$]h&]uh1jhjububh)}(h``CEC_CAP_RC``h]j)}(hjCh]h CEC_CAP_RC}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](jh)}(h 0x00000010h]h 0x00000010}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohj^ubeh}(h]h ]h"]h$]h&]uh1jhjubj'eh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-MONITOR-ALL`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-monitor-alluh1hhKqhj)}(hhh](jh)}(hTThe CEC hardware can monitor all messages, not just directed and broadcast messages.h]hTThe CEC hardware can monitor all messages, not just directed and broadcast messages.}(hjhhhNhNubah}(h]jah ]h"]cec-cap-monitor-allah$]h&]uh1hhhhKuhjj7}jjsj9}jjsubeh}(h]h ]h"]h$]h&]uh1jhj{ububh)}(h``CEC_CAP_MONITOR_ALL``h]j)}(hjh]hCEC_CAP_MONITOR_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKshj~ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](jh)}(h 0x00000020h]h 0x00000020}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjubeh}(h]h ]h"]h$]h&]uh1jhj{ubjeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-NEEDS-HPD`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-needs-hpduh1hhKwhj)}(hhh](jh)}(hThe CEC hardware is only active if the HDMI Hotplug Detect pin is high. This makes it impossible to use CEC to wake up displays that set the HPD pin low when in standby mode, but keep the CEC bus alive.h]hThe CEC hardware is only active if the HDMI Hotplug Detect pin is high. This makes it impossible to use CEC to wake up displays that set the HPD pin low when in standby mode, but keep the CEC bus alive.}(hjhhhNhNubah}(h]jah ]h"]cec-cap-needs-hpdah$]h&]uh1hhhhK{hjj7}j jsj9}jjsubeh}(h]h ]h"]h$]h&]uh1jhjububh)}(h``CEC_CAP_NEEDS_HPD``h]j)}(hj h]hCEC_CAP_NEEDS_HPD}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](jh)}(h 0x00000040h]h 0x00000040}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhj( ubeh}(h]h ]h"]h$]h&]uh1jhjubjeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-MONITOR-PIN`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-monitor-pinuh1hhKhj)}(hhh](jK h)}(hThe CEC hardware can monitor CEC pin changes from low to high voltage and vice versa. When in pin monitoring mode the application will receive ``CEC_EVENT_PIN_CEC_LOW`` and ``CEC_EVENT_PIN_CEC_HIGH`` events.h](hThe CEC hardware can monitor CEC pin changes from low to high voltage and vice versa. When in pin monitoring mode the application will receive }(hjY hhhNhNubj)}(h``CEC_EVENT_PIN_CEC_LOW``h]hCEC_EVENT_PIN_CEC_LOW}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubh and }(hjY hhhNhNubj)}(h``CEC_EVENT_PIN_CEC_HIGH``h]hCEC_EVENT_PIN_CEC_HIGH}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubh events.}(hjY hhhNhNubeh}(h]jU ah ]h"]cec-cap-monitor-pinah$]h&]uh1hhhhKhjV j7}j jK sj9}jU jK subeh}(h]h ]h"]h$]h&]uh1jhjE ububh)}(h``CEC_CAP_MONITOR_PIN``h]j)}(hj h]hCEC_CAP_MONITOR_PIN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhjH ubeh}(h]h ]h"]h$]h&]uh1jhjE ubj)}(hhh](jK h)}(h 0x00000080h]h 0x00000080}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhjE ubjV eh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-CONNECTOR-INFO`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-connector-infouh1hhKhj)}(hhh](j h)}(hMIf this capability is set, then :ref:`CEC_ADAP_G_CONNECTOR_INFO` can be used.h](h If this capability is set, then }(hj hhhNhNubh)}(h :ref:`CEC_ADAP_G_CONNECTOR_INFO`h]j)}(hj h]hCEC_ADAP_G_CONNECTOR_INFO}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj$cec_adap_g_connector_infouh1hhhhKhj ubh can be used.}(hj hhhNhNubeh}(h]j ah ]h"]cec-cap-connector-infoah$]h&]uh1hhhhKhj j7}j j sj9}j j subeh}(h]h ]h"]h$]h&]uh1jhj ububh)}(h``CEC_CAP_CONNECTOR_INFO``h]j)}(hj h]hCEC_CAP_CONNECTOR_INFO}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j h)}(h 0x00000100h]h 0x00000100}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj: ubeh}(h]h ]h"]h$]h&]uh1jhj ubj eh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](h)}(h.. _`CEC-CAP-REPLY-VENDOR-ID`:h]h}(h]h ]h"]h$]h&]hԌcec-cap-reply-vendor-iduh1hhKhj)}(hhh](j] h)}(h^If this capability is set, then :ref:`CEC_MSG_FL_REPLY_VENDOR_ID ` can be used.h](h If this capability is set, then }(hjk hhhNhNubh)}(h1:ref:`CEC_MSG_FL_REPLY_VENDOR_ID `h]j)}(hju h]hCEC_MSG_FL_REPLY_VENDOR_ID}(hjw hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hjs ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj$ cec-msg-flagsuh1hhhhKhjk ubh can be used.}(hjk hhhNhNubeh}(h]jg ah ]h"]cec-cap-reply-vendor-idah$]h&]uh1hhhhKhjh j7}j j] sj9}jg j] subeh}(h]h ]h"]h$]h&]uh1jhjW ububh)}(h``CEC_CAP_REPLY_VENDOR_ID``h]j)}(hj h]hCEC_CAP_REPLY_VENDOR_ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhjZ ubeh}(h]h ]h"]h$]h&]uh1jhjW ubj)}(hhh](j] h)}(h 0x00000200h]h 0x00000200}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhjW ubjh eh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j|hjubeh}(h]h ]h"]h$]h&]colsKuh1jWhjubeh}(h](id2jeh ]h"]cec-capabilitiesah$]h&]uh1jDhjahhhNhNj7}j jsj9}jjsubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hOn 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 }(hj hhhNhNubj)}(h ``errno``h]herrno}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhM variable is set appropriately. The generic error codes are described at the }(hj hhhNhNubh)}(h':ref:`Generic Error Codes `h]j)}(hj, h]hGeneric Error Codes}(hj. hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j~hj* ubah}(h]h ]h"]h$]h&]refdocj refdomainj8 reftyperef refexplicitrefwarnj$ gen-errorsuh1hhhhKhj ubh chapter.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKubeh}(h](ioctl-cec-adap-g-capsheh ]h"](ioctl cec_adap_g_capscec_adap_g_capseh$]h&]uh1hhhhhhhhKj7}jb hsj9}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}(h]haj]jaj]jaj]jaj]j aj]jaj&]jaj]jaj]jajU ]jK aj ]j ajg ]j] aunameids}(jb hja j^ jjjjj^j[j j j jj4jjjjHjjjj6j&jjj jj jU j j j jg jY jV u nametypes}(jb ja jjj^j j j4jjHjj6jj j j j jY uh}(hhj^ hjhjjj4j=j[jj jajjjjjjjjjjjjj&j*jjjjjU jY j j jg jk jV j jjFj ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j KsRparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h5Hyperlink target "cec-adap-g-caps" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehnjlineKuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "cec-capabilities" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineKDuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-phys-addr" is not referenced.}hj3 sbah}(h]h ]h"]h$]h&]uh1hhj0 ubah}(h]h ]h"]h$]h&]levelKtypej lineKKsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-phys-addr" is not referenced.}hjM sbah}(h]h ]h"]h$]h&]uh1hhjJ ubah}(h]h ]h"]h$]h&]levelKtypej lineKKsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-phys-addr" is not referenced.}hjg sbah}(h]h ]h"]h$]h&]uh1hhjd ubah}(h]h ]h"]h$]h&]levelKtypej lineKKsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-log-addrs" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj~ ubah}(h]h ]h"]h$]h&]levelKtypej lineKTsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-log-addrs" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKTsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-log-addrs" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKTsourcehuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "cec-cap-transmit" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineK\sourcehuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "cec-cap-transmit" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineK\sourcehuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "cec-cap-transmit" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineK\sourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-passthrough" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKfsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-passthrough" is not referenced.}hj7 sbah}(h]h ]h"]h$]h&]uh1hhj4 ubah}(h]h ]h"]h$]h&]levelKtypej lineKfsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-passthrough" is not referenced.}hjQ sbah}(h]h ]h"]h$]h&]uh1hhjN ubah}(h]h ]h"]h$]h&]levelKtypej lineKfsourcehuh1j ubj )}(hhh]h)}(hhh]h0Hyperlink target "cec-cap-rc" is not referenced.}hjk sbah}(h]h ]h"]h$]h&]uh1hhjh ubah}(h]h ]h"]h$]h&]levelKtypej lineKlsourcehuh1j ubj )}(hhh]h)}(hhh]h0Hyperlink target "cec-cap-rc" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKlsourcehuh1j ubj )}(hhh]h)}(hhh]h0Hyperlink target "cec-cap-rc" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKlsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-all" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKqsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-all" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKqsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-all" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKqsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-needs-hpd" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej lineKwsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-needs-hpd" is not referenced.}hj!sbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej lineKwsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-needs-hpd" is not referenced.}hj;sbah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]levelKtypej lineKwsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-pin" is not referenced.}hjUsbah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]levelKtypej lineKsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-pin" is not referenced.}hjosbah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]levelKtypej lineKsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-pin" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej lineKsourcehuh1j ubj )}(hhh]h)}(hhh]h