cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

lirc-get-features.rst (4228B)


      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.