summaryrefslogtreecommitdiff
path: root/src/h/header.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/h/header.h')
-rw-r--r--src/h/header.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/h/header.h b/src/h/header.h
new file mode 100644
index 0000000..3b131f1
--- /dev/null
+++ b/src/h/header.h
@@ -0,0 +1,28 @@
+/*
+ * Interpreter code file header - this is written at the start of
+ * an icode file after the start-up program.
+ */
+struct header {
+ word hsize; /* size of interpreter code */
+ word trace; /* initial value of &trace */
+
+ word Records;
+ word Ftab; /* location of record/field table */
+ word Fnames; /* location of names of fields */
+ word Globals; /* location of global variables */
+ word Gnames; /* location of names of globals */
+ word Statics; /* location of static variables */
+ word Strcons; /* location of identifier table */
+ word Filenms; /* location of ipc/file name table */
+
+ #ifdef FieldTableCompression
+ short FtabWidth; /* width of field table entries, 1 | 2 | 4 */
+ short FoffWidth; /* width of field offset entries, 1 | 2 | 4 */
+ word Nfields; /* number of field names */
+ word Fo; /* The start of the Fo array */
+ word Bm; /* The start of the Bm array */
+ #endif /* FieldTableCompression */
+
+ word linenums; /* location of ipc/line number table */
+ word config[16]; /* icode version */
+ };