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