Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / kernel / include / dict.h
1 /* tag: dict management headers
2  *
3  * Copyright (C) 2003 Patrick Mauritz, Stefan Reinauer
4  *
5  * See the file "COPYING" for further information about
6  * the copyright and warranty status of this work.
7  */
8
9 #ifndef __DICT_H
10 #define __DICT_H
11
12 #define DICTID "OpenBIOS"
13
14 #define DOSEMIS 0
15 #define DOCOL   1
16 #define DOLIT   2
17 #define DOCON   3
18 #define DOVAR   4
19 #define DODFR   5
20 #define DODOES  6
21
22 #define MAXNFALEN 128
23
24 /* The header is 28/32 bytes on 32/64bit platforms */
25
26 typedef struct dictionary_header {
27         char    signature[8];
28         u8      version;
29         u8      cellsize;
30         u8      endianess;
31         u8      compression;
32         u8      relocation;
33         u8      reserved[3];
34         u32     checksum;
35         u32     length;
36         ucell   last;
37 } __attribute__((packed)) dictionary_header_t;
38
39 ucell lfa2nfa(ucell ilfa);
40 ucell load_dictionary(const char *data, ucell len);
41 void  dump_header(dictionary_header_t *header);
42 ucell fstrlen(ucell fstr);
43 void fstrncpy(char *dest, ucell src, unsigned int maxlen);
44 ucell findsemis(ucell xt);
45 ucell findxtfromcell_wordlist(ucell incell, ucell wordlist);
46 ucell findxtfromcell(ucell incell);
47
48 /* program counter */
49 extern ucell            PC;
50
51 extern unsigned char    *dict;
52 extern cell             dicthead;
53 extern cell             dictlimit;
54 extern ucell            *last;
55 #ifdef FCOMPILER
56 extern ucell *trampoline;
57 #endif
58
59 #endif