get_kernel_syms(2)

NOMBRE
get_kernel_syms - recupera símbolos exportados del núcleo y de módulos

SINOPSIS
#include <linux/module.h>

[[a extinguir]] int get_kernel_syms(struct kernel_sym *tabla);

DESCRIPCIÓN
Nota: esta llamada de sistema sólo existe en versiones del núcleo de Linux anteriores a 2.6.

Si tabla es NULL, get_kernel_syms() devuelve el número de símbolos disponibles para consultar. En otro caso rellena una tabla de estructuras:

    struct kernel_sym {
        unsigned long value;
        char          name[60];
    };

Los símbolos están mezclados con símbolos mágicos de la forma #nombre-de-módulo donde el núcleo tiene un nombre vacío. El valor asociado a un símbolo de esta forma es la dirección en la cual el módulo se carga.

Los símbolos exportados de cada módulo siguen su etiqueta mágica de módulo y los módulos se devuelven en orden inverso de su carga.

VALOR DEVUELTO
En caso de éxito se retorna la cantidad de símbolos copiados de tabla. En caso de error se devuelve -1, y errno toma el valor indicativo de dicho error.

ERRORES
Sólo existe una posibilidad en el estado de salida de error:

ENOSYS
    get_kernel_syms() no tiene soporte en esta versión del núcleo.

ESTÁNDARES
Linux.

HISTORIAL
Removed in Linux 2.6.

This obsolete system call is not supported by glibc. No declaration is provided in glibc headers, but, through a quirk of history, glibc versions before glibc 2.23 did export an ABI for this system call. Therefore, in order to employ this system call, it was sufficient to manually declare the interface in your code; alternatively, you could invoke the system call using syscall(2).

ERRORES
No hay forma de indicar el tamaño del búfer reservado para tabla. Si se han añadido símbolos al núcleo desde que el programa interrogó sobre el tamaño de la tabla de símbolos, la memoria se corromperá.

The length of exported symbol names is limited to 59 characters.

Because of these limitations, this system call is deprecated in favor of query_module(2) (which is itself nowadays deprecated in favor of other interfaces described on its manual page).

VÉASE TAMBIÉN
create_module(2), delete_module(2), init_module(2), query_module(2)

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es> y Marcos Fouces <marcos@debian.org>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.