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