1 #include "declarations.h"
2 #include "dsl_shr.h"
3 #include "dynload_str.h"
4 #include "dynload_bind.h"
5 
6 
7 
dynload_clock_get_ticks(struct a_funcs * c)8 __VISIBILITY_DEFAULT__ double dynload_clock_get_ticks(struct a_funcs *c) {
9 	if(dynload_clock_get_ticks_pre(c) != 0) return(0.0);
10 
11 	return(clock_get_ticks());
12 }
13 
dynload_clock_get_multiplier(struct a_funcs * c)14 __VISIBILITY_DEFAULT__ double dynload_clock_get_multiplier(struct a_funcs *c) {
15 	if(dynload_clock_get_multiplier_pre(c) != 0) return(0.0);
16 
17 	return(clock_get_multiplier());
18 }
19 
dynload_clock_set(struct a_funcs * c)20 __VISIBILITY_DEFAULT__ double dynload_clock_set(struct a_funcs *c) {
21 	struct par_clock_set a;
22 
23 	if(dynload_clock_set_pre(c, &a) != 0) return(0.0);
24 
25 	return(clock_set(a.ticks));
26 }
27 
dynload_clock_set_multiplier(struct a_funcs * c)28 __VISIBILITY_DEFAULT__ double dynload_clock_set_multiplier(struct a_funcs *c) {
29 	struct par_clock_set_multiplier a;
30 
31 	if(dynload_clock_set_multiplier_pre(c, &a) != 0) return(0.0);
32 
33 	return(clock_set_multiplier(a.multiplier));
34 }
35 #if ! defined(PROG_DISABLE_COLOR)
dynload_color_brightness(struct a_funcs * c)36 __VISIBILITY_DEFAULT__ float dynload_color_brightness(struct a_funcs *c) {
37 	struct par_color_brightness a;
38 
39 	if(dynload_color_brightness_pre(c, &a) != 0) return(0.0);
40 
41 	return(color_rgba_brightness(&a.color));
42 }
43 
dynload_color_bv_index(struct a_funcs * c)44 __VISIBILITY_DEFAULT__ void *dynload_color_bv_index(struct a_funcs *c) {
45 	struct par_color_bv_index a;
46 
47 	if(dynload_color_bv_index_pre(c, &a) != 0) return(NULL);
48 
49 	(void) color_bv_to_rgba(&a.value, a.index, a.magnitude);
50 
51 	return(dynload_ret_color(&a.value));
52 }
53 
dynload_color_complement(struct a_funcs * c)54 __VISIBILITY_DEFAULT__ void *dynload_color_complement(struct a_funcs *c) {
55 	struct par_color_complement a;
56 
57 	if(dynload_color_complement_pre(c, &a) != 0) return(NULL);
58 
59 	(void) color_rgba_complement(&a.color, &a.value);
60 
61 	return(dynload_ret_color(&a.value));
62 }
63 
dynload_color_mix(struct a_funcs * c)64 __VISIBILITY_DEFAULT__ void *dynload_color_mix(struct a_funcs *c) {
65 	struct par_color_mix a;
66 
67 	if(dynload_color_mix_pre(c, &a) != 0) return(NULL);
68 
69 	(void) color_rgba_mix(&a.color_a, &a.color_b, &a.value, a.factor);
70 
71 	return(dynload_ret_color(&a.value));
72 }
73 #endif
74 #if ! defined(PROG_DISABLE_COORDS)
dynload_coords_mag_2d(struct a_funcs * c)75 __VISIBILITY_DEFAULT__ double dynload_coords_mag_2d(struct a_funcs *c) {
76 	struct par_coords_mag a;
77 
78 	if(dynload_coords_mag_pre(c, &a) != 0) return(0.0);
79 
80 	return(coords_mag_2d(&a.pos));
81 }
82 
dynload_coords_mag_3d(struct a_funcs * c)83 __VISIBILITY_DEFAULT__ double dynload_coords_mag_3d(struct a_funcs *c) {
84 	struct par_coords_mag a;
85 
86 	if(dynload_coords_mag_pre(c, &a) != 0) return(0.0);
87 
88 	return(coords_mag_3d(&a.pos));
89 }
90 
dynload_coords_normalize_2d(struct a_funcs * c)91 __VISIBILITY_DEFAULT__ void *dynload_coords_normalize_2d(struct a_funcs *c) {
92 	struct par_coords_normalize a;
93 
94 	if(dynload_coords_normalize_pre(c, &a) != 0) return(NULL);
95 
96 	(void) coords_normalize_2d(&a.pos, &a.value);
97 
98 	return(dynload_ret_position(&a.value));
99 }
100 
dynload_coords_normalize_3d(struct a_funcs * c)101 __VISIBILITY_DEFAULT__ void *dynload_coords_normalize_3d(struct a_funcs *c) {
102 	struct par_coords_normalize a;
103 
104 	if(dynload_coords_normalize_pre(c, &a) != 0) return(NULL);
105 
106 	(void) coords_normalize_3d(&a.pos, &a.value);
107 
108 	return(dynload_ret_position(&a.value));
109 }
110 
dynload_coords_difference_2d(struct a_funcs * c)111 __VISIBILITY_DEFAULT__ double dynload_coords_difference_2d(struct a_funcs *c) {
112 	struct par_coords_difference a;
113 
114 	if(dynload_coords_difference_pre(c, &a) != 0) return(0.0);
115 
116 	return(coords_difference_2d(&a.pos_a, &a.pos_b));
117 }
118 
dynload_coords_difference_3d(struct a_funcs * c)119 __VISIBILITY_DEFAULT__ double dynload_coords_difference_3d(struct a_funcs *c) {
120 	struct par_coords_difference a;
121 
122 	if(dynload_coords_difference_pre(c, &a) != 0) return(0.0);
123 
124 	return(coords_difference_3d(&a.pos_a, &a.pos_b));
125 }
126 
dynload_coords_get_angle(struct a_funcs * c)127 __VISIBILITY_DEFAULT__ double dynload_coords_get_angle(struct a_funcs *c) {
128 	struct par_coords_get_angle a;
129 
130 	if(dynload_coords_get_angle_pre(c, &a) != 0) return(0.0);
131 
132 	return(coords_position_to_angle(&a.pos));
133 }
134 
dynload_coords_get_pos(struct a_funcs * c)135 __VISIBILITY_DEFAULT__ void *dynload_coords_get_pos(struct a_funcs *c) {
136 	struct par_coords_get_pos a;
137 
138 	if(dynload_coords_get_pos_pre(c, &a) != 0) return(NULL);
139 
140 	(void) coords_angle_distance_to_position(a.angle, a.distance, &a.value);
141 
142 	return(dynload_ret_position(&a.value));
143 }
144 
dynload_coords_dot_product(struct a_funcs * c)145 __VISIBILITY_DEFAULT__ double dynload_coords_dot_product(struct a_funcs *c) {
146 	struct par_coords_dot_product a;
147 
148 	if(dynload_coords_dot_product_pre(c, &a) != 0) return(0.0);
149 
150 	return(coords_dot(&a.pos_a, &a.pos_b));
151 }
152 
dynload_coords_intp_linear_x(struct a_funcs * c)153 __VISIBILITY_DEFAULT__ double dynload_coords_intp_linear_x(struct a_funcs *c) {
154 	struct par_coords_intp_linear a;
155 
156 	if(dynload_coords_intp_linear_pre(c, &a) != 0) return(0.0);
157 
158 	return(coords_intp_linear_x(&a.pos_a, &a.pos_b, a.point));
159 }
160 
dynload_coords_intp_linear_y(struct a_funcs * c)161 __VISIBILITY_DEFAULT__ double dynload_coords_intp_linear_y(struct a_funcs *c) {
162 	struct par_coords_intp_linear a;
163 
164 	if(dynload_coords_intp_linear_pre(c, &a) != 0) return(0.0);
165 
166 	return(coords_intp_linear_y(&a.pos_a, &a.pos_b, a.point));
167 }
168 
dynload_coords_intp_linear_z(struct a_funcs * c)169 __VISIBILITY_DEFAULT__ double dynload_coords_intp_linear_z(struct a_funcs *c) {
170 	struct par_coords_intp_linear a;
171 
172 	if(dynload_coords_intp_linear_pre(c, &a) != 0) return(0.0);
173 
174 	return(coords_intp_linear_z(&a.pos_a, &a.pos_b, a.point));
175 }
176 
dynload_coords_intp_cubic_x(struct a_funcs * c)177 __VISIBILITY_DEFAULT__ double dynload_coords_intp_cubic_x(struct a_funcs *c) {
178 	struct par_coords_intp_cubic a;
179 
180 	if(dynload_coords_intp_cubic_pre(c, &a) != 0) return(0.0);
181 
182 	return(coords_intp_cubic_x(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point));
183 }
184 
dynload_coords_intp_cubic_y(struct a_funcs * c)185 __VISIBILITY_DEFAULT__ double dynload_coords_intp_cubic_y(struct a_funcs *c) {
186 	struct par_coords_intp_cubic a;
187 
188 	if(dynload_coords_intp_cubic_pre(c, &a) != 0) return(0.0);
189 
190 	return(coords_intp_cubic_y(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point));
191 }
192 
dynload_coords_intp_cubic_z(struct a_funcs * c)193 __VISIBILITY_DEFAULT__ double dynload_coords_intp_cubic_z(struct a_funcs *c) {
194 	struct par_coords_intp_cubic a;
195 
196 	if(dynload_coords_intp_cubic_pre(c, &a) != 0) return(0.0);
197 
198 	return(coords_intp_cubic_z(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point));
199 }
200 
dynload_coords_intp_catmull_x(struct a_funcs * c)201 __VISIBILITY_DEFAULT__ double dynload_coords_intp_catmull_x(struct a_funcs *c) {
202 	struct par_coords_intp_catmull a;
203 
204 	if(dynload_coords_intp_catmull_pre(c, &a) != 0) return(0.0);
205 
206 	return(coords_intp_catmull_x(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point));
207 }
208 
dynload_coords_intp_catmull_y(struct a_funcs * c)209 __VISIBILITY_DEFAULT__ double dynload_coords_intp_catmull_y(struct a_funcs *c) {
210 	struct par_coords_intp_catmull a;
211 
212 	if(dynload_coords_intp_catmull_pre(c, &a) != 0) return(0.0);
213 
214 	return(coords_intp_catmull_y(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point));
215 }
216 
dynload_coords_intp_catmull_z(struct a_funcs * c)217 __VISIBILITY_DEFAULT__ double dynload_coords_intp_catmull_z(struct a_funcs *c) {
218 	struct par_coords_intp_catmull a;
219 
220 	if(dynload_coords_intp_catmull_pre(c, &a) != 0) return(0.0);
221 
222 	return(coords_intp_catmull_z(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point));
223 }
224 
dynload_coords_intp_hermite_x(struct a_funcs * c)225 __VISIBILITY_DEFAULT__ double dynload_coords_intp_hermite_x(struct a_funcs *c) {
226 	struct par_coords_intp_hermite a;
227 
228 	if(dynload_coords_intp_hermite_pre(c, &a) != 0) return(0.0);
229 
230 	return(coords_intp_hermite_x(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point, a.bias, a.tension));
231 }
232 
dynload_coords_intp_hermite_y(struct a_funcs * c)233 __VISIBILITY_DEFAULT__ double dynload_coords_intp_hermite_y(struct a_funcs *c) {
234 	struct par_coords_intp_hermite a;
235 
236 	if(dynload_coords_intp_hermite_pre(c, &a) != 0) return(0.0);
237 
238 	return(coords_intp_hermite_y(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point, a.bias, a.tension));
239 }
240 
dynload_coords_intp_hermite_z(struct a_funcs * c)241 __VISIBILITY_DEFAULT__ double dynload_coords_intp_hermite_z(struct a_funcs *c) {
242 	struct par_coords_intp_hermite a;
243 
244 	if(dynload_coords_intp_hermite_pre(c, &a) != 0) return(0.0);
245 
246 	return(coords_intp_hermite_z(&a.pos_a, &a.pos_b, &a.pos_c, &a.pos_d, a.point, a.bias, a.tension));
247 }
248 #endif
249 #if ! defined(PROG_DISABLE_MATH)
dynload_math_clamp(struct a_funcs * c)250 __VISIBILITY_DEFAULT__ double dynload_math_clamp(struct a_funcs *c) {
251 	struct par_math_clamp a;
252 
253 	if(dynload_math_clamp_pre(c, &a) != 0) return(0.0);
254 
255 	return(maths_clamp(a.clamp, a.min, a.max));
256 }
257 
dynload_math_map(struct a_funcs * c)258 __VISIBILITY_DEFAULT__ double dynload_math_map(struct a_funcs *c) {
259 	struct par_math_map a;
260 
261 	if(dynload_math_map_pre(c, &a) != 0) return(0.0);
262 
263 	return(maths_map(a.map, a.cur_min, a.cur_max, a.map_min, a.map_max));
264 }
265 
dynload_math_get_hcf(struct a_funcs * c)266 __VISIBILITY_DEFAULT__ double dynload_math_get_hcf(struct a_funcs *c) {
267 	struct par_math_get_hcf a;
268 
269 	if(dynload_math_get_hcf_pre(c, &a) != 0) return(0.0);
270 
271 	return(maths_hcf(a.hcf_a, a.hcf_b));
272 }
273 
dynload_math_get_luminance(struct a_funcs * c)274 __VISIBILITY_DEFAULT__ double dynload_math_get_luminance(struct a_funcs *c) {
275 	struct par_math_get_luminance a;
276 
277 	if(dynload_math_get_luminance_pre(c, &a) != 0) return(0.0);
278 
279 	return(maths_luminance_by_radius_temperature(a.radius, a.temperature));
280 }
281 
dynload_math_get_parsec(struct a_funcs * c)282 __VISIBILITY_DEFAULT__ double dynload_math_get_parsec(struct a_funcs *c) {
283 	struct par_math_get_parsec a;
284 
285 	if(dynload_math_get_parsec_pre(c, &a) != 0) return(0.0);
286 
287 	return(maths_parsec_by_parallax(a.parallax));
288 }
289 
dynload_math_get_radius(struct a_funcs * c)290 __VISIBILITY_DEFAULT__ double dynload_math_get_radius(struct a_funcs *c) {
291 	struct par_math_get_radius a;
292 
293 	if(dynload_math_get_radius_pre(c, &a) != 0) return(0.0);
294 
295 	return(maths_radius_by_amag_temperature(a.amag, a.temperature));
296 }
297 
dynload_math_btvt_to_bv(struct a_funcs * c)298 __VISIBILITY_DEFAULT__ double dynload_math_btvt_to_bv(struct a_funcs *c) {
299 	struct par_math_btvt_to_bv a;
300 
301 	if(dynload_math_btvt_to_bv_pre(c, &a) != 0) return(0.0);
302 
303 	return(maths_btvt_to_bv(a.btvt));
304 }
305 
dynload_math_bv_to_temp(struct a_funcs * c)306 __VISIBILITY_DEFAULT__ double dynload_math_bv_to_temp(struct a_funcs *c) {
307 	struct par_math_bv_to_temp a;
308 
309 	if(dynload_math_bv_to_temp_pre(c, &a) != 0) return(0.0);
310 
311 	return(maths_bv_to_temperature(a.bv));
312 }
313 
dynload_math_hp_to_vmag(struct a_funcs * c)314 __VISIBILITY_DEFAULT__ double dynload_math_hp_to_vmag(struct a_funcs *c) {
315 	struct par_math_hp_to_vmag a;
316 
317 	if(dynload_math_hp_to_vmag_pre(c, &a) != 0) return(0.0);
318 
319 	return(maths_hp_to_vmag(a.hp, a.btvt));
320 }
321 
dynload_math_vt_to_vmag(struct a_funcs * c)322 __VISIBILITY_DEFAULT__ double dynload_math_vt_to_vmag(struct a_funcs *c) {
323 	struct par_math_vt_to_vmag a;
324 
325 	if(dynload_math_vt_to_vmag_pre(c, &a) != 0) return(0.0);
326 
327 	return(maths_vt_to_vmag(a.vt, a.btvt));
328 }
329 
dynload_math_vmag_to_alpha(struct a_funcs * c)330 __VISIBILITY_DEFAULT__ double dynload_math_vmag_to_alpha(struct a_funcs *c) {
331 	struct par_math_vmag_to_alpha a;
332 
333 	if(dynload_math_vmag_to_alpha_pre(c, &a) != 0) return(0.0);
334 
335 	return(maths_vmag_to_alpha(a.vmag));
336 }
337 #endif
338 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_DRAW)
dynload_draw_pixel(struct a_funcs * c)339 __VISIBILITY_DEFAULT__ void dynload_draw_pixel(struct a_funcs *c) {
340 	struct par_draw_pixel a;
341 
342 	if(dynload_draw_pixel_pre(c, &a) != 0) return;
343 
344 	(void) gui_draw_pixel(a.handle, &a.pixel);
345 }
346 
dynload_draw_pixel_alpha(struct a_funcs * c)347 __VISIBILITY_DEFAULT__ void dynload_draw_pixel_alpha(struct a_funcs *c) {
348 	struct par_draw_pixel a;
349 
350 	if(dynload_draw_pixel_pre(c, &a) != 0) return;
351 
352 	(void) gui_draw_pixel_alpha(a.handle, &a.pixel);
353 }
354 
dynload_draw_subpixel(struct a_funcs * c)355 __VISIBILITY_DEFAULT__ void dynload_draw_subpixel(struct a_funcs *c) {
356 	struct par_draw_subpixel a;
357 
358 	if(dynload_draw_subpixel_pre(c, &a) != 0) return;
359 
360 	(void) gui_draw_subpixel(a.handle, &a.subpixel);
361 }
362 
dynload_draw_subpixel_alpha(struct a_funcs * c)363 __VISIBILITY_DEFAULT__ void dynload_draw_subpixel_alpha(struct a_funcs *c) {
364 	struct par_draw_subpixel a;
365 
366 	if(dynload_draw_subpixel_pre(c, &a) != 0) return;
367 
368 	(void) gui_draw_subpixel_alpha(a.handle, &a.subpixel);
369 }
370 
dynload_draw_line(struct a_funcs * c)371 __VISIBILITY_DEFAULT__ void dynload_draw_line(struct a_funcs *c) {
372 	struct par_draw_line a;
373 
374 	if(dynload_draw_line_pre(c, &a) != 0) return;
375 
376 	(void) gui_draw_line(a.handle, &a.line);
377 }
378 
dynload_draw_line_aa(struct a_funcs * c)379 __VISIBILITY_DEFAULT__ void dynload_draw_line_aa(struct a_funcs *c) {
380 	struct par_draw_line a;
381 
382 	if(dynload_draw_line_pre(c, &a) != 0) return;
383 
384 	(void) gui_draw_line_aa(a.handle, &a.line);
385 }
386 
dynload_draw_line_alpha(struct a_funcs * c)387 __VISIBILITY_DEFAULT__ void dynload_draw_line_alpha(struct a_funcs *c) {
388 	struct par_draw_line a;
389 
390 	if(dynload_draw_line_pre(c, &a) != 0) return;
391 
392 	(void) gui_draw_line_alpha(a.handle, &a.line);
393 }
394 
dynload_draw_circle(struct a_funcs * c)395 __VISIBILITY_DEFAULT__ void dynload_draw_circle(struct a_funcs *c) {
396 	struct par_draw_circle a;
397 
398 	if(dynload_draw_circle_pre(c, &a) != 0) return;
399 
400 	(void) gui_draw_circle(a.handle, &a.circle);
401 }
402 
dynload_draw_circle_aa(struct a_funcs * c)403 __VISIBILITY_DEFAULT__ void dynload_draw_circle_aa(struct a_funcs *c) {
404 	struct par_draw_circle a;
405 
406 	if(dynload_draw_circle_pre(c, &a) != 0) return;
407 
408 	(void) gui_draw_circle_aa(a.handle, &a.circle);
409 }
410 
dynload_draw_circle_alpha(struct a_funcs * c)411 __VISIBILITY_DEFAULT__ void dynload_draw_circle_alpha(struct a_funcs *c) {
412 	struct par_draw_circle a;
413 
414 	if(dynload_draw_circle_pre(c, &a) != 0) return;
415 
416 	(void) gui_draw_circle_alpha(a.handle, &a.circle);
417 }
418 
dynload_draw_text(struct a_funcs * c)419 __VISIBILITY_DEFAULT__ void dynload_draw_text(struct a_funcs *c) {
420 	struct par_draw_text a;
421 
422 	if(dynload_draw_text_pre(c, &a) != 0) return;
423 
424 	(void) gui_draw_text(a.handle, &a.text);
425 }
426 
dynload_draw_set(struct a_funcs * c)427 __VISIBILITY_DEFAULT__ void dynload_draw_set(struct a_funcs *c) {
428 	struct par_draw_set a;
429 
430 	if(dynload_draw_set_pre(c, &a) != 0) return;
431 
432 	(void) gui_draw_set(a.handle, &a.set);
433 }
434 
dynload_draw_set_alpha(struct a_funcs * c)435 __VISIBILITY_DEFAULT__ void dynload_draw_set_alpha(struct a_funcs *c) {
436 	struct par_draw_set a;
437 
438 	if(dynload_draw_set_pre(c, &a) != 0) return;
439 
440 	(void) gui_draw_set_alpha(a.handle, &a.set);
441 }
442 
dynload_draw_border(struct a_funcs * c)443 __VISIBILITY_DEFAULT__ void dynload_draw_border(struct a_funcs *c) {
444 	struct par_draw_border a;
445 
446 	if(dynload_draw_border_pre(c, &a) != 0) return;
447 
448 	(void) gui_draw_border(a.handle, &a.border);
449 }
450 
dynload_draw_border_alpha(struct a_funcs * c)451 __VISIBILITY_DEFAULT__ void dynload_draw_border_alpha(struct a_funcs *c) {
452 	struct par_draw_border a;
453 
454 	if(dynload_draw_border_pre(c, &a) != 0) return;
455 
456 	(void) gui_draw_border_alpha(a.handle, &a.border);
457 }
458 
dynload_draw_copy(struct a_funcs * c)459 __VISIBILITY_DEFAULT__ void dynload_draw_copy(struct a_funcs *c) {
460 	struct par_draw_copy a;
461 
462 	if(dynload_draw_copy_pre(c, &a) != 0) return;
463 
464 	(void) gui_draw_copy(a.handle, &a.copy);
465 }
466 
dynload_draw_copy_alpha(struct a_funcs * c)467 __VISIBILITY_DEFAULT__ void dynload_draw_copy_alpha(struct a_funcs *c) {
468 	struct par_draw_copy a;
469 
470 	if(dynload_draw_copy_pre(c, &a) != 0) return;
471 
472 	(void) gui_draw_copy_alpha(a.handle, &a.copy);
473 }
474 
dynload_draw_wipe(struct a_funcs * c)475 __VISIBILITY_DEFAULT__ void dynload_draw_wipe(struct a_funcs *c) {
476 	struct par_draw_wipe a;
477 
478 	if(dynload_draw_wipe_pre(c, &a) != 0) return;
479 
480 	(void) gui_draw_wipe(a.handle);
481 }
482 #endif
483 #if ! defined(PROG_DISABLE_GUI)
dynload_font_open(struct a_funcs * c)484 __VISIBILITY_DEFAULT__ unsigned int dynload_font_open(struct a_funcs *c) {
485 	struct par_font_open a;
486 
487 	if(dynload_font_open_pre(c, &a) != 0) return(0);
488 
489 	return(fonts_open(a.font, a.height, a.resolution));
490 }
491 
dynload_font_open_copy(struct a_funcs * c)492 __VISIBILITY_DEFAULT__ unsigned int dynload_font_open_copy(struct a_funcs *c) {
493 	struct par_font_open_copy a;
494 
495 	if(dynload_font_open_copy_pre(c, &a) != 0) return(0);
496 
497 	return(fonts_open_copy(a.handle));
498 }
499 
dynload_font_close(struct a_funcs * c)500 __VISIBILITY_DEFAULT__ void dynload_font_close(struct a_funcs *c) {
501 	struct par_font_close a;
502 
503 	if(dynload_font_close_pre(c, &a) != 0) return;
504 
505 	(void) fonts_close(a.handle);
506 }
507 
dynload_font_render(struct a_funcs * c)508 __VISIBILITY_DEFAULT__ void dynload_font_render(struct a_funcs *c) {
509 	struct par_font_render a;
510 
511 	if(dynload_font_render_pre(c, &a) != 0) return;
512 
513 	(void) fonts_render(a.handle, a.charset, a.string, a.length, &a.color, 0);
514 }
515 
dynload_font_get_width(struct a_funcs * c)516 __VISIBILITY_DEFAULT__ unsigned int dynload_font_get_width(struct a_funcs *c) {
517 	struct par_font_get_width a;
518 
519 	if(dynload_font_get_width_pre(c, &a) != 0) return(0);
520 
521 	return(fonts_get_width(a.handle));
522 }
523 
dynload_font_get_height(struct a_funcs * c)524 __VISIBILITY_DEFAULT__ unsigned int dynload_font_get_height(struct a_funcs *c) {
525 	struct par_font_get_height a;
526 
527 	if(dynload_font_get_height_pre(c, &a) != 0) return(0);
528 
529 	return(fonts_get_height(a.handle));
530 }
531 #endif
dynload_thread_spawn(struct a_funcs * c)532 __VISIBILITY_DEFAULT__ void dynload_thread_spawn(struct a_funcs *c) {
533 	struct par_thread_spawn a;
534 
535 	if(dynload_thread_spawn_pre(c, &a, worker_dsl_thread) != 0) return;
536 
537 	(void) thread_spawn(a.name, worker_dsl, a.cb_thread, &a.par_thread);
538 }
539 
dynload_thread_affinity(struct a_funcs * c)540 __VISIBILITY_DEFAULT__ void dynload_thread_affinity(struct a_funcs *c) {
541 	struct par_thread_affinity a;
542 
543 	if(dynload_thread_affinity_pre(c, &a) != 0) return;
544 
545 	(void) thread_affinity(a.cpu);
546 }
547 
dynload_numa_affinity(struct a_funcs * c)548 __VISIBILITY_DEFAULT__ void dynload_numa_affinity(struct a_funcs *c) {
549 	struct par_thread_numa_affinity a;
550 
551 	if(dynload_thread_numa_affinity_pre(c, &a) != 0) return;
552 
553 	(void) thread_numa_affinity(a.domain, a.policy);
554 }
555 #if ! defined(PROG_DISABLE_GUI)
dynload_window_refresh(struct a_funcs * c)556 __VISIBILITY_DEFAULT__ void dynload_window_refresh(struct a_funcs *c) {
557 	struct par_window_refresh a;
558 
559 	if(dynload_window_refresh_pre(c, &a) != 0) return;
560 
561 	(void) gui_window_refresh(a.handle, &a.area);
562 }
563 
dynload_window_open(struct a_funcs * c)564 __VISIBILITY_DEFAULT__ void dynload_window_open(struct a_funcs *c) {
565 	struct par_window_open *a;
566 
567 	APP_MALLOC_RET_VOID(a, sizeof(struct par_window_open));
568 
569 	if(dynload_window_open_pre(c, a) != 0) {
570 		(void) free(a);
571 
572 		return;
573 	}
574 
575 	(void) gui_window_open(&a->window);
576 	(void) free(a);
577 }
578 
dynload_window_icon(struct a_funcs * c)579 __VISIBILITY_DEFAULT__ void dynload_window_icon(struct a_funcs *c) {
580 	struct par_window_icon a;
581 
582 	if(dynload_window_icon_pre(c, &a) != 0) return;
583 
584 	(void) gui_window_icon(a.handle, a.icon);
585 }
586 
dynload_window_close(struct a_funcs * c)587 __VISIBILITY_DEFAULT__ void dynload_window_close(struct a_funcs *c) {
588 	struct par_window_close a;
589 
590 	if(dynload_window_close_pre(c, &a) != 0) return;
591 
592 	(void) gui_window_close(a.handle);
593 }
594 
dynload_window_map(struct a_funcs * c)595 __VISIBILITY_DEFAULT__ void dynload_window_map(struct a_funcs *c) {
596 	struct par_window_map a;
597 
598 	if(dynload_window_map_pre(c, &a) != 0) return;
599 
600 	(void) gui_window_map(a.handle);
601 }
602 
dynload_window_unmap(struct a_funcs * c)603 __VISIBILITY_DEFAULT__ void dynload_window_unmap(struct a_funcs *c) {
604 	struct par_window_unmap a;
605 
606 	if(dynload_window_unmap_pre(c, &a) != 0) return;
607 
608 	(void) gui_window_unmap(a.handle);
609 }
610 
dynload_window_set_attrs(struct a_funcs * c)611 __VISIBILITY_DEFAULT__ void dynload_window_set_attrs(struct a_funcs *c) {
612 	struct par_window_attrs a;
613 
614 	if(dynload_window_attrs_pre(c, &a) != 0) return;
615 
616 	(void) gui_window_set_attrs(a.handle, &a.attribute);
617 }
618 
dynload_window_init(struct a_funcs * c)619 __VISIBILITY_DEFAULT__ void dynload_window_init(struct a_funcs *c) {
620 	if(dynload_window_init_pre(c) != 0) return;
621 #if defined(PROG_HAS_X11)
622 	/* Thread worker_draw() must be spawned first */
623 	(void) thread_spawn(NULL, worker_draw, NULL, NULL);
624 #if ! defined(PROG_DISABLE_MENU)
625 	(void) thread_spawn(NULL, worker_menu, NULL, NULL);
626 #endif
627 #endif
628 }
629 #endif
630 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_MENU)
dynload_menu_bar_hide(struct a_funcs * c)631 __VISIBILITY_DEFAULT__ void dynload_menu_bar_hide(struct a_funcs *c) {
632 	struct par_menu_bar_disp a;
633 
634 	if(dynload_menu_bar_disp_pre(c, &a) != 0) return;
635 #if defined(PROG_HAS_X11)
636 	(void) menu_hide(a.handle);
637 #else
638 	(void) a;
639 #endif
640 }
641 
dynload_menu_bar_show(struct a_funcs * c)642 __VISIBILITY_DEFAULT__ void dynload_menu_bar_show(struct a_funcs *c) {
643 	struct par_menu_bar_disp a;
644 
645 	if(dynload_menu_bar_disp_pre(c, &a) != 0) return;
646 #if defined(PROG_HAS_X11)
647 	(void) menu_show(a.handle);
648 #else
649 	(void) a;
650 #endif
651 }
652 
dynload_menu_item_disable(struct a_funcs * c)653 __VISIBILITY_DEFAULT__ void dynload_menu_item_disable(struct a_funcs *c) {
654 	struct par_menu_item_state a;
655 
656 	if(dynload_menu_item_state_pre(c, &a) != 0) return;
657 #if defined(PROG_HAS_X11)
658 	(void) menu_disable(a.handle, a.tag);
659 #else
660 	(void) a;
661 #endif
662 }
663 
dynload_menu_item_enable(struct a_funcs * c)664 __VISIBILITY_DEFAULT__ void dynload_menu_item_enable(struct a_funcs *c) {
665 	struct par_menu_item_state a;
666 
667 	if(dynload_menu_item_state_pre(c, &a) != 0) return;
668 #if defined(PROG_HAS_X11)
669 	(void) menu_enable(a.handle, a.tag);
670 #else
671 	(void) a;
672 #endif
673 }
674 #endif
675 #if ! defined(PROG_DISABLE_AUDIO)
dynload_audio_create_noise_white(struct a_funcs * c)676 __VISIBILITY_DEFAULT__ unsigned int dynload_audio_create_noise_white(struct a_funcs *c) {
677 	struct par_audio_create_noise_white a;
678 
679 	if(dynload_audio_create_noise_white_pre(c, &a) != 0) return(0);
680 
681 	return(mixer_create_noise_white(a.secs));
682 }
683 
dynload_audio_create_wave_sine(struct a_funcs * c)684 __VISIBILITY_DEFAULT__ unsigned int dynload_audio_create_wave_sine(struct a_funcs *c) {
685 	struct par_audio_create_wave_sine a;
686 
687 	if(dynload_audio_create_wave_sine_pre(c, &a) != 0) return(0);
688 
689 	return(mixer_create_wave_sine(a.secs, a.freq));
690 }
691 
dynload_audio_create_wave_square(struct a_funcs * c)692 __VISIBILITY_DEFAULT__ unsigned int dynload_audio_create_wave_square(struct a_funcs *c) {
693 	struct par_audio_create_wave_square a;
694 
695 	if(dynload_audio_create_wave_square_pre(c, &a) != 0) return(0);
696 
697 	return(mixer_create_wave_square(a.secs, a.freq));
698 }
699 
dynload_audio_create_wave_random(struct a_funcs * c)700 __VISIBILITY_DEFAULT__ unsigned int dynload_audio_create_wave_random(struct a_funcs *c) {
701 	struct par_audio_create_wave_random a;
702 
703 	if(dynload_audio_create_wave_random_pre(c, &a) != 0) return(0);
704 
705 	return(mixer_create_wave_random(a.secs, a.freq, a.amplitude));
706 }
707 
dynload_audio_open(struct a_funcs * c)708 __VISIBILITY_DEFAULT__ unsigned int dynload_audio_open(struct a_funcs *c) {
709 	struct par_audio_open a;
710 
711 	if(dynload_audio_open_pre(c, &a) != 0) return(0);
712 
713 	return(mixer_open(a.audio));
714 }
715 
dynload_audio_close(struct a_funcs * c)716 __VISIBILITY_DEFAULT__ void dynload_audio_close(struct a_funcs *c) {
717 	struct par_audio_close a;
718 
719 	if(dynload_audio_close_pre(c, &a) != 0) return;
720 
721 	(void) mixer_close(a.handle);
722 }
723 
dynload_audio_play(struct a_funcs * c)724 __VISIBILITY_DEFAULT__ void dynload_audio_play(struct a_funcs *c) {
725 	struct par_audio_play a;
726 
727 	if(dynload_audio_play_pre(c, &a) != 0) return;
728 
729 	(void) mixer_play(a.handle, a.vol, a.pan);
730 }
731 
dynload_audio_wait(struct a_funcs * c)732 __VISIBILITY_DEFAULT__ void dynload_audio_wait(struct a_funcs *c) {
733 	struct par_audio_wait a;
734 
735 	if(dynload_audio_wait_pre(c, &a) != 0) return;
736 
737 	(void) mixer_wait(a.handle);
738 }
739 
dynload_audio_cut(struct a_funcs * c)740 __VISIBILITY_DEFAULT__ void dynload_audio_cut(struct a_funcs *c) {
741 	struct par_audio_cut a;
742 
743 	if(dynload_audio_cut_pre(c, &a) != 0) return;
744 
745 	(void) mixer_cut(a.handle);
746 }
747 
dynload_audio_solo(struct a_funcs * c)748 __VISIBILITY_DEFAULT__ void dynload_audio_solo(struct a_funcs *c) {
749 	struct par_audio_solo a;
750 
751 	if(dynload_audio_solo_pre(c, &a) != 0) return;
752 
753 	(void) mixer_solo(a.handle);
754 }
755 
dynload_audio_hold(struct a_funcs * c)756 __VISIBILITY_DEFAULT__ void dynload_audio_hold(struct a_funcs *c) {
757 	struct par_audio_hold a;
758 
759 	if(dynload_audio_hold_pre(c, &a) != 0) return;
760 
761 	(void) mixer_hold(a.handle);
762 }
763 
dynload_audio_cancel(struct a_funcs * c)764 __VISIBILITY_DEFAULT__ void dynload_audio_cancel(struct a_funcs *c) {
765 	struct par_audio_cancel a;
766 
767 	if(dynload_audio_cancel_pre(c, &a) != 0) return;
768 
769 	(void) mixer_cancel(a.handle);
770 }
771 
dynload_audio_pan_get(struct a_funcs * c)772 __VISIBILITY_DEFAULT__ float dynload_audio_pan_get(struct a_funcs *c) {
773 	struct par_audio_pan_get a;
774 
775 	if(dynload_audio_pan_get_pre(c, &a) != 0) return(0.0);
776 
777 	return(mixer_pan_get(a.handle));
778 }
779 
dynload_audio_pan_set(struct a_funcs * c)780 __VISIBILITY_DEFAULT__ void dynload_audio_pan_set(struct a_funcs *c) {
781 	struct par_audio_pan_set a;
782 
783 	if(dynload_audio_pan_set_pre(c, &a) != 0) return;
784 
785 	(void) mixer_pan_set(a.handle, a.pan);
786 }
787 
dynload_audio_pan_inc(struct a_funcs * c)788 __VISIBILITY_DEFAULT__ void dynload_audio_pan_inc(struct a_funcs *c) {
789 	struct par_audio_pan_inc a;
790 
791 	if(dynload_audio_pan_inc_pre(c, &a) != 0) return;
792 
793 	(void) mixer_pan_inc(a.handle, a.pan);
794 }
795 
dynload_audio_pan_dec(struct a_funcs * c)796 __VISIBILITY_DEFAULT__ void dynload_audio_pan_dec(struct a_funcs *c) {
797 	struct par_audio_pan_dec a;
798 
799 	if(dynload_audio_pan_dec_pre(c, &a) != 0) return;
800 
801 	(void) mixer_pan_dec(a.handle, a.pan);
802 }
803 
dynload_audio_vol_get(struct a_funcs * c)804 __VISIBILITY_DEFAULT__ float dynload_audio_vol_get(struct a_funcs *c) {
805 	struct par_audio_vol_get a;
806 
807 	if(dynload_audio_vol_get_pre(c, &a) != 0) return(0.0);
808 
809 	return(mixer_vol_get(a.handle));
810 }
811 
dynload_audio_vol_set(struct a_funcs * c)812 __VISIBILITY_DEFAULT__ void dynload_audio_vol_set(struct a_funcs *c) {
813 	struct par_audio_vol_set a;
814 
815 	if(dynload_audio_vol_set_pre(c, &a) != 0) return;
816 
817 	(void) mixer_vol_set(a.handle, a.vol);
818 }
819 
dynload_audio_vol_inc(struct a_funcs * c)820 __VISIBILITY_DEFAULT__ void dynload_audio_vol_inc(struct a_funcs *c) {
821 	struct par_audio_vol_inc a;
822 
823 	if(dynload_audio_vol_inc_pre(c, &a) != 0) return;
824 
825 	(void) mixer_vol_inc(a.handle, a.vol);
826 }
827 
dynload_audio_vol_dec(struct a_funcs * c)828 __VISIBILITY_DEFAULT__ void dynload_audio_vol_dec(struct a_funcs *c) {
829 	struct par_audio_vol_dec a;
830 
831 	if(dynload_audio_vol_dec_pre(c, &a) != 0) return;
832 
833 	(void) mixer_vol_dec(a.handle, a.vol);
834 }
835 
dynload_audio_master_get(struct a_funcs * c)836 __VISIBILITY_DEFAULT__ float dynload_audio_master_get(struct a_funcs *c) {
837 	if(dynload_audio_master_get_pre(c) != 0) return(0.0);
838 
839 	return(mixer_master_get());
840 }
841 
dynload_audio_master_set(struct a_funcs * c)842 __VISIBILITY_DEFAULT__ void dynload_audio_master_set(struct a_funcs *c) {
843 	struct par_audio_master_set a;
844 
845 	if(dynload_audio_master_set_pre(c, &a) != 0) return;
846 
847 	(void) mixer_master_set(a.vol);
848 }
849 
dynload_audio_master_inc(struct a_funcs * c)850 __VISIBILITY_DEFAULT__ void dynload_audio_master_inc(struct a_funcs *c) {
851 	struct par_audio_master_inc a;
852 
853 	if(dynload_audio_master_inc_pre(c, &a) != 0) return;
854 
855 	(void) mixer_master_inc(a.vol);
856 }
857 
dynload_audio_master_dec(struct a_funcs * c)858 __VISIBILITY_DEFAULT__ void dynload_audio_master_dec(struct a_funcs *c) {
859 	struct par_audio_master_dec a;
860 
861 	if(dynload_audio_master_dec_pre(c, &a) != 0) return;
862 
863 	(void) mixer_master_dec(a.vol);
864 }
865 
dynload_audio_init(struct a_funcs * c)866 __VISIBILITY_DEFAULT__ void dynload_audio_init(struct a_funcs *c) {
867 	if(dynload_audio_init_pre(c) != 0) return;
868 
869 	(void) thread_spawn(NULL, worker_play, NULL, NULL);
870 }
871 #endif
dynload_sleep(struct a_funcs * c)872 __VISIBILITY_DEFAULT__ void dynload_sleep(struct a_funcs *c) {
873 	struct par_system_sleep a;
874 
875 	if(dynload_system_sleep_pre(c, &a) != 0) return;
876 
877 	(void) timer_wait(a.secs, a.nsecs);
878 }
879 
dynload_exit(__UNUSED__ struct a_funcs * c)880 __VISIBILITY_DEFAULT__ void dynload_exit(__UNUSED__ struct a_funcs *c) {
881 	(void) main_stop();
882 }
883 
dynload_fork(struct a_funcs * c)884 __VISIBILITY_DEFAULT__ int dynload_fork(struct a_funcs *c) {
885 	if(dynload_system_fork_pre(c) != 0) return(-1);
886 
887 	return(system_fork());
888 }
889 
dynload_exec(struct a_funcs * c)890 __VISIBILITY_DEFAULT__ void dynload_exec(struct a_funcs *c) {
891 	struct par_system_exec a;
892 
893 	if(dynload_system_exec_pre(c, &a) != 0) return;
894 
895 	(void) system_exec(a.command, a.params);
896 
897 	(void) dynload_system_exec_pre_free(a.params, c->c);
898 }
899 
dynload_system(struct a_funcs * c)900 __VISIBILITY_DEFAULT__ void dynload_system(struct a_funcs *c) {
901 	struct par_system_system a;
902 
903 	if(dynload_system_system_pre(c, &a) != 0) return;
904 
905 	(void) system_system(a.command);
906 }
907 
dynload_time(struct a_funcs * c)908 __VISIBILITY_DEFAULT__ uint64_t dynload_time(struct a_funcs *c) {
909 	if(dynload_system_time_pre(c) != 0) return(0);
910 
911 	return((uint64_t) timer_get_secs());
912 }
913 
dynload_timer(struct a_funcs * c)914 __VISIBILITY_DEFAULT__ int dynload_timer(struct a_funcs *c) {
915 	struct par_system_timer a;
916 
917 	if(dynload_system_timer_pre(c, &a, worker_dsl_timer) != 0) return(-1);
918 
919 	if(worker_dsl_timer_par(&a.par_timer) != 0) return(-1);
920 
921 	return(timer_init(a.secs, a.nsecs, (void *) a.cb_timer));
922 }
923 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_WIDGET)
dynload_widget_refresh(struct a_funcs * c)924 __VISIBILITY_DEFAULT__ void dynload_widget_refresh(struct a_funcs *c) {
925 	struct par_widget_refresh a;
926 
927 	struct w_stack *w;
928 
929 	if(dynload_widget_refresh_pre(c, &a) != 0) return;
930 
931 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return;
932 
933 	(void) widget_refresh(w);
934 }
935 
dynload_widget_create_block(struct a_funcs * c)936 __VISIBILITY_DEFAULT__ int dynload_widget_create_block(struct a_funcs *c) {
937 	struct par_widget_create_block a;
938 
939 	struct w_stack *w;
940 
941 	if(dynload_widget_create_block_pre(c, &a) != 0) return(-1);
942 
943 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
944 
945 	return(widget_create_block(w, a.name,
946 		a.x, a.y, a.width, a.height));
947 }
948 
dynload_widget_create_label(struct a_funcs * c)949 __VISIBILITY_DEFAULT__ int dynload_widget_create_label(struct a_funcs *c) {
950 	struct par_widget_create_label a;
951 
952 	struct w_stack *w;
953 
954 	if(dynload_widget_create_label_pre(c, &a) != 0) return(-1);
955 
956 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
957 
958 	return(widget_create_label(w, a.name,
959 		a.x, a.y));
960 }
961 
dynload_widget_create_lamp(struct a_funcs * c)962 __VISIBILITY_DEFAULT__ int dynload_widget_create_lamp(struct a_funcs *c) {
963 	struct par_widget_create_lamp a;
964 
965 	struct w_stack *w;
966 
967 	if(dynload_widget_create_lamp_pre(c, &a) != 0) return(-1);
968 
969 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
970 
971 	return(widget_create_lamp(w, a.name,
972 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v));
973 }
974 
dynload_widget_create_led_1(struct a_funcs * c)975 __VISIBILITY_DEFAULT__ int dynload_widget_create_led_1(struct a_funcs *c) {
976 	struct par_widget_create_led a;
977 
978 	struct w_stack *w;
979 
980 	if(dynload_widget_create_led_pre(c, &a) != 0) return(-1);
981 
982 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
983 
984 	return(widget_create_led_1(w, a.name,
985 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v));
986 }
987 
dynload_widget_create_led_2(struct a_funcs * c)988 __VISIBILITY_DEFAULT__ int dynload_widget_create_led_2(struct a_funcs *c) {
989 	struct par_widget_create_led a;
990 
991 	struct w_stack *w;
992 
993 	if(dynload_widget_create_led_pre(c, &a) != 0) return(-1);
994 
995 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
996 
997 	return(widget_create_led_2(w, a.name,
998 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v));
999 }
1000 
dynload_widget_create_led_3(struct a_funcs * c)1001 __VISIBILITY_DEFAULT__ int dynload_widget_create_led_3(struct a_funcs *c) {
1002 	struct par_widget_create_led a;
1003 
1004 	struct w_stack *w;
1005 
1006 	if(dynload_widget_create_led_pre(c, &a) != 0) return(-1);
1007 
1008 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1009 
1010 	return(widget_create_led_3(w, a.name,
1011 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v));
1012 }
1013 
dynload_widget_create_pushbutton_1(struct a_funcs * c)1014 __VISIBILITY_DEFAULT__ int dynload_widget_create_pushbutton_1(struct a_funcs *c) {
1015 	struct par_widget_create_pushbutton a;
1016 
1017 	struct w_stack *w;
1018 
1019 	if(dynload_widget_create_pushbutton_pre(c, &a) != 0) return(-1);
1020 
1021 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1022 
1023 	return(widget_create_pushbutton_1(w, a.name,
1024 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v, a.sticky));
1025 }
1026 
dynload_widget_create_pushbutton_2(struct a_funcs * c)1027 __VISIBILITY_DEFAULT__ int dynload_widget_create_pushbutton_2(struct a_funcs *c) {
1028 	struct par_widget_create_pushbutton a;
1029 
1030 	struct w_stack *w;
1031 
1032 	if(dynload_widget_create_pushbutton_pre(c, &a) != 0) return(-1);
1033 
1034 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1035 
1036 	return(widget_create_pushbutton_2(w, a.name,
1037 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v, a.sticky));
1038 }
1039 
dynload_widget_create_pushbutton_3(struct a_funcs * c)1040 __VISIBILITY_DEFAULT__ int dynload_widget_create_pushbutton_3(struct a_funcs *c) {
1041 	struct par_widget_create_pushbutton a;
1042 
1043 	struct w_stack *w;
1044 
1045 	if(dynload_widget_create_pushbutton_pre(c, &a) != 0) return(-1);
1046 
1047 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1048 
1049 	return(widget_create_pushbutton_3(w, a.name,
1050 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v, a.sticky));
1051 }
1052 
dynload_widget_create_slideswitch(struct a_funcs * c)1053 __VISIBILITY_DEFAULT__ int dynload_widget_create_slideswitch(struct a_funcs *c) {
1054 	struct par_widget_create_slideswitch a;
1055 
1056 	struct w_stack *w;
1057 
1058 	if(dynload_widget_create_slideswitch_pre(c, &a) != 0) return(-1);
1059 
1060 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1061 
1062 	return(widget_create_slideswitch(w, a.name,
1063 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v, a.length, a.steps, a.startstep));
1064 }
1065 
dynload_widget_create_toggleswitch(struct a_funcs * c)1066 __VISIBILITY_DEFAULT__ int dynload_widget_create_toggleswitch(struct a_funcs *c) {
1067 	struct par_widget_create_toggleswitch a;
1068 
1069 	struct w_stack *w;
1070 
1071 	if(dynload_widget_create_toggleswitch_pre(c, &a) != 0) return(-1);
1072 
1073 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1074 
1075 	return(widget_create_toggleswitch(w, a.name,
1076 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v, a.steps, a.startstep));
1077 }
1078 
dynload_widget_create_turnswitch(struct a_funcs * c)1079 __VISIBILITY_DEFAULT__ int dynload_widget_create_turnswitch(struct a_funcs *c) {
1080 	struct par_widget_create_turnswitch a;
1081 
1082 	struct w_stack *w;
1083 
1084 	if(dynload_widget_create_turnswitch_pre(c, &a) != 0) return(-1);
1085 
1086 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1087 
1088 	return(widget_create_turnswitch(w, a.name,
1089 		a.x, a.y, a.subtype, a.titlepos, a.u, a.v, a.minangle, a.maxangle, a.steps, a.startstep));
1090 }
1091 
dynload_widget_delete(struct a_funcs * c)1092 __VISIBILITY_DEFAULT__ int dynload_widget_delete(struct a_funcs *c) {
1093 	struct par_widget_delete a;
1094 
1095 	struct w_stack *w;
1096 
1097 	if(dynload_widget_delete_pre(c, &a) != 0) return(-1);
1098 
1099 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1100 
1101 	return(widget_delete(w, a.name));
1102 }
1103 
dynload_widget_disable(struct a_funcs * c)1104 __VISIBILITY_DEFAULT__ int dynload_widget_disable(struct a_funcs *c) {
1105 	struct par_widget_state a;
1106 
1107 	struct w_stack *w;
1108 
1109 	if(dynload_widget_state_pre(c, &a) != 0) return(-1);
1110 
1111 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1112 
1113 	return(widget_disable(w, a.name));
1114 }
1115 
dynload_widget_enable(struct a_funcs * c)1116 __VISIBILITY_DEFAULT__ int dynload_widget_enable(struct a_funcs *c) {
1117 	struct par_widget_state a;
1118 
1119 	struct w_stack *w;
1120 
1121 	if(dynload_widget_state_pre(c, &a) != 0) return(-1);
1122 
1123 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1124 
1125 	return(widget_enable(w, a.name));
1126 }
1127 
dynload_widget_change_set(struct a_funcs * c)1128 __VISIBILITY_DEFAULT__ unsigned int dynload_widget_change_set(struct a_funcs *c) {
1129 	struct par_widget_change_set a;
1130 
1131 	struct w_stack *w;
1132 
1133 	if(dynload_widget_change_set_pre(c, &a) != 0) return(0);
1134 
1135 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(0);
1136 
1137 	return(widget_change_set(w, a.set));
1138 }
1139 
dynload_widget_step_get(struct a_funcs * c)1140 __VISIBILITY_DEFAULT__ unsigned int dynload_widget_step_get(struct a_funcs *c) {
1141 	unsigned int r;
1142 
1143 	struct par_widget_step_get a;
1144 
1145 	struct w_stack *w;
1146 
1147 	if(dynload_widget_step_get_pre(c, &a) != 0) return(0);
1148 
1149 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(0);
1150 	if((r = widget_step_get(w, a.name, &r)) != 0) return(0);
1151 
1152 	return(r);
1153 }
1154 
dynload_widget_step_get_min(struct a_funcs * c)1155 __VISIBILITY_DEFAULT__ unsigned int dynload_widget_step_get_min(struct a_funcs *c) {
1156 	unsigned int r;
1157 
1158 	struct par_widget_step_get a;
1159 
1160 	struct w_stack *w;
1161 
1162 	if(dynload_widget_step_get_pre(c, &a) != 0) return(0);
1163 
1164 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(0);
1165 	if((r = widget_step_get_min(w, a.name, &r)) != 0) return(0);
1166 
1167 	return(r);
1168 }
1169 
dynload_widget_step_get_max(struct a_funcs * c)1170 __VISIBILITY_DEFAULT__ unsigned int dynload_widget_step_get_max(struct a_funcs *c) {
1171 	unsigned int r;
1172 
1173 	struct par_widget_step_get a;
1174 
1175 	struct w_stack *w;
1176 
1177 	if(dynload_widget_step_get_pre(c, &a) != 0) return(0);
1178 
1179 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(0);
1180 	if((r = widget_step_get_max(w, a.name, &r)) != 0) return(0);
1181 
1182 	return(r);
1183 }
1184 
dynload_widget_step_set(struct a_funcs * c)1185 __VISIBILITY_DEFAULT__ int dynload_widget_step_set(struct a_funcs *c) {
1186 	struct par_widget_step_set a;
1187 
1188 	struct w_stack *w;
1189 
1190 	if(dynload_widget_step_set_pre(c, &a) != 0) return(-1);
1191 
1192 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1193 
1194 	return(widget_step_set(w, a.name,
1195 		a.step));
1196 }
1197 
dynload_widget_trigger_set(struct a_funcs * c)1198 __VISIBILITY_DEFAULT__ int dynload_widget_trigger_set(struct a_funcs *c) {
1199 	struct par_widget_trigger_set a;
1200 
1201 	struct w_stack *w;
1202 
1203 	if(dynload_widget_trigger_set_pre(c, &a) != 0) return(-1);
1204 
1205 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1206 
1207 	return(widget_trigger_set(w, a.name,
1208 		a.trigger));
1209 }
1210 
dynload_widget_indicator_set(struct a_funcs * c)1211 __VISIBILITY_DEFAULT__ int dynload_widget_indicator_set(struct a_funcs *c) {
1212 	struct par_widget_indicator_set a;
1213 
1214 	struct w_stack *w;
1215 
1216 	if(dynload_widget_indicator_set_pre(c, &a) != 0) return(-1);
1217 
1218 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1219 
1220 	return(widget_indicator_set(w, a.name,
1221 		a.charset, a.font, a.font_size, a.font_res, a.mode, a.offset, &a.color));
1222 }
1223 
dynload_widget_update_border(struct a_funcs * c)1224 __VISIBILITY_DEFAULT__ int dynload_widget_update_border(struct a_funcs *c) {
1225 	struct par_widget_update_border a;
1226 
1227 	struct w_stack *w;
1228 
1229 	if(dynload_widget_update_border_pre(c, &a) != 0) return(-1);
1230 
1231 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1232 
1233 	return(widget_update_border(w, a.name,
1234 		&a.color, a.thickness));
1235 }
1236 
dynload_widget_update_color(struct a_funcs * c)1237 __VISIBILITY_DEFAULT__ int dynload_widget_update_color(struct a_funcs *c) {
1238 	struct par_widget_update_color a;
1239 
1240 	struct w_stack *w;
1241 
1242 	if(dynload_widget_update_color_pre(c, &a) != 0) return(-1);
1243 
1244 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1245 
1246 	return(widget_update_color(w, a.name,
1247 		&a.color));
1248 }
1249 
dynload_widget_update_image(struct a_funcs * c)1250 __VISIBILITY_DEFAULT__ int dynload_widget_update_image(struct a_funcs *c) {
1251 	struct par_widget_update_image a;
1252 
1253 	struct w_stack *w;
1254 
1255 	if(dynload_widget_update_image_pre(c, &a) != 0) return(-1);
1256 
1257 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1258 
1259 	return(widget_update_image(w, a.name,
1260 		a.image, a.x, a.y, a.width, a.height));
1261 }
1262 
dynload_widget_update_image_file(struct a_funcs * c)1263 __VISIBILITY_DEFAULT__ int dynload_widget_update_image_file(struct a_funcs *c) {
1264 	struct par_widget_update_image_file a;
1265 
1266 	struct w_stack *w;
1267 
1268 	if(dynload_widget_update_image_file_pre(c, &a) != 0) return(-1);
1269 
1270 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1271 
1272 	return(widget_update_image_file(w, a.name,
1273 		a.image));
1274 }
1275 
dynload_widget_update_label(struct a_funcs * c)1276 __VISIBILITY_DEFAULT__ int dynload_widget_update_label(struct a_funcs *c) {
1277 	struct par_widget_update_label a;
1278 
1279 	struct w_stack *w;
1280 
1281 	if(dynload_widget_update_label_pre(c, &a) != 0) return(-1);
1282 
1283 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1284 
1285 	return(widget_update_label(w, a.name,
1286 		a.label, a.charset, a.font, a.font_size, a.font_res, a.font_just, &a.color));
1287 }
1288 
dynload_widget_update_scale_bars(struct a_funcs * c)1289 __VISIBILITY_DEFAULT__ int dynload_widget_update_scale_bars(struct a_funcs *c) {
1290 	struct par_widget_update_scale a;
1291 
1292 	struct w_stack *w;
1293 
1294 	if(dynload_widget_update_scale_pre(c, &a) != 0) return(-1);
1295 
1296 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1297 
1298 	return(widget_update_scale_bars(w, a.name,
1299 		a.charset, a.font, a.font_size, a.font_res, NULL, a.start, a.end, a.bars, &a.color));
1300 }
1301 
dynload_widget_update_scale_dots(struct a_funcs * c)1302 __VISIBILITY_DEFAULT__ int dynload_widget_update_scale_dots(struct a_funcs *c) {
1303 	struct par_widget_update_scale a;
1304 
1305 	struct w_stack *w;
1306 
1307 	if(dynload_widget_update_scale_pre(c, &a) != 0) return(-1);
1308 
1309 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1310 
1311 	return(widget_update_scale_dots(w, a.name,
1312 		a.charset, a.font, a.font_size, a.font_res, NULL, a.start, a.end, a.bars, &a.color));
1313 }
1314 
dynload_widget_update_scale_nude(struct a_funcs * c)1315 __VISIBILITY_DEFAULT__ int dynload_widget_update_scale_nude(struct a_funcs *c) {
1316 	struct par_widget_update_scale a;
1317 
1318 	struct w_stack *w;
1319 
1320 	if(dynload_widget_update_scale_pre(c, &a) != 0) return(-1);
1321 
1322 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1323 
1324 	return(widget_update_scale_nude(w, a.name,
1325 		a.charset, a.font, a.font_size, a.font_res, NULL, a.start, a.end, a.bars, &a.color));
1326 }
1327 
dynload_widget_cb_add_pushbutton_push(struct a_funcs * c)1328 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_pushbutton_push(struct a_funcs *c) {
1329 	struct par_widget_cb_add a;
1330 
1331 	struct w_stack *w;
1332 
1333 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1334 
1335 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1336 
1337 	return(widget_cb_add_pushbutton_push(w, a.name,
1338 		a.cb));
1339 }
1340 
dynload_widget_cb_add_slideswitch_slide(struct a_funcs * c)1341 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_slideswitch_slide(struct a_funcs *c) {
1342 	struct par_widget_cb_add a;
1343 
1344 	struct w_stack *w;
1345 
1346 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1347 
1348 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1349 
1350 	return(widget_cb_add_slideswitch_slide(w, a.name,
1351 		a.cb));
1352 }
1353 
dynload_widget_cb_add_toggleswitch_toggle(struct a_funcs * c)1354 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_toggleswitch_toggle(struct a_funcs *c) {
1355 	struct par_widget_cb_add a;
1356 
1357 	struct w_stack *w;
1358 
1359 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1360 
1361 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1362 
1363 	return(widget_cb_add_toggleswitch_toggle(w, a.name,
1364 		a.cb));
1365 }
1366 
dynload_widget_cb_add_turnswitch_turn(struct a_funcs * c)1367 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_turnswitch_turn(struct a_funcs *c) {
1368 	struct par_widget_cb_add a;
1369 
1370 	struct w_stack *w;
1371 
1372 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1373 
1374 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1375 
1376 	return(widget_cb_add_turnswitch_turn(w, a.name,
1377 		a.cb));
1378 }
1379 
dynload_widget_cb_add_key_press(struct a_funcs * c)1380 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_key_press(struct a_funcs *c) {
1381 	struct par_widget_cb_add a;
1382 
1383 	struct w_stack *w;
1384 
1385 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1386 
1387 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1388 
1389 	return(widget_cb_add_key_press(w, a.name,
1390 		a.cb));
1391 }
1392 
dynload_widget_cb_add_key_release(struct a_funcs * c)1393 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_key_release(struct a_funcs *c) {
1394 	struct par_widget_cb_add a;
1395 
1396 	struct w_stack *w;
1397 
1398 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1399 
1400 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1401 
1402 	return(widget_cb_add_key_release(w, a.name,
1403 		a.cb));
1404 }
1405 
dynload_widget_cb_add_button_press(struct a_funcs * c)1406 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_button_press(struct a_funcs *c) {
1407 	struct par_widget_cb_add a;
1408 
1409 	struct w_stack *w;
1410 
1411 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1412 
1413 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1414 
1415 	return(widget_cb_add_button_press(w, a.name,
1416 		a.cb));
1417 }
1418 
dynload_widget_cb_add_button_release(struct a_funcs * c)1419 __VISIBILITY_DEFAULT__ int dynload_widget_cb_add_button_release(struct a_funcs *c) {
1420 	struct par_widget_cb_add a;
1421 
1422 	struct w_stack *w;
1423 
1424 	if(dynload_widget_cb_add_pre(c, &a) != 0) return(-1);
1425 
1426 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1427 
1428 	return(widget_cb_add_button_release(w, a.name,
1429 		a.cb));
1430 }
1431 
dynload_widget_cb_delete_pushbutton_push(struct a_funcs * c)1432 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_pushbutton_push(struct a_funcs *c) {
1433 	struct par_widget_cb_delete a;
1434 
1435 	struct w_stack *w;
1436 
1437 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1438 
1439 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1440 
1441 	return(widget_cb_delete_pushbutton_push(w, a.name));
1442 }
1443 
dynload_widget_cb_delete_slideswitch_slide(struct a_funcs * c)1444 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_slideswitch_slide(struct a_funcs *c) {
1445 	struct par_widget_cb_delete a;
1446 
1447 	struct w_stack *w;
1448 
1449 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1450 
1451 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1452 
1453 	return(widget_cb_delete_slideswitch_slide(w, a.name));
1454 }
1455 
dynload_widget_cb_delete_toggleswitch_toggle(struct a_funcs * c)1456 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_toggleswitch_toggle(struct a_funcs *c) {
1457 	struct par_widget_cb_delete a;
1458 
1459 	struct w_stack *w;
1460 
1461 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1462 
1463 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1464 
1465 	return(widget_cb_delete_toggleswitch_toggle(w, a.name));
1466 }
1467 
dynload_widget_cb_delete_turnswitch_turn(struct a_funcs * c)1468 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_turnswitch_turn(struct a_funcs *c) {
1469 	struct par_widget_cb_delete a;
1470 
1471 	struct w_stack *w;
1472 
1473 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1474 
1475 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1476 
1477 	return(widget_cb_delete_turnswitch_turn(w, a.name));
1478 }
1479 
dynload_widget_cb_delete_key_press(struct a_funcs * c)1480 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_key_press(struct a_funcs *c) {
1481 	struct par_widget_cb_delete a;
1482 
1483 	struct w_stack *w;
1484 
1485 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1486 
1487 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1488 
1489 	return(widget_cb_delete_key_press(w, a.name));
1490 }
1491 
dynload_widget_cb_delete_key_release(struct a_funcs * c)1492 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_key_release(struct a_funcs *c) {
1493 	struct par_widget_cb_delete a;
1494 
1495 	struct w_stack *w;
1496 
1497 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1498 
1499 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1500 
1501 	return(widget_cb_delete_key_release(w, a.name));
1502 }
1503 
dynload_widget_cb_delete_button_press(struct a_funcs * c)1504 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_button_press(struct a_funcs *c) {
1505 	struct par_widget_cb_delete a;
1506 
1507 	struct w_stack *w;
1508 
1509 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1510 
1511 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1512 
1513 	return(widget_cb_delete_button_press(w, a.name));
1514 }
1515 
dynload_widget_cb_delete_button_release(struct a_funcs * c)1516 __VISIBILITY_DEFAULT__ int dynload_widget_cb_delete_button_release(struct a_funcs *c) {
1517 	struct par_widget_cb_delete a;
1518 
1519 	struct w_stack *w;
1520 
1521 	if(dynload_widget_cb_delete_pre(c, &a) != 0) return(-1);
1522 
1523 	if((w = window_get_widget_by_handle(a.handle)) == NULL) return(-1);
1524 
1525 	return(widget_cb_delete_button_release(w, a.name));
1526 }
1527 #endif
1528 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_BOB)
dynload_bob_get_altitude(struct a_funcs * c)1529 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_altitude(struct a_funcs *c) {
1530 	struct par_bob_get_altitude a;
1531 
1532 	if(dynload_bob_get_altitude_pre(c, &a) != 0) return(0);
1533 
1534 	return(bob_get_altitude(a.container, a.bob));
1535 }
1536 
dynload_bob_set_altitude(struct a_funcs * c)1537 __VISIBILITY_DEFAULT__ void dynload_bob_set_altitude(struct a_funcs *c) {
1538 	struct par_bob_set_altitude a;
1539 
1540 	if(dynload_bob_set_altitude_pre(c, &a) != 0) return;
1541 
1542 	(void) bob_set_altitude(a.container, a.bob, a.altitude);
1543 }
1544 
dynload_bob_add_altitude(struct a_funcs * c)1545 __VISIBILITY_DEFAULT__ void dynload_bob_add_altitude(struct a_funcs *c) {
1546 	struct par_bob_add_altitude a;
1547 
1548 	if(dynload_bob_add_altitude_pre(c, &a) != 0) return;
1549 
1550 	(void) bob_add_altitude(a.container, a.bob, a.altitude);
1551 }
1552 
dynload_bob_sub_altitude(struct a_funcs * c)1553 __VISIBILITY_DEFAULT__ void dynload_bob_sub_altitude(struct a_funcs *c) {
1554 	struct par_bob_sub_altitude a;
1555 
1556 	if(dynload_bob_sub_altitude_pre(c, &a) != 0) return;
1557 
1558 	(void) bob_sub_altitude(a.container, a.bob, a.altitude);
1559 }
1560 
dynload_bob_get_x_position(struct a_funcs * c)1561 __VISIBILITY_DEFAULT__ int dynload_bob_get_x_position(struct a_funcs *c) {
1562 	struct par_bob_get_x_position a;
1563 
1564 	if(dynload_bob_get_x_position_pre(c, &a) != 0) return(0);
1565 
1566 	return(bob_get_x_position(a.container, a.bob));
1567 }
1568 
dynload_bob_get_y_position(struct a_funcs * c)1569 __VISIBILITY_DEFAULT__ int dynload_bob_get_y_position(struct a_funcs *c) {
1570 	struct par_bob_get_y_position a;
1571 
1572 	if(dynload_bob_get_y_position_pre(c, &a) != 0) return(0);
1573 
1574 	return(bob_get_y_position(a.container, a.bob));
1575 }
1576 
dynload_bob_set_position(struct a_funcs * c)1577 __VISIBILITY_DEFAULT__ void dynload_bob_set_position(struct a_funcs *c) {
1578 	struct par_bob_set_position a;
1579 
1580 	if(dynload_bob_set_position_pre(c, &a) != 0) return;
1581 
1582 	(void) bob_set_position(a.container, a.bob, a.x, a.y);
1583 }
1584 
dynload_bob_set_x_position(struct a_funcs * c)1585 __VISIBILITY_DEFAULT__ void dynload_bob_set_x_position(struct a_funcs *c) {
1586 	struct par_bob_set_x_position a;
1587 
1588 	if(dynload_bob_set_x_position_pre(c, &a) != 0) return;
1589 
1590 	(void) bob_set_x_position(a.container, a.bob, a.x);
1591 }
1592 
dynload_bob_set_y_position(struct a_funcs * c)1593 __VISIBILITY_DEFAULT__ void dynload_bob_set_y_position(struct a_funcs *c) {
1594 	struct par_bob_set_y_position a;
1595 
1596 	if(dynload_bob_set_y_position_pre(c, &a) != 0) return;
1597 
1598 	(void) bob_set_y_position(a.container, a.bob, a.y);
1599 }
1600 
dynload_bob_add_x_position(struct a_funcs * c)1601 __VISIBILITY_DEFAULT__ void dynload_bob_add_x_position(struct a_funcs *c) {
1602 	struct par_bob_add_x_position a;
1603 
1604 	if(dynload_bob_add_x_position_pre(c, &a) != 0) return;
1605 
1606 	(void) bob_add_x_position(a.container, a.bob, a.x);
1607 }
1608 
dynload_bob_add_y_position(struct a_funcs * c)1609 __VISIBILITY_DEFAULT__ void dynload_bob_add_y_position(struct a_funcs *c) {
1610 	struct par_bob_add_y_position a;
1611 
1612 	if(dynload_bob_add_y_position_pre(c, &a) != 0) return;
1613 
1614 	(void) bob_add_y_position(a.container, a.bob, a.y);
1615 }
1616 
dynload_bob_sub_x_position(struct a_funcs * c)1617 __VISIBILITY_DEFAULT__ void dynload_bob_sub_x_position(struct a_funcs *c) {
1618 	struct par_bob_sub_x_position a;
1619 
1620 	if(dynload_bob_sub_x_position_pre(c, &a) != 0) return;
1621 
1622 	(void) bob_sub_x_position(a.container, a.bob, a.x);
1623 }
1624 
dynload_bob_sub_y_position(struct a_funcs * c)1625 __VISIBILITY_DEFAULT__ void dynload_bob_sub_y_position(struct a_funcs *c) {
1626 	struct par_bob_sub_y_position a;
1627 
1628 	if(dynload_bob_sub_y_position_pre(c, &a) != 0) return;
1629 
1630 	(void) bob_sub_y_position(a.container, a.bob, a.y);
1631 }
1632 
dynload_bob_get_angle(struct a_funcs * c)1633 __VISIBILITY_DEFAULT__ double dynload_bob_get_angle(struct a_funcs *c) {
1634 	struct par_bob_get_angle a;
1635 
1636 	if(dynload_bob_get_angle_pre(c, &a) != 0) return(0.0);
1637 
1638 	return(bob_get_angle(a.container, a.bob));
1639 }
1640 
dynload_bob_set_angle_position(struct a_funcs * c)1641 __VISIBILITY_DEFAULT__ void dynload_bob_set_angle_position(struct a_funcs *c) {
1642 	struct par_bob_set_angle_position a;
1643 
1644 	if(dynload_bob_set_angle_position_pre(c, &a) != 0) return;
1645 
1646 	(void) bob_set_angle_position(a.container, a.bob, a.angle, a.distance);
1647 }
1648 
dynload_bob_get_depth(struct a_funcs * c)1649 __VISIBILITY_DEFAULT__ int dynload_bob_get_depth(struct a_funcs *c) {
1650 	struct par_bob_get_depth a;
1651 
1652 	if(dynload_bob_get_depth_pre(c, &a) != 0) return(0);
1653 
1654 	return(bob_get_depth(a.container, a.bob));
1655 }
1656 
dynload_bob_set_depth(struct a_funcs * c)1657 __VISIBILITY_DEFAULT__ void dynload_bob_set_depth(struct a_funcs *c) {
1658 	struct par_bob_set_depth a;
1659 
1660 	if(dynload_bob_set_depth_pre(c, &a) != 0) return;
1661 
1662 	(void) bob_set_depth(a.container, a.bob, a.depth);
1663 }
1664 
dynload_bob_get_distance(struct a_funcs * c)1665 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_distance(struct a_funcs *c) {
1666 	struct par_bob_get_distance a;
1667 
1668 	if(dynload_bob_get_distance_pre(c, &a) != 0) return(0);
1669 
1670 	return(bob_get_distance(a.a_container, a.a_bob, a.b_container, a.b_bob));
1671 }
1672 
dynload_bob_get_measure(struct a_funcs * c)1673 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_measure(struct a_funcs *c) {
1674 	struct par_bob_get_measure a;
1675 
1676 	if(dynload_bob_get_measure_pre(c, &a) != 0) return(0);
1677 
1678 	return(bob_get_measure(a.container, a.bob, a.x, a.y));
1679 }
1680 
dynload_bob_get_map(struct a_funcs * c)1681 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_map(struct a_funcs *c) {
1682 	struct par_bob_get_map a;
1683 
1684 	if(dynload_bob_get_map_pre(c, &a) != 0) return(0);
1685 
1686 	return(bob_get_map(a.container, a.bob));
1687 }
1688 
dynload_bob_set_map(struct a_funcs * c)1689 __VISIBILITY_DEFAULT__ void dynload_bob_set_map(struct a_funcs *c) {
1690 	struct par_bob_set_map a;
1691 
1692 	if(dynload_bob_set_map_pre(c, &a) != 0) return;
1693 
1694 	(void) bob_set_map(a.container, a.bob, a.map);
1695 }
1696 
dynload_bob_get_playdirection(struct a_funcs * c)1697 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_playdirection(struct a_funcs *c) {
1698 	struct par_bob_get_playdirection a;
1699 
1700 	if(dynload_bob_get_playdirection_pre(c, &a) != 0) return(0);
1701 
1702 	return(bob_get_playdirection(a.container, a.bob));
1703 }
1704 
dynload_bob_set_playdirection(struct a_funcs * c)1705 __VISIBILITY_DEFAULT__ void dynload_bob_set_playdirection(struct a_funcs *c) {
1706 	struct par_bob_set_playdirection a;
1707 
1708 	if(dynload_bob_set_playdirection_pre(c, &a) != 0) return;
1709 
1710 	(void) bob_set_playdirection(a.container, a.bob, a.playdirection);
1711 }
1712 
dynload_bob_get_playmode(struct a_funcs * c)1713 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_playmode(struct a_funcs *c) {
1714 	struct par_bob_get_playmode a;
1715 
1716 	if(dynload_bob_get_playmode_pre(c, &a) != 0) return(0);
1717 
1718 	return(bob_get_playmode(a.container, a.bob));
1719 }
1720 
dynload_bob_set_playmode(struct a_funcs * c)1721 __VISIBILITY_DEFAULT__ void dynload_bob_set_playmode(struct a_funcs *c) {
1722 	struct par_bob_set_playmode a;
1723 
1724 	if(dynload_bob_set_playmode_pre(c, &a) != 0) return;
1725 
1726 	(void) bob_set_playmode(a.container, a.bob, a.playmode);
1727 }
1728 
dynload_bob_get_playskip(struct a_funcs * c)1729 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_get_playskip(struct a_funcs *c) {
1730 	struct par_bob_get_playskip a;
1731 
1732 	if(dynload_bob_get_playskip_pre(c, &a) != 0) return(0);
1733 
1734 	return(bob_get_playskip(a.container, a.bob));
1735 }
1736 
dynload_bob_set_playskip(struct a_funcs * c)1737 __VISIBILITY_DEFAULT__ void dynload_bob_set_playskip(struct a_funcs *c) {
1738 	struct par_bob_set_playskip a;
1739 
1740 	if(dynload_bob_set_playskip_pre(c, &a) != 0) return;
1741 
1742 	(void) bob_set_playskip(a.container, a.bob, a.playskip);
1743 }
1744 
dynload_bob_get_playspeed(struct a_funcs * c)1745 __VISIBILITY_DEFAULT__ double dynload_bob_get_playspeed(struct a_funcs *c) {
1746 	struct par_bob_get_playspeed a;
1747 
1748 	if(dynload_bob_get_playspeed_pre(c, &a) != 0) return(0.0);
1749 
1750 	return(bob_get_playspeed(a.container, a.bob));
1751 }
1752 
dynload_bob_set_playspeed(struct a_funcs * c)1753 __VISIBILITY_DEFAULT__ void dynload_bob_set_playspeed(struct a_funcs *c) {
1754 	struct par_bob_set_playspeed a;
1755 
1756 	if(dynload_bob_set_playspeed_pre(c, &a) != 0) return;
1757 
1758 	(void) bob_set_playspeed(a.container, a.bob, a.playspeed);
1759 }
1760 
dynload_bob_set_frame(struct a_funcs * c)1761 __VISIBILITY_DEFAULT__ void dynload_bob_set_frame(struct a_funcs *c) {
1762 	struct par_bob_set_frame a;
1763 
1764 	if(dynload_bob_set_frame_pre(c, &a) != 0) return;
1765 
1766 	(void) bob_set_frame(a.container, a.bob, a.frame);
1767 }
1768 
dynload_bob_add_frame(struct a_funcs * c)1769 __VISIBILITY_DEFAULT__ void dynload_bob_add_frame(struct a_funcs *c) {
1770 	struct par_bob_add_frame a;
1771 
1772 	if(dynload_bob_add_frame_pre(c, &a) != 0) return;
1773 
1774 	(void) bob_add_frame(a.container, a.bob, a.frame);
1775 }
1776 
dynload_bob_sub_frame(struct a_funcs * c)1777 __VISIBILITY_DEFAULT__ void dynload_bob_sub_frame(struct a_funcs *c) {
1778 	struct par_bob_sub_frame a;
1779 
1780 	if(dynload_bob_sub_frame_pre(c, &a) != 0) return;
1781 
1782 	(void) bob_sub_frame(a.container, a.bob, a.frame);
1783 }
1784 
dynload_bob_get_container_depth(struct a_funcs * c)1785 __VISIBILITY_DEFAULT__ int dynload_bob_get_container_depth(struct a_funcs *c) {
1786 	struct par_bob_get_container_depth a;
1787 
1788 	if(dynload_bob_get_container_depth_pre(c, &a) != 0) return(0);
1789 
1790 	return(bob_get_container_depth(a.container));
1791 }
1792 
dynload_bob_set_container_depth(struct a_funcs * c)1793 __VISIBILITY_DEFAULT__ void dynload_bob_set_container_depth(struct a_funcs *c) {
1794 	struct par_bob_set_container_depth a;
1795 
1796 	if(dynload_bob_set_container_depth_pre(c, &a) != 0) return;
1797 
1798 	(void) bob_set_container_depth(a.container, a.depth);
1799 }
1800 
dynload_bob_create(struct a_funcs * c)1801 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_create(struct a_funcs *c) {
1802 	struct par_bob_create a;
1803 
1804 	if(dynload_bob_create_pre(c, &a) != 0) return(0);
1805 
1806 	return(bob_create(a.file, a.container, a.altitude, a.x, a.y, a.depth));
1807 }
1808 
dynload_bob_create_background(struct a_funcs * c)1809 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_create_background(struct a_funcs *c) {
1810 	struct par_bob_create_background a;
1811 
1812 	if(dynload_bob_create_background_pre(c, &a) != 0) return(0);
1813 
1814 	return(bob_create_background(a.file, a.container, a.opaque, a.depth));
1815 }
1816 
dynload_bob_create_container(struct a_funcs * c)1817 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_create_container(struct a_funcs *c) {
1818 	struct par_bob_create_container a;
1819 
1820 	if(dynload_bob_create_container_pre(c, &a) != 0) return(0);
1821 
1822 	return(bob_create_container(a.handle, a.depth));
1823 }
1824 
dynload_bob_delete(struct a_funcs * c)1825 __VISIBILITY_DEFAULT__ void dynload_bob_delete(struct a_funcs *c) {
1826 	struct par_bob_delete a;
1827 
1828 	if(dynload_bob_delete_pre(c, &a) != 0) return;
1829 
1830 	(void) bob_delete(a.container, a.bob);
1831 }
1832 
dynload_bob_delete_container(struct a_funcs * c)1833 __VISIBILITY_DEFAULT__ void dynload_bob_delete_container(struct a_funcs *c) {
1834 	struct par_bob_delete_container a;
1835 
1836 	if(dynload_bob_delete_container_pre(c, &a) != 0) return;
1837 
1838 	(void) bob_delete_container(a.container);
1839 }
1840 
dynload_bob_init_file(struct a_funcs * c)1841 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_init_file(struct a_funcs *c) {
1842 	struct par_bob_init_file a;
1843 
1844 	if(dynload_bob_init_file_pre(c, &a) != 0) return(0);
1845 
1846 	return(bob_init_file(a.name));
1847 }
1848 
dynload_bob_init_image(struct a_funcs * c)1849 __VISIBILITY_DEFAULT__ unsigned int dynload_bob_init_image(struct a_funcs *c) {
1850 	struct par_bob_init_image a;
1851 
1852 	if(dynload_bob_init_image_pre(c, &a) != 0) return(0);
1853 
1854 	return(bob_init_image(a.width, a.height));
1855 }
1856 
dynload_bob_free_file(struct a_funcs * c)1857 __VISIBILITY_DEFAULT__ void dynload_bob_free_file(struct a_funcs *c) {
1858 	struct par_bob_free_file a;
1859 
1860 	if(dynload_bob_free_file_pre(c, &a) != 0) return;
1861 
1862 	(void) bob_free_file(a.file);
1863 }
1864 
dynload_bob_free_image(struct a_funcs * c)1865 __VISIBILITY_DEFAULT__ void dynload_bob_free_image(struct a_funcs *c) {
1866 	struct par_bob_free_image a;
1867 
1868 	if(dynload_bob_free_image_pre(c, &a) != 0) return;
1869 
1870 	(void) bob_free_image(a.image);
1871 }
1872 #endif
1873 #if ! defined(PROG_DISABLE_IMAGE)
dynload_image_read(struct a_funcs * c)1874 __VISIBILITY_DEFAULT__ void *dynload_image_read(struct a_funcs *c) {
1875 	struct par_image_read a;
1876 
1877 	struct t_img *t;
1878 
1879 	if(dynload_image_read_pre(c, &a) != 0) return(NULL);
1880 
1881 	if((t = image_read(a.name, 1)) == NULL) return(NULL);
1882 
1883 	(void) dynload_image_read_op(&a, t);
1884 
1885 	return(dynload_ret_image(&a.image));
1886 }
1887 
dynload_image_read_bmp(struct a_funcs * c)1888 __VISIBILITY_DEFAULT__ void *dynload_image_read_bmp(struct a_funcs *c) {
1889 	struct par_image_read a;
1890 
1891 	struct t_img *t;
1892 
1893 	if(dynload_image_read_pre(c, &a) != 0) return(NULL);
1894 
1895 	if((t = image_bmp_read(a.name, 1)) == NULL) return(NULL);
1896 
1897 	(void) dynload_image_read_op(&a, t);
1898 
1899 	return(dynload_ret_image(&a.image));
1900 }
1901 
dynload_image_read_tga(struct a_funcs * c)1902 __VISIBILITY_DEFAULT__ void *dynload_image_read_tga(struct a_funcs *c) {
1903 	struct par_image_read a;
1904 
1905 	struct t_img *t;
1906 
1907 	if(dynload_image_read_pre(c, &a) != 0) return(NULL);
1908 
1909 	if((t = image_tga_read(a.name, 1)) == NULL) return(NULL);
1910 
1911 	(void) dynload_image_read_op(&a, t);
1912 
1913 	return(dynload_ret_image(&a.image));
1914 }
1915 
dynload_image_read_op(struct par_image_read * a,struct t_img * t)1916 static void dynload_image_read_op(struct par_image_read *a, struct t_img *t) {
1917 	a->image.image.w = (unsigned int) t->w;
1918 	a->image.image.h = (unsigned int) t->h;
1919 
1920 	a->image.image.s = t->p;
1921 
1922 	a->image.s = NULL;
1923 }
1924 
dynload_image_write_bmp(struct a_funcs * c)1925 __VISIBILITY_DEFAULT__ int dynload_image_write_bmp(struct a_funcs *c) {
1926 	struct par_image_write a;
1927 
1928 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1929 
1930 	return(image_bmp_write_32(a.image, a.width, a.height, a.name));
1931 }
1932 
dynload_image_write_cel(struct a_funcs * c)1933 __VISIBILITY_DEFAULT__ int dynload_image_write_cel(struct a_funcs *c) {
1934 	struct par_image_write a;
1935 
1936 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1937 
1938 	return(image_cel_write_32(a.image, a.width, a.height, a.name));
1939 }
1940 
dynload_image_write_pix(struct a_funcs * c)1941 __VISIBILITY_DEFAULT__ int dynload_image_write_pix(struct a_funcs *c) {
1942 	struct par_image_write a;
1943 
1944 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1945 
1946 	return(image_pix_write_32(a.image, a.width, a.height, a.name));
1947 }
1948 
dynload_image_write_ppm(struct a_funcs * c)1949 __VISIBILITY_DEFAULT__ int dynload_image_write_ppm(struct a_funcs *c) {
1950 	struct par_image_write a;
1951 
1952 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1953 
1954 	return(image_ppm_write_32(a.image, a.width, a.height, a.name));
1955 }
1956 
dynload_image_write_ras(struct a_funcs * c)1957 __VISIBILITY_DEFAULT__ int dynload_image_write_ras(struct a_funcs *c) {
1958 	struct par_image_write a;
1959 
1960 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1961 
1962 	return(image_ras_write_32(a.image, a.width, a.height, a.name));
1963 }
1964 
dynload_image_write_rgb(struct a_funcs * c)1965 __VISIBILITY_DEFAULT__ int dynload_image_write_rgb(struct a_funcs *c) {
1966 	struct par_image_write a;
1967 
1968 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1969 
1970 	return(image_rgb_write_32(a.image, a.width, a.height, a.name));
1971 }
1972 
dynload_image_write_rla(struct a_funcs * c)1973 __VISIBILITY_DEFAULT__ int dynload_image_write_rla(struct a_funcs *c) {
1974 	struct par_image_write a;
1975 
1976 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1977 
1978 	return(image_rla_write_32(a.image, a.width, a.height, a.name));
1979 }
1980 
dynload_image_write_tga(struct a_funcs * c)1981 __VISIBILITY_DEFAULT__ int dynload_image_write_tga(struct a_funcs *c) {
1982 	struct par_image_write a;
1983 
1984 	if(dynload_image_write_pre(c, &a) != 0) return(-1);
1985 
1986 	return(image_tga_write_32(a.image, a.width, a.height, a.name));
1987 }
1988 #endif
1989 #if ! defined(PROG_DISABLE_REMOTE)
dynload_remote_init(struct a_funcs * c)1990 __VISIBILITY_DEFAULT__ void dynload_remote_init(struct a_funcs *c) {
1991 	if(dynload_remote_init_pre(c) != 0) return;
1992 
1993 	(void) thread_spawn(NULL, worker_remote, NULL, NULL);
1994 }
1995 #endif
dynload_node_get_system(struct a_funcs * c)1996 __VISIBILITY_DEFAULT__ void *dynload_node_get_system(struct a_funcs *c) {
1997 	if(dynload_node_get_pre(c) != 0) return(NULL);
1998 
1999 	return(dynload_ret_string((void *) node_get_system()));
2000 }
2001 
dynload_node_get_release(struct a_funcs * c)2002 __VISIBILITY_DEFAULT__ void *dynload_node_get_release(struct a_funcs *c) {
2003 	if(dynload_node_get_pre(c) != 0) return(NULL);
2004 
2005 	return(dynload_ret_string((void *) node_get_release()));
2006 }
2007 
dynload_node_get_machine(struct a_funcs * c)2008 __VISIBILITY_DEFAULT__ void *dynload_node_get_machine(struct a_funcs *c) {
2009 	if(dynload_node_get_pre(c) != 0) return(NULL);
2010 
2011 	return(dynload_ret_string((void *) node_get_machine()));
2012 }
2013 
dynload_node_get_hostname(struct a_funcs * c)2014 __VISIBILITY_DEFAULT__ void *dynload_node_get_hostname(struct a_funcs *c) {
2015 	if(dynload_node_get_pre(c) != 0) return(NULL);
2016 
2017 	return(dynload_ret_string((void *) node_get_node()));
2018 }
2019 
dynload_node_get_username(struct a_funcs * c)2020 __VISIBILITY_DEFAULT__ void *dynload_node_get_username(struct a_funcs *c) {
2021 	if(dynload_node_get_pre(c) != 0) return(NULL);
2022 
2023 	return(dynload_ret_string((void *) node_get_user()));
2024 }
2025 
dynload_node_get_groupname(struct a_funcs * c)2026 __VISIBILITY_DEFAULT__ void *dynload_node_get_groupname(struct a_funcs *c) {
2027 	if(dynload_node_get_pre(c) != 0) return(NULL);
2028 
2029 	return(dynload_ret_string((void *) node_get_group()));
2030 }
2031 
dynload_node_get_homedir(struct a_funcs * c)2032 __VISIBILITY_DEFAULT__ void *dynload_node_get_homedir(struct a_funcs *c) {
2033 	if(dynload_node_get_pre(c) != 0) return(NULL);
2034 
2035 	return(dynload_ret_string((void *) node_get_homedir()));
2036 }
2037 
dynload_clock_get_ticks_pre(struct a_funcs * c)2038 static int dynload_clock_get_ticks_pre(struct a_funcs *c) {
2039 	if(c->c != DYNLOAD_CLOCK_GET_TICKS_PARAMS) {
2040 		(void) dynload_error_params(c, DYNLOAD_CLOCK_GET_TICKS_PARAMS);
2041 
2042 		return(-1);
2043 	}
2044 
2045 	return(0);
2046 }
2047 
dynload_clock_get_multiplier_pre(struct a_funcs * c)2048 static int dynload_clock_get_multiplier_pre(struct a_funcs *c) {
2049 	if(c->c != DYNLOAD_CLOCK_GET_MULTIPLIER_PARAMS) {
2050 		(void) dynload_error_params(c, DYNLOAD_CLOCK_GET_MULTIPLIER_PARAMS);
2051 
2052 		return(-1);
2053 	}
2054 
2055 	return(0);
2056 }
2057 
dynload_clock_set_pre(struct a_funcs * c,struct par_clock_set * a)2058 static int dynload_clock_set_pre(struct a_funcs *c, struct par_clock_set *a) {
2059 	if(c->c != DYNLOAD_CLOCK_SET_PARAMS) {
2060 		(void) dynload_error_params(c, DYNLOAD_CLOCK_SET_PARAMS);
2061 
2062 		return(-1);
2063 	}
2064 
2065 	/* Pass parameters to clock_set() */
2066 	a->ticks = dynload_param_get_number(&c->p[0]);
2067 
2068 	return(0);
2069 }
2070 
dynload_clock_set_multiplier_pre(struct a_funcs * c,struct par_clock_set_multiplier * a)2071 static int dynload_clock_set_multiplier_pre(struct a_funcs *c, struct par_clock_set_multiplier *a) {
2072 	if(c->c != DYNLOAD_CLOCK_SET_MULTIPLIER_PARAMS) {
2073 		(void) dynload_error_params(c, DYNLOAD_CLOCK_SET_MULTIPLIER_PARAMS);
2074 
2075 		return(-1);
2076 	}
2077 
2078 	/* Pass parameters to clock_set_multiplier() */
2079 	a->multiplier = dynload_param_get_number(&c->p[0]);
2080 
2081 	return(0);
2082 }
2083 #if ! defined(PROG_DISABLE_COLOR)
dynload_color_brightness_pre(struct a_funcs * c,struct par_color_brightness * a)2084 static int dynload_color_brightness_pre(struct a_funcs *c, struct par_color_brightness *a) {
2085 	if(c->c != DYNLOAD_COLOR_BRIGHTNESS_PARAMS) {
2086 		(void) dynload_error_params(c, DYNLOAD_COLOR_BRIGHTNESS_PARAMS);
2087 
2088 		return(-1);
2089 	}
2090 
2091 	/* Pass parameters to color_rgba_brightness() */
2092 	a->color.pixel.p = dynload_pre_color(c, 0);
2093 
2094 	return(0);
2095 }
2096 
dynload_color_bv_index_pre(struct a_funcs * c,struct par_color_bv_index * a)2097 static int dynload_color_bv_index_pre(struct a_funcs *c, struct par_color_bv_index *a) {
2098 	if(c->c != DYNLOAD_COLOR_BV_INDEX_PARAMS) {
2099 		(void) dynload_error_params(c, DYNLOAD_COLOR_BV_INDEX_PARAMS);
2100 
2101 		return(-1);
2102 	}
2103 
2104 	/* Pass parameters to color_bv_to_rgba() */
2105 	a->index = dynload_param_get_number(&c->p[0]);
2106 	a->magnitude = dynload_param_get_number(&c->p[1]);
2107 
2108 	return(0);
2109 }
2110 
dynload_color_complement_pre(struct a_funcs * c,struct par_color_complement * a)2111 static int dynload_color_complement_pre(struct a_funcs *c, struct par_color_complement *a) {
2112 	if(c->c != DYNLOAD_COLOR_COMPLEMENT_PARAMS) {
2113 		(void) dynload_error_params(c, DYNLOAD_COLOR_COMPLEMENT_PARAMS);
2114 
2115 		return(-1);
2116 	}
2117 
2118 	/* Pass parameters to color_rgba_complement() */
2119 	a->color.pixel.p = dynload_pre_color(c, 0);
2120 
2121 	return(0);
2122 }
2123 
dynload_color_mix_pre(struct a_funcs * c,struct par_color_mix * a)2124 static int dynload_color_mix_pre(struct a_funcs *c, struct par_color_mix *a) {
2125 	if(c->c != DYNLOAD_COLOR_MIX_PARAMS) {
2126 		(void) dynload_error_params(c, DYNLOAD_COLOR_MIX_PARAMS);
2127 
2128 		return(-1);
2129 	}
2130 
2131 	/* Pass parameters to color_rgba_mix() */
2132 	a->color_a.pixel.p = dynload_pre_color(c, 0);
2133 	a->color_b.pixel.p = dynload_pre_color(c, 1);
2134 
2135 	a->factor = dynload_param_get_number(&c->p[2]);
2136 
2137 	return(0);
2138 }
2139 #endif
2140 #if ! defined(PROG_DISABLE_COORDS)
dynload_coords_mag_pre(struct a_funcs * c,struct par_coords_mag * a)2141 static int dynload_coords_mag_pre(struct a_funcs *c, struct par_coords_mag *a) {
2142 	if(c->c != DYNLOAD_COORDS_MAG_PARAMS) {
2143 		(void) dynload_error_params(c, DYNLOAD_COORDS_MAG_PARAMS);
2144 
2145 		return(-1);
2146 	}
2147 
2148 	/* Pass parameters to coords_mag_[2d|3d]() */
2149 	(void) dynload_pre_point(c, 0, &a->pos.x, &a->pos.y, &a->pos.z);
2150 
2151 	return(0);
2152 }
2153 
dynload_coords_normalize_pre(struct a_funcs * c,struct par_coords_normalize * a)2154 static int dynload_coords_normalize_pre(struct a_funcs *c, struct par_coords_normalize *a) {
2155 	if(c->c != DYNLOAD_COORDS_NORMALIZE_PARAMS) {
2156 		(void) dynload_error_params(c, DYNLOAD_COORDS_NORMALIZE_PARAMS);
2157 
2158 		return(-1);
2159 	}
2160 
2161 	/* Pass parameters to coords_normalize_[2d|3d]() */
2162 	(void) dynload_pre_point(c, 0, &a->pos.x, &a->pos.y, &a->pos.z);
2163 
2164 	return(0);
2165 }
2166 
dynload_coords_difference_pre(struct a_funcs * c,struct par_coords_difference * a)2167 static int dynload_coords_difference_pre(struct a_funcs *c, struct par_coords_difference *a) {
2168 	if(c->c != DYNLOAD_COORDS_DIFFERENCE_PARAMS) {
2169 		(void) dynload_error_params(c, DYNLOAD_COORDS_DIFFERENCE_PARAMS);
2170 
2171 		return(-1);
2172 	}
2173 
2174 	/* Pass parameters to coords_difference_[2d|3d]() */
2175 	(void) dynload_pre_point(c, 0, &a->pos_a.x, &a->pos_a.y, &a->pos_a.z);
2176 	(void) dynload_pre_point(c, 1, &a->pos_b.x, &a->pos_b.y, &a->pos_b.z);
2177 
2178 	return(0);
2179 }
2180 
dynload_coords_get_angle_pre(struct a_funcs * c,struct par_coords_get_angle * a)2181 static int dynload_coords_get_angle_pre(struct a_funcs *c, struct par_coords_get_angle *a) {
2182 	if(c->c != DYNLOAD_COORDS_GET_ANGLE_PARAMS) {
2183 		(void) dynload_error_params(c, DYNLOAD_COORDS_GET_ANGLE_PARAMS);
2184 
2185 		return(-1);
2186 	}
2187 
2188 	/* Pass parameters to coords_position_to_angle() */
2189 	(void) dynload_pre_point(c, 0, &a->pos.x, &a->pos.y, &a->pos.z);
2190 
2191 	return(0);
2192 }
2193 
dynload_coords_get_pos_pre(struct a_funcs * c,struct par_coords_get_pos * a)2194 static int dynload_coords_get_pos_pre(struct a_funcs *c, struct par_coords_get_pos *a) {
2195 	if(c->c != DYNLOAD_COORDS_GET_POS_PARAMS) {
2196 		(void) dynload_error_params(c, DYNLOAD_COORDS_GET_POS_PARAMS);
2197 
2198 		return(-1);
2199 	}
2200 
2201 	/* Pass parameters to coords_angle_distance_to_position() */
2202 	a->angle = dynload_param_get_number(&c->p[0]);
2203 	a->distance = dynload_param_get_number(&c->p[1]);
2204 
2205 	return(0);
2206 }
2207 
dynload_coords_dot_product_pre(struct a_funcs * c,struct par_coords_dot_product * a)2208 static int dynload_coords_dot_product_pre(struct a_funcs *c, struct par_coords_dot_product *a) {
2209 	if(c->c != DYNLOAD_COORDS_DOT_PRODUCT_PARAMS) {
2210 		(void) dynload_error_params(c, DYNLOAD_COORDS_DOT_PRODUCT_PARAMS);
2211 
2212 		return(-1);
2213 	}
2214 
2215 	/* Pass parameters to coords_dot() */
2216 	(void) dynload_pre_point(c, 0, &a->pos_a.x, &a->pos_a.y, &a->pos_a.z);
2217 	(void) dynload_pre_point(c, 1, &a->pos_b.x, &a->pos_b.y, &a->pos_b.z);
2218 
2219 	return(0);
2220 }
2221 
dynload_coords_intp_linear_pre(struct a_funcs * c,struct par_coords_intp_linear * a)2222 static int dynload_coords_intp_linear_pre(struct a_funcs *c, struct par_coords_intp_linear *a) {
2223 	if(c->c != DYNLOAD_COORDS_INTP_LINEAR_PARAMS) {
2224 		(void) dynload_error_params(c, DYNLOAD_COORDS_INTP_LINEAR_PARAMS);
2225 
2226 		return(-1);
2227 	}
2228 
2229 	/* Pass parameters to coords_intp_linear_[x|y|z]() */
2230 	(void) dynload_pre_point(c, 0, &a->pos_a.x, &a->pos_a.y, &a->pos_a.z);
2231 	(void) dynload_pre_point(c, 1, &a->pos_b.x, &a->pos_b.y, &a->pos_b.z);
2232 
2233 	a->point = dynload_param_get_number(&c->p[2]);
2234 
2235 	return(0);
2236 }
2237 
dynload_coords_intp_cubic_pre(struct a_funcs * c,struct par_coords_intp_cubic * a)2238 static int dynload_coords_intp_cubic_pre(struct a_funcs *c, struct par_coords_intp_cubic *a) {
2239 	if(c->c != DYNLOAD_COORDS_INTP_CUBIC_PARAMS) {
2240 		(void) dynload_error_params(c, DYNLOAD_COORDS_INTP_CUBIC_PARAMS);
2241 
2242 		return(-1);
2243 	}
2244 
2245 	/* Pass parameters to coords_intp_cubic_[x|y|z]() */
2246 	(void) dynload_pre_point(c, 0, &a->pos_a.x, &a->pos_a.y, &a->pos_a.z);
2247 	(void) dynload_pre_point(c, 1, &a->pos_b.x, &a->pos_b.y, &a->pos_b.z);
2248 	(void) dynload_pre_point(c, 2, &a->pos_c.x, &a->pos_c.y, &a->pos_c.z);
2249 	(void) dynload_pre_point(c, 3, &a->pos_d.x, &a->pos_d.y, &a->pos_d.z);
2250 
2251 	a->point = dynload_param_get_number(&c->p[4]);
2252 
2253 	return(0);
2254 }
2255 
dynload_coords_intp_catmull_pre(struct a_funcs * c,struct par_coords_intp_catmull * a)2256 static int dynload_coords_intp_catmull_pre(struct a_funcs *c, struct par_coords_intp_catmull *a) {
2257 	if(c->c != DYNLOAD_COORDS_INTP_CATMULL_PARAMS) {
2258 		(void) dynload_error_params(c, DYNLOAD_COORDS_INTP_CATMULL_PARAMS);
2259 
2260 		return(-1);
2261 	}
2262 
2263 	/* Pass parameters to coords_intp_catmull_[x|y|z]() */
2264 	(void) dynload_pre_point(c, 0, &a->pos_a.x, &a->pos_a.y, &a->pos_a.z);
2265 	(void) dynload_pre_point(c, 1, &a->pos_b.x, &a->pos_b.y, &a->pos_b.z);
2266 	(void) dynload_pre_point(c, 2, &a->pos_c.x, &a->pos_c.y, &a->pos_c.z);
2267 	(void) dynload_pre_point(c, 3, &a->pos_d.x, &a->pos_d.y, &a->pos_d.z);
2268 
2269 	a->point = dynload_param_get_number(&c->p[4]);
2270 
2271 	return(0);
2272 }
2273 
dynload_coords_intp_hermite_pre(struct a_funcs * c,struct par_coords_intp_hermite * a)2274 static int dynload_coords_intp_hermite_pre(struct a_funcs *c, struct par_coords_intp_hermite *a) {
2275 	if(c->c != DYNLOAD_COORDS_INTP_HERMITE_PARAMS) {
2276 		(void) dynload_error_params(c, DYNLOAD_COORDS_INTP_HERMITE_PARAMS);
2277 
2278 		return(-1);
2279 	}
2280 
2281 	/* Pass parameters to coords_intp_hermite_[x|y|z]() */
2282 	(void) dynload_pre_point(c, 0, &a->pos_a.x, &a->pos_a.y, &a->pos_a.z);
2283 	(void) dynload_pre_point(c, 1, &a->pos_b.x, &a->pos_b.y, &a->pos_b.z);
2284 	(void) dynload_pre_point(c, 2, &a->pos_c.x, &a->pos_c.y, &a->pos_c.z);
2285 	(void) dynload_pre_point(c, 3, &a->pos_d.x, &a->pos_d.y, &a->pos_d.z);
2286 
2287 	a->point = dynload_param_get_number(&c->p[4]);
2288 	a->bias = dynload_param_get_number(&c->p[5]);
2289 	a->tension = dynload_param_get_number(&c->p[6]);
2290 
2291 	return(0);
2292 }
2293 #endif
2294 #if ! defined(PROG_DISABLE_MATH)
dynload_math_clamp_pre(struct a_funcs * c,struct par_math_clamp * a)2295 static int dynload_math_clamp_pre(struct a_funcs *c, struct par_math_clamp *a) {
2296 	if(c->c != DYNLOAD_MATH_CLAMP_PARAMS) {
2297 		(void) dynload_error_params(c, DYNLOAD_MATH_CLAMP_PARAMS);
2298 
2299 		return(-1);
2300 	}
2301 
2302 	/* Pass parameters to maths_clamp() */
2303 	a->clamp = dynload_param_get_number(&c->p[0]);
2304 
2305 	a->min = dynload_param_get_number(&c->p[1]);
2306 	a->max = dynload_param_get_number(&c->p[2]);
2307 
2308 	return(0);
2309 }
2310 
dynload_math_map_pre(struct a_funcs * c,struct par_math_map * a)2311 static int dynload_math_map_pre(struct a_funcs *c, struct par_math_map *a) {
2312 	if(c->c != DYNLOAD_MATH_MAP_PARAMS) {
2313 		(void) dynload_error_params(c, DYNLOAD_MATH_MAP_PARAMS);
2314 
2315 		return(-1);
2316 	}
2317 
2318 	/* Pass parameters to maths_map() */
2319 	a->map = dynload_param_get_number(&c->p[0]);
2320 
2321 	a->cur_min = dynload_param_get_number(&c->p[1]);
2322 	a->cur_max = dynload_param_get_number(&c->p[2]);
2323 	a->map_min = dynload_param_get_number(&c->p[3]);
2324 	a->map_max = dynload_param_get_number(&c->p[4]);
2325 
2326 	return(0);
2327 }
2328 
dynload_math_get_hcf_pre(struct a_funcs * c,struct par_math_get_hcf * a)2329 static int dynload_math_get_hcf_pre(struct a_funcs *c, struct par_math_get_hcf *a) {
2330 	if(c->c != DYNLOAD_MATH_GET_HCF_PARAMS) {
2331 		(void) dynload_error_params(c, DYNLOAD_MATH_GET_HCF_PARAMS);
2332 
2333 		return(-1);
2334 	}
2335 
2336 	/* Pass parameters to maths_hcf() */
2337 	a->hcf_a = dynload_param_get_number(&c->p[0]);
2338 	a->hcf_b = dynload_param_get_number(&c->p[1]);
2339 
2340 	return(0);
2341 }
2342 
dynload_math_get_luminance_pre(struct a_funcs * c,struct par_math_get_luminance * a)2343 static int dynload_math_get_luminance_pre(struct a_funcs *c, struct par_math_get_luminance *a) {
2344 	if(c->c != DYNLOAD_MATH_GET_LUMINANCE_PARAMS) {
2345 		(void) dynload_error_params(c, DYNLOAD_MATH_GET_LUMINANCE_PARAMS);
2346 
2347 		return(-1);
2348 	}
2349 
2350 	/* Pass parameters to maths_luminance_by_radius_temperature() */
2351 	a->radius = dynload_param_get_number(&c->p[0]);
2352 	a->temperature = dynload_param_get_number(&c->p[1]);
2353 
2354 	return(0);
2355 }
2356 
dynload_math_get_parsec_pre(struct a_funcs * c,struct par_math_get_parsec * a)2357 static int dynload_math_get_parsec_pre(struct a_funcs *c, struct par_math_get_parsec *a) {
2358 	if(c->c != DYNLOAD_MATH_GET_PARSEC_PARAMS) {
2359 		(void) dynload_error_params(c, DYNLOAD_MATH_GET_PARSEC_PARAMS);
2360 
2361 		return(-1);
2362 	}
2363 
2364 	/* Pass parameters to maths_parsec_by_parallax() */
2365 	a->parallax = dynload_param_get_number(&c->p[0]);
2366 
2367 	return(0);
2368 }
2369 
dynload_math_get_radius_pre(struct a_funcs * c,struct par_math_get_radius * a)2370 static int dynload_math_get_radius_pre(struct a_funcs *c, struct par_math_get_radius *a) {
2371 	if(c->c != DYNLOAD_MATH_GET_RADIUS_PARAMS) {
2372 		(void) dynload_error_params(c, DYNLOAD_MATH_GET_RADIUS_PARAMS);
2373 
2374 		return(-1);
2375 	}
2376 
2377 	/* Pass parameters to maths_radius_by_amag_temperature() */
2378 	a->amag = dynload_param_get_number(&c->p[0]);
2379 	a->temperature = dynload_param_get_number(&c->p[1]);
2380 
2381 	return(0);
2382 }
2383 
dynload_math_btvt_to_bv_pre(struct a_funcs * c,struct par_math_btvt_to_bv * a)2384 static int dynload_math_btvt_to_bv_pre(struct a_funcs *c, struct par_math_btvt_to_bv *a) {
2385 	if(c->c != DYNLOAD_MATH_BTVT_TO_BV_PARAMS) {
2386 		(void) dynload_error_params(c, DYNLOAD_MATH_BTVT_TO_BV_PARAMS);
2387 
2388 		return(-1);
2389 	}
2390 
2391 	/* Pass parameters to maths_btvt_to_bv() */
2392 	a->btvt = dynload_param_get_number(&c->p[0]);
2393 
2394 	return(0);
2395 }
2396 
dynload_math_bv_to_temp_pre(struct a_funcs * c,struct par_math_bv_to_temp * a)2397 static int dynload_math_bv_to_temp_pre(struct a_funcs *c, struct par_math_bv_to_temp *a) {
2398 	if(c->c != DYNLOAD_MATH_BV_TO_TEMP_PARAMS) {
2399 		(void) dynload_error_params(c, DYNLOAD_MATH_BV_TO_TEMP_PARAMS);
2400 
2401 		return(-1);
2402 	}
2403 
2404 	/* Pass parameters to maths_bv_to_temperature() */
2405 	a->bv = dynload_param_get_number(&c->p[0]);
2406 
2407 	return(0);
2408 }
2409 
dynload_math_hp_to_vmag_pre(struct a_funcs * c,struct par_math_hp_to_vmag * a)2410 static int dynload_math_hp_to_vmag_pre(struct a_funcs *c, struct par_math_hp_to_vmag *a) {
2411 	if(c->c != DYNLOAD_MATH_HP_TO_VMAG_PARAMS) {
2412 		(void) dynload_error_params(c, DYNLOAD_MATH_HP_TO_VMAG_PARAMS);
2413 
2414 		return(-1);
2415 	}
2416 
2417 	/* Pass parameters to maths_hp_to_vmag() */
2418 	a->hp = dynload_param_get_number(&c->p[0]);
2419 	a->btvt = dynload_param_get_number(&c->p[1]);
2420 
2421 	return(0);
2422 }
2423 
dynload_math_vt_to_vmag_pre(struct a_funcs * c,struct par_math_vt_to_vmag * a)2424 static int dynload_math_vt_to_vmag_pre(struct a_funcs *c, struct par_math_vt_to_vmag *a) {
2425 	if(c->c != DYNLOAD_MATH_VT_TO_VMAG_PARAMS) {
2426 		(void) dynload_error_params(c, DYNLOAD_MATH_VT_TO_VMAG_PARAMS);
2427 
2428 		return(-1);
2429 	}
2430 
2431 	/* Pass parameters to maths_vt_to_vmag() */
2432 	a->vt = dynload_param_get_number(&c->p[0]);
2433 	a->btvt = dynload_param_get_number(&c->p[1]);
2434 
2435 	return(0);
2436 }
2437 
dynload_math_vmag_to_alpha_pre(struct a_funcs * c,struct par_math_vmag_to_alpha * a)2438 static int dynload_math_vmag_to_alpha_pre(struct a_funcs *c, struct par_math_vmag_to_alpha *a) {
2439 	if(c->c != DYNLOAD_MATH_VMAG_TO_ALPHA_PARAMS) {
2440 		(void) dynload_error_params(c, DYNLOAD_MATH_VMAG_TO_ALPHA_PARAMS);
2441 
2442 		return(-1);
2443 	}
2444 
2445 	/* Pass parameters to maths_vmag_to_alpha() */
2446 	a->vmag = dynload_param_get_number(&c->p[0]);
2447 
2448 	return(0);
2449 }
2450 #endif
2451 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_DRAW)
dynload_draw_pixel_pre(struct a_funcs * c,struct par_draw_pixel * a)2452 static int dynload_draw_pixel_pre(struct a_funcs *c, struct par_draw_pixel *a) {
2453 	if(c->c != DYNLOAD_DRAW_PIXEL_PARAMS) {
2454 		(void) dynload_error_params(c, DYNLOAD_DRAW_PIXEL_PARAMS);
2455 
2456 		return(-1);
2457 	}
2458 
2459 	/* Pass parameters to gui_draw_pixel[_alpha]() */
2460 	a->handle = dynload_param_get_handle(&c->p[0]);
2461 
2462 	a->pixel.x = (int) dynload_param_get_number(&c->p[1]);
2463 	a->pixel.y = (int) dynload_param_get_number(&c->p[2]);
2464 
2465 	a->pixel.p.pixel.p = dynload_pre_color(c, 3);
2466 
2467 	return(0);
2468 }
2469 
dynload_draw_subpixel_pre(struct a_funcs * c,struct par_draw_subpixel * a)2470 static int dynload_draw_subpixel_pre(struct a_funcs *c, struct par_draw_subpixel *a) {
2471 	if(c->c != DYNLOAD_DRAW_SUBPIXEL_PARAMS) {
2472 		(void) dynload_error_params(c, DYNLOAD_DRAW_SUBPIXEL_PARAMS);
2473 
2474 		return(-1);
2475 	}
2476 
2477 	/* Pass parameters to gui_draw_subpixel[_alpha]() */
2478 	a->handle = dynload_param_get_handle(&c->p[0]);
2479 
2480 	a->subpixel.x = dynload_param_get_number(&c->p[1]);
2481 	a->subpixel.y = dynload_param_get_number(&c->p[2]);
2482 
2483 	a->subpixel.p.pixel.p = dynload_pre_color(c, 3);
2484 
2485 	return(0);
2486 }
2487 
dynload_draw_line_pre(struct a_funcs * c,struct par_draw_line * a)2488 static int dynload_draw_line_pre(struct a_funcs *c, struct par_draw_line *a) {
2489 	if(c->c != DYNLOAD_DRAW_LINE_PARAMS) {
2490 		(void) dynload_error_params(c, DYNLOAD_DRAW_LINE_PARAMS);
2491 
2492 		return(-1);
2493 	}
2494 
2495 	/* Pass parameters to gui_draw_line[_aa|_alpha]() */
2496 	a->handle = dynload_param_get_handle(&c->p[0]);
2497 
2498 	a->line.x1 = (int) dynload_param_get_number(&c->p[1]);
2499 	a->line.y1 = (int) dynload_param_get_number(&c->p[2]);
2500 	a->line.x2 = (int) dynload_param_get_number(&c->p[3]);
2501 	a->line.y2 = (int) dynload_param_get_number(&c->p[4]);
2502 
2503 	a->line.p.pixel.p = dynload_pre_color(c, 5);
2504 
2505 	return(0);
2506 }
2507 
dynload_draw_circle_pre(struct a_funcs * c,struct par_draw_circle * a)2508 static int dynload_draw_circle_pre(struct a_funcs *c, struct par_draw_circle *a) {
2509 	if(c->c != DYNLOAD_DRAW_CIRCLE_PARAMS) {
2510 		(void) dynload_error_params(c, DYNLOAD_DRAW_CIRCLE_PARAMS);
2511 
2512 		return(-1);
2513 	}
2514 
2515 	/* Pass parameters to gui_draw_circle[_aa|_alpha]() */
2516 	a->handle = dynload_param_get_handle(&c->p[0]);
2517 
2518 	a->circle.x = (int) dynload_param_get_number(&c->p[1]);
2519 	a->circle.y = (int) dynload_param_get_number(&c->p[2]);
2520 
2521 	a->circle.n = (unsigned int) dynload_param_get_number(&c->p[3]);
2522 
2523 	a->circle.r = dynload_param_get_number(&c->p[4]);
2524 
2525 	a->circle.p.pixel.p = dynload_pre_color(c, 5);
2526 
2527 	a->circle.f = 0.0;
2528 	a->circle.d = 360.0;
2529 
2530 	return(0);
2531 }
2532 
dynload_draw_text_pre(struct a_funcs * c,struct par_draw_text * a)2533 static int dynload_draw_text_pre(struct a_funcs *c, struct par_draw_text *a) {
2534 	if(c->c != DYNLOAD_DRAW_TEXT_PARAMS) {
2535 		(void) dynload_error_params(c, DYNLOAD_DRAW_TEXT_PARAMS);
2536 
2537 		return(-1);
2538 	}
2539 
2540 	/* Pass parameters to gui_draw_text() */
2541 	a->handle = dynload_param_get_handle(&c->p[0]);
2542 
2543 	a->text.f = dynload_param_get_handle(&c->p[1]);
2544 
2545 	a->text.x = (int) dynload_param_get_number(&c->p[2]);
2546 	a->text.y = (int) dynload_param_get_number(&c->p[3]);
2547 
2548 	return(0);
2549 }
2550 
dynload_draw_set_pre(struct a_funcs * c,struct par_draw_set * a)2551 static int dynload_draw_set_pre(struct a_funcs *c, struct par_draw_set *a) {
2552 	if(c->c != DYNLOAD_DRAW_SET_PARAMS) {
2553 		(void) dynload_error_params(c, DYNLOAD_DRAW_SET_PARAMS);
2554 
2555 		return(-1);
2556 	}
2557 
2558 	/* Pass parameters to gui_draw_set[_alpha]() */
2559 	a->handle = dynload_param_get_handle(&c->p[0]);
2560 
2561 	a->set.x1 = (int) dynload_param_get_number(&c->p[1]);
2562 	a->set.y1 = (int) dynload_param_get_number(&c->p[2]);
2563 	a->set.x2 = (int) dynload_param_get_number(&c->p[3]);
2564 	a->set.y2 = (int) dynload_param_get_number(&c->p[4]);
2565 
2566 	a->set.p.pixel.p = dynload_pre_color(c, 5);
2567 
2568 	return(0);
2569 }
2570 
dynload_draw_border_pre(struct a_funcs * c,struct par_draw_border * a)2571 static int dynload_draw_border_pre(struct a_funcs *c, struct par_draw_border *a) {
2572 	if(c->c != DYNLOAD_DRAW_BORDER_PARAMS) {
2573 		(void) dynload_error_params(c, DYNLOAD_DRAW_BORDER_PARAMS);
2574 
2575 		return(-1);
2576 	}
2577 
2578 	/* Pass parameters to gui_draw_border[_alpha]() */
2579 	a->handle = dynload_param_get_handle(&c->p[0]);
2580 
2581 	a->border.x = (int) dynload_param_get_number(&c->p[1]);
2582 	a->border.y = (int) dynload_param_get_number(&c->p[2]);
2583 
2584 	a->border.w = (unsigned int) dynload_param_get_number(&c->p[3]);
2585 	a->border.h = (unsigned int) dynload_param_get_number(&c->p[4]);
2586 
2587 	a->border.t = (unsigned int) dynload_param_get_number(&c->p[5]);
2588 
2589 	a->border.p.pixel.p = dynload_pre_color(c, 6);
2590 
2591 	return(0);
2592 }
2593 
dynload_draw_copy_pre(struct a_funcs * c,struct par_draw_copy * a)2594 static int dynload_draw_copy_pre(struct a_funcs *c, struct par_draw_copy *a) {
2595 	if(c->c != DYNLOAD_DRAW_COPY_PARAMS) {
2596 		(void) dynload_error_params(c, DYNLOAD_DRAW_COPY_PARAMS);
2597 
2598 		return(-1);
2599 	}
2600 
2601 	/* Pass parameters to gui_draw_copy[_alpha]() */
2602 	a->handle = dynload_param_get_handle(&c->p[0]);
2603 
2604 	a->copy.sx = (int) dynload_param_get_number(&c->p[1]);
2605 	a->copy.sy = (int) dynload_param_get_number(&c->p[2]);
2606 	a->copy.dx = (int) dynload_param_get_number(&c->p[3]);
2607 	a->copy.dy = (int) dynload_param_get_number(&c->p[4]);
2608 
2609 	a->copy.c.width = (unsigned int) dynload_param_get_number(&c->p[5]);
2610 	a->copy.c.height = (unsigned int) dynload_param_get_number(&c->p[6]);
2611 
2612 	a->copy.s.width = 0;
2613 	a->copy.s.height = 0;
2614 
2615 	a->copy.p = NULL;
2616 
2617 	return(0);
2618 }
2619 
dynload_draw_wipe_pre(struct a_funcs * c,struct par_draw_wipe * a)2620 static int dynload_draw_wipe_pre(struct a_funcs *c, struct par_draw_wipe *a) {
2621 	if(c->c != DYNLOAD_DRAW_WIPE_PARAMS) {
2622 		(void) dynload_error_params(c, DYNLOAD_DRAW_WIPE_PARAMS);
2623 
2624 		return(-1);
2625 	}
2626 
2627 	/* Pass parameters to gui_draw_wipe() */
2628 	a->handle = dynload_param_get_handle(&c->p[0]);
2629 
2630 	return(0);
2631 }
2632 #endif
2633 #if ! defined(PROG_DISABLE_GUI)
dynload_font_open_pre(struct a_funcs * c,struct par_font_open * a)2634 static int dynload_font_open_pre(struct a_funcs *c, struct par_font_open *a) {
2635 	if(c->c != DYNLOAD_FONT_OPEN_PARAMS) {
2636 		(void) dynload_error_params(c, DYNLOAD_FONT_OPEN_PARAMS);
2637 
2638 		return(-1);
2639 	}
2640 
2641 	/* Pass parameters to fonts_open() */
2642 	a->font = (char *) dynload_param_get_string(&c->p[0]);
2643 
2644 	a->height = (unsigned int) dynload_param_get_number(&c->p[1]);
2645 	a->resolution = (unsigned int) dynload_param_get_number(&c->p[2]);
2646 
2647 	return(0);
2648 }
2649 
dynload_font_open_copy_pre(struct a_funcs * c,struct par_font_open_copy * a)2650 static int dynload_font_open_copy_pre(struct a_funcs *c, struct par_font_open_copy *a) {
2651 	if(c->c != DYNLOAD_FONT_OPEN_COPY_PARAMS) {
2652 		(void) dynload_error_params(c, DYNLOAD_FONT_OPEN_COPY_PARAMS);
2653 
2654 		return(-1);
2655 	}
2656 
2657 	/* Pass parameters to fonts_copy_copy() */
2658 	a->handle = dynload_param_get_handle(&c->p[0]);
2659 
2660 	return(0);
2661 }
2662 
dynload_font_close_pre(struct a_funcs * c,struct par_font_close * a)2663 static int dynload_font_close_pre(struct a_funcs *c, struct par_font_close *a) {
2664 	if(c->c != DYNLOAD_FONT_CLOSE_PARAMS) {
2665 		(void) dynload_error_params(c, DYNLOAD_FONT_CLOSE_PARAMS);
2666 
2667 		return(-1);
2668 	}
2669 
2670 	/* Pass parameters to fonts_close() */
2671 	a->handle = dynload_param_get_handle(&c->p[0]);
2672 
2673 	return(0);
2674 }
2675 
dynload_font_render_pre(struct a_funcs * c,struct par_font_render * a)2676 static int dynload_font_render_pre(struct a_funcs *c, struct par_font_render *a) {
2677 	struct pixel_rgba_8 p;
2678 
2679 	if(c->c != DYNLOAD_FONT_RENDER_PARAMS) {
2680 		(void) dynload_error_params(c, DYNLOAD_FONT_RENDER_PARAMS);
2681 
2682 		return(-1);
2683 	}
2684 
2685 	/* Pass parameters to fonts_render() */
2686 	a->handle = dynload_param_get_handle(&c->p[0]);
2687 
2688 	a->charset = (char *) dynload_param_get_string(&c->p[1]);
2689 	a->string = (char *) dynload_param_get_string(&c->p[2]);
2690 
2691 	a->length = (size_t) dynload_param_get_number(&c->p[3]);
2692 
2693 	if(a->length == 0) a->length = str_len(a->string, STRING_UTF8);
2694 
2695 	p.pixel.p = dynload_pre_color(c, 4);
2696 
2697 	a->color.r = p.pixel.r;
2698 	a->color.g = p.pixel.g;
2699 	a->color.b = p.pixel.b;
2700 
2701 	return(0);
2702 }
2703 
dynload_font_get_width_pre(struct a_funcs * c,struct par_font_get_width * a)2704 static int dynload_font_get_width_pre(struct a_funcs *c, struct par_font_get_width *a) {
2705 	if(c->c != DYNLOAD_FONT_GET_WIDTH_PARAMS) {
2706 		(void) dynload_error_params(c, DYNLOAD_FONT_GET_WIDTH_PARAMS);
2707 
2708 		return(-1);
2709 	}
2710 
2711 	/* Pass parameters to fonts_get_width() */
2712 	a->handle = dynload_param_get_handle(&c->p[0]);
2713 
2714 	return(0);
2715 }
2716 
dynload_font_get_height_pre(struct a_funcs * c,struct par_font_get_height * a)2717 static int dynload_font_get_height_pre(struct a_funcs *c, struct par_font_get_height *a) {
2718 	if(c->c != DYNLOAD_FONT_GET_HEIGHT_PARAMS) {
2719 		(void) dynload_error_params(c, DYNLOAD_FONT_GET_HEIGHT_PARAMS);
2720 
2721 		return(-1);
2722 	}
2723 
2724 	/* Pass parameters to fonts_get_height() */
2725 	a->handle = dynload_param_get_handle(&c->p[0]);
2726 
2727 	return(0);
2728 }
2729 #endif
dynload_system_sleep_pre(struct a_funcs * c,struct par_system_sleep * a)2730 static int dynload_system_sleep_pre(struct a_funcs *c, struct par_system_sleep *a) {
2731 	if(c->c != DYNLOAD_SYSTEM_SLEEP_PARAMS) {
2732 		(void) dynload_error_params(c, DYNLOAD_SYSTEM_SLEEP_PARAMS);
2733 
2734 		return(-1);
2735 	}
2736 
2737 	a->secs = (time_t) dynload_param_get_number(&c->p[0]);
2738 	a->nsecs = (long) dynload_param_get_number(&c->p[1]);
2739 
2740 	return(0);
2741 }
2742 
dynload_system_fork_pre(struct a_funcs * c)2743 static int dynload_system_fork_pre(struct a_funcs *c) {
2744 	if(c->c != DYNLOAD_SYSTEM_FORK_PARAMS) {
2745 		(void) dynload_error_params(c, DYNLOAD_SYSTEM_FORK_PARAMS);
2746 
2747 		return(-1);
2748 	}
2749 
2750 	return(0);
2751 }
2752 
dynload_system_exec_pre(struct a_funcs * c,struct par_system_exec * a)2753 static int dynload_system_exec_pre(struct a_funcs *c, struct par_system_exec *a) {
2754 	unsigned int i;
2755 
2756 	char *s;
2757 	char **t;
2758 
2759 	size_t u;
2760 
2761 	if(c->c < DYNLOAD_SYSTEM_EXEC_PARAMS || c->c > DYNLOAD_PARAM_MAX) {
2762 		(void) dynload_error_params(c, DYNLOAD_SYSTEM_EXEC_PARAMS);
2763 
2764 		return(-1);
2765 	}
2766 
2767 	a->command = (char *) dynload_param_get_string(&c->p[0]);
2768 
2769 	/* Copy program name to run to parameter array */
2770 	if((a->params = malloc(sizeof(char *) * 2)) == NULL) return(-1);
2771 
2772 	u = str_len(a->command, STRING_ASCII);
2773 
2774 	if((a->params[0] = malloc(u + sizeof(char))) == NULL) {
2775 		LOGWARN(
2776 			ERROR_SLIGHT, SUBSYSTEM,
2777 			_("Failed to allocate %lu bytes of memory"),
2778 			(unsigned long) (u + sizeof(char))
2779 		);
2780 
2781 		(void) free(a->params);
2782 
2783 		return(-1);
2784 	}
2785 
2786 	(void) memcpy((void *) a->params[0], (const void *) a->command, u);
2787 
2788 	a->params[0][u] = 0;
2789 
2790 	/* Copy rest of the parameters to parameter array */
2791 	for(i = 1; i < c->c; i++) {
2792 		/* Parameter type must be string, no auto conversion here */
2793 		s = (char *) dynload_param_get_string(&c->p[i]);
2794 
2795 		if((t = realloc(a->params, (size_t) (sizeof(char *) * (i + 2)))) == NULL) {
2796 			LOGWARN(
2797 				ERROR_SLIGHT, SUBSYSTEM,
2798 				_("Failed to allocate %lu bytes of memory"),
2799 				(unsigned long) (sizeof(char *) * (i + 2))
2800 			);
2801 
2802 			(void) dynload_system_exec_pre_free(a->params, i);
2803 
2804 			return(-1);
2805 		}
2806 
2807 		a->params = t;
2808 
2809 		u = str_len(s, STRING_ASCII);
2810 
2811 		if((a->params[i] = malloc(u + sizeof(char))) == NULL) {
2812 			LOGWARN(
2813 				ERROR_SLIGHT, SUBSYSTEM,
2814 				_("Failed to allocate %lu bytes of memory"),
2815 				(unsigned long) (u + sizeof(char))
2816 			);
2817 
2818 			(void) dynload_system_exec_pre_free(a->params, i);
2819 
2820 			return(-1);
2821 		}
2822 
2823 		(void) memcpy((void *) a->params[i], (const void *) s, u);
2824 
2825 		a->params[i][u] = 0;
2826 	}
2827 
2828 	a->params[i] = NULL;
2829 
2830 	return(0);
2831 }
2832 
dynload_system_exec_pre_free(char ** s,unsigned int n)2833 static void dynload_system_exec_pre_free(char **s, unsigned int n) {
2834 	unsigned int i;
2835 
2836 	for(i = 0; i < n; i++) (void) free(s[i]);
2837 
2838 	(void) free(s);
2839 }
2840 
dynload_system_system_pre(struct a_funcs * c,struct par_system_system * a)2841 static int dynload_system_system_pre(struct a_funcs *c, struct par_system_system *a) {
2842 	if(c->c != DYNLOAD_SYSTEM_SYSTEM_PARAMS) {
2843 		(void) dynload_error_params(c, DYNLOAD_SYSTEM_SYSTEM_PARAMS);
2844 
2845 		return(-1);
2846 	}
2847 
2848 	a->command = (char *) dynload_param_get_string(&c->p[0]);
2849 
2850 	return(0);
2851 }
2852 
dynload_system_time_pre(struct a_funcs * c)2853 static int dynload_system_time_pre(struct a_funcs *c) {
2854 	if(c->c != DYNLOAD_SYSTEM_TIME_PARAMS) {
2855 		(void) dynload_error_params(c, DYNLOAD_SYSTEM_TIME_PARAMS);
2856 
2857 		return(-1);
2858 	}
2859 
2860 	return(0);
2861 }
2862 
dynload_system_timer_pre(struct a_funcs * c,struct par_system_timer * a,void * cb)2863 static int dynload_system_timer_pre(struct a_funcs *c, struct par_system_timer *a, void *cb) {
2864 	if(c->c != DYNLOAD_SYSTEM_TIMER_PARAMS) {
2865 		(void) dynload_error_params(c, DYNLOAD_SYSTEM_TIMER_PARAMS);
2866 
2867 		return(-1);
2868 	}
2869 
2870 	a->secs = (time_t) dynload_param_get_number(&c->p[0]);
2871 	a->nsecs = (long) dynload_param_get_number(&c->p[1]);
2872 
2873 	a->par_timer.s = (char *) dynload_param_get_string(&c->p[2]);
2874 	a->par_timer.n = 0;
2875 
2876 	a->cb_timer = cb;
2877 
2878 	return(0);
2879 }
2880 
dynload_thread_spawn_pre(struct a_funcs * c,struct par_thread_spawn * a,void * cb)2881 static int dynload_thread_spawn_pre(struct a_funcs *c, struct par_thread_spawn *a, void *cb) {
2882 	if(c->c != DYNLOAD_THREAD_SPAWN_PARAMS) {
2883 		(void) dynload_error_params(c, DYNLOAD_THREAD_SPAWN_PARAMS);
2884 
2885 		return(-1);
2886 	}
2887 
2888 	a->name = (char *) dynload_param_get_string(&c->p[0]);
2889 
2890 	a->par_thread.s = (char *) dynload_param_get_string(&c->p[1]);
2891 	a->par_thread.n = 0;
2892 
2893 	a->cb_thread = cb;
2894 
2895 	return(0);
2896 }
2897 
dynload_thread_affinity_pre(struct a_funcs * c,struct par_thread_affinity * a)2898 static int dynload_thread_affinity_pre(struct a_funcs *c, struct par_thread_affinity *a) {
2899 	if(c->c != DYNLOAD_THREAD_AFFINITY_PARAMS) {
2900 		(void) dynload_error_params(c, DYNLOAD_THREAD_AFFINITY_PARAMS);
2901 
2902 		return(-1);
2903 	}
2904 
2905 	a->cpu = (int) dynload_param_get_number(&c->p[0]);
2906 
2907 	return(0);
2908 }
2909 
dynload_thread_numa_affinity_pre(struct a_funcs * c,struct par_thread_numa_affinity * a)2910 static int dynload_thread_numa_affinity_pre(struct a_funcs *c, struct par_thread_numa_affinity *a) {
2911 	if(c->c != DYNLOAD_THREAD_NUMA_AFFINITY_PARAMS) {
2912 		(void) dynload_error_params(c, DYNLOAD_THREAD_NUMA_AFFINITY_PARAMS);
2913 
2914 		return(-1);
2915 	}
2916 
2917 	a->domain = (int) dynload_param_get_number(&c->p[0]);
2918 	a->policy = (int) dynload_param_get_number(&c->p[1]);
2919 
2920 	return(0);
2921 }
2922 #if ! defined(PROG_DISABLE_GUI)
dynload_window_refresh_pre(struct a_funcs * c,struct par_window_refresh * a)2923 static int dynload_window_refresh_pre(struct a_funcs *c, struct par_window_refresh *a) {
2924 	if(c->c != DYNLOAD_WINDOW_REFRESH_PARAMS) {
2925 		(void) dynload_error_params(c, DYNLOAD_WINDOW_REFRESH_PARAMS);
2926 
2927 		return(-1);
2928 	}
2929 
2930 	/* Pass parameters to gui_window_refresh() */
2931 	a->handle = dynload_param_get_handle(&c->p[0]);
2932 
2933 	a->area.x = (int) dynload_param_get_number(&c->p[1]);
2934 	a->area.y = (int) dynload_param_get_number(&c->p[2]);
2935 
2936 	a->area.s.width = (unsigned int) dynload_param_get_number(&c->p[3]);
2937 	a->area.s.height = (unsigned int) dynload_param_get_number(&c->p[4]);
2938 
2939 	return(0);
2940 }
2941 
dynload_window_open_pre(struct a_funcs * c,struct par_window_open * a)2942 static int dynload_window_open_pre(struct a_funcs *c, struct par_window_open *a) {
2943 	if(c->c != DYNLOAD_WINDOW_OPEN_PARAMS) {
2944 		(void) dynload_error_params(c, DYNLOAD_WINDOW_OPEN_PARAMS);
2945 
2946 		return(-1);
2947 	}
2948 
2949 	/* Pass parameters to gui_window_open(), it makes copy of all this */
2950 	a->window.s = (char *) dynload_param_get_string(&c->p[0]);
2951 	a->window.c = (char *) dynload_param_get_string(&c->p[1]);
2952 
2953 	a->window.r = dynload_param_get_handle(&c->p[2]);
2954 	a->window.p = (unsigned int) dynload_param_get_number(&c->p[3]);
2955 	a->window.e = (unsigned int) dynload_param_get_number(&c->p[4]);
2956 	a->window.m = (unsigned int) dynload_param_get_number(&c->p[5]);
2957 
2958 	a->window.x = (int) dynload_param_get_number(&c->p[6]);
2959 	a->window.y = (int) dynload_param_get_number(&c->p[7]);
2960 
2961 	a->window.w = (unsigned int) dynload_param_get_number(&c->p[8]);
2962 	a->window.h = (unsigned int) dynload_param_get_number(&c->p[9]);
2963 
2964 	a->window.par_main_loop.s = (char *) dynload_param_get_string(&c->p[10]);
2965 	a->window.par_main_loop.n = 0;
2966 
2967 	a->window.par_expose.s = (char *) dynload_param_get_string(&c->p[11]);
2968 	a->window.par_expose.n = 0;
2969 
2970 	a->window.par_key_press.s = (char *) dynload_param_get_string(&c->p[12]);
2971 	a->window.par_key_press.n = 0;
2972 	a->window.par_key_release.s = (char *) dynload_param_get_string(&c->p[13]);
2973 	a->window.par_key_release.n = 0;
2974 	a->window.par_button_press.s = (char *) dynload_param_get_string(&c->p[14]);
2975 	a->window.par_button_press.n = 0;
2976 	a->window.par_button_release.s = (char *) dynload_param_get_string(&c->p[15]);
2977 	a->window.par_button_release.n = 0;
2978 
2979 	a->window.par_client_message.s = (char *) dynload_param_get_string(&c->p[16]);
2980 	a->window.par_client_message.n = 0;
2981 
2982 	a->window.par_configure_notify.s = (char *) dynload_param_get_string(&c->p[17]);
2983 	a->window.par_configure_notify.n = 0;
2984 	a->window.par_destroy_notify.s = (char *) dynload_param_get_string(&c->p[18]);
2985 	a->window.par_destroy_notify.n = 0;
2986 	a->window.par_motion_notify.s = (char *) dynload_param_get_string(&c->p[19]);
2987 	a->window.par_motion_notify.n = 0;
2988 	a->window.par_map_notify.s = (char *) dynload_param_get_string(&c->p[20]);
2989 	a->window.par_map_notify.n = 0;
2990 	a->window.par_unmap_notify.s = (char *) dynload_param_get_string(&c->p[21]);
2991 	a->window.par_unmap_notify.n = 0;
2992 
2993 	a->window.par_open_notify.s = (char *) dynload_param_get_string(&c->p[22]);
2994 	a->window.par_open_notify.n = 0;
2995 
2996 	a->window.cb_main_loop = dsl_cb_main_loop;
2997 
2998 	a->window.cb_expose = dsl_cb_expose;
2999 
3000 	a->window.cb_key_press = dsl_cb_key_press;
3001 	a->window.cb_key_release = dsl_cb_key_release;
3002 	a->window.cb_button_press = dsl_cb_button_press;
3003 	a->window.cb_button_release = dsl_cb_button_release;
3004 
3005 	a->window.cb_client_message = dsl_cb_client_message;
3006 
3007 	a->window.cb_configure_notify = dsl_cb_configure_notify;
3008 	a->window.cb_destroy_notify = dsl_cb_destroy_notify;
3009 	a->window.cb_motion_notify = dsl_cb_motion_notify;
3010 	a->window.cb_map_notify = dsl_cb_map_notify;
3011 	a->window.cb_unmap_notify = dsl_cb_unmap_notify;
3012 
3013 	a->window.cb_open_notify = dsl_cb_open_notify;
3014 
3015 	return(0);
3016 }
3017 
dynload_window_icon_pre(struct a_funcs * c,struct par_window_icon * a)3018 static int dynload_window_icon_pre(struct a_funcs *c, struct par_window_icon *a) {
3019 	if(c->c != DYNLOAD_WINDOW_ICON_PARAMS) {
3020 		(void) dynload_error_params(c, DYNLOAD_WINDOW_ICON_PARAMS);
3021 
3022 		return(-1);
3023 	}
3024 
3025 	/* Pass parameters to gui_window_icon() */
3026 	a->handle = dynload_param_get_handle(&c->p[0]);
3027 
3028 	a->icon = (char *) dynload_param_get_string(&c->p[1]);
3029 
3030 	return(0);
3031 }
3032 
dynload_window_close_pre(struct a_funcs * c,struct par_window_close * a)3033 static int dynload_window_close_pre(struct a_funcs *c, struct par_window_close *a) {
3034 	if(c->c != DYNLOAD_WINDOW_CLOSE_PARAMS) {
3035 		(void) dynload_error_params(c, DYNLOAD_WINDOW_CLOSE_PARAMS);
3036 
3037 		return(-1);
3038 	}
3039 
3040 	/* Pass parameters to gui_window_close() */
3041 	a->handle = dynload_param_get_handle(&c->p[0]);
3042 
3043 	return(0);
3044 }
3045 
dynload_window_map_pre(struct a_funcs * c,struct par_window_map * a)3046 static int dynload_window_map_pre(struct a_funcs *c, struct par_window_map *a) {
3047 	if(c->c != DYNLOAD_WINDOW_MAP_PARAMS) {
3048 		(void) dynload_error_params(c, DYNLOAD_WINDOW_MAP_PARAMS);
3049 
3050 		return(-1);
3051 	}
3052 
3053 	/* Pass parameters to gui_window_map() */
3054 	a->handle = dynload_param_get_handle(&c->p[0]);
3055 
3056 	return(0);
3057 }
3058 
dynload_window_unmap_pre(struct a_funcs * c,struct par_window_unmap * a)3059 static int dynload_window_unmap_pre(struct a_funcs *c, struct par_window_unmap *a) {
3060 	if(c->c != DYNLOAD_WINDOW_UNMAP_PARAMS) {
3061 		(void) dynload_error_params(c, DYNLOAD_WINDOW_UNMAP_PARAMS);
3062 
3063 		return(-1);
3064 	}
3065 
3066 	/* Pass parameters to gui_window_unmap() */
3067 	a->handle = dynload_param_get_handle(&c->p[0]);
3068 
3069 	return(0);
3070 }
3071 
dynload_window_attrs_pre(struct a_funcs * c,struct par_window_attrs * a)3072 static int dynload_window_attrs_pre(struct a_funcs *c, struct par_window_attrs *a) {
3073 	if(c->c != DYNLOAD_WINDOW_SET_ATTRS_PARAMS) {
3074 		(void) dynload_error_params(c, DYNLOAD_WINDOW_SET_ATTRS_PARAMS);
3075 
3076 		return(-1);
3077 	}
3078 
3079 	/* Pass parameters to gui_window_set_attrs() */
3080 	a->handle = dynload_param_get_handle(&c->p[0]);
3081 
3082 	a->attribute.c = (unsigned int) dynload_param_get_number(&c->p[1]);
3083 
3084 	a->attribute.v = dynload_param_get_number(&c->p[2]);
3085 
3086 	return(0);
3087 }
3088 
dynload_window_init_pre(struct a_funcs * c)3089 static int dynload_window_init_pre(struct a_funcs *c) {
3090 	if(c->c != DYNLOAD_WINDOW_INIT_PARAMS) {
3091 		(void) dynload_error_params(c, DYNLOAD_WINDOW_INIT_PARAMS);
3092 
3093 		return(-1);
3094 	}
3095 
3096 	return(0);
3097 }
3098 #endif
3099 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_MENU)
dynload_menu_bar_disp_pre(struct a_funcs * c,struct par_menu_bar_disp * a)3100 static int dynload_menu_bar_disp_pre(struct a_funcs *c, struct par_menu_bar_disp *a) {
3101 	if(c->c != DYNLOAD_MENU_BAR_DISP_PARAMS) {
3102 		(void) dynload_error_params(c, DYNLOAD_MENU_BAR_DISP_PARAMS);
3103 
3104 		return(-1);
3105 	}
3106 
3107 	/* Pass parameters to menu_[hide|show]() */
3108 	a->handle = dynload_param_get_handle(&c->p[0]);
3109 
3110 	return(0);
3111 }
3112 
dynload_menu_item_state_pre(struct a_funcs * c,struct par_menu_item_state * a)3113 static int dynload_menu_item_state_pre(struct a_funcs *c, struct par_menu_item_state *a) {
3114 	if(c->c != DYNLOAD_MENU_ITEM_STATE_PARAMS) {
3115 		(void) dynload_error_params(c, DYNLOAD_MENU_ITEM_STATE_PARAMS);
3116 
3117 		return(-1);
3118 	}
3119 
3120 	/* Pass parameters to menu_[disable|enable]() */
3121 	a->handle = dynload_param_get_handle(&c->p[0]);
3122 	a->tag = dynload_param_get_handle(&c->p[1]);
3123 
3124 	return(0);
3125 }
3126 #endif
3127 #if ! defined(PROG_DISABLE_AUDIO)
dynload_audio_create_noise_white_pre(struct a_funcs * c,struct par_audio_create_noise_white * a)3128 static int dynload_audio_create_noise_white_pre(struct a_funcs *c, struct par_audio_create_noise_white *a) {
3129 	if(c->c != DYNLOAD_AUDIO_CREATE_NOISE_WHITE_PARAMS) {
3130 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CREATE_NOISE_WHITE_PARAMS);
3131 
3132 		return(-1);
3133 	}
3134 
3135 	/* Pass parameters to mixer_create_noise_white() */
3136 	a->secs = dynload_param_get_number(&c->p[0]);
3137 
3138 	return(0);
3139 }
3140 
dynload_audio_create_wave_sine_pre(struct a_funcs * c,struct par_audio_create_wave_sine * a)3141 static int dynload_audio_create_wave_sine_pre(struct a_funcs *c, struct par_audio_create_wave_sine *a) {
3142 	if(c->c != DYNLOAD_AUDIO_CREATE_WAVE_SINE_PARAMS) {
3143 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CREATE_WAVE_SINE_PARAMS);
3144 
3145 		return(-1);
3146 	}
3147 
3148 	/* Pass parameters to mixer_create_wave_sine() */
3149 	a->secs = dynload_param_get_number(&c->p[0]);
3150 	a->freq = dynload_param_get_number(&c->p[1]);
3151 
3152 	return(0);
3153 }
3154 
dynload_audio_create_wave_square_pre(struct a_funcs * c,struct par_audio_create_wave_square * a)3155 static int dynload_audio_create_wave_square_pre(struct a_funcs *c, struct par_audio_create_wave_square *a) {
3156 	if(c->c != DYNLOAD_AUDIO_CREATE_WAVE_SQUARE_PARAMS) {
3157 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CREATE_WAVE_SQUARE_PARAMS);
3158 
3159 		return(-1);
3160 	}
3161 
3162 	/* Pass parameters to mixer_create_wave_square() */
3163 	a->secs = dynload_param_get_number(&c->p[0]);
3164 	a->freq = dynload_param_get_number(&c->p[1]);
3165 
3166 	return(0);
3167 }
3168 
dynload_audio_create_wave_random_pre(struct a_funcs * c,struct par_audio_create_wave_random * a)3169 static int dynload_audio_create_wave_random_pre(struct a_funcs *c, struct par_audio_create_wave_random *a) {
3170 	if(c->c != DYNLOAD_AUDIO_CREATE_WAVE_RANDOM_PARAMS) {
3171 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CREATE_WAVE_RANDOM_PARAMS);
3172 
3173 		return(-1);
3174 	}
3175 
3176 	/* Pass parameters to mixer_create_wave_random() */
3177 	a->secs = dynload_param_get_number(&c->p[0]);
3178 	a->freq = dynload_param_get_number(&c->p[1]);
3179 	a->amplitude = dynload_param_get_number(&c->p[2]);
3180 
3181 	return(0);
3182 }
3183 
dynload_audio_open_pre(struct a_funcs * c,struct par_audio_open * a)3184 static int dynload_audio_open_pre(struct a_funcs *c, struct par_audio_open *a) {
3185 	if(c->c != DYNLOAD_AUDIO_OPEN_PARAMS) {
3186 		(void) dynload_error_params(c, DYNLOAD_AUDIO_OPEN_PARAMS);
3187 
3188 		return(-1);
3189 	}
3190 
3191 	/* Pass parameters to mixer_open() */
3192 	a->audio = (char *) dynload_param_get_string(&c->p[0]);
3193 
3194 	return(0);
3195 }
3196 
dynload_audio_close_pre(struct a_funcs * c,struct par_audio_close * a)3197 static int dynload_audio_close_pre(struct a_funcs *c, struct par_audio_close *a) {
3198 	if(c->c != DYNLOAD_AUDIO_CLOSE_PARAMS) {
3199 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CLOSE_PARAMS);
3200 
3201 		return(-1);
3202 	}
3203 
3204 	/* Pass parameters to mixer_close() */
3205 	a->handle = dynload_param_get_handle(&c->p[0]);
3206 
3207 	return(0);
3208 }
3209 
dynload_audio_play_pre(struct a_funcs * c,struct par_audio_play * a)3210 static int dynload_audio_play_pre(struct a_funcs *c, struct par_audio_play *a) {
3211 	if(c->c != DYNLOAD_AUDIO_PLAY_PARAMS) {
3212 		(void) dynload_error_params(c, DYNLOAD_AUDIO_PLAY_PARAMS);
3213 
3214 		return(-1);
3215 	}
3216 
3217 	/* Pass parameters to mixer_play() */
3218 	a->handle = dynload_param_get_handle(&c->p[0]);
3219 
3220 	a->vol = (float) dynload_param_get_number(&c->p[1]);
3221 	a->pan = (float) dynload_param_get_number(&c->p[2]);
3222 
3223 	return(0);
3224 }
3225 
dynload_audio_wait_pre(struct a_funcs * c,struct par_audio_wait * a)3226 static int dynload_audio_wait_pre(struct a_funcs *c, struct par_audio_wait *a) {
3227 	if(c->c != DYNLOAD_AUDIO_WAIT_PARAMS) {
3228 		(void) dynload_error_params(c, DYNLOAD_AUDIO_WAIT_PARAMS);
3229 
3230 		return(-1);
3231 	}
3232 
3233 	/* Pass parameters to mixer_wait() */
3234 	a->handle = dynload_param_get_handle(&c->p[0]);
3235 
3236 	return(0);
3237 }
3238 
dynload_audio_cut_pre(struct a_funcs * c,struct par_audio_cut * a)3239 static int dynload_audio_cut_pre(struct a_funcs *c, struct par_audio_cut *a) {
3240 	if(c->c != DYNLOAD_AUDIO_CUT_PARAMS) {
3241 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CUT_PARAMS);
3242 
3243 		return(-1);
3244 	}
3245 
3246 	/* Pass parameters to mixer_cut() */
3247 	a->handle = dynload_param_get_handle(&c->p[0]);
3248 
3249 	return(0);
3250 }
3251 
dynload_audio_solo_pre(struct a_funcs * c,struct par_audio_solo * a)3252 static int dynload_audio_solo_pre(struct a_funcs *c, struct par_audio_solo *a) {
3253 	if(c->c != DYNLOAD_AUDIO_SOLO_PARAMS) {
3254 		(void) dynload_error_params(c, DYNLOAD_AUDIO_SOLO_PARAMS);
3255 
3256 		return(-1);
3257 	}
3258 
3259 	/* Pass parameters to mixer_solo() */
3260 	a->handle = dynload_param_get_handle(&c->p[0]);
3261 
3262 	return(0);
3263 }
3264 
dynload_audio_hold_pre(struct a_funcs * c,struct par_audio_hold * a)3265 static int dynload_audio_hold_pre(struct a_funcs *c, struct par_audio_hold *a) {
3266 	if(c->c != DYNLOAD_AUDIO_HOLD_PARAMS) {
3267 		(void) dynload_error_params(c, DYNLOAD_AUDIO_HOLD_PARAMS);
3268 
3269 		return(-1);
3270 	}
3271 
3272 	/* Pass parameters to mixer_hold() */
3273 	a->handle = dynload_param_get_handle(&c->p[0]);
3274 
3275 	return(0);
3276 }
3277 
dynload_audio_cancel_pre(struct a_funcs * c,struct par_audio_cancel * a)3278 static int dynload_audio_cancel_pre(struct a_funcs *c, struct par_audio_cancel *a) {
3279 	if(c->c != DYNLOAD_AUDIO_CANCEL_PARAMS) {
3280 		(void) dynload_error_params(c, DYNLOAD_AUDIO_CANCEL_PARAMS);
3281 
3282 		return(-1);
3283 	}
3284 
3285 	/* Pass parameters to mixer_cancel() */
3286 	a->handle = dynload_param_get_handle(&c->p[0]);
3287 
3288 	return(0);
3289 }
3290 
dynload_audio_pan_get_pre(struct a_funcs * c,struct par_audio_pan_get * a)3291 static int dynload_audio_pan_get_pre(struct a_funcs *c, struct par_audio_pan_get *a) {
3292 	if(c->c != DYNLOAD_AUDIO_PAN_GET_PARAMS) {
3293 		(void) dynload_error_params(c, DYNLOAD_AUDIO_PAN_GET_PARAMS);
3294 
3295 		return(-1);
3296 	}
3297 
3298 	/* Pass parameters to mixer_pan_get() */
3299 	a->handle = dynload_param_get_handle(&c->p[0]);
3300 
3301 	return(0);
3302 }
3303 
dynload_audio_pan_set_pre(struct a_funcs * c,struct par_audio_pan_set * a)3304 static int dynload_audio_pan_set_pre(struct a_funcs *c, struct par_audio_pan_set *a) {
3305 	if(c->c != DYNLOAD_AUDIO_PAN_SET_PARAMS) {
3306 		(void) dynload_error_params(c, DYNLOAD_AUDIO_PAN_SET_PARAMS);
3307 
3308 		return(-1);
3309 	}
3310 
3311 	/* Pass parameters to mixer_pan_set() */
3312 	a->handle = dynload_param_get_handle(&c->p[0]);
3313 
3314 	a->pan = (float) dynload_param_get_number(&c->p[1]);
3315 
3316 	return(0);
3317 }
3318 
dynload_audio_pan_inc_pre(struct a_funcs * c,struct par_audio_pan_inc * a)3319 static int dynload_audio_pan_inc_pre(struct a_funcs *c, struct par_audio_pan_inc *a) {
3320 	if(c->c != DYNLOAD_AUDIO_PAN_INC_PARAMS) {
3321 		(void) dynload_error_params(c, DYNLOAD_AUDIO_PAN_INC_PARAMS);
3322 
3323 		return(-1);
3324 	}
3325 
3326 	/* Pass parameters to mixer_pan_inc() */
3327 	a->handle = dynload_param_get_handle(&c->p[0]);
3328 
3329 	a->pan = (float) dynload_param_get_number(&c->p[1]);
3330 
3331 	return(0);
3332 }
3333 
dynload_audio_pan_dec_pre(struct a_funcs * c,struct par_audio_pan_dec * a)3334 static int dynload_audio_pan_dec_pre(struct a_funcs *c, struct par_audio_pan_dec *a) {
3335 	if(c->c != DYNLOAD_AUDIO_PAN_DEC_PARAMS) {
3336 		(void) dynload_error_params(c, DYNLOAD_AUDIO_PAN_DEC_PARAMS);
3337 
3338 		return(-1);
3339 	}
3340 
3341 	/* Pass parameters to mixer_pan_dec() */
3342 	a->handle = dynload_param_get_handle(&c->p[0]);
3343 
3344 	a->pan = (float) dynload_param_get_number(&c->p[1]);
3345 
3346 	return(0);
3347 }
3348 
dynload_audio_vol_get_pre(struct a_funcs * c,struct par_audio_vol_get * a)3349 static int dynload_audio_vol_get_pre(struct a_funcs *c, struct par_audio_vol_get *a) {
3350 	if(c->c != DYNLOAD_AUDIO_VOL_GET_PARAMS) {
3351 		(void) dynload_error_params(c, DYNLOAD_AUDIO_VOL_GET_PARAMS);
3352 
3353 		return(-1);
3354 	}
3355 
3356 	/* Pass parameters to mixer_vol_get() */
3357 	a->handle = dynload_param_get_handle(&c->p[0]);
3358 
3359 	return(0);
3360 }
3361 
dynload_audio_vol_set_pre(struct a_funcs * c,struct par_audio_vol_set * a)3362 static int dynload_audio_vol_set_pre(struct a_funcs *c, struct par_audio_vol_set *a) {
3363 	if(c->c != DYNLOAD_AUDIO_VOL_SET_PARAMS) {
3364 		(void) dynload_error_params(c, DYNLOAD_AUDIO_VOL_SET_PARAMS);
3365 
3366 		return(-1);
3367 	}
3368 
3369 	/* Pass parameters to mixer_vol_set() */
3370 	a->handle = dynload_param_get_handle(&c->p[0]);
3371 
3372 	a->vol = (float) dynload_param_get_number(&c->p[1]);
3373 
3374 	return(0);
3375 }
3376 
dynload_audio_vol_inc_pre(struct a_funcs * c,struct par_audio_vol_inc * a)3377 static int dynload_audio_vol_inc_pre(struct a_funcs *c, struct par_audio_vol_inc *a) {
3378 	if(c->c != DYNLOAD_AUDIO_VOL_INC_PARAMS) {
3379 		(void) dynload_error_params(c, DYNLOAD_AUDIO_VOL_INC_PARAMS);
3380 
3381 		return(-1);
3382 	}
3383 
3384 	/* Pass parameters to mixer_vol_inc() */
3385 	a->handle = dynload_param_get_handle(&c->p[0]);
3386 
3387 	a->vol = (float) dynload_param_get_number(&c->p[1]);
3388 
3389 	return(0);
3390 }
3391 
dynload_audio_vol_dec_pre(struct a_funcs * c,struct par_audio_vol_dec * a)3392 static int dynload_audio_vol_dec_pre(struct a_funcs *c, struct par_audio_vol_dec *a) {
3393 	if(c->c != DYNLOAD_AUDIO_VOL_DEC_PARAMS) {
3394 		(void) dynload_error_params(c, DYNLOAD_AUDIO_VOL_DEC_PARAMS);
3395 
3396 		return(-1);
3397 	}
3398 
3399 	/* Pass parameters to mixer_vol_dec() */
3400 	a->handle = dynload_param_get_handle(&c->p[0]);
3401 
3402 	a->vol = (float) dynload_param_get_number(&c->p[1]);
3403 
3404 	return(0);
3405 }
3406 
dynload_audio_master_get_pre(struct a_funcs * c)3407 static int dynload_audio_master_get_pre(struct a_funcs *c) {
3408 	if(c->c != DYNLOAD_AUDIO_MASTER_GET_PARAMS) {
3409 		(void) dynload_error_params(c, DYNLOAD_AUDIO_MASTER_GET_PARAMS);
3410 
3411 		return(-1);
3412 	}
3413 
3414 	return(0);
3415 }
3416 
dynload_audio_master_set_pre(struct a_funcs * c,struct par_audio_master_set * a)3417 static int dynload_audio_master_set_pre(struct a_funcs *c, struct par_audio_master_set *a) {
3418 	if(c->c != DYNLOAD_AUDIO_MASTER_SET_PARAMS) {
3419 		(void) dynload_error_params(c, DYNLOAD_AUDIO_MASTER_SET_PARAMS);
3420 
3421 		return(-1);
3422 	}
3423 
3424 	/* Pass parameters to mixer_master_set() */
3425 	a->vol = (float) dynload_param_get_number(&c->p[0]);
3426 
3427 	return(0);
3428 }
3429 
dynload_audio_master_inc_pre(struct a_funcs * c,struct par_audio_master_inc * a)3430 static int dynload_audio_master_inc_pre(struct a_funcs *c, struct par_audio_master_inc *a) {
3431 	if(c->c != DYNLOAD_AUDIO_MASTER_INC_PARAMS) {
3432 		(void) dynload_error_params(c, DYNLOAD_AUDIO_MASTER_INC_PARAMS);
3433 
3434 		return(-1);
3435 	}
3436 
3437 	/* Pass parameters to mixer_master_inc() */
3438 	a->vol = (float) dynload_param_get_number(&c->p[0]);
3439 
3440 	return(0);
3441 }
3442 
dynload_audio_master_dec_pre(struct a_funcs * c,struct par_audio_master_dec * a)3443 static int dynload_audio_master_dec_pre(struct a_funcs *c, struct par_audio_master_dec *a) {
3444 	if(c->c != DYNLOAD_AUDIO_MASTER_DEC_PARAMS) {
3445 		(void) dynload_error_params(c, DYNLOAD_AUDIO_MASTER_DEC_PARAMS);
3446 
3447 		return(-1);
3448 	}
3449 
3450 	/* Pass parameters to mixer_master_dec() */
3451 	a->vol = (float) dynload_param_get_number(&c->p[0]);
3452 
3453 	return(0);
3454 }
3455 
dynload_audio_init_pre(struct a_funcs * c)3456 static int dynload_audio_init_pre(struct a_funcs *c) {
3457 	if(c->c != DYNLOAD_AUDIO_INIT_PARAMS) {
3458 		(void) dynload_error_params(c, DYNLOAD_AUDIO_INIT_PARAMS);
3459 
3460 		return(-1);
3461 	}
3462 
3463 	return(0);
3464 }
3465 #endif
3466 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_WIDGET)
dynload_widget_refresh_pre(struct a_funcs * c,struct par_widget_refresh * a)3467 static int dynload_widget_refresh_pre(struct a_funcs *c, struct par_widget_refresh *a) {
3468 	if(c->c != DYNLOAD_WIDGET_REFRESH_PARAMS) {
3469 		(void) dynload_error_params(c, DYNLOAD_WIDGET_REFRESH_PARAMS);
3470 
3471 		return(-1);
3472 	}
3473 
3474 	/* Pass parameters to widget_refresh() */
3475 	a->handle = dynload_param_get_handle(&c->p[0]);
3476 
3477 	return(0);
3478 }
3479 
dynload_widget_create_block_pre(struct a_funcs * c,struct par_widget_create_block * a)3480 static int dynload_widget_create_block_pre(struct a_funcs *c, struct par_widget_create_block *a) {
3481 	if(c->c != DYNLOAD_WIDGET_CREATE_BLOCK_PARAMS) {
3482 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_BLOCK_PARAMS);
3483 
3484 		return(-1);
3485 	}
3486 
3487 	/* Pass parameters to widget_create_block() */
3488 	a->handle = dynload_param_get_handle(&c->p[0]);
3489 
3490 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3491 
3492 	a->x = (int) dynload_param_get_number(&c->p[2]);
3493 	a->y = (int) dynload_param_get_number(&c->p[3]);
3494 	a->width = (unsigned int) dynload_param_get_number(&c->p[4]);
3495 	a->height = (unsigned int) dynload_param_get_number(&c->p[5]);
3496 
3497 	return(0);
3498 }
3499 
dynload_widget_create_label_pre(struct a_funcs * c,struct par_widget_create_label * a)3500 static int dynload_widget_create_label_pre(struct a_funcs *c, struct par_widget_create_label *a) {
3501 	if(c->c != DYNLOAD_WIDGET_CREATE_LABEL_PARAMS) {
3502 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_LABEL_PARAMS);
3503 
3504 		return(-1);
3505 	}
3506 
3507 	/* Pass parameters to widget_create_label() */
3508 	a->handle = dynload_param_get_handle(&c->p[0]);
3509 
3510 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3511 
3512 	a->x = (int) dynload_param_get_number(&c->p[2]);
3513 	a->y = (int) dynload_param_get_number(&c->p[3]);
3514 
3515 	return(0);
3516 }
3517 
dynload_widget_create_lamp_pre(struct a_funcs * c,struct par_widget_create_lamp * a)3518 static int dynload_widget_create_lamp_pre(struct a_funcs *c, struct par_widget_create_lamp *a) {
3519 	if(c->c != DYNLOAD_WIDGET_CREATE_LAMP_PARAMS) {
3520 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_LAMP_PARAMS);
3521 
3522 		return(-1);
3523 	}
3524 
3525 	/* Pass parameters to widget_create_lamp() */
3526 	a->handle = dynload_param_get_handle(&c->p[0]);
3527 
3528 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3529 
3530 	a->x = (int) dynload_param_get_number(&c->p[2]);
3531 	a->y = (int) dynload_param_get_number(&c->p[3]);
3532 	a->u = (int) dynload_param_get_number(&c->p[4]);
3533 	a->v = (int) dynload_param_get_number(&c->p[5]);
3534 
3535 	a->subtype = (unsigned int) dynload_param_get_number(&c->p[6]);
3536 	a->titlepos = (unsigned int) dynload_param_get_number(&c->p[7]);
3537 
3538 	return(0);
3539 }
3540 
dynload_widget_create_led_pre(struct a_funcs * c,struct par_widget_create_led * a)3541 static int dynload_widget_create_led_pre(struct a_funcs *c, struct par_widget_create_led *a) {
3542 	if(c->c != DYNLOAD_WIDGET_CREATE_LED_PARAMS) {
3543 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_LED_PARAMS);
3544 
3545 		return(-1);
3546 	}
3547 
3548 	/* Pass parameters to widget_create_led_[1|2|3]() */
3549 	a->handle = dynload_param_get_handle(&c->p[0]);
3550 
3551 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3552 
3553 	a->x = (int) dynload_param_get_number(&c->p[2]);
3554 	a->y = (int) dynload_param_get_number(&c->p[3]);
3555 	a->u = (int) dynload_param_get_number(&c->p[4]);
3556 	a->v = (int) dynload_param_get_number(&c->p[5]);
3557 
3558 	a->subtype = (unsigned int) dynload_param_get_number(&c->p[6]);
3559 	a->titlepos = (unsigned int) dynload_param_get_number(&c->p[7]);
3560 
3561 	return(0);
3562 }
3563 
dynload_widget_create_pushbutton_pre(struct a_funcs * c,struct par_widget_create_pushbutton * a)3564 static int dynload_widget_create_pushbutton_pre(struct a_funcs *c, struct par_widget_create_pushbutton *a) {
3565 	if(c->c != DYNLOAD_WIDGET_CREATE_PUSHBUTTON_PARAMS) {
3566 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_PUSHBUTTON_PARAMS);
3567 
3568 		return(-1);
3569 	}
3570 
3571 	/* Pass parameters to widget_create_pushbutton() */
3572 	a->handle = dynload_param_get_handle(&c->p[0]);
3573 
3574 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3575 
3576 	a->x = (int) dynload_param_get_number(&c->p[2]);
3577 	a->y = (int) dynload_param_get_number(&c->p[3]);
3578 	a->u = (int) dynload_param_get_number(&c->p[4]);
3579 	a->v = (int) dynload_param_get_number(&c->p[5]);
3580 
3581 	a->subtype = (unsigned int) dynload_param_get_number(&c->p[6]);
3582 	a->titlepos = (unsigned int) dynload_param_get_number(&c->p[7]);
3583 	a->sticky = (unsigned int) dynload_param_get_number(&c->p[8]);
3584 
3585 	return(0);
3586 }
3587 
dynload_widget_create_slideswitch_pre(struct a_funcs * c,struct par_widget_create_slideswitch * a)3588 static int dynload_widget_create_slideswitch_pre(struct a_funcs *c, struct par_widget_create_slideswitch *a) {
3589 	if(c->c != DYNLOAD_WIDGET_CREATE_SLIDESWITCH_PARAMS) {
3590 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_SLIDESWITCH_PARAMS);
3591 
3592 		return(-1);
3593 	}
3594 
3595 	/* Pass parameters to widget_create_slideswitch() */
3596 	a->handle = dynload_param_get_handle(&c->p[0]);
3597 
3598 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3599 
3600 	a->x = (int) dynload_param_get_number(&c->p[2]);
3601 	a->y = (int) dynload_param_get_number(&c->p[3]);
3602 	a->u = (int) dynload_param_get_number(&c->p[4]);
3603 	a->v = (int) dynload_param_get_number(&c->p[5]);
3604 
3605 	a->subtype = (unsigned int) dynload_param_get_number(&c->p[6]);
3606 	a->titlepos = (unsigned int) dynload_param_get_number(&c->p[7]);
3607 
3608 	a->length = (unsigned int) dynload_param_get_number(&c->p[8]);
3609 	a->steps = (unsigned int) dynload_param_get_number(&c->p[9]);
3610 	a->startstep = (unsigned int) dynload_param_get_number(&c->p[10]);
3611 
3612 	return(0);
3613 }
3614 
dynload_widget_create_toggleswitch_pre(struct a_funcs * c,struct par_widget_create_toggleswitch * a)3615 static int dynload_widget_create_toggleswitch_pre(struct a_funcs *c, struct par_widget_create_toggleswitch *a) {
3616 	if(c->c != DYNLOAD_WIDGET_CREATE_TOGGLESWITCH_PARAMS) {
3617 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_TOGGLESWITCH_PARAMS);
3618 
3619 		return(-1);
3620 	}
3621 
3622 	/* Pass parameters to widget_create_toggleswitch() */
3623 	a->handle = dynload_param_get_handle(&c->p[0]);
3624 
3625 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3626 
3627 	a->x = (int) dynload_param_get_number(&c->p[2]);
3628 	a->y = (int) dynload_param_get_number(&c->p[3]);
3629 	a->u = (int) dynload_param_get_number(&c->p[4]);
3630 	a->v = (int) dynload_param_get_number(&c->p[5]);
3631 
3632 	a->subtype = (unsigned int) dynload_param_get_number(&c->p[6]);
3633 	a->titlepos = (unsigned int) dynload_param_get_number(&c->p[7]);
3634 
3635 	a->steps = (unsigned int) dynload_param_get_number(&c->p[8]);
3636 	a->startstep = (unsigned int) dynload_param_get_number(&c->p[9]);
3637 
3638 	return(0);
3639 }
3640 
dynload_widget_create_turnswitch_pre(struct a_funcs * c,struct par_widget_create_turnswitch * a)3641 static int dynload_widget_create_turnswitch_pre(struct a_funcs *c, struct par_widget_create_turnswitch *a) {
3642 	if(c->c != DYNLOAD_WIDGET_CREATE_TURNSWITCH_PARAMS) {
3643 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CREATE_TURNSWITCH_PARAMS);
3644 
3645 		return(-1);
3646 	}
3647 
3648 	/* Pass parameters to widget_create_turnswitch() */
3649 	a->handle = dynload_param_get_handle(&c->p[0]);
3650 
3651 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3652 
3653 	a->x = (int) dynload_param_get_number(&c->p[2]);
3654 	a->y = (int) dynload_param_get_number(&c->p[3]);
3655 	a->u = (int) dynload_param_get_number(&c->p[4]);
3656 	a->v = (int) dynload_param_get_number(&c->p[5]);
3657 
3658 	a->subtype = (unsigned int) dynload_param_get_number(&c->p[6]);
3659 	a->titlepos = (unsigned int) dynload_param_get_number(&c->p[7]);
3660 
3661 	a->minangle = (unsigned int) dynload_param_get_number(&c->p[8]);
3662 	a->maxangle = (unsigned int) dynload_param_get_number(&c->p[9]);
3663 
3664 	a->steps = (unsigned int) dynload_param_get_number(&c->p[10]);
3665 	a->startstep = (unsigned int) dynload_param_get_number(&c->p[11]);
3666 
3667 	return(0);
3668 }
3669 
dynload_widget_delete_pre(struct a_funcs * c,struct par_widget_delete * a)3670 static int dynload_widget_delete_pre(struct a_funcs *c, struct par_widget_delete *a) {
3671 	if(c->c != DYNLOAD_WIDGET_DELETE_PARAMS) {
3672 		(void) dynload_error_params(c, DYNLOAD_WIDGET_DELETE_PARAMS);
3673 
3674 		return(-1);
3675 	}
3676 
3677 	/* Pass parameters to widget_delete() */
3678 	a->handle = dynload_param_get_handle(&c->p[0]);
3679 
3680 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3681 
3682 	return(0);
3683 }
3684 
dynload_widget_state_pre(struct a_funcs * c,struct par_widget_state * a)3685 static int dynload_widget_state_pre(struct a_funcs *c, struct par_widget_state *a) {
3686 	if(c->c != DYNLOAD_WIDGET_STATE_PARAMS) {
3687 		(void) dynload_error_params(c, DYNLOAD_WIDGET_STATE_PARAMS);
3688 
3689 		return(-1);
3690 	}
3691 
3692 	/* Pass parameters to widget_[disable|enable]() */
3693 	a->handle = dynload_param_get_handle(&c->p[0]);
3694 
3695 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3696 
3697 	return(0);
3698 }
3699 
dynload_widget_change_set_pre(struct a_funcs * c,struct par_widget_change_set * a)3700 static int dynload_widget_change_set_pre(struct a_funcs *c, struct par_widget_change_set *a) {
3701 	if(c->c != DYNLOAD_WIDGET_CHANGE_SET_PARAMS) {
3702 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CHANGE_SET_PARAMS);
3703 
3704 		return(-1);
3705 	}
3706 
3707 	/* Pass parameters to widget_change_set() */
3708 	a->handle = dynload_param_get_handle(&c->p[0]);
3709 
3710 	a->set = (unsigned int) dynload_param_get_number(&c->p[1]);
3711 
3712 	return(0);
3713 }
3714 
dynload_widget_step_get_pre(struct a_funcs * c,struct par_widget_step_get * a)3715 static int dynload_widget_step_get_pre(struct a_funcs *c, struct par_widget_step_get *a) {
3716 	if(c->c != DYNLOAD_WIDGET_STEP_GET_PARAMS) {
3717 		(void) dynload_error_params(c, DYNLOAD_WIDGET_STEP_GET_PARAMS);
3718 
3719 		return(-1);
3720 	}
3721 
3722 	/* Pass parameters to widget_step_[get|get_min|get_max]() */
3723 	a->handle = dynload_param_get_handle(&c->p[0]);
3724 
3725 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3726 
3727 	return(0);
3728 }
3729 
dynload_widget_step_set_pre(struct a_funcs * c,struct par_widget_step_set * a)3730 static int dynload_widget_step_set_pre(struct a_funcs *c, struct par_widget_step_set *a) {
3731 	if(c->c != DYNLOAD_WIDGET_STEP_SET_PARAMS) {
3732 		(void) dynload_error_params(c, DYNLOAD_WIDGET_STEP_SET_PARAMS);
3733 
3734 		return(-1);
3735 	}
3736 
3737 	/* Pass parameters to widget_step_set() */
3738 	a->handle = dynload_param_get_handle(&c->p[0]);
3739 
3740 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3741 
3742 	a->step = (unsigned int) dynload_param_get_number(&c->p[2]);
3743 
3744 	return(0);
3745 }
3746 
dynload_widget_trigger_set_pre(struct a_funcs * c,struct par_widget_trigger_set * a)3747 static int dynload_widget_trigger_set_pre(struct a_funcs *c, struct par_widget_trigger_set *a) {
3748 	if(c->c != DYNLOAD_WIDGET_TRIGGER_SET_PARAMS) {
3749 		(void) dynload_error_params(c, DYNLOAD_WIDGET_TRIGGER_SET_PARAMS);
3750 
3751 		return(-1);
3752 	}
3753 
3754 	/* Pass parameters to widget_trigger_set() */
3755 	a->handle = dynload_param_get_handle(&c->p[0]);
3756 
3757 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3758 
3759 	a->trigger = (unsigned int) dynload_param_get_number(&c->p[2]);
3760 
3761 	return(0);
3762 }
3763 
dynload_widget_indicator_set_pre(struct a_funcs * c,struct par_widget_indicator_set * a)3764 static int dynload_widget_indicator_set_pre(struct a_funcs *c, struct par_widget_indicator_set *a) {
3765 	if(c->c != DYNLOAD_WIDGET_INDICATOR_SET_PARAMS) {
3766 		(void) dynload_error_params(c, DYNLOAD_WIDGET_INDICATOR_SET_PARAMS);
3767 
3768 		return(-1);
3769 	}
3770 
3771 	/* Pass parameters to widget_indicator_set() */
3772 	a->handle = dynload_param_get_handle(&c->p[0]);
3773 
3774 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3775 
3776 	a->font = (char *) dynload_param_get_string(&c->p[2]);
3777 	a->charset = (char *) dynload_param_get_string(&c->p[3]);
3778 
3779 	a->font_size = (unsigned int) dynload_param_get_number(&c->p[4]);
3780 	a->font_res = (unsigned int) dynload_param_get_number(&c->p[5]);
3781 
3782 	a->color.pixel.p = dynload_pre_color(c, 6);
3783 
3784 	a->mode = (unsigned int) dynload_param_get_number(&c->p[7]);
3785 	a->offset = (int) dynload_param_get_number(&c->p[8]);
3786 
3787 	return(0);
3788 }
3789 
dynload_widget_update_border_pre(struct a_funcs * c,struct par_widget_update_border * a)3790 static int dynload_widget_update_border_pre(struct a_funcs *c, struct par_widget_update_border *a) {
3791 	if(c->c != DYNLOAD_WIDGET_UPDATE_BORDER_PARAMS) {
3792 		(void) dynload_error_params(c, DYNLOAD_WIDGET_UPDATE_BORDER_PARAMS);
3793 
3794 		return(-1);
3795 	}
3796 
3797 	/* Pass parameters to widget_update_border() */
3798 	a->handle = dynload_param_get_handle(&c->p[0]);
3799 
3800 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3801 
3802 	a->color.pixel.p = dynload_pre_color(c, 2);
3803 
3804 	a->thickness = (unsigned int) dynload_param_get_number(&c->p[3]);
3805 
3806 	return(0);
3807 }
3808 
dynload_widget_update_color_pre(struct a_funcs * c,struct par_widget_update_color * a)3809 static int dynload_widget_update_color_pre(struct a_funcs *c, struct par_widget_update_color *a) {
3810 	if(c->c != DYNLOAD_WIDGET_UPDATE_COLOR_PARAMS) {
3811 		(void) dynload_error_params(c, DYNLOAD_WIDGET_UPDATE_COLOR_PARAMS);
3812 
3813 		return(-1);
3814 	}
3815 
3816 	/* Pass parameters to widget_update_color() */
3817 	a->handle = dynload_param_get_handle(&c->p[0]);
3818 
3819 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3820 
3821 	a->color.pixel.p = dynload_pre_color(c, 2);
3822 
3823 	return(0);
3824 }
3825 
dynload_widget_update_image_pre(struct a_funcs * c,struct par_widget_update_image * a)3826 static int dynload_widget_update_image_pre(struct a_funcs *c, struct par_widget_update_image *a) {
3827 	if(c->c != DYNLOAD_WIDGET_UPDATE_IMAGE_PARAMS) {
3828 		(void) dynload_error_params(c, DYNLOAD_WIDGET_UPDATE_IMAGE_PARAMS);
3829 
3830 		return(-1);
3831 	}
3832 
3833 	/* Pass parameters to widget_update_image() */
3834 	a->handle = dynload_param_get_handle(&c->p[0]);
3835 
3836 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3837 
3838 	a->x = (int) dynload_param_get_number(&c->p[2]);
3839 	a->y = (int) dynload_param_get_number(&c->p[3]);
3840 
3841 	(void) dynload_pre_image(c, 4, &a->width, &a->height, &a->image);
3842 
3843 	return(0);
3844 }
3845 
dynload_widget_update_image_file_pre(struct a_funcs * c,struct par_widget_update_image_file * a)3846 static int dynload_widget_update_image_file_pre(struct a_funcs *c, struct par_widget_update_image_file *a) {
3847 	if(c->c != DYNLOAD_WIDGET_UPDATE_IMAGE_FILE_PARAMS) {
3848 		(void) dynload_error_params(c, DYNLOAD_WIDGET_UPDATE_IMAGE_FILE_PARAMS);
3849 
3850 		return(-1);
3851 	}
3852 
3853 	/* Pass parameters to widget_update_image_file() */
3854 	a->handle = dynload_param_get_handle(&c->p[0]);
3855 
3856 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3857 
3858 	a->image = (char *) dynload_param_get_string(&c->p[2]);
3859 
3860 	return(0);
3861 }
3862 
dynload_widget_update_label_pre(struct a_funcs * c,struct par_widget_update_label * a)3863 static int dynload_widget_update_label_pre(struct a_funcs *c, struct par_widget_update_label *a) {
3864 	if(c->c != DYNLOAD_WIDGET_UPDATE_LABEL_PARAMS) {
3865 		(void) dynload_error_params(c, DYNLOAD_WIDGET_UPDATE_LABEL_PARAMS);
3866 
3867 		return(-1);
3868 	}
3869 
3870 	/* Pass parameters to widget_update_label() */
3871 	a->handle = dynload_param_get_handle(&c->p[0]);
3872 
3873 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3874 
3875 	a->label = (char *) dynload_param_get_string(&c->p[2]);
3876 	a->charset = (char *) dynload_param_get_string(&c->p[3]);
3877 	a->font = (char *) dynload_param_get_string(&c->p[4]);
3878 
3879 	a->font_size = (unsigned int) dynload_param_get_number(&c->p[5]);
3880 	a->font_res = (unsigned int) dynload_param_get_number(&c->p[6]);
3881 	a->font_just = (unsigned int) dynload_param_get_number(&c->p[7]);
3882 
3883 	a->color.pixel.p = dynload_pre_color(c, 8);
3884 
3885 	return(0);
3886 }
3887 
dynload_widget_update_scale_pre(struct a_funcs * c,struct par_widget_update_scale * a)3888 static int dynload_widget_update_scale_pre(struct a_funcs *c, struct par_widget_update_scale *a) {
3889 	if(c->c != DYNLOAD_WIDGET_UPDATE_SCALE_PARAMS) {
3890 		(void) dynload_error_params(c, DYNLOAD_WIDGET_UPDATE_SCALE_PARAMS);
3891 
3892 		return(-1);
3893 	}
3894 
3895 	/* Pass parameters to widget_update_scale_[bars|dots|nude]() */
3896 	a->handle = dynload_param_get_handle(&c->p[0]);
3897 
3898 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3899 
3900 	a->font = (char *) dynload_param_get_string(&c->p[2]);
3901 	a->charset = (char *) dynload_param_get_string(&c->p[3]);
3902 
3903 	a->array = NULL;
3904 
3905 	a->font_size = (unsigned int) dynload_param_get_number(&c->p[4]);
3906 	a->font_res = (unsigned int) dynload_param_get_number(&c->p[5]);
3907 
3908 	a->start = dynload_param_get_number(&c->p[6]);
3909 	a->end = dynload_param_get_number(&c->p[7]);
3910 
3911 	a->bars = (unsigned int) dynload_param_get_number(&c->p[8]);
3912 
3913 	a->color.pixel.p = dynload_pre_color(c, 9);
3914 
3915 	return(0);
3916 }
3917 
dynload_widget_cb_add_pre(struct a_funcs * c,struct par_widget_cb_add * a)3918 static int dynload_widget_cb_add_pre(struct a_funcs *c, struct par_widget_cb_add *a) {
3919 	if(c->c != DYNLOAD_WIDGET_CB_ADD_PARAMS) {
3920 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CB_ADD_PARAMS);
3921 
3922 		return(-1);
3923 	}
3924 
3925 	/* Pass parameters to widget_cb_add_*() */
3926 	a->handle = dynload_param_get_handle(&c->p[0]);
3927 
3928 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3929 
3930 	a->cb = (char *) dynload_param_get_string(&c->p[2]);
3931 
3932 	return(0);
3933 }
3934 
dynload_widget_cb_delete_pre(struct a_funcs * c,struct par_widget_cb_delete * a)3935 static int dynload_widget_cb_delete_pre(struct a_funcs *c, struct par_widget_cb_delete *a) {
3936 	if(c->c != DYNLOAD_WIDGET_CB_DELETE_PARAMS) {
3937 		(void) dynload_error_params(c, DYNLOAD_WIDGET_CB_DELETE_PARAMS);
3938 
3939 		return(-1);
3940 	}
3941 
3942 	/* Pass parameters to widget_cb_delete_*() */
3943 	a->handle = dynload_param_get_handle(&c->p[0]);
3944 
3945 	a->name = (char *) dynload_param_get_string(&c->p[1]);
3946 
3947 	return(0);
3948 }
3949 #endif
3950 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_BOB)
dynload_bob_get_altitude_pre(struct a_funcs * c,struct par_bob_get_altitude * a)3951 static int dynload_bob_get_altitude_pre(struct a_funcs *c, struct par_bob_get_altitude *a) {
3952 	if(c->c != DYNLOAD_BOB_GET_ALTITUDE_PARAMS) {
3953 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_ALTITUDE_PARAMS);
3954 
3955 		return(-1);
3956 	}
3957 
3958 	/* Pass parameters to bob_get_altitude() */
3959 	a->container = dynload_param_get_handle(&c->p[0]);
3960 	a->bob = dynload_param_get_handle(&c->p[1]);
3961 
3962 	return(0);
3963 }
3964 
dynload_bob_set_altitude_pre(struct a_funcs * c,struct par_bob_set_altitude * a)3965 static int dynload_bob_set_altitude_pre(struct a_funcs *c, struct par_bob_set_altitude *a) {
3966 	if(c->c != DYNLOAD_BOB_SET_ALTITUDE_PARAMS) {
3967 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_ALTITUDE_PARAMS);
3968 
3969 		return(-1);
3970 	}
3971 
3972 	/* Pass parameters to bob_set_altitude() */
3973 	a->container = dynload_param_get_handle(&c->p[0]);
3974 	a->bob = dynload_param_get_handle(&c->p[1]);
3975 
3976 	a->altitude = (unsigned int) dynload_param_get_number(&c->p[2]);
3977 
3978 	return(0);
3979 }
3980 
dynload_bob_add_altitude_pre(struct a_funcs * c,struct par_bob_add_altitude * a)3981 static int dynload_bob_add_altitude_pre(struct a_funcs *c, struct par_bob_add_altitude *a) {
3982 	if(c->c != DYNLOAD_BOB_ADD_ALTITUDE_PARAMS) {
3983 		(void) dynload_error_params(c, DYNLOAD_BOB_ADD_ALTITUDE_PARAMS);
3984 
3985 		return(-1);
3986 	}
3987 
3988 	/* Pass parameters to bob_add_altitude() */
3989 	a->container = dynload_param_get_handle(&c->p[0]);
3990 	a->bob = dynload_param_get_handle(&c->p[1]);
3991 
3992 	a->altitude = (int) dynload_param_get_number(&c->p[2]);
3993 
3994 	return(0);
3995 }
3996 
dynload_bob_sub_altitude_pre(struct a_funcs * c,struct par_bob_sub_altitude * a)3997 static int dynload_bob_sub_altitude_pre(struct a_funcs *c, struct par_bob_sub_altitude *a) {
3998 	if(c->c != DYNLOAD_BOB_SUB_ALTITUDE_PARAMS) {
3999 		(void) dynload_error_params(c, DYNLOAD_BOB_SUB_ALTITUDE_PARAMS);
4000 
4001 		return(-1);
4002 	}
4003 
4004 	/* Pass parameters to bob_sub_altitude() */
4005 	a->container = dynload_param_get_handle(&c->p[0]);
4006 	a->bob = dynload_param_get_handle(&c->p[1]);
4007 
4008 	a->altitude = (int) dynload_param_get_number(&c->p[2]);
4009 
4010 	return(0);
4011 }
4012 
dynload_bob_get_x_position_pre(struct a_funcs * c,struct par_bob_get_x_position * a)4013 static int dynload_bob_get_x_position_pre(struct a_funcs *c, struct par_bob_get_x_position *a) {
4014 	if(c->c != DYNLOAD_BOB_GET_X_POSITION_PARAMS) {
4015 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_X_POSITION_PARAMS);
4016 
4017 		return(-1);
4018 	}
4019 
4020 	/* Pass parameters to bob_get_x_position() */
4021 	a->container = dynload_param_get_handle(&c->p[0]);
4022 	a->bob = dynload_param_get_handle(&c->p[1]);
4023 
4024 	return(0);
4025 }
4026 
dynload_bob_get_y_position_pre(struct a_funcs * c,struct par_bob_get_y_position * a)4027 static int dynload_bob_get_y_position_pre(struct a_funcs *c, struct par_bob_get_y_position *a) {
4028 	if(c->c != DYNLOAD_BOB_GET_Y_POSITION_PARAMS) {
4029 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_Y_POSITION_PARAMS);
4030 
4031 		return(-1);
4032 	}
4033 
4034 	/* Pass parameters to bob_get_y_position() */
4035 	a->container = dynload_param_get_handle(&c->p[0]);
4036 	a->bob = dynload_param_get_handle(&c->p[1]);
4037 
4038 	return(0);
4039 }
4040 
dynload_bob_set_position_pre(struct a_funcs * c,struct par_bob_set_position * a)4041 static int dynload_bob_set_position_pre(struct a_funcs *c, struct par_bob_set_position *a) {
4042 	if(c->c != DYNLOAD_BOB_SET_POSITION_PARAMS) {
4043 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_POSITION_PARAMS);
4044 
4045 		return(-1);
4046 	}
4047 
4048 	/* Pass parameters to bob_set_position() */
4049 	a->container = dynload_param_get_handle(&c->p[0]);
4050 	a->bob = dynload_param_get_handle(&c->p[1]);
4051 
4052 	a->x = (int) dynload_param_get_number(&c->p[2]);
4053 	a->y = (int) dynload_param_get_number(&c->p[3]);
4054 
4055 	return(0);
4056 }
4057 
dynload_bob_set_x_position_pre(struct a_funcs * c,struct par_bob_set_x_position * a)4058 static int dynload_bob_set_x_position_pre(struct a_funcs *c, struct par_bob_set_x_position *a) {
4059 	if(c->c != DYNLOAD_BOB_SET_X_POSITION_PARAMS) {
4060 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_X_POSITION_PARAMS);
4061 
4062 		return(-1);
4063 	}
4064 
4065 	/* Pass parameters to bob_set_x_position() */
4066 	a->container = dynload_param_get_handle(&c->p[0]);
4067 	a->bob = dynload_param_get_handle(&c->p[1]);
4068 
4069 	a->x = (int) dynload_param_get_number(&c->p[2]);
4070 
4071 	return(0);
4072 }
4073 
dynload_bob_set_y_position_pre(struct a_funcs * c,struct par_bob_set_y_position * a)4074 static int dynload_bob_set_y_position_pre(struct a_funcs *c, struct par_bob_set_y_position *a) {
4075 	if(c->c != DYNLOAD_BOB_SET_Y_POSITION_PARAMS) {
4076 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_Y_POSITION_PARAMS);
4077 
4078 		return(-1);
4079 	}
4080 
4081 	/* Pass parameters to bob_set_y_position() */
4082 	a->container = dynload_param_get_handle(&c->p[0]);
4083 	a->bob = dynload_param_get_handle(&c->p[1]);
4084 
4085 	a->y = (int) dynload_param_get_number(&c->p[2]);
4086 
4087 	return(0);
4088 }
4089 
dynload_bob_add_x_position_pre(struct a_funcs * c,struct par_bob_add_x_position * a)4090 static int dynload_bob_add_x_position_pre(struct a_funcs *c, struct par_bob_add_x_position *a) {
4091 	if(c->c != DYNLOAD_BOB_ADD_X_POSITION_PARAMS) {
4092 		(void) dynload_error_params(c, DYNLOAD_BOB_ADD_X_POSITION_PARAMS);
4093 
4094 		return(-1);
4095 	}
4096 
4097 	/* Pass parameters to bob_add_x_position() */
4098 	a->container = dynload_param_get_handle(&c->p[0]);
4099 	a->bob = dynload_param_get_handle(&c->p[1]);
4100 
4101 	a->x = (int) dynload_param_get_number(&c->p[2]);
4102 
4103 	return(0);
4104 }
4105 
dynload_bob_add_y_position_pre(struct a_funcs * c,struct par_bob_add_y_position * a)4106 static int dynload_bob_add_y_position_pre(struct a_funcs *c, struct par_bob_add_y_position *a) {
4107 	if(c->c != DYNLOAD_BOB_ADD_Y_POSITION_PARAMS) {
4108 		(void) dynload_error_params(c, DYNLOAD_BOB_ADD_Y_POSITION_PARAMS);
4109 
4110 		return(-1);
4111 	}
4112 
4113 	/* Pass parameters to bob_add_y_position() */
4114 	a->container = dynload_param_get_handle(&c->p[0]);
4115 	a->bob = dynload_param_get_handle(&c->p[1]);
4116 
4117 	a->y = (int) dynload_param_get_number(&c->p[2]);
4118 
4119 	return(0);
4120 }
4121 
dynload_bob_sub_x_position_pre(struct a_funcs * c,struct par_bob_sub_x_position * a)4122 static int dynload_bob_sub_x_position_pre(struct a_funcs *c, struct par_bob_sub_x_position *a) {
4123 	if(c->c != DYNLOAD_BOB_SUB_X_POSITION_PARAMS) {
4124 		(void) dynload_error_params(c, DYNLOAD_BOB_SUB_X_POSITION_PARAMS);
4125 
4126 		return(-1);
4127 	}
4128 
4129 	/* Pass parameters to bob_sub_x_position() */
4130 	a->container = dynload_param_get_handle(&c->p[0]);
4131 	a->bob = dynload_param_get_handle(&c->p[1]);
4132 
4133 	a->x = (int) dynload_param_get_number(&c->p[2]);
4134 
4135 	return(0);
4136 }
4137 
dynload_bob_sub_y_position_pre(struct a_funcs * c,struct par_bob_sub_y_position * a)4138 static int dynload_bob_sub_y_position_pre(struct a_funcs *c, struct par_bob_sub_y_position *a) {
4139 	if(c->c != DYNLOAD_BOB_SUB_Y_POSITION_PARAMS) {
4140 		(void) dynload_error_params(c, DYNLOAD_BOB_SUB_Y_POSITION_PARAMS);
4141 
4142 		return(-1);
4143 	}
4144 
4145 	/* Pass parameters to bob_sub_y_position() */
4146 	a->container = dynload_param_get_handle(&c->p[0]);
4147 	a->bob = dynload_param_get_handle(&c->p[1]);
4148 
4149 	a->y = (int) dynload_param_get_number(&c->p[2]);
4150 
4151 	return(0);
4152 }
4153 
dynload_bob_get_angle_pre(struct a_funcs * c,struct par_bob_get_angle * a)4154 static int dynload_bob_get_angle_pre(struct a_funcs *c, struct par_bob_get_angle *a) {
4155 	if(c->c != DYNLOAD_BOB_GET_ANGLE_PARAMS) {
4156 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_ANGLE_PARAMS);
4157 
4158 		return(-1);
4159 	}
4160 
4161 	/* Pass parameters to bob_get_angle() */
4162 	a->container = dynload_param_get_handle(&c->p[0]);
4163 	a->bob = dynload_param_get_handle(&c->p[1]);
4164 
4165 	return(0);
4166 }
4167 
dynload_bob_set_angle_position_pre(struct a_funcs * c,struct par_bob_set_angle_position * a)4168 static int dynload_bob_set_angle_position_pre(struct a_funcs *c, struct par_bob_set_angle_position *a) {
4169 	if(c->c != DYNLOAD_BOB_SET_ANGLE_POSITION_PARAMS) {
4170 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_ANGLE_POSITION_PARAMS);
4171 
4172 		return(-1);
4173 	}
4174 
4175 	/* Pass parameters to bob_set_angle_position() */
4176 	a->container = dynload_param_get_handle(&c->p[0]);
4177 	a->bob = dynload_param_get_handle(&c->p[1]);
4178 
4179 	a->angle = dynload_param_get_number(&c->p[2]);
4180 	a->distance = dynload_param_get_number(&c->p[3]);
4181 
4182 	return(0);
4183 }
4184 
dynload_bob_get_depth_pre(struct a_funcs * c,struct par_bob_get_depth * a)4185 static int dynload_bob_get_depth_pre(struct a_funcs *c, struct par_bob_get_depth *a) {
4186 	if(c->c != DYNLOAD_BOB_GET_DEPTH_PARAMS) {
4187 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_DEPTH_PARAMS);
4188 
4189 		return(-1);
4190 	}
4191 
4192 	/* Pass parameters to bob_get_depth() */
4193 	a->container = dynload_param_get_handle(&c->p[0]);
4194 	a->bob = dynload_param_get_handle(&c->p[1]);
4195 
4196 	return(0);
4197 }
4198 
dynload_bob_set_depth_pre(struct a_funcs * c,struct par_bob_set_depth * a)4199 static int dynload_bob_set_depth_pre(struct a_funcs *c, struct par_bob_set_depth *a) {
4200 	if(c->c != DYNLOAD_BOB_SET_DEPTH_PARAMS) {
4201 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_DEPTH_PARAMS);
4202 
4203 		return(-1);
4204 	}
4205 
4206 	/* Pass parameters to bob_set_depth() */
4207 	a->container = dynload_param_get_handle(&c->p[0]);
4208 	a->bob = dynload_param_get_handle(&c->p[1]);
4209 
4210 	a->depth = (int) dynload_param_get_number(&c->p[2]);
4211 
4212 	return(0);
4213 }
4214 
dynload_bob_get_distance_pre(struct a_funcs * c,struct par_bob_get_distance * a)4215 static int dynload_bob_get_distance_pre(struct a_funcs *c, struct par_bob_get_distance *a) {
4216 	if(c->c != DYNLOAD_BOB_GET_DISTANCE_PARAMS) {
4217 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_DISTANCE_PARAMS);
4218 
4219 		return(-1);
4220 	}
4221 
4222 	/* Pass parameters to bob_get_distance() */
4223 	a->a_container = dynload_param_get_handle(&c->p[0]);
4224 	a->a_bob = dynload_param_get_handle(&c->p[1]);
4225 
4226 	a->b_container = dynload_param_get_handle(&c->p[2]);
4227 	a->b_bob = dynload_param_get_handle(&c->p[3]);
4228 
4229 	return(0);
4230 }
4231 
dynload_bob_get_measure_pre(struct a_funcs * c,struct par_bob_get_measure * a)4232 static int dynload_bob_get_measure_pre(struct a_funcs *c, struct par_bob_get_measure *a) {
4233 	if(c->c != DYNLOAD_BOB_GET_MEASURE_PARAMS) {
4234 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_MEASURE_PARAMS);
4235 
4236 		return(-1);
4237 	}
4238 
4239 	/* Pass parameters to bob_get_measure() */
4240 	a->container = dynload_param_get_handle(&c->p[0]);
4241 	a->bob = dynload_param_get_handle(&c->p[1]);
4242 
4243 	a->x = (int) dynload_param_get_number(&c->p[2]);
4244 	a->y = (int) dynload_param_get_number(&c->p[3]);
4245 
4246 	return(0);
4247 }
4248 
dynload_bob_get_map_pre(struct a_funcs * c,struct par_bob_get_map * a)4249 static int dynload_bob_get_map_pre(struct a_funcs *c, struct par_bob_get_map *a) {
4250 	if(c->c != DYNLOAD_BOB_GET_MAP_PARAMS) {
4251 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_MAP_PARAMS);
4252 
4253 		return(-1);
4254 	}
4255 
4256 	/* Pass parameters to bob_get_map() */
4257 	a->container = dynload_param_get_handle(&c->p[0]);
4258 	a->bob = dynload_param_get_handle(&c->p[1]);
4259 
4260 	return(0);
4261 }
4262 
dynload_bob_set_map_pre(struct a_funcs * c,struct par_bob_set_map * a)4263 static int dynload_bob_set_map_pre(struct a_funcs *c, struct par_bob_set_map *a) {
4264 	if(c->c != DYNLOAD_BOB_SET_MAP_PARAMS) {
4265 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_MAP_PARAMS);
4266 
4267 		return(-1);
4268 	}
4269 
4270 	/* Pass parameters to bob_set_map() */
4271 	a->container = dynload_param_get_handle(&c->p[0]);
4272 	a->bob = dynload_param_get_handle(&c->p[1]);
4273 
4274 	a->map = (unsigned int) dynload_param_get_number(&c->p[2]);
4275 
4276 	return(0);
4277 }
4278 
dynload_bob_get_playdirection_pre(struct a_funcs * c,struct par_bob_get_playdirection * a)4279 static int dynload_bob_get_playdirection_pre(struct a_funcs *c, struct par_bob_get_playdirection *a) {
4280 	if(c->c != DYNLOAD_BOB_GET_PLAYDIRECTION_PARAMS) {
4281 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_PLAYDIRECTION_PARAMS);
4282 
4283 		return(-1);
4284 	}
4285 
4286 	/* Pass parameters to bob_get_playdirection() */
4287 	a->container = dynload_param_get_handle(&c->p[0]);
4288 	a->bob = dynload_param_get_handle(&c->p[1]);
4289 
4290 	return(0);
4291 }
4292 
dynload_bob_set_playdirection_pre(struct a_funcs * c,struct par_bob_set_playdirection * a)4293 static int dynload_bob_set_playdirection_pre(struct a_funcs *c, struct par_bob_set_playdirection *a) {
4294 	if(c->c != DYNLOAD_BOB_SET_PLAYDIRECTION_PARAMS) {
4295 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_PLAYDIRECTION_PARAMS);
4296 
4297 		return(-1);
4298 	}
4299 
4300 	/* Pass parameters to bob_set_playdirection() */
4301 	a->container = dynload_param_get_handle(&c->p[0]);
4302 	a->bob = dynload_param_get_handle(&c->p[1]);
4303 
4304 	a->playdirection = (unsigned int) dynload_param_get_number(&c->p[2]);
4305 
4306 	return(0);
4307 }
4308 
dynload_bob_get_playmode_pre(struct a_funcs * c,struct par_bob_get_playmode * a)4309 static int dynload_bob_get_playmode_pre(struct a_funcs *c, struct par_bob_get_playmode *a) {
4310 	if(c->c != DYNLOAD_BOB_GET_PLAYMODE_PARAMS) {
4311 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_PLAYMODE_PARAMS);
4312 
4313 		return(-1);
4314 	}
4315 
4316 	/* Pass parameters to bob_get_playmode() */
4317 	a->container = dynload_param_get_handle(&c->p[0]);
4318 	a->bob = dynload_param_get_handle(&c->p[1]);
4319 
4320 	return(0);
4321 }
4322 
dynload_bob_set_playmode_pre(struct a_funcs * c,struct par_bob_set_playmode * a)4323 static int dynload_bob_set_playmode_pre(struct a_funcs *c, struct par_bob_set_playmode *a) {
4324 	if(c->c != DYNLOAD_BOB_SET_PLAYMODE_PARAMS) {
4325 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_PLAYMODE_PARAMS);
4326 
4327 		return(-1);
4328 	}
4329 
4330 	/* Pass parameters to bob_set_playmode() */
4331 	a->container = dynload_param_get_handle(&c->p[0]);
4332 	a->bob = dynload_param_get_handle(&c->p[1]);
4333 
4334 	a->playmode = (unsigned int) dynload_param_get_number(&c->p[2]);
4335 
4336 	return(0);
4337 }
4338 
dynload_bob_get_playskip_pre(struct a_funcs * c,struct par_bob_get_playskip * a)4339 static int dynload_bob_get_playskip_pre(struct a_funcs *c, struct par_bob_get_playskip *a) {
4340 	if(c->c != DYNLOAD_BOB_GET_PLAYSKIP_PARAMS) {
4341 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_PLAYSKIP_PARAMS);
4342 
4343 		return(-1);
4344 	}
4345 
4346 	/* Pass parameters to bob_get_playskip() */
4347 	a->container = dynload_param_get_handle(&c->p[0]);
4348 	a->bob = dynload_param_get_handle(&c->p[1]);
4349 
4350 	return(0);
4351 }
4352 
dynload_bob_set_playskip_pre(struct a_funcs * c,struct par_bob_set_playskip * a)4353 static int dynload_bob_set_playskip_pre(struct a_funcs *c, struct par_bob_set_playskip *a) {
4354 	if(c->c != DYNLOAD_BOB_SET_PLAYSKIP_PARAMS) {
4355 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_PLAYSKIP_PARAMS);
4356 
4357 		return(-1);
4358 	}
4359 
4360 	/* Pass parameters to bob_set_playskip() */
4361 	a->container = dynload_param_get_handle(&c->p[0]);
4362 	a->bob = dynload_param_get_handle(&c->p[1]);
4363 
4364 	a->playskip = (unsigned int) dynload_param_get_number(&c->p[2]);
4365 
4366 	return(0);
4367 }
4368 
dynload_bob_get_playspeed_pre(struct a_funcs * c,struct par_bob_get_playspeed * a)4369 static int dynload_bob_get_playspeed_pre(struct a_funcs *c, struct par_bob_get_playspeed *a) {
4370 	if(c->c != DYNLOAD_BOB_GET_PLAYSPEED_PARAMS) {
4371 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_PLAYSPEED_PARAMS);
4372 
4373 		return(-1);
4374 	}
4375 
4376 	/* Pass parameters to bob_get_playspeed() */
4377 	a->container = dynload_param_get_handle(&c->p[0]);
4378 	a->bob = dynload_param_get_handle(&c->p[1]);
4379 
4380 	return(0);
4381 }
4382 
dynload_bob_set_playspeed_pre(struct a_funcs * c,struct par_bob_set_playspeed * a)4383 static int dynload_bob_set_playspeed_pre(struct a_funcs *c, struct par_bob_set_playspeed *a) {
4384 	if(c->c != DYNLOAD_BOB_SET_PLAYSPEED_PARAMS) {
4385 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_PLAYSPEED_PARAMS);
4386 
4387 		return(-1);
4388 	}
4389 
4390 	/* Pass parameters to bob_set_playspeed() */
4391 	a->container = dynload_param_get_handle(&c->p[0]);
4392 	a->bob = dynload_param_get_handle(&c->p[1]);
4393 
4394 	a->playspeed = dynload_param_get_number(&c->p[2]);
4395 
4396 	return(0);
4397 }
4398 
dynload_bob_set_frame_pre(struct a_funcs * c,struct par_bob_set_frame * a)4399 static int dynload_bob_set_frame_pre(struct a_funcs *c, struct par_bob_set_frame *a) {
4400 	if(c->c != DYNLOAD_BOB_SET_FRAME_PARAMS) {
4401 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_FRAME_PARAMS);
4402 
4403 		return(-1);
4404 	}
4405 
4406 	/* Pass parameters to bob_set_frame() */
4407 	a->container = dynload_param_get_handle(&c->p[0]);
4408 	a->bob = dynload_param_get_handle(&c->p[1]);
4409 
4410 	a->frame = (unsigned int) dynload_param_get_number(&c->p[2]);
4411 
4412 	return(0);
4413 }
4414 
dynload_bob_add_frame_pre(struct a_funcs * c,struct par_bob_add_frame * a)4415 static int dynload_bob_add_frame_pre(struct a_funcs *c, struct par_bob_add_frame *a) {
4416 	if(c->c != DYNLOAD_BOB_ADD_FRAME_PARAMS) {
4417 		(void) dynload_error_params(c, DYNLOAD_BOB_ADD_FRAME_PARAMS);
4418 
4419 		return(-1);
4420 	}
4421 
4422 	/* Pass parameters to bob_add_frame() */
4423 	a->container = dynload_param_get_handle(&c->p[0]);
4424 	a->bob = dynload_param_get_handle(&c->p[1]);
4425 
4426 	a->frame = (int) dynload_param_get_number(&c->p[2]);
4427 
4428 	return(0);
4429 }
4430 
dynload_bob_sub_frame_pre(struct a_funcs * c,struct par_bob_sub_frame * a)4431 static int dynload_bob_sub_frame_pre(struct a_funcs *c, struct par_bob_sub_frame *a) {
4432 	if(c->c != DYNLOAD_BOB_SUB_FRAME_PARAMS) {
4433 		(void) dynload_error_params(c, DYNLOAD_BOB_SUB_FRAME_PARAMS);
4434 
4435 		return(-1);
4436 	}
4437 
4438 	/* Pass parameters to bob_sub_frame() */
4439 	a->container = dynload_param_get_handle(&c->p[0]);
4440 	a->bob = dynload_param_get_handle(&c->p[1]);
4441 
4442 	a->frame = (int) dynload_param_get_number(&c->p[2]);
4443 
4444 	return(0);
4445 }
4446 
dynload_bob_get_container_depth_pre(struct a_funcs * c,struct par_bob_get_container_depth * a)4447 static int dynload_bob_get_container_depth_pre(struct a_funcs *c, struct par_bob_get_container_depth *a) {
4448 	if(c->c != DYNLOAD_BOB_GET_CONTAINER_DEPTH_PARAMS) {
4449 		(void) dynload_error_params(c, DYNLOAD_BOB_GET_CONTAINER_DEPTH_PARAMS);
4450 
4451 		return(-1);
4452 	}
4453 
4454 	/* Pass parameters to bob_get_container_depth() */
4455 	a->container = dynload_param_get_handle(&c->p[0]);
4456 
4457 	return(0);
4458 }
4459 
dynload_bob_set_container_depth_pre(struct a_funcs * c,struct par_bob_set_container_depth * a)4460 static int dynload_bob_set_container_depth_pre(struct a_funcs *c, struct par_bob_set_container_depth *a) {
4461 	if(c->c != DYNLOAD_BOB_SET_CONTAINER_DEPTH_PARAMS) {
4462 		(void) dynload_error_params(c, DYNLOAD_BOB_SET_CONTAINER_DEPTH_PARAMS);
4463 
4464 		return(-1);
4465 	}
4466 
4467 	/* Pass parameters to bob_set_container_depth() */
4468 	a->container = dynload_param_get_handle(&c->p[0]);
4469 
4470 	a->depth = (int) dynload_param_get_number(&c->p[1]);
4471 
4472 	return(0);
4473 }
4474 
dynload_bob_create_pre(struct a_funcs * c,struct par_bob_create * a)4475 static int dynload_bob_create_pre(struct a_funcs *c, struct par_bob_create *a) {
4476 	if(c->c != DYNLOAD_BOB_CREATE_PARAMS) {
4477 		(void) dynload_error_params(c, DYNLOAD_BOB_CREATE_PARAMS);
4478 
4479 		return(-1);
4480 	}
4481 
4482 	/* Pass parameters to bob_create() */
4483 	a->file = dynload_param_get_handle(&c->p[0]);
4484 	a->container = dynload_param_get_handle(&c->p[1]);
4485 
4486 	a->altitude = (unsigned int) dynload_param_get_number(&c->p[2]);
4487 
4488 	a->x = (int) dynload_param_get_number(&c->p[3]);
4489 	a->y = (int) dynload_param_get_number(&c->p[4]);
4490 
4491 	a->depth = (int) dynload_param_get_number(&c->p[5]);
4492 
4493 	return(0);
4494 }
4495 
dynload_bob_create_background_pre(struct a_funcs * c,struct par_bob_create_background * a)4496 static int dynload_bob_create_background_pre(struct a_funcs *c, struct par_bob_create_background *a) {
4497 	if(c->c != DYNLOAD_BOB_CREATE_BACKGROUND_PARAMS) {
4498 		(void) dynload_error_params(c, DYNLOAD_BOB_CREATE_BACKGROUND_PARAMS);
4499 
4500 		return(-1);
4501 	}
4502 
4503 	/* Pass parameters to bob_create_background() */
4504 	a->file = dynload_param_get_handle(&c->p[0]);
4505 	a->container = dynload_param_get_handle(&c->p[1]);
4506 
4507 	a->opaque = (unsigned int) dynload_param_get_number(&c->p[2]);
4508 	a->depth = (int) dynload_param_get_number(&c->p[3]);
4509 
4510 	return(0);
4511 }
4512 
dynload_bob_create_container_pre(struct a_funcs * c,struct par_bob_create_container * a)4513 static int dynload_bob_create_container_pre(struct a_funcs *c, struct par_bob_create_container *a) {
4514 	if(c->c != DYNLOAD_BOB_CREATE_CONTAINER_PARAMS) {
4515 		(void) dynload_error_params(c, DYNLOAD_BOB_CREATE_CONTAINER_PARAMS);
4516 
4517 		return(-1);
4518 	}
4519 
4520 	/* Pass parameters to bob_create_container() */
4521 	a->handle = dynload_param_get_handle(&c->p[0]);
4522 
4523 	a->depth = (int) dynload_param_get_number(&c->p[1]);
4524 
4525 	return(0);
4526 }
4527 
dynload_bob_delete_pre(struct a_funcs * c,struct par_bob_delete * a)4528 static int dynload_bob_delete_pre(struct a_funcs *c, struct par_bob_delete *a) {
4529 	if(c->c != DYNLOAD_BOB_DELETE_PARAMS) {
4530 		(void) dynload_error_params(c, DYNLOAD_BOB_DELETE_PARAMS);
4531 
4532 		return(-1);
4533 	}
4534 
4535 	/* Pass parameters to bob_delete() */
4536 	a->container = dynload_param_get_handle(&c->p[0]);
4537 	a->bob = dynload_param_get_handle(&c->p[1]);
4538 
4539 	return(0);
4540 }
4541 
dynload_bob_delete_container_pre(struct a_funcs * c,struct par_bob_delete_container * a)4542 static int dynload_bob_delete_container_pre(struct a_funcs *c, struct par_bob_delete_container *a) {
4543 	if(c->c != DYNLOAD_BOB_DELETE_CONTAINER_PARAMS) {
4544 		(void) dynload_error_params(c, DYNLOAD_BOB_DELETE_CONTAINER_PARAMS);
4545 
4546 		return(-1);
4547 	}
4548 
4549 	/* Pass parameters to bob_delete_container() */
4550 	a->container = dynload_param_get_handle(&c->p[0]);
4551 
4552 	return(0);
4553 }
4554 
dynload_bob_init_file_pre(struct a_funcs * c,struct par_bob_init_file * a)4555 static int dynload_bob_init_file_pre(struct a_funcs *c, struct par_bob_init_file *a) {
4556 	if(c->c != DYNLOAD_BOB_INIT_FILE_PARAMS) {
4557 		(void) dynload_error_params(c, DYNLOAD_BOB_INIT_FILE_PARAMS);
4558 
4559 		return(-1);
4560 	}
4561 
4562 	/* Pass parameters to bob_init_file() */
4563 	a->name = (char *) dynload_param_get_string(&c->p[0]);
4564 
4565 	return(0);
4566 }
4567 
dynload_bob_init_image_pre(struct a_funcs * c,struct par_bob_init_image * a)4568 static int dynload_bob_init_image_pre(struct a_funcs *c, struct par_bob_init_image *a) {
4569 	if(c->c != DYNLOAD_BOB_INIT_IMAGE_PARAMS) {
4570 		(void) dynload_error_params(c, DYNLOAD_BOB_INIT_IMAGE_PARAMS);
4571 
4572 		return(-1);
4573 	}
4574 
4575 	/* Pass parameters to bob_init_image() */
4576 	a->width = (unsigned int) dynload_param_get_number(&c->p[0]);
4577 	a->height = (unsigned int) dynload_param_get_number(&c->p[1]);
4578 
4579 	return(0);
4580 }
4581 
dynload_bob_free_file_pre(struct a_funcs * c,struct par_bob_free_file * a)4582 static int dynload_bob_free_file_pre(struct a_funcs *c, struct par_bob_free_file *a) {
4583 	if(c->c != DYNLOAD_BOB_FREE_FILE_PARAMS) {
4584 		(void) dynload_error_params(c, DYNLOAD_BOB_FREE_FILE_PARAMS);
4585 
4586 		return(-1);
4587 	}
4588 
4589 	/* Pass parameters to bob_free_file() */
4590 	a->file = dynload_param_get_handle(&c->p[0]);
4591 
4592 	return(0);
4593 }
4594 
dynload_bob_free_image_pre(struct a_funcs * c,struct par_bob_free_image * a)4595 static int dynload_bob_free_image_pre(struct a_funcs *c, struct par_bob_free_image *a) {
4596 	if(c->c != DYNLOAD_BOB_FREE_IMAGE_PARAMS) {
4597 		(void) dynload_error_params(c, DYNLOAD_BOB_FREE_IMAGE_PARAMS);
4598 
4599 		return(-1);
4600 	}
4601 
4602 	/* Pass parameters to bob_free_image() */
4603 	a->image = dynload_param_get_handle(&c->p[0]);
4604 
4605 	return(0);
4606 }
4607 #endif
dynload_node_get_pre(struct a_funcs * c)4608 static int dynload_node_get_pre(struct a_funcs *c) {
4609 	if(c->c != DYNLOAD_NODE_GET_PARAMS) {
4610 		(void) dynload_error_params(c, DYNLOAD_NODE_GET_PARAMS);
4611 
4612 		return(-1);
4613 	}
4614 
4615 	return(0);
4616 }
4617 #if ! defined(PROG_DISABLE_IMAGE)
dynload_image_read_pre(struct a_funcs * c,struct par_image_read * a)4618 static int dynload_image_read_pre(struct a_funcs *c, struct par_image_read *a) {
4619 	if(c->c != DYNLOAD_IMAGE_READ_PARAMS) {
4620 		(void) dynload_error_params(c, DYNLOAD_IMAGE_READ_PARAMS);
4621 
4622 		return(-1);
4623 	}
4624 
4625 	/* Pass parameters to image_read() */
4626 	a->name = (char *) dynload_param_get_string(&c->p[0]);
4627 
4628 	return(0);
4629 }
4630 
dynload_image_write_pre(struct a_funcs * c,struct par_image_write * a)4631 static int dynload_image_write_pre(struct a_funcs *c, struct par_image_write *a) {
4632 	if(c->c != DYNLOAD_IMAGE_WRITE_PARAMS) {
4633 		(void) dynload_error_params(c, DYNLOAD_IMAGE_WRITE_PARAMS);
4634 
4635 		return(-1);
4636 	}
4637 
4638 	/* Pass parameters to image_[format]_write_32() */
4639 	a->name = (char *) dynload_param_get_string(&c->p[0]);
4640 
4641 	(void) dynload_pre_image(c, 1, &a->width, &a->height, &a->image);
4642 
4643 	return(0);
4644 }
4645 #endif
4646 #if ! defined(PROG_DISABLE_REMOTE)
dynload_remote_init_pre(struct a_funcs * c)4647 static int dynload_remote_init_pre(struct a_funcs *c) {
4648 	if(c->c != DYNLOAD_REMOTE_INIT_PARAMS) {
4649 		(void) dynload_error_params(c, DYNLOAD_REMOTE_INIT_PARAMS);
4650 
4651 		return(-1);
4652 	}
4653 
4654 	return(0);
4655 }
4656 #endif
dynload_pre_color(struct a_funcs * c,unsigned int n)4657 static uint32_t dynload_pre_color(struct a_funcs *c, unsigned int n) {
4658 	struct dsl_clr a;
4659 
4660 	(void) dynload_param_get_color(&c->p[n], &a);
4661 
4662 	return(a.color.pixel.p);
4663 }
4664 #if ! defined(PROG_DISABLE_IMAGE) || ! defined(PROG_DISABLE_WIDGET)
dynload_pre_image(struct a_funcs * c,unsigned int n,unsigned int * w,unsigned int * h,struct pixel_rgba_8 ** p)4665 static void dynload_pre_image(struct a_funcs *c, unsigned int n, unsigned int *w, unsigned int *h, struct pixel_rgba_8 **p) {
4666 	struct dsl_img *a;
4667 
4668 	a = (struct dsl_img *) dynload_param_get_image(&c->p[n]);
4669 
4670 	*w = a->image.w;
4671 	*h = a->image.h;
4672 	*p = a->image.s;
4673 }
4674 #endif
4675 #if ! defined(PROG_DISABLE_COORDS)
dynload_pre_point(struct a_funcs * c,unsigned int n,double * x,double * y,double * z)4676 static void dynload_pre_point(struct a_funcs *c, unsigned int n, double *x, double *y, double *z) {
4677 	struct dsl_pnt *a;
4678 
4679 	a = (struct dsl_pnt *) dynload_param_get_point(&c->p[n]);
4680 
4681 	*x = a->point.x;
4682 	*y = a->point.y;
4683 	*z = a->point.z;
4684 }
4685 #endif
dynload_ret_string(void * c)4686 void *dynload_ret_string(void *c) {
4687 	char *r;
4688 
4689 	size_t t;
4690 
4691 	if(c == NULL) return(NULL);
4692 
4693 	t = str_len((const char *) c, STRING_ASCII);
4694 
4695 	APP_MALLOC_RET_VALUE(r, t + sizeof(char), NULL);
4696 
4697 	(void) memcpy((void *) r, (const void *) c, t);
4698 
4699 	r[t] = 0;
4700 
4701 	return((void *) r);
4702 }
4703 
dynload_ret_color(void * c)4704 void *dynload_ret_color(void *c) {
4705 	void *r;
4706 
4707 	APP_MALLOC_RET_VALUE(r, sizeof(struct pixel_rgba_8), NULL);
4708 
4709 	(void) memcpy((void *) r, (const void *) c, sizeof(struct pixel_rgba_8));
4710 
4711 	return(r);
4712 }
4713 
dynload_ret_image(void * c)4714 void *dynload_ret_image(void *c) {
4715 	void *r;
4716 
4717 	APP_MALLOC_RET_VALUE(r, sizeof(struct dsl_img), NULL);
4718 
4719 	(void) memcpy((void *) r, (const void *) c, sizeof(struct dsl_img));
4720 
4721 	return(r);
4722 }
4723 
dynload_ret_position(void * c)4724 void *dynload_ret_position(void *c) {
4725 	void *r;
4726 
4727 	APP_MALLOC_RET_VALUE(r, sizeof(struct position), NULL);
4728 
4729 	(void) memcpy((void *) r, (const void *) c, sizeof(struct position));
4730 
4731 	return(r);
4732 }
4733