/* * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */ /* * 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, int64_t);