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


int ioctl(int fd,
 int request,
 unsigned int *status);



File descriptor returned by open().




pointer to a bitmask integer filled with the values defined by enum fe_status.


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.


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.

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

Table 9.19. enum fe_status

FE_HAS_SIGNALThe frontend has found something above the noise level
FE_HAS_CARRIERThe frontend has found a DVB signal
FE_HAS_VITERBIThe frontend FEC inner coding (Viterbi, LDPC or other inner code) is stable
FE_HAS_SYNCSynchronization bytes was found
FE_HAS_LOCKThe DVB were locked and everything is working
FE_TIMEDOUTno lock within the last about 2 seconds
FE_REINITThe frontend was reinitialized, application is recommended to reset DiSEqC, tone and parameters