ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY
&manvol;
VIDIOC_G_FREQUENCY
VIDIOC_S_FREQUENCY
Get or set tuner or modulator radio
frequency
int ioctl
int fd
int request
struct v4l2_frequency
*argp
int ioctl
int fd
int request
const struct v4l2_frequency
*argp
Arguments
fd
&fd;
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
&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 &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.
struct v4l2_frequency
&cs-str;
__u32
tuner
The tuner or modulator index number. This is the
same value as in the &v4l2-input; tuner
field and the &v4l2-tuner; index field, or
the &v4l2-output; modulator field and the
&v4l2-modulator; index field.
__u32
type
The tuner type. This is the same value as in the
&v4l2-tuner; type field. See The type must be set
to V4L2_TUNER_RADIO for /dev/radioX
device nodes, and to V4L2_TUNER_ANALOG_TV
for all others. The field is not applicable to modulators, &ie; ignored
by drivers. See
__u32
frequency
Tuning frequency in units of 62.5 kHz, or if the
&v4l2-tuner; or &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;
EINVAL
The tuner index is out of
bounds or the value in the type field is
wrong.