1 /*
2   Types
3   Basic types for the infocom interpreter
4   JBS 15 June 1994
5 */
6 
7 #ifndef _TYPES_
8 
9 #define _TYPES_
10 
11 /*
12   Universal Type Definitions.
13   'byte'          -  8 bits       ; unsigned.
14   'word'          - 16 bits       ; unsigned.
15   'long_word'     - 32 bits       ; unsigned.
16   'signed_word'   - 16 bits       ; signed.
17   'signed_long'   - 32 bits       ; signed.
18   'bool'          - simple 0/1 truth value
19 
20   These should be minimum requirements, so the following
21   definitions ought to be portable across all machines,
22   even those where int is naturally 64 bit.
23 */
24 
25 typedef unsigned char byte;
26 typedef unsigned short word;
27 typedef unsigned long long_word;
28 typedef short signed_word;
29 typedef long signed_long;
30 
31 typedef byte bool;
32 
33 #define USE(v)  (v=v); /* Suppress warnings */
34 
35 #include <stdlib.h> /* Get size_t */
36 
37 #ifndef min
38 #define min(a,b) ((a)<(b)?(a):(b))
39 #endif
40 #ifndef max
41 #define max(a,b) ((a)>(b)?(a):(b))
42 #endif
43 
44 #endif
45