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 | ||
b7e67f6c | 18 | .. cpp:function:: int ioctl( int fd, int request, struct dvb_frontend_info *argp ) |
5377d91f | 19 | |
586027ce | 20 | |
15e7d615 | 21 | Arguments |
5377d91f MH |
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 | ||
15e7d615 | 35 | Description |
5377d91f MH |
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 | ||
5377d91f MH |
45 | .. _dvb-frontend-info: |
46 | ||
fc833980 MCC |
47 | struct dvb_frontend_info |
48 | ======================== | |
49 | ||
5377d91f MH |
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, | |
0579e6e3 MCC |
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. | |
5377d91f MH |
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 | ||
6aeb3f67 | 175 | - .. _FE-IS-STUPID: |
5377d91f | 176 | |
0579e6e3 | 177 | ``FE_IS_STUPID`` |
5377d91f MH |
178 | |
179 | - There's something wrong at the frontend, and it can't report its | |
0579e6e3 | 180 | capabilities |
5377d91f MH |
181 | |
182 | - .. row 3 | |
183 | ||
6aeb3f67 | 184 | - .. _FE-CAN-INVERSION-AUTO: |
5377d91f | 185 | |
0579e6e3 | 186 | ``FE_CAN_INVERSION_AUTO`` |
5377d91f MH |
187 | |
188 | - The frontend is capable of auto-detecting inversion | |
189 | ||
190 | - .. row 4 | |
191 | ||
6aeb3f67 | 192 | - .. _FE-CAN-FEC-1-2: |
5377d91f | 193 | |
0579e6e3 | 194 | ``FE_CAN_FEC_1_2`` |
5377d91f MH |
195 | |
196 | - The frontend supports FEC 1/2 | |
197 | ||
198 | - .. row 5 | |
199 | ||
6aeb3f67 | 200 | - .. _FE-CAN-FEC-2-3: |
5377d91f | 201 | |
0579e6e3 | 202 | ``FE_CAN_FEC_2_3`` |
5377d91f MH |
203 | |
204 | - The frontend supports FEC 2/3 | |
205 | ||
206 | - .. row 6 | |
207 | ||
6aeb3f67 | 208 | - .. _FE-CAN-FEC-3-4: |
5377d91f | 209 | |
0579e6e3 | 210 | ``FE_CAN_FEC_3_4`` |
5377d91f MH |
211 | |
212 | - The frontend supports FEC 3/4 | |
213 | ||
214 | - .. row 7 | |
215 | ||
6aeb3f67 | 216 | - .. _FE-CAN-FEC-4-5: |
5377d91f | 217 | |
0579e6e3 | 218 | ``FE_CAN_FEC_4_5`` |
5377d91f MH |
219 | |
220 | - The frontend supports FEC 4/5 | |
221 | ||
222 | - .. row 8 | |
223 | ||
6aeb3f67 | 224 | - .. _FE-CAN-FEC-5-6: |
5377d91f | 225 | |
0579e6e3 | 226 | ``FE_CAN_FEC_5_6`` |
5377d91f MH |
227 | |
228 | - The frontend supports FEC 5/6 | |
229 | ||
230 | - .. row 9 | |
231 | ||
6aeb3f67 | 232 | - .. _FE-CAN-FEC-6-7: |
5377d91f | 233 | |
0579e6e3 | 234 | ``FE_CAN_FEC_6_7`` |
5377d91f MH |
235 | |
236 | - The frontend supports FEC 6/7 | |
237 | ||
238 | - .. row 10 | |
239 | ||
6aeb3f67 | 240 | - .. _FE-CAN-FEC-7-8: |
5377d91f | 241 | |
0579e6e3 | 242 | ``FE_CAN_FEC_7_8`` |
5377d91f MH |
243 | |
244 | - The frontend supports FEC 7/8 | |
245 | ||
246 | - .. row 11 | |
247 | ||
6aeb3f67 | 248 | - .. _FE-CAN-FEC-8-9: |
5377d91f | 249 | |
0579e6e3 | 250 | ``FE_CAN_FEC_8_9`` |
5377d91f MH |
251 | |
252 | - The frontend supports FEC 8/9 | |
253 | ||
254 | - .. row 12 | |
255 | ||
6aeb3f67 | 256 | - .. _FE-CAN-FEC-AUTO: |
5377d91f | 257 | |
0579e6e3 | 258 | ``FE_CAN_FEC_AUTO`` |
5377d91f MH |
259 | |
260 | - The frontend can autodetect FEC. | |
261 | ||
262 | - .. row 13 | |
263 | ||
6aeb3f67 | 264 | - .. _FE-CAN-QPSK: |
5377d91f | 265 | |
0579e6e3 | 266 | ``FE_CAN_QPSK`` |
5377d91f MH |
267 | |
268 | - The frontend supports QPSK modulation | |
269 | ||
270 | - .. row 14 | |
271 | ||
6aeb3f67 | 272 | - .. _FE-CAN-QAM-16: |
5377d91f | 273 | |
0579e6e3 | 274 | ``FE_CAN_QAM_16`` |
5377d91f MH |
275 | |
276 | - The frontend supports 16-QAM modulation | |
277 | ||
278 | - .. row 15 | |
279 | ||
6aeb3f67 | 280 | - .. _FE-CAN-QAM-32: |
5377d91f | 281 | |
0579e6e3 | 282 | ``FE_CAN_QAM_32`` |
5377d91f MH |
283 | |
284 | - The frontend supports 32-QAM modulation | |
285 | ||
286 | - .. row 16 | |
287 | ||
6aeb3f67 | 288 | - .. _FE-CAN-QAM-64: |
5377d91f | 289 | |
0579e6e3 | 290 | ``FE_CAN_QAM_64`` |
5377d91f MH |
291 | |
292 | - The frontend supports 64-QAM modulation | |
293 | ||
294 | - .. row 17 | |
295 | ||
6aeb3f67 | 296 | - .. _FE-CAN-QAM-128: |
5377d91f | 297 | |
0579e6e3 | 298 | ``FE_CAN_QAM_128`` |
5377d91f MH |
299 | |
300 | - The frontend supports 128-QAM modulation | |
301 | ||
302 | - .. row 18 | |
303 | ||
6aeb3f67 | 304 | - .. _FE-CAN-QAM-256: |
5377d91f | 305 | |
0579e6e3 | 306 | ``FE_CAN_QAM_256`` |
5377d91f MH |
307 | |
308 | - The frontend supports 256-QAM modulation | |
309 | ||
310 | - .. row 19 | |
311 | ||
6aeb3f67 | 312 | - .. _FE-CAN-QAM-AUTO: |
5377d91f | 313 | |
0579e6e3 | 314 | ``FE_CAN_QAM_AUTO`` |
5377d91f MH |
315 | |
316 | - The frontend can autodetect modulation | |
317 | ||
318 | - .. row 20 | |
319 | ||
6aeb3f67 | 320 | - .. _FE-CAN-TRANSMISSION-MODE-AUTO: |
5377d91f | 321 | |
0579e6e3 | 322 | ``FE_CAN_TRANSMISSION_MODE_AUTO`` |
5377d91f MH |
323 | |
324 | - The frontend can autodetect the transmission mode | |
325 | ||
326 | - .. row 21 | |
327 | ||
6aeb3f67 | 328 | - .. _FE-CAN-BANDWIDTH-AUTO: |
5377d91f | 329 | |
0579e6e3 | 330 | ``FE_CAN_BANDWIDTH_AUTO`` |
5377d91f MH |
331 | |
332 | - The frontend can autodetect the bandwidth | |
333 | ||
334 | - .. row 22 | |
335 | ||
6aeb3f67 | 336 | - .. _FE-CAN-GUARD-INTERVAL-AUTO: |
5377d91f | 337 | |
0579e6e3 | 338 | ``FE_CAN_GUARD_INTERVAL_AUTO`` |
5377d91f MH |
339 | |
340 | - The frontend can autodetect the guard interval | |
341 | ||
342 | - .. row 23 | |
343 | ||
6aeb3f67 | 344 | - .. _FE-CAN-HIERARCHY-AUTO: |
5377d91f | 345 | |
0579e6e3 | 346 | ``FE_CAN_HIERARCHY_AUTO`` |
5377d91f MH |
347 | |
348 | - The frontend can autodetect hierarch | |
349 | ||
350 | - .. row 24 | |
351 | ||
6aeb3f67 | 352 | - .. _FE-CAN-8VSB: |
5377d91f | 353 | |
0579e6e3 | 354 | ``FE_CAN_8VSB`` |
5377d91f MH |
355 | |
356 | - The frontend supports 8-VSB modulation | |
357 | ||
358 | - .. row 25 | |
359 | ||
6aeb3f67 | 360 | - .. _FE-CAN-16VSB: |
5377d91f | 361 | |
0579e6e3 | 362 | ``FE_CAN_16VSB`` |
5377d91f MH |
363 | |
364 | - The frontend supports 16-VSB modulation | |
365 | ||
366 | - .. row 26 | |
367 | ||
6aeb3f67 | 368 | - .. _FE-HAS-EXTENDED-CAPS: |
5377d91f | 369 | |
0579e6e3 | 370 | ``FE_HAS_EXTENDED_CAPS`` |
5377d91f MH |
371 | |
372 | - Currently, unused | |
373 | ||
374 | - .. row 27 | |
375 | ||
6aeb3f67 | 376 | - .. _FE-CAN-MULTISTREAM: |
5377d91f | 377 | |
0579e6e3 | 378 | ``FE_CAN_MULTISTREAM`` |
5377d91f MH |
379 | |
380 | - The frontend supports multistream filtering | |
381 | ||
382 | - .. row 28 | |
383 | ||
6aeb3f67 | 384 | - .. _FE-CAN-TURBO-FEC: |
5377d91f | 385 | |
0579e6e3 | 386 | ``FE_CAN_TURBO_FEC`` |
5377d91f MH |
387 | |
388 | - The frontend supports turbo FEC modulation | |
389 | ||
390 | - .. row 29 | |
391 | ||
6aeb3f67 | 392 | - .. _FE-CAN-2G-MODULATION: |
5377d91f | 393 | |
0579e6e3 | 394 | ``FE_CAN_2G_MODULATION`` |
5377d91f MH |
395 | |
396 | - The frontend supports "2nd generation modulation" (DVB-S2/T2)> | |
397 | ||
398 | - .. row 30 | |
399 | ||
6aeb3f67 | 400 | - .. _FE-NEEDS-BENDING: |
5377d91f | 401 | |
0579e6e3 | 402 | ``FE_NEEDS_BENDING`` |
5377d91f MH |
403 | |
404 | - Not supported anymore, don't use it | |
405 | ||
406 | - .. row 31 | |
407 | ||
6aeb3f67 | 408 | - .. _FE-CAN-RECOVER: |
5377d91f | 409 | |
0579e6e3 | 410 | ``FE_CAN_RECOVER`` |
5377d91f MH |
411 | |
412 | - The frontend can recover from a cable unplug automatically | |
413 | ||
414 | - .. row 32 | |
415 | ||
6aeb3f67 | 416 | - .. _FE-CAN-MUTE-TS: |
5377d91f | 417 | |
0579e6e3 | 418 | ``FE_CAN_MUTE_TS`` |
5377d91f MH |
419 | |
420 | - The frontend can stop spurious TS data output | |
fc833980 | 421 | |
15e7d615 MCC |
422 | |
423 | Return Value | |
fc833980 MCC |
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. |