ioctl FE_READ_STATUS
&manvol;

# 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

## Arguments

`fd`

  &fe_fd;

`request`

  FE_READ_STATUS

`status`

  pointer to a bitmask integer filled with the values defined by &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.

&return-value-dvb;

## 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 &fe-status; values on a bitmask

### enum fe_status

&cs-def;
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