| <refentry id="FE_GET_INFO"> |
| <refmeta> |
| <refentrytitle>ioctl FE_GET_INFO</refentrytitle> |
| &manvol; |
| </refmeta> |
| |
| <refnamediv> |
| <refname>FE_GET_INFO</refname> |
| <refpurpose>Query DVB frontend capabilities and returns information about |
| the front-end. This call only requires read-only access to the device</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <funcsynopsis> |
| <funcprototype> |
| <funcdef>int <function>ioctl</function></funcdef> |
| <paramdef>int <parameter>fd</parameter></paramdef> |
| <paramdef>int <parameter>request</parameter></paramdef> |
| <paramdef>struct dvb_frontend_info *<parameter>argp</parameter></paramdef> |
| </funcprototype> |
| </funcsynopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Arguments</title> |
| <variablelist> |
| <varlistentry> |
| <term><parameter>fd</parameter></term> |
| <listitem> |
| <para>&fe_fd;</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>request</parameter></term> |
| <listitem> |
| <para>FE_GET_INFO</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>argp</parameter></term> |
| <listitem> |
| <para>pointer to struct &dvb-frontend-info;</para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </refsect1> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para>All DVB frontend devices support the |
| <constant>FE_GET_INFO</constant> 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. |
| </para> |
| &return-value-dvb; |
| |
| <table pgwide="1" frame="none" id="dvb-frontend-info"> |
| <title>struct <structname>dvb_frontend_info</structname></title> |
| <tgroup cols="3"> |
| &cs-str; |
| <tbody valign="top"> |
| <row> |
| <entry>char</entry> |
| <entry>name[128]</entry> |
| <entry>Name of the frontend</entry> |
| </row><row> |
| <entry>fe_type_t</entry> |
| <entry>type</entry> |
| <entry><emphasis role="bold">DEPRECATED</emphasis>. 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.</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>frequency_min</entry> |
| <entry>Minimal frequency supported by the frontend</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>frequency_max</entry> |
| <entry>Maximal frequency supported by the frontend</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>frequency_stepsize</entry> |
| <entry>Frequency step - all frequencies are multiple of this value</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>frequency_tolerance</entry> |
| <entry>Tolerance of the frequency</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>symbol_rate_min</entry> |
| <entry>Minimal symbol rate (for Cable/Satellite systems), in bauds</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>symbol_rate_max</entry> |
| <entry>Maximal symbol rate (for Cable/Satellite systems), in bauds</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>symbol_rate_tolerance</entry> |
| <entry>Maximal symbol rate tolerance, in ppm</entry> |
| </row><row> |
| <entry>uint32_t</entry> |
| <entry>notifier_delay</entry> |
| <entry><emphasis role="bold">DEPRECATED</emphasis>. Not used by any driver.</entry> |
| </row><row> |
| <entry>&fe-caps;</entry> |
| <entry>caps</entry> |
| <entry>Capabilities supported by the frontend</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| |
| <para>NOTE: The frequencies are specified in Hz for Terrestrial and Cable |
| systems. They're specified in kHz for Satellite systems</para> |
| </refsect1> |
| |
| <refsect1 id="fe-caps-t"> |
| <title>frontend capabilities</title> |
| |
| <para>Capabilities describe what a frontend can do. Some capabilities are |
| supported only on some specific frontend types.</para> |
| |
| <table pgwide="1" frame="none" id="fe-caps"> |
| <title>enum fe_caps</title> |
| <tgroup cols="2"> |
| &cs-def; |
| <thead> |
| <row> |
| <entry>ID</entry> |
| <entry>Description</entry> |
| </row> |
| </thead> |
| <tbody valign="top"> |
| <row> |
| <entry id="FE-IS-STUPID"><constant>FE_IS_STUPID</constant></entry> |
| <entry>There's something wrong at the frontend, and it can't |
| report its capabilities</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-INVERSION-AUTO"><constant>FE_CAN_INVERSION_AUTO</constant></entry> |
| <entry>The frontend is capable of auto-detecting inversion</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-1-2"><constant>FE_CAN_FEC_1_2</constant></entry> |
| <entry>The frontend supports FEC 1/2</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-2-3"><constant>FE_CAN_FEC_2_3</constant></entry> |
| <entry>The frontend supports FEC 2/3</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-3-4"><constant>FE_CAN_FEC_3_4</constant></entry> |
| <entry>The frontend supports FEC 3/4</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-4-5"><constant>FE_CAN_FEC_4_5</constant></entry> |
| <entry>The frontend supports FEC 4/5</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-5-6"><constant>FE_CAN_FEC_5_6</constant></entry> |
| <entry>The frontend supports FEC 5/6</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-6-7"><constant>FE_CAN_FEC_6_7</constant></entry> |
| <entry>The frontend supports FEC 6/7</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-7-8"><constant>FE_CAN_FEC_7_8</constant></entry> |
| <entry>The frontend supports FEC 7/8</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-8-9"><constant>FE_CAN_FEC_8_9</constant></entry> |
| <entry>The frontend supports FEC 8/9</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-FEC-AUTO"><constant>FE_CAN_FEC_AUTO</constant></entry> |
| <entry>The frontend can autodetect FEC.</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QPSK"><constant>FE_CAN_QPSK</constant></entry> |
| <entry>The frontend supports QPSK modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QAM-16"><constant>FE_CAN_QAM_16</constant></entry> |
| <entry>The frontend supports 16-QAM modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QAM-32"><constant>FE_CAN_QAM_32</constant></entry> |
| <entry>The frontend supports 32-QAM modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QAM-64"><constant>FE_CAN_QAM_64</constant></entry> |
| <entry>The frontend supports 64-QAM modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QAM-128"><constant>FE_CAN_QAM_128</constant></entry> |
| <entry>The frontend supports 128-QAM modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QAM-256"><constant>FE_CAN_QAM_256</constant></entry> |
| <entry>The frontend supports 256-QAM modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-QAM-AUTO"><constant>FE_CAN_QAM_AUTO</constant></entry> |
| <entry>The frontend can autodetect modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-TRANSMISSION-MODE-AUTO"><constant>FE_CAN_TRANSMISSION_MODE_AUTO</constant></entry> |
| <entry>The frontend can autodetect the transmission mode</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-BANDWIDTH-AUTO"><constant>FE_CAN_BANDWIDTH_AUTO</constant></entry> |
| <entry>The frontend can autodetect the bandwidth</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-GUARD-INTERVAL-AUTO"><constant>FE_CAN_GUARD_INTERVAL_AUTO</constant></entry> |
| <entry>The frontend can autodetect the guard interval</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-HIERARCHY-AUTO"><constant>FE_CAN_HIERARCHY_AUTO</constant></entry> |
| <entry>The frontend can autodetect hierarch</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-8VSB"><constant>FE_CAN_8VSB</constant></entry> |
| <entry>The frontend supports 8-VSB modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-16VSB"><constant>FE_CAN_16VSB</constant></entry> |
| <entry>The frontend supports 16-VSB modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-HAS-EXTENDED-CAPS"><constant>FE_HAS_EXTENDED_CAPS</constant></entry> |
| <entry>Currently, unused</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-MULTISTREAM"><constant>FE_CAN_MULTISTREAM</constant></entry> |
| <entry>The frontend supports multistream filtering</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-TURBO-FEC"><constant>FE_CAN_TURBO_FEC</constant></entry> |
| <entry>The frontend supports turbo FEC modulation</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-2G-MODULATION"><constant>FE_CAN_2G_MODULATION</constant></entry> |
| <entry>The frontend supports "2nd generation modulation" (DVB-S2/T2)></entry> |
| </row> |
| <row> |
| <entry id="FE-NEEDS-BENDING"><constant>FE_NEEDS_BENDING</constant></entry> |
| <entry>Not supported anymore, don't use it</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-RECOVER"><constant>FE_CAN_RECOVER</constant></entry> |
| <entry>The frontend can recover from a cable unplug automatically</entry> |
| </row> |
| <row> |
| <entry id="FE-CAN-MUTE-TS"><constant>FE_CAN_MUTE_TS</constant></entry> |
| <entry>The frontend can stop spurious TS data output</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </refsect1> |
| </refentry> |