module_param
是一個在Linux內核模塊編程中使用的宏,用于定義和注冊內核模塊參數
module_param
宏的原型如下:
#define module_param(name, type, perm)
其中:
name
:參數名稱,對應于要傳遞給內核模塊的變量。type
:參數類型,可以是int
、charp
(字符指針)、bool
等。perm
:權限位,用于設置參數的讀寫權限。通常設置為S_IRUGO
(只讀)或S_IRUGO | S_IWUSR
(可讀寫)。例如,如果你想在內核模塊中定義一個名為my_param
的整數參數,可以這樣使用module_param
宏:
static int my_param = 0;
module_param(my_param, int, S_IRUGO);
當內核模塊被加載時,可以通過命令行參數傳遞給模塊。例如,如果你的模塊名為my_module
,可以使用以下命令加載模塊并設置my_param
的值為42:
insmod my_module.ko my_param=42
在模塊代碼中,你可以直接使用my_param
變量來訪問該參數的值。