核心模組可選資訊

2022-03-14 04:22:37 字數 1659 閱讀 7811

《模組申明》

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」);

return 0;

static void hello_exit(void)

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...