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