DragonFly On-Line Manual Pages
KVM_NLIST(3) DragonFly Library Functions Manual KVM_NLIST(3)
NAME
kvm_nlist - retrieve symbol table names from a kernel image
LIBRARY
Kernel Data Access Library (libkvm, -lkvm)
SYNOPSIS
#include <sys/types.h>
#include <kvm.h>
int
kvm_nlist(kvm_t *kd, struct nlist *nl);
DESCRIPTION
kvm_nlist() retrieves the symbol table entries indicated by the name list
argument nl. This argument points to an array of nlist structures,
terminated by an entry whose n_name field is NULL (see nlist(3)). Each
symbol is looked up using the n_name field, and if found, the
corresponding n_type and n_value fields are filled in. These fields are
set to 0 if the symbol is not found.
kldsym(2) is used to locate the symbol. This is a less than perfect
emulation of the nlist values but has the advantage of being aware of
kernel modules and is reasonably fast.
RETURN VALUES
The kvm_nlist() function returns the number of invalid entries found. If
the kernel symbol table was unreadable, -1 is returned. The entries must
not be used after a return value of -1.
For a live kernel, each failed kldsym(2) lookup is counted as an invalid
entry, and the remaining entries are still looked up. A positive return
value does not necessarily mean that every failed lookup was caused by a
missing symbol. An error message describing a lookup failure can be
obtained using kvm_geterr(3) when the descriptor was opened using
kvm_openfiles(3).
SEE ALSO
kldsym(2), kvm(3), kvm_close(3), kvm_getargv(3), kvm_getenvv(3),
kvm_geterr(3), kvm_getprocs(3), kvm_open(3), kvm_openfiles(3),
kvm_read(3), kvm_write(3)
DragonFly 6.5-DEVELOPMENT October 7, 2026 DragonFly 6.5-DEVELOPMENT