tail head cat sleep
QR code linking to this page

Manual Pages  — KVM_NLIST

NAME

kvm_nlist, kvm_nlist2 – retrieve symbol table names from a kernel image

CONTENTS

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)

KVM_NLIST (3) November 27, 2015

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

If you have an emergency I'm great at running around and flailing my arms
— Artur Bagyants