xref: /plan9/sys/src/libmach/obj.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
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 */
20*219b2ee8SDavid du Colombier 	char	*id;		/* name for the symbol, if it introduces one */
213e12c5d1SDavid du Colombier };
223e12c5d1SDavid du Colombier 
23bd389b36SDavid du Colombier #define UNKNOWN	'?'
24bd389b36SDavid du Colombier void		_offset(int, long);
25