OpenCloudOS-Kernel/Documentation/media/uapi/dvb/fe-read-status.rst

137 lines
2.5 KiB
ReStructuredText

.. -*- 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-HAS-SIGNAL:
``FE_HAS_SIGNAL``
- The frontend has found something above the noise level
- .. row 3
- .. _FE-HAS-CARRIER:
``FE_HAS_CARRIER``
- The frontend has found a DVB signal
- .. row 4
- .. _FE-HAS-VITERBI:
``FE_HAS_VITERBI``
- The frontend FEC inner coding (Viterbi, LDPC or other inner code)
is stable
- .. row 5
- .. _FE-HAS-SYNC:
``FE_HAS_SYNC``
- Synchronization bytes was found
- .. row 6
- .. _FE-HAS-LOCK:
``FE_HAS_LOCK``
- The DVB were locked and everything is working
- .. row 7
- .. _FE-TIMEDOUT:
``FE_TIMEDOUT``
- no lock within the last about 2 seconds
- .. row 8
- .. _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.