6 kernel-module linux-kernel procfs
我想在/proc/driver目录下创建一个文件.我想使用宏proc_root_driver(或其他提供的)而不是明确使用"driver/MODULE_NAME".我用create_proc_entry:
struct proc_dir_entry *simpleproc_fops_entry;
simpleproc_fops_entry = create_proc_entry(MODULE_NAME, 0400, NULL /* proc_root_dir */);
Run Code Online (Sandbox Code Playgroud)
谷歌搜索后,我发现使用建议proc_root_driver,但当我使用它时,我得到错误
proc_root_driver在此函数中未声明
而且,proc_root_driver在linux/proc_fs.h中不可用.
我试图像这样声明结构:
struct proc_dir_entry proc_root;
struct proc_dir_entry *proc_root_driver = &proc_root;
Run Code Online (Sandbox Code Playgroud)
编译错误消失了,但文件没有出现在/proc/driver或/proc.如何创建条目/proc?
小智 4
查看 proc_fs.h,proc_root_driver 定义为:
extern struct proc_dir_entry *proc_root_driver;
Run Code Online (Sandbox Code Playgroud)
只要启用 CONFIG_PROC_FS 即可。如果您在配置内核时选择了 CONFIG_PROC_FS,您应该能够按照您自己的建议使用它,即:
#include <linux/proc_fs.h>
struct proc_dir_entry * procfile
procfile = create_proc_entry("myprocfile", 0400, proc_root_driver);
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请检查您是否设置了 CONFIG_PROC_FS。为了确保这一点,您可以使用 -E 选项编译源文件,并检查 create_proc_entry 调用是否包含非 NULL 参数作为最后一个参数。如果它是 NULL,或者根本不存在调用,则 CONFIG_PROC_FS 未启用。
| 归档时间: |
|
| 查看次数: |
11846 次 |
| 最近记录: |