首先,/proc的API(Linux3.10+)似乎与旧内核手册中指定的API非常不同。
我正在创建几个/proc条目,它们与回调具有相同的写入函数。读取功能也是如此。
如果我写或读上面提到的/proc条目之一,我想知道哪个条目是写或读的,我希望能够在回调函数中获得这些信息。
我正在使用
proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct file_operations *proc_fops)
.
回调函数具有以下参数列表:
(struct file *filp, char *buf, size_t count, loff_t *offp)
.
我想不出是什么能给我任何线索,告诉我是从哪个文件触发了呼叫。首先我认为
struct file*
可能会有所帮助。我发现
struct file
包含
struct path
其中包含
struct dentry
其中包含
struct qstr
其中包含
const unsigned char *name
.
这是应该处理这件事的方式,还是更简单、更优雅的方式(尚未测试char*名称)?