GET_KERNEL_SYMS(2)     Linux Module Support    GET_KERNEL_SYMS(2)

NAME
       get_kernel_syms - retrieve exported kernel and module sym-
       bols

SYNOPSIS
       #include <linux/module.h>

       int get_kernel_syms(struct kernel_sym *table);

DESCRIPTION
       If table is NULL, get_kernel_syms returns  the  number  of
       symbols  available  for  query.   Otherwise  it fills in a
       table of structures:

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

       The symbols are interspersed with  magic  symbols  of  the
       form  #module-name  with  the kernel having an empty name.
       The value associated with a symbol of  this  form  is  the
       address at which the module is loaded.

       The  symbols  exported from each module follow their magic
       module tag and the modules are  returned  in  the  reverse
       order they were loaded.

RETURN VALUE
       Returns  the number of symbols returned.  There is no pos-
       sible error return.

SEE ALSO
       create_module(2),    init_module(2),     delete_module(2),
       query_module(2).

BUGS
       There  is  no way to indicate the size of the buffer allo-
       cated for table.  If symbols have been added to the kernel
       since  the program queried for the symbol table size, mem-
       ory will be corrupted.

       The length of exported symbol names is limited to 59.

       Because of these limitations, this system call is depreci-
       ated in favor of query_module.

Linux                      26 Dec 1996                          1