1<refentry id="FE_READ_STATUS">
2  <refmeta>
3    <refentrytitle>ioctl FE_READ_STATUS</refentrytitle>
4    &manvol;
5  </refmeta>
6
7  <refnamediv>
8    <refname>FE_READ_STATUS</refname>
9    <refpurpose>Returns status information about the front-end. This call only
10 requires read-only access to the device</refpurpose>
11  </refnamediv>
12
13  <refsynopsisdiv>
14    <funcsynopsis>
15      <funcprototype>
16	<funcdef>int <function>ioctl</function></funcdef>
17	<paramdef>int <parameter>fd</parameter></paramdef>
18	<paramdef>int <parameter>request</parameter></paramdef>
19	<paramdef>unsigned int *<parameter>status</parameter></paramdef>
20      </funcprototype>
21    </funcsynopsis>
22  </refsynopsisdiv>
23
24  <refsect1>
25    <title>Arguments</title>
26        <variablelist>
27      <varlistentry>
28	<term><parameter>fd</parameter></term>
29	<listitem>
30	  <para>&fe_fd;</para>
31	</listitem>
32      </varlistentry>
33      <varlistentry>
34	<term><parameter>request</parameter></term>
35	<listitem>
36	  <para>FE_READ_STATUS</para>
37	</listitem>
38      </varlistentry>
39      <varlistentry>
40	<term><parameter>status</parameter></term>
41	<listitem>
42	    <para>pointer to a bitmask integer filled with the values defined by
43		&fe-status;.</para>
44	</listitem>
45      </varlistentry>
46    </variablelist>
47  </refsect1>
48
49  <refsect1>
50    <title>Description</title>
51
52    <para>All DVB frontend devices support the
53<constant>FE_READ_STATUS</constant> ioctl. It is used to check about the
54locking status of the frontend after being tuned. The ioctl takes a
55pointer to an integer where the status will be written.
56</para>
57<para>NOTE: the size of status is actually sizeof(enum fe_status), with varies
58    according with the architecture. This needs to be fixed in the future.</para>
59&return-value-dvb;
60</refsect1>
61
62<refsect1 id="fe-status-t">
63<title>int fe_status</title>
64
65<para>The fe_status parameter is used to indicate the current state
66    and/or state changes of the frontend hardware. It is produced using
67    the &fe-status; values on a bitmask</para>
68
69<table pgwide="1" frame="none" id="fe-status">
70    <title>enum fe_status</title>
71    <tgroup cols="2">
72	&cs-def;
73	<thead>
74	<row>
75	    <entry>ID</entry>
76	    <entry>Description</entry>
77	</row>
78	</thead>
79	<tbody valign="top">
80	<row>
81	    <entry align="char" id="FE-HAS-SIGNAL"><constant>FE_HAS_SIGNAL</constant></entry>
82	    <entry align="char">The frontend has found something above the noise level</entry>
83	</row><row>
84	    <entry align="char" id="FE-HAS-CARRIER"><constant>FE_HAS_CARRIER</constant></entry>
85	    <entry align="char">The frontend has found a DVB signal</entry>
86	</row><row>
87	    <entry align="char" id="FE-HAS-VITERBI"><constant>FE_HAS_VITERBI</constant></entry>
88	    <entry align="char">The frontend FEC inner coding (Viterbi, LDPC or other inner code) is stable</entry>
89	</row><row>
90	    <entry align="char" id="FE-HAS-SYNC"><constant>FE_HAS_SYNC</constant></entry>
91	    <entry align="char">Synchronization bytes was found</entry>
92	</row><row>
93	    <entry align="char" id="FE-HAS-LOCK"><constant>FE_HAS_LOCK</constant></entry>
94	    <entry align="char">The DVB were locked and everything is working</entry>
95	</row><row>
96	    <entry align="char" id="FE-TIMEDOUT"><constant>FE_TIMEDOUT</constant></entry>
97	    <entry align="char">no lock within the last about 2 seconds</entry>
98	</row><row>
99	    <entry align="char" id="FE-REINIT"><constant>FE_REINIT</constant></entry>
100	    <entry align="char">The frontend was reinitialized, application is
101	    recommended to reset DiSEqC, tone and parameters</entry>
102	</row>
103        </tbody>
104    </tgroup>
105</table>
106</refsect1>
107</refentry>
108