13e12c5d1SDavid du Colombier /* 23e12c5d1SDavid du Colombier * obj.h -- defs for dealing with object files 33e12c5d1SDavid du Colombier */ 43e12c5d1SDavid du Colombier 5bd389b36SDavid du Colombier typedef enum Kind /* variable defs and references in obj */ 63e12c5d1SDavid du Colombier { 73e12c5d1SDavid du Colombier aNone, /* we don't care about this prog */ 83e12c5d1SDavid du Colombier aName, /* introduces a name */ 93e12c5d1SDavid du Colombier aText, /* starts a function */ 103e12c5d1SDavid du Colombier aData, /* references to a global object */ 113e12c5d1SDavid du Colombier } Kind; 123e12c5d1SDavid du Colombier 13bd389b36SDavid du Colombier typedef struct Prog Prog; 143e12c5d1SDavid du Colombier 153e12c5d1SDavid du Colombier struct Prog /* info from .$O files */ 163e12c5d1SDavid du Colombier { 173e12c5d1SDavid du Colombier Kind kind; /* what kind of symbol */ 183e12c5d1SDavid du Colombier char type; /* type of the symbol: ie, 'T', 'a', etc. */ 193e12c5d1SDavid du Colombier char sym; /* index of symbol's name */ 20219b2ee8SDavid du Colombier char *id; /* name for the symbol, if it introduces one */ 21*0c547597SDavid du Colombier uint sig; /* type signature for symbol */ 223e12c5d1SDavid du Colombier }; 233e12c5d1SDavid du Colombier 24bd389b36SDavid du Colombier #define UNKNOWN '?' 254de34a7eSDavid du Colombier void _offset(int, vlong); 26