6.4.3. ioctl LIRC_GET_FEATURES

6.4.3.1. Name

LIRC_GET_FEATURES - Get the underlying hardware device's features

6.4.3.2. Synopsis

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

6.4.3.3. Arguments

fd

File descriptor returned by open().

features

Bitmask with the LIRC features.

6.4.3.4. Description

Get the underlying hardware device's features. If a driver does not announce support of certain features, calling of the corresponding ioctls is undefined.

6.4.3.5. LIRC features

LIRC_CAN_REC_RAW

Unused. Kept just to avoid breaking uAPI.

LIRC_CAN_REC_PULSE

Unused. Kept just to avoid breaking uAPI. LIRC_MODE_PULSE can only be used for transmitting.

LIRC_CAN_REC_MODE2

This is raw IR driver for receiving. This means that LIRC_MODE_MODE2 is used. This also implies that LIRC_MODE_SCANCODE is also supported, as long as the kernel is recent enough. Use the ioctls LIRC_GET_REC_MODE and LIRC_SET_REC_MODE to switch modes.

LIRC_CAN_REC_LIRCCODE

Unused. Kept just to avoid breaking uAPI.

LIRC_CAN_REC_SCANCODE

This is a scancode driver for receiving. This means that LIRC_MODE_SCANCODE is used.

LIRC_CAN_SET_SEND_CARRIER

The driver supports changing the modulation frequency via ioctl LIRC_SET_SEND_CARRIER.

LIRC_CAN_SET_SEND_DUTY_CYCLE

The driver supports changing the duty cycle using ioctl LIRC_SET_SEND_DUTY_CYCLE.

LIRC_CAN_SET_TRANSMITTER_MASK

The driver supports changing the active transmitter(s) using ioctl LIRC_SET_TRANSMITTER_MASK.

LIRC_CAN_SET_REC_CARRIER

The driver supports setting the receive carrier frequency using ioctl LIRC_SET_REC_CARRIER.

LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE

Unused. Kept just to avoid breaking uAPI.

LIRC_CAN_SET_REC_CARRIER_RANGE

The driver supports ioctl LIRC_SET_REC_CARRIER_RANGE.

LIRC_CAN_GET_REC_RESOLUTION

The driver supports ioctl LIRC_GET_REC_RESOLUTION.

LIRC_CAN_SET_REC_TIMEOUT

The driver supports ioctl LIRC_SET_REC_TIMEOUT.

LIRC_CAN_SET_REC_FILTER

Unused. Kept just to avoid breaking uAPI.

LIRC_CAN_MEASURE_CARRIER

The driver supports measuring of the modulation frequency using ioctl LIRC_SET_MEASURE_CARRIER_MODE.

LIRC_CAN_USE_WIDEBAND_RECEIVER

The driver supports learning mode using ioctl LIRC_SET_WIDEBAND_RECEIVER.

LIRC_CAN_NOTIFY_DECODE

Unused. Kept just to avoid breaking uAPI.

LIRC_CAN_SEND_RAW

Unused. Kept just to avoid breaking uAPI.

LIRC_CAN_SEND_PULSE

The driver supports sending (also called as IR blasting or IR TX) using LIRC_MODE_PULSE. This implies that LIRC_MODE_SCANCODE is also supported for transmit, as long as the kernel is recent enough. Use the ioctls LIRC_GET_SEND_MODE and LIRC_SET_SEND_MODE to switch modes.

LIRC_CAN_SEND_MODE2

Unused. Kept just to avoid breaking uAPI. LIRC_MODE_MODE2 can only be used for receiving.

LIRC_CAN_SEND_LIRCCODE

Unused. Kept just to avoid breaking uAPI.

6.4.3.6. 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.