CEC_ADAP_G_CAPS — Query device capabilities


int ioctl(int fd,
 int request,
 struct cec_caps *argp);



File descriptor returned by open().





Note: this documents the proposed CEC API. This API is not yet finalized and is currently only available as a staging kernel module.

All cec devices must support the CEC_ADAP_G_CAPS ioctl. To query device information, applications call the ioctl with a pointer to a struct cec_caps. The driver fills the structure and returns the information to the application. The ioctl never fails.

Table M.1. struct cec_caps

chardriver[32]The name of the cec adapter driver.
charname[32]The name of this CEC adapter. The combination driver and name must be unique.
__u32capabilitiesThe capabilities of the CEC adapter, see Table M.2, “CEC Capabilities Flags”.
__u32versionCEC Framework API version, formatted with the KERNEL_VERSION() macro.

Table M.2. CEC Capabilities Flags

CEC_CAP_PHYS_ADDR0x00000001Userspace has to configure the physical address by calling 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).
CEC_CAP_LOG_ADDRS0x00000002Userspace has to configure the logical addresses by calling CEC_ADAP_S_LOG_ADDRS. If this capability isn't set, then the kernel will have configured this.
CEC_CAP_TRANSMIT0x00000004Userspace can transmit CEC messages by calling 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.
CEC_CAP_PASSTHROUGH0x00000008Userspace can use the passthrough mode by calling CEC_S_MODE.
CEC_CAP_RC0x00000010This adapter supports the remote control protocol.
CEC_CAP_MONITOR_ALL0x00000020The CEC hardware can monitor all messages, not just directed and broadcast messages.

Return Value

On success 0 is returned, on error -1 and the errno variable is set appropriately. The generic error codes are described at the Generic Error Codes chapter.