Man page - init_module(2)

Packages contains this manual

Available languages:

en fr pl ja ru zh_TW zh_CN

Manual

init_module

NAME
總 覽
描 述
返 回 值
錯 誤


NAME

init_module - 初 始 化 一 條 可 載 入 模 組 的 記 錄 .

總 覽

#include <linux/module.h>

int init_module(const char *name, struct module *image);

描 述

init_module載 入 已 被 重 定 位 的 模 組 映 象 到 核 心 空 間 ,並 執 行 模 組 的 初 始 化 函 式 . 模 組 映 象 以 module結 構 開 始 ,緊 跟 著 程 式 碼 和 資 料 ,module定 義 如 下 :
struct module
{
unsigned long size_of_struct; /* module結 構 的 大 小 */
struct module *next; /*指 向 下 一 個 module結 構 */
const char *name; /* 模 組 名 字 */
unsigned long size;
long usecount; /* 使 用 計 數 */
unsigned long flags; /* 模 組 當 前 狀 態 標 誌 */
unsigned int nsyms;
unsigned int ndeps; /* 正 使 用 模 組 的 模 組 個 數 */
struct module_symbol *syms;
struct module_ref *deps;
struct module_ref *refs;
int (*init)(void); /* 模 組 的 初 始 化 函 式 指 標 */
void (*cleanup)(void); /*模 組 的 清 除 函 式 指 標 */
const struct exception_table_entry *ex_table_start;
const struct exception_table_entry *ex_table_end;
#ifdef __alpha__
unsigned long gp;
#endif
}; 除 了 next和 refs外 ,所 有 的 指 標 被 期 望 指 在 模 組 體 內 , 該 系 統 呼 叫 只 對 超 級 使 用 者 開 放 .

返 回 值

成 功 時 返 回 0,錯 誤 時 返 回 -1,errno被 相 應 設 定 .

錯 誤

EPERM

使 用 者 不 是 超 級 使 用 者 .

ENOENT

name指 定 的 模 組 不 存 在 .

EINVAL

EBUSY

模 組 的 初 始 化 函 式 失 敗 .

EFAULT

name或 image越 出 了 程 式 可 訪 問 的 地 址 空 間 .

"雷 勇 " <nsinit@263.net>

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh