Manpages

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

ENOSPC 提

供 的 緩 衝 區 太 小 ,ret被 設 置 爲 需 要 的 最 小 大 小 .
EFAULT

name,buf或 ret中 至 少 一 個 越 出 了 程 序 可 訪 問 的 地 址 空 間 .

"雷 勇 " <nsinit [AT] 263.net>

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