18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci.. c:namespace:: RC 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci.. _lirc_get_features: 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci*********************** 78c2ecf20Sopenharmony_ciioctl LIRC_GET_FEATURES 88c2ecf20Sopenharmony_ci*********************** 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciName 118c2ecf20Sopenharmony_ci==== 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciLIRC_GET_FEATURES - Get the underlying hardware device's features 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciSynopsis 168c2ecf20Sopenharmony_ci======== 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci.. c:macro:: LIRC_GET_FEATURES 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci``int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)`` 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciArguments 238c2ecf20Sopenharmony_ci========= 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci``fd`` 268c2ecf20Sopenharmony_ci File descriptor returned by open(). 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci``features`` 298c2ecf20Sopenharmony_ci Bitmask with the LIRC features. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciDescription 328c2ecf20Sopenharmony_ci=========== 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciGet the underlying hardware device's features. If a driver does not 358c2ecf20Sopenharmony_ciannounce support of certain features, calling of the corresponding ioctls 368c2ecf20Sopenharmony_ciis undefined. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciLIRC features 398c2ecf20Sopenharmony_ci============= 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci.. _LIRC-CAN-REC-RAW: 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci``LIRC_CAN_REC_RAW`` 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci.. _LIRC-CAN-REC-PULSE: 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci``LIRC_CAN_REC_PULSE`` 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 528c2ecf20Sopenharmony_ci :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting. 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci.. _LIRC-CAN-REC-MODE2: 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci``LIRC_CAN_REC_MODE2`` 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci This is raw IR driver for receiving. This means that 598c2ecf20Sopenharmony_ci :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` is used. This also implies 608c2ecf20Sopenharmony_ci that :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported, 618c2ecf20Sopenharmony_ci as long as the kernel is recent enough. Use the 628c2ecf20Sopenharmony_ci :ref:`lirc_set_rec_mode` to switch modes. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci.. _LIRC-CAN-REC-LIRCCODE: 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci``LIRC_CAN_REC_LIRCCODE`` 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci.. _LIRC-CAN-REC-SCANCODE: 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci``LIRC_CAN_REC_SCANCODE`` 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci This is a scancode driver for receiving. This means that 758c2ecf20Sopenharmony_ci :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-SEND-CARRIER: 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci``LIRC_CAN_SET_SEND_CARRIER`` 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci The driver supports changing the modulation frequency via 828c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-SEND-DUTY-CYCLE: 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci``LIRC_CAN_SET_SEND_DUTY_CYCLE`` 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci The driver supports changing the duty cycle using 898c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-TRANSMITTER-MASK: 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci``LIRC_CAN_SET_TRANSMITTER_MASK`` 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci The driver supports changing the active transmitter(s) using 968c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`. 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-REC-CARRIER: 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci``LIRC_CAN_SET_REC_CARRIER`` 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci The driver supports setting the receive carrier frequency using 1038c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-REC-DUTY-CYCLE-RANGE: 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci``LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE`` 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-REC-CARRIER-RANGE: 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci``LIRC_CAN_SET_REC_CARRIER_RANGE`` 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci The driver supports 1168c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`. 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci.. _LIRC-CAN-GET-REC-RESOLUTION: 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci``LIRC_CAN_GET_REC_RESOLUTION`` 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci The driver supports 1238c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-REC-TIMEOUT: 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci``LIRC_CAN_SET_REC_TIMEOUT`` 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci The driver supports 1308c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci.. _LIRC-CAN-SET-REC-FILTER: 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci``LIRC_CAN_SET_REC_FILTER`` 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci.. _LIRC-CAN-MEASURE-CARRIER: 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci``LIRC_CAN_MEASURE_CARRIER`` 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci The driver supports measuring of the modulation frequency using 1438c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`. 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci.. _LIRC-CAN-USE-WIDEBAND-RECEIVER: 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci``LIRC_CAN_USE_WIDEBAND_RECEIVER`` 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci The driver supports learning mode using 1508c2ecf20Sopenharmony_ci :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`. 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci.. _LIRC-CAN-NOTIFY-DECODE: 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci``LIRC_CAN_NOTIFY_DECODE`` 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci.. _LIRC-CAN-SEND-RAW: 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci``LIRC_CAN_SEND_RAW`` 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci.. _LIRC-CAN-SEND-PULSE: 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci``LIRC_CAN_SEND_PULSE`` 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci The driver supports sending (also called as IR blasting or IR TX) using 1698c2ecf20Sopenharmony_ci :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. This implies that 1708c2ecf20Sopenharmony_ci :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported for 1718c2ecf20Sopenharmony_ci transmit, as long as the kernel is recent enough. Use the 1728c2ecf20Sopenharmony_ci :ref:`lirc_set_send_mode` to switch modes. 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci.. _LIRC-CAN-SEND-MODE2: 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci``LIRC_CAN_SEND_MODE2`` 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 1798c2ecf20Sopenharmony_ci :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving. 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci.. _LIRC-CAN-SEND-LIRCCODE: 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ci``LIRC_CAN_SEND_LIRCCODE`` 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci Unused. Kept just to avoid breaking uAPI. 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ciReturn Value 1888c2ecf20Sopenharmony_ci============ 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ciOn success 0 is returned, on error -1 and the ``errno`` variable is set 1918c2ecf20Sopenharmony_ciappropriately. The generic error codes are described at the 1928c2ecf20Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter. 193