CREATE_MODULE - Linux手册页
时间:2019-08-20 17:58:37 来源:igfitidea点击:
Linux程序员手册 第2部分
更新日期: 2017-09-15
名称
create_module-创建一个可加载的模块条目
语法
#include <linux/module.h> caddr_t create_module(const char *name, size_t size);
注意:glibc标头中未提供此系统调用的声明;请参阅注释。
说明
注意:此系统调用仅在Linux 2.6之前的内核中存在。
create_module()尝试创建可加载的模块条目,并保留容纳模块所需的内核内存。此系统调用需要特权。
返回值
成功后,返回模块将驻留的内核地址。错误时,返回-1并正确设置errno。
错误说明
- EEXIST
- 具有该名称的模块已存在。
- EFAULT
- 名称在程序的可访问地址空间之外。
- EINVAL
- 即使对于模块头信息,请求的大小也太小。
- ENOMEM
- 内核无法为模块分配足够大的连续内存块。
- ENOSYS
- 此版本的内核(例如,内核为2.6或更高版本)不支持create_module()。
- EPERM
- 调用方没有特权(没有CAP_SYS_MODULE功能)。
版本
该系统调用仅在Linux 2.4内核之前存在;否则,仅在Linux上可用。在Linux 2.6中已将其删除。
遵循规范
create_module()是特定于Linux的。
备注
glibc不支持此过时的系统调用。 glibc标头中未提供任何声明,但是经过一段古怪的历史,2.23之前的glibc版本确实为此系统调用导出了ABI。因此,为了使用此系统调用,在代码中手动声明接口就足够了。或者,您可以使用syscall(2)调用系统调用。
另外参见
delete_module(2),init_module(2),query_module(2)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。