Commit | Line | Data |
---|---|---|
5377d91f MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
3 | .. _FE_GET_INFO: | |
4 | ||
5 | ***************** | |
6 | ioctl FE_GET_INFO | |
7 | ***************** | |
8 | ||
15e7d615 | 9 | Name |
586027ce | 10 | ==== |
5377d91f | 11 | |
586027ce | 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 |
5377d91f | 13 | |
15e7d615 MCC |
14 | |
15 | Synopsis | |
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 | 22 | Arguments |
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 | 33 | Description |
5377d91f MH |
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 | ||
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 |
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 | ||
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 | |
421 | Return Value | |
fc833980 MCC |
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. |