1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 2 .. c:namespace:: RC 3 4 .. _lirc_get_features: 5 6 *********************** 7 ioctl LIRC_GET_FEATURES 8 *********************** 9 10 Name 11 ==== 12 13 LIRC_GET_FEATURES - Get the underlying hardware device's features 14 15 Synopsis 16 ======== 17 18 .. c:macro:: LIRC_GET_FEATURES 19 20 ``int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)`` 21 22 Arguments 23 ========= 24 25 ``fd`` 26 File descriptor returned by open(). 27 28 ``features`` 29 Bitmask with the LIRC features. 30 31 Description 32 =========== 33 34 Get the underlying hardware device's features. If a driver does not 35 announce support of certain features, calling of the corresponding ioctls 36 is undefined. 37 38 LIRC features 39 ============= 40 41 .. _LIRC-CAN-REC-RAW: 42 43 ``LIRC_CAN_REC_RAW`` 44 45 Unused. Kept just to avoid breaking uAPI. 46 47 .. _LIRC-CAN-REC-PULSE: 48 49 ``LIRC_CAN_REC_PULSE`` 50 51 Unused. Kept just to avoid breaking uAPI. 52 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting. 53 54 .. _LIRC-CAN-REC-MODE2: 55 56 ``LIRC_CAN_REC_MODE2`` 57 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. 63 64 .. _LIRC-CAN-REC-LIRCCODE: 65 66 ``LIRC_CAN_REC_LIRCCODE`` 67 68 Unused. Kept just to avoid breaking uAPI. 69 70 .. _LIRC-CAN-REC-SCANCODE: 71 72 ``LIRC_CAN_REC_SCANCODE`` 73 74 This is a scancode driver for receiving. This means that 75 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used. 76 77 .. _LIRC-CAN-SET-SEND-CARRIER: 78 79 ``LIRC_CAN_SET_SEND_CARRIER`` 80 81 The driver supports changing the modulation frequency via 82 :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`. 83 84 .. _LIRC-CAN-SET-SEND-DUTY-CYCLE: 85 86 ``LIRC_CAN_SET_SEND_DUTY_CYCLE`` 87 88 The driver supports changing the duty cycle using 89 :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`. 90 91 .. _LIRC-CAN-SET-TRANSMITTER-MASK: 92 93 ``LIRC_CAN_SET_TRANSMITTER_MASK`` 94 95 The driver supports changing the active transmitter(s) using 96 :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`. 97 98 .. _LIRC-CAN-SET-REC-CARRIER: 99 100 ``LIRC_CAN_SET_REC_CARRIER`` 101 102 The driver supports setting the receive carrier frequency using 103 :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`. 104 105 .. _LIRC-CAN-SET-REC-CARRIER-RANGE: 106 107 ``LIRC_CAN_SET_REC_CARRIER_RANGE`` 108 109 The driver supports 110 :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`. 111 112 .. _LIRC-CAN-GET-REC-RESOLUTION: 113 114 ``LIRC_CAN_GET_REC_RESOLUTION`` 115 116 The driver supports 117 :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`. 118 119 .. _LIRC-CAN-SET-REC-TIMEOUT: 120 121 ``LIRC_CAN_SET_REC_TIMEOUT`` 122 123 The driver supports 124 :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`. 125 126 .. _LIRC-CAN-MEASURE-CARRIER: 127 128 ``LIRC_CAN_MEASURE_CARRIER`` 129 130 The driver supports measuring of the modulation frequency using 131 :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`. 132 133 .. _LIRC-CAN-USE-WIDEBAND-RECEIVER: 134 135 ``LIRC_CAN_USE_WIDEBAND_RECEIVER`` 136 137 The driver supports learning mode using 138 :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`. 139 140 .. _LIRC-CAN-SEND-RAW: 141 142 ``LIRC_CAN_SEND_RAW`` 143 144 Unused. Kept just to avoid breaking uAPI. 145 146 .. _LIRC-CAN-SEND-PULSE: 147 148 ``LIRC_CAN_SEND_PULSE`` 149 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. 155 156 .. _LIRC-CAN-SEND-MODE2: 157 158 ``LIRC_CAN_SEND_MODE2`` 159 160 Unused. Kept just to avoid breaking uAPI. 161 :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving. 162 163 .. _LIRC-CAN-SEND-LIRCCODE: 164 165 ``LIRC_CAN_SEND_LIRCCODE`` 166 167 Unused. Kept just to avoid breaking uAPI. 168 169 Return Value 170 ============ 171 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.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.