Skip to content

Latest commit

 

History

History
 
 

module

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
## 一写模块例子

> 编译内核模块需要安装源码或内核头文件

### 内核模块必须实现的函数

1. 模块加载函数[必须]

   通过insmod命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块相关初始化工作

2. 模块卸载函数[必须]

   当通过rmmod命令卸载模块时,模块的卸载函数会自动被内核执行,完成与模块加载函数相反的功能

3. 模块许可证声明[必须]

   模块许可证(LICENCE)声明描述内核模块的许可权限,如果不声明LICENCE,模块被加载时将收到内核被污染的警告

4. 模块参数[可选]

   模块参数是模块被加载的时候可以被传递给他的值,它本身对应模块内部的全局变量

5. 模块导出函数[可选]

   内核模块可以导出符号(symbol,对应于函数或变量),这样其他模块可以使用本模块中的变量或函数

6. 模块作者等声明信息[可选]