forked from Minki/linux
706f8a9975
There are several notes and warning mesages in the middle of the media docbook. Use the ReST tags for that, as it makes them visually better and hightlights them. While here, modify a few ones to make them clearer. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
429 lines
7.0 KiB
ReStructuredText
429 lines
7.0 KiB
ReStructuredText
.. -*- coding: utf-8; mode: rst -*-
|
|
|
|
.. _FE_GET_INFO:
|
|
|
|
*****************
|
|
ioctl FE_GET_INFO
|
|
*****************
|
|
|
|
Name
|
|
====
|
|
|
|
FE_GET_INFO - Query DVB frontend capabilities and returns information about the - front-end. This call only requires read-only access to the device
|
|
|
|
|
|
Synopsis
|
|
========
|
|
|
|
.. cpp:function:: int ioctl( int fd, int request, struct dvb_frontend_info *argp )
|
|
|
|
|
|
Arguments
|
|
=========
|
|
|
|
``fd``
|
|
File descriptor returned by :ref:`open() <frontend_f_open>`.
|
|
|
|
``request``
|
|
FE_GET_INFO
|
|
|
|
``argp``
|
|
pointer to struct struct
|
|
:ref:`dvb_frontend_info <dvb-frontend-info>`
|
|
|
|
|
|
Description
|
|
===========
|
|
|
|
All DVB frontend devices support the ``FE_GET_INFO`` ioctl. It is used
|
|
to identify kernel devices compatible with this specification and to
|
|
obtain information about driver and hardware capabilities. The ioctl
|
|
takes a pointer to dvb_frontend_info which is filled by the driver.
|
|
When the driver is not compatible with this specification the ioctl
|
|
returns an error.
|
|
|
|
.. _dvb-frontend-info:
|
|
|
|
struct dvb_frontend_info
|
|
========================
|
|
|
|
.. flat-table:: struct dvb_frontend_info
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
:widths: 1 1 2
|
|
|
|
|
|
- .. row 1
|
|
|
|
- char
|
|
|
|
- name[128]
|
|
|
|
- Name of the frontend
|
|
|
|
- .. row 2
|
|
|
|
- fe_type_t
|
|
|
|
- type
|
|
|
|
- **DEPRECATED**. DVBv3 type. Should not be used on modern programs,
|
|
as a frontend may have more than one type. So, the DVBv5 API
|
|
should be used instead to enumerate and select the frontend type.
|
|
|
|
- .. row 3
|
|
|
|
- uint32_t
|
|
|
|
- frequency_min
|
|
|
|
- Minimal frequency supported by the frontend
|
|
|
|
- .. row 4
|
|
|
|
- uint32_t
|
|
|
|
- frequency_max
|
|
|
|
- Maximal frequency supported by the frontend
|
|
|
|
- .. row 5
|
|
|
|
- uint32_t
|
|
|
|
- frequency_stepsize
|
|
|
|
- Frequency step - all frequencies are multiple of this value
|
|
|
|
- .. row 6
|
|
|
|
- uint32_t
|
|
|
|
- frequency_tolerance
|
|
|
|
- Tolerance of the frequency
|
|
|
|
- .. row 7
|
|
|
|
- uint32_t
|
|
|
|
- symbol_rate_min
|
|
|
|
- Minimal symbol rate (for Cable/Satellite systems), in bauds
|
|
|
|
- .. row 8
|
|
|
|
- uint32_t
|
|
|
|
- symbol_rate_max
|
|
|
|
- Maximal symbol rate (for Cable/Satellite systems), in bauds
|
|
|
|
- .. row 9
|
|
|
|
- uint32_t
|
|
|
|
- symbol_rate_tolerance
|
|
|
|
- Maximal symbol rate tolerance, in ppm
|
|
|
|
- .. row 10
|
|
|
|
- uint32_t
|
|
|
|
- notifier_delay
|
|
|
|
- **DEPRECATED**. Not used by any driver.
|
|
|
|
- .. row 11
|
|
|
|
- enum :ref:`fe_caps <fe-caps>`
|
|
|
|
- caps
|
|
|
|
- Capabilities supported by the frontend
|
|
|
|
|
|
.. note:: The frequencies are specified in Hz for Terrestrial and Cable
|
|
systems. They're specified in kHz for Satellite systems
|
|
|
|
|
|
.. _fe-caps-t:
|
|
|
|
frontend capabilities
|
|
=====================
|
|
|
|
Capabilities describe what a frontend can do. Some capabilities are
|
|
supported only on some specific frontend types.
|
|
|
|
|
|
.. _fe-caps:
|
|
|
|
.. flat-table:: enum fe_caps
|
|
:header-rows: 1
|
|
:stub-columns: 0
|
|
|
|
|
|
- .. row 1
|
|
|
|
- ID
|
|
|
|
- Description
|
|
|
|
- .. row 2
|
|
|
|
- .. _FE-IS-STUPID:
|
|
|
|
``FE_IS_STUPID``
|
|
|
|
- There's something wrong at the frontend, and it can't report its
|
|
capabilities
|
|
|
|
- .. row 3
|
|
|
|
- .. _FE-CAN-INVERSION-AUTO:
|
|
|
|
``FE_CAN_INVERSION_AUTO``
|
|
|
|
- The frontend is capable of auto-detecting inversion
|
|
|
|
- .. row 4
|
|
|
|
- .. _FE-CAN-FEC-1-2:
|
|
|
|
``FE_CAN_FEC_1_2``
|
|
|
|
- The frontend supports FEC 1/2
|
|
|
|
- .. row 5
|
|
|
|
- .. _FE-CAN-FEC-2-3:
|
|
|
|
``FE_CAN_FEC_2_3``
|
|
|
|
- The frontend supports FEC 2/3
|
|
|
|
- .. row 6
|
|
|
|
- .. _FE-CAN-FEC-3-4:
|
|
|
|
``FE_CAN_FEC_3_4``
|
|
|
|
- The frontend supports FEC 3/4
|
|
|
|
- .. row 7
|
|
|
|
- .. _FE-CAN-FEC-4-5:
|
|
|
|
``FE_CAN_FEC_4_5``
|
|
|
|
- The frontend supports FEC 4/5
|
|
|
|
- .. row 8
|
|
|
|
- .. _FE-CAN-FEC-5-6:
|
|
|
|
``FE_CAN_FEC_5_6``
|
|
|
|
- The frontend supports FEC 5/6
|
|
|
|
- .. row 9
|
|
|
|
- .. _FE-CAN-FEC-6-7:
|
|
|
|
``FE_CAN_FEC_6_7``
|
|
|
|
- The frontend supports FEC 6/7
|
|
|
|
- .. row 10
|
|
|
|
- .. _FE-CAN-FEC-7-8:
|
|
|
|
``FE_CAN_FEC_7_8``
|
|
|
|
- The frontend supports FEC 7/8
|
|
|
|
- .. row 11
|
|
|
|
- .. _FE-CAN-FEC-8-9:
|
|
|
|
``FE_CAN_FEC_8_9``
|
|
|
|
- The frontend supports FEC 8/9
|
|
|
|
- .. row 12
|
|
|
|
- .. _FE-CAN-FEC-AUTO:
|
|
|
|
``FE_CAN_FEC_AUTO``
|
|
|
|
- The frontend can autodetect FEC.
|
|
|
|
- .. row 13
|
|
|
|
- .. _FE-CAN-QPSK:
|
|
|
|
``FE_CAN_QPSK``
|
|
|
|
- The frontend supports QPSK modulation
|
|
|
|
- .. row 14
|
|
|
|
- .. _FE-CAN-QAM-16:
|
|
|
|
``FE_CAN_QAM_16``
|
|
|
|
- The frontend supports 16-QAM modulation
|
|
|
|
- .. row 15
|
|
|
|
- .. _FE-CAN-QAM-32:
|
|
|
|
``FE_CAN_QAM_32``
|
|
|
|
- The frontend supports 32-QAM modulation
|
|
|
|
- .. row 16
|
|
|
|
- .. _FE-CAN-QAM-64:
|
|
|
|
``FE_CAN_QAM_64``
|
|
|
|
- The frontend supports 64-QAM modulation
|
|
|
|
- .. row 17
|
|
|
|
- .. _FE-CAN-QAM-128:
|
|
|
|
``FE_CAN_QAM_128``
|
|
|
|
- The frontend supports 128-QAM modulation
|
|
|
|
- .. row 18
|
|
|
|
- .. _FE-CAN-QAM-256:
|
|
|
|
``FE_CAN_QAM_256``
|
|
|
|
- The frontend supports 256-QAM modulation
|
|
|
|
- .. row 19
|
|
|
|
- .. _FE-CAN-QAM-AUTO:
|
|
|
|
``FE_CAN_QAM_AUTO``
|
|
|
|
- The frontend can autodetect modulation
|
|
|
|
- .. row 20
|
|
|
|
- .. _FE-CAN-TRANSMISSION-MODE-AUTO:
|
|
|
|
``FE_CAN_TRANSMISSION_MODE_AUTO``
|
|
|
|
- The frontend can autodetect the transmission mode
|
|
|
|
- .. row 21
|
|
|
|
- .. _FE-CAN-BANDWIDTH-AUTO:
|
|
|
|
``FE_CAN_BANDWIDTH_AUTO``
|
|
|
|
- The frontend can autodetect the bandwidth
|
|
|
|
- .. row 22
|
|
|
|
- .. _FE-CAN-GUARD-INTERVAL-AUTO:
|
|
|
|
``FE_CAN_GUARD_INTERVAL_AUTO``
|
|
|
|
- The frontend can autodetect the guard interval
|
|
|
|
- .. row 23
|
|
|
|
- .. _FE-CAN-HIERARCHY-AUTO:
|
|
|
|
``FE_CAN_HIERARCHY_AUTO``
|
|
|
|
- The frontend can autodetect hierarch
|
|
|
|
- .. row 24
|
|
|
|
- .. _FE-CAN-8VSB:
|
|
|
|
``FE_CAN_8VSB``
|
|
|
|
- The frontend supports 8-VSB modulation
|
|
|
|
- .. row 25
|
|
|
|
- .. _FE-CAN-16VSB:
|
|
|
|
``FE_CAN_16VSB``
|
|
|
|
- The frontend supports 16-VSB modulation
|
|
|
|
- .. row 26
|
|
|
|
- .. _FE-HAS-EXTENDED-CAPS:
|
|
|
|
``FE_HAS_EXTENDED_CAPS``
|
|
|
|
- Currently, unused
|
|
|
|
- .. row 27
|
|
|
|
- .. _FE-CAN-MULTISTREAM:
|
|
|
|
``FE_CAN_MULTISTREAM``
|
|
|
|
- The frontend supports multistream filtering
|
|
|
|
- .. row 28
|
|
|
|
- .. _FE-CAN-TURBO-FEC:
|
|
|
|
``FE_CAN_TURBO_FEC``
|
|
|
|
- The frontend supports turbo FEC modulation
|
|
|
|
- .. row 29
|
|
|
|
- .. _FE-CAN-2G-MODULATION:
|
|
|
|
``FE_CAN_2G_MODULATION``
|
|
|
|
- The frontend supports "2nd generation modulation" (DVB-S2/T2)>
|
|
|
|
- .. row 30
|
|
|
|
- .. _FE-NEEDS-BENDING:
|
|
|
|
``FE_NEEDS_BENDING``
|
|
|
|
- Not supported anymore, don't use it
|
|
|
|
- .. row 31
|
|
|
|
- .. _FE-CAN-RECOVER:
|
|
|
|
``FE_CAN_RECOVER``
|
|
|
|
- The frontend can recover from a cable unplug automatically
|
|
|
|
- .. row 32
|
|
|
|
- .. _FE-CAN-MUTE-TS:
|
|
|
|
``FE_CAN_MUTE_TS``
|
|
|
|
- The frontend can stop spurious TS data output
|
|
|
|
|
|
Return Value
|
|
============
|
|
|
|
On success 0 is returned, on error -1 and the ``errno`` variable is set
|
|
appropriately. The generic error codes are described at the
|
|
:ref:`Generic Error Codes <gen-errors>` chapter.
|