中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux驅動--傳遞參數給驅動

發布時間:2020-05-30 19:51:33 來源:網絡 閱讀:641 作者:Denboa 欄目:安全技術

1需要辦的頭文件

頭文件在“include/linux/moduleparam.h”

2函數說明

2.1 內核模塊可以通過module_param來傳單個參數

– module_param(name,type,perm)
– name:模塊參數的名稱
– type: 模塊參數的數據類型(支持int long short uint ulong ushort類
型)
– perm: 模塊參數的訪問權限(S_IRUSR參數表示所有文件所有者
可讀)

2.2傳遞多個參數module_param_array(name, type, nump, perm)

– name:模塊參數的名稱
– type: 模塊參數的數據類型(支持int long short uint ulong ushort類
型)
– nump:保存參數個數的地址
– perm: 模塊參數的訪問權限(S_IRUSR參數表示所有文件所有者
可讀)

2.3參數的訪問權限

參數perm表示此參數在sysfs文件系統中所對應的文件節點的屬性,其權限在
include/linux/stat.h中有定義。
? 變量perm
– #defineS_IRUSR 00400文件所有者可讀
– #defineS_IWUSR00200文件所有者可寫
– #defineS_IXUSR 00100文件所有者可執行
– #defineS_IRGRP00040與文件所有者同組的用戶可讀
– #defineS_IWGRP00020
– #defineS_IXGRP 00010
– #defineS_IROTH 00004與文件所有者不同組的用戶可讀
– #defineS_IWOTH00002
– #defineS_IXOTH 00001
? 將數字最后三位轉化為二進制:xxx xxx xxx,高位往低位依次看,第一位為1表示文
件所有者可讀,第二位為1表示文件所有者可寫,第三位為1表示文件所有者可執
行;接下來三位表示文件所有者同組成員的權限;再下來三位為不同組用戶權限

3用法源碼舉例

*定義module_param module_param_array的頭文件*/#include <linux/moduleparam.h>/*定義module_param module_param_array中perm的頭文件*/#include <linux/stat.h>MODULE_LICENSE("Dual BSD/GPL");/*聲明是開源的,沒有內核版本限制*/MODULE_AUTHOR("iTOPEET_dz");/*聲明作者*/static int module_arg1,module_arg2;static int int_array[50];static int int_num;

module_param(module_arg1,int,S_IRUSR);

module_param(module_arg2,int,S_IRUSR);

module_param_array(int_array,int,&int_num,S_IRUSR);static int hello_init(void){    int i;
    
    printk(KERN_EMERG "module_arg1 is %d!\n",module_arg1);
    printk(KERN_EMERG "module_arg2 is %d!\n",module_arg2);    
    for(i=0;i<int_num;i++){
        printk(KERN_EMERG "int_array[%d] is %d!\n",i,int_array[i]);
    }
        
    printk(KERN_EMERG "Hello World enter!\n");    /*打印信息,KERN_EMERG表示緊急信息*/
    return 0;
}

4傳遞參數的命令

insmod /mnt/udisk/module_param.ko module_arg1=10 module_arg2=20
int_array=11,12,13,14,15,16,17,18

cat /sys/module/module_param/parameters/xxx 可以查詢參數

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平利县| 武乡县| 南宫市| 汝南县| 儋州市| 灵山县| 城市| 鹤壁市| 额济纳旗| 海城市| 漠河县| 陆良县| 固原市| 东乌珠穆沁旗| 普格县| 黄大仙区| 海伦市| 昌邑市| 岐山县| 周至县| 东乡族自治县| 鹤岗市| 长春市| 商洛市| 临桂县| 铜鼓县| 城市| 增城市| 梅河口市| 黄陵县| 安溪县| 彰武县| 六安市| 平山县| 宁波市| 民乐县| 海安县| 合作市| 通州区| 红桥区| 鄂托克旗|