(* "@(#)stab.h	5.1	6/10/86" *)
{$e}
(*    stab.h     *)


{

     This file gives definitions supplementing "a.out.h"
     for permanent symbol table entries.  These entries
     must have one of the N_STAB bits on, and are subject
     to relocation according to the masks in "a.out.h".


}


{   for SDB(1)   }


const

                            {*=> fixed entry (no address)   name -  0 desc           value         }

   N_GSYM      = 16#20;     {*global symbol:                name, , 0,type         , 0             }
   N_FNAME     = 16#22;     {*procedure name (f77 kludge):  name, , 0,--           , 0             }
   N_FUN       = 16#24;     { procedure:                    name, , 0,linenumber   , address       }
   N_STSYM     = 16#26;     { static symbol:                name, , 0,type         , address       }
   N_LCSYM     = 16#28;     { .lcomm symbol:                name, , 0,type         , address       }
   N_RSYM      = 16#40;     {*register symbol:              name, , 0,type         , register      }
   N_SLINE     = 16#44;     { source line:                  --    , 0,linenumber   , address       }
   N_SSYM      = 16#60;     {*structure element:            name, , 0,type         , struct_offset }
   N_SO        = 16#64;     { source file name:             name, , 0,0            , address       }
   N_LSYM      = 16#80;     {*local symbol:                 name, , 0,type         , offset        }
   N_SOL       = 16#84;     { #included file name:          name, , 0,0            , address       }
   N_PSYM      = 16#a0;     {*parameter:                    name, , 0,type         , offset        }
   N_ENTRY     = 16#a4;     { alternate entry:              name, , 0,linenumber   , address       }
   N_LBRAC     = 16#c0;     { left bracket:                 0   , , 0,nesting level, address       }
   N_RBRAC     = 16#e0;     { right bracket:                0   , , 0,nesting level, address       }
   N_BCOMM     = 16#e2;     {*begin common:                 name, , 0,--           , --            }
   N_ECOMM     = 16#e4;     {*end common:                   name, , 0,--           , --            }
   N_ECOML     = 16#e8;     { end common (local name):      --  , , 0,--           , address       }
   N_LENG      = 16#fe;     {*second stab entry with length information                            }

{   for the berkely pascal compiler, pc(1)   }


   N_PC        = 16#30;     { global pascal symbol:         name, , 0,subtype      , line          }
