1*ac7f9d02SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
25f536f4aSMauro Carvalho Chehab.. c:namespace:: RC
354f38fcaSMauro Carvalho Chehab
454f38fcaSMauro Carvalho Chehab.. _lirc_get_features:
554f38fcaSMauro Carvalho Chehab
654f38fcaSMauro Carvalho Chehab***********************
754f38fcaSMauro Carvalho Chehabioctl LIRC_GET_FEATURES
854f38fcaSMauro Carvalho Chehab***********************
954f38fcaSMauro Carvalho Chehab
1054f38fcaSMauro Carvalho ChehabName
1154f38fcaSMauro Carvalho Chehab====
1254f38fcaSMauro Carvalho Chehab
1354f38fcaSMauro Carvalho ChehabLIRC_GET_FEATURES - Get the underlying hardware device's features
1454f38fcaSMauro Carvalho Chehab
1554f38fcaSMauro Carvalho ChehabSynopsis
1654f38fcaSMauro Carvalho Chehab========
1754f38fcaSMauro Carvalho Chehab
185f536f4aSMauro Carvalho Chehab.. c:macro:: LIRC_GET_FEATURES
195f536f4aSMauro Carvalho Chehab
205f536f4aSMauro Carvalho Chehab``int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)``
2154f38fcaSMauro Carvalho Chehab
2254f38fcaSMauro Carvalho ChehabArguments
2354f38fcaSMauro Carvalho Chehab=========
2454f38fcaSMauro Carvalho Chehab
2554f38fcaSMauro Carvalho Chehab``fd``
2654f38fcaSMauro Carvalho Chehab    File descriptor returned by open().
2754f38fcaSMauro Carvalho Chehab
2854f38fcaSMauro Carvalho Chehab``features``
2954f38fcaSMauro Carvalho Chehab    Bitmask with the LIRC features.
3054f38fcaSMauro Carvalho Chehab
3154f38fcaSMauro Carvalho ChehabDescription
3254f38fcaSMauro Carvalho Chehab===========
3354f38fcaSMauro Carvalho Chehab
3454f38fcaSMauro Carvalho ChehabGet the underlying hardware device's features. If a driver does not
3554f38fcaSMauro Carvalho Chehabannounce support of certain features, calling of the corresponding ioctls
3654f38fcaSMauro Carvalho Chehabis undefined.
3754f38fcaSMauro Carvalho Chehab
3854f38fcaSMauro Carvalho ChehabLIRC features
3954f38fcaSMauro Carvalho Chehab=============
4054f38fcaSMauro Carvalho Chehab
4154f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-REC-RAW:
4254f38fcaSMauro Carvalho Chehab
4354f38fcaSMauro Carvalho Chehab``LIRC_CAN_REC_RAW``
4454f38fcaSMauro Carvalho Chehab
4554f38fcaSMauro Carvalho Chehab    Unused. Kept just to avoid breaking uAPI.
4654f38fcaSMauro Carvalho Chehab
4754f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-REC-PULSE:
4854f38fcaSMauro Carvalho Chehab
4954f38fcaSMauro Carvalho Chehab``LIRC_CAN_REC_PULSE``
5054f38fcaSMauro Carvalho Chehab
5154f38fcaSMauro Carvalho Chehab    Unused. Kept just to avoid breaking uAPI.
5254f38fcaSMauro Carvalho Chehab    :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting.
5354f38fcaSMauro Carvalho Chehab
5454f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-REC-MODE2:
5554f38fcaSMauro Carvalho Chehab
5654f38fcaSMauro Carvalho Chehab``LIRC_CAN_REC_MODE2``
5754f38fcaSMauro Carvalho Chehab
5854f38fcaSMauro Carvalho Chehab    This is raw IR driver for receiving. This means that
5954f38fcaSMauro Carvalho Chehab    :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` is used. This also implies
6054f38fcaSMauro Carvalho Chehab    that :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported,
6154f38fcaSMauro Carvalho Chehab    as long as the kernel is recent enough. Use the
6254f38fcaSMauro Carvalho Chehab    :ref:`lirc_set_rec_mode` to switch modes.
6354f38fcaSMauro Carvalho Chehab
6454f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-REC-LIRCCODE:
6554f38fcaSMauro Carvalho Chehab
6654f38fcaSMauro Carvalho Chehab``LIRC_CAN_REC_LIRCCODE``
6754f38fcaSMauro Carvalho Chehab
6854f38fcaSMauro Carvalho Chehab    Unused. Kept just to avoid breaking uAPI.
6954f38fcaSMauro Carvalho Chehab
7054f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-REC-SCANCODE:
7154f38fcaSMauro Carvalho Chehab
7254f38fcaSMauro Carvalho Chehab``LIRC_CAN_REC_SCANCODE``
7354f38fcaSMauro Carvalho Chehab
7454f38fcaSMauro Carvalho Chehab    This is a scancode driver for receiving. This means that
7554f38fcaSMauro Carvalho Chehab    :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used.
7654f38fcaSMauro Carvalho Chehab
7754f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SET-SEND-CARRIER:
7854f38fcaSMauro Carvalho Chehab
7954f38fcaSMauro Carvalho Chehab``LIRC_CAN_SET_SEND_CARRIER``
8054f38fcaSMauro Carvalho Chehab
8154f38fcaSMauro Carvalho Chehab    The driver supports changing the modulation frequency via
8254f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`.
8354f38fcaSMauro Carvalho Chehab
8454f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SET-SEND-DUTY-CYCLE:
8554f38fcaSMauro Carvalho Chehab
8654f38fcaSMauro Carvalho Chehab``LIRC_CAN_SET_SEND_DUTY_CYCLE``
8754f38fcaSMauro Carvalho Chehab
8854f38fcaSMauro Carvalho Chehab    The driver supports changing the duty cycle using
8954f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`.
9054f38fcaSMauro Carvalho Chehab
9154f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SET-TRANSMITTER-MASK:
9254f38fcaSMauro Carvalho Chehab
9354f38fcaSMauro Carvalho Chehab``LIRC_CAN_SET_TRANSMITTER_MASK``
9454f38fcaSMauro Carvalho Chehab
9554f38fcaSMauro Carvalho Chehab    The driver supports changing the active transmitter(s) using
9654f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`.
9754f38fcaSMauro Carvalho Chehab
9854f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SET-REC-CARRIER:
9954f38fcaSMauro Carvalho Chehab
10054f38fcaSMauro Carvalho Chehab``LIRC_CAN_SET_REC_CARRIER``
10154f38fcaSMauro Carvalho Chehab
10254f38fcaSMauro Carvalho Chehab    The driver supports setting the receive carrier frequency using
10354f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`.
10454f38fcaSMauro Carvalho Chehab
10554f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SET-REC-CARRIER-RANGE:
10654f38fcaSMauro Carvalho Chehab
10754f38fcaSMauro Carvalho Chehab``LIRC_CAN_SET_REC_CARRIER_RANGE``
10854f38fcaSMauro Carvalho Chehab
10954f38fcaSMauro Carvalho Chehab    The driver supports
11054f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`.
11154f38fcaSMauro Carvalho Chehab
11254f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-GET-REC-RESOLUTION:
11354f38fcaSMauro Carvalho Chehab
11454f38fcaSMauro Carvalho Chehab``LIRC_CAN_GET_REC_RESOLUTION``
11554f38fcaSMauro Carvalho Chehab
11654f38fcaSMauro Carvalho Chehab    The driver supports
11754f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`.
11854f38fcaSMauro Carvalho Chehab
11954f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SET-REC-TIMEOUT:
12054f38fcaSMauro Carvalho Chehab
12154f38fcaSMauro Carvalho Chehab``LIRC_CAN_SET_REC_TIMEOUT``
12254f38fcaSMauro Carvalho Chehab
12354f38fcaSMauro Carvalho Chehab    The driver supports
12454f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`.
12554f38fcaSMauro Carvalho Chehab
12654f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-MEASURE-CARRIER:
12754f38fcaSMauro Carvalho Chehab
12854f38fcaSMauro Carvalho Chehab``LIRC_CAN_MEASURE_CARRIER``
12954f38fcaSMauro Carvalho Chehab
13054f38fcaSMauro Carvalho Chehab    The driver supports measuring of the modulation frequency using
13154f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`.
13254f38fcaSMauro Carvalho Chehab
13354f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-USE-WIDEBAND-RECEIVER:
13454f38fcaSMauro Carvalho Chehab
13554f38fcaSMauro Carvalho Chehab``LIRC_CAN_USE_WIDEBAND_RECEIVER``
13654f38fcaSMauro Carvalho Chehab
13754f38fcaSMauro Carvalho Chehab    The driver supports learning mode using
13854f38fcaSMauro Carvalho Chehab    :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`.
13954f38fcaSMauro Carvalho Chehab
14054f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SEND-RAW:
14154f38fcaSMauro Carvalho Chehab
14254f38fcaSMauro Carvalho Chehab``LIRC_CAN_SEND_RAW``
14354f38fcaSMauro Carvalho Chehab
14454f38fcaSMauro Carvalho Chehab    Unused. Kept just to avoid breaking uAPI.
14554f38fcaSMauro Carvalho Chehab
14654f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SEND-PULSE:
14754f38fcaSMauro Carvalho Chehab
14854f38fcaSMauro Carvalho Chehab``LIRC_CAN_SEND_PULSE``
14954f38fcaSMauro Carvalho Chehab
15054f38fcaSMauro Carvalho Chehab    The driver supports sending (also called as IR blasting or IR TX) using
15154f38fcaSMauro Carvalho Chehab    :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. This implies that
15254f38fcaSMauro Carvalho Chehab    :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported for
15354f38fcaSMauro Carvalho Chehab    transmit, as long as the kernel is recent enough. Use the
15454f38fcaSMauro Carvalho Chehab    :ref:`lirc_set_send_mode` to switch modes.
15554f38fcaSMauro Carvalho Chehab
15654f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SEND-MODE2:
15754f38fcaSMauro Carvalho Chehab
15854f38fcaSMauro Carvalho Chehab``LIRC_CAN_SEND_MODE2``
15954f38fcaSMauro Carvalho Chehab
16054f38fcaSMauro Carvalho Chehab    Unused. Kept just to avoid breaking uAPI.
16154f38fcaSMauro Carvalho Chehab    :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving.
16254f38fcaSMauro Carvalho Chehab
16354f38fcaSMauro Carvalho Chehab.. _LIRC-CAN-SEND-LIRCCODE:
16454f38fcaSMauro Carvalho Chehab
16554f38fcaSMauro Carvalho Chehab``LIRC_CAN_SEND_LIRCCODE``
16654f38fcaSMauro Carvalho Chehab
16754f38fcaSMauro Carvalho Chehab    Unused. Kept just to avoid breaking uAPI.
16854f38fcaSMauro Carvalho Chehab
16954f38fcaSMauro Carvalho ChehabReturn Value
17054f38fcaSMauro Carvalho Chehab============
17154f38fcaSMauro Carvalho Chehab
17254f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set
17354f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the
17454f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter.
175