6.5.3. ioctl LIRC_GET_FEATURES

6.5.3.1. 名称

LIRC_GET_FEATURES - 获取底层硬件设备的功能

6.5.3.2. 概要

LIRC_GET_FEATURES

int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)

6.5.3.3. 参数

fd

open() 返回的文件描述符。

features

包含 LIRC 功能的位掩码。

6.5.3.4. 描述

获取底层硬件设备的功能。如果驱动程序未声明对某些功能的支持,则调用相应的 ioctl 是未定义的。

6.5.3.5. LIRC 功能

LIRC_CAN_REC_RAW

未使用。保留只是为了避免破坏 uAPI。

LIRC_CAN_REC_PULSE

未使用。保留只是为了避免破坏 uAPI。 LIRC_MODE_PULSE 只能用于传输。

LIRC_CAN_REC_MODE2

这是用于接收的原始 IR 驱动程序。这意味着使用 LIRC_MODE_MODE2。这也意味着只要内核足够新,也支持 LIRC_MODE_SCANCODE。使用 ioctl LIRC_GET_REC_MODE 和 LIRC_SET_REC_MODE 来切换模式。

LIRC_CAN_REC_LIRCCODE

未使用。保留只是为了避免破坏 uAPI。

LIRC_CAN_REC_SCANCODE

这是用于接收的扫描码驱动程序。这意味着使用 LIRC_MODE_SCANCODE

LIRC_CAN_SET_SEND_CARRIER

驱动程序支持通过 ioctl LIRC_SET_SEND_CARRIER 更改调制频率。

LIRC_CAN_SET_SEND_DUTY_CYCLE

驱动程序支持使用 ioctl LIRC_SET_SEND_DUTY_CYCLE 更改占空比。

LIRC_CAN_SET_TRANSMITTER_MASK

驱动程序支持使用 ioctl LIRC_SET_TRANSMITTER_MASK 更改活动发射器。

LIRC_CAN_SET_REC_CARRIER

驱动程序支持使用 ioctl LIRC_SET_REC_CARRIER 设置接收载波频率。

LIRC_CAN_SET_REC_CARRIER_RANGE

驱动程序支持 ioctl LIRC_SET_REC_CARRIER_RANGE

LIRC_CAN_GET_REC_RESOLUTION

驱动程序支持 ioctl LIRC_GET_REC_RESOLUTION

LIRC_CAN_SET_REC_TIMEOUT

驱动程序支持 ioctl LIRC_SET_REC_TIMEOUT

LIRC_CAN_MEASURE_CARRIER

驱动程序支持使用 ioctl LIRC_SET_MEASURE_CARRIER_MODE 测量调制频率。

LIRC_CAN_USE_WIDEBAND_RECEIVER

驱动程序支持使用 ioctl LIRC_SET_WIDEBAND_RECEIVER 学习模式。

LIRC_CAN_SEND_RAW

未使用。保留只是为了避免破坏 uAPI。

LIRC_CAN_SEND_PULSE

驱动程序支持使用 LIRC_MODE_PULSE 发送(也称为 IR 爆破或 IR TX)。这意味着只要内核足够新,也支持用于传输的 LIRC_MODE_SCANCODE。使用 ioctl LIRC_GET_SEND_MODE 和 LIRC_SET_SEND_MODE 来切换模式。

LIRC_CAN_SEND_MODE2

未使用。保留只是为了避免破坏 uAPI。 LIRC_MODE_MODE2 只能用于接收。

LIRC_CAN_SEND_LIRCCODE

未使用。保留只是为了避免破坏 uAPI。

6.5.3.6. 返回值

成功时返回 0,出错时返回 -1,并且会适当地设置 errno 变量。通用错误代码在通用错误代码章节中进行了描述。