KSYMS(4) | Device Drivers Manual | KSYMS(4) |
ksyms
—
pseudo-device ksyms
/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 with.
<sys/ksyms.h>
.
The (third) argument to the ioctl(2) should be a pointer to the type indicated.
KIOCGSIZE
(int)
KIOCGVALUE
(struct ksyms_gsymbol)
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)
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.
ksyms
device exists in many different operating
systems. This implementation 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.
November 12, 2008 | NetBSD 9.4 |