00001 struct nlist { 00002 union { 00003 char *n_name; /* for use when in-core */ 00004 long n_strx; /* index into file string table */ 00005 } n_un; 00006 unsigned char n_type; /* type flag; see below */ 00007 unsigned char n_sect; /* section number or NO_SECT */ 00008 short n_desc; /* see the header file stab.h */ 00009 unsigned n_value; /* value of this symbol table entry 00010 (or stab offset) */ 00011 }; 00012 00013 #define N_STAB 0xe0 /* if any bits are set, this is a symbolic 00014 debugging entry */ 00015 #define N_TYPE 0x1e /* mask for the type bits */ 00016 #define N_EXT 0x01 /* external symbol bit; set for external 00017 symbols */ 00018 00019 #define N_UNDF 0x0 /* undefined; n_sect == NO_SECT */ 00020 #define N_ABS 0x2 /* absolute; n_sect == NO_SECT */ 00021 #define N_SECT 0xe /* defined in section number n_sect */ 00022 #define N_INDR 0xa /* indirect */ 00023 00024 #define NO_SECT 0 /* the symbol isn't in any section */ 00025 #define MAX_SECT 255 /* 1 through 255 inclusive */