我正在尝试使用create_proc_entry()函数在/ proc下创build一个目录。 当我尝试编译代码时,出现以下错误:函数'create_proc_entry'的隐式声明。
这些是我包含在我的.c文件中的标题:
#include <linux/module.h> #include <linux/kernel.h> #include <linux/proc_fs.h> #include <linux/string.h> #include <linux/vmalloc.h> #include <linux/uaccess.h>
我试图编译的机器上的内核版本是:3.10.33-g7954807-dirty
我是否缺less任何需要调用此方法的标头? 或者是我的版本的内核中弃用的方法?
/ proc文件系统已经重构3.10,你正在寻找的功能已被删除,你应该使用功能齐全的proc_create
函数系列。 请注意签名是不同的。
3.10版本: http : //lxr.free-electrons.com/source/include/linux/proc_fs.h?v= 3.10
3.9版本: http : //lxr.free-electrons.com/source/include/linux/proc_fs.h?v= 3.9
在“Linux Device Drivers 4”一书中,您可以找到使用全功能/ proc函数的更多解释,或者,如果您想缩短解决方案,请查看此链接( https://github.com/jesstess/ldd4/blob/master/scull/ main.c )在这里你可以看到struct file_operations
是如何被使用的。 您不必设置到结构的所有字段。