Merge tag 'docs-4.9-2' of git://git.lwn.net/linux
[sfrench/cifs-2.6.git] / Documentation / media / uapi / dvb / fe-read-status.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _FE_READ_STATUS:
4
5 ********************
6 ioctl FE_READ_STATUS
7 ********************
8
9 Name
10 ====
11
12 FE_READ_STATUS - Returns status information about the front-end. This call only requires - read-only access to the device
13
14
15 Synopsis
16 ========
17
18 .. c:function:: int ioctl( int fd, FE_READ_STATUS, unsigned int *status )
19     :name: FE_READ_STATUS
20
21
22 Arguments
23 =========
24
25 ``fd``
26     File descriptor returned by :ref:`open() <frontend_f_open>`.
27
28 ``status``
29     pointer to a bitmask integer filled with the values defined by enum
30     :c:type:`fe_status`.
31
32
33 Description
34 ===========
35
36 All DVB frontend devices support the ``FE_READ_STATUS`` ioctl. It is
37 used to check about the locking status of the frontend after being
38 tuned. The ioctl takes a pointer to an integer where the status will be
39 written.
40
41 .. note::
42
43    The size of status is actually sizeof(enum fe_status), with
44    varies according with the architecture. This needs to be fixed in the
45    future.
46
47
48 int fe_status
49 =============
50
51 The fe_status parameter is used to indicate the current state and/or
52 state changes of the frontend hardware. It is produced using the enum
53 :c:type:`fe_status` values on a bitmask
54
55 .. c:type:: fe_status
56
57 .. tabularcolumns:: |p{3.5cm}|p{14.0cm}|
58
59 .. _fe-status:
60
61 .. flat-table:: enum fe_status
62     :header-rows:  1
63     :stub-columns: 0
64
65
66     -  .. row 1
67
68        -  ID
69
70        -  Description
71
72     -  .. row 2
73
74        -  .. _FE-HAS-SIGNAL:
75
76           ``FE_HAS_SIGNAL``
77
78        -  The frontend has found something above the noise level
79
80     -  .. row 3
81
82        -  .. _FE-HAS-CARRIER:
83
84           ``FE_HAS_CARRIER``
85
86        -  The frontend has found a DVB signal
87
88     -  .. row 4
89
90        -  .. _FE-HAS-VITERBI:
91
92           ``FE_HAS_VITERBI``
93
94        -  The frontend FEC inner coding (Viterbi, LDPC or other inner code)
95           is stable
96
97     -  .. row 5
98
99        -  .. _FE-HAS-SYNC:
100
101           ``FE_HAS_SYNC``
102
103        -  Synchronization bytes was found
104
105     -  .. row 6
106
107        -  .. _FE-HAS-LOCK:
108
109           ``FE_HAS_LOCK``
110
111        -  The DVB were locked and everything is working
112
113     -  .. row 7
114
115        -  .. _FE-TIMEDOUT:
116
117           ``FE_TIMEDOUT``
118
119        -  no lock within the last about 2 seconds
120
121     -  .. row 8
122
123        -  .. _FE-REINIT:
124
125           ``FE_REINIT``
126
127        -  The frontend was reinitialized, application is recommended to
128           reset DiSEqC, tone and parameters
129
130
131 Return Value
132 ============
133
134 On success 0 is returned, on error -1 and the ``errno`` variable is set
135 appropriately. The generic error codes are described at the
136 :ref:`Generic Error Codes <gen-errors>` chapter.