xref: /inferno-os/utils/libmach/obj.h (revision 7ef44d652ae9e5e1f5b3465d73684e4a54de73c0)
1 /*
2  * obj.h -- defs for dealing with object files
3  */
4 
5 typedef enum Kind		/* variable defs and references in obj */
6 {
7 	aNone,			/* we don't care about this prog */
8 	aName,			/* introduces a name */
9 	aText,			/* starts a function */
10 	aData,			/* references to a global object */
11 } Kind;
12 
13 typedef struct	Prog	Prog;
14 
15 struct Prog		/* info from .$O files */
16 {
17 	Kind	kind;		/* what kind of symbol */
18 	char	type;		/* type of the symbol: ie, 'T', 'a', etc. */
19 	char	sym;		/* index of symbol's name */
20 	char	*id;		/* name for the symbol, if it introduces one */
21 	uint	sig;		/* type signature for symbol */
22 };
23 
24 #define UNKNOWN	'?'
25 void		_offset(int, vlong);
26