ioctl VIDIOC_ENUM_FREQ_BANDS &manvol; VIDIOC_ENUM_FREQ_BANDS Enumerate supported frequency bands int ioctl int fd int request struct v4l2_frequency_band *argp Arguments fd &fd; request VIDIOC_ENUM_FREQ_BANDS argp Description Experimental This 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 <structname>v4l2_frequency_band</structname> &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. 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 __u32 index Identifies the frequency band, set by the application. __u32 capability The tuner/modulator capability flags for this frequency band, see . The V4L2_TUNER_CAP_LOW 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. __u32 rangelow The 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. __u32 rangehigh The 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. __u32 modulation The 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. __u32 reserved[9] Reserved for future extensions. Applications and drivers must set the array to zero.
Band Modulation Systems &cs-def; V4L2_BAND_MODULATION_VSB 0x02 Vestigial Sideband modulation, used for analog TV. V4L2_BAND_MODULATION_FM 0x04 Frequency Modulation, commonly used for analog radio. V4L2_BAND_MODULATION_AM 0x08 Amplitude Modulation, commonly used for analog radio.
&return-value; EINVAL The tuner or index is out of bounds or the type field is wrong.