CEC_ADAP_G_CAPS - Query device capabilities
All cec devices must support ioctl CEC_ADAP_G_CAPS. 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.
char | driver[32] | The name of the cec adapter driver. |
char | name[32] | The name of this CEC adapter. The combination driver and name must be unique. |
__u32 | capabilities | The capabilities of the CEC adapter, see CEC Capabilities Flags. |
__u32 | version | CEC Framework API version, formatted with the KERNEL_VERSION() macro. |
CEC_CAP_PHYS_ADDR | 0x00000001 | Userspace has to configure the physical address by calling 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). |
CEC_CAP_LOG_ADDRS | 0x00000002 | Userspace has to configure the logical addresses by calling ioctl CEC_ADAP_S_LOG_ADDRS. If this capability isn’t set, then the kernel will have configured this. |
CEC_CAP_TRANSMIT | 0x00000004 | Userspace can transmit CEC messages by calling 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. |
CEC_CAP_PASSTHROUGH | 0x00000008 | Userspace can use the passthrough mode by calling ioctl CEC_S_MODE. |
CEC_CAP_RC | 0x00000010 | This adapter supports the remote control protocol. |
CEC_CAP_MONITOR_ALL | 0x00000020 | The CEC hardware can monitor all messages, not just directed and broadcast messages. |
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.