module_param
是一个在Linux内核模块编程中使用的宏,用于定义和注册内核模块参数
module_param
宏的原型如下:
#define module_param(name, type, perm)
其中:
name
:参数名称,对应于要传递给内核模块的变量。type
:参数类型,可以是int
、charp
(字符指针)、bool
等。perm
:权限位,用于设置参数的读写权限。通常设置为S_IRUGO
(只读)或S_IRUGO | S_IWUSR
(可读写)。例如,如果你想在内核模块中定义一个名为my_param
的整数参数,可以这样使用module_param
宏:
static int my_param = 0;
module_param(my_param, int, S_IRUGO);
当内核模块被加载时,可以通过命令行参数传递给模块。例如,如果你的模块名为my_module
,可以使用以下命令加载模块并设置my_param
的值为42:
insmod my_module.ko my_param=42
在模块代码中,你可以直接使用my_param
变量来访问该参数的值。