nlist -- get entries from name list


cc ... -lc

#include <nlist.h>

int nlist (filename, nl) char *filename; struct nlist *nl;


The nlist function examines the name list in the executable file whose name is pointed to by filename, and selectively extracts a list of values and puts them in the array of nlist structures pointed to by nl. The name list nl consists of an array of structures containing names of variables, types, and values. The list is terminated with a null name; that is, a null string is in the name position of the structure. Each variable 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. The type field is set to 0 unless the file was compiled with the -g option. If the name is not found, both entries are set to 0. See a.out(FP) for a discussion of the symbol table structure.

This function is useful for examining the system name list kept in the file /unix. In this way programs can obtain system addresses that are up to date.


All value entries are set to 0 if the file cannot be read or if it does not contain a valid name list.

The nlist function returns -1 upon error; otherwise it returns 0.


The <nlist.h> header file is automatically included by <a.out.h> for compatibility. However, if the only information needed from <a.out.h> is for use of nlist, then including <a.out.h> is discouraged. If <a.out.h> is included, the line ``#undef n_name'' may need to follow it.

See also


Standards conformance

nlist is not part of any currently supported standard; it was developed by UNIX System Laboratories, Inc. and is maintained by The SCO Group.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003