【发布时间】:2015-08-16 20:11:25
【问题描述】:
首先,/proc (Linux 3.10+) 的 API 似乎与旧内核书籍中指定的 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 *name)?
【问题讨论】:
标签: c linux linux-kernel linux-device-driver