historical/m0-applesillicon.git/xnu-qemu-arm64-5.1.0/roms/openbios/kernel/include/dict.h
2024-01-16 11:20:27 -06:00

59 lines
1.2 KiB
C

/* 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