十三、linux 内核驱动模块传参数
????????在加載模塊的時候,可以向它傳參數(shù)。
單個參數(shù):
????????內(nèi)核模塊可以通過module_param來傳單個參數(shù)
????????????????– module_param(name,type,perm)
????????????????– name:模塊參數(shù)的名稱
????????????????– type: 模塊參數(shù)的數(shù)據(jù)類型(支持int long short uint ulong ushort類型)
????????????????– perm: 模塊參數(shù)的訪問權限(S_IRUSR參數(shù)表示所有文件所有者可讀)
????????????????– 頭文件在“include/linux/moduleparam.h”?
多個參數(shù):
????????傳遞多個參數(shù)module_param_array(name, type, nump, perm)
????????????????– name:模塊參數(shù)的名稱
????????????????– type: 模塊參數(shù)的數(shù)據(jù)類型(支持int long short uint ulong ushort類型)
????????????????– nump:保存參數(shù)個數(shù)的地址
????????????????– perm: 模塊參數(shù)的訪問權限(S_IRUSR參數(shù)表示所有文件所有者可讀)
? 參數(shù)perm表示此參數(shù)在sysfs文件系統(tǒng)中所對應的文件節(jié)點的屬性,其權限在include/linux/stat.h中有定義。
? 變量perm
????????– #defineS_IRUSR 00400文件所有者可讀
????????– #defineS_IWUSR00200文件所有者可寫
????????– #defineS_IXUSR 00100文件所有者可執(zhí)行
????????– #defineS_IRGRP00040與文件所有者同組的用戶可讀
????????– #defineS_IWGRP00020
????????– #defineS_IXGRP 00010
????????– #defineS_IROTH 00004與文件所有者不同組的用戶可讀
????????– #defineS_IWOTH00002
????????– #defineS_IXOTH 00001
? 將數(shù)字最后三位轉化為二進制:xxx xxx xxx,高位往低位依次看,第一位為1表示文件所有者可讀,第二位為1表示文件所有者可寫,第三位為1表示文件所有者可執(zhí)行;接下來三位表示文件所有者同組成員的權限;再下來三位為不同組用戶權限。
?
?
總結
以上是生活随笔為你收集整理的十三、linux 内核驱动模块传参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十二、linux LED初始化
- 下一篇: 十四、linux 静态/动态申请字符设备