1 #define SUBSYSTEM APPLICATION_EXEC "_dynload_bind: "
2 
3 #define DYNLOAD_SYSTEM_SLEEP_PARAMS 2						/* Parameter count for functions */
4 #define DYNLOAD_SYSTEM_FORK_PARAMS 0
5 #define DYNLOAD_SYSTEM_EXEC_PARAMS 1
6 #define DYNLOAD_SYSTEM_SYSTEM_PARAMS 1
7 #define DYNLOAD_SYSTEM_TIME_PARAMS 0
8 #define DYNLOAD_SYSTEM_TIMER_PARAMS 3
9 
10 #define DYNLOAD_CLOCK_GET_TICKS_PARAMS 0
11 #define DYNLOAD_CLOCK_GET_MULTIPLIER_PARAMS 0
12 #define DYNLOAD_CLOCK_SET_PARAMS 1
13 #define DYNLOAD_CLOCK_SET_MULTIPLIER_PARAMS 1
14 
15 #if ! defined(PROG_DISABLE_COLOR)
16 #define DYNLOAD_COLOR_BRIGHTNESS_PARAMS 1
17 #define DYNLOAD_COLOR_BV_INDEX_PARAMS 2
18 #define DYNLOAD_COLOR_COMPLEMENT_PARAMS 1
19 #define DYNLOAD_COLOR_MIX_PARAMS 3
20 #endif
21 
22 #if ! defined(PROG_DISABLE_COORDS)
23 #define DYNLOAD_COORDS_MAG_PARAMS 1
24 #define DYNLOAD_COORDS_NORMALIZE_PARAMS 1
25 #define DYNLOAD_COORDS_DIFFERENCE_PARAMS 2
26 #define DYNLOAD_COORDS_GET_ANGLE_PARAMS 1
27 #define DYNLOAD_COORDS_GET_POS_PARAMS 2
28 #define DYNLOAD_COORDS_DOT_PRODUCT_PARAMS 2
29 #define DYNLOAD_COORDS_INTP_LINEAR_PARAMS 3
30 #define DYNLOAD_COORDS_INTP_CUBIC_PARAMS 5
31 #define DYNLOAD_COORDS_INTP_CATMULL_PARAMS 5
32 #define DYNLOAD_COORDS_INTP_HERMITE_PARAMS 7
33 #endif
34 
35 #if ! defined(PROG_DISABLE_MATH)
36 #define DYNLOAD_MATH_CLAMP_PARAMS 3
37 #define DYNLOAD_MATH_MAP_PARAMS 5
38 #define DYNLOAD_MATH_GET_HCF_PARAMS 2
39 #define DYNLOAD_MATH_GET_LUMINANCE_PARAMS 2
40 #define DYNLOAD_MATH_GET_PARSEC_PARAMS 1
41 #define DYNLOAD_MATH_GET_RADIUS_PARAMS 2
42 #define DYNLOAD_MATH_BTVT_TO_BV_PARAMS 1
43 #define DYNLOAD_MATH_BV_TO_TEMP_PARAMS 1
44 #define DYNLOAD_MATH_HP_TO_VMAG_PARAMS 2
45 #define DYNLOAD_MATH_VT_TO_VMAG_PARAMS 2
46 #define DYNLOAD_MATH_VMAG_TO_ALPHA_PARAMS 1
47 #endif
48 
49 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_DRAW)
50 #define DYNLOAD_DRAW_PIXEL_PARAMS 4
51 #define DYNLOAD_DRAW_SUBPIXEL_PARAMS 4
52 #define DYNLOAD_DRAW_LINE_PARAMS 6
53 #define DYNLOAD_DRAW_CIRCLE_PARAMS 6
54 #define DYNLOAD_DRAW_TEXT_PARAMS 4
55 #define DYNLOAD_DRAW_SET_PARAMS 6
56 #define DYNLOAD_DRAW_BORDER_PARAMS 7
57 #define DYNLOAD_DRAW_COPY_PARAMS 7
58 #define DYNLOAD_DRAW_WIPE_PARAMS 1
59 #endif
60 
61 #if ! defined(PROG_DISABLE_AUDIO)
62 #define DYNLOAD_AUDIO_CREATE_NOISE_WHITE_PARAMS 1
63 #define DYNLOAD_AUDIO_CREATE_WAVE_SINE_PARAMS 2
64 #define DYNLOAD_AUDIO_CREATE_WAVE_SQUARE_PARAMS 2
65 #define DYNLOAD_AUDIO_CREATE_WAVE_RANDOM_PARAMS 3
66 #define DYNLOAD_AUDIO_OPEN_PARAMS 1
67 #define DYNLOAD_AUDIO_CLOSE_PARAMS 1
68 #define DYNLOAD_AUDIO_PLAY_PARAMS 3
69 #define DYNLOAD_AUDIO_WAIT_PARAMS 1
70 #define DYNLOAD_AUDIO_CUT_PARAMS 1
71 #define DYNLOAD_AUDIO_SOLO_PARAMS 1
72 #define DYNLOAD_AUDIO_HOLD_PARAMS 1
73 #define DYNLOAD_AUDIO_CANCEL_PARAMS 1
74 #define DYNLOAD_AUDIO_PAN_GET_PARAMS 1
75 #define DYNLOAD_AUDIO_PAN_SET_PARAMS 2
76 #define DYNLOAD_AUDIO_PAN_INC_PARAMS 2
77 #define DYNLOAD_AUDIO_PAN_DEC_PARAMS 2
78 #define DYNLOAD_AUDIO_VOL_GET_PARAMS 1
79 #define DYNLOAD_AUDIO_VOL_SET_PARAMS 2
80 #define DYNLOAD_AUDIO_VOL_INC_PARAMS 2
81 #define DYNLOAD_AUDIO_VOL_DEC_PARAMS 2
82 #define DYNLOAD_AUDIO_MASTER_GET_PARAMS 0
83 #define DYNLOAD_AUDIO_MASTER_SET_PARAMS 1
84 #define DYNLOAD_AUDIO_MASTER_INC_PARAMS 1
85 #define DYNLOAD_AUDIO_MASTER_DEC_PARAMS 1
86 #define DYNLOAD_AUDIO_INIT_PARAMS 0
87 #endif
88 
89 #if ! defined(PROG_DISABLE_GUI)
90 #define DYNLOAD_FONT_OPEN_PARAMS 3
91 #define DYNLOAD_FONT_OPEN_COPY_PARAMS 1
92 #define DYNLOAD_FONT_CLOSE_PARAMS 1
93 #define DYNLOAD_FONT_RENDER_PARAMS 5
94 #define DYNLOAD_FONT_GET_WIDTH_PARAMS 1
95 #define DYNLOAD_FONT_GET_HEIGHT_PARAMS 1
96 #endif
97 
98 #define DYNLOAD_THREAD_SPAWN_PARAMS 2
99 #define DYNLOAD_THREAD_AFFINITY_PARAMS 1
100 #define DYNLOAD_THREAD_NUMA_AFFINITY_PARAMS 2
101 
102 #if ! defined(PROG_DISABLE_GUI)
103 #define DYNLOAD_WINDOW_REFRESH_PARAMS 5
104 #define DYNLOAD_WINDOW_OPEN_PARAMS 23
105 #define DYNLOAD_WINDOW_ICON_PARAMS 2
106 #define DYNLOAD_WINDOW_CLOSE_PARAMS 1
107 #define DYNLOAD_WINDOW_MAP_PARAMS 1
108 #define DYNLOAD_WINDOW_UNMAP_PARAMS 1
109 #define DYNLOAD_WINDOW_SET_ATTRS_PARAMS 3
110 #define DYNLOAD_WINDOW_INIT_PARAMS 0
111 #endif
112 
113 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_MENU)
114 #define DYNLOAD_MENU_BAR_DISP_PARAMS 1
115 #define DYNLOAD_MENU_ITEM_STATE_PARAMS 2
116 #endif
117 
118 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_WIDGET)
119 #define DYNLOAD_WIDGET_REFRESH_PARAMS 1
120 #define DYNLOAD_WIDGET_CREATE_BLOCK_PARAMS 6
121 #define DYNLOAD_WIDGET_CREATE_LABEL_PARAMS 4
122 #define DYNLOAD_WIDGET_CREATE_LAMP_PARAMS 8
123 #define DYNLOAD_WIDGET_CREATE_LED_PARAMS 8
124 #define DYNLOAD_WIDGET_CREATE_PUSHBUTTON_PARAMS 9
125 #define DYNLOAD_WIDGET_CREATE_SLIDESWITCH_PARAMS 11
126 #define DYNLOAD_WIDGET_CREATE_TOGGLESWITCH_PARAMS 10
127 #define DYNLOAD_WIDGET_CREATE_TURNSWITCH_PARAMS 12
128 #define DYNLOAD_WIDGET_DELETE_PARAMS 2
129 #define DYNLOAD_WIDGET_STATE_PARAMS 2
130 #define DYNLOAD_WIDGET_CHANGE_SET_PARAMS 2
131 #define DYNLOAD_WIDGET_STEP_GET_PARAMS 2
132 #define DYNLOAD_WIDGET_STEP_SET_PARAMS 3
133 #define DYNLOAD_WIDGET_TRIGGER_SET_PARAMS 3
134 #define DYNLOAD_WIDGET_INDICATOR_SET_PARAMS 9
135 #define DYNLOAD_WIDGET_UPDATE_BORDER_PARAMS 4
136 #define DYNLOAD_WIDGET_UPDATE_COLOR_PARAMS 3
137 #define DYNLOAD_WIDGET_UPDATE_IMAGE_PARAMS 5
138 #define DYNLOAD_WIDGET_UPDATE_IMAGE_FILE_PARAMS 3
139 #define DYNLOAD_WIDGET_UPDATE_LABEL_PARAMS 9
140 #define DYNLOAD_WIDGET_UPDATE_SCALE_PARAMS 10
141 #define DYNLOAD_WIDGET_CB_ADD_PARAMS 3
142 #define DYNLOAD_WIDGET_CB_DELETE_PARAMS 2
143 #endif
144 
145 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_BOB)
146 #define DYNLOAD_BOB_GET_ALTITUDE_PARAMS 2
147 #define DYNLOAD_BOB_SET_ALTITUDE_PARAMS 3
148 #define DYNLOAD_BOB_ADD_ALTITUDE_PARAMS 3
149 #define DYNLOAD_BOB_SUB_ALTITUDE_PARAMS 3
150 #define DYNLOAD_BOB_GET_X_POSITION_PARAMS 2
151 #define DYNLOAD_BOB_GET_Y_POSITION_PARAMS 2
152 #define DYNLOAD_BOB_SET_POSITION_PARAMS 4
153 #define DYNLOAD_BOB_SET_X_POSITION_PARAMS 3
154 #define DYNLOAD_BOB_SET_Y_POSITION_PARAMS 3
155 #define DYNLOAD_BOB_ADD_X_POSITION_PARAMS 3
156 #define DYNLOAD_BOB_ADD_Y_POSITION_PARAMS 3
157 #define DYNLOAD_BOB_SUB_X_POSITION_PARAMS 3
158 #define DYNLOAD_BOB_SUB_Y_POSITION_PARAMS 3
159 #define DYNLOAD_BOB_GET_ANGLE_PARAMS 2
160 #define DYNLOAD_BOB_SET_ANGLE_POSITION_PARAMS 4
161 #define DYNLOAD_BOB_GET_DEPTH_PARAMS 2
162 #define DYNLOAD_BOB_SET_DEPTH_PARAMS 3
163 #define DYNLOAD_BOB_GET_DISTANCE_PARAMS 4
164 #define DYNLOAD_BOB_GET_MEASURE_PARAMS 4
165 #define DYNLOAD_BOB_GET_MAP_PARAMS 2
166 #define DYNLOAD_BOB_SET_MAP_PARAMS 3
167 #define DYNLOAD_BOB_GET_PLAYDIRECTION_PARAMS 2
168 #define DYNLOAD_BOB_SET_PLAYDIRECTION_PARAMS 3
169 #define DYNLOAD_BOB_GET_PLAYMODE_PARAMS 2
170 #define DYNLOAD_BOB_SET_PLAYMODE_PARAMS 3
171 #define DYNLOAD_BOB_GET_PLAYSKIP_PARAMS 2
172 #define DYNLOAD_BOB_SET_PLAYSKIP_PARAMS 3
173 #define DYNLOAD_BOB_GET_PLAYSPEED_PARAMS 2
174 #define DYNLOAD_BOB_SET_PLAYSPEED_PARAMS 3
175 #define DYNLOAD_BOB_SET_FRAME_PARAMS 3
176 #define DYNLOAD_BOB_ADD_FRAME_PARAMS 3
177 #define DYNLOAD_BOB_SUB_FRAME_PARAMS 3
178 #define DYNLOAD_BOB_GET_CONTAINER_DEPTH_PARAMS 1
179 #define DYNLOAD_BOB_SET_CONTAINER_DEPTH_PARAMS 2
180 #define DYNLOAD_BOB_CREATE_PARAMS 6
181 #define DYNLOAD_BOB_CREATE_BACKGROUND_PARAMS 4
182 #define DYNLOAD_BOB_CREATE_CONTAINER_PARAMS 2
183 #define DYNLOAD_BOB_DELETE_PARAMS 2
184 #define DYNLOAD_BOB_DELETE_CONTAINER_PARAMS 1
185 #define DYNLOAD_BOB_INIT_FILE_PARAMS 1
186 #define DYNLOAD_BOB_INIT_IMAGE_PARAMS 2
187 #define DYNLOAD_BOB_FREE_FILE_PARAMS 1
188 #define DYNLOAD_BOB_FREE_IMAGE_PARAMS 1
189 #endif
190 
191 #define DYNLOAD_NODE_GET_PARAMS 0
192 
193 #if ! defined(PROG_DISABLE_IMAGE)
194 #define DYNLOAD_IMAGE_READ_PARAMS 1
195 #define DYNLOAD_IMAGE_WRITE_PARAMS 2
196 #endif
197 
198 #if ! defined(PROG_DISABLE_REMOTE)
199 #define DYNLOAD_REMOTE_INIT_PARAMS 0
200 #endif
201 
202 struct par_system_sleep {
203 	time_t secs;
204 
205 	long nsecs;
206 };
207 
208 struct par_system_exec {
209 	char *command;
210 
211 	char **params;
212 };
213 
214 struct par_system_system {
215 	char *command;
216 };
217 
218 struct par_system_timer {
219 	time_t secs;
220 
221 	long nsecs;
222 
223 	void (*cb_timer)(void);
224 
225 	struct d_par par_timer;
226 };
227 
228 struct par_clock_set {
229 	double ticks;
230 };
231 
232 struct par_clock_set_multiplier {
233 	double multiplier;
234 };
235 #if ! defined(PROG_DISABLE_COLOR)
236 struct par_color_brightness {
237 	struct pixel_rgba_8 color;
238 };
239 
240 struct par_color_bv_index {
241 	double index;
242 	double magnitude;
243 
244 	struct pixel_rgba_8 value;
245 };
246 
247 struct par_color_complement {
248 	struct pixel_rgba_8 color;
249 
250 	struct pixel_rgba_8 value;
251 };
252 
253 struct par_color_mix {
254 	struct pixel_rgba_8 color_a, color_b;
255 
256 	float factor;
257 
258 	struct pixel_rgba_8 value;
259 };
260 #endif
261 #if ! defined(PROG_DISABLE_COORDS)
262 struct par_coords_mag {
263 	struct position pos;
264 };
265 
266 struct par_coords_normalize {
267 	struct position pos;
268 
269 	struct position value;
270 };
271 
272 struct par_coords_difference {
273 	struct position pos_a, pos_b;
274 };
275 
276 struct par_coords_get_angle {
277 	struct position pos;
278 };
279 
280 struct par_coords_get_pos {
281 	double angle;
282 	double distance;
283 
284 	struct position value;
285 };
286 
287 struct par_coords_dot_product {
288 	struct position pos_a, pos_b;
289 };
290 
291 struct par_coords_intp_linear {
292 	struct position pos_a, pos_b;
293 
294 	double point;
295 };
296 
297 struct par_coords_intp_cubic {
298 	struct position pos_a, pos_b, pos_c, pos_d;
299 
300 	double point;
301 };
302 
303 struct par_coords_intp_catmull {
304 	struct position pos_a, pos_b, pos_c, pos_d;
305 
306 	double point;
307 };
308 
309 struct par_coords_intp_hermite {
310 	struct position pos_a, pos_b, pos_c, pos_d;
311 
312 	double point;
313 	double bias;
314 	double tension;
315 };
316 #endif
317 #if ! defined(PROG_DISABLE_MATH)
318 struct par_math_clamp {
319 	double clamp;
320 	double min, max;
321 };
322 
323 struct par_math_map {
324 	double map;
325 	double cur_min, cur_max;
326 	double map_min, map_max;
327 };
328 
329 struct par_math_get_hcf {
330 	double hcf_a, hcf_b;
331 };
332 
333 struct par_math_get_luminance {
334 	double radius;
335 	double temperature;
336 };
337 
338 struct par_math_get_parsec {
339 	double parallax;
340 };
341 
342 struct par_math_get_radius {
343 	double amag;
344 	double temperature;
345 };
346 
347 struct par_math_btvt_to_bv {
348 	double btvt;
349 };
350 
351 struct par_math_bv_to_temp {
352 	double bv;
353 };
354 
355 struct par_math_hp_to_vmag {
356 	double hp;
357 	double btvt;
358 };
359 
360 struct par_math_vt_to_vmag {
361 	double vt;
362 	double btvt;
363 };
364 
365 struct par_math_vmag_to_alpha {
366 	double vmag;
367 };
368 #endif
369 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_DRAW)
370 struct par_draw_pixel {
371 	unsigned int handle;
372 
373 	struct point_2 pixel;
374 };
375 
376 struct par_draw_subpixel {
377 	unsigned int handle;
378 
379 	struct subpoint_2 subpixel;
380 };
381 
382 struct par_draw_line {
383 	unsigned int handle;
384 
385 	struct point_4 line;
386 };
387 
388 struct par_draw_circle {
389 	unsigned int handle;
390 
391 	struct circle_2 circle;
392 };
393 
394 struct par_draw_text {
395 	unsigned int handle;
396 
397 	struct text_2 text;
398 };
399 
400 struct par_draw_set {
401 	unsigned int handle;
402 
403 	struct point_4 set;
404 };
405 
406 struct par_draw_border {
407 	unsigned int handle;
408 
409 	struct border_4 border;
410 };
411 
412 struct par_draw_copy {
413 	unsigned int handle;
414 
415 	struct region_copy_8 copy;
416 };
417 
418 struct par_draw_wipe {
419 	unsigned int handle;
420 };
421 #endif
422 #if ! defined(PROG_DISABLE_GUI)
423 struct par_font_open {
424 	char *font;
425 
426 	unsigned int height;
427 	unsigned int resolution;
428 };
429 
430 struct par_font_open_copy {
431 	unsigned int handle;
432 };
433 
434 struct par_font_close {
435 	unsigned int handle;
436 };
437 
438 struct par_font_render {
439 	unsigned int handle;
440 
441 	char *charset;
442 	char *string;
443 
444 	size_t length;
445 
446 	struct pixel_rgb_8 color;
447 };
448 
449 struct par_font_get_width {
450 	unsigned int handle;
451 };
452 
453 struct par_font_get_height {
454 	unsigned int handle;
455 };
456 #endif
457 #if ! defined(PROG_DISABLE_AUDIO)
458 struct par_audio_create_noise_white {
459 	double secs;
460 };
461 
462 struct par_audio_create_wave_sine {
463 	double secs;
464 	double freq;
465 };
466 
467 struct par_audio_create_wave_square {
468 	double secs;
469 	double freq;
470 };
471 
472 struct par_audio_create_wave_random {
473 	double secs;
474 	double freq;
475 	double amplitude;
476 };
477 
478 struct par_audio_open {
479 	char *audio;
480 };
481 
482 struct par_audio_close {
483 	unsigned int handle;
484 };
485 
486 struct par_audio_play {
487 	unsigned int handle;
488 
489 	float vol;
490 	float pan;
491 };
492 
493 struct par_audio_wait {
494 	unsigned int handle;
495 };
496 
497 struct par_audio_cut {
498 	unsigned int handle;
499 };
500 
501 struct par_audio_solo {
502 	unsigned int handle;
503 };
504 
505 struct par_audio_hold {
506 	unsigned int handle;
507 };
508 
509 struct par_audio_cancel {
510 	unsigned int handle;
511 };
512 
513 struct par_audio_pan_get {
514 	unsigned int handle;
515 };
516 
517 struct par_audio_pan_set {
518 	unsigned int handle;
519 
520 	float pan;
521 };
522 
523 struct par_audio_pan_inc {
524 	unsigned int handle;
525 
526 	float pan;
527 };
528 
529 struct par_audio_pan_dec {
530 	unsigned int handle;
531 
532 	float pan;
533 };
534 
535 struct par_audio_vol_get {
536 	unsigned int handle;
537 };
538 
539 struct par_audio_vol_set {
540 	unsigned int handle;
541 
542 	float vol;
543 };
544 
545 struct par_audio_vol_inc {
546 	unsigned int handle;
547 
548 	float vol;
549 };
550 
551 struct par_audio_vol_dec {
552 	unsigned int handle;
553 
554 	float vol;
555 };
556 
557 struct par_audio_master_set {
558 	float vol;
559 };
560 
561 struct par_audio_master_inc {
562 	float vol;
563 };
564 
565 struct par_audio_master_dec {
566 	float vol;
567 };
568 #endif
569 struct par_thread_spawn {
570 	char *name;
571 
572 	void (*cb_thread)(struct d_par *);
573 
574 	struct d_par par_thread;
575 };
576 
577 struct par_thread_affinity {
578 	int cpu;
579 };
580 
581 struct par_thread_numa_affinity {
582 	int domain;
583 	int policy;
584 };
585 #if ! defined(PROG_DISABLE_GUI)
586 struct par_window_refresh {
587 	unsigned int handle;
588 
589 	struct clip_2 area;
590 };
591 
592 struct par_window_open {
593 	struct w_ctx window;
594 };
595 
596 struct par_window_icon {
597 	unsigned int handle;
598 
599 	char *icon;
600 };
601 
602 struct par_window_close {
603 	unsigned int handle;
604 };
605 
606 struct par_window_map {
607 	unsigned int handle;
608 };
609 
610 struct par_window_unmap {
611 	unsigned int handle;
612 };
613 
614 struct par_window_attrs {
615 	unsigned int handle;
616 
617 	struct w_att attribute;
618 };
619 #endif
620 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_MENU)
621 struct par_menu_bar_disp {
622 	unsigned int handle;
623 };
624 
625 struct par_menu_item_state {
626 	unsigned int handle;
627 	unsigned int tag;
628 };
629 #endif
630 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_WIDGET)
631 struct par_widget_refresh {
632 	unsigned int handle;
633 };
634 
635 struct par_widget_create_block {
636 	unsigned int handle;
637 
638 	char *name;
639 
640 	int x, y;
641 
642 	unsigned int width, height;
643 };
644 
645 struct par_widget_create_label {
646 	unsigned int handle;
647 
648 	char *name;
649 
650 	int x, y;
651 };
652 
653 struct par_widget_create_lamp {
654 	unsigned int handle;
655 
656 	char *name;
657 
658 	int x, y, u, v;
659 
660 	unsigned int subtype, titlepos;
661 };
662 
663 struct par_widget_create_led {
664 	unsigned int handle;
665 
666 	char *name;
667 
668 	int x, y, u, v;
669 
670 	unsigned int subtype, titlepos;
671 };
672 
673 struct par_widget_create_pushbutton {
674 	unsigned int handle;
675 
676 	char *name;
677 
678 	int x, y, u, v;
679 
680 	unsigned int subtype, titlepos, sticky;
681 };
682 
683 struct par_widget_create_slideswitch {
684 	unsigned int handle;
685 
686 	char *name;
687 
688 	int x, y, u, v;
689 
690 	unsigned int subtype, titlepos, length, steps, startstep;
691 };
692 
693 struct par_widget_create_toggleswitch {
694 	unsigned int handle;
695 
696 	char *name;
697 
698 	int x, y, u, v;
699 
700 	unsigned int subtype, titlepos, steps, startstep;
701 };
702 
703 struct par_widget_create_turnswitch {
704 	unsigned int handle;
705 
706 	char *name;
707 
708 	int x, y, u, v;
709 
710 	unsigned int subtype, titlepos, minangle, maxangle, steps, startstep;
711 };
712 
713 struct par_widget_delete {
714 	unsigned int handle;
715 
716 	char *name;
717 };
718 
719 struct par_widget_state {
720 	unsigned int handle;
721 
722 	char *name;
723 };
724 
725 struct par_widget_change_set {
726 	unsigned int handle;
727 
728 	unsigned int set;
729 };
730 
731 struct par_widget_step_get {
732 	unsigned int handle;
733 
734 	char *name;
735 };
736 
737 struct par_widget_step_set {
738 	unsigned int handle;
739 
740 	char *name;
741 
742 	unsigned int step;
743 };
744 
745 struct par_widget_trigger_set {
746 	unsigned int handle;
747 
748 	char *name;
749 
750 	unsigned int trigger;
751 };
752 
753 struct par_widget_indicator_set {
754 	unsigned int handle;
755 
756 	char *name;
757 
758 	char *font, *charset;
759 
760 	unsigned int font_size, font_res;
761 
762 	struct pixel_rgba_8 color;
763 
764 	unsigned int mode;
765 
766 	int offset;
767 };
768 
769 struct par_widget_update_border {
770 	unsigned int handle;
771 
772 	char *name;
773 
774 	struct pixel_rgba_8 color;
775 
776 	unsigned int thickness;
777 };
778 
779 struct par_widget_update_color {
780 	unsigned int handle;
781 
782 	char *name;
783 
784 	struct pixel_rgba_8 color;
785 };
786 
787 struct par_widget_update_image {
788 	unsigned int handle;
789 
790 	char *name;
791 
792 	int x, y;
793 
794 	unsigned int width, height;
795 
796 	struct pixel_rgba_8 *image;
797 };
798 
799 struct par_widget_update_image_file {
800 	unsigned int handle;
801 
802 	char *name;
803 
804 	char *image;
805 };
806 
807 struct par_widget_update_label {
808 	unsigned int handle;
809 
810 	char *name;
811 
812 	char *label, *charset, *font;
813 
814 	unsigned int font_size, font_res, font_just;
815 
816 	struct pixel_rgba_8 color;
817 };
818 
819 struct par_widget_update_scale {
820 	unsigned int handle;
821 
822 	char *name;
823 
824 	char *font, *charset, **array;
825 
826 	unsigned int font_size, font_res;
827 
828 	double start, end;
829 
830 	unsigned int bars;
831 
832 	struct pixel_rgba_8 color;
833 };
834 
835 struct par_widget_cb_add {
836 	unsigned int handle;
837 
838 	char *name;
839 
840 	char *cb;
841 };
842 
843 struct par_widget_cb_delete {
844 	unsigned int handle;
845 
846 	char *name;
847 };
848 #endif
849 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_BOB)
850 struct par_bob_get_altitude {
851 	unsigned int container;
852 	unsigned int bob;
853 };
854 
855 struct par_bob_set_altitude {
856 	unsigned int container;
857 	unsigned int bob;
858 
859 	unsigned int altitude;
860 };
861 
862 struct par_bob_add_altitude {
863 	unsigned int container;
864 	unsigned int bob;
865 
866 	int altitude;
867 };
868 
869 struct par_bob_sub_altitude {
870 	unsigned int container;
871 	unsigned int bob;
872 
873 	int altitude;
874 };
875 
876 struct par_bob_get_x_position {
877 	unsigned int container;
878 	unsigned int bob;
879 };
880 
881 struct par_bob_get_y_position {
882 	unsigned int container;
883 	unsigned int bob;
884 };
885 
886 struct par_bob_set_position {
887 	unsigned int container;
888 	unsigned int bob;
889 
890 	int x, y;
891 };
892 
893 struct par_bob_set_x_position {
894 	unsigned int container;
895 	unsigned int bob;
896 
897 	int x;
898 };
899 
900 struct par_bob_set_y_position {
901 	unsigned int container;
902 	unsigned int bob;
903 
904 	int y;
905 };
906 
907 struct par_bob_add_x_position {
908 	unsigned int container;
909 	unsigned int bob;
910 
911 	int x;
912 };
913 
914 struct par_bob_add_y_position {
915 	unsigned int container;
916 	unsigned int bob;
917 
918 	int y;
919 };
920 
921 struct par_bob_sub_x_position {
922 	unsigned int container;
923 	unsigned int bob;
924 
925 	int x;
926 };
927 
928 struct par_bob_sub_y_position {
929 	unsigned int container;
930 	unsigned int bob;
931 
932 	int y;
933 };
934 
935 struct par_bob_get_angle {
936 	unsigned int container;
937 	unsigned int bob;
938 };
939 
940 struct par_bob_set_angle_position {
941 	unsigned int container;
942 	unsigned int bob;
943 
944 	double angle, distance;
945 };
946 
947 struct par_bob_get_depth {
948 	unsigned int container;
949 	unsigned int bob;
950 };
951 
952 struct par_bob_set_depth {
953 	unsigned int container;
954 	unsigned int bob;
955 
956 	int depth;
957 };
958 
959 struct par_bob_get_distance {
960 	unsigned int a_container;
961 	unsigned int a_bob;
962 
963 	unsigned int b_container;
964 	unsigned int b_bob;
965 };
966 
967 struct par_bob_get_measure {
968 	unsigned int container;
969 	unsigned int bob;
970 
971 	int x, y;
972 };
973 
974 struct par_bob_get_map {
975 	unsigned int container;
976 	unsigned int bob;
977 };
978 
979 struct par_bob_set_map {
980 	unsigned int container;
981 	unsigned int bob;
982 
983 	unsigned int map;
984 };
985 
986 struct par_bob_get_playdirection {
987 	unsigned int container;
988 	unsigned int bob;
989 };
990 
991 struct par_bob_set_playdirection {
992 	unsigned int container;
993 	unsigned int bob;
994 
995 	unsigned int playdirection;
996 };
997 
998 struct par_bob_get_playmode {
999 	unsigned int container;
1000 	unsigned int bob;
1001 };
1002 
1003 struct par_bob_set_playmode {
1004 	unsigned int container;
1005 	unsigned int bob;
1006 
1007 	unsigned int playmode;
1008 };
1009 
1010 struct par_bob_get_playskip {
1011 	unsigned int container;
1012 	unsigned int bob;
1013 };
1014 
1015 struct par_bob_set_playskip {
1016 	unsigned int container;
1017 	unsigned int bob;
1018 
1019 	unsigned int playskip;
1020 };
1021 
1022 struct par_bob_get_playspeed {
1023 	unsigned int container;
1024 	unsigned int bob;
1025 };
1026 
1027 struct par_bob_set_playspeed {
1028 	unsigned int container;
1029 	unsigned int bob;
1030 
1031 	double playspeed;
1032 };
1033 
1034 struct par_bob_set_frame {
1035 	unsigned int container;
1036 	unsigned int bob;
1037 
1038 	unsigned int frame;
1039 };
1040 
1041 struct par_bob_add_frame {
1042 	unsigned int container;
1043 	unsigned int bob;
1044 
1045 	int frame;
1046 };
1047 
1048 struct par_bob_sub_frame {
1049 	unsigned int container;
1050 	unsigned int bob;
1051 
1052 	int frame;
1053 };
1054 
1055 struct par_bob_get_container_depth {
1056 	unsigned int container;
1057 };
1058 
1059 struct par_bob_set_container_depth {
1060 	unsigned int container;
1061 
1062 	int depth;
1063 };
1064 
1065 struct par_bob_create {
1066 	unsigned int file;
1067 	unsigned int container;
1068 
1069 	unsigned int altitude;
1070 
1071 	int x, y;
1072 
1073 	int depth;
1074 };
1075 
1076 struct par_bob_create_background {
1077 	unsigned int file;
1078 	unsigned int container;
1079 
1080 	unsigned int opaque;
1081 
1082 	int depth;
1083 };
1084 
1085 struct par_bob_create_container {
1086 	unsigned int handle;
1087 
1088 	int depth;
1089 };
1090 
1091 struct par_bob_delete {
1092 	unsigned int container;
1093 	unsigned int bob;
1094 };
1095 
1096 struct par_bob_delete_container {
1097 	unsigned int container;
1098 };
1099 
1100 struct par_bob_init_file {
1101 	char *name;
1102 };
1103 
1104 struct par_bob_init_image {
1105 	unsigned int width;
1106 	unsigned int height;
1107 };
1108 
1109 struct par_bob_free_file {
1110 	unsigned int file;
1111 };
1112 
1113 struct par_bob_free_image {
1114 	unsigned int image;
1115 };
1116 #endif
1117 #if ! defined(PROG_DISABLE_IMAGE)
1118 struct par_image_read {
1119 	char *name;
1120 
1121 	struct dsl_img image;
1122 };
1123 
1124 struct par_image_write {
1125 	char *name;
1126 
1127 	unsigned int width;
1128 	unsigned int height;
1129 
1130 	struct pixel_rgba_8 *image;
1131 };
1132 #endif
1133 
1134 #if ! defined(PROG_DISABLE_IMAGE)
1135 static void dynload_image_read_op(struct par_image_read *, struct t_img *);
1136 #endif
1137 
1138 static int dynload_clock_get_ticks_pre(struct a_funcs *);
1139 static int dynload_clock_get_multiplier_pre(struct a_funcs *);
1140 static int dynload_clock_set_pre(struct a_funcs *, struct par_clock_set *);
1141 static int dynload_clock_set_multiplier_pre(struct a_funcs *, struct par_clock_set_multiplier *);
1142 
1143 #if ! defined(PROG_DISABLE_COLOR)
1144 static int dynload_color_brightness_pre(struct a_funcs *, struct par_color_brightness *);
1145 static int dynload_color_bv_index_pre(struct a_funcs *, struct par_color_bv_index *);
1146 static int dynload_color_complement_pre(struct a_funcs *, struct par_color_complement *);
1147 static int dynload_color_mix_pre(struct a_funcs *, struct par_color_mix *);
1148 #endif
1149 
1150 #if ! defined(PROG_DISABLE_COORDS)
1151 static int dynload_coords_mag_pre(struct a_funcs *, struct par_coords_mag *);
1152 static int dynload_coords_normalize_pre(struct a_funcs *, struct par_coords_normalize *);
1153 static int dynload_coords_difference_pre(struct a_funcs *, struct par_coords_difference *);
1154 static int dynload_coords_get_angle_pre(struct a_funcs *, struct par_coords_get_angle *);
1155 static int dynload_coords_get_pos_pre(struct a_funcs *, struct par_coords_get_pos *);
1156 static int dynload_coords_dot_product_pre(struct a_funcs *, struct par_coords_dot_product *);
1157 static int dynload_coords_intp_linear_pre(struct a_funcs *, struct par_coords_intp_linear *);
1158 static int dynload_coords_intp_cubic_pre(struct a_funcs *, struct par_coords_intp_cubic *);
1159 static int dynload_coords_intp_catmull_pre(struct a_funcs *, struct par_coords_intp_catmull *);
1160 static int dynload_coords_intp_hermite_pre(struct a_funcs *, struct par_coords_intp_hermite *);
1161 #endif
1162 
1163 #if ! defined(PROG_DISABLE_MATH)
1164 static int dynload_math_clamp_pre(struct a_funcs *, struct par_math_clamp *);
1165 static int dynload_math_map_pre(struct a_funcs *, struct par_math_map *);
1166 static int dynload_math_get_hcf_pre(struct a_funcs *, struct par_math_get_hcf *);
1167 static int dynload_math_get_luminance_pre(struct a_funcs *, struct par_math_get_luminance *);
1168 static int dynload_math_get_parsec_pre(struct a_funcs *, struct par_math_get_parsec *);
1169 static int dynload_math_get_radius_pre(struct a_funcs *, struct par_math_get_radius *);
1170 static int dynload_math_btvt_to_bv_pre(struct a_funcs *, struct par_math_btvt_to_bv *);
1171 static int dynload_math_bv_to_temp_pre(struct a_funcs *, struct par_math_bv_to_temp *);
1172 static int dynload_math_hp_to_vmag_pre(struct a_funcs *, struct par_math_hp_to_vmag *);
1173 static int dynload_math_vt_to_vmag_pre(struct a_funcs *, struct par_math_vt_to_vmag *);
1174 static int dynload_math_vmag_to_alpha_pre(struct a_funcs *, struct par_math_vmag_to_alpha *);
1175 #endif
1176 
1177 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_DRAW)
1178 static int dynload_draw_pixel_pre(struct a_funcs *, struct par_draw_pixel *);
1179 static int dynload_draw_subpixel_pre(struct a_funcs *, struct par_draw_subpixel *);
1180 static int dynload_draw_line_pre(struct a_funcs *, struct par_draw_line *);
1181 static int dynload_draw_circle_pre(struct a_funcs *, struct par_draw_circle *);
1182 static int dynload_draw_text_pre(struct a_funcs *, struct par_draw_text *);
1183 static int dynload_draw_set_pre(struct a_funcs *, struct par_draw_set *);
1184 static int dynload_draw_border_pre(struct a_funcs *, struct par_draw_border *);
1185 static int dynload_draw_copy_pre(struct a_funcs *, struct par_draw_copy *);
1186 static int dynload_draw_wipe_pre(struct a_funcs *, struct par_draw_wipe *);
1187 #endif
1188 
1189 #if ! defined(PROG_DISABLE_GUI)
1190 static int dynload_font_open_pre(struct a_funcs *, struct par_font_open *);
1191 static int dynload_font_open_copy_pre(struct a_funcs *, struct par_font_open_copy *);
1192 static int dynload_font_close_pre(struct a_funcs *, struct par_font_close *);
1193 static int dynload_font_render_pre(struct a_funcs *, struct par_font_render *);
1194 static int dynload_font_get_width_pre(struct a_funcs *, struct par_font_get_width *);
1195 static int dynload_font_get_height_pre(struct a_funcs *, struct par_font_get_height *);
1196 #endif
1197 
1198 static int dynload_system_sleep_pre(struct a_funcs *, struct par_system_sleep *);
1199 static int dynload_system_fork_pre(struct a_funcs *);
1200 static int dynload_system_exec_pre(struct a_funcs *, struct par_system_exec *);
1201 static void dynload_system_exec_pre_free(char **, unsigned int);
1202 static int dynload_system_system_pre(struct a_funcs *, struct par_system_system *);
1203 static int dynload_system_time_pre(struct a_funcs *);
1204 static int dynload_system_timer_pre(struct a_funcs *, struct par_system_timer *, void *);
1205 
1206 static int dynload_thread_spawn_pre(struct a_funcs *, struct par_thread_spawn *, void *);
1207 static int dynload_thread_affinity_pre(struct a_funcs *, struct par_thread_affinity *);
1208 static int dynload_thread_numa_affinity_pre(struct a_funcs *, struct par_thread_numa_affinity *);
1209 
1210 #if ! defined(PROG_DISABLE_GUI)
1211 static int dynload_window_refresh_pre(struct a_funcs *, struct par_window_refresh *);
1212 static int dynload_window_open_pre(struct a_funcs *, struct par_window_open *);
1213 static int dynload_window_icon_pre(struct a_funcs *, struct par_window_icon *);
1214 static int dynload_window_close_pre(struct a_funcs *, struct par_window_close *);
1215 static int dynload_window_map_pre(struct a_funcs *, struct par_window_map *);
1216 static int dynload_window_unmap_pre(struct a_funcs *, struct par_window_unmap *);
1217 static int dynload_window_attrs_pre(struct a_funcs *, struct par_window_attrs *);
1218 static int dynload_window_init_pre(struct a_funcs *);
1219 #endif
1220 
1221 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_MENU)
1222 static int dynload_menu_bar_disp_pre(struct a_funcs *, struct par_menu_bar_disp *);
1223 static int dynload_menu_item_state_pre(struct a_funcs *, struct par_menu_item_state *);
1224 #endif
1225 
1226 #if ! defined(PROG_DISABLE_AUDIO)
1227 static int dynload_audio_create_noise_white_pre(struct a_funcs *, struct par_audio_create_noise_white *);
1228 static int dynload_audio_create_wave_sine_pre(struct a_funcs *, struct par_audio_create_wave_sine *);
1229 static int dynload_audio_create_wave_square_pre(struct a_funcs *, struct par_audio_create_wave_square *);
1230 static int dynload_audio_create_wave_random_pre(struct a_funcs *, struct par_audio_create_wave_random *);
1231 static int dynload_audio_open_pre(struct a_funcs *, struct par_audio_open *);
1232 static int dynload_audio_close_pre(struct a_funcs *, struct par_audio_close *);
1233 static int dynload_audio_play_pre(struct a_funcs *, struct par_audio_play *);
1234 static int dynload_audio_wait_pre(struct a_funcs *, struct par_audio_wait *);
1235 static int dynload_audio_cut_pre(struct a_funcs *, struct par_audio_cut *);
1236 static int dynload_audio_solo_pre(struct a_funcs *, struct par_audio_solo *);
1237 static int dynload_audio_hold_pre(struct a_funcs *, struct par_audio_hold *);
1238 static int dynload_audio_cancel_pre(struct a_funcs *, struct par_audio_cancel *);
1239 static int dynload_audio_pan_get_pre(struct a_funcs *, struct par_audio_pan_get *);
1240 static int dynload_audio_pan_set_pre(struct a_funcs *, struct par_audio_pan_set *);
1241 static int dynload_audio_pan_inc_pre(struct a_funcs *, struct par_audio_pan_inc *);
1242 static int dynload_audio_pan_dec_pre(struct a_funcs *, struct par_audio_pan_dec *);
1243 static int dynload_audio_vol_get_pre(struct a_funcs *, struct par_audio_vol_get *);
1244 static int dynload_audio_vol_set_pre(struct a_funcs *, struct par_audio_vol_set *);
1245 static int dynload_audio_vol_inc_pre(struct a_funcs *, struct par_audio_vol_inc *);
1246 static int dynload_audio_vol_dec_pre(struct a_funcs *, struct par_audio_vol_dec *);
1247 static int dynload_audio_master_get_pre(struct a_funcs *);
1248 static int dynload_audio_master_set_pre(struct a_funcs *, struct par_audio_master_set *);
1249 static int dynload_audio_master_inc_pre(struct a_funcs *, struct par_audio_master_inc *);
1250 static int dynload_audio_master_dec_pre(struct a_funcs *, struct par_audio_master_dec *);
1251 static int dynload_audio_init_pre(struct a_funcs *);
1252 #endif
1253 
1254 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_WIDGET)
1255 static int dynload_widget_refresh_pre(struct a_funcs *, struct par_widget_refresh *);
1256 static int dynload_widget_create_block_pre(struct a_funcs *, struct par_widget_create_block *);
1257 static int dynload_widget_create_label_pre(struct a_funcs *, struct par_widget_create_label *);
1258 static int dynload_widget_create_lamp_pre(struct a_funcs *, struct par_widget_create_lamp *);
1259 static int dynload_widget_create_led_pre(struct a_funcs *, struct par_widget_create_led *);
1260 static int dynload_widget_create_pushbutton_pre(struct a_funcs *, struct par_widget_create_pushbutton *);
1261 static int dynload_widget_create_slideswitch_pre(struct a_funcs *, struct par_widget_create_slideswitch *);
1262 static int dynload_widget_create_toggleswitch_pre(struct a_funcs *, struct par_widget_create_toggleswitch *);
1263 static int dynload_widget_create_turnswitch_pre(struct a_funcs *, struct par_widget_create_turnswitch *);
1264 static int dynload_widget_delete_pre(struct a_funcs *, struct par_widget_delete *);
1265 static int dynload_widget_state_pre(struct a_funcs *, struct par_widget_state *);
1266 static int dynload_widget_change_set_pre(struct a_funcs *, struct par_widget_change_set *);
1267 static int dynload_widget_step_get_pre(struct a_funcs *, struct par_widget_step_get *);
1268 static int dynload_widget_step_set_pre(struct a_funcs *, struct par_widget_step_set *);
1269 static int dynload_widget_trigger_set_pre(struct a_funcs *, struct par_widget_trigger_set *);
1270 static int dynload_widget_indicator_set_pre(struct a_funcs *, struct par_widget_indicator_set *);
1271 static int dynload_widget_update_border_pre(struct a_funcs *, struct par_widget_update_border *);
1272 static int dynload_widget_update_color_pre(struct a_funcs *, struct par_widget_update_color *);
1273 static int dynload_widget_update_image_pre(struct a_funcs *, struct par_widget_update_image *);
1274 static int dynload_widget_update_image_file_pre(struct a_funcs *, struct par_widget_update_image_file *);
1275 static int dynload_widget_update_label_pre(struct a_funcs *, struct par_widget_update_label *);
1276 static int dynload_widget_update_scale_pre(struct a_funcs *, struct par_widget_update_scale *);
1277 static int dynload_widget_cb_add_pre(struct a_funcs *, struct par_widget_cb_add *);
1278 static int dynload_widget_cb_delete_pre(struct a_funcs *, struct par_widget_cb_delete *);
1279 #endif
1280 
1281 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_BOB)
1282 static int dynload_bob_get_altitude_pre(struct a_funcs *, struct par_bob_get_altitude *);
1283 static int dynload_bob_set_altitude_pre(struct a_funcs *, struct par_bob_set_altitude *);
1284 static int dynload_bob_add_altitude_pre(struct a_funcs *, struct par_bob_add_altitude *);
1285 static int dynload_bob_sub_altitude_pre(struct a_funcs *, struct par_bob_sub_altitude *);
1286 static int dynload_bob_get_x_position_pre(struct a_funcs *, struct par_bob_get_x_position *);
1287 static int dynload_bob_get_y_position_pre(struct a_funcs *, struct par_bob_get_y_position *);
1288 static int dynload_bob_set_position_pre(struct a_funcs *, struct par_bob_set_position *);
1289 static int dynload_bob_set_x_position_pre(struct a_funcs *, struct par_bob_set_x_position *);
1290 static int dynload_bob_set_y_position_pre(struct a_funcs *, struct par_bob_set_y_position *);
1291 static int dynload_bob_add_x_position_pre(struct a_funcs *, struct par_bob_add_x_position *);
1292 static int dynload_bob_add_y_position_pre(struct a_funcs *, struct par_bob_add_y_position *);
1293 static int dynload_bob_sub_x_position_pre(struct a_funcs *, struct par_bob_sub_x_position *);
1294 static int dynload_bob_sub_y_position_pre(struct a_funcs *, struct par_bob_sub_y_position *);
1295 static int dynload_bob_get_angle_pre(struct a_funcs *, struct par_bob_get_angle *);
1296 static int dynload_bob_set_angle_position_pre(struct a_funcs *, struct par_bob_set_angle_position *);
1297 static int dynload_bob_get_depth_pre(struct a_funcs *, struct par_bob_get_depth *);
1298 static int dynload_bob_set_depth_pre(struct a_funcs *, struct par_bob_set_depth *);
1299 static int dynload_bob_get_distance_pre(struct a_funcs *, struct par_bob_get_distance *);
1300 static int dynload_bob_get_measure_pre(struct a_funcs *, struct par_bob_get_measure *);
1301 static int dynload_bob_get_map_pre(struct a_funcs *, struct par_bob_get_map *);
1302 static int dynload_bob_set_map_pre(struct a_funcs *, struct par_bob_set_map *);
1303 static int dynload_bob_get_playdirection_pre(struct a_funcs *, struct par_bob_get_playdirection *);
1304 static int dynload_bob_set_playdirection_pre(struct a_funcs *, struct par_bob_set_playdirection *);
1305 static int dynload_bob_get_playmode_pre(struct a_funcs *, struct par_bob_get_playmode *);
1306 static int dynload_bob_set_playmode_pre(struct a_funcs *, struct par_bob_set_playmode *);
1307 static int dynload_bob_get_playskip_pre(struct a_funcs *, struct par_bob_get_playskip *);
1308 static int dynload_bob_set_playskip_pre(struct a_funcs *, struct par_bob_set_playskip *);
1309 static int dynload_bob_get_playspeed_pre(struct a_funcs *, struct par_bob_get_playspeed *);
1310 static int dynload_bob_set_playspeed_pre(struct a_funcs *, struct par_bob_set_playspeed *);
1311 static int dynload_bob_set_frame_pre(struct a_funcs *, struct par_bob_set_frame *);
1312 static int dynload_bob_add_frame_pre(struct a_funcs *, struct par_bob_add_frame *);
1313 static int dynload_bob_sub_frame_pre(struct a_funcs *, struct par_bob_sub_frame *);
1314 static int dynload_bob_get_container_depth_pre(struct a_funcs *, struct par_bob_get_container_depth *);
1315 static int dynload_bob_set_container_depth_pre(struct a_funcs *, struct par_bob_set_container_depth *);
1316 static int dynload_bob_create_pre(struct a_funcs *, struct par_bob_create *);
1317 static int dynload_bob_create_background_pre(struct a_funcs *, struct par_bob_create_background *);
1318 static int dynload_bob_create_container_pre(struct a_funcs *, struct par_bob_create_container *);
1319 static int dynload_bob_delete_pre(struct a_funcs *, struct par_bob_delete *);
1320 static int dynload_bob_delete_container_pre(struct a_funcs *, struct par_bob_delete_container *);
1321 static int dynload_bob_init_file_pre(struct a_funcs *, struct par_bob_init_file *);
1322 static int dynload_bob_init_image_pre(struct a_funcs *, struct par_bob_init_image *);
1323 static int dynload_bob_free_file_pre(struct a_funcs *, struct par_bob_free_file *);
1324 static int dynload_bob_free_image_pre(struct a_funcs *, struct par_bob_free_image *);
1325 #endif
1326 
1327 static int dynload_node_get_pre(struct a_funcs *);
1328 
1329 #if ! defined(PROG_DISABLE_IMAGE)
1330 static int dynload_image_read_pre(struct a_funcs *, struct par_image_read *);
1331 static int dynload_image_write_pre(struct a_funcs *, struct par_image_write *);
1332 #endif
1333 
1334 #if ! defined(PROG_DISABLE_REMOTE)
1335 static int dynload_remote_init_pre(struct a_funcs *);
1336 #endif
1337 
1338 static uint32_t dynload_pre_color(struct a_funcs *, unsigned int);
1339 
1340 #if ! defined(PROG_DISABLE_IMAGE) || ! defined(PROG_DISABLE_WIDGET)
1341 static void dynload_pre_image(struct a_funcs *, unsigned int, unsigned int *, unsigned int *, struct pixel_rgba_8 **);
1342 #endif
1343 #if ! defined(PROG_DISABLE_COORDS)
1344 static void dynload_pre_point(struct a_funcs *, unsigned int, double *, double *, double *);
1345 #endif
1346 
1347 /* dsl_cb.c */
1348 #if ! defined(PROG_DISABLE_GUI)
1349 void dsl_cb_main_loop(struct d_par *);
1350 void dsl_cb_expose(struct w_par *, struct d_par *);
1351 void dsl_cb_key_press(struct w_par *, struct d_par *);
1352 void dsl_cb_key_release(struct w_par *, struct d_par *);
1353 void dsl_cb_button_press(struct w_par *, struct d_par *);
1354 void dsl_cb_button_release(struct w_par *, struct d_par *);
1355 void dsl_cb_client_message(struct w_par *, struct d_par *);
1356 void dsl_cb_configure_notify(struct w_par *, struct d_par *);
1357 void dsl_cb_destroy_notify(struct w_par *, struct d_par *);
1358 void dsl_cb_motion_notify(struct w_par *, struct d_par *);
1359 void dsl_cb_map_notify(struct w_par *, struct d_par *);
1360 void dsl_cb_unmap_notify(struct w_par *, struct d_par *);
1361 void dsl_cb_open_notify(unsigned int, struct d_par *);
1362 #endif
1363 
1364 /* worker_draw.c */
1365 #if ! defined(PROG_DISABLE_GUI)
1366 void worker_draw(void *);
1367 struct w_stack *window_get_widget_by_handle(unsigned int);
1368 #endif
1369 
1370 /* worker_dsl.c */
1371 void worker_dsl(void *);
1372 void worker_dsl_timer(int, siginfo_t *, void *);
1373 void worker_dsl_thread(struct d_par *);
1374 int worker_dsl_timer_par(struct d_par *);
1375 
1376 /* worker_menu.c */
1377 #if ! defined(PROG_DISABLE_GUI) && ! defined(PROG_DISABLE_MENU)
1378 void worker_menu(void *);
1379 #endif
1380 
1381 /* worker_play.c */
1382 #if ! defined(PROG_DISABLE_AUDIO)
1383 void worker_play(void *);
1384 #endif
1385 
1386 /* worker_remote.c */
1387 #if ! defined(PROG_DISABLE_REMOTE)
1388 void worker_remote(void *);
1389 #endif
1390