NAME
query_module - 向 内 核 查 询 和 模 块 有 关 的 各 个 位 . /* 查 询 有 关 的 位 ?? */
总 览
#include <linux/module.h>
int query_module(const char *name, int which,void *buf, size_t bufsize, size _t *ret);
描 述
query_module请
求 和 可 加 载 模
块 有 关 的 来 自
内 核 的 信 息 .信
息 的 细 致 的 特
性 和 格 式 依 赖
于 which参 数 ,一 些 函
数 要 求 name参 数 来
命 名 当 前 被 加
载 的 模 块 .一 些
允 许 参 数 name为 null,
指 明 内 核 是 正
确 的 .: which的 值 0 Always returns
success. Used to probe for the system call. 0 总
是 返 回 成 功 ,用
来 探 测 系 统 调
用 . /* 参 见 insmod -p 和 前
面 文 章 */ QM_MODULES Returns the names
of all loaded modules. The output buffer
format is adjacent null-terminated strings; ret is set to
the number of mod ules. 返 回 所 有
已 加 载 的 模 块
的 名 字 .输 出 缓
冲 区 的 格 式 是
邻 近 的 以 null终 止
的 字 符 串 ;ret 被 设
置 为 模 块 的 数
目 . QM_DEPS Returns the names of all modules used by
the indicated module. The output buffer format is adjacent
null-terminated strings; ret is set t o the number of
modules. 返 回 所 有 被
name参 数 指 定 的 模
块 使 用 的 模 块
的 名 字 .输 出 缓
冲 区 格 式 是 邻
近 的 以 null终 止 的
字 符 串 ;ret被 设 置
为 模 块 的 数 目 .
QM_REFS Returns the names of all modules using the indicated
module. This is the inverse of QM_DEPS. The output buffer
format is adjacent null-te rminated strings; ret is set to
the number of modules. 返 回 所 有
正 使 用 被 name参 数
指 定 的 模 块 的
模 块 名 字 .这 和
QM_DEPS是 相 反 的 .输
出 缓 冲 区 格 式
是 以 邻 近 的 null终
止 的 字 符 串 ;ret被
设 置 为 模 块 的
数 目 . QM_SYMBOLS Returns the symbols and
values exported by the kernel or t he indicated module. The
buffer format is an array of:
struct module_symbol
{
unsigned long value;
unsigned long name; };
followed by null-terminated strings. The value of name is
the character offset of the string relative to the start of
buf; ret is set to t he number of symbols. 返 回
被 内 核 或 指 定
模 块 导 出 (开 放
)的 符 号 和 值 对
.缓 冲 区 格 式 是
一 个 以 null终 止 的
结 构 数 组 ,name的 值
是 相 对 缓 冲 区
的 开 始 的 字 符
串 的 字 符 偏 移
;ret被 设 置 为 符 号
的 数 目 .
struct
module_symbol
{
unsigned long value;
unsigned long value; } QM_INFO Returns miscelaneous
information about the indicated module. The output buffer
format is:
struct module_info
{
unsigned long address;
unsigned long size;
unsigned long flags; };
where address is the kernel address at which the module
reside s, size is the size of the module in bytes, and flags
is a mask of MOD_RUNNI NG, MOD_AUTOCLEAN, et al that
indicates the current status of the module. re t is set to
the size of the module_info struct. 返 回
各 种 和 指 定 模
块 相 关 的 各 种
信 息 ,输 出 缓 冲
区 的 格 式 如 下 :
struct module_info
{
unsigned long address;
unsigned long size;
unsigned long flags; }
address是 模 块 在 内 核
空 间 中 驻 留 的
地 址 ,size是 模 块 以
字 节 计 数 的 大
小 ,flags是 MOD_R UNING,MOD_AUTOCLEAN等
指 示 模 块 当 前
状 态 的 标 志 的
按 位 或 组 成 的
掩 玛 .ret被 设 置 为
mod ule_info结 构 的 大 小
.
返 回 值
成 功 时 总 是 返 回 0,错 误 是 返 回 -1,全 局 变 量 errno被 相 应 设 置 .
错 误
ENOENT 被 |
name指 定 的 模 块 不 存 在 . |
||||||||
EINVAL
供 的 缓
冲 区 太 小 ,ret被 设
置 为 需 要 的 最
小 大 小 . name,buf或 ret中 至 少 一 个 越 出 了 程 序 可 访 问 的 地 址 空 间 . "雷 勇 " <nsinit [AT] 263.net>跋本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh |