Linux 内核模块可选信号

时间:2021-04-26 19:22:37

一 。 内核模块可选信号

  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许可证的模块。