|
|
1 /* these may be changed, but sizeof(type) <= sizeof(int) */
2 typedef unsigned short uindex;
3 # define UINDEX_MAX USHRT_MAX
4
5 typedef unsigned short ssizet;
6 # define SSIZET_MAX USHRT_MAX
7
8 typedef uindex sector;
9 # define SW_UNUSED UINDEX_MAX
10
11 /* eindex can be anything */
12 typedef char eindex;
13 # define EINDEX_MAX UCHAR_MAX
14 # define EINDEX(e) UCHAR(e)
15
16
17 /*
18 * Gamedriver configuration. Hash table sizes should be powers of two.
19 */
20
21 /* general */
22 # define BUF_SIZE FS_BLOCK_SIZE /* I/O buffer size */
23 # define MAX_LINE_SIZE 1024 /* max. line size in ed and lex (power of 2) */
24 # define STRINGSZ 256 /* general (internal) string size */
25 # define STRMAPHASHSZ 20 /* # characters to hash of map string indices */
26 # define STRMERGETABSZ 1024 /* general string merge table size */
27 # define STRMERGEHASHSZ 20 /* # characters in merge strings to hash */
28 # define ARRMERGETABSZ 1024 /* general array merge table size */
29 # define OBJHASHSZ 256 /* # characters in object names to hash */
30 # define COPATCHHTABSZ 64 /* callout patch hash table size */
31 # define OBJPATCHHTABSZ 128 /* object patch hash table size */
32 # define SWAPCHUNKSZ 32 /* # swap sectors reconstructed in main loop */
33
34
35 /* interpreter */
36 # define MIN_STACK 3 /* minimal stack, # arguments in driver calls */
37 # define EXTRA_STACK 32 /* extra space in stack frames */
38 # define MAX_STRLEN SSIZET_MAX /* max string length, >= 65535 */
39
40 /* parser */
41 # define MAX_AUTOMSZ 6 /* DFA/PDA storage size, in strings */
42 # define PARSERULTABSZ 256 /* size of parse rule hash table */
43 # define PARSERULHASHSZ 10 /* # characters in parse rule symbols to hash */
44
45 /* editor */
46 # define NR_EDBUFS 3 /* # buffers in editor cache (>= 3) */
47 /*# define TMPFILE_SIZE 2097152 */ /* max. editor tmpfile size */
48
49 /* lexical scanner */
50 # define MACTABSZ 1024 /* macro hash table size */
51 # define MACHASHSZ 10 /* # characters in macros to hash */
52
53 /* compiler */
54 # define YYMAXDEPTH 500 /* parser stack size */
55 # define MAX_ERRORS 5 /* max. number of errors during compilation */
56 # define MAX_LOCALS 127 /* max. number of parameters + local vars */
57 # define OMERGETABSZ 128 /* inherit object merge table size */
58 # define VFMERGETABSZ 256 /* variable/function merge table sizes */
59 # define VFMERGEHASHSZ 10 /* # characters in function/variables to hash */
60 # define NTMPVAL 32 /* # of temporary values for LPC->C code */
61
62
63 extern bool conf_init P((char*, char*, sector*));
64 extern char *conf_base_dir P((void));
65 extern char *conf_driver P((void));
66 extern int conf_typechecking P((void));
67 extern unsigned short conf_array_size P((void));
68
69 extern void conf_dump P((void));
70 extern Uint conf_dsize P((char*));
71 extern Uint conf_dconv P((char*, char*, char*, Uint));
72 extern void conf_dread P((int, char*, char*, Uint));
73
74 extern bool conf_statusi P((frame*, Int, value*));
75 extern array *conf_status P((frame*));
76 extern bool conf_objecti P((dataspace*, object*, Int, value*));
77 extern array *conf_object P((dataspace*, object*));
78
79 /* extension interface */
80 extern void conf_ext_callback P((void(*)(object*), void(*)(object*),
81 void(*)(object*),
82 bool(*)(frame*, int, value*, char*),
83 void(*)(void), void(*)(void)));
84 extern void (*ext_restore) P((object*));
85 extern void (*ext_swapout) P((object*));
86 extern void (*ext_destruct) P((object*));
87 extern bool (*ext_funcall) P((frame*, int, value*, char*));
88 extern void (*ext_cleanup) P((void));
89 extern void (*ext_finish) P((void));
90
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.