2.5. ioctl CEC_ADAP_G_CAPS

2.5.1. 名稱

CEC_ADAP_G_CAPS - 查詢裝置能力

2.5.2. 概要

CEC_ADAP_G_CAPS

int ioctl(int fd, CEC_ADAP_G_CAPS, struct cec_caps *argp)

2.5.3. 引數

fd

open() 返回的檔案描述符。

argp

2.5.4. 描述

所有 cec 裝置都必須支援 ioctl CEC_ADAP_G_CAPS。要查詢裝置資訊,應用程式使用指向 cec_caps 結構體的指標呼叫 ioctl。驅動程式填充結構體並將資訊返回給應用程式。ioctl 永遠不會失敗。

type cec_caps
struct cec_caps

char

driver[32]

cec 介面卡驅動程式的名稱。

char

name[32]

此 CEC 介面卡的名稱。 drivername 的組合必須是唯一的。

__u32

available_log_addrs

可以配置的最大邏輯地址數。

__u32

capabilities

CEC 介面卡的功能,請參閱 CEC 功能標誌

__u32

version

CEC 框架 API 版本,使用 KERNEL_VERSION() 宏格式化。

CEC 功能標誌

CEC_CAP_PHYS_ADDR

0x00000001

使用者空間必須透過呼叫 ioctl CEC_ADAP_S_PHYS_ADDR 來配置物理地址。如果未設定此功能,則每當設定 EDID(對於 HDMI 接收器)或讀取 EDID(對於 HDMI 發射器)時,物理地址的設定由核心處理。

CEC_CAP_LOG_ADDRS

0x00000002

使用者空間必須透過呼叫 ioctl CEC_ADAP_S_LOG_ADDRS 來配置邏輯地址。如果未設定此功能,則核心將配置此功能。

CEC_CAP_TRANSMIT

0x00000004

使用者空間可以透過呼叫 ioctl CEC_TRANSMIT 來傳輸 CEC 訊息。這意味著使用者空間也可以成為一個跟隨者,因為能夠傳輸訊息是成為跟隨者的先決條件。如果未設定此功能,則核心將處理所有 CEC 傳輸並處理其接收的所有 CEC 訊息。

CEC_CAP_PASSTHROUGH

0x00000008

使用者空間可以透過呼叫 ioctl CEC_S_MODE 來使用直通模式。

CEC_CAP_RC

0x00000010

此介面卡支援遙控協議。

CEC_CAP_MONITOR_ALL

0x00000020

CEC 硬體可以監視所有訊息,而不僅僅是定向和廣播訊息。

CEC_CAP_NEEDS_HPD

0x00000040

僅當 HDMI 熱插拔檢測引腳為高電平時,CEC 硬體才處於活動狀態。這使得無法使用 CEC 喚醒在待機模式下將 HPD 引腳設定為低電平但保持 CEC 匯流排活動的顯示器。

CEC_CAP_MONITOR_PIN

0x00000080

CEC 硬體可以監視 CEC 引腳從低電壓到高電壓以及反之的更改。當處於引腳監視模式時,應用程式將收到 CEC_EVENT_PIN_CEC_LOWCEC_EVENT_PIN_CEC_HIGH 事件。

CEC_CAP_CONNECTOR_INFO

0x00000100

如果設定了此功能,則可以使用 ioctl CEC_ADAP_G_CONNECTOR_INFO

CEC_CAP_REPLY_VENDOR_ID

0x00000200

如果設定了此功能,則可以使用 CEC_MSG_FL_REPLY_VENDOR_ID

2.5.5. 返回值

成功時返回 0,錯誤時返回 -1,並適當設定 errno 變數。通用錯誤程式碼在 通用錯誤程式碼 章節中描述。