一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Linux內(nèi)核module

 jiffes 2014-06-09
分類: Linux 2012-07-30 14:57 922人閱讀 評(píng)論(0) 收藏 舉報(bào)

1.定義模塊參數(shù)的方法:

module_param(name, type, perm);

其中,name:表示參數(shù)的名字;
     type:表示參數(shù)的類型;
     perm:表示參數(shù)的訪問權(quán)限;

 

2. 數(shù)組類型模塊參數(shù)的定義:

用逗號(hào)間隔的列表提供的值;
聲明一個(gè)數(shù)組參數(shù):
module_param_array(name, type, num, perm);
其中,name:表示數(shù)組的名字;
     type:表示參數(shù)的類型;
     num :表示數(shù)組中元素?cái)?shù)量;
     perm:表示參數(shù)的訪問權(quán)限;

 

3.type支持的基本類型有:
bool   :布爾類型
invbool:顛倒了值的bool類型;
charp  :字符指針類型,內(nèi)存為用戶提供的字符串分配;
int    :整型
long   :長整型
short  :短整型
uint   :無符號(hào)整型
ulong  :無符號(hào)長整型
ushort :無符號(hào)短整型

 

4. perm參數(shù) 設(shè)定訪問權(quán)限
modlue_param和module_param_array中的perm用于設(shè)定該參數(shù)的訪問權(quán)限;
perm表示該參數(shù)在sysfs文件系統(tǒng)中所對(duì)應(yīng)的文件節(jié)點(diǎn)的屬性;你用該使用<linux/stat.h>中定義的權(quán)限值;這個(gè)值控制誰可以存取這些模塊參數(shù)在sysfs文件系統(tǒng)中的表示;當(dāng)perm為0時(shí),表示此參數(shù)不存在sysfs文件系統(tǒng)下對(duì)應(yīng)的文件節(jié)點(diǎn);否則,模塊被加載后,在/sys/module/目錄下將會(huì)出現(xiàn)以此模塊名命名的目錄,帶有給定的權(quán)限;
比如:
#define S_IRWXU 00700
#define S_IRUSR 00400
#define S_IWUSR 00200
#define S_IXUSR 00100
#define S_IRWXG 00070
#define S_IRGRP 00040
#define S_IWGRP 00020
#define S_IXGRP 00010
#define S_IRWXO 00007
#define S_IROTH 00004
#define S_IWOTH 00002
#define S_IXOTH 00001
注意:如果一個(gè)參數(shù)被sysfs修改了,那么你的模塊看到的參數(shù)值也被修改了,但是你的模塊不會(huì)收到任何通知;你應(yīng)當(dāng)不要使模塊參數(shù)可寫,除非你準(zhǔn)備好檢測(cè)這個(gè)改變并因而作出反應(yīng);

 

5. 也可以在insmod(裝載模塊)的時(shí)候?yàn)閰?shù)指定值,如果沒有指定則使用默認(rèn)值,如下面的例子。

  1. MODULE_LICENSE("Dual BSD/GPL");  
  2. static int num=10;  
  3. module_param(num,int,S_IRUGO);  
  4. static int hello_init(void)  
  5. {  
  6.     printk("Hello module init./n");  
  7.     printk("num=%d/n",num);  
  8.     return 0;  
  9. }  
  10. static void   hello_exit(void)  
  11. {  
  12.     printk("Goodbye module exit./n");  
  13. }  
  14. module_init(hello_init);  
  15. module_exit(hello_exit);  
  16. MODULE_DESCRIPTION("a simple module");  
  17. MODULE_ALIAS("hello");  

上面的num=10,則10是參數(shù)num的默認(rèn)值。

保存為源文件hello.c, 編譯生成hello.ko , 當(dāng)我們使用insmod進(jìn)行載入時(shí), 使用

insmod hello.ko num=20

則可以 cat /sys/module/hello/parameters/num ,看到為 20

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    大尺度剧情国产在线视频| 国产女高清在线看免费观看| 自拍偷女厕所拍偷区亚洲综合| 国产一级内射麻豆91| 黄色片国产一区二区三区| 久久精品国产99国产免费| 乱女午夜精品一区二区三区| 欧美一级黄片欧美精品| 91欧美日韩精品在线| 午夜精品久久久免费视频| 在线日本不卡一区二区| 亚洲天堂久久精品成人| 日韩一区二区三区久久| 欧美日韩在线视频一区| 精品人妻av区波多野结依| 在线欧洲免费无线码二区免费| 国产精品午夜福利在线观看| 亚洲一区二区三区中文久久| 国产99久久精品果冻传媒| 久久精品a毛片看国产成人| 亚洲欧美精品伊人久久| 精品伊人久久大香线蕉综合| 国产中文字幕一区二区| 人妻人妻人人妻人人澡| 亚洲国产精品av在线观看| 国产免费观看一区二区| 亚洲国产天堂av成人在线播放| 白丝美女被插入视频在线观看| 亚洲男人天堂成人在线视频 | 久热久热精品视频在线观看| 少妇在线一区二区三区| 国产成人午夜福利片片| 久久少妇诱惑免费视频| 婷婷一区二区三区四区| 国产中文另类天堂二区| 国产白丝粉嫩av在线免费观看| 欧美精品日韩精品一区| 国产精品日韩欧美一区二区| 91日韩欧美国产视频| 国产原创中文av在线播放| 日本丁香婷婷欧美激情|