linux 内核模块编程之模块参数(四)

来源:互联网 发布:linux打开oracle 编辑:程序博客网 时间:2024/04/28 11:30

通过宏module_param指定模块参数,模块参数用于在加载模块时传递给模块。

module_param(name, type, perm)

name是模块参数的名字

type是这个参数的类型,常见值:boolintcharp(字符串型)

perm是模块参数的访问权限

 

perm常见值:

S_IRUGO:任何用户都对/sys/module中出现的该参数具有读权限

S_IWUSR:允许root用户修改/sys/module中出现的该参数 

例如:

int a =3;//可初始化,也可不用

char *st:

module_param(a,int,S_IRUGO);

module_param(st,charp,S_IRUGO);


示例代码如下:

#include <linux/module.h>#include <linux/init.h>MODULE_LICENSE("GPL");static char *name = "David Xie";static int age = 30;module_param(age, int, S_IRUGO);module_param(name, charp, S_IRUGO);static int hello_init(){    printk(KERN_EMERG"name:[%s]\n",name);    printk(KERN_EMERG"age:[%d]\n",age);    return 0;}static void hello_exit(){    printk(KERN_INFO"module exit\n");}module_init(hello_init);module_exit(hello_exit);

他的编译与运行可以查看我前面的文章,我这里就不重复说明了,执行结果如下:













0 0
原创粉丝点击