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