~ubuntu-branches/debian/squeeze/freeciv/squeeze

« back to all changes in this revision

Viewing changes to amiga/declgate.h

  • Committer: Bazaar Package Importer
  • Author(s): Clint Adams, Karl Goetz, Clint Adams
  • Date: 2010-02-23 22:09:02 UTC
  • mfrom: (1.2.13 upstream)
  • Revision ID: james.westby@ubuntu.com-20100223220902-kiyrmr9i4152cka5
Tags: 2.2.0-1
[ Karl Goetz ]
* Remove civserver files in /etc/ggzd/ (Closes: 523772, 517787)
* Adding ${misc:Depends} to all binary packages (lintian warnings)

[ Clint Adams ]
* New upstream version.
  - Drop data_dsc_use_bindir.diff (binary pathnames have changed).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __DECLGATE_H__
2
 
#define __DECLGATE_H__
3
 
 
4
 
/* Transparent MorphOS gate function macros
5
 
 
6
 
        Written by Harry "Piru" Sintonen, 2000-2001.
7
 
        Public Domain.
8
 
*/
9
 
 
10
 
#ifdef __MORPHOS__
11
 
#  include <exec/types.h>
12
 
#  include <emul/emulregs.h>
13
 
#  include <emul/emulinterface.h>
14
 
 
15
 
#  define REG_a0 REG_A0
16
 
#  define REG_a1 REG_A1
17
 
#  define REG_a2 REG_A2
18
 
#  define REG_a3 REG_A3
19
 
#  define REG_a4 REG_A4
20
 
#  define REG_a5 REG_A5
21
 
#  define REG_a6 REG_A6
22
 
#  define REG_a7 REG_A7
23
 
#  define REG_d0 REG_D0
24
 
#  define REG_d1 REG_D1
25
 
#  define REG_d2 REG_D2
26
 
#  define REG_d3 REG_D3
27
 
#  define REG_d4 REG_D4
28
 
#  define REG_d5 REG_D5
29
 
#  define REG_d6 REG_D6
30
 
#  define REG_d7 REG_D7
31
 
 
32
 
#define DECLGATE(t, fn, rt) \
33
 
