ubuntu-10.04 - 在内核模式和用户模式之间使用ioctl通信

标签 ubuntu-10.04 kernel-module ioctl

我想使用 ioctl 与我的内核模块进行通信。我已经编写了两个 c 程序,一个用于内核模块,另一个用于用户模式。编译内核模块时出现此错误:

错误:在初始化程序中指定了未知字段“ioctl”

在这一行:

struct file_operations Fops = {
 .read = device_read,
 .write = device_write,
 .ioctl = device_ioctl,  ------> at this point error is occuring.
 .open = device_open,
 .release = device_release,
};

知道为什么会这样。

谢谢

最佳答案

在较新的内核中,首选方法是使用 .unlocked_ioctl.compat_ioctl字段。平原 .ioctl已从 struct file_operations 中删除. This discussion可能会澄清发生了什么以及如何处理。

关于ubuntu-10.04 - 在内核模式和用户模式之间使用ioctl通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5868908/

相关文章:

linux - <linux/proc_fs.h> 中缺少 Ubuntu proc_root_driver

linux - 你会为什么编写内核模块?

c - 如何转发/多路复用 ioctl 组?

c - 在 C 中使用 ioctl() 设置不可变标志

linux - 哪些可能的原因会阻止 Linux 上的虚拟终端?

c - 使用 fread 的代码中是否存在错误

linux - 当用户第一次打开网络浏览器时,如何在局域网计算机上询问用户名和密码

java - 无法使用 Openshift 客户端工具

Linux内核驱动: Finish 'completion' when device is removed

operating-system - __init 和 __exit 属性的使用