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