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.

VERSIONES

This system call is present only up until Linux 2.4; it was removed in Linux 2.6.

ESTÁNDARES

get_kernel_syms() es específica de Linux.

NOTAS

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 <[email protected]> y Marcos Fouces <[email protected]>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 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 [email protected]

Recommended readings

Pages related to get_kernel_syms you should read also:

Questions & Answers

Helpful answers and articles about get_kernel_syms you may found on these sites:
Stack Overflow Server Fault Super User Unix & Linux Ask Ubuntu Network Engineering DevOps Raspberry Pi Webmasters Google Search