module_param
来源:互联网 发布:南京泛成生物 知乎 编辑:程序博客网 时间:2024/06/13 05:21
在用户态下编程可以通过main()的来传递命令行参数,而编写一个内核模块则通过module_param() 参数用 moudle_param 宏定义来声明, 它定义在 moduleparam.h. module_param(name,type,perm); module_param 使用了 3 个参数: 变量名, 它的类型, 以及一个权限掩码用来做一个辅助的 sysfs 入口(啥意思). 这个宏定义应当放在任何函数之外, 典型地是出现在源文件的前面.定义如: static char *whom = "world"; 模块参数支持许多类型: perm参数的作用是什么? 最后的 module_param 字段是一个权限值; 你应当使用 <linux/stat.h> 中定义的值. 这个值控制谁可以存取这些模块参数在 sysfs 中的表示.如果 perm 被设为 0, 就根本没有 sysfs 项. 否则, 它出现在 /sys/module下面, 带有给定的权限. 使用 S_IRUGO 作为参数可以被所有人读取, 但是不能改变; S_IRUGO|S_IWUSR 允许 root 来改变参数. 注意, 如果一个参数被 sysfs 修改, 你的模块看到的参数值也改变了, 但是你的模块没有任何其他的通知. 你应当不要使模块参数可写, 除非你准备好检测这个改变并且因而作出反应.
static int howmany = 1;
module_param(howmany, int, S_IRUGO);
module_param(whom, charp, S_IRUGO);
这里 name 是你的数组的名子(也是参数名),
- module_param
- module_param()
- module_param
- module_param
- module_param()
- module_param
- module_param
- module_param()
- module_param 使用
- module_param&&MODULE_PARM_DESC
- module_param&&MODULE_PARM_DESC
- module_param()理解
- module_param()理解
- module_param()用法
- module_param&&MODULE_PARM_DESC
- module_param&&MODULE_PARM_DESC
- 关于module_param()宏
- module_param、 MODULE_PARM_DESC 、EXPORT_SYMBOL
- 数据库操作:java连接MYSQL实例代码演示
- 数据的传递:TCP/UDP数据格式
- mysql获取数据库和表中信息及常用优化
- 数据的传递:TCP的建立和关闭
- 数据库操作:java连接ORACLE实例代码演示
- module_param
- config Samba service on Redhat 5
- 数据库操作:java连接DB2实例代码演示
- 数据的传递:TCP传输策略
- C# 控制手机号码的输入
- 文本行的读取和排序
- tomcat5.0 目录结构
- LIST
- 基本代码知识