aboutsummaryrefslogtreecommitdiff
path: root/utils/libmach/obj.h
diff options
context:
space:
mode:
authorbhgv <bhgv.empire@gmail.com>2018-03-01 16:54:45 +0200
committerbhgv <bhgv.empire@gmail.com>2018-03-01 16:54:45 +0200
commitb786f20bbab5a59046aa78a2c6c2a11536497202 (patch)
tree0851ecdec889eb9b7ba3751cc04d4f0b474e4a9e /utils/libmach/obj.h
inferno-os tree was separated from the inferno-os-android (separated from the Android driver)
Diffstat (limited to 'utils/libmach/obj.h')
-rw-r--r--utils/libmach/obj.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/utils/libmach/obj.h b/utils/libmach/obj.h
new file mode 100644
index 0000000..d8c507a
--- /dev/null
+++ b/utils/libmach/obj.h
@@ -0,0 +1,25 @@
+/*
+ * 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);