NLIST(3V)

NAME
nlist - get entries from symbol table

SYNOPSIS

#include <nlist.h>

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

DESCRIPTION

nlist() examines the symbol table from the executable image 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 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 executable image's 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 zero.

RETURN VALUES

On success, nlist() returns the number of symbols that were not located in the symbol table. On failure, it returns -1 and sets all of the n_type fields in members of the array pointed to by nl to zero.

SYSTEM V RETURN VALUES

nlist() returns 0 on success.

SEE ALSO
a.out(5), coff(5)

NOTES

On Sun-2, Sun-3, and Sun-4 systems, type entries are set to 0 if the file cannot be read or if it does not contain a valid name list.

On Sun386i systems, the type entries may be zero even when the name list succeeded, but the value entries will be zero only when the file cannot be read or does not contain a valid name list. Therefore, on Sun386i systems, the value entry can be used to determine whether the command succeeded.