bionic (2) query_module.2.gz

Provided by: manpages-es-extra_0.8a-19_all bug

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

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