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