query_module 中文man页面

系统
query_module请求和可加载模块有关的来自内核的信息.信息的细致的特性和格式依赖于 which参数,一些函数要求name参数来命名当前被加载的模块.一些允许参数name为null, 指明内核是正确的.:

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 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中至少一个越出了程序可访问的地址空间.    

#p#

NAME

query_module - query the kernel for various bits pertaining to modules.  

SYNOPSIS

#include <linux/module.h>

int query_module(const char *name, int which,
void *buf, size_t bufsize, size_t *ret);

DESCRIPTION

query_module requests information related to loadable modules from the kernel. The precise nature of the information and its format depends on the which sub function. Some functions require name to name a currently loaded module, some allow name to be NULL indicating the kernel proper.

VALUES OF WHICH

0
Always returns success. Used to probe for the system call.
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 modules.
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 to the number of modules.
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-terminated strings; ret is set to the number of modules.
QM_SYMBOLS
Returns the symbols and values exported by the kernel or the 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 the number of symbols.

QM_INFO
Returns miscellaneous 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 resides, size is the size of the module in bytes, and flags is a mask of MOD_RUNNING, MOD_AUTOCLEAN, et al that indicates the current status of the module. ret is set to the size of the module_info struct.

RETURN VALUE

On success, zero is returned. On error, -1 is returned and errno is set appropriately.  

ERRORS

ENOENT
No module by that name exists.
EINVAL
Invalid which, or name indicates the kernel for an inappropriate sub function.
ENOSPC
The buffer size provided was too small. ret is set to the minimum size needed.
EFAULT
At least one of name, buf, or ret was outside the program's accessible address space.

SEE ALSO

create_module(2), init_module(2), delete_module(2).

责任编辑:韩亚珊 来源: CMPP.net
相关推荐

2011-08-25 14:14:01

init_module中文man

2011-08-25 14:07:55

create_modu中文man

2011-08-24 16:48:36

man中文man

2011-08-15 10:21:09

man中文man

2011-08-11 16:11:49

at中文man

2011-08-25 10:21:56

man.conf中文man

2011-08-12 14:58:05

killall中文man

2011-07-15 16:58:36

ac中文man

2011-08-15 11:10:48

more中文man

2011-08-25 17:03:51

pclose中文man

2011-08-15 14:10:37

tar中文man

2011-08-16 10:42:30

rmmod中文man

2011-08-18 13:57:38

acct中文man

2011-08-23 17:49:36

zdump中文man

2011-08-15 15:10:49

wall中文man

2011-08-23 15:06:03

quotastats中文man

2011-08-15 17:35:50

ar中文man

2011-08-25 09:07:16

suffixes中文man

2011-08-18 15:21:37

autofs中文man

2011-08-25 15:19:39

dirname中文man
点赞
收藏

51CTO技术栈公众号