如何在/proc/driver下创建proc条目?
我想在 /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 */);
谷歌搜索后,我找到了使用 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;
编译错误消失了,但文件没有出现在 /proc/driver
或 /proc
下。 如何在 /proc
中创建一个条目?
I want to create a file under a /proc/driver
directory. I would like to use a macro like proc_root_driver
(or something else provided) rather than use "driver/MODULE_NAME" explicitly. I use create_proc_entry
:
struct proc_dir_entry *simpleproc_fops_entry;
simpleproc_fops_entry = create_proc_entry(MODULE_NAME, 0400, NULL /* proc_root_dir */);
After googling, I found suggestion to use proc_root_driver
, but when I use it, I get the error
proc_root_driver undeclared in this function
And also, proc_root_driver
is not available in linux/proc_fs.h.
I have tried to declare structure like this:
struct proc_dir_entry proc_root;
struct proc_dir_entry *proc_root_driver = &proc_root;
The compilation errors gone, but the file didn't appear under /proc/driver
or /proc
. How can I make create an entry in /proc
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看 proc_fs.h,proc_root_driver 定义为:
只要 CONFIG_PROC_FS 启用。 如果您在配置内核时选择了 CONFIG_PROC_FS,您应该能够按照您自己的建议使用它,即:
如果这不起作用,请检查您是否设置了 CONFIG_PROC_FS。 为了确保这一点,您可以使用 -E 选项编译源文件,并检查 create_proc_entry 调用是否包含非 NULL 参数作为最后一个参数。 如果它是 NULL,或者根本不存在调用,则 CONFIG_PROC_FS 未启用。
Looking at proc_fs.h, proc_root_driver is defined as :
so long as CONFIG_PROC_FS is enabled. If you have CONFIG_PROC_FS selected when you configure your kernel, you should be able to use it as you suggested yourself i.e. :
If this does not work, check that you have CONFIG_PROC_FS set. To make sure, you can compile your source file with the -E option and check that the create_proc_entry call includes a non NULL parameter as the last parameter. If it is NULL, or the call is not there at all, then CONFIG_PROC_FS is not enabled.
编译这个驱动程序。 如果编译成功,您将看到
/proc/ayyaz
。Compile this driver. If it compiles sucessfully, then you will see
/proc/ayyaz
.然后你可以找到
/proc/driver/XX
条目。Then you can find the
/proc/driver/XX
entry.