十三、linux 内核驱动模块传参数
????????在加載模塊的時候,可以向它傳參數。
單個參數:
????????內核模塊可以通過module_param來傳單個參數
????????????????– module_param(name,type,perm)
????????????????– name:模塊參數的名稱
????????????????– type: 模塊參數的數據類型(支持int long short uint ulong ushort類型)
????????????????– perm: 模塊參數的訪問權限(S_IRUSR參數表示所有文件所有者可讀)
????????????????– 頭文件在“include/linux/moduleparam.h”?
多個參數:
????????傳遞多個參數module_param_array(name, type, nump, perm)
????????????????– name:模塊參數的名稱
????????????????– type: 模塊參數的數據類型(支持int long short uint ulong ushort類型)
????????????????– nump:保存參數個數的地址
????????????????– perm: 模塊參數的訪問權限(S_IRUSR參數表示所有文件所有者可讀)
? 參數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表示文件所有者可執行;接下來三位表示文件所有者同組成員的權限;再下來三位為不同組用戶權限。
?
?
總結
以上是生活随笔為你收集整理的十三、linux 内核驱动模块传参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十二、linux LED初始化
- 下一篇: 十四、linux 静态/动态申请字符设备