1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
6 ***********************
7 ioctl LIRC_GET_FEATURES
8 ***********************
13 LIRC_GET_FEATURES - Get the underlying hardware device's features
18 .. c:macro:: LIRC_GET_FEATURES
20 ``int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)``
26 File descriptor returned by open().
29 Bitmask with the LIRC features.
34 Get the underlying hardware device's features. If a driver does not
35 announce support of certain features, calling of the corresponding ioctls
45 Unused. Kept just to avoid breaking uAPI.
47 .. _LIRC-CAN-REC-PULSE:
49 ``LIRC_CAN_REC_PULSE``
51 Unused. Kept just to avoid breaking uAPI.
52 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting.
54 .. _LIRC-CAN-REC-MODE2:
56 ``LIRC_CAN_REC_MODE2``
58 This is raw IR driver for receiving. This means that
59 :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` is used. This also implies
60 that :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported,
61 as long as the kernel is recent enough. Use the
62 :ref:`lirc_set_rec_mode` to switch modes.
64 .. _LIRC-CAN-REC-LIRCCODE:
66 ``LIRC_CAN_REC_LIRCCODE``
68 Unused. Kept just to avoid breaking uAPI.
70 .. _LIRC-CAN-REC-SCANCODE:
72 ``LIRC_CAN_REC_SCANCODE``
74 This is a scancode driver for receiving. This means that
75 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used.
77 .. _LIRC-CAN-SET-SEND-CARRIER:
79 ``LIRC_CAN_SET_SEND_CARRIER``
81 The driver supports changing the modulation frequency via
82 :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`.
84 .. _LIRC-CAN-SET-SEND-DUTY-CYCLE:
86 ``LIRC_CAN_SET_SEND_DUTY_CYCLE``
88 The driver supports changing the duty cycle using
89 :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`.
91 .. _LIRC-CAN-SET-TRANSMITTER-MASK:
93 ``LIRC_CAN_SET_TRANSMITTER_MASK``
95 The driver supports changing the active transmitter(s) using
96 :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`.
98 .. _LIRC-CAN-SET-REC-CARRIER:
100 ``LIRC_CAN_SET_REC_CARRIER``
102 The driver supports setting the receive carrier frequency using
103 :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`.
105 .. _LIRC-CAN-SET-REC-CARRIER-RANGE:
107 ``LIRC_CAN_SET_REC_CARRIER_RANGE``
110 :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`.
112 .. _LIRC-CAN-GET-REC-RESOLUTION:
114 ``LIRC_CAN_GET_REC_RESOLUTION``
117 :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`.
119 .. _LIRC-CAN-SET-REC-TIMEOUT:
121 ``LIRC_CAN_SET_REC_TIMEOUT``
124 :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`.
126 .. _LIRC-CAN-MEASURE-CARRIER:
128 ``LIRC_CAN_MEASURE_CARRIER``
130 The driver supports measuring of the modulation frequency using
131 :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`.
133 .. _LIRC-CAN-USE-WIDEBAND-RECEIVER:
135 ``LIRC_CAN_USE_WIDEBAND_RECEIVER``
137 The driver supports learning mode using
138 :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`.
140 .. _LIRC-CAN-SEND-RAW:
142 ``LIRC_CAN_SEND_RAW``
144 Unused. Kept just to avoid breaking uAPI.
146 .. _LIRC-CAN-SEND-PULSE:
148 ``LIRC_CAN_SEND_PULSE``
150 The driver supports sending (also called as IR blasting or IR TX) using
151 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. This implies that
152 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported for
153 transmit, as long as the kernel is recent enough. Use the
154 :ref:`lirc_set_send_mode` to switch modes.
156 .. _LIRC-CAN-SEND-MODE2:
158 ``LIRC_CAN_SEND_MODE2``
160 Unused. Kept just to avoid breaking uAPI.
161 :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving.
163 .. _LIRC-CAN-SEND-LIRCCODE:
165 ``LIRC_CAN_SEND_LIRCCODE``
167 Unused. Kept just to avoid breaking uAPI.
172 On success 0 is returned, on error -1 and the ``errno`` variable is set
173 appropriately. The generic error codes are described at the
174 :ref:`Generic Error Codes <gen-errors>` chapter.