Linux核心模組傳遞引數

2021-06-20 18:20:08 字數 749 閱讀 6666

如果需要向核心模組中傳遞引數,可以使用函式:

module_param(引數名,引數型別,讀寫許可權)

1). 引數名稱:不必解釋

2). 引數型別: byte, short, short, int, uint, long, ulong, charp, bool, invbool

3). 讀寫許可權: 一般為s_irugo

例子:傳遞乙個int型變數和乙個字串

#include#include#includestatic const char * servername = null;

static int tcp_port = 0;

module_param(servername,charp,s_irugo);

module_param(tcp_port,int,s_irugo);

static int __init test_init(void)

static void __exit test_exit(void)

module_init(test_init);

module_exit(test_exit);

module_license("gpl");

傳入引數方法:

insmod param.ko  servername=127.0.0.1  tcp_port=9999

檢視輸出結果:

dmesg

Linux 核心 給模組傳遞引數

對於如何向模組傳遞引數,linux kernel 提供了乙個簡單的框架。其允許驅動程式宣告引數,並且使用者在系統 啟動或模組裝載時為引數指定相應值,在驅動程式裡,引數的用法如同全域性變數。使用下面的巨集時需要包含標頭檔案 moduleparam.h 通過巨集module param 定義乙個模組引數...

module param核心模組引數傳遞

在使用者態下程式設計可以通過main 的來傳遞命令列引數,而編寫乙個核心模組則通過module param 引數用 moudle param 巨集定義來宣告,它定義在 moduleparam.h.module param name,type,perm module param 使用了 3 個引數 變...

linux核心模組引數

在裝載核心模組時,使用者可以向模組傳遞引數,形式為 insmod modprobe 模組名 引數名 引數值。如果不傳遞,引數將使用模組內定義的預設值。我們可以使用以下方法為模組定義乙個引數 module param 引數名,引數型別,引數讀 寫許可權 如下 定義了乙個整型引數 static int ...