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