个人觉得的有用的文档,贴出来和大家分享

关于MODULE_PARM()宏

上一篇 / 下一篇  2008-03-27 09:39:35 / 个人分类:linux


关于MODULE_PARM()宏


MODULE_PARM()宏定义在linux/module.h中,用于模块参数传递。
如果我们想用这个宏来传递命令行参数,那么在我们的模块中定义一个全局变量。在insmod模块时,便可以用参数的形式,将具体的实参传递给模块中的那个全局变量。
MODULE_PARM(name,type)有两个参数,一个是这个全局变量的名称,另一个是这个全局变量的类型。
而他的类型有一下几种:
b:比特型
h:短整型
i:整型
l:长整型
s:字符串型
在传递字符串型的参数时,这个全局变量需要在模块中用Char *来声明!insmod会自动为其分配内存空间。
例如:
int a = 3;
char *st;
MODULE_PARM(a,"i");
MODULE_PARM(st,"s");
在insmod是我们加这样的参数:
insmode a.o "a = 3", "st = hello world"

MODULE_PARM()也支持数组类型。用短线’-'把两个数字分开,分别表示数组参数中的最小位数和最大位数。

例如:
int array[8];
MODULE_PARM(array,"1-8i");
在命令行我们使用加这样的参数:
insmod a.o "array = 38745,123,4000″

在那和模块编程时,我们往往给这些全局变量以默认值,如果insmod时没有传入参数,模块会使用这些默认值,而如果我们传入参数,则这些默认值将被替换。


TAG: MODULE PARM

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 59190
  • 日志数: 105
  • 图片数: 2
  • 文件数: 5
  • 书签数: 46
  • 建立时间: 2006-09-20
  • 更新时间: 2008-08-27

RSS订阅

Open Toolbar