• 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中至少一个越出了程序可访问的地址空间.        
  • 相关阅读:
    [arm]虚拟机,2440开发板,主机三者互通
    Linux下的lds链接脚本简介(四)
    Linux下的lds链接脚本简介(三)
    Linux下的lds链接脚本简介(二)
    Linux下的lds链接脚本简介(一)
    程序员面试资源大收集
    Source Insight 3.50.0065使用详解
    DNW烧写FL2440 NAND Flash分区
    php isset()与empty()的使用
    JSON.parse()和JSON.stringify()的区别
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11097689.html
Copyright © 2020-2023  润新知