cc799ee9de6714a9472e3c2ec2bb1106079f259c
[projects/chimara/chimara.git] / babel / modules.h
1 /* modules.h  Declaration of treaty modules for the babel program\r
2  * (c) 2006 By L. Ross Raszewski\r
3  *\r
4  * This code is freely usable for all purposes.\r
5  *\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
9  * Creative Commons,\r
10  * 543 Howard Street, 5th Floor,\r
11  * San Francisco, California, 94105, USA.\r
12  *\r
13  * This file depends upon treaty.h and all the references treaty modules\r
14  *\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
20  *\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
24  */\r
25 \r
26 \r
27 #include "treaty.h"\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
37 #else\r
38 #define REGISTER_TREATY(x)\r
39 #define REGISTER_CONTAINER(x)     x##_treaty,\r
40 #define REGISTER_NAME(x)\r
41 #endif\r
42 #else\r
43 #define REGISTER_TREATY(x)        x##_treaty,\r
44 #define REGISTER_CONTAINER(x)\r
45 #define REGISTER_NAME(x)\r
46 #endif\r
47 #else\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
51 #endif\r
52 \r
53 \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
67 \r
68 \r
69 \r
70 \r