KVM_NLIST(3KVM) Kernel VM Library Functions KVM_NLIST(3KVM)
kvm_nlist - get entries from kernel symbol table
cc [ flag... ] file... -lkvm [ library...]
#include <kvm.h>
#include <nlist.h>
int kvm_nlist(kvm_t *kd, struct nlist *nl);
The kvm_nlist() function examines the symbol table from the kernel
image identified by kd (see kvm_open(3KVM)) and selectively extracts
a list of values and puts them in the array of nlist structures
pointed to by nl. The name list pointed to by nl consists of an array
of structures containing names, types and values. The n_name field
of each such structure is taken to be a pointer to a character string
representing a symbol name. The list is terminated by an entry with
a null pointer (or a pointer to a null string) in the n_name field.
For each entry in nl, if the named symbol is present in the kernel
symbol table, its value and type are placed in the n_value and n_type
fields. If a symbol cannot be located, the corresponding n_type field
of nl is set to 0.
The kvm_nlist() functions returns the value of nlist(3ELF).
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | Unsafe |
+--------------------+-----------------+
nlist(3ELF), kvm_kread(3KVM), kvm_open(3KVM), attributes(7)
Although the libkvm API is Stable, the symbol names and data values
that can be accessed through this set of interfaces are Private and
are subject to ongoing change.
May 13, 2017 KVM_NLIST(3KVM)
NAME
kvm_nlist - get entries from kernel symbol table
SYNOPSIS
cc [ flag... ] file... -lkvm [ library...]
#include <kvm.h>
#include <nlist.h>
int kvm_nlist(kvm_t *kd, struct nlist *nl);
DESCRIPTION
The kvm_nlist() function examines the symbol table from the kernel
image identified by kd (see kvm_open(3KVM)) and selectively extracts
a list of values and puts them in the array of nlist structures
pointed to by nl. The name list pointed to by nl consists of an array
of structures containing names, types and values. The n_name field
of each such structure is taken to be a pointer to a character string
representing a symbol name. The list is terminated by an entry with
a null pointer (or a pointer to a null string) in the n_name field.
For each entry in nl, if the named symbol is present in the kernel
symbol table, its value and type are placed in the n_value and n_type
fields. If a symbol cannot be located, the corresponding n_type field
of nl is set to 0.
RETURN VALUES
The kvm_nlist() functions returns the value of nlist(3ELF).
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | Unsafe |
+--------------------+-----------------+
SEE ALSO
nlist(3ELF), kvm_kread(3KVM), kvm_open(3KVM), attributes(7)
NOTES
Although the libkvm API is Stable, the symbol names and data values
that can be accessed through this set of interfaces are Private and
are subject to ongoing change.
May 13, 2017 KVM_NLIST(3KVM)