ExaFMM 1
Fast-multipole Method for exascale systems
|
00001 /** 00002 * 00003 * @file quark_unpack_args.h 00004 * 00005 * Macros used to retrieve arguments from QUARK to the function being executed. 00006 * 00007 * PLASMA is a software package provided by Univ. of Tennessee, 00008 * Univ. of California Berkeley and Univ. of Colorado Denver 00009 * 00010 * @version 2.4.5 00011 * @author Asim YarKhan 00012 * @date 2010-11-15 00013 * 00014 **/ 00015 00016 /////////////////////////////////////////////////////////////////////////////////////////////////// 00017 #ifndef _UNPACK_ARGS_ 00018 #define _UNPACK_ARGS_ 00019 00020 #include "quark.h" 00021 00022 #define quark_unpack_args_1(quark, \ 00023 arg1) \ 00024 { \ 00025 void *lastarg = NULL; \ 00026 void *args_list = (void *)QUARK_Args_List( quark ); \ 00027 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00028 memcpy(&arg1, arg, sizeof(arg1)); \ 00029 } 00030 00031 #define quark_unpack_args_2(quark, \ 00032 arg1, \ 00033 arg2) \ 00034 { \ 00035 void *lastarg = NULL; \ 00036 void *args_list = QUARK_Args_List( quark ); \ 00037 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00038 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00039 memcpy(&arg2, arg, sizeof(arg2)); \ 00040 } 00041 00042 #define quark_unpack_args_3(quark, \ 00043 arg1, \ 00044 arg2, \ 00045 arg3) \ 00046 { \ 00047 void *lastarg = NULL; \ 00048 void *args_list = QUARK_Args_List( quark ); \ 00049 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00050 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00051 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00052 memcpy(&arg3, arg, sizeof(arg3)); \ 00053 } 00054 00055 #define quark_unpack_args_4(quark, \ 00056 arg1, \ 00057 arg2, \ 00058 arg3, \ 00059 arg4) \ 00060 { \ 00061 void *lastarg = NULL; \ 00062 void *args_list = QUARK_Args_List( quark ); \ 00063 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00064 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00065 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00066 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00067 memcpy(&arg4, arg, sizeof(arg4)); \ 00068 } 00069 00070 #define quark_unpack_args_5(quark, \ 00071 arg1, \ 00072 arg2, \ 00073 arg3, \ 00074 arg4, \ 00075 arg5) \ 00076 { \ 00077 void *lastarg = NULL; \ 00078 void *args_list = QUARK_Args_List( quark ); \ 00079 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00080 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00081 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00082 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00083 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00084 memcpy(&arg5, arg, sizeof(arg5)); \ 00085 } 00086 00087 #define quark_unpack_args_6(quark, \ 00088 arg1, \ 00089 arg2, \ 00090 arg3, \ 00091 arg4, \ 00092 arg5, \ 00093 arg6) \ 00094 { \ 00095 void *lastarg = NULL; \ 00096 void *args_list = QUARK_Args_List( quark ); \ 00097 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00098 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00099 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00100 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00101 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00102 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00103 memcpy(&arg6, arg, sizeof(arg6)); \ 00104 } 00105 00106 #define quark_unpack_args_7(quark, \ 00107 arg1, \ 00108 arg2, \ 00109 arg3, \ 00110 arg4, \ 00111 arg5, \ 00112 arg6, \ 00113 arg7) \ 00114 { \ 00115 void *lastarg = NULL; \ 00116 void *args_list = QUARK_Args_List( quark ); \ 00117 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00118 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00119 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00120 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00121 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00122 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00123 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00124 memcpy(&arg7, arg, sizeof(arg7)); \ 00125 } 00126 00127 #define quark_unpack_args_8(quark, \ 00128 arg1, \ 00129 arg2, \ 00130 arg3, \ 00131 arg4, \ 00132 arg5, \ 00133 arg6, \ 00134 arg7, \ 00135 arg8) \ 00136 { \ 00137 void *lastarg = NULL; \ 00138 void *args_list = QUARK_Args_List( quark ); \ 00139 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00140 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00141 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00142 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00143 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00144 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00145 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00146 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00147 memcpy(&arg8, arg, sizeof(arg8)); \ 00148 } 00149 00150 #define quark_unpack_args_9(quark, \ 00151 arg1, \ 00152 arg2, \ 00153 arg3, \ 00154 arg4, \ 00155 arg5, \ 00156 arg6, \ 00157 arg7, \ 00158 arg8, \ 00159 arg9) \ 00160 { \ 00161 void *lastarg = NULL; \ 00162 void *args_list = QUARK_Args_List( quark ); \ 00163 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00164 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00165 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00166 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00167 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00168 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00169 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00170 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00171 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00172 memcpy(&arg9, arg, sizeof(arg9)); \ 00173 } 00174 00175 #define quark_unpack_args_10(quark, \ 00176 arg1, \ 00177 arg2, \ 00178 arg3, \ 00179 arg4, \ 00180 arg5, \ 00181 arg6, \ 00182 arg7, \ 00183 arg8, \ 00184 arg9, \ 00185 arg10) \ 00186 { \ 00187 void *lastarg = NULL; \ 00188 void *args_list = QUARK_Args_List( quark ); \ 00189 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00190 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00191 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00192 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00193 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00194 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00195 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00196 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00197 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00198 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00199 memcpy(&arg10, arg, sizeof(arg10)); \ 00200 } 00201 00202 #define quark_unpack_args_11(quark, \ 00203 arg1, \ 00204 arg2, \ 00205 arg3, \ 00206 arg4, \ 00207 arg5, \ 00208 arg6, \ 00209 arg7, \ 00210 arg8, \ 00211 arg9, \ 00212 arg10, \ 00213 arg11) \ 00214 { \ 00215 void *lastarg = NULL; \ 00216 void *args_list = QUARK_Args_List( quark ); \ 00217 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00218 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00219 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00220 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00221 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00222 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00223 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00224 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00225 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00226 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00227 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00228 memcpy(&arg11, arg, sizeof(arg11)); \ 00229 } 00230 00231 #define quark_unpack_args_12(quark, \ 00232 arg1, \ 00233 arg2, \ 00234 arg3, \ 00235 arg4, \ 00236 arg5, \ 00237 arg6, \ 00238 arg7, \ 00239 arg8, \ 00240 arg9, \ 00241 arg10, \ 00242 arg11, \ 00243 arg12) \ 00244 { \ 00245 void *lastarg = NULL; \ 00246 void *args_list = QUARK_Args_List( quark ); \ 00247 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00248 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00249 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00250 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00251 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00252 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00253 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00254 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00255 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00256 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00257 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00258 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00259 memcpy(&arg12, arg, sizeof(arg12)); \ 00260 } 00261 00262 #define quark_unpack_args_13(quark, \ 00263 arg1, \ 00264 arg2, \ 00265 arg3, \ 00266 arg4, \ 00267 arg5, \ 00268 arg6, \ 00269 arg7, \ 00270 arg8, \ 00271 arg9, \ 00272 arg10, \ 00273 arg11, \ 00274 arg12, \ 00275 arg13) \ 00276 { \ 00277 void *lastarg = NULL; \ 00278 void *args_list = QUARK_Args_List( quark ); \ 00279 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00280 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00281 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00282 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00283 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00284 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00285 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00286 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00287 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00288 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00289 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00290 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00291 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00292 memcpy(&arg13, arg, sizeof(arg13)); \ 00293 } 00294 00295 #define quark_unpack_args_14(quark, \ 00296 arg1, \ 00297 arg2, \ 00298 arg3, \ 00299 arg4, \ 00300 arg5, \ 00301 arg6, \ 00302 arg7, \ 00303 arg8, \ 00304 arg9, \ 00305 arg10, \ 00306 arg11, \ 00307 arg12, \ 00308 arg13, \ 00309 arg14) \ 00310 { \ 00311 void *lastarg = NULL; \ 00312 void *args_list = QUARK_Args_List( quark ); \ 00313 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00314 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00315 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00316 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00317 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00318 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00319 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00320 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00321 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00322 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00323 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00324 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00325 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00326 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00327 memcpy(&arg14, arg, sizeof(arg14)); \ 00328 } 00329 00330 #define quark_unpack_args_15(quark, \ 00331 arg1, \ 00332 arg2, \ 00333 arg3, \ 00334 arg4, \ 00335 arg5, \ 00336 arg6, \ 00337 arg7, \ 00338 arg8, \ 00339 arg9, \ 00340 arg10, \ 00341 arg11, \ 00342 arg12, \ 00343 arg13, \ 00344 arg14, \ 00345 arg15) \ 00346 { \ 00347 void *lastarg = NULL; \ 00348 void *args_list = QUARK_Args_List( quark ); \ 00349 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00350 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00351 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00352 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00353 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00354 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00355 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00356 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00357 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00358 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00359 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00360 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00361 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00362 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00363 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00364 memcpy(&arg15, arg, sizeof(arg15)); \ 00365 } 00366 00367 #define quark_unpack_args_16(quark, \ 00368 arg1, \ 00369 arg2, \ 00370 arg3, \ 00371 arg4, \ 00372 arg5, \ 00373 arg6, \ 00374 arg7, \ 00375 arg8, \ 00376 arg9, \ 00377 arg10, \ 00378 arg11, \ 00379 arg12, \ 00380 arg13, \ 00381 arg14, \ 00382 arg15, \ 00383 arg16) \ 00384 { \ 00385 void *lastarg = NULL; \ 00386 void *args_list = QUARK_Args_List( quark ); \ 00387 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00388 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00389 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00390 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00391 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00392 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00393 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00394 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00395 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00396 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00397 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00398 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00399 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00400 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00401 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00402 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00403 memcpy(&arg16, arg, sizeof(arg16)); \ 00404 } 00405 00406 #define quark_unpack_args_17(quark, \ 00407 arg1, \ 00408 arg2, \ 00409 arg3, \ 00410 arg4, \ 00411 arg5, \ 00412 arg6, \ 00413 arg7, \ 00414 arg8, \ 00415 arg9, \ 00416 arg10, \ 00417 arg11, \ 00418 arg12, \ 00419 arg13, \ 00420 arg14, \ 00421 arg15, \ 00422 arg16, \ 00423 arg17) \ 00424 { \ 00425 void *lastarg = NULL; \ 00426 void *args_list = QUARK_Args_List( quark ); \ 00427 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00428 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00429 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00430 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00431 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00432 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00433 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00434 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00435 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00436 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00437 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00438 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00439 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00440 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00441 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00442 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00443 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00444 memcpy(&arg17, arg, sizeof(arg17)); \ 00445 } 00446 00447 #define quark_unpack_args_18(quark, \ 00448 arg1, \ 00449 arg2, \ 00450 arg3, \ 00451 arg4, \ 00452 arg5, \ 00453 arg6, \ 00454 arg7, \ 00455 arg8, \ 00456 arg9, \ 00457 arg10, \ 00458 arg11, \ 00459 arg12, \ 00460 arg13, \ 00461 arg14, \ 00462 arg15, \ 00463 arg16, \ 00464 arg17, \ 00465 arg18) \ 00466 { \ 00467 void *lastarg = NULL; \ 00468 void *args_list = QUARK_Args_List( quark ); \ 00469 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00470 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00471 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00472 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00473 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00474 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00475 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00476 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00477 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00478 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00479 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00480 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00481 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00482 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00483 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00484 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00485 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00486 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00487 memcpy(&arg18, arg, sizeof(arg18)); \ 00488 } 00489 00490 #define quark_unpack_args_19(quark, \ 00491 arg1, \ 00492 arg2, \ 00493 arg3, \ 00494 arg4, \ 00495 arg5, \ 00496 arg6, \ 00497 arg7, \ 00498 arg8, \ 00499 arg9, \ 00500 arg10, \ 00501 arg11, \ 00502 arg12, \ 00503 arg13, \ 00504 arg14, \ 00505 arg15, \ 00506 arg16, \ 00507 arg17, \ 00508 arg18, \ 00509 arg19) \ 00510 { \ 00511 void *lastarg = NULL; \ 00512 void *args_list = QUARK_Args_List( quark ); \ 00513 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00514 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00515 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00516 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00517 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00518 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00519 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00520 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00521 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00522 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00523 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00524 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00525 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00526 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00527 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00528 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00529 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00530 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00531 memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00532 memcpy(&arg19, arg, sizeof(arg19)); \ 00533 } 00534 00535 #define quark_unpack_args_20(quark, \ 00536 arg1, \ 00537 arg2, \ 00538 arg3, \ 00539 arg4, \ 00540 arg5, \ 00541 arg6, \ 00542 arg7, \ 00543 arg8, \ 00544 arg9, \ 00545 arg10, \ 00546 arg11, \ 00547 arg12, \ 00548 arg13, \ 00549 arg14, \ 00550 arg15, \ 00551 arg16, \ 00552 arg17, \ 00553 arg18, \ 00554 arg19, \ 00555 arg20) \ 00556 { \ 00557 void *lastarg = NULL; \ 00558 void *args_list = QUARK_Args_List( quark ); \ 00559 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00560 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00561 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00562 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00563 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00564 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00565 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00566 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00567 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00568 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00569 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00570 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00571 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00572 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00573 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00574 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00575 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00576 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00577 memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00578 memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00579 memcpy(&arg20, arg, sizeof(arg20)); \ 00580 } 00581 00582 #define quark_unpack_args_21(quark, \ 00583 arg1, \ 00584 arg2, \ 00585 arg3, \ 00586 arg4, \ 00587 arg5, \ 00588 arg6, \ 00589 arg7, \ 00590 arg8, \ 00591 arg9, \ 00592 arg10, \ 00593 arg11, \ 00594 arg12, \ 00595 arg13, \ 00596 arg14, \ 00597 arg15, \ 00598 arg16, \ 00599 arg17, \ 00600 arg18, \ 00601 arg19, \ 00602 arg20, \ 00603 arg21) \ 00604 { \ 00605 void *lastarg = NULL; \ 00606 void *args_list = QUARK_Args_List( quark ); \ 00607 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00608 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00609 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00610 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00611 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00612 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00613 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00614 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00615 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00616 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00617 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00618 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00619 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00620 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00621 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00622 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00623 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00624 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00625 memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00626 memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00627 memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00628 memcpy(&arg21, arg, sizeof(arg21)); \ 00629 } 00630 00631 #define quark_unpack_args_22(quark, \ 00632 arg1, \ 00633 arg2, \ 00634 arg3, \ 00635 arg4, \ 00636 arg5, \ 00637 arg6, \ 00638 arg7, \ 00639 arg8, \ 00640 arg9, \ 00641 arg10, \ 00642 arg11, \ 00643 arg12, \ 00644 arg13, \ 00645 arg14, \ 00646 arg15, \ 00647 arg16, \ 00648 arg17, \ 00649 arg18, \ 00650 arg19, \ 00651 arg20, \ 00652 arg21, \ 00653 arg22) \ 00654 { \ 00655 void *lastarg = NULL; \ 00656 void *args_list = QUARK_Args_List( quark ); \ 00657 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00658 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00659 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00660 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00661 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00662 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00663 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00664 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00665 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00666 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00667 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00668 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00669 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00670 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00671 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00672 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00673 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00674 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00675 memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00676 memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00677 memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00678 memcpy(&arg21, arg, sizeof(arg21)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00679 memcpy(&arg22, arg, sizeof(arg22)); \ 00680 } 00681 00682 #define quark_unpack_args_23(quark, \ 00683 arg1, \ 00684 arg2, \ 00685 arg3, \ 00686 arg4, \ 00687 arg5, \ 00688 arg6, \ 00689 arg7, \ 00690 arg8, \ 00691 arg9, \ 00692 arg10, \ 00693 arg11, \ 00694 arg12, \ 00695 arg13, \ 00696 arg14, \ 00697 arg15, \ 00698 arg16, \ 00699 arg17, \ 00700 arg18, \ 00701 arg19, \ 00702 arg20, \ 00703 arg21, \ 00704 arg22, \ 00705 arg23) \ 00706 { \ 00707 void *lastarg = NULL; \ 00708 void *args_list = QUARK_Args_List( quark ); \ 00709 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00710 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00711 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00712 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00713 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00714 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00715 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00716 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00717 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00718 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00719 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00720 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00721 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00722 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00723 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00724 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00725 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00726 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00727 memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00728 memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00729 memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00730 memcpy(&arg21, arg, sizeof(arg21)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00731 memcpy(&arg22, arg, sizeof(arg22)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00732 memcpy(&arg23, arg, sizeof(arg23)); \ 00733 } 00734 00735 #define quark_unpack_args_24(quark, \ 00736 arg1, \ 00737 arg2, \ 00738 arg3, \ 00739 arg4, \ 00740 arg5, \ 00741 arg6, \ 00742 arg7, \ 00743 arg8, \ 00744 arg9, \ 00745 arg10, \ 00746 arg11, \ 00747 arg12, \ 00748 arg13, \ 00749 arg14, \ 00750 arg15, \ 00751 arg16, \ 00752 arg17, \ 00753 arg18, \ 00754 arg19, \ 00755 arg20, \ 00756 arg21, \ 00757 arg22, \ 00758 arg23, \ 00759 arg24) \ 00760 { \ 00761 void *lastarg = NULL; \ 00762 void *args_list = QUARK_Args_List( quark ); \ 00763 void *arg = QUARK_Args_Pop(args_list, &lastarg); \ 00764 memcpy(&arg1, arg, sizeof(arg1)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00765 memcpy(&arg2, arg, sizeof(arg2)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00766 memcpy(&arg3, arg, sizeof(arg3)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00767 memcpy(&arg4, arg, sizeof(arg4)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00768 memcpy(&arg5, arg, sizeof(arg5)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00769 memcpy(&arg6, arg, sizeof(arg6)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00770 memcpy(&arg7, arg, sizeof(arg7)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00771 memcpy(&arg8, arg, sizeof(arg8)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00772 memcpy(&arg9, arg, sizeof(arg9)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00773 memcpy(&arg10, arg, sizeof(arg10)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00774 memcpy(&arg11, arg, sizeof(arg11)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00775 memcpy(&arg12, arg, sizeof(arg12)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00776 memcpy(&arg13, arg, sizeof(arg13)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00777 memcpy(&arg14, arg, sizeof(arg14)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00778 memcpy(&arg15, arg, sizeof(arg15)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00779 memcpy(&arg16, arg, sizeof(arg16)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00780 memcpy(&arg17, arg, sizeof(arg17)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00781 memcpy(&arg18, arg, sizeof(arg18)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00782 memcpy(&arg19, arg, sizeof(arg19)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00783 memcpy(&arg20, arg, sizeof(arg20)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00784 memcpy(&arg21, arg, sizeof(arg21)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00785 memcpy(&arg22, arg, sizeof(arg22)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00786 memcpy(&arg23, arg, sizeof(arg23)); arg = QUARK_Args_Pop(args_list, &lastarg); \ 00787 memcpy(&arg24, arg, sizeof(arg24)); \ 00788 } 00789 00790 #endif