KVM_NLIST(3) | Library Functions Manual | KVM_NLIST(3)

# NAME

`kvm_nlist` — retrieve symbol table names from a kernel image

# SYNOPSIS

Kernel Data Access Library (libkvm, -lkvm)
`#include <kvm.h>`
`#include <nlist.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.

The program kvm_mkdb(8) builds a database from the running kernel's namelist. If the database matches the opened kernel, `kvm_nlist`() uses it to speed lookups.

# RETURN VALUES

The `kvm_nlist`() function returns the number of invalid entries found. If the kernel symbol table was unreadable, -1 is returned.

# FILES

/var/db/kvm_bsd.db

# SEE ALSO

kvm(3), kvm_geterr(3), kvm_getprocs(3), kvm_open(3), kvm_read(3), kvm_mkdb(8)

June 6, 2025 | Debian