|
|
The C language structure declaration for the symbol table entry is shown below. This declaration may be found in the header file syms.h.
struct syment
{
union
{
char _n_name[SYMNMLEN]; /* symbol name*/
struct
{
long _n_zeroes; /* symbol name */
long _n_offset; /* location in string table */
} _n_n;
char *_n_nptr[2]; /* allows overlaying */
} _n;
unsigned long n_value; /* value of symbol */
short n_scnum; /* section number */
unsigned short n_type; /* type and derived */
char n_sclass; /* storage class */
char n_numaux; /* number of aux entries */
};
#define n_name _n._n_name
#define n_zeroes _n._n_n._n_zeroes
#define n_offset _n._n_n._n_offset
#define n_nptr _n._n_nptr[1]
#define SYMNMLEN 8
#define SYMESZ 18 /* size of a symbol table entry */