内核模块参数设计

来源:互联网 发布:openstack网络架构图 编辑:程序博客网 时间:2024/05/18 23:13

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

module_param(name, type, perm)

name:名字

type:类型

perm:权限


#include <linux/module.h>
#include <linux/init.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("EmbedSky");
MODULE_DESCRIPTION("Hello world module");

static char *name = "Guwhao";
static int age = 30;

module_param(age, int, S_IRUGO);
module_param(name, charp, S_IRUGO);

static int hello_init(void)
{
    printk("<0>"" Name:%s\n", name);
    printk(KERN_EMERG" Age:%d\n", age);
    printk(KERN_ERR "hello world!\n");
    return 0;
}

static void hello_exit(void)
{
    printk(KERN_EMERG "hello exit!\n");
}

module_init(hello_init);
module_exit(hello_exit);


在输入的时候加上  age=12 将改变age的值


导出内核模块符号

EXPORT_SYMBOL(*****);

EXPORT_SYMBOL_GPL(*****);

那么其他模块可以使用这个符号


uname -r 查看当前运行的内核版本


0 0
原创粉丝点击