diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/openbios/kernel/include/dict.h | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/openbios/kernel/include/dict.h')
-rw-r--r-- | roms/openbios/kernel/include/dict.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/roms/openbios/kernel/include/dict.h b/roms/openbios/kernel/include/dict.h new file mode 100644 index 000000000..749fd6fba --- /dev/null +++ b/roms/openbios/kernel/include/dict.h @@ -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 |