2.5.4. ioctl FE_READ_STATUS

2.5.4.1. Name

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

2.5.4.2. Synopsis

int ioctl(int fd, FE_READ_STATUS, unsigned int *status)

2.5.4.3. Arguments

fd
File descriptor returned by open().
status
pointer to a bitmask integer filled with the values defined by enum fe_status.

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

2.5.4.5. 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 fe_status values on a bitmask

fe_status
enum fe_status
ID Description

FE_HAS_SIGNAL

The frontend has found something above the noise level

FE_HAS_CARRIER

The frontend has found a DVB signal

FE_HAS_VITERBI

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

FE_HAS_SYNC

Synchronization bytes was found

FE_HAS_LOCK

The DVB were locked and everything is working

FE_TIMEDOUT

no lock within the last about 2 seconds

FE_REINIT

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

2.5.4.6. 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 Generic Error Codes chapter.