Merge remote-tracking branch 'regmap/fix/cache' into regmap-linus
[cascardo/linux.git] / Documentation / media / uapi / rc / lirc-get-features.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _lirc_get_features:
4
5 ***********************
6 ioctl LIRC_GET_FEATURES
7 ***********************
8
9 Name
10 ====
11
12 LIRC_GET_FEATURES - Get the underlying hardware device's features
13
14 Synopsis
15 ========
16
17 .. cpp:function:: int ioctl( int fd, int request, __u32 *features)
18
19 Arguments
20 =========
21
22 ``fd``
23     File descriptor returned by open().
24
25 ``request``
26     LIRC_GET_FEATURES
27
28 ``features``
29     Bitmask with the LIRC features.
30
31
32 Description
33 ===========
34
35
36 Get the underlying hardware device's features. If a driver does not
37 announce support of certain features, calling of the corresponding ioctls
38 is undefined.
39
40 LIRC features
41 =============
42
43 .. _LIRC-CAN-REC-RAW:
44
45 ``LIRC_CAN_REC_RAW``
46
47     Unused. Kept just to avoid breaking uAPI.
48
49 .. _LIRC-CAN-REC-PULSE:
50
51 ``LIRC_CAN_REC_PULSE``
52
53     The driver is capable of receiving using
54     :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`.
55
56 .. _LIRC-CAN-REC-MODE2:
57
58 ``LIRC_CAN_REC_MODE2``
59
60     The driver is capable of receiving using
61     :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>`.
62
63 .. _LIRC-CAN-REC-LIRCCODE:
64
65 ``LIRC_CAN_REC_LIRCCODE``
66
67     The driver is capable of receiving using
68     :ref:`LIRC_MODE_LIRCCODE <lirc-mode-LIRCCODE>`.
69
70 .. _LIRC-CAN-SET-SEND-CARRIER:
71
72 ``LIRC_CAN_SET_SEND_CARRIER``
73
74     The driver supports changing the modulation frequency via
75     :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`.
76
77 .. _LIRC-CAN-SET-SEND-DUTY-CYCLE:
78
79 ``LIRC_CAN_SET_SEND_DUTY_CYCLE``
80
81     The driver supports changing the duty cycle using
82     :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`.
83
84 .. _LIRC-CAN-SET-TRANSMITTER-MASK:
85
86 ``LIRC_CAN_SET_TRANSMITTER_MASK``
87
88     The driver supports changing the active transmitter(s) using
89     :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`.
90
91 .. _LIRC-CAN-SET-REC-CARRIER:
92
93 ``LIRC_CAN_SET_REC_CARRIER``
94
95     The driver supports setting the receive carrier frequency using
96     :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`.
97
98 .. _LIRC-CAN-SET-REC-DUTY-CYCLE-RANGE:
99
100 ``LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE``
101
102     Unused. Kept just to avoid breaking uAPI.
103
104 .. _LIRC-CAN-SET-REC-CARRIER-RANGE:
105
106 ``LIRC_CAN_SET_REC_CARRIER_RANGE``
107
108     The driver supports
109     :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`.
110
111 .. _LIRC-CAN-GET-REC-RESOLUTION:
112
113 ``LIRC_CAN_GET_REC_RESOLUTION``
114
115     The driver supports
116     :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`.
117
118 .. _LIRC-CAN-SET-REC-TIMEOUT:
119
120 ``LIRC_CAN_SET_REC_TIMEOUT``
121
122     The driver supports
123     :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`.
124
125 .. _LIRC-CAN-SET-REC-FILTER:
126
127 ``LIRC_CAN_SET_REC_FILTER``
128
129     Unused. Kept just to avoid breaking uAPI.
130
131 .. _LIRC-CAN-MEASURE-CARRIER:
132
133 ``LIRC_CAN_MEASURE_CARRIER``
134
135     The driver supports measuring of the modulation frequency using
136     :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`.
137
138 .. _LIRC-CAN-USE-WIDEBAND-RECEIVER:
139
140 ``LIRC_CAN_USE_WIDEBAND_RECEIVER``
141
142     The driver supports learning mode using
143     :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`.
144
145 .. _LIRC-CAN-NOTIFY-DECODE:
146
147 ``LIRC_CAN_NOTIFY_DECODE``
148
149     Unused. Kept just to avoid breaking uAPI.
150
151 .. _LIRC-CAN-SEND-RAW:
152
153 ``LIRC_CAN_SEND_RAW``
154
155     Unused. Kept just to avoid breaking uAPI.
156
157 .. _LIRC-CAN-SEND-PULSE:
158
159 ``LIRC_CAN_SEND_PULSE``
160
161     The driver supports sending using :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`.
162
163 .. _LIRC-CAN-SEND-MODE2:
164
165 ``LIRC_CAN_SEND_MODE2``
166
167     The driver supports sending using :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>`.
168
169 .. _LIRC-CAN-SEND-LIRCCODE:
170
171 ``LIRC_CAN_SEND_LIRCCODE``
172
173     The driver supports sending codes (also called as IR blasting or IR TX).
174
175
176 Return Value
177 ============
178
179 On success 0 is returned, on error -1 and the ``errno`` variable is set
180 appropriately. The generic error codes are described at the
181 :ref:`Generic Error Codes <gen-errors>` chapter.