首 页 行业热点 新车 试驾评测 养车用车 车型库

linux中使用sysfs 我想在一个指定的目录下创建一个属性文件,改如何操作

发布网友 发布时间:2022-04-24 16:22

我来回答

1个回答

热心网友 时间:2023-10-22 08:54

参考kernel目录下Documentation/filesystems/sysfs.txt文件。

先用宏DEVICE_ATTR定义:

#define DEVICE_ATTR(_name, _mode, _show, _store) \

struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)

显示:

static ssize_t show_name(struct device *dev, struct device_attribute *attr,

                         char *buf)

{

return scnprintf(buf, PAGE_SIZE, "%s\n", dev->name);

}

3. 存储:

static ssize_t store_name(struct device *dev, struct device_attribute *attr,

                          const char *buf, size_t count)

{

        snprintf(dev->name, sizeof(dev->name), "%.*s",

                 (int)min(count, sizeof(dev->name) - 1), buf);

return count;

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com