7.32. ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY¶
7.32.1. 名称¶
VIDIOC_G_FREQUENCY - VIDIOC_S_FREQUENCY - 获取或设置调谐器或调制器的无线电频率
7.32.2. 概要¶
-
VIDIOC_G_FREQUENCY¶
int ioctl(int fd, VIDIOC_G_FREQUENCY, struct v4l2_frequency *argp)
-
VIDIOC_S_FREQUENCY¶
int ioctl(int fd, VIDIOC_S_FREQUENCY, const struct v4l2_frequency *argp)
7.32.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向结构体
v4l2_frequency
的指针。
7.32.4. 描述¶
要获取当前调谐器或调制器的无线电频率,应用程序将结构体 v4l2_frequency
的 tuner
字段设置为相应的调谐器或调制器编号(只有输入设备有调谐器,只有输出设备有调制器),将 reserved
数组清零,并使用指向此结构的指针调用 VIDIOC_G_FREQUENCY ioctl。驱动程序将当前频率存储在 frequency
字段中。
要更改当前调谐器或调制器的无线电频率,应用程序初始化结构体 v4l2_frequency
的 tuner
、type
和 frequency
字段以及 reserved
数组,并使用指向此结构的指针调用 VIDIOC_S_FREQUENCY ioctl。当请求的频率不可用时,驱动程序会采用最接近的值。然而 VIDIOC_S_FREQUENCY 是一个只写 ioctl,它不会返回实际的新频率。
-
type v4l2_frequency¶
__u32 |
|
调谐器或调制器索引号。这与结构体 |
__u32 |
|
调谐器类型。这与结构体 |
__u32 |
|
调谐频率,单位为 62.5 kHz,或者如果结构体 |
__u32 |
|
保留以供未来扩展。驱动程序和应用程序必须将数组设置为零。 |
7.32.5. 返回值¶
成功时返回 0,失败时返回 -1,并适当设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
tuner
索引超出范围或type
字段中的值错误。- EBUSY
正在进行硬件搜索。