Merge tag 'tpmdd-next-20160902' into next
[deliverable/linux.git] / Documentation / media / uapi / dvb / fe-get-info.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _FE_GET_INFO:
4
5 *****************
6 ioctl FE_GET_INFO
7 *****************
8
9 Name
10 ====
11
12 FE_GET_INFO - Query DVB frontend capabilities and returns information about the - front-end. This call only requires read-only access to the device
13
14
15 Synopsis
16 ========
17
18 .. cpp:function:: int ioctl( int fd, int request, struct dvb_frontend_info *argp )
19
20
21 Arguments
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
35 Description
36 ===========
37
38 All DVB frontend devices support the ``FE_GET_INFO`` ioctl. It is used
39 to identify kernel devices compatible with this specification and to
40 obtain information about driver and hardware capabilities. The ioctl
41 takes a pointer to dvb_frontend_info which is filled by the driver.
42 When the driver is not compatible with this specification the ioctl
43 returns an error.
44
45 .. _dvb-frontend-info:
46
47 struct dvb_frontend_info
48 ========================
49
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
60 - name[128]
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,
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.
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
147 .. note:: The frequencies are specified in Hz for Terrestrial and Cable
148 systems. They're specified in kHz for Satellite systems
149
150
151 .. _fe-caps-t:
152
153 frontend capabilities
154 =====================
155
156 Capabilities describe what a frontend can do. Some capabilities are
157 supported 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
175 - .. _FE-IS-STUPID:
176
177 ``FE_IS_STUPID``
178
179 - There's something wrong at the frontend, and it can't report its
180 capabilities
181
182 - .. row 3
183
184 - .. _FE-CAN-INVERSION-AUTO:
185
186 ``FE_CAN_INVERSION_AUTO``
187
188 - The frontend is capable of auto-detecting inversion
189
190 - .. row 4
191
192 - .. _FE-CAN-FEC-1-2:
193
194 ``FE_CAN_FEC_1_2``
195
196 - The frontend supports FEC 1/2
197
198 - .. row 5
199
200 - .. _FE-CAN-FEC-2-3:
201
202 ``FE_CAN_FEC_2_3``
203
204 - The frontend supports FEC 2/3
205
206 - .. row 6
207
208 - .. _FE-CAN-FEC-3-4:
209
210 ``FE_CAN_FEC_3_4``
211
212 - The frontend supports FEC 3/4
213
214 - .. row 7
215
216 - .. _FE-CAN-FEC-4-5:
217
218 ``FE_CAN_FEC_4_5``
219
220 - The frontend supports FEC 4/5
221
222 - .. row 8
223
224 - .. _FE-CAN-FEC-5-6:
225
226 ``FE_CAN_FEC_5_6``
227
228 - The frontend supports FEC 5/6
229
230 - .. row 9
231
232 - .. _FE-CAN-FEC-6-7:
233
234 ``FE_CAN_FEC_6_7``
235
236 - The frontend supports FEC 6/7
237
238 - .. row 10
239
240 - .. _FE-CAN-FEC-7-8:
241
242 ``FE_CAN_FEC_7_8``
243
244 - The frontend supports FEC 7/8
245
246 - .. row 11
247
248 - .. _FE-CAN-FEC-8-9:
249
250 ``FE_CAN_FEC_8_9``
251
252 - The frontend supports FEC 8/9
253
254 - .. row 12
255
256 - .. _FE-CAN-FEC-AUTO:
257
258 ``FE_CAN_FEC_AUTO``
259
260 - The frontend can autodetect FEC.
261
262 - .. row 13
263
264 - .. _FE-CAN-QPSK:
265
266 ``FE_CAN_QPSK``
267
268 - The frontend supports QPSK modulation
269
270 - .. row 14
271
272 - .. _FE-CAN-QAM-16:
273
274 ``FE_CAN_QAM_16``
275
276 - The frontend supports 16-QAM modulation
277
278 - .. row 15
279
280 - .. _FE-CAN-QAM-32:
281
282 ``FE_CAN_QAM_32``
283
284 - The frontend supports 32-QAM modulation
285
286 - .. row 16
287
288 - .. _FE-CAN-QAM-64:
289
290 ``FE_CAN_QAM_64``
291
292 - The frontend supports 64-QAM modulation
293
294 - .. row 17
295
296 - .. _FE-CAN-QAM-128:
297
298 ``FE_CAN_QAM_128``
299
300 - The frontend supports 128-QAM modulation
301
302 - .. row 18
303
304 - .. _FE-CAN-QAM-256:
305
306 ``FE_CAN_QAM_256``
307
308 - The frontend supports 256-QAM modulation
309
310 - .. row 19
311
312 - .. _FE-CAN-QAM-AUTO:
313
314 ``FE_CAN_QAM_AUTO``
315
316 - The frontend can autodetect modulation
317
318 - .. row 20
319
320 - .. _FE-CAN-TRANSMISSION-MODE-AUTO:
321
322 ``FE_CAN_TRANSMISSION_MODE_AUTO``
323
324 - The frontend can autodetect the transmission mode
325
326 - .. row 21
327
328 - .. _FE-CAN-BANDWIDTH-AUTO:
329
330 ``FE_CAN_BANDWIDTH_AUTO``
331
332 - The frontend can autodetect the bandwidth
333
334 - .. row 22
335
336 - .. _FE-CAN-GUARD-INTERVAL-AUTO:
337
338 ``FE_CAN_GUARD_INTERVAL_AUTO``
339
340 - The frontend can autodetect the guard interval
341
342 - .. row 23
343
344 - .. _FE-CAN-HIERARCHY-AUTO:
345
346 ``FE_CAN_HIERARCHY_AUTO``
347
348 - The frontend can autodetect hierarch
349
350 - .. row 24
351
352 - .. _FE-CAN-8VSB:
353
354 ``FE_CAN_8VSB``
355
356 - The frontend supports 8-VSB modulation
357
358 - .. row 25
359
360 - .. _FE-CAN-16VSB:
361
362 ``FE_CAN_16VSB``
363
364 - The frontend supports 16-VSB modulation
365
366 - .. row 26
367
368 - .. _FE-HAS-EXTENDED-CAPS:
369
370 ``FE_HAS_EXTENDED_CAPS``
371
372 - Currently, unused
373
374 - .. row 27
375
376 - .. _FE-CAN-MULTISTREAM:
377
378 ``FE_CAN_MULTISTREAM``
379
380 - The frontend supports multistream filtering
381
382 - .. row 28
383
384 - .. _FE-CAN-TURBO-FEC:
385
386 ``FE_CAN_TURBO_FEC``
387
388 - The frontend supports turbo FEC modulation
389
390 - .. row 29
391
392 - .. _FE-CAN-2G-MODULATION:
393
394 ``FE_CAN_2G_MODULATION``
395
396 - The frontend supports "2nd generation modulation" (DVB-S2/T2)>
397
398 - .. row 30
399
400 - .. _FE-NEEDS-BENDING:
401
402 ``FE_NEEDS_BENDING``
403
404 - Not supported anymore, don't use it
405
406 - .. row 31
407
408 - .. _FE-CAN-RECOVER:
409
410 ``FE_CAN_RECOVER``
411
412 - The frontend can recover from a cable unplug automatically
413
414 - .. row 32
415
416 - .. _FE-CAN-MUTE-TS:
417
418 ``FE_CAN_MUTE_TS``
419
420 - The frontend can stop spurious TS data output
421
422
423 Return Value
424 ============
425
426 On success 0 is returned, on error -1 and the ``errno`` variable is set
427 appropriately. The generic error codes are described at the
428 :ref:`Generic Error Codes <gen-errors>` chapter.
This page took 0.040959 seconds and 5 git commands to generate.