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*********************** 7ioctl LIRC_GET_FEATURES 8*********************** 9 10Name 11==== 12 13LIRC_GET_FEATURES - Get the underlying hardware device's features 14 15Synopsis 16======== 17 18.. c:macro:: LIRC_GET_FEATURES 19 20``int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)`` 21 22Arguments 23========= 24 25``fd`` 26 File descriptor returned by open(). 27 28``features`` 29 Bitmask with the LIRC features. 30 31Description 32=========== 33 34Get the underlying hardware device's features. If a driver does not 35announce support of certain features, calling of the corresponding ioctls 36is undefined. 37 38LIRC 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 169Return Value 170============ 171 172On success 0 is returned, on error -1 and the ``errno`` variable is set 173appropriately. The generic error codes are described at the 174:ref:`Generic Error Codes <gen-errors>` chapter. 175