module_param和module_param_array
来源:互联网 发布:vb.net 反向tab 编辑:程序博客网 时间:2024/05/17 02:21
module_param(name, type, perm)
name:
模块參数名称(就像一个变量名一样)
type:
参数类型(同样类似于变量类型),有byte(unsigned char), short, ushort, int, uint, long, ulong, charp(相当于char *,不超过1024字节的字符串), bool, invbool(反bool)
perm:
权限,有:
#define S_IRUSR 00400 文件所有者可读
#define S_IWUSR 00200 文件所有者可写
#define S_IXUSR 00100 文件所有者可执行
#define S_IRGRP 00040 与文件所有者同组的用户可读
#define S_IWGRP 00020
#define S_IXGRP 00010
#define S_IROTH 00004 与文件所有者不同组的用户可读
#define S_IWOTH 00002
#define S_IXOTH 00001
将数字最后三位转化为二进制:xxx xxx xxx,高位往低位依次看,第一位为1表示文件所有者可读,第二位为1表示文件所有者可写,第三位为1表示文件所有者可执行;接下来三位表示文件所有者同组成员的权限;再下来三位为不同组用戶权限.
00400 ==> 400 ==> 100 000 000
module_param_array(name, type, num, perm)
name, type, perm同module_param
num:
num为整型指针,保存元素个数
module_param和module_param_array使用举例:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/moduleparam.h>
#define SIZE 10
static int int_param;
static char *string_param;
static int array_param[SIZE], num;
module_param(int_param, int, S_IRUSR);
module_param(string_param, charp, S_IRUSR);
module_param_array(array_param, int, &num, S_IRUSR);
static int __init hello_init(void){
int i;
printk(\"<3>int_param: \");
printk(\"%d\", int_param);
printk(\"/n\");
printk(\"string_param: \");
printk(string_param);
printk(\"/n\");
printk(\"array_param: \");
printk(\"%d\", array_param[0]);
for (i = 1; i < num; i++) {
printk(\",\");
printk(\"%d\", array_param[i]);
}
printk(\"/n\");
return 0;
}
static void __exit hello_exit(void){
printk(\"<3>Bye./n\");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE(\"GPL\");
本文转自:http://blog.csdn.net/pickless/article/details/5400131
- module_param和module_param_array
- module_param和module_param_array
- module_param和module_param_array的使用
- linux驱动: 如何向模块传递参数, module_param和module_param_array
- module_param_array
- 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()理解
- Linux flash 文件系统剖析【转】
- 数字电视基础知识
- 怎么清除网页禁止复制?
- ITU BT 601建议及与ITU BT656 的区别【转】
- BT656/BT601/BT1120协议以及DM365/DM355/DM6467上使用的YUV颜色空间说明【转】
- module_param和module_param_array
- Linux内核中的platform机制
- linux中断
- irq_create_mapping() -- 中断号的映射
- RS232、RS422、RS485
- linux设备驱动笔记一
- SQL Server 2008 Local Administrator Privilege Escalation
- IIS应用程序池停止,访问网站时出现Service Unavailable的原因和解决办法
- WS-Discovery