我尝试在里面创建一个条目/proc/net
来自内核模块,如下所示:
struct file *filp = filp_open("/proc/net", O_RDONLY, 0);
struct proc_dir_entry *parent = PDE(filp->f_dentry->d_inode);
filp_close(filp, NULL);
proc_file = create_proc_entry("test", 0644, parent);
粗略地摘自here http://www.linuxquestions.org/questions/linux-kernel-70/create_proc_entry-path-help-894814/
为什么它会像这样创建我的条目/proc/test
代替/proc/net/test
?
(注:我想使用create_proc_entry
, not proc_create
.)
在最近的内核中,您将不再找到 create_proc_entry(),它已被完全删除。看一眼https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=80e928f7ebb958f4d79d4099d1c5c0a015a23b93 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=80e928f7ebb958f4d79d4099d1c5c0a015a23b93。因此,您需要使用 proc_create()。并且,传递 ->proc_net 作为父目录条目。看看这个:https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/ipv4/proc.c#n479 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/ipv4/proc.c#n479,这会给你一个清晰的想法。
如果您没有使用最新的内核,那么您可能有 create_proc_entry(),因此可以考虑使用 create_proc_entry(),而不是 proc_create()。但是,我认为最好采用当前的方法。因为最新内核无法支持 create_proc_entry() 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)