<refentry id="FE_READ_STATUS"> <refmeta> <refentrytitle>ioctl FE_READ_STATUS</refentrytitle> &manvol; </refmeta> <refnamediv> <refname>FE_READ_STATUS</refname> <refpurpose>Returns status 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>unsigned int *<parameter>status</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_READ_STATUS</para> </listitem> </varlistentry> <varlistentry> <term><parameter>status</parameter></term> <listitem> <para>pointer to a bitmask integer filled with the values defined by &fe-status;.</para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Description</title> <para>All DVB frontend devices support the <constant>FE_READ_STATUS</constant> ioctl. It is used to check about the locking status of the frontend after being tuned. The ioctl takes a pointer to an integer where the status will be written. </para> <para>NOTE: the size of status is actually sizeof(enum fe_status), with varies according with the architecture. This needs to be fixed in the future.</para> &return-value-dvb; </refsect1> <refsect1 id="fe-status-t"> <title>int fe_status</title> <para>The fe_status parameter is used to indicate the current state and/or state changes of the frontend hardware. It is produced using the &fe-status; values on a bitmask</para> <table pgwide="1" frame="none" id="fe-status"> <title>enum fe_status</title> <tgroup cols="2"> &cs-def; <thead> <row> <entry>ID</entry> <entry>Description</entry> </row> </thead> <tbody valign="top"> <row> <entry align="char" id="FE-HAS-SIGNAL"><constant>FE_HAS_SIGNAL</constant></entry> <entry align="char">The frontend has found something above the noise level</entry> </row><row> <entry align="char" id="FE-HAS-CARRIER"><constant>FE_HAS_CARRIER</constant></entry> <entry align="char">The frontend has found a DVB signal</entry> </row><row> <entry align="char" id="FE-HAS-VITERBI"><constant>FE_HAS_VITERBI</constant></entry> <entry align="char">The frontend FEC inner coding (Viterbi, LDPC or other inner code) is stable</entry> </row><row> <entry align="char" id="FE-HAS-SYNC"><constant>FE_HAS_SYNC</constant></entry> <entry align="char">Synchronization bytes was found</entry> </row><row> <entry align="char" id="FE-HAS-LOCK"><constant>FE_HAS_LOCK</constant></entry> <entry align="char">The DVB were locked and everything is working</entry> </row><row> <entry align="char" id="FE-TIMEDOUT"><constant>FE_TIMEDOUT</constant></entry> <entry align="char">no lock within the last about 2 seconds</entry> </row><row> <entry align="char" id="FE-REINIT"><constant>FE_REINIT</constant></entry> <entry align="char">The frontend was reinitialized, application is recommended to reset DiSEqC, tone and parameters</entry> </row> </tbody> </tgroup> </table> </refsect1> </refentry>