t struct EmulLibEntry fn = {TRAP_ ## rt, 0, (void (*)(void)) _ ## fn};
34
 
#define DECLFUNC_1(fn, r1, t1, n1) _ ## fn(void)
35
 
#define DECLFUNC_2(fn, r1, t1, n1, r2, t2, n2) _ ## fn(void)
36
 
#define DECLFUNC_3(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3) _ ## fn(void)
37
 
#define DECLFUNC_4(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4) _ ## fn(void)
38
 
#define DECLFUNC_5(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5) _ ## fn(void)
39
 
#define DECLFUNC_6(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6) _ ## fn(void)
40
 
#define DECLFUNC_7(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7) _ ## fn(void)
41
 
#define DECLFUNC_8(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8) _ ## fn(void)
42
 
#define DECLFUNC_9(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9) _ ## fn(void)
43
 
#define DECLFUNC_10(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10) _ ## fn(void)
44
 
 
45
 
#define NATDECLGATE(t, fn, rt)
46
 
#define NATDECLFUNC_1(fn, r1, t1, n1) fn(void)
47
 
#define NATDECLFUNC_2(fn, r1, t1, n1, r2, t2, n2) fn(void)
48
 
#define NATDECLFUNC_3(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3) fn(void)
49
 
#define NATDECLFUNC_4(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4) fn(void)
50
 
#define NATDECLFUNC_5(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5) fn(void)
51
 
#define NATDECLFUNC_6(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6) fn(void)
52
 
#define NATDECLFUNC_7(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7) fn(void)
53
 
#define NATDECLFUNC_8(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8) fn(void)
54
 
#define NATDECLFUNC_9(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9) fn(void)
55
 
#define NATDECLFUNC_10(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10) fn(void)
56
 
 
57
 
#define DECLARG_1(r1, t1, n1) \
58
 
  t1 n1 = (t1) REG_ ## r1;
59
 
 
60
 
#define DECLARG_2(r1, t1, n1, r2, t2, n2) \
61
 
  t1 n1 = (t1) REG_ ## r1; \
62
 
  t2 n2 = (t2) REG_ ## r2;
63
 
 
64
 
#define DECLARG_3(r1, t1, n1, r2, t2, n2, r3, t3, n3) \
65
 
  t1 n1 = (t1) REG_ ## r1; \
66
 
  t2 n2 = (t2) REG_ ## r2; \
67
 
  t3 n3 = (t3) REG_ ## r3;
68
 
 
69
 
#define DECLARG_4(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4) \
70
 
  t1 n1 = (t1) REG_ ## r1; \
71
 
  t2 n2 = (t2) REG_ ## r2; \
72
 
  t3 n3 = (t3) REG_ ## r3; \
73
 
  t4 n4 = (t4) REG_ ## r4;
74
 
 
75
 
#define DECLARG_5(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5) \
76
 
  t1 n1 = (t1) REG_ ## r1; \
77
 
  t2 n2 = (t2) REG_ ## r2; \
78
 
  t3 n3 = (t3) REG_ ## r3; \
79
 
  t4 n4 = (t4) REG_ ## r4; \
80
 
  t5 n5 = (t5) REG_ ## r5;
81
 
 
82
 
#define DECLARG_6(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6) \
83
 
  t1 n1 = (t1) REG_ ## r1; \
84
 
  t2 n2 = (t2) REG_ ## r2; \
85
 
  t3 n3 = (t3) REG_ ## r3; \
86
 
  t4 n4 = (t4) REG_ ## r4; \
87
 
  t5 n5 = (t5) REG_ ## r5; \
88
 
  t6 n6 = (t6) REG_ ## r6;
89
 
 
90
 
#define DECLARG_7(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7) \
91
 
  t1 n1 = (t1) REG_ ## r1; \
92
 
  t2 n2 = (t2) REG_ ## r2; \
93
 
  t3 n3 = (t3) REG_ ## r3; \
94
 
  t4 n4 = (t4) REG_ ## r4; \
95
 
  t5 n5 = (t5) REG_ ## r5; \
96
 
  t6 n6 = (t6) REG_ ## r6; \
97
 
  t7 n7 = (t7) REG_ ## r7;
98
 
 
99
 
#define DECLARG_8(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8) \
100
 
  t1 n1 = (t1) REG_ ## r1; \
101
 
  t2 n2 = (t2) REG_ ## r2; \
102
 
  t3 n3 = (t3) REG_ ## r3; \
103
 
  t4 n4 = (t4) REG_ ## r4; \
104
 
  t5 n5 = (t5) REG_ ## r5; \
105
 
  t6 n6 = (t6) REG_ ## r6; \
106
 
  t7 n7 = (t7) REG_ ## r7; \
107
 
  t8 n8 = (t8) REG_ ## r8;
108
 
 
109
 
#define DECLARG_9(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9) \
110
 
  t1 n1 = (t1) REG_ ## r1; \
111
 
  t2 n2 = (t2) REG_ ## r2; \
112
 
  t3 n3 = (t3) REG_ ## r3; \
113
 
  t4 n4 = (t4) REG_ ## r4; \
114
 
  t5 n5 = (t5) REG_ ## r5; \
115
 
  t6 n6 = (t6) REG_ ## r6; \
116
 
  t7 n7 = (t7) REG_ ## r7; \
117
 
  t8 n8 = (t8) REG_ ## r8; \
118
 
  t9 n9 = (t9) REG_ ## r9;
119
 
 
120
 
#define DECLARG_10(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10) \
121
 
  t1  n1  = (t1)  REG_ ## r1; \
122
 
  t2  n2  = (t2)  REG_ ## r2; \
123
 
  t3  n3  = (t3)  REG_ ## r3; \
124
 
  t4  n4  = (t4)  REG_ ## r4; \
125
 
  t5  n5  = (t5)  REG_ ## r5; \
126
 
  t6  n6  = (t6)  REG_ ## r6; \
127
 
  t7  n7  = (t7)  REG_ ## r7; \
128
 
  t8  n8  = (t8)  REG_ ## r8; \
129
 
  t9  n9  = (t9)  REG_ ## r9; \
130
 
  t10 n10 = (t10) REG_ ## r10;
131
 
 
132
 
#else /* __MORPHOS__ */
133
 
 
134
 
#include "myregargs.h"
135
 
 
136
 
#define DECLARG_1(r1, t1, n1)
137
 
#define DECLARG_2(r1, t1, n1, r2, t2, n2)
138
 
#define DECLARG_3(r1, t1, n1, r2, t2, n2, r3, t3, n3)
139
 
#define DECLARG_4(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4)
140
 
#define DECLARG_5(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5)
141
 
#define DECLARG_6(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6)
142
 
#define DECLARG_7(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7)
143
 
#define DECLARG_8(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8)
144
 
#define DECLARG_9(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9)
145
 
#define DECLARG_10(r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10)
146
 
 
147
 
#define DECLGATE(t, fn, rt)
148
 
 
149
 
#define DECLFUNC_1(fn, r1, t1, n1) \
150
 
  MASM fn(MREG(r1, t1 n1))
151
 
#define DECLFUNC_2(fn, r1, t1, n1, r2, t2, n2) \
152
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2))
153
 
