NAME
nlist, nlist64 — nlist and nlist64 structure formats, respectively
SYNOPSIS
#include <nlist.h>
Remarks
The exact content of the structures defined below
can be best found by examining
/usr/include/nlist.h.
It varies somewhat between various
HP-UX
implementations.
DESCRIPTION
nlist()
and
nlist64()
can be used to extract information
from the symbol table in an object file (see
nlist(3C)).
They are basically the same tool except
nlist()
can only process SOM files on a PA32 system while
nlist64()
can process SOM and Elf files on either a PA32 or PA64 system.
Since symbol tables are machine dependent (as defined in
each implementation's copy of
<a.out.h>),
a header file,
nlist.h
is defined to encapsulate the differences.
The nlist function, either
nlist()
or
nlist64(),
when used with the corresponding nlist structure, can be used to extract
certain information about selected symbols in the symbol table.
The data associated with each symbol is machine specific,
thus only the name and position of the
n_name
field in the function is standardized by
HP-UX.
The rest of the structure includes at least the value
and type of the symbol.
The names and meanings of all fields not standardized
will change no more than necessary.
struct nlist {
char *n_name;
/* other fields as needed;
the following are suggested if they apply */
char *n_qual;
unsigned short n_type;
unsigned short n_scope;
unsigned int n_info;
unsigned long n_value;
};
struct nlist64 {
char *n_name;
/* other fields as needed;
the following are suggested if they apply */
char *n_qual;
unsigned short n_type;
unsigned short n_scope;
unsigned long n_info;
unsigned long long n_value;
unsigned int is_elf:1;
unsigned int is_32:1;
unsigned int reserved1:30;
unsigned long long reserved2;
unsigned long long reserved3;
};