Video for Linux Two API Specification: Revision 0.24
Prev |  | Next

# ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY

## 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 1. 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.
enum v4l2_tuner_type | `type` | The tuner type. This is the same value as in the struct v4l2_tuner `type` field. The field is not applicable to modulators, i. e. ignored by drivers.
__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:

EINVAL

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

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