#define DECLFUNC_3(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3) \
154
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3))
155
 
#define DECLFUNC_4(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4) \
156
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4))
157
 
#define DECLFUNC_5(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5) \
158
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4), MREG(r5, t5 n5))
159
 
#define DECLFUNC_6(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6) \
160
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4), MREG(r5, t5 n5), MREG(r6, t6 n6))
161
 
#define DECLFUNC_7(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7) \
162
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4), MREG(r5, t5 n5), MREG(r6, t6 n6), MREG(r7, t7 n7))
163
 
#define DECLFUNC_8(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8) \
164
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4), MREG(r5, t5 n5), MREG(r6, t6 n6), MREG(r7, t7 n7), MREG(r8, t8 n8))
165
 
#define DECLFUNC_9(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9) \
166
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4), MREG(r5, t5 n5), MREG(r6, t6 n6), MREG(r7, t7 n7), MREG(r8, t8 n8), MREG(r9, t9 n9))
167
 
#define DECLFUNC_10(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10) \
168
 
  MASM fn(MREG(r1, t1 n1), MREG(r2, t2 n2), MREG(r3, t3 n3), MREG(r4, t4 n4), MREG(r5, t5 n5), MREG(r6, t6 n6), MREG(r7, t7 n7), MREG(r8, t8 n8), MREG(r9, t9 n9), MREG(r10, t10 n10))
169
 
 
170
 
#define NATDECLGATE(t, fn, rt)
171
 
 
172
 
#define NATDECLFUNC_1(fn, r1, t1, n1) \
173
 
  DECLFUNC_1(fn, r1, t1, n1)
174
 
#define NATDECLFUNC_2(fn, r1, t1, n1, r2, t2, n2) \
175
 
  DECLFUNC_2(fn, r1, t1, n1, r2, t2, n2)
176
 
#define NATDECLFUNC_3(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3) \
177
 
  DECLFUNC_3(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3)
178
 
#define NATDECLFUNC_4(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4) \
179
 
  DECLFUNC_4(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4)
180
 
#define NATDECLFUNC_5(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5) \
181
 
  DECLFUNC_5(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5)
182
 
#define NATDECLFUNC_6(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6) \
183
 
  DECLFUNC_6(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6)
184
 
#define NATDECLFUNC_7(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7) \
185
 
  DECLFUNC_7(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7)
186
 
#define NATDECLFUNC_8(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8) \
187
 
  DECLFUNC_8(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8)
188
 
#define NATDECLFUNC_9(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9) \
189
 
  DECLFUNC_9(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9)
190
 
#define NATDECLFUNC_10(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10) \
191
 
  DECLFUNC_10(fn, r1, t1, n1, r2, t2, n2, r3, t3, n3, r4, t4, n4, r5, t5, n5, r6, t6, n6, r7, t7, n7, r8, t8, n8, r9, t9, n9, r10, t10, n10)
192
 
 
193
 
#endif /* __MORPHOS__ */
194
 
 
195
 
#endif /* __DECLGATE_H__ */