summaryrefslogtreecommitdiffstats
path: root/Documentation/media/uapi/dvb/fe-read-status.rst
blob: 76b93e3865529f049cd9c4d30c06932bc5915b89 (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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
.. -*- coding: utf-8; mode: rst -*-

.. _FE_READ_STATUS:

********************
ioctl FE_READ_STATUS
********************

Name
====

FE_READ_STATUS - Returns status information about the front-end. This call only requires - read-only access to the device


Synopsis
========

.. c:function:: int ioctl( int fd, FE_READ_STATUS, unsigned int *status )
    :name: FE_READ_STATUS


Arguments
=========

``fd``
    File descriptor returned by :ref:`open() <frontend_f_open>`.

``status``
    pointer to a bitmask integer filled with the values defined by enum
    :c:type:`fe_status`.


Description
===========

All DVB frontend devices support the ``FE_READ_STATUS`` 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.

.. 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.


int fe_status
=============

The fe_status parameter is used to indicate the current state and/or
state changes of the frontend hardware. It is produced using the enum
:c:type:`fe_status` values on a bitmask

.. c:type:: fe_status

.. tabularcolumns:: |p{3.5cm}|p{14.0cm}|

.. _fe-status:

.. flat-table:: enum fe_status
    :header-rows:  1
    :stub-columns: 0


    -  .. row 1

       -  ID

       -  Description

    -  .. row 2

       -  .. _FE-NONE:

	  ``FE_NONE``

       -  The frontend doesn't have any kind of lock. That's the initial frontend status

    -  .. row 3

       -  .. _FE-HAS-SIGNAL:

	  ``FE_HAS_SIGNAL``

       -  The frontend has found something above the noise level

    -  .. row 4

       -  .. _FE-HAS-CARRIER:

	  ``FE_HAS_CARRIER``

       -  The frontend has found a DVB signal

    -  .. row 5

       -  .. _FE-HAS-VITERBI:

	  ``FE_HAS_VITERBI``

       -  The frontend FEC inner coding (Viterbi, LDPC or other inner code)
	  is stable

    -  .. row 6

       -  .. _FE-HAS-SYNC:

	  ``FE_HAS_SYNC``

       -  Synchronization bytes was found

    -  .. row 7

       -  .. _FE-HAS-LOCK:

	  ``FE_HAS_LOCK``

       -  The DVB were locked and everything is working

    -  .. row 8

       -  .. _FE-TIMEDOUT:

	  ``FE_TIMEDOUT``

       -  no lock within the last about 2 seconds

    -  .. row 9

       -  .. _FE-REINIT:

	  ``FE_REINIT``

       -  The frontend was reinitialized, application is recommended to
	  reset DiSEqC, tone and parameters


Return Value
============

On success 0 is returned, on error -1 and the ``errno`` variable is set
appropriately. The generic error codes are described at the
:ref:`Generic Error Codes <gen-errors>` chapter.
OpenPOWER on IntegriCloud