mirror of https://gitee.com/openkylin/linux.git
201 lines
4.8 KiB
ReStructuredText
201 lines
4.8 KiB
ReStructuredText
.. Permission is granted to copy, distribute and/or modify this
|
|
.. document under the terms of the GNU Free Documentation License,
|
|
.. Version 1.1 or any later version published by the Free Software
|
|
.. Foundation, with no Invariant Sections, no Front-Cover Texts
|
|
.. and no Back-Cover Texts. A copy of the license is included at
|
|
.. Documentation/media/uapi/fdl-appendix.rst.
|
|
..
|
|
.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
|
|
|
|
.. _lirc_get_features:
|
|
|
|
***********************
|
|
ioctl LIRC_GET_FEATURES
|
|
***********************
|
|
|
|
Name
|
|
====
|
|
|
|
LIRC_GET_FEATURES - Get the underlying hardware device's features
|
|
|
|
Synopsis
|
|
========
|
|
|
|
.. c:function:: int ioctl( int fd, LIRC_GET_FEATURES, __u32 *features)
|
|
:name: LIRC_GET_FEATURES
|
|
|
|
Arguments
|
|
=========
|
|
|
|
``fd``
|
|
File descriptor returned by open().
|
|
|
|
``features``
|
|
Bitmask with the LIRC features.
|
|
|
|
|
|
Description
|
|
===========
|
|
|
|
|
|
Get the underlying hardware device's features. If a driver does not
|
|
announce support of certain features, calling of the corresponding ioctls
|
|
is undefined.
|
|
|
|
LIRC features
|
|
=============
|
|
|
|
.. _LIRC-CAN-REC-RAW:
|
|
|
|
``LIRC_CAN_REC_RAW``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
.. _LIRC-CAN-REC-PULSE:
|
|
|
|
``LIRC_CAN_REC_PULSE``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
:ref:`LIRC_MODE_PULSE <lirc-mode-pulse>` can only be used for transmitting.
|
|
|
|
.. _LIRC-CAN-REC-MODE2:
|
|
|
|
``LIRC_CAN_REC_MODE2``
|
|
|
|
This is raw IR driver for receiving. This means that
|
|
:ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>` is used. This also implies
|
|
that :ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported,
|
|
as long as the kernel is recent enough. Use the
|
|
:ref:`lirc_set_rec_mode` to switch modes.
|
|
|
|
.. _LIRC-CAN-REC-LIRCCODE:
|
|
|
|
``LIRC_CAN_REC_LIRCCODE``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
.. _LIRC-CAN-REC-SCANCODE:
|
|
|
|
``LIRC_CAN_REC_SCANCODE``
|
|
|
|
This is a scancode driver for receiving. This means that
|
|
:ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is used.
|
|
|
|
.. _LIRC-CAN-SET-SEND-CARRIER:
|
|
|
|
``LIRC_CAN_SET_SEND_CARRIER``
|
|
|
|
The driver supports changing the modulation frequency via
|
|
:ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`.
|
|
|
|
.. _LIRC-CAN-SET-SEND-DUTY-CYCLE:
|
|
|
|
``LIRC_CAN_SET_SEND_DUTY_CYCLE``
|
|
|
|
The driver supports changing the duty cycle using
|
|
:ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`.
|
|
|
|
.. _LIRC-CAN-SET-TRANSMITTER-MASK:
|
|
|
|
``LIRC_CAN_SET_TRANSMITTER_MASK``
|
|
|
|
The driver supports changing the active transmitter(s) using
|
|
:ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`.
|
|
|
|
.. _LIRC-CAN-SET-REC-CARRIER:
|
|
|
|
``LIRC_CAN_SET_REC_CARRIER``
|
|
|
|
The driver supports setting the receive carrier frequency using
|
|
:ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`.
|
|
|
|
.. _LIRC-CAN-SET-REC-DUTY-CYCLE-RANGE:
|
|
|
|
``LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
.. _LIRC-CAN-SET-REC-CARRIER-RANGE:
|
|
|
|
``LIRC_CAN_SET_REC_CARRIER_RANGE``
|
|
|
|
The driver supports
|
|
:ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`.
|
|
|
|
.. _LIRC-CAN-GET-REC-RESOLUTION:
|
|
|
|
``LIRC_CAN_GET_REC_RESOLUTION``
|
|
|
|
The driver supports
|
|
:ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`.
|
|
|
|
.. _LIRC-CAN-SET-REC-TIMEOUT:
|
|
|
|
``LIRC_CAN_SET_REC_TIMEOUT``
|
|
|
|
The driver supports
|
|
:ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`.
|
|
|
|
.. _LIRC-CAN-SET-REC-FILTER:
|
|
|
|
``LIRC_CAN_SET_REC_FILTER``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
.. _LIRC-CAN-MEASURE-CARRIER:
|
|
|
|
``LIRC_CAN_MEASURE_CARRIER``
|
|
|
|
The driver supports measuring of the modulation frequency using
|
|
:ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`.
|
|
|
|
.. _LIRC-CAN-USE-WIDEBAND-RECEIVER:
|
|
|
|
``LIRC_CAN_USE_WIDEBAND_RECEIVER``
|
|
|
|
The driver supports learning mode using
|
|
:ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`.
|
|
|
|
.. _LIRC-CAN-NOTIFY-DECODE:
|
|
|
|
``LIRC_CAN_NOTIFY_DECODE``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
.. _LIRC-CAN-SEND-RAW:
|
|
|
|
``LIRC_CAN_SEND_RAW``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
.. _LIRC-CAN-SEND-PULSE:
|
|
|
|
``LIRC_CAN_SEND_PULSE``
|
|
|
|
The driver supports sending (also called as IR blasting or IR TX) using
|
|
:ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`. This implies that
|
|
:ref:`LIRC_MODE_SCANCODE <lirc-mode-SCANCODE>` is also supported for
|
|
transmit, as long as the kernel is recent enough. Use the
|
|
:ref:`lirc_set_send_mode` to switch modes.
|
|
|
|
.. _LIRC-CAN-SEND-MODE2:
|
|
|
|
``LIRC_CAN_SEND_MODE2``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
:ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving.
|
|
|
|
.. _LIRC-CAN-SEND-LIRCCODE:
|
|
|
|
``LIRC_CAN_SEND_LIRCCODE``
|
|
|
|
Unused. Kept just to avoid breaking uAPI.
|
|
|
|
|
|
Return Value
|
|
============
|
|
|
|
On success 0 is returned, on error -1 and the ``errno`` variable is set
|
|
appropriately. The generic error codes are described at the
|
|
:ref:`Generic Error Codes <gen-errors>` chapter.
|