Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / kernel / include / dict.h
diff --git a/qemu/roms/openbios/kernel/include/dict.h b/qemu/roms/openbios/kernel/include/dict.h
new file mode 100644 (file)
index 0000000..749fd6f
--- /dev/null
@@ -0,0 +1,59 @@
+/* tag: dict management headers
+ *
+ * Copyright (C) 2003 Patrick Mauritz, Stefan Reinauer
+ *
+ * See the file "COPYING" for further information about
+ * the copyright and warranty status of this work.
+ */
+
+#ifndef __DICT_H
+#define __DICT_H
+
+#define DICTID "OpenBIOS"
+
+#define DOSEMIS 0
+#define DOCOL   1
+#define DOLIT   2
+#define DOCON   3
+#define DOVAR   4
+#define DODFR   5
+#define DODOES  6
+
+#define MAXNFALEN 128
+
+/* The header is 28/32 bytes on 32/64bit platforms */
+
+typedef struct dictionary_header {
+       char    signature[8];
+       u8      version;
+       u8      cellsize;
+       u8      endianess;
+       u8      compression;
+       u8      relocation;
+       u8      reserved[3];
+       u32     checksum;
+       u32     length;
+       ucell   last;
+} __attribute__((packed)) dictionary_header_t;
+
+ucell lfa2nfa(ucell ilfa);
+ucell load_dictionary(const char *data, ucell len);
+void  dump_header(dictionary_header_t *header);
+ucell fstrlen(ucell fstr);
+void fstrncpy(char *dest, ucell src, unsigned int maxlen);
+ucell findsemis(ucell xt);
+ucell findxtfromcell_wordlist(ucell incell, ucell wordlist);
+ucell findxtfromcell(ucell incell);
+
+/* program counter */
+extern ucell           PC;
+
+extern unsigned char   *dict;
+extern cell            dicthead;
+extern cell            dictlimit;
+extern ucell           *last;
+#ifdef FCOMPILER
+extern ucell *trampoline;
+#endif
+
+#endif