Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming
[sfrench/cifs-2.6.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 .. c:function:: int ioctl( int fd, LIRC_GET_FEATURES, __u32 *features)
18     :name: LIRC_GET_FEATURES
19
20 Arguments
21 =========
22
23 ``fd``
24     File descriptor returned by open().
25
26 ``features``
27     Bitmask with the LIRC features.
28
29
30 Description
31 ===========
32
33
34 Get the underlying hardware device's features. If a driver does not
35 announce support of certain features, calling of the corresponding ioctls
36 is undefined.
37
38 LIRC 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     The driver is capable of receiving using
59     :ref:`LIRC_MODE_MODE2 <lirc-mode-MODE2>`.
60
61 .. _LIRC-CAN-REC-LIRCCODE:
62
63 ``LIRC_CAN_REC_LIRCCODE``
64
65     The driver is capable of receiving using
66     :ref:`LIRC_MODE_LIRCCODE <lirc-mode-LIRCCODE>`.
67
68 .. _LIRC-CAN-SET-SEND-CARRIER:
69
70 ``LIRC_CAN_SET_SEND_CARRIER``
71
72     The driver supports changing the modulation frequency via
73     :ref:`ioctl LIRC_SET_SEND_CARRIER <LIRC_SET_SEND_CARRIER>`.
74
75 .. _LIRC-CAN-SET-SEND-DUTY-CYCLE:
76
77 ``LIRC_CAN_SET_SEND_DUTY_CYCLE``
78
79     The driver supports changing the duty cycle using
80     :ref:`ioctl LIRC_SET_SEND_DUTY_CYCLE <LIRC_SET_SEND_DUTY_CYCLE>`.
81
82 .. _LIRC-CAN-SET-TRANSMITTER-MASK:
83
84 ``LIRC_CAN_SET_TRANSMITTER_MASK``
85
86     The driver supports changing the active transmitter(s) using
87     :ref:`ioctl LIRC_SET_TRANSMITTER_MASK <LIRC_SET_TRANSMITTER_MASK>`.
88
89 .. _LIRC-CAN-SET-REC-CARRIER:
90
91 ``LIRC_CAN_SET_REC_CARRIER``
92
93     The driver supports setting the receive carrier frequency using
94     :ref:`ioctl LIRC_SET_REC_CARRIER <LIRC_SET_REC_CARRIER>`.
95
96 .. _LIRC-CAN-SET-REC-DUTY-CYCLE-RANGE:
97
98 ``LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE``
99
100     Unused. Kept just to avoid breaking uAPI.
101
102 .. _LIRC-CAN-SET-REC-CARRIER-RANGE:
103
104 ``LIRC_CAN_SET_REC_CARRIER_RANGE``
105
106     The driver supports
107     :ref:`ioctl LIRC_SET_REC_CARRIER_RANGE <LIRC_SET_REC_CARRIER_RANGE>`.
108
109 .. _LIRC-CAN-GET-REC-RESOLUTION:
110
111 ``LIRC_CAN_GET_REC_RESOLUTION``
112
113     The driver supports
114     :ref:`ioctl LIRC_GET_REC_RESOLUTION <LIRC_GET_REC_RESOLUTION>`.
115
116 .. _LIRC-CAN-SET-REC-TIMEOUT:
117
118 ``LIRC_CAN_SET_REC_TIMEOUT``
119
120     The driver supports
121     :ref:`ioctl LIRC_SET_REC_TIMEOUT <LIRC_SET_REC_TIMEOUT>`.
122
123 .. _LIRC-CAN-SET-REC-FILTER:
124
125 ``LIRC_CAN_SET_REC_FILTER``
126
127     Unused. Kept just to avoid breaking uAPI.
128
129 .. _LIRC-CAN-MEASURE-CARRIER:
130
131 ``LIRC_CAN_MEASURE_CARRIER``
132
133     The driver supports measuring of the modulation frequency using
134     :ref:`ioctl LIRC_SET_MEASURE_CARRIER_MODE <LIRC_SET_MEASURE_CARRIER_MODE>`.
135
136 .. _LIRC-CAN-USE-WIDEBAND-RECEIVER:
137
138 ``LIRC_CAN_USE_WIDEBAND_RECEIVER``
139
140     The driver supports learning mode using
141     :ref:`ioctl LIRC_SET_WIDEBAND_RECEIVER <LIRC_SET_WIDEBAND_RECEIVER>`.
142
143 .. _LIRC-CAN-NOTIFY-DECODE:
144
145 ``LIRC_CAN_NOTIFY_DECODE``
146
147     Unused. Kept just to avoid breaking uAPI.
148
149 .. _LIRC-CAN-SEND-RAW:
150
151 ``LIRC_CAN_SEND_RAW``
152
153     Unused. Kept just to avoid breaking uAPI.
154
155 .. _LIRC-CAN-SEND-PULSE:
156
157 ``LIRC_CAN_SEND_PULSE``
158
159     The driver supports sending (also called as IR blasting or IR TX) using
160     :ref:`LIRC_MODE_PULSE <lirc-mode-pulse>`.
161
162 .. _LIRC-CAN-SEND-MODE2:
163
164 ``LIRC_CAN_SEND_MODE2``
165
166     Unused. Kept just to avoid breaking uAPI.
167     :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` can only be used for receiving.
168
169 .. _LIRC-CAN-SEND-LIRCCODE:
170
171 ``LIRC_CAN_SEND_LIRCCODE``
172
173     The driver supports sending (also called as IR blasting or IR TX) using
174     :ref:`LIRC_MODE_LIRCCODE <lirc-mode-LIRCCODE>`.
175
176
177 Return Value
178 ============
179
180 On success 0 is returned, on error -1 and the ``errno`` variable is set
181 appropriately. The generic error codes are described at the
182 :ref:`Generic Error Codes <gen-errors>` chapter.