1 /* modules.h Declaration of treaty modules for the babel program
\r
2 * (c) 2006 By L. Ross Raszewski
\r
4 * This code is freely usable for all purposes.
\r
6 * This work is licensed under the Creative Commons Attribution2.5 License.
\r
7 * To view a copy of this license, visit
\r
8 * http://creativecommons.org/licenses/by/2.5/ or send a letter to
\r
10 * 543 Howard Street, 5th Floor,
\r
11 * San Francisco, California, 94105, USA.
\r
13 * This file depends upon treaty.h and all the references treaty modules
\r
15 * Persons wishing to add support for a new module to babel need only
\r
16 * add a line in the form below. New modules should be positioned according
\r
17 * to their popularity. If this file is being used in tandem with register.c
\r
18 * (as it is in babel), then being dishonest about the popularity of an added
\r
19 * system will make the program non-compliant with the treaty of Babel
\r
21 * REGISTER_NAME is used as a placeholder for formats which are specified
\r
22 * as existing by the treaty but for which no handler yet exists.
\r
23 * remove the REGISTER_NAME for any format which has a registered treaty.
\r
28 #undef REGISTER_TREATY
\r
29 #undef REGISTER_CONTAINER
\r
30 #undef REGISTER_NAME
\r
31 #ifdef TREATY_REGISTER
\r
32 #ifdef CONTAINER_REGISTER
\r
33 #ifdef FORMAT_REGISTER
\r
34 #define REGISTER_TREATY(x) #x,
\r
35 #define REGISTER_NAME(x) #x,
\r
36 #define REGISTER_CONTAINER(x)
\r
38 #define REGISTER_TREATY(x)
\r
39 #define REGISTER_CONTAINER(x) x##_treaty,
\r
40 #define REGISTER_NAME(x)
\r
43 #define REGISTER_TREATY(x) x##_treaty,
\r
44 #define REGISTER_CONTAINER(x)
\r
45 #define REGISTER_NAME(x)
\r
48 #define REGISTER_TREATY(x) int32 x##_treaty(int32, void *, int32, void *, int32);
\r
49 #define REGISTER_CONTAINER(x) int32 x##_treaty(int32, void *, int32, void *, int32);
\r
50 #define REGISTER_NAME(x)
\r
54 REGISTER_CONTAINER(blorb)
\r
55 REGISTER_TREATY(zcode)
\r
56 REGISTER_TREATY(glulx)
\r
57 REGISTER_TREATY(tads2)
\r
58 REGISTER_TREATY(tads3)
\r
59 REGISTER_TREATY(hugo)
\r
60 REGISTER_TREATY(alan)
\r
61 REGISTER_TREATY(adrift)
\r
62 REGISTER_TREATY(level9)
\r
63 REGISTER_TREATY(agt)
\r
64 REGISTER_TREATY(magscrolls)
\r
65 REGISTER_TREATY(advsys)
\r
66 REGISTER_TREATY(executable)
\r