KSYMS(4)                NetBSD Kernel Interfaces Manual               KSYMS(4)

     ksyms -- kernel symbol table interface

     pseudo-device ksyms

     The /dev/ksyms character device provides a read-only interface to the
     current kernel symbol table.  It can be accessed either as a sequential
     file, where it looks like an executable file but with zero-sized text and
     data segments, or via ioctl(2).

     /dev/ksyms represents the symbol table at the time when the device is
     opened, and may not change until it is closed.

     The in-kernel symbol manager is designed to be able to handle any type of
     symbol table.  However, only elf(5) symbol tables are currently dealt

     The ioctl(2) command codes below are defined in <sys/ksyms.h>.

     The (third) argument to the ioctl(2) should be a pointer to the type

           KIOCGSIZE (int)
                   Returns the total size of the current symbol table.  This
                   should be used when allocating a buffer to read in the
                   whole symbol table to memory.

           KIOCGVALUE (struct ksyms_gsymbol)
                   Returns the value for the given symbol name in a symtab-
                   independent fashion.

                         struct ksyms_gsymbol {
                                 const char *kg_name;
                                 unsigned long *kg_value;

                   The struct element kg_name should be set to the name of the
                   requested value, and the address that kg_value points to
                   will receive the symbol value.

           KIOCGSYMBOL (struct ksyms_gsymbol)
                   Returns the complete symbol for the given symbol name.

                         struct ksyms_gsymbol {
                                 const char *kg_name;
                                 void *kg_sym;

                   The struct element kg_name should be set to the name of the
                   requested symbol, and the found symbol will be written to
                   the kg_sym address.  It is the callers responsibility to
                   ensure that enough space for the symbol is allocated.


     ioctl(2), nlist(3), elf(5)

     A ksyms device exists in many different operating systems.  This imple-
     mentation is modelled in function after Solaris ksyms.  This ksyms driver
     was written by Anders Magnusson for NetBSD.

     The ksyms driver first appeared in NetBSD 2.0.

NetBSD 7.0                     November 12, 2008                    NetBSD 7.0

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2019 Modified for NetBSD by Kimmo Suominen