1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1. !! 1 .. Permission is granted to copy, distribute and/or modify this 2 .. c:namespace:: RC !! 2 .. document under the terms of the GNU Free Documentation License, >> 3 .. Version 1.1 or any later version published by the Free Software >> 4 .. Foundation, with no Invariant Sections, no Front-Cover Texts >> 5 .. and no Back-Cover Texts. A copy of the license is included at >> 6 .. Documentation/userspace-api/media/fdl-appendix.rst. >> 7 .. >> 8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections 3 9 4 .. _lirc_get_features: 10 .. _lirc_get_features: 5 11 6 *********************** 12 *********************** 7 ioctl LIRC_GET_FEATURES 13 ioctl LIRC_GET_FEATURES 8 *********************** 14 *********************** 9 15 10 Name 16 Name 11 ==== 17 ==== 12 18 13 LIRC_GET_FEATURES - Get the underlying hardwar 19 LIRC_GET_FEATURES - Get the underlying hardware device's features 14 20 15 Synopsis 21 Synopsis 16 ======== 22 ======== 17 23 18 .. c:macro:: LIRC_GET_FEATURES !! 24 .. c:function:: int ioctl( int fd, LIRC_GET_FEATURES, __u32 *features) 19 !! 25 :name: LIRC_GET_FEATURES 20 ``int ioctl(int fd, LIRC_GET_FEATURES, __u32 * << 21 26 22 Arguments 27 Arguments 23 ========= 28 ========= 24 29 25 ``fd`` 30 ``fd`` 26 File descriptor returned by open(). 31 File descriptor returned by open(). 27 32 28 ``features`` 33 ``features`` 29 Bitmask with the LIRC features. 34 Bitmask with the LIRC features. 30 35 >> 36 31 Description 37 Description 32 =========== 38 =========== 33 39 >> 40 34 Get the underlying hardware device's features. 41 Get the underlying hardware device's features. If a driver does not 35 announce support of certain features, calling 42 announce support of certain features, calling of the corresponding ioctls 36 is undefined. 43 is undefined. 37 44 38 LIRC features 45 LIRC features 39 ============= 46 ============= 40 47 41 .. _LIRC-CAN-REC-RAW: 48 .. _LIRC-CAN-REC-RAW: 42 49 43 ``LIRC_CAN_REC_RAW`` 50 ``LIRC_CAN_REC_RAW`` 44 51 45 Unused. Kept just to avoid breaking uAPI. 52 Unused. Kept just to avoid breaking uAPI. 46 53 47 .. _LIRC-CAN-REC-PULSE: 54 .. _LIRC-CAN-REC-PULSE: 48 55 49 ``LIRC_CAN_REC_PULSE`` 56 ``LIRC_CAN_REC_PULSE`` 50 57 51 Unused. Kept just to avoid breaking uAPI. 58 Unused. Kept just to avoid breaking uAPI. 52 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` c 59 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting. 53 60 54 .. _LIRC-CAN-REC-MODE2: 61 .. _LIRC-CAN-REC-MODE2: 55 62 56 ``LIRC_CAN_REC_MODE2`` 63 ``LIRC_CAN_REC_MODE2`` 57 64 58 This is raw IR driver for receiving. This 65 This is raw IR driver for receiving. This means that 59 :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` i 66 :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` is used. This also implies 60 that :ref:`LIRC_MODE_SCANCODE <lirc-mode-S 67 that :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported, 61 as long as the kernel is recent enough. Us 68 as long as the kernel is recent enough. Use the 62 :ref:`lirc_set_rec_mode` to switch modes. 69 :ref:`lirc_set_rec_mode` to switch modes. 63 70 64 .. _LIRC-CAN-REC-LIRCCODE: 71 .. _LIRC-CAN-REC-LIRCCODE: 65 72 66 ``LIRC_CAN_REC_LIRCCODE`` 73 ``LIRC_CAN_REC_LIRCCODE`` 67 74 68 Unused. Kept just to avoid breaking uAPI. 75 Unused. Kept just to avoid breaking uAPI. 69 76 70 .. _LIRC-CAN-REC-SCANCODE: 77 .. _LIRC-CAN-REC-SCANCODE: 71 78 72 ``LIRC_CAN_REC_SCANCODE`` 79 ``LIRC_CAN_REC_SCANCODE`` 73 80 74 This is a scancode driver for receiving. T 81 This is a scancode driver for receiving. This means that 75 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCO 82 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used. 76 83 77 .. _LIRC-CAN-SET-SEND-CARRIER: 84 .. _LIRC-CAN-SET-SEND-CARRIER: 78 85 79 ``LIRC_CAN_SET_SEND_CARRIER`` 86 ``LIRC_CAN_SET_SEND_CARRIER`` 80 87 81 The driver supports changing the modulatio 88 The driver supports changing the modulation frequency via 82 :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SE 89 :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`. 83 90 84 .. _LIRC-CAN-SET-SEND-DUTY-CYCLE: 91 .. _LIRC-CAN-SET-SEND-DUTY-CYCLE: 85 92 86 ``LIRC_CAN_SET_SEND_DUTY_CYCLE`` 93 ``LIRC_CAN_SET_SEND_DUTY_CYCLE`` 87 94 88 The driver supports changing the duty cycl 95 The driver supports changing the duty cycle using 89 :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC 96 :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`. 90 97 91 .. _LIRC-CAN-SET-TRANSMITTER-MASK: 98 .. _LIRC-CAN-SET-TRANSMITTER-MASK: 92 99 93 ``LIRC_CAN_SET_TRANSMITTER_MASK`` 100 ``LIRC_CAN_SET_TRANSMITTER_MASK`` 94 101 95 The driver supports changing the active tr 102 The driver supports changing the active transmitter(s) using 96 :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIR 103 :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`. 97 104 98 .. _LIRC-CAN-SET-REC-CARRIER: 105 .. _LIRC-CAN-SET-REC-CARRIER: 99 106 100 ``LIRC_CAN_SET_REC_CARRIER`` 107 ``LIRC_CAN_SET_REC_CARRIER`` 101 108 102 The driver supports setting the receive ca 109 The driver supports setting the receive carrier frequency using 103 :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET 110 :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`. 104 111 >> 112 .. _LIRC-CAN-SET-REC-DUTY-CYCLE-RANGE: >> 113 >> 114 ``LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE`` >> 115 >> 116 Unused. Kept just to avoid breaking uAPI. >> 117 105 .. _LIRC-CAN-SET-REC-CARRIER-RANGE: 118 .. _LIRC-CAN-SET-REC-CARRIER-RANGE: 106 119 107 ``LIRC_CAN_SET_REC_CARRIER_RANGE`` 120 ``LIRC_CAN_SET_REC_CARRIER_RANGE`` 108 121 109 The driver supports 122 The driver supports 110 :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LI 123 :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`. 111 124 112 .. _LIRC-CAN-GET-REC-RESOLUTION: 125 .. _LIRC-CAN-GET-REC-RESOLUTION: 113 126 114 ``LIRC_CAN_GET_REC_RESOLUTION`` 127 ``LIRC_CAN_GET_REC_RESOLUTION`` 115 128 116 The driver supports 129 The driver supports 117 :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_ 130 :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`. 118 131 119 .. _LIRC-CAN-SET-REC-TIMEOUT: 132 .. _LIRC-CAN-SET-REC-TIMEOUT: 120 133 121 ``LIRC_CAN_SET_REC_TIMEOUT`` 134 ``LIRC_CAN_SET_REC_TIMEOUT`` 122 135 123 The driver supports 136 The driver supports 124 :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET 137 :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`. 125 138 >> 139 .. _LIRC-CAN-SET-REC-FILTER: >> 140 >> 141 ``LIRC_CAN_SET_REC_FILTER`` >> 142 >> 143 Unused. Kept just to avoid breaking uAPI. >> 144 126 .. _LIRC-CAN-MEASURE-CARRIER: 145 .. _LIRC-CAN-MEASURE-CARRIER: 127 146 128 ``LIRC_CAN_MEASURE_CARRIER`` 147 ``LIRC_CAN_MEASURE_CARRIER`` 129 148 130 The driver supports measuring of the modul 149 The driver supports measuring of the modulation frequency using 131 :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE 150 :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`. 132 151 133 .. _LIRC-CAN-USE-WIDEBAND-RECEIVER: 152 .. _LIRC-CAN-USE-WIDEBAND-RECEIVER: 134 153 135 ``LIRC_CAN_USE_WIDEBAND_RECEIVER`` 154 ``LIRC_CAN_USE_WIDEBAND_RECEIVER`` 136 155 137 The driver supports learning mode using 156 The driver supports learning mode using 138 :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LI 157 :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`. 139 158 >> 159 .. _LIRC-CAN-NOTIFY-DECODE: >> 160 >> 161 ``LIRC_CAN_NOTIFY_DECODE`` >> 162 >> 163 Unused. Kept just to avoid breaking uAPI. >> 164 140 .. _LIRC-CAN-SEND-RAW: 165 .. _LIRC-CAN-SEND-RAW: 141 166 142 ``LIRC_CAN_SEND_RAW`` 167 ``LIRC_CAN_SEND_RAW`` 143 168 144 Unused. Kept just to avoid breaking uAPI. 169 Unused. Kept just to avoid breaking uAPI. 145 170 146 .. _LIRC-CAN-SEND-PULSE: 171 .. _LIRC-CAN-SEND-PULSE: 147 172 148 ``LIRC_CAN_SEND_PULSE`` 173 ``LIRC_CAN_SEND_PULSE`` 149 174 150 The driver supports sending (also called a 175 The driver supports sending (also called as IR blasting or IR TX) using 151 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. 176 :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. This implies that 152 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCO 177 :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported for 153 transmit, as long as the kernel is recent 178 transmit, as long as the kernel is recent enough. Use the 154 :ref:`lirc_set_send_mode` to switch modes. 179 :ref:`lirc_set_send_mode` to switch modes. 155 180 156 .. _LIRC-CAN-SEND-MODE2: 181 .. _LIRC-CAN-SEND-MODE2: 157 182 158 ``LIRC_CAN_SEND_MODE2`` 183 ``LIRC_CAN_SEND_MODE2`` 159 184 160 Unused. Kept just to avoid breaking uAPI. 185 Unused. Kept just to avoid breaking uAPI. 161 :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` c 186 :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving. 162 187 163 .. _LIRC-CAN-SEND-LIRCCODE: 188 .. _LIRC-CAN-SEND-LIRCCODE: 164 189 165 ``LIRC_CAN_SEND_LIRCCODE`` 190 ``LIRC_CAN_SEND_LIRCCODE`` 166 191 167 Unused. Kept just to avoid breaking uAPI. 192 Unused. Kept just to avoid breaking uAPI. >> 193 168 194 169 Return Value 195 Return Value 170 ============ 196 ============ 171 197 172 On success 0 is returned, on error -1 and the 198 On success 0 is returned, on error -1 and the ``errno`` variable is set 173 appropriately. The generic error codes are des 199 appropriately. The generic error codes are described at the 174 :ref:`Generic Error Codes <gen-errors>` chapte 200 :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.