174a4d8c2SCharles.Forsyth /* 274a4d8c2SCharles.Forsyth * obj.h -- defs for dealing with object files 374a4d8c2SCharles.Forsyth */ 474a4d8c2SCharles.Forsyth 574a4d8c2SCharles.Forsyth typedef enum Kind /* variable defs and references in obj */ 674a4d8c2SCharles.Forsyth { 774a4d8c2SCharles.Forsyth aNone, /* we don't care about this prog */ 874a4d8c2SCharles.Forsyth aName, /* introduces a name */ 974a4d8c2SCharles.Forsyth aText, /* starts a function */ 1074a4d8c2SCharles.Forsyth aData, /* references to a global object */ 1174a4d8c2SCharles.Forsyth } Kind; 1274a4d8c2SCharles.Forsyth 1374a4d8c2SCharles.Forsyth typedef struct Prog Prog; 1474a4d8c2SCharles.Forsyth 1574a4d8c2SCharles.Forsyth struct Prog /* info from .$O files */ 1674a4d8c2SCharles.Forsyth { 1774a4d8c2SCharles.Forsyth Kind kind; /* what kind of symbol */ 1874a4d8c2SCharles.Forsyth char type; /* type of the symbol: ie, 'T', 'a', etc. */ 1974a4d8c2SCharles.Forsyth char sym; /* index of symbol's name */ 2074a4d8c2SCharles.Forsyth char *id; /* name for the symbol, if it introduces one */ 21*d67b7dadSforsyth uint sig; /* type signature for symbol */ 2274a4d8c2SCharles.Forsyth }; 2374a4d8c2SCharles.Forsyth 2474a4d8c2SCharles.Forsyth #define UNKNOWN '?' 25*d67b7dadSforsyth void _offset(int, vlong); 26