一 。 内核模块可选信号
1 . 模块申明
(1). MODULE_LICENSE(遵守的协议)
申明该模块遵守的许可证协议,如:“GPL”、"GPL V2"
(2). MODULE_AUTHOR(作者)
申请模块的作者
(3). MODULE_DESCRIPTION(模块的功能描述)
申请模块的功能
(4). MODULE_VERSION(v1.0)
申请模块的版本
2 . 模块参数
通过宏module_param指定保存模块参数的变量。模块参数用于在加载模块时传递参数给模块。
module_param(name,type,perm)
#name:变量的名称
#type:变量类型,bool:布尔型int:整型charp:字符串型
#perm是访问权限。S_IRUGO:读权限S_IWUSR:写权限
#例 :
int a = 3;
char *st;
module_param(a,int, S_IRUGO);
module_param(st,charp, S_IRUGO);
3 . 符号输出(将内核模块里面的符号导出,输出的值就可以被其他内核模块所调用)
内核符号的导出使用宏
EXPORT_SYMBOL(符号名)
EXPORT_SYMBOL_GPL(符号名)
说明:其中EXPORT_SYMBOL_GPL只能用于包含GPL许可证的模块。