Merge tag 'hwmon-for-linus-v4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[deliverable/linux.git] / Documentation / media / uapi / dvb / fe-get-info.rst
CommitLineData
5377d91f
MH
1.. -*- coding: utf-8; mode: rst -*-
2
3.. _FE_GET_INFO:
4
5*****************
6ioctl FE_GET_INFO
7*****************
8
15e7d615 9Name
586027ce 10====
5377d91f 11
586027ce 12FE_GET_INFO - Query DVB frontend capabilities and returns information about the - front-end. This call only requires read-only access to the device
5377d91f 13
15e7d615
MCC
14
15Synopsis
5377d91f
MH
16========
17
b7e67f6c 18.. cpp:function:: int ioctl( int fd, int request, struct dvb_frontend_info *argp )
5377d91f 19
586027ce 20
15e7d615 21Arguments
5377d91f
MH
22=========
23
24``fd``
25 File descriptor returned by :ref:`open() <frontend_f_open>`.
26
27``request``
28 FE_GET_INFO
29
30``argp``
31 pointer to struct struct
32 :ref:`dvb_frontend_info <dvb-frontend-info>`
33
34
15e7d615 35Description
5377d91f
MH
36===========
37
38All DVB frontend devices support the ``FE_GET_INFO`` ioctl. It is used
39to identify kernel devices compatible with this specification and to
40obtain information about driver and hardware capabilities. The ioctl
41takes a pointer to dvb_frontend_info which is filled by the driver.
42When the driver is not compatible with this specification the ioctl
43returns an error.
44
5377d91f
MH
45.. _dvb-frontend-info:
46
fc833980
MCC
47struct dvb_frontend_info
48========================
49
5377d91f
MH
50.. flat-table:: struct dvb_frontend_info
51 :header-rows: 0
52 :stub-columns: 0
53 :widths: 1 1 2
54
55
56 - .. row 1
57
58 - char
59
8968da9b 60 - name[128]
5377d91f
MH
61
62 - Name of the frontend
63
64 - .. row 2
65
66 - fe_type_t
67
68 - type
69
70 - **DEPRECATED**. DVBv3 type. Should not be used on modern programs,
0579e6e3
MCC
71 as a frontend may have more than one type. So, the DVBv5 API
72 should be used instead to enumerate and select the frontend type.
5377d91f
MH
73
74 - .. row 3
75
76 - uint32_t
77
78 - frequency_min
79
80 - Minimal frequency supported by the frontend
81
82 - .. row 4
83
84 - uint32_t
85
86 - frequency_max
87
88 - Maximal frequency supported by the frontend
89
90 - .. row 5
91
92 - uint32_t
93
94 - frequency_stepsize
95
96 - Frequency step - all frequencies are multiple of this value
97
98 - .. row 6
99
100 - uint32_t
101
102 - frequency_tolerance
103
104 - Tolerance of the frequency
105
106 - .. row 7
107
108 - uint32_t
109
110 - symbol_rate_min
111
112 - Minimal symbol rate (for Cable/Satellite systems), in bauds
113
114 - .. row 8
115
116 - uint32_t
117
118 - symbol_rate_max
119
120 - Maximal symbol rate (for Cable/Satellite systems), in bauds
121
122 - .. row 9
123
124 - uint32_t
125
126 - symbol_rate_tolerance
127
128 - Maximal symbol rate tolerance, in ppm
129
130 - .. row 10
131
132 - uint32_t
133
134 - notifier_delay
135
136 - **DEPRECATED**. Not used by any driver.
137
138 - .. row 11
139
140 - enum :ref:`fe_caps <fe-caps>`
141
142 - caps
143
144 - Capabilities supported by the frontend
145
146
706f8a99
MCC
147.. note:: The frequencies are specified in Hz for Terrestrial and Cable
148 systems. They're specified in kHz for Satellite systems
5377d91f
MH
149
150
151.. _fe-caps-t:
152
153frontend capabilities
154=====================
155
156Capabilities describe what a frontend can do. Some capabilities are
157supported only on some specific frontend types.
158
159
160.. _fe-caps:
161
162.. flat-table:: enum fe_caps
163 :header-rows: 1
164 :stub-columns: 0
165
166
167 - .. row 1
168
169 - ID
170
171 - Description
172
173 - .. row 2
174
6aeb3f67 175 - .. _FE-IS-STUPID:
5377d91f 176
0579e6e3 177 ``FE_IS_STUPID``
5377d91f
MH
178
179 - There's something wrong at the frontend, and it can't report its
0579e6e3 180 capabilities
5377d91f
MH
181
182 - .. row 3
183
6aeb3f67 184 - .. _FE-CAN-INVERSION-AUTO:
5377d91f 185
0579e6e3 186 ``FE_CAN_INVERSION_AUTO``
5377d91f
MH
187
188 - The frontend is capable of auto-detecting inversion
189
190 - .. row 4
191
6aeb3f67 192 - .. _FE-CAN-FEC-1-2:
5377d91f 193
0579e6e3 194 ``FE_CAN_FEC_1_2``
5377d91f
MH
195
196 - The frontend supports FEC 1/2
197
198 - .. row 5
199
6aeb3f67 200 - .. _FE-CAN-FEC-2-3:
5377d91f 201
0579e6e3 202 ``FE_CAN_FEC_2_3``
5377d91f
MH
203
204 - The frontend supports FEC 2/3
205
206 - .. row 6
207
6aeb3f67 208 - .. _FE-CAN-FEC-3-4:
5377d91f 209
0579e6e3 210 ``FE_CAN_FEC_3_4``
5377d91f
MH
211
212 - The frontend supports FEC 3/4
213
214 - .. row 7
215
6aeb3f67 216 - .. _FE-CAN-FEC-4-5:
5377d91f 217
0579e6e3 218 ``FE_CAN_FEC_4_5``
5377d91f
MH
219
220 - The frontend supports FEC 4/5
221
222 - .. row 8
223
6aeb3f67 224 - .. _FE-CAN-FEC-5-6:
5377d91f 225
0579e6e3 226 ``FE_CAN_FEC_5_6``
5377d91f
MH
227
228 - The frontend supports FEC 5/6
229
230 - .. row 9
231
6aeb3f67 232 - .. _FE-CAN-FEC-6-7:
5377d91f 233
0579e6e3 234 ``FE_CAN_FEC_6_7``
5377d91f
MH
235
236 - The frontend supports FEC 6/7
237
238 - .. row 10
239
6aeb3f67 240 - .. _FE-CAN-FEC-7-8:
5377d91f 241
0579e6e3 242 ``FE_CAN_FEC_7_8``
5377d91f
MH
243
244 - The frontend supports FEC 7/8
245
246 - .. row 11
247
6aeb3f67 248 - .. _FE-CAN-FEC-8-9:
5377d91f 249
0579e6e3 250 ``FE_CAN_FEC_8_9``
5377d91f
MH
251
252 - The frontend supports FEC 8/9
253
254 - .. row 12
255
6aeb3f67 256 - .. _FE-CAN-FEC-AUTO:
5377d91f 257
0579e6e3 258 ``FE_CAN_FEC_AUTO``
5377d91f
MH
259
260 - The frontend can autodetect FEC.
261
262 - .. row 13
263
6aeb3f67 264 - .. _FE-CAN-QPSK:
5377d91f 265
0579e6e3 266 ``FE_CAN_QPSK``
5377d91f
MH
267
268 - The frontend supports QPSK modulation
269
270 - .. row 14
271
6aeb3f67 272 - .. _FE-CAN-QAM-16:
5377d91f 273
0579e6e3 274 ``FE_CAN_QAM_16``
5377d91f
MH
275
276 - The frontend supports 16-QAM modulation
277
278 - .. row 15
279
6aeb3f67 280 - .. _FE-CAN-QAM-32:
5377d91f 281
0579e6e3 282 ``FE_CAN_QAM_32``
5377d91f
MH
283
284 - The frontend supports 32-QAM modulation
285
286 - .. row 16
287
6aeb3f67 288 - .. _FE-CAN-QAM-64:
5377d91f 289
0579e6e3 290 ``FE_CAN_QAM_64``
5377d91f
MH
291
292 - The frontend supports 64-QAM modulation
293
294 - .. row 17
295
6aeb3f67 296 - .. _FE-CAN-QAM-128:
5377d91f 297
0579e6e3 298 ``FE_CAN_QAM_128``
5377d91f
MH
299
300 - The frontend supports 128-QAM modulation
301
302 - .. row 18
303
6aeb3f67 304 - .. _FE-CAN-QAM-256:
5377d91f 305
0579e6e3 306 ``FE_CAN_QAM_256``
5377d91f
MH
307
308 - The frontend supports 256-QAM modulation
309
310 - .. row 19
311
6aeb3f67 312 - .. _FE-CAN-QAM-AUTO:
5377d91f 313
0579e6e3 314 ``FE_CAN_QAM_AUTO``
5377d91f
MH
315
316 - The frontend can autodetect modulation
317
318 - .. row 20
319
6aeb3f67 320 - .. _FE-CAN-TRANSMISSION-MODE-AUTO:
5377d91f 321
0579e6e3 322 ``FE_CAN_TRANSMISSION_MODE_AUTO``
5377d91f
MH
323
324 - The frontend can autodetect the transmission mode
325
326 - .. row 21
327
6aeb3f67 328 - .. _FE-CAN-BANDWIDTH-AUTO:
5377d91f 329
0579e6e3 330 ``FE_CAN_BANDWIDTH_AUTO``
5377d91f
MH
331
332 - The frontend can autodetect the bandwidth
333
334 - .. row 22
335
6aeb3f67 336 - .. _FE-CAN-GUARD-INTERVAL-AUTO:
5377d91f 337
0579e6e3 338 ``FE_CAN_GUARD_INTERVAL_AUTO``
5377d91f
MH
339
340 - The frontend can autodetect the guard interval
341
342 - .. row 23
343
6aeb3f67 344 - .. _FE-CAN-HIERARCHY-AUTO:
5377d91f 345
0579e6e3 346 ``FE_CAN_HIERARCHY_AUTO``
5377d91f
MH
347
348 - The frontend can autodetect hierarch
349
350 - .. row 24
351
6aeb3f67 352 - .. _FE-CAN-8VSB:
5377d91f 353
0579e6e3 354 ``FE_CAN_8VSB``
5377d91f
MH
355
356 - The frontend supports 8-VSB modulation
357
358 - .. row 25
359
6aeb3f67 360 - .. _FE-CAN-16VSB:
5377d91f 361
0579e6e3 362 ``FE_CAN_16VSB``
5377d91f
MH
363
364 - The frontend supports 16-VSB modulation
365
366 - .. row 26
367
6aeb3f67 368 - .. _FE-HAS-EXTENDED-CAPS:
5377d91f 369
0579e6e3 370 ``FE_HAS_EXTENDED_CAPS``
5377d91f
MH
371
372 - Currently, unused
373
374 - .. row 27
375
6aeb3f67 376 - .. _FE-CAN-MULTISTREAM:
5377d91f 377
0579e6e3 378 ``FE_CAN_MULTISTREAM``
5377d91f
MH
379
380 - The frontend supports multistream filtering
381
382 - .. row 28
383
6aeb3f67 384 - .. _FE-CAN-TURBO-FEC:
5377d91f 385
0579e6e3 386 ``FE_CAN_TURBO_FEC``
5377d91f
MH
387
388 - The frontend supports turbo FEC modulation
389
390 - .. row 29
391
6aeb3f67 392 - .. _FE-CAN-2G-MODULATION:
5377d91f 393
0579e6e3 394 ``FE_CAN_2G_MODULATION``
5377d91f
MH
395
396 - The frontend supports "2nd generation modulation" (DVB-S2/T2)>
397
398 - .. row 30
399
6aeb3f67 400 - .. _FE-NEEDS-BENDING:
5377d91f 401
0579e6e3 402 ``FE_NEEDS_BENDING``
5377d91f
MH
403
404 - Not supported anymore, don't use it
405
406 - .. row 31
407
6aeb3f67 408 - .. _FE-CAN-RECOVER:
5377d91f 409
0579e6e3 410 ``FE_CAN_RECOVER``
5377d91f
MH
411
412 - The frontend can recover from a cable unplug automatically
413
414 - .. row 32
415
6aeb3f67 416 - .. _FE-CAN-MUTE-TS:
5377d91f 417
0579e6e3 418 ``FE_CAN_MUTE_TS``
5377d91f
MH
419
420 - The frontend can stop spurious TS data output
fc833980 421
15e7d615
MCC
422
423Return Value
fc833980
MCC
424============
425
426On success 0 is returned, on error -1 and the ``errno`` variable is set
427appropriately. The generic error codes are described at the
428:ref:`Generic Error Codes <gen-errors>` chapter.
This page took 0.055727 seconds and 5 git commands to generate.