QUARK
0.9.0
QUARK-QUeuingAndRuntimeforKernels
Main Page
Modules
Data Types List
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
quark_unpack_args.h
Go to the documentation of this file.
1
16
17
#ifndef _UNPACK_ARGS_
18
#define _UNPACK_ARGS_
19
20
#include "
quark.h
"
21
22
#define quark_unpack_args_1(quark, \
23
arg1) \
24
{ \
25
void *lastarg = NULL; \
26
void *args_list = (void *)QUARK_Args_List( quark ); \
27
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
28
memcpy(&arg1, arg, sizeof(arg1)); \
29
}
30
31
#define quark_unpack_args_2(quark, \
32
arg1, \
33
arg2) \
34
{ \
35
void *lastarg = NULL; \
36
void *args_list = QUARK_Args_List( quark ); \
37
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
38
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
39
memcpy(&arg2, arg, sizeof(arg2)); \
40
}
41
42
#define quark_unpack_args_3(quark, \
43
arg1, \
44
arg2, \
45
arg3) \
46
{ \
47
void *lastarg = NULL; \
48
void *args_list = QUARK_Args_List( quark ); \
49
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
50
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
51
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
52
memcpy(&arg3, arg, sizeof(arg3)); \
53
}
54
55
#define quark_unpack_args_4(quark, \
56
arg1, \
57
arg2, \
58
arg3, \
59
arg4) \
60
{ \
61
void *lastarg = NULL; \
62
void *args_list = QUARK_Args_List( quark ); \
63
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
64
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
65
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
66
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
67
memcpy(&arg4, arg, sizeof(arg4)); \
68
}
69
70
#define quark_unpack_args_5(quark, \
71
arg1, \
72
arg2, \
73
arg3, \
74
arg4, \
75
arg5) \
76
{ \
77
void *lastarg = NULL; \
78
void *args_list = QUARK_Args_List( quark ); \
79
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
80
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
81
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
82
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
83
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
84
memcpy(&arg5, arg, sizeof(arg5)); \
85
}
86
87
#define quark_unpack_args_6(quark, \
88
arg1, \
89
arg2, \
90
arg3, \
91
arg4, \
92
arg5, \
93
arg6) \
94
{ \
95
void *lastarg = NULL; \
96
void *args_list = QUARK_Args_List( quark ); \
97
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
98
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
99
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
100
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
101
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
102
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
103
memcpy(&arg6, arg, sizeof(arg6)); \
104
}
105
106
#define quark_unpack_args_7(quark, \
107
arg1, \
108
arg2, \
109
arg3, \
110
arg4, \
111
arg5, \
112
arg6, \
113
arg7) \
114
{ \
115
void *lastarg = NULL; \
116
void *args_list = QUARK_Args_List( quark ); \
117
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
118
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
119
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
120
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
121
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
122
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
123
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
124
memcpy(&arg7, arg, sizeof(arg7)); \
125
}
126
127
#define quark_unpack_args_8(quark, \
128
arg1, \
129
arg2, \
130
arg3, \
131
arg4, \
132
arg5, \
133
arg6, \
134
arg7, \
135
arg8) \
136
{ \
137
void *lastarg = NULL; \
138
void *args_list = QUARK_Args_List( quark ); \
139
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
140
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
141
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
142
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
143
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
144
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
145
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
146
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
147
memcpy(&arg8, arg, sizeof(arg8)); \
148
}
149
150
#define quark_unpack_args_9(quark, \
151
arg1, \
152
arg2, \
153
arg3, \
154
arg4, \
155
arg5, \
156
arg6, \
157
arg7, \
158
arg8, \
159
arg9) \
160
{ \
161
void *lastarg = NULL; \
162
void *args_list = QUARK_Args_List( quark ); \
163
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
164
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
165
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
166
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
167
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
168
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
169
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
170
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
171
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
172
memcpy(&arg9, arg, sizeof(arg9)); \
173
}
174
175
#define quark_unpack_args_10(quark, \
176
arg1, \
177
arg2, \
178
arg3, \
179
arg4, \
180
arg5, \
181
arg6, \
182
arg7, \
183
arg8, \
184
arg9, \
185
arg10) \
186
{ \
187
void *lastarg = NULL; \
188
void *args_list = QUARK_Args_List( quark ); \
189
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
190
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
191
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
192
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
193
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
194
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
195
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
196
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
197
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
198
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
199
memcpy(&arg10, arg, sizeof(arg10)); \
200
}
201
202
#define quark_unpack_args_11(quark, \
203
arg1, \
204
arg2, \
205
arg3, \
206
arg4, \
207
arg5, \
208
arg6, \
209
arg7, \
210
arg8, \
211
arg9, \
212
arg10, \
213
arg11) \
214
{ \
215
void *lastarg = NULL; \
216
void *args_list = QUARK_Args_List( quark ); \
217
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
218
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
219
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
220
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
221
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
222
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
223
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
224
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
225
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
226
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
227
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
228
memcpy(&arg11, arg, sizeof(arg11)); \
229
}
230
231
#define quark_unpack_args_12(quark, \
232
arg1, \
233
arg2, \
234
arg3, \
235
arg4, \
236
arg5, \
237
arg6, \
238
arg7, \
239
arg8, \
240
arg9, \
241
arg10, \
242
arg11, \
243
arg12) \
244
{ \
245
void *lastarg = NULL; \
246
void *args_list = QUARK_Args_List( quark ); \
247
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
248
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
249
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
250
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
251
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
252
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
253
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
254
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
255
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
256
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
257
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
258
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
259
memcpy(&arg12, arg, sizeof(arg12)); \
260
}
261
262
#define quark_unpack_args_13(quark, \
263
arg1, \
264
arg2, \
265
arg3, \
266
arg4, \
267
arg5, \
268
arg6, \
269
arg7, \
270
arg8, \
271
arg9, \
272
arg10, \
273
arg11, \
274
arg12, \
275
arg13) \
276
{ \
277
void *lastarg = NULL; \
278
void *args_list = QUARK_Args_List( quark ); \
279
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
280
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
281
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
282
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
283
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
284
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
285
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
286
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
287
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
288
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
289
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
290
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
291
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
292
memcpy(&arg13, arg, sizeof(arg13)); \
293
}
294
295
#define quark_unpack_args_14(quark, \
296
arg1, \
297
arg2, \
298
arg3, \
299
arg4, \
300
arg5, \
301
arg6, \
302
arg7, \
303
arg8, \
304
arg9, \
305
arg10, \
306
arg11, \
307
arg12, \
308
arg13, \
309
arg14) \
310
{ \
311
void *lastarg = NULL; \
312
void *args_list = QUARK_Args_List( quark ); \
313
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
314
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
315
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
316
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
317
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
318
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
319
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
320
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
321
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
322
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
323
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
324
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
325
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
326
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
327
memcpy(&arg14, arg, sizeof(arg14)); \
328
}
329
330
#define quark_unpack_args_15(quark, \
331
arg1, \
332
arg2, \
333
arg3, \
334
arg4, \
335
arg5, \
336
arg6, \
337
arg7, \
338
arg8, \
339
arg9, \
340
arg10, \
341
arg11, \
342
arg12, \
343
arg13, \
344
arg14, \
345
arg15) \
346
{ \
347
void *lastarg = NULL; \
348
void *args_list = QUARK_Args_List( quark ); \
349
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
350
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
351
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
352
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
353
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
354
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
355
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
356
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
357
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
358
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
359
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
360
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
361
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
362
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
363
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
364
memcpy(&arg15, arg, sizeof(arg15)); \
365
}
366
367
#define quark_unpack_args_16(quark, \
368
arg1, \
369
arg2, \
370
arg3, \
371
arg4, \
372
arg5, \
373
arg6, \
374
arg7, \
375
arg8, \
376
arg9, \
377
arg10, \
378
arg11, \
379
arg12, \
380
arg13, \
381
arg14, \
382
arg15, \
383
arg16) \
384
{ \
385
void *lastarg = NULL; \
386
void *args_list = QUARK_Args_List( quark ); \
387
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
388
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
389
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
390
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
391
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
392
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
393
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
394
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
395
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
396
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
397
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
398
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
399
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
400
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
401
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
402
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
403
memcpy(&arg16, arg, sizeof(arg16)); \
404
}
405
406
#define quark_unpack_args_17(quark, \
407
arg1, \
408
arg2, \
409
arg3, \
410
arg4, \
411
arg5, \
412
arg6, \
413
arg7, \
414
arg8, \
415
arg9, \
416
arg10, \
417
arg11, \
418
arg12, \
419
arg13, \
420
arg14, \
421
arg15, \
422
arg16, \
423
arg17) \
424
{ \
425
void *lastarg = NULL; \
426
void *args_list = QUARK_Args_List( quark ); \
427
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
428
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
429
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
430
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
431
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
432
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
433
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
434
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
435
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
436
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
437
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
438
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
439
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
440
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
441
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
442
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
443
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
444
memcpy(&arg17, arg, sizeof(arg17)); \
445
}
446
447
#define quark_unpack_args_18(quark, \
448
arg1, \
449
arg2, \
450
arg3, \
451
arg4, \
452
arg5, \
453
arg6, \
454
arg7, \
455
arg8, \
456
arg9, \
457
arg10, \
458
arg11, \
459
arg12, \
460
arg13, \
461
arg14, \
462
arg15, \
463
arg16, \
464
arg17, \
465
arg18) \
466
{ \
467
void *lastarg = NULL; \
468
void *args_list = QUARK_Args_List( quark ); \
469
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
470
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
471
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
472
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
473
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
474
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
475
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
476
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
477
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
478
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
479
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
480
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
481
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
482
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
483
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
484
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
485
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
486
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
487
memcpy(&arg18, arg, sizeof(arg18)); \
488
}
489
490
#define quark_unpack_args_19(quark, \
491
arg1, \
492
arg2, \
493
arg3, \
494
arg4, \
495
arg5, \
496
arg6, \
497
arg7, \
498
arg8, \
499
arg9, \
500
arg10, \
501
arg11, \
502
arg12, \
503
arg13, \
504
arg14, \
505
arg15, \
506
arg16, \
507
arg17, \
508
arg18, \
509
arg19) \
510
{ \
511
void *lastarg = NULL; \
512
void *args_list = QUARK_Args_List( quark ); \
513
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
514
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
515
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
516
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
517
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
518
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
519
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
520
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
521
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
522
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
523
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
524
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
525
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
526
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
527
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
528
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
529
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
530
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
531
memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \
532
memcpy(&arg19, arg, sizeof(arg19)); \
533
}
534
535
#define quark_unpack_args_20(quark, \
536
arg1, \
537
arg2, \
538
arg3, \
539
arg4, \
540
arg5, \
541
arg6, \
542
arg7, \
543
arg8, \
544
arg9, \
545
arg10, \
546
arg11, \
547
arg12, \
548
arg13, \
549
arg14, \
550
arg15, \
551
arg16, \
552
arg17, \
553
arg18, \
554
arg19, \
555
arg20) \
556
{ \
557
void *lastarg = NULL; \
558
void *args_list = QUARK_Args_List( quark ); \
559
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
560
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
561
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
562
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
563
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
564
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
565
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
566
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
567
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
568
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
569
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
570
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
571
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
572
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
573
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
574
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
575
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
576
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
577
memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \
578
memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \
579
memcpy(&arg20, arg, sizeof(arg20)); \
580
}
581
582
#define quark_unpack_args_21(quark, \
583
arg1, \
584
arg2, \
585
arg3, \
586
arg4, \
587
arg5, \
588
arg6, \
589
arg7, \
590
arg8, \
591
arg9, \
592
arg10, \
593
arg11, \
594
arg12, \
595
arg13, \
596
arg14, \
597
arg15, \
598
arg16, \
599
arg17, \
600
arg18, \
601
arg19, \
602
arg20, \
603
arg21) \
604
{ \
605
void *lastarg = NULL; \
606
void *args_list = QUARK_Args_List( quark ); \
607
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
608
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
609
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
610
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
611
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
612
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
613
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
614
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
615
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
616
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
617
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
618
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
619
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
620
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
621
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
622
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
623
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
624
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
625
memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \
626
memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \
627
memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \
628
memcpy(&arg21, arg, sizeof(arg21)); \
629
}
630
631
#define quark_unpack_args_22(quark, \
632
arg1, \
633
arg2, \
634
arg3, \
635
arg4, \
636
arg5, \
637
arg6, \
638
arg7, \
639
arg8, \
640
arg9, \
641
arg10, \
642
arg11, \
643
arg12, \
644
arg13, \
645
arg14, \
646
arg15, \
647
arg16, \
648
arg17, \
649
arg18, \
650
arg19, \
651
arg20, \
652
arg21, \
653
arg22) \
654
{ \
655
void *lastarg = NULL; \
656
void *args_list = QUARK_Args_List( quark ); \
657
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
658
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
659
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
660
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
661
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
662
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
663
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
664
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
665
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
666
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
667
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
668
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
669
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
670
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
671
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
672
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
673
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
674
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
675
memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \
676
memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \
677
memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \
678
memcpy(&arg21, arg, sizeof(arg21)); arg = QUARK_Args_Pop(args_list, &lastarg); \
679
memcpy(&arg22, arg, sizeof(arg22)); \
680
}
681
682
#define quark_unpack_args_23(quark, \
683
arg1, \
684
arg2, \
685
arg3, \
686
arg4, \
687
arg5, \
688
arg6, \
689
arg7, \
690
arg8, \
691
arg9, \
692
arg10, \
693
arg11, \
694
arg12, \
695
arg13, \
696
arg14, \
697
arg15, \
698
arg16, \
699
arg17, \
700
arg18, \
701
arg19, \
702
arg20, \
703
arg21, \
704
arg22, \
705
arg23) \
706
{ \
707
void *lastarg = NULL; \
708
void *args_list = QUARK_Args_List( quark ); \
709
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
710
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
711
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
712
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
713
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
714
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
715
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
716
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
717
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
718
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
719
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
720
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
721
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
722
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
723
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
724
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
725
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
726
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
727
memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \
728
memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \
729
memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \
730
memcpy(&arg21, arg, sizeof(arg21)); arg = QUARK_Args_Pop(args_list, &lastarg); \
731
memcpy(&arg22, arg, sizeof(arg22)); arg = QUARK_Args_Pop(args_list, &lastarg); \
732
memcpy(&arg23, arg, sizeof(arg23)); \
733
}
734
735
#define quark_unpack_args_24(quark, \
736
arg1, \
737
arg2, \
738
arg3, \
739
arg4, \
740
arg5, \
741
arg6, \
742
arg7, \
743
arg8, \
744
arg9, \
745
arg10, \
746
arg11, \
747
arg12, \
748
arg13, \
749
arg14, \
750
arg15, \
751
arg16, \
752
arg17, \
753
arg18, \
754
arg19, \
755
arg20, \
756
arg21, \
757
arg22, \
758
arg23, \
759
arg24) \
760
{ \
761
void *lastarg = NULL; \
762
void *args_list = QUARK_Args_List( quark ); \
763
void *arg = QUARK_Args_Pop(args_list, &lastarg); \
764
memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \
765
memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \
766
memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \
767
memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \
768
memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \
769
memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \
770
memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \
771
memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \
772
memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \
773
memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \
774
memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \
775
memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \
776
memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \
777
memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \
778
memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \
779
memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \
780
memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \
781
memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \
782
memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \
783
memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \
784
memcpy(&arg21, arg, sizeof(arg21)); arg = QUARK_Args_Pop(args_list, &lastarg); \
785
memcpy(&arg22, arg, sizeof(arg22)); arg = QUARK_Args_Pop(args_list, &lastarg); \
786
memcpy(&arg23, arg, sizeof(arg23)); arg = QUARK_Args_Pop(args_list, &lastarg); \
787
memcpy(&arg24, arg, sizeof(arg24)); \
788
}
789
790
#endif
quark-0.9.0
quark_unpack_args.h
Generated on Wed Jun 27 2012 12:20:20 for QUARK by
1.8.1