module_param

用戶態下編程可以通過main()的參數來傳遞命令行參數,而編寫一個核心模組則通過module_param()來傳遞參數。

基本介紹

  • 外文名:module_param
  • 通過:main()的參數
  • 包含:傳遞命令行參數
  • 包括:通過module_param()來傳遞參數
簡介,核心模組參數簡介,核心模組參數數組簡介,問題解答,測試模組,

簡介

用戶態下編程可以通過main(intargc,char*argv[])的參數來傳遞命令行參數,而編寫一個核心模組則通過module_param()來傳遞參數。
例如,應用程式命令行傳參:
int main(intargc,char*argv[])/*argc:命令行參數個數,argv:命令行參數信息*/
{
/* 函式體 */
return0;
}
運行:./a.out100200
其中:argc=3
argv[0]=“./a.out”
argv[1]=“100”
argv[2]=“200”
module_param(name, type, perm)是一個宏,表示向當前模組傳入參數。參數用 module_param 宏定義來聲明, 它定義在 moduleparam.h中。
這個宏定義應當放在任何函式之外, 典型地是出現在源檔案的前面.定義如:
static char *whom = "world";
static int howmany = 1;
module_param(howmany, int, S_IRUGO);
module_param(whom, charp, S_IRUGO);

核心模組參數簡介

module_param(name,type,perm);
功能:指定模組參數,用於在載入模組時或者模組載入以後傳遞參數給模組。
參數:
name:模組參數的名稱
type: 模組參數的數據類型
perm: 模組參數的訪問許可權
其中參數type可以取以下任意一種情況:
bool : 布爾型
inbool : 布爾反值
charp: 字元指針(相當於char *,不超過1024位元組的字元串)
short: 短整型
ushort : 無符號短整型
int : 整型
long : 長整型
ulong: 無符號長整型
參數perm表示此參數在sysfs檔案系統中所對應的檔案節點的屬性,其許可權在include/linux/stat.h中有定義。它的取值可以用宏定義,也可以有數字法表示。
宏定義有:
#defineS_IRUSR 00400檔案所有者可讀
#defineS_IWUSR00200檔案所有者可寫
#defineS_IXUSR 00100檔案所有者可執行
#defineS_IRGRP00040與檔案所有者同組的用戶可讀
#defineS_IWGRP00020
#defineS_IXGRP 00010

相關詞條

熱門詞條

聯絡我們