ioctl VIDIOC_ENUM_FREQ_BANDS
&manvol;
VIDIOC_ENUM_FREQ_BANDSEnumerate supported frequency bandsint ioctlint fdint requeststruct v4l2_frequency_band
*argpArgumentsfd&fd;requestVIDIOC_ENUM_FREQ_BANDSargpDescriptionExperimentalThis is an experimental
interface and may change in the future.Enumerates the frequency bands that a tuner or modulator supports.
To do this applications initialize the tuner,
type and index fields,
and zero out the reserved array of a &v4l2-frequency-band; and
call the VIDIOC_ENUM_FREQ_BANDS ioctl with a pointer
to this structure.This ioctl is supported if the V4L2_TUNER_CAP_FREQ_BANDS capability
of the corresponding tuner/modulator is set.
struct v4l2_frequency_band
&cs-str;
__u32tunerThe 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.__u32typeThe tuner type. This is the same value as in the
&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 __u32indexIdentifies the frequency band, set by the application.__u32capabilityThe tuner/modulator capability flags for
this frequency band, see . The V4L2_TUNER_CAP_LOW
or V4L2_TUNER_CAP_1HZ capability must be the same for all frequency bands of the selected tuner/modulator.
So either all bands have that capability set, or none of them have that capability.__u32rangelowThe lowest tunable frequency in
units of 62.5 kHz, or if the capability
flag V4L2_TUNER_CAP_LOW is set, in units of 62.5
Hz, for this frequency band. A 1 Hz unit is used when the capability flag
V4L2_TUNER_CAP_1HZ is set.__u32rangehighThe highest tunable frequency in
units of 62.5 kHz, or if the capability
flag V4L2_TUNER_CAP_LOW is set, in units of 62.5
Hz, for this frequency band. A 1 Hz unit is used when the capability flag
V4L2_TUNER_CAP_1HZ is set.__u32modulationThe supported modulation systems of this frequency band.
See . Note that currently only one
modulation system per frequency band is supported. More work will need to
be done if multiple modulation systems are possible. Contact the
linux-media mailing list (&v4l-ml;) if you need that functionality.__u32reserved[9]Reserved for future extensions. Applications and drivers
must set the array to zero.
Band Modulation Systems
&cs-def;
V4L2_BAND_MODULATION_VSB0x02Vestigial Sideband modulation, used for analog TV.V4L2_BAND_MODULATION_FM0x04Frequency Modulation, commonly used for analog radio.V4L2_BAND_MODULATION_AM0x08Amplitude Modulation, commonly used for analog radio.
&return-value;
EINVALThe tuner or index
is out of bounds or the type field is wrong.