ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY
Prev | Appendix A. Function Reference | Next

## Name

VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY — Get or set tuner or modulator radio frequency

## Synopsis

`int ioctl(` | int fd,
| int request,
| struct v4l2_frequency *argp`)`;

`int ioctl(` | int fd,
| int request,
| const struct v4l2_frequency *argp`)`;

## Arguments

`fd`

  File descriptor returned by `open()`.

`request`

  VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY

`argp`

## Description

To get the current tuner or modulator radio frequency applications set the `tuner` field of a struct v4l2_frequency to the respective tuner or modulator number (only input devices have tuners, only output devices have modulators), zero out the `reserved` array and call the `VIDIOC_G_FREQUENCY` ioctl with a pointer to this structure. The driver stores the current frequency in the `frequency` field.

To change the current tuner or modulator radio frequency applications initialize the `tuner`, `type` and `frequency` fields, and the `reserved` array of a struct v4l2_frequency and call the `VIDIOC_S_FREQUENCY` ioctl with a pointer to this structure. When the requested frequency is not possible the driver assumes the closest possible value. However `VIDIOC_S_FREQUENCY` is a write-only ioctl, it does not return the actual new frequency.

Table A.68. struct v4l2_frequency

__u32 | `tuner` | The tuner or modulator index number. This is the same value as in the struct v4l2_input `tuner` field and the struct v4l2_tuner `index` field, or the struct v4l2_output `modulator` field and the struct v4l2_modulator `index` field.
__u32 | `type` | The tuner type. This is the same value as in the struct v4l2_tuner `type` field. The type must be set to `V4L2_TUNER_RADIO` for `/dev/radioX` device nodes, and to `V4L2_TUNER_ANALOG_TV` for all others. Set this field to `V4L2_TUNER_RADIO` for modulators (currently only radio modulators are supported). See Table A.83, “enum v4l2_tuner_type”
__u32 | `frequency` | Tuning frequency in units of 62.5 kHz, or if the struct v4l2_tuner or struct v4l2_modulator `capabilities` flag `V4L2_TUNER_CAP_LOW` is set, in units of 62.5 Hz.
__u32 | `reserved`[8] | Reserved for future extensions. Drivers and applications must set the array to zero.

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

EINVAL

  The `tuner` index is out of bounds or the value in the `type` field is wrong.

EBUSY

  A hardware seek is in progress.

Prev | Up | Next
ioctl VIDIOC_G_FMT, VIDIOC_S_FMT, VIDIOC_TRY_FMT | Home | ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT