|
|
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 */