summaryrefslogtreecommitdiff
path: root/Documentation/DocBook/media/dvb/fe-read-status.xml
blob: bc0dc2a55f1980a2a6d022d4d2e478458e640c70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<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>