csphinx.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]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_CAPShNtauh1jhjhhhNhNubhdesc)}(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}(hj;hhhNhNubah}(h]h ]nah"]h$]h&]uh1j9hj5ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j3hj/hhhhhKubah}(h]h ]h"]h$]h&]hh add_permalinkuh1j-sphinx_line_type declaratorhj)hhhhhKubah}(h]j ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j'hhhKhj$hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj$hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjsobjtypejtdesctypejtnoindex noindexentrynocontentsentryuh1j"hhhjhNhNubh)}(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&]uh1jhj~ubah}(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 ](xrefjsc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc+userspace-api/media/cec/cec-ioc-adap-g-caps refdomainjsreftypefunc 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)}(hj0h]hargp}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhhhhhKubh)}(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 }(hj^hhhNhNubh)}(h.:ref:`ioctl CEC_ADAP_G_CAPS `h]hinline)}(hjhh]hioctl CEC_ADAP_G_CAPS}(hjlhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhjfubah}(h]h ]h"]h$]h&]refdocj refdomainjvreftyperef refexplicitrefwarnjcec_adap_g_capsuh1hhhhK!hj^ubhV. To query device information, applications call the ioctl with a pointer to a struct }(hj^hhhNhNubh)}(h:c:type:`cec_caps`h]j)}(hjh]hcec_caps}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjcec_capsuh1hhhhK!hj^ubhg. The driver fills the structure and returns the information to the application. The ioctl never fails.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjMhhubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{1.2cm}|p{2.5cm}|p{13.6cm}|uh1jhhhK&hjMhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jCEC.cec_caps (C type)c.CEC.cec_capshNtauh1jhjMhhhNhNubj#)}(hhh](j()}(hcec_capsh]j.)}(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(ubj4)}(hcec_capsh]j:)}(hjh]hcec_caps}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhK(ubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhK(ubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhK(hjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhK(ubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyj,jzj,j{j|j}uh1j"hhhjMhNhNubhtable)}(hhh](h)}(hstruct cec_capsh]hstruct cec_caps}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hj2ubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjEubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjEubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjEubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hcharh]hchar}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjtubah}(h]h ]h"]h$]h&]uh1jrhjoubjs)}(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&]uh1jrhjoubjs)}(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&]uh1jrhjoubeh}(h]h ]h"]h$]h&]uh1jmhjjubjn)}(hhh](js)}(hhh]h)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(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&]uh1jrhjubjs)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh must be unique.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK4hjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjjubjn)}(hhh](js)}(hhh]h)}(h__u32h]h__u32}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjFubah}(h]h ]h"]h$]h&]uh1jrhjCubjs)}(hhh]h)}(h``available_log_addrs``h]j)}(hjbh]havailable_log_addrs}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1hhhhK7hj]ubah}(h]h ]h"]h$]h&]uh1jrhjCubjs)}(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&]uh1hhhhK8hj}ubah}(h]h ]h"]h$]h&]uh1jrhjCubeh}(h]h ]h"]h$]h&]uh1jmhjjubjn)}(hhh](js)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(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&]uh1jrhjubjs)}(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]jk)}(hjh]hcec-capabilities}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjcec-capabilitiesuh1hhhhK;hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjjubjn)}(hhh](js)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hjubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(h ``version``h]j)}(hj4h]hversion}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1hhhhK>hj/ubah}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh]h)}(hICEC Framework API version, formatted with the ``KERNEL_VERSION()`` macro.h](h.CEC Framework API version, formatted with the }(hjRhhhNhNubj)}(h``KERNEL_VERSION()``h]hKERNEL_VERSION()}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubh macro.}(hjRhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK?hjOubah}(h]h ]h"]h$]h&]uh1jrhjubeh}(h]h ]h"]h$]h&]uh1jmhjjubeh}(h]h ]h"]h$]h&]uh1jhhjEubeh}(h]h ]h"]h$]h&]colsKuh1jChj2ubeh}(h]id1ah ]h"]h$]h&]uh1j0hjMhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{4.4cm}|p{2.5cm}|p{10.4cm}|uh1jhhhKBhjMhhubh)}(h.. _cec-capabilities:h]h}(h]h ]h"]h$]h&]hcec-capabilitiesuh1hhKDhjMhhhhubj1)}(hhh](h)}(hCEC Capabilities Flagsh]hCEC Capabilities Flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjubjD)}(hhh](jI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubjI)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jHhjubji)}(hhh](jn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-PHYS-ADDR`:h]h}(h]h ]h"]h$]h&]hcec-cap-phys-addruh1hhKKhjs)}(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]jk)}(hjh]hioctl CEC_ADAP_S_PHYS_ADDR}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjcec_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}j jsexpect_referenced_by_id}jjsubeh}(h]h ]h"]h$]h&]uh1jrhjububh)}(h``CEC_CAP_PHYS_ADDR``h]j)}(hj/h]hCEC_CAP_PHYS_ADDR}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jh)}(h 0x00000001h]h 0x00000001}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjJubeh}(h]h ]h"]h$]h&]uh1jrhjubjeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-LOG-ADDRS`:h]h}(h]h ]h"]h$]h&]hcec-cap-log-addrsuh1hhKThjs)}(hhh](jmh)}(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]jk)}(hjh]hioctl CEC_ADAP_S_LOG_ADDRS}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjcec_adap_s_log_addrsuh1hhhhKXhj{ubhL. If this capability isn’t set, then the kernel will have configured this.}(hj{hhhNhNubeh}(h]jwah ]h"]cec-cap-log-addrsah$]h&]uh1hhhhKXhjxj#}jjmsj%}jwjmsubeh}(h]h ]h"]h$]h&]uh1jrhjgububh)}(h``CEC_CAP_LOG_ADDRS``h]j)}(hjh]hCEC_CAP_LOG_ADDRS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKVhjjubeh}(h]h ]h"]h$]h&]uh1jrhjgubjs)}(hhh](jmh)}(h 0x00000002h]h 0x00000002}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubeh}(h]h ]h"]h$]h&]uh1jrhjgubjxeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-TRANSMIT`:h]h}(h]h ]h"]h$]h&]hcec-cap-transmituh1hhK\hjs)}(hhh](jh)}(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]jk)}(hjh]hioctl CEC_TRANSMIT}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhj ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef 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`hjj#}j4jsj%}jjsubeh}(h]h ]h"]h$]h&]uh1jrhjububh)}(h``CEC_CAP_TRANSMIT``h]j)}(hjAh]hCEC_CAP_TRANSMIT}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jh)}(h 0x00000004h]h 0x00000004}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hj\ubeh}(h]h ]h"]h$]h&]uh1jrhjubjeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-PASSTHROUGH`:h]h}(h]h ]h"]h$]h&]hcec-cap-passthroughuh1hhKfhjs)}(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]jk)}(hjh]hioctl CEC_S_MODE}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj cec_s_modeuh1hhhhKjhjubh.}(hjhhhNhNubeh}(h]jah ]h"]cec-cap-passthroughah$]h&]uh1hhhhKjhjj#}jjsj%}jjsubeh}(h]h ]h"]h$]h&]uh1jrhjyububh)}(h``CEC_CAP_PASSTHROUGH``h]j)}(hjh]hCEC_CAP_PASSTHROUGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhhj|ubeh}(h]h ]h"]h$]h&]uh1jrhjyubjs)}(hhh](jh)}(h 0x00000008h]h 0x00000008}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubeh}(h]h ]h"]h$]h&]uh1jrhjyubjeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-RC`:h]h}(h]h ]h"]h$]h&]h cec-cap-rcuh1hhKlhjs)}(hhh](jh)}(h2This adapter supports the remote control protocol.h]h2This adapter supports the remote control protocol.}(hjhhhNhNubah}(h]jah ]h"] cec-cap-rcah$]h&]uh1hhhhKphjj#}j"jsj%}jjsubeh}(h]h ]h"]h$]h&]uh1jrhjububh)}(h``CEC_CAP_RC``h]j)}(hj/h]h CEC_CAP_RC}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jh)}(h 0x00000010h]h 0x00000010}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjJubeh}(h]h ]h"]h$]h&]uh1jrhjubjeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-MONITOR-ALL`:h]h}(h]h ]h"]h$]h&]hcec-cap-monitor-alluh1hhKqhjs)}(hhh](jmh)}(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.}(hj{hhhNhNubah}(h]jwah ]h"]cec-cap-monitor-allah$]h&]uh1hhhhKuhjxj#}jjmsj%}jwjmsubeh}(h]h ]h"]h$]h&]uh1jrhjgububh)}(h``CEC_CAP_MONITOR_ALL``h]j)}(hjh]hCEC_CAP_MONITOR_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKshjjubeh}(h]h ]h"]h$]h&]uh1jrhjgubjs)}(hhh](jmh)}(h 0x00000020h]h 0x00000020}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjubeh}(h]h ]h"]h$]h&]uh1jrhjgubjxeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-NEEDS-HPD`:h]h}(h]h ]h"]h$]h&]hcec-cap-needs-hpduh1hhKwhjs)}(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{hjj#}jjsj%}jjsubeh}(h]h ]h"]h$]h&]uh1jrhjububh)}(h``CEC_CAP_NEEDS_HPD``h]j)}(hjh]hCEC_CAP_NEEDS_HPD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubeh}(h]h ]h"]h$]h&]uh1jrhjubjs)}(hhh](jh)}(h 0x00000040h]h 0x00000040}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhj ubeh}(h]h ]h"]h$]h&]uh1jrhjubjeh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-MONITOR-PIN`:h]h}(h]h ]h"]h$]h&]hcec-cap-monitor-pinuh1hhKhjs)}(hhh](j7 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 }(hjE hhhNhNubj)}(h``CEC_EVENT_PIN_CEC_LOW``h]hCEC_EVENT_PIN_CEC_LOW}(hjM hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE ubh and }(hjE hhhNhNubj)}(h``CEC_EVENT_PIN_CEC_HIGH``h]hCEC_EVENT_PIN_CEC_HIGH}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjE ubh events.}(hjE hhhNhNubeh}(h]jA ah ]h"]cec-cap-monitor-pinah$]h&]uh1hhhhKhjB j#}ju j7 sj%}jA j7 subeh}(h]h ]h"]h$]h&]uh1jrhj1 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&]uh1hhhhKhj4 ubeh}(h]h ]h"]h$]h&]uh1jrhj1 ubjs)}(hhh](j7 h)}(h 0x00000080h]h 0x00000080}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jrhj1 ubjB eh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-CONNECTOR-INFO`:h]h}(h]h ]h"]h$]h&]hcec-cap-connector-infouh1hhKhjs)}(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]jk)}(hj h]hCEC_ADAP_G_CONNECTOR_INFO}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnjcec_adap_g_connector_infouh1hhhhKhj ubh can be used.}(hj hhhNhNubeh}(h]j ah ]h"]cec-cap-connector-infoah$]h&]uh1hhhhKhj j#}j j sj%}j j subeh}(h]h ]h"]h$]h&]uh1jrhj 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&]uh1jrhj ubjs)}(hhh](j h)}(h 0x00000100h]h 0x00000100}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj& ubeh}(h]h ]h"]h$]h&]uh1jrhj ubj eh}(h]h ]h"]h$]h&]uh1jmhjubjn)}(hhh](js)}(hhh](h)}(h.. _`CEC-CAP-REPLY-VENDOR-ID`:h]h}(h]h ]h"]h$]h&]hcec-cap-reply-vendor-iduh1hhKhjs)}(hhh](jI 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 }(hjW hhhNhNubh)}(h1:ref:`CEC_MSG_FL_REPLY_VENDOR_ID `h]jk)}(hja h]hCEC_MSG_FL_REPLY_VENDOR_ID}(hjc hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhj_ ubah}(h]h ]h"]h$]h&]refdocj refdomainjm reftyperef refexplicitrefwarnj cec-msg-flagsuh1hhhhKhjW ubh can be used.}(hjW hhhNhNubeh}(h]jS ah ]h"]cec-cap-reply-vendor-idah$]h&]uh1hhhhKhjT j#}j jI sj%}jS jI subeh}(h]h ]h"]h$]h&]uh1jrhjC 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&]uh1hhhhKhjF ubeh}(h]h ]h"]h$]h&]uh1jrhjC ubjs)}(hhh](jI h)}(h 0x00000200h]h 0x00000200}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jrhjC ubjT eh}(h]h ]h"]h$]h&]uh1jmhjubeh}(h]h ]h"]h$]h&]uh1jhhjubeh}(h]h ]h"]h$]h&]colsKuh1jChjubeh}(h](id2jeh ]h"]cec-capabilitiesah$]h&]uh1j0hjMhhhNhNj#}j jsj%}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]jk)}(hj h]hGeneric Error Codes}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jjhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj$ 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&]uh1hhhhhhhhKj#}jN hsj%}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjrfootnote_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_handlerju error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _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]jajw]jmaj]jaj]jaj]jajw]jmaj]jajA ]j7 aj ]j ajS ]jI aunameids}(jN hjM jJ hhjjjJjGj j j jj jjjwj4jjjj"jjjwjjju jA j j j jS jE jB u nametypes}(jN jM hjjJj j j jj4jj"jjju j j jE uh}(hhjJ hhhjjj j)jGjj jMjjjjjjjwj{jjjjjjjwj{jjjA jE j j jS jW jB j jj2j 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&]levelKtypeINFOsourcehlineKuh1j 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 sourcehlineKDuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-phys-addr" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKKsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-phys-addr" is not referenced.}hj9 sbah}(h]h ]h"]h$]h&]uh1hhj6 ubah}(h]h ]h"]h$]h&]levelKtypej lineKKsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-phys-addr" is not referenced.}hjS sbah}(h]h ]h"]h$]h&]uh1hhjP ubah}(h]h ]h"]h$]h&]levelKtypej lineKKsourcehuh1j ubj )}(hhh]h)}(hhh]h7Hyperlink target "cec-cap-log-addrs" is not referenced.}hjm sbah}(h]h ]h"]h$]h&]uh1hhjj 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.}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.}hj= sbah}(h]h ]h"]h$]h&]uh1hhj: ubah}(h]h ]h"]h$]h&]levelKtypej lineKfsourcehuh1j ubj )}(hhh]h)}(hhh]h0Hyperlink target "cec-cap-rc" is not referenced.}hjW sbah}(h]h ]h"]h$]h&]uh1hhjT ubah}(h]h ]h"]h$]h&]levelKtypej lineKlsourcehuh1j ubj )}(hhh]h)}(hhh]h0Hyperlink target "cec-cap-rc" is not referenced.}hjq sbah}(h]h ]h"]h$]h&]uh1hhjn 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.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(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&]uh1hhj ubah}(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&]uh1hhj$ubah}(h]h ]h"]h$]h&]levelKtypej lineKwsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-pin" is not referenced.}hjAsbah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]levelKtypej lineKsourcehuh1j ubj )}(hhh]h)}(hhh]h9Hyperlink target "cec-cap-monitor-pin" is not referenced.}hj[sbah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]levelKtypej lineKsourcehuh1j 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]h