FreeBSD manual
download PDF document: kvm_nlist.3.pdf
KVM_NLIST(3) FreeBSD Library Functions Manual KVM_NLIST(3)
NAME
kvm_nlist, kvm_nlist2 - retrieve symbol table names from a kernel image
LIBRARY
Kernel Data Access Library (libkvm, -lkvm)
SYNOPSIS
#include <kvm.h>
#include <nlist.h>
int
kvm_nlist(kvm_t *kd, struct nlist *nl);
int
kvm_nlist2(kvm_t *kd, struct kvm_nlist *nl);
DESCRIPTION
The kvm_nlist() function 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.
The kldsym(2) system call is used to locate symbols in live kernels.
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.
The kvm_nlist2() function retrieves the symbol table entries indicated by
the name list argument nl. This argument points to an array of struct
kvm_nlist structures, terminated by an entry whose n_name field is NULL
These structures are similar to the nlist structures used by kvm_nlist()
except that the n_value field uses a different type (kvaddr_t) to avoid
truncation when examining non-native kernel images.
RETURN VALUES
The kvm_nlist() and kvm_nlist2() functions return the number of invalid
entries found. If the kernel symbol table was unreadable, -1 is
returned.
SEE ALSO
kldsym(2), kvm(3), kvm_close(3), kvm_getargv(3), kvm_getenvv(3),
kvm_geterr(3), kvm_getprocs(3), kvm_native(3), kvm_open(3),
kvm_openfiles(3), kvm_read(3), kvm_write(3)
HISTORY
The kvm_nlist2() function first appeared in FreeBSD 11.0.
FreeBSD 14.0-RELEASE-p11 November 27, 2015 FreeBSD 14.0-RELEASE-p11