xref: /titanic_50/usr/src/man/man3kvm/kvm_nlist.3kvm (revision 7b07063d906859b2be1e88791f801b3c96e432f6)
te
Copyright (c) 2002, Sun Microsystems, Inc.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
KVM_NLIST 3KVM "May 2, 2002"
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(3UCB) or nlist(3ELF), depending on the library used.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Stable
MT-Level Unsafe
SEE ALSO

kvm_open(3KVM), kvm_kread(3KVM), nlist(3ELF), nlist(3UCB), attributes(5)

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.