1 |
.\" Copyright (c) 1992, 1993 |
2 |
.\" The Regents of the University of California. All rights reserved. |
3 |
.\" |
4 |
.\" This code is derived from software developed by the Computer Systems |
5 |
.\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract |
6 |
.\" BG 91-66 and contributed to Berkeley. |
7 |
.\" |
8 |
.\" Redistribution and use in source and binary forms, with or without |
9 |
.\" modification, are permitted provided that the following conditions |
10 |
.\" are met: |
11 |
.\" 1. Redistributions of source code must retain the above copyright |
12 |
.\" notice, this list of conditions and the following disclaimer. |
13 |
.\" 2. Redistributions in binary form must reproduce the above copyright |
14 |
.\" notice, this list of conditions and the following disclaimer in the |
15 |
.\" documentation and/or other materials provided with the distribution. |
16 |
.\" 4. Neither the name of the University nor the names of its contributors |
17 |
.\" may be used to endorse or promote products derived from this software |
18 |
.\" without specific prior written permission. |
19 |
.\" |
20 |
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
21 |
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
22 |
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
23 |
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
24 |
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
25 |
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
26 |
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
27 |
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
28 |
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
29 |
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
30 |
.\" SUCH DAMAGE. |
31 |
.\" |
32 |
.\" @(#)kvm_nlist.3 8.1 (Berkeley) 6/4/93 |
33 |
.\" $FreeBSD: src/lib/libkvm/kvm_nlist.3,v 1.11.6.1 2008/11/25 02:59:29 kensmith Exp $ |
34 |
.\" |
35 |
.Dd June 4, 1993 |
36 |
.Dt KVM_NLIST 3 |
37 |
.Os |
38 |
.Sh NAME |
39 |
.Nm kvm_nlist |
40 |
.Nd retrieve symbol table names from a kernel image |
41 |
.Sh LIBRARY |
42 |
.Lb libkvm |
43 |
.Sh SYNOPSIS |
44 |
.In kvm.h |
45 |
.In nlist.h |
46 |
.Ft int |
47 |
.Fn kvm_nlist "kvm_t *kd" "struct nlist *nl" |
48 |
.Sh DESCRIPTION |
49 |
The |
50 |
.Fn kvm_nlist |
51 |
function retrieves the symbol table entries indicated by the name list argument |
52 |
.Fa \&nl . |
53 |
This argument points to an array of nlist structures, terminated by |
54 |
an entry whose n_name field is |
55 |
.Dv NULL |
56 |
(see |
57 |
.Xr nlist 3 ) . |
58 |
Each symbol is looked up using the n_name field, and if found, the |
59 |
corresponding n_type and n_value fields are filled in. |
60 |
These fields are set |
61 |
to 0 if the symbol is not found. |
62 |
.Pp |
63 |
The |
64 |
.Xr kldsym 2 |
65 |
system call is used to locate the symbol. |
66 |
This is a less than perfect |
67 |
emulation of the nlist values but has the advantage of being aware of kernel |
68 |
modules and is reasonably fast. |
69 |
.Sh RETURN VALUES |
70 |
The |
71 |
.Fn kvm_nlist |
72 |
function returns the number of invalid entries found. |
73 |
If the kernel symbol table was unreadable, -1 is returned. |
74 |
.Sh SEE ALSO |
75 |
.Xr kldsym 2 , |
76 |
.Xr kvm 3 , |
77 |
.Xr kvm_close 3 , |
78 |
.Xr kvm_getargv 3 , |
79 |
.Xr kvm_getenvv 3 , |
80 |
.Xr kvm_geterr 3 , |
81 |
.Xr kvm_getprocs 3 , |
82 |
.Xr kvm_open 3 , |
83 |
.Xr kvm_openfiles 3 , |
84 |
.Xr kvm_read 3 , |
85 |
.Xr kvm_write 3 |