《模組申明》
module_license ():
宣告該模組遵守的許可證協議,如「gpl」「gpl v2」
module_author(「姓名」)
module_descreption(「功能描述」)
module_version(「版本號」)
《使用方式》
#include
#include
module_license(「gpl」) ;
static int hello_init(void)
pintk(kern_warning「hello,word\n」);static void hello_exit(void)return 0;
printk(kern_info「goodby,word\n」);
module_init(hello_int);
module_exit(hello_exit);
《核心模組引數》
通過巨集:module_param() 指定儲存模組引數的變數,模組引數用在載入模組是傳遞引數給模組。
module_param(name,type,perm)
引數說明:
name:變數名稱
type:變數型別,如bool ,int ,char
perm:訪問許可權,s_irugo:讀許可權 s_iwusr:寫許可權
例:#include
#include
module_license(「gpl」) ;
int a = 3;
module_param(a , int , s_irugo|s_iwusr);
static int hello_init(void)
pintk(kern_warning「hello,word\n」);
return 0;
static void hello_exit(void)
printk(kern_info「goodby,word\n」);
module_init(hello_int);
module_exit(hello_exit);
分析:這樣就這一在載入核心模組時使用傳遞引數,並且與int a = 3;沒有任何關係
#include
#include
module_license(「gpl」) ;
int a = 3;
char *p;
module_param(a , int , s_irugo|s_iwusr);
module_param(p,char *p,s_irugo}s_iwusr);
static int hello_init(void)
pintk(kern_warning「hello,word\n」);
return 0;
static void hello_exit(void)
printk(kern_info「goodby,word\n」);
module_init(hello_int);
module_exit(hello_exit);
《符號輸出》
乙個核心模組部分功能活函式想要提供給另外的模組使用,首先需要將該函式宣告為extern 型別,並使用巨集export_symbol(函式名),指明可以別外部使用
Linux 核心模組可選訊號
一 核心模組可選訊號 1 模組申明 1 module license 遵守的協議 申明該模組遵守的許可證協議,如 gpl gpl v2 2 module author 作者 申請模組的作者 3 module description 模組的功能描述 申請模組的功能 4 module version v...
Python核心模組 urllib模組
現在python基本入門了,現在開始要進軍如何寫爬蟲了!先把最基本的urllib模組弄懂吧。開啟乙個url的方法,返回乙個檔案物件,然後可以進行類似檔案物件的操作。本例試著開啟google import urllib f urllib.urlopen firstline f.readline 讀取h...
核心模組Makefile
前些天寫乙個驅動模組。竟然寫核心模組makefile時出了問題,於是將其總結下來,下次再用時拿過來改下就行了。general purpose makefile for linux kernel module by guoqingbo kern dir home gqb development lin...