gpt4 book ai didi

c - 从 Linux 内核模块写入 debugfs

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:32 24 4
gpt4 key购买 nike

我已经成功地在匹配路径中创建了一个 dentry,但现在我该如何在那里写呢?

struct dentry* log_dir = debugfs_create_dir ("my_module", NULL);
struct dentry* log_file = debugfs_create_dir ("log", 0777, log_dir, NULL, NULL);

最佳答案

我想说您需要做的最好的引用是 debugfs.txt内核源代码树中的文档文件。

我还假设您在此处的代码示例中犯了错误:

struct dentry* log_file = debugfs_create_dir ("log", 0777, log_dir, NULL, NULL);

因为看起来您正在尝试创建一个文件,而不是另一个目录。所以我猜你想做的更像是这样:

struct dentry* log_file = debugfs_create_file("log", 0777, log_dir, NULL, &log_fops);

log_fops 可能是这样的:

static const struct file_operations log_fops = {
.owner = THIS_MODULE,
.read = log_read,
.write = log_write, /* maybe you don't need this */
};

当然,您还需要实现 log_read 和 log_write 函数:

ssize_t log_read(struct file *file, char __user *buff, size_t count, loff_t *offset);

ssize_t log_write(struct file *file, const char __user *buff, size_t count, loff_t *offset);

关于c - 从 Linux 内核模块写入 debugfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42235800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com