Back to Linux

ioctl LIRC_GET_FEATURES

Documentation/userspace-api/media/rc/lirc-get-features.rst

latest4.1 KB
Original Source

.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later .. c:namespace:: RC

.. _lirc_get_features:


ioctl LIRC_GET_FEATURES


Name

LIRC_GET_FEATURES - Get the underlying hardware device's features

Synopsis

.. c:macro:: LIRC_GET_FEATURES

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

Arguments

fd File descriptor returned by open().

features Bitmask with the LIRC features.

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.

LIRC features

.. _LIRC-CAN-REC-RAW:

LIRC_CAN_REC_RAW

Unused. Kept just to avoid breaking uAPI.

.. _LIRC-CAN-REC-PULSE:

LIRC_CAN_REC_PULSE

Unused. Kept just to avoid breaking uAPI.
:ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting.

.. _LIRC-CAN-REC-MODE2:

LIRC_CAN_REC_MODE2

This is raw IR driver for receiving. This means that
:ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` is used. This also implies
that :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported,
as long as the kernel is recent enough. Use the
:ref:`lirc_set_rec_mode` to switch modes.

.. _LIRC-CAN-REC-LIRCCODE:

LIRC_CAN_REC_LIRCCODE

Unused. Kept just to avoid breaking uAPI.

.. _LIRC-CAN-REC-SCANCODE:

LIRC_CAN_REC_SCANCODE

This is a scancode driver for receiving. This means that
:ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used.

.. _LIRC-CAN-SET-SEND-CARRIER:

LIRC_CAN_SET_SEND_CARRIER

The driver supports changing the modulation frequency via
:ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`.

.. _LIRC-CAN-SET-SEND-DUTY-CYCLE:

LIRC_CAN_SET_SEND_DUTY_CYCLE

The driver supports changing the duty cycle using
:ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`.

.. _LIRC-CAN-SET-TRANSMITTER-MASK:

LIRC_CAN_SET_TRANSMITTER_MASK

The driver supports changing the active transmitter(s) using
:ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`.

.. _LIRC-CAN-SET-REC-CARRIER:

LIRC_CAN_SET_REC_CARRIER

The driver supports setting the receive carrier frequency using
:ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`.

.. _LIRC-CAN-SET-REC-CARRIER-RANGE:

LIRC_CAN_SET_REC_CARRIER_RANGE

The driver supports
:ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`.

.. _LIRC-CAN-GET-REC-RESOLUTION:

LIRC_CAN_GET_REC_RESOLUTION

The driver supports
:ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`.

.. _LIRC-CAN-SET-REC-TIMEOUT:

LIRC_CAN_SET_REC_TIMEOUT

The driver supports
:ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`.

.. _LIRC-CAN-MEASURE-CARRIER:

LIRC_CAN_MEASURE_CARRIER

The driver supports measuring of the modulation frequency using
:ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`.

.. _LIRC-CAN-USE-WIDEBAND-RECEIVER:

LIRC_CAN_USE_WIDEBAND_RECEIVER

The driver supports learning mode using
:ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`.

.. _LIRC-CAN-SEND-RAW:

LIRC_CAN_SEND_RAW

Unused. Kept just to avoid breaking uAPI.

.. _LIRC-CAN-SEND-PULSE:

LIRC_CAN_SEND_PULSE

The driver supports sending (also called as IR blasting or IR TX) using
:ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. This implies that
:ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported for
transmit, as long as the kernel is recent enough. Use the
:ref:`lirc_set_send_mode` to switch modes.

.. _LIRC-CAN-SEND-MODE2:

LIRC_CAN_SEND_MODE2

Unused. Kept just to avoid breaking uAPI.
:ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving.

.. _LIRC-CAN-SEND-LIRCCODE:

LIRC_CAN_SEND_LIRCCODE

Unused. Kept just to avoid breaking uAPI.

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 :ref:Generic Error Codes <gen-errors> chapter.