QUERY_MODULE(2) | Linux Programmer's Manual | QUERY_MODULE(2) |
NAME
query_module - query the kernel for various bits pertaining to modulesSYNOPSIS
#include<linux/module.h>
int query_module(const char * name , int which , void * buf ,
size_t bufsize , size_t * ret );
DESCRIPTION
Note: This system call is present only in kernels before Linux 2.6.- 0
- Returns success, if the kernel supports query_module(). Used to probe for availability of the system call.
- QM_MODULES
- Returns the names of all loaded modules. The returned buffer consists of a sequence of 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 returned buffer consists of a sequence of 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 returned buffer consists of a sequence of 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 returned buffer is an array of structures of the following form
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, etc., that indicates the current status of the module (see the Linux kernel source file include/linux/module.h). ret is set to the size of the module_info structure.
RETURN VALUE
On success, zero is returned. On error, -1 is returned and errno is set appropriately.ERRORS
- EFAULT
- At least one of name, buf, or ret was outside the program's accessible address space.
- EINVAL
- Invalid which; or name is NULL (indicating "the kernel"), but this is not permitted with the specified value of which.
- ENOENT
- No module by that name exists.
- ENOSPC
- The buffer size provided was too small. ret is set to the minimum size needed.
- ENOSYS
- query_module() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later).
VERSIONS
This system call is present on Linux only up until kernel 2.4; it was removed in Linux 2.6.CONFORMING TO
query_module() is Linux-specific.NOTES
Some of the information that was formerly available via query_module() can be obtained from /proc/modules, /proc/kallsyms, and the files under the directory /sys/module.SEE ALSO
create_module(2), delete_module(2), get_kernel_syms(2), init_module(2), lsmod(8), modinfo(8)COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.2013-01-27 | Linux |