26 lines
648 B
C
26 lines
648 B
C
/*
|
|
* obj.h -- defs for dealing with object files
|
|
*/
|
|
|
|
typedef enum Kind /* variable defs and references in obj */
|
|
{
|
|
aNone, /* we don't care about this prog */
|
|
aName, /* introduces a name */
|
|
aText, /* starts a function */
|
|
aData, /* references to a global object */
|
|
} Kind;
|
|
|
|
typedef struct Prog Prog;
|
|
|
|
struct Prog /* info from .$O files */
|
|
{
|
|
Kind kind; /* what kind of symbol */
|
|
char type; /* type of the symbol: ie, 'T', 'a', etc. */
|
|
char sym; /* index of symbol's name */
|
|
char *id; /* name for the symbol, if it introduces one */
|
|
uint sig; /* type signature for symbol */
|
|
};
|
|
|
|
#define UNKNOWN '?'
|
|
void _offset(int, vlong);
|