1 // xawrap2 internal header
2 // NOTE: no include guards
3
4 // sets up macro arguments for use in the header named by _INCL_FILE
5
6  #if _CMASK & 0x01
7   #define _MCONST0    const
8
9  #else
10   #define _MCONST0
11  #endif
12
13  #if _CMASK & 0x02
14   #define _MCONST1    const
15
16  #else
17   #define _MCONST1
18  #endif
19
20  #if _CMASK & 0x04
21   #define _MCONST2    const
22
23  #else
24   #define _MCONST2
25  #endif
26
27  #if _CMASK & 0x08
28   #define _MCONST3    const
29
30  #else
31   #define _MCONST3
32  #endif
33
34  #if _CMASK & 0x10
35   #define _MCONST4    const
36
37  #else
38   #define _MCONST4
39  #endif
40
41  #if _CMASK2 & 0x01
42   #define _MCONST5    const
43
44  #else
45   #define _MCONST5
46  #endif
47
48  #if _CMASK2 & 0x02
49   #define _MCONST6    const
50
51  #else
52   #define _MCONST6
53  #endif
54
55  #if _CMASK2 & 0x04
56   #define _MCONST7    const
57
58  #else
59   #define _MCONST7
60  #endif
61
62  #if _CMASK2 & 0x08
63   #define _MCONST8    const
64
65  #else
66   #define _MCONST8
67  #endif
68
69  #if _CMASK2 & 0x10
70   #define _MCONST9    const
71
72  #else
73   #define _MCONST9
74  #endif
75
76  #if _NARGS == 0
77   #define _CARG0_CARG1_REF
78   #define _CARG0_C0_REF
79
80  #elif _NARGS == 1
81   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&
82   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0
83
84  #elif _NARGS == 2
85   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&
86   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1
87
88  #elif _NARGS == 3
89   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
90     _MCONST2 _Carg2&
91   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
92     _MCONST2 _Carg2& _CA2
93
94  #elif _NARGS == 4
95   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
96     _MCONST2 _Carg2&, _MCONST3 _Carg3&
97   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
98     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3
99
100  #elif _NARGS == 5
101   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
102     _MCONST2 _Carg2&, _MCONST3 _Carg3&, _MCONST4 _Carg4&
103   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
104     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3, _MCONST4 _Carg4& _CA4
105
106  #elif _NARGS == 6
107   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
108     _MCONST2 _Carg2&, _MCONST3 _Carg3&, _MCONST4 _Carg4&, \
109     _MCONST5 _Carg5&
110   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
111     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3, _MCONST4 _Carg4& _CA4, \
112     _MCONST5 _Carg5& _CA5
113
114  #elif _NARGS == 7
115   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
116     _MCONST2 _Carg2&, _MCONST3 _Carg3&, _MCONST4 _Carg4&, \
117     _MCONST5 _Carg5&, _Carg6&
118   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
119     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3, _MCONST4 _Carg4& _CA4, \
120     _MCONST5 _Carg5& _CA5, _MCONST6 _Carg6& _CA6
121
122  #elif _NARGS == 8
123   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
124     _MCONST2 _Carg2&, _MCONST3 _Carg3&, _MCONST4 _Carg4&, \
125     _MCONST5 _Carg5&, _Carg6&, _Carg7&
126   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
127     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3, _MCONST4 _Carg4& _CA4, \
128     _MCONST5 _Carg5& _CA5, _MCONST6 _Carg6& _CA6, _MCONST7 _Carg7& _CA7
129
130  #elif _NARGS == 9
131   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
132     _MCONST2 _Carg2&, _MCONST3 _Carg3&, _MCONST4 _Carg4&, \
133     _MCONST5 _Carg5&, _Carg6&, _Carg7&, _Carg8&
134   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
135     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3, _MCONST4 _Carg4& _CA4, \
136     _MCONST5 _Carg5& _CA5, _MCONST6 _Carg6& _CA6, _MCONST7 _Carg7& _CA7, \
137     _MCONST8 _Carg8& _CA8
138
139  #elif _NARGS == 10
140   #define _CARG0_CARG1_REF    _MCONST0 _Carg0&, _MCONST1 _Carg1&, \
141     _MCONST2 _Carg2&, _MCONST3 _Carg3&, _MCONST4 _Carg4&, \
142     _MCONST5 _Carg5&, _Carg6&, _Carg7&, _Carg8&, _Carg9&
143   #define _CARG0_C0_REF        _MCONST0 _Carg0& _CA0, _MCONST1 _Carg1& _CA1, \
144     _MCONST2 _Carg2& _CA2, _MCONST3 _Carg3& _CA3, _MCONST4 _Carg4& _CA4, \
145     _MCONST5 _Carg5& _CA5, _MCONST6 _Carg6& _CA6, _MCONST7 _Carg7& _CA7, \
146     _MCONST8 _Carg8& _CA8, _MCONST9 _Carg9& _CA9
147
Lines 148 ... 157 are skipped.
158 #undef _MCONST5
159 #undef _MCONST4
160 #undef _MCONST3
161 #undef _MCONST2
162 #undef _MCONST1
163 #undef _MCONST0
164 #undef _CARG0_C0_REF
165 #undef _CARG0_CARG1_REF
166 #undef _CMASK
167
168 /*
169  * Copyright (c) 1992-2008 by P.J. Plauger.  ALL RIGHTS RESERVED.
170  * Consult your license regarding permissions and restrictions.
171 V5.05:0009 */
172