~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/cec/cec-ioc-adap-g-caps.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: CEC
  3 
  4 .. _CEC_ADAP_G_CAPS:
  5 
  6 *********************
  7 ioctl CEC_ADAP_G_CAPS
  8 *********************
  9 
 10 Name
 11 ====
 12 
 13 CEC_ADAP_G_CAPS - Query device capabilities
 14 
 15 Synopsis
 16 ========
 17 
 18 .. c:macro:: CEC_ADAP_G_CAPS
 19 
 20 ``int ioctl(int fd, CEC_ADAP_G_CAPS, struct cec_caps *argp)``
 21 
 22 Arguments
 23 =========
 24 
 25 ``fd``
 26     File descriptor returned by :c:func:`open()`.
 27 
 28 ``argp``
 29 
 30 Description
 31 ===========
 32 
 33 All cec devices must support :ref:`ioctl CEC_ADAP_G_CAPS <CEC_ADAP_G_CAPS>`. To query
 34 device information, applications call the ioctl with a pointer to a
 35 struct :c:type:`cec_caps`. The driver fills the structure and
 36 returns the information to the application. The ioctl never fails.
 37 
 38 .. tabularcolumns:: |p{1.2cm}|p{2.5cm}|p{13.6cm}|
 39 
 40 .. c:type:: cec_caps
 41 
 42 .. flat-table:: struct cec_caps
 43     :header-rows:  0
 44     :stub-columns: 0
 45     :widths:       1 1 16
 46 
 47     * - char
 48       - ``driver[32]``
 49       - The name of the cec adapter driver.
 50     * - char
 51       - ``name[32]``
 52       - The name of this CEC adapter. The combination ``driver`` and
 53         ``name`` must be unique.
 54     * - __u32
 55       - ``available_log_addrs``
 56       - The maximum number of logical addresses that can be configured.
 57     * - __u32
 58       - ``capabilities``
 59       - The capabilities of the CEC adapter, see
 60         :ref:`cec-capabilities`.
 61     * - __u32
 62       - ``version``
 63       - CEC Framework API version, formatted with the ``KERNEL_VERSION()``
 64         macro.
 65 
 66 .. tabularcolumns:: |p{4.4cm}|p{2.5cm}|p{10.4cm}|
 67 
 68 .. _cec-capabilities:
 69 
 70 .. flat-table:: CEC Capabilities Flags
 71     :header-rows:  0
 72     :stub-columns: 0
 73     :widths:       3 1 8
 74 
 75     * .. _`CEC-CAP-PHYS-ADDR`:
 76 
 77       - ``CEC_CAP_PHYS_ADDR``
 78       - 0x00000001
 79       - Userspace has to configure the physical address by calling
 80         :ref:`ioctl CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHYS_ADDR>`. If
 81         this capability isn't set, then setting the physical address is
 82         handled by the kernel whenever the EDID is set (for an HDMI
 83         receiver) or read (for an HDMI transmitter).
 84     * .. _`CEC-CAP-LOG-ADDRS`:
 85 
 86       - ``CEC_CAP_LOG_ADDRS``
 87       - 0x00000002
 88       - Userspace has to configure the logical addresses by calling
 89         :ref:`ioctl CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>`. If
 90         this capability isn't set, then the kernel will have configured
 91         this.
 92     * .. _`CEC-CAP-TRANSMIT`:
 93 
 94       - ``CEC_CAP_TRANSMIT``
 95       - 0x00000004
 96       - Userspace can transmit CEC messages by calling
 97         :ref:`ioctl CEC_TRANSMIT <CEC_TRANSMIT>`. This implies that
 98         userspace can be a follower as well, since being able to transmit
 99         messages is a prerequisite of becoming a follower. If this
100         capability isn't set, then the kernel will handle all CEC
101         transmits and process all CEC messages it receives.
102     * .. _`CEC-CAP-PASSTHROUGH`:
103 
104       - ``CEC_CAP_PASSTHROUGH``
105       - 0x00000008
106       - Userspace can use the passthrough mode by calling
107         :ref:`ioctl CEC_S_MODE <CEC_S_MODE>`.
108     * .. _`CEC-CAP-RC`:
109 
110       - ``CEC_CAP_RC``
111       - 0x00000010
112       - This adapter supports the remote control protocol.
113     * .. _`CEC-CAP-MONITOR-ALL`:
114 
115       - ``CEC_CAP_MONITOR_ALL``
116       - 0x00000020
117       - The CEC hardware can monitor all messages, not just directed and
118         broadcast messages.
119     * .. _`CEC-CAP-NEEDS-HPD`:
120 
121       - ``CEC_CAP_NEEDS_HPD``
122       - 0x00000040
123       - The CEC hardware is only active if the HDMI Hotplug Detect pin is
124         high. This makes it impossible to use CEC to wake up displays that
125         set the HPD pin low when in standby mode, but keep the CEC bus
126         alive.
127     * .. _`CEC-CAP-MONITOR-PIN`:
128 
129       - ``CEC_CAP_MONITOR_PIN``
130       - 0x00000080
131       - The CEC hardware can monitor CEC pin changes from low to high voltage
132         and vice versa. When in pin monitoring mode the application will
133         receive ``CEC_EVENT_PIN_CEC_LOW`` and ``CEC_EVENT_PIN_CEC_HIGH`` events.
134     * .. _`CEC-CAP-CONNECTOR-INFO`:
135 
136       - ``CEC_CAP_CONNECTOR_INFO``
137       - 0x00000100
138       - If this capability is set, then :ref:`CEC_ADAP_G_CONNECTOR_INFO` can
139         be used.
140     * .. _`CEC-CAP-REPLY-VENDOR-ID`:
141 
142       - ``CEC_CAP_REPLY_VENDOR_ID``
143       - 0x00000200
144       - If this capability is set, then
145         :ref:`CEC_MSG_FL_REPLY_VENDOR_ID <cec-msg-flags>` can be used.
146 
147 Return Value
148 ============
149 
150 On success 0 is returned, on error -1 and the ``errno`` variable is set
151 appropriately. The generic error codes are described at the
152 :ref:`Generic Error Codes <gen-errors>` chapter.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php