|
|
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.