如何在Linux内核模块中的sysfs上存储数组?

时间:2014-02-04 12:19:26

标签: c linux-kernel kernel-module sysfs

我正在编写Linux内核模块,我正在创建一些sysfs文件来存储变量。

但我需要实现数组,例如:

struct ats {
   struct attribute attr;
   unsigned long value[5];
};

struct ats m_ats = {
   .attr.name="m_ats",
   .attr.mode = 0644,
   .value[0] = 0,
   .value[1] = 0,
   .value[2] = 0,
   .value[3] = 0,
   .value[4] = 0,
};

有办法吗? show,store,module_init,module_exit如何运作?

1 个答案:

答案 0 :(得分:2)

你必须手动手动。您可以对传入的字符串使用sscanf,解析输入并将每个值存储在数组槽中。像这样:

sscanf(input_string, "%d %d %d", value[0], value[1], value[3])