table of contents
QUERY_MODULE(2) | Soporte de Módulos de Linux | QUERY_MODULE(2) |
NOMBRE¶
query_module - interroga al núcleo sobre varias cosas relacionadas con los módulos
SINOPSIS¶
#include <linux/module.h> int query_module(const char *nombre, int que, void *buf, size_t tambuf, size_t *ret);
DESCRIPCIÓN¶
query_module pide información al núcleo relativa a módulos cargables. La naturaleza precisa de la información y su formato depende de la subfunción que. Algunas funciones requieren que nombre se refiera a un módulo cargado actualmente, otras permiten que nombre sea NULL, indicando el propio núcleo.
VALORES DE `QUE'¶
- 0
- Siempre devuelve `éxito'. Se emplea para probar la llamada al sistema.
- QM_MODULES
- Devuelve los nombres de todos los módulos cargados. El formato del búfer de salida consiste en cadenas de caracteres adyacentes terminadas en cero; ret contendrá el número de módulos.
- QM_DEPS
- Devuelve los nombres de todos los módulos utilizados por el módulo indicado. El formato del búfer de salida consiste en cadenas de caracteres adyacentes terminadas en cero; ret contendrá el número de módulos.
- QM_REFS
- Devuelve los nombres de todos los módulos que utilizan al indicado. Esto es lo inverso de QM_DEPS. El formato del búfer de salida consiste en cadenas de caracteres adyacentes terminadas en cero; ret contendrá el número de módulos.
- QM_SYMBOLS
- Devuelve los símbolos y valores exportados por el núcleo o el módulo indicado. El formato del búfer consiste en un vector de:
struct module_symbol {
unsigned long value;
unsigned long name; };
seguido por cadenas de caracteres terminadas en cero. El valor de nombre es el desplazamiento de la cadena relativo al comienzo de buf; ret contendrá el número de símbolos.
- QM_INFO
- Devuelve información variada sobre el módulo indicado. El formato del búfer de salida es:
struct module_info {
unsigned long address;
unsigned long size;
unsigned long flags; };
donde address es la dirección del núcleo en la que reside el módulo, size es el tamaño del modulo en bytes, y flags es una máscara de MOD_RUNNING, MOD_AUTOCLEAN, etcétera, que indica el estado actual del módulo. ret contendrá el tamaño de la struct module_info.
VALOR DEVUELTO¶
En caso de éxito, se devuelve cero. En caso de error, se devuelve -1 y se pone un valor apropiado en errno.
ERRORES¶
- ENOENT
- No existe ningún módulo con ese nombre.
- EINVAL
- Inválido que, o nombre le indica al núcleo una subfunción inapropiada.
- ENOSPC
- El tamaño del búfer proporcionado era demasiado pequeño. ret contendrá el mínimo tamaño que se necesita.
- EFAULT
- Al menos uno de nombre, buf o ret estaban afuera del espacio de direcciones accesible al programa.
VÉASE TAMBIÉN¶
26 Diciembre 1996 | Linux 2.1.17 |