NAME
nlist_pa: nlist, nlist64 — structure formats for PA-RISC systems
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.
This manpage describes
<nlist.h>
on PA-RISC systems.
For
<nlist.h>
on Integrity systems, see
nlist_ia(4).
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 PA-RISC 32-bit system while
nlist64()
can process SOM and ELF files on either a PA-RISC 32-bit or 64-bit 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;
};