 |
Index for Section 3 |
|
 |
Alphabetical listing for N |
|
 |
Bottom of page |
|
nlist(3)
NAME
nlist - gets entries from name list
SYNOPSIS
#include <nlist.h>
nlist(
char *filename,
struct nlist [nl] );
cc ... -lmld
DESCRIPTION
NOTE
The nlist() subroutine has moved from the standard C library to the
libmld.a library due to the difference in the object file format.
Programs that need to use nlist() must be linked with the -lmld flag.
The nlist() subroutine examines the name list in the given executable
output file and selectively extracts a list of values. The name list
consists of an array of structures containing names, types, and values. The
list is terminated with a null name.
Each name is looked up in the name list of the file. If the name is found,
the type and value of the name are inserted in the next two fields. If the
name is not found, both entries are set to 0.
For BSD compatibility, the nlist() subroutine allows symbol names to be
preceded by an underscore. If it does not find a symbol that matches the
name as specified, nlist() attempts to locate the symbol name with the
leading underscore removed.
For the structure declaration, see /usr/include/nlist.h.
To obtain up-to-date system addresses from the system name list kept in the
file /vmunix, use the knlist() subroutine. Alternatively, use the
getsysinfo() function to obtain the name of the file from which the kernel
was booted, prepend a slash character (/) to this name, and supply the
prepended name to the nlist() subroutine. Do not specify /vmunix as the
filename to the nlist() subroutine because it may cause nlist() to return
invalid symbol addresses.
ERRORS
If the file cannot be found or if it is not a valid namelist, -1 is
returned; otherwise, the number of unfound namelist entries is returned.
The type entry is set to 0 if the symbol is not found.
SEE ALSO
getsysinfo(2), knlist(3), a.out(4)
 |
Index for Section 3 |
|
 |
Alphabetical listing for N |
|
 |
Top of page |
|