2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
9 /******************************************************************************
15 Some macros to build functions with registerized parameters on the
16 different compilers around. Usage:
18 AROS_LH<n><f>(type, name,
19 [AROS_LHA(type1, name1, reg1),] ...
20 libtype, libvariable, lvo, basename
24 \* Function starts here. *\
28 <n> - Number of arguments of the function (not including the
31 <f> - 'I' means: Function ignores library base.
32 This is useful to get rid of warnings about unused arguments.
34 type - Returntype of the function.
36 name - Name of the function. A underscore '_' is prepended so that
37 following functions jump over the base vector and don't call
38 the function directly.
40 type<i>, name<i>, reg<i> - Type, name and register for the
41 arguments. Register names are written uppercase because they
42 are preprocessor symbols.
44 Example: Define an Exec-compatible RemHead function.
46 AROS_LH1I(struct Node *, RemHead,
47 struct List *, list, A0,
48 struct ExecBase, SysBase, 43, Exec)
56 if(node->ln_Succ==NULL)
65 ******************************************************************************/
67 /* System-Specific things */
69 # include <aros/system.h>
72 #ifdef __AROS_LIBCALL_H_FILE
73 #include __AROS_LIBCALL_H_FILE
76 #ifndef __typedef_VOID_FUNC
77 #define __typedef_VOID_FUNC
78 typedef void (*VOID_FUNC
)();
80 #ifndef __typedef_LONG_FUNC
81 #define __typedef_LONG_FUNC
82 typedef int (*LONG_FUNC
)();
84 #ifndef __typedef_ULONG_FUNC
85 #define __typedef_ULONG_FUNC
86 typedef unsigned int (*ULONG_FUNC
)();
89 /* Prefix for library function in header, prototype and call */
90 #ifndef __AROS_LH_PREFIX
91 #define __AROS_LH_PREFIX /* eps */
93 #ifndef __AROS_LP_PREFIX
94 #define __AROS_LP_PREFIX /* eps */
96 #ifndef __AROS_LC_PREFIX
97 #define __AROS_LC_PREFIX /* eps */
99 #ifndef __AROS_LD_PREFIX
100 #define __AROS_LD_PREFIX /* eps */
103 /* What to do with the library base in header, prototype and call */
104 #ifndef __AROS_LH_BASE
105 #define __AROS_LH_BASE(basetype,basename) basetype basename
107 #ifndef __AROS_LP_BASE
108 #define __AROS_LP_BASE(basetype,basename) basetype
110 #ifndef __AROS_LC_BASE
111 #define __AROS_LC_BASE(basetype,basename) basename
113 #ifndef __AROS_LD_BASE
114 #define __AROS_LD_BASE(basetype,basename) basetype
117 /* How to transform an argument in header, opt prototype, call and forced
120 #define __AROS_LHA(type,name,reg) type name
123 #define __AROS_LPA(type,name,reg) type
126 #define __AROS_LCA(type,name,reg) (name)
129 #define __AROS_LDA(type,name,reg) type
131 #ifndef __AROS_LHAQUAD
132 #define __AROS_LHAQUAD(type,name,reg1,reg2) type name
134 #ifndef __AROS_LPAQUAD
135 #define __AROS_LPAQUAD(type,name,reg1,reg2) type
137 #ifndef __AROS_LCAQUAD
138 #define __AROS_LCAQUAD(type,name,reg1,reg2) (name)
140 #ifndef __AROS_LDAQUAD
141 #define __AROS_LDAQUAD(type,name,reg1,reg2) type
144 /* Declare all macros which the systems' libcall didn't */
145 #ifndef __AROS_SLIB_ENTRY
146 # define __AROS_SLIB_ENTRY(n,s,o) s ## _ ## o ## _ ## n
148 #ifndef AROS_SLIB_ENTRY
150 This is to allow the C preprocessor to expand n and s before they are
151 maybe concatenated (the CPP first evaluates a ## b and the tries
152 to expand ab instead of expanding a and b and then concatenating the
155 # define AROS_SLIB_ENTRY(n,s,o) __AROS_SLIB_ENTRY(n,s,o)
158 #ifndef __AROS_CPU_SPECIFIC_LH
159 /* Library functions which need the libbase */
160 #define AROS_LHQUAD1(t,n,a1,bt,bn,o,s) \
161 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
163 __AROS_LH_BASE(bt,bn)) {
164 #define AROS_LHQUAD2(t,n,a1,a2,bt,bn,o,s) \
165 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
168 __AROS_LH_BASE(bt,bn)) {
169 #define AROS_LH1QUAD1(t,n,a1,a2,bt,bn,o,s) \
170 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
173 __AROS_LH_BASE(bt,bn)) {
174 #define AROS_LH3QUAD1(t,n,a1,a2,a3,a4,bt,bn,o,s) \
175 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
180 __AROS_LH_BASE(bt,bn)) {
182 #define AROS_LH0(t,n,bt,bn,o,s) \
183 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
184 __AROS_LH_BASE(bt,bn)) {
185 #define AROS_LH1(t,n,a1,bt,bn,o,s) \
186 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
188 __AROS_LH_BASE(bt,bn)) {
189 #define AROS_LH2(t,n,a1,a2,bt,bn,o,s) \
190 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
193 __AROS_LH_BASE(bt,bn)) {
194 #define AROS_LH3(t,n,a1,a2,a3,bt,bn,o,s) \
195 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
199 __AROS_LH_BASE(bt,bn)) {
200 #define AROS_LH4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
201 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
206 __AROS_LH_BASE(bt,bn)) {
207 #define AROS_LH5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
208 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
214 __AROS_LH_BASE(bt,bn)) {
215 #define AROS_LH6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
216 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
223 __AROS_LH_BASE(bt,bn)) {
224 #define AROS_LH7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
225 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
233 __AROS_LH_BASE(bt,bn)) {
234 #define AROS_LH8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
235 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
244 __AROS_LH_BASE(bt,bn)) {
245 #define AROS_LH9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
246 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
256 __AROS_LH_BASE(bt,bn)) {
257 #define AROS_LH10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
258 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
269 __AROS_LH_BASE(bt,bn)) {
270 #define AROS_LH11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
271 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
283 __AROS_LH_BASE(bt,bn)) {
284 #define AROS_LH12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
285 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
298 __AROS_LH_BASE(bt,bn)) {
299 #define AROS_LH13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
300 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
314 __AROS_LH_BASE(bt,bn)) {
315 #define AROS_LH14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
316 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
331 __AROS_LH_BASE(bt,bn)) {
332 #define AROS_LH15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
333 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
349 __AROS_LH_BASE(bt,bn)) {
351 /* Library functions which don't need the libbase */
352 #define AROS_LH0I(t,n,bt,bn,o,s) \
353 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(void) {
354 #define AROS_LH1I(t,n,a1,bt,bn,o,s) \
355 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
358 #define AROS_LH2I(t,n,a1,a2,bt,bn,o,s) \
359 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
363 #define AROS_LH3I(t,n,a1,a2,a3,bt,bn,o,s) \
364 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
369 #define AROS_LH4I(t,n,a1,a2,a3,a4,bt,bn,o,s) \
370 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
376 #define AROS_LH5I(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
377 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
384 #define AROS_LH6I(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
385 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
393 #define AROS_LH7I(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
394 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
403 #define AROS_LH8I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
404 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
414 #define AROS_LH9I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
415 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
426 #define AROS_LH10I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
427 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
439 #define AROS_LH11I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
440 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
453 #define AROS_LH12I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
454 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
468 #define AROS_LH13I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
469 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
484 #define AROS_LH14I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
485 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
501 #define AROS_LH15I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
502 __AROS_LH_PREFIX t AROS_SLIB_ENTRY(n,s,o)(\
519 #endif /* !__AROS_CPU_SPECIFIC_LH */
522 /* Call a library function which requires the libbase */
523 #ifndef __AROS_CPU_SPECIFIC_LC
524 # define AROS_LCQUAD1(t,n,a1,bt,bn,o,s) \
525 (((__AROS_LC_PREFIX t(*)(\
527 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
529 __AROS_LC_BASE(bt,bn)))
530 #define AROS_LCQUAD2(t,n,a1,a2,bt,bn,o,s) \
531 (((__AROS_LC_PREFIX t(*)(\
534 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
537 __AROS_LC_BASE(bt,bn)))
538 #define AROS_LC1QUAD1(t,n,a1,a2,bt,bn,o,s) \
539 (((__AROS_LC_PREFIX t(*)(\
542 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
545 __AROS_LC_BASE(bt,bn)))
546 #define AROS_LC2QUAD1(t,n,a1,a2,a3,bt,bn,o,s) \
547 (((__AROS_LC_PREFIX t(*)(\
551 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
555 __AROS_LC_BASE(bt,bn)))
556 #define AROS_LC3QUAD1(t,n,a1,a2,a3,a4,bt,bn,o,s) \
557 (((__AROS_LC_PREFIX t(*)(\
562 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
567 __AROS_LC_BASE(bt,bn)))
569 #define AROS_LC0(t,n,bt,bn,o,s) \
570 (((__AROS_LC_PREFIX t(*)(\
571 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
572 __AROS_LC_BASE(bt,bn)))
573 #define AROS_LC1(t,n,a1,bt,bn,o,s) \
574 (((__AROS_LC_PREFIX t(*)(\
576 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
578 __AROS_LC_BASE(bt,bn)))
579 #define AROS_LC2(t,n,a1,a2,bt,bn,o,s) \
580 (((__AROS_LC_PREFIX t(*)(\
583 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
586 __AROS_LC_BASE(bt,bn)))
587 #define AROS_LC3(t,n,a1,a2,a3,bt,bn,o,s) \
588 (((__AROS_LC_PREFIX t(*)(\
592 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
596 __AROS_LC_BASE(bt,bn)))
597 #define AROS_LC4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
598 (((__AROS_LC_PREFIX t(*)(\
603 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
608 __AROS_LC_BASE(bt,bn)))
609 #define AROS_LC5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
610 (((__AROS_LC_PREFIX t(*)(\
616 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
622 __AROS_LC_BASE(bt,bn)))
623 #define AROS_LC6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
624 (((__AROS_LC_PREFIX t(*)(\
631 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
638 __AROS_LC_BASE(bt,bn)))
639 #define AROS_LC7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
640 (((__AROS_LC_PREFIX t(*)(\
648 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
656 __AROS_LC_BASE(bt,bn)))
657 #define AROS_LC8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
658 (((__AROS_LC_PREFIX t(*)(\
667 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
676 __AROS_LC_BASE(bt,bn)))
677 #define AROS_LC9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
678 (((__AROS_LC_PREFIX t(*)(\
688 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
698 __AROS_LC_BASE(bt,bn)))
699 #define AROS_LC10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
700 (((__AROS_LC_PREFIX t(*)(\
711 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
722 __AROS_LC_BASE(bt,bn)))
723 #define AROS_LC11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
724 (((__AROS_LC_PREFIX t(*)(\
736 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
748 __AROS_LC_BASE(bt,bn)))
749 #define AROS_LC12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
750 (((__AROS_LC_PREFIX t(*)(\
763 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
776 __AROS_LC_BASE(bt,bn)))
777 #define AROS_LC13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
778 (((__AROS_LC_PREFIX t(*)(\
792 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
806 __AROS_LC_BASE(bt,bn)))
807 #define AROS_LC14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
808 (((__AROS_LC_PREFIX t(*)(\
823 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
838 __AROS_LC_BASE(bt,bn)))
839 #define AROS_LC15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
840 (((__AROS_LC_PREFIX t(*)(\
856 __AROS_LP_BASE(bt,bn)))__AROS_GETVECADDR(bn,o))(\
872 __AROS_LC_BASE(bt,bn)))
874 /* Macros for calling library functions without a return value. These macros should
875 * always be used when a library function has no return value but can also be used
876 * when the return value is not used
878 #define AROS_LC0NR AROS_LC0
879 #define AROS_LC1NR AROS_LC1
880 #define AROS_LC2NR AROS_LC2
881 #define AROS_LC3NR AROS_LC3
882 #define AROS_LC4NR AROS_LC4
883 #define AROS_LC5NR AROS_LC5
884 #define AROS_LC6NR AROS_LC6
885 #define AROS_LC7NR AROS_LC7
886 #define AROS_LC8NR AROS_LC8
887 #define AROS_LC9NR AROS_LC9
888 #define AROS_LC10NR AROS_LC10
889 #define AROS_LC11NR AROS_LC11
890 #define AROS_LC12NR AROS_LC12
891 #define AROS_LC13NR AROS_LC13
892 #define AROS_LC14NR AROS_LC14
893 #define AROS_LC15NR AROS_LC15
895 #endif /* !__AROS_CPU_SPECIFIC_LC */
898 /* Special calls: Call a library function without the name just by the ADDRESS */
900 #define AROS_CALL0(returntype,address,basetype,basename) \
901 (((__AROS_LC_PREFIX returntype(*)(__AROS_LD_BASE(basetype,basename)))\
902 (void *)(address))(basename))
903 #define AROS_CALL0NR AROS_CALL0
907 #define AROS_CALL1(t,a,a1,bt,bn) \
908 (((__AROS_LC_PREFIX t(*)(\
910 __AROS_LD_BASE(bt,bn)))\
914 #define AROS_CALL1NR AROS_CALL1
918 #define AROS_CALL2(t,a,a1,a2,bt,bn) \
919 (((__AROS_LC_PREFIX t(*)(\
922 __AROS_LD_BASE(bt,bn)))\
927 #define AROS_CALL2NR AROS_CALL2
931 #define AROS_CALL3(t,a,a1,a2,a3,bt,bn) \
932 (((__AROS_LC_PREFIX t(*)(\
936 __AROS_LD_BASE(bt,bn)))\
942 #define AROS_CALL3NR AROS_CALL3
946 #define AROS_CALL4(t,a,a1,a2,a3,a4,bt,bn) \
947 (((__AROS_LC_PREFIX t(*)(\
952 __AROS_LD_BASE(bt,bn)))\
959 #define AROS_CALL4NR AROS_CALL4
963 #define AROS_CALL5(t,a,a1,a2,a3,a4,a5,bt,bn) \
964 (((__AROS_LC_PREFIX t(*)(\
970 __AROS_LD_BASE(bt,bn)))\
978 #define AROS_CALL5NR AROS_CALL5
982 #define AROS_CALL6(t,a,a1,a2,a3,a4,a5,a6,bt,bn) \
983 (((__AROS_LC_PREFIX t(*)(\
990 __AROS_LD_BASE(bt,bn)))\
999 #define AROS_CALL6NR AROS_CALL6
1003 #define AROS_CALL7(t,a,a1,a2,a3,a4,a5,a6,a7,bt,bn) \
1004 (((__AROS_LC_PREFIX t(*)(\
1012 __AROS_LD_BASE(bt,bn)))\
1022 #define AROS_CALL7NR AROS_CALL7
1026 #define AROS_CALL8(t,a,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn) \
1027 (((__AROS_LC_PREFIX t(*)(\
1036 __AROS_LD_BASE(bt,bn)))\
1047 #define AROS_CALL8NR AROS_CALL8
1051 #define AROS_CALL9(t,a,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn) \
1052 (((__AROS_LC_PREFIX t(*)(\
1062 __AROS_LD_BASE(bt,bn)))\
1074 #define AROS_CALL9NR AROS_CALL9
1078 #define AROS_CALL10(t,a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn) \
1079 (((__AROS_LC_PREFIX t(*)(\
1090 __AROS_LD_BASE(bt,bn)))\
1103 #define AROS_CALL10NR AROS_CALL10
1106 /* Special calls: Call a library function without the name just by the OFFSET */
1108 #ifndef AROS_LVO_CALL0
1109 #define AROS_LVO_CALL0(returntype,basetype,basename,offset,system) \
1110 AROS_CALL0(returntype,__AROS_GETVECADDR(basename,offset),basetype,basename)
1113 #ifndef AROS_LVO_CALL0NR
1114 #define AROS_LVO_CALL0NR(returntype,basetype,basename,offset,system) \
1115 AROS_CALL0NR(returntype,__AROS_GETVECADDR(basename,offset),basetype,basename)
1118 #ifndef AROS_LVO_CALL1
1119 #define AROS_LVO_CALL1(t,a1,bt,bn,o,s) \
1120 AROS_CALL1(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),bt,bn)
1123 #ifndef AROS_LVO_CALL1NR
1124 #define AROS_LVO_CALL1NR(t,a1,bt,bn,o,s) \
1125 AROS_CALL1NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),bt,bn)
1128 #ifndef AROS_LVO_CALL2
1129 #define AROS_LVO_CALL2(t,a1,a2,bt,bn,o,s) \
1130 AROS_CALL2(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),bt,bn)
1133 #ifndef AROS_LVO_CALL2NR
1134 #define AROS_LVO_CALL2NR(t,a1,a2,bt,bn,o,s) \
1135 AROS_CALL2NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),bt,bn)
1138 #ifndef AROS_LVO_CALL3
1139 #define AROS_LVO_CALL3(t,a1,a2,a3,bt,bn,o,s) \
1140 AROS_CALL3(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),bt,bn)
1143 #ifndef AROS_LVO_CALL3NR
1144 #define AROS_LVO_CALL3NR(t,a1,a2,a3,bt,bn,o,s) \
1145 AROS_CALL3NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),bt,bn)
1148 #ifndef AROS_LVO_CALL4
1149 #define AROS_LVO_CALL4(t,a1,a2,a3,a4,bt,bn,o,s) \
1150 AROS_CALL4(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),bt,bn)
1153 #ifndef AROS_LVO_CALL4NR
1154 #define AROS_LVO_CALL4NR(t,a1,a2,a3,a4,bt,bn,o,s) \
1155 AROS_CALL4NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),bt,bn)
1158 #ifndef AROS_LVO_CALL5
1159 #define AROS_LVO_CALL5(t,a1,a2,a3,a4,a5,bt,bn,o,s) \
1160 AROS_CALL5(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCA(a5),bt,bn)
1163 #ifndef AROS_LVO_CALL5NR
1164 #define AROS_LVO_CALL5NR(t,a1,a2,a3,a4,a5,bt,bn,o,s) \
1165 AROS_CALL5NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCS(a5),bt,bn)
1168 #ifndef AROS_LVO_CALL6
1169 #define AROS_LVO_CALL6(t,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
1170 AROS_CALL6(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCA(a5),AROS_LCA(a6),bt,bn)
1173 #ifndef AROS_LVO_CALL6NR
1174 #define AROS_LVO_CALL6NR(t,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
1175 AROS_CALL6NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCS(a5),AROS_LCA(a6),bt,bn)
1178 #ifndef AROS_LVO_CALL7
1179 #define AROS_LVO_CALL7(t,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
1180 AROS_CALL7(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCA(a5),AROS_LCA(a6),AROS_LCA(a7),bt,bn)
1183 #ifndef AROS_LVO_CALL7NR
1184 #define AROS_LVO_CALL7NR(t,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
1185 AROS_CALL7NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCS(a5),AROS_LCA(a6),AROS_LCA(a7),bt,bn)
1188 #ifndef AROS_LVO_CALL8
1189 #define AROS_LVO_CALL8(t,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
1190 AROS_CALL8(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCA(a5),AROS_LCA(a6),AROS_LCA(a7),AROS_LCA(a8),bt,bn)
1193 #ifndef AROS_LVO_CALL8NR
1194 #define AROS_LVO_CALL8NR(t,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
1195 AROS_CALL8NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCS(a5),AROS_LCA(a6),AROS_LCA(a7),AROS_LCA(a8),bt,bn)
1198 #ifndef AROS_LVO_CALL9
1199 #define AROS_LVO_CALL9(t,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
1200 AROS_CALL9(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCA(a5),AROS_LCA(a6),AROS_LCA(a7),AROS_LCA(a8),AROS_LCA(a9),bt,bn)
1203 #ifndef AROS_LVO_CALL9NR
1204 #define AROS_LVO_CALL9NR(t,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
1205 AROS_CALL9NR(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCS(a5),AROS_LCA(a6),AROS_LCA(a7),AROS_LCA(a8),AROS_LCA(a9),bt,bn)
1208 #ifndef AROS_LVO_CALL10
1209 #define AROS_LVO_CALL10(t,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
1210 AROS_CALL10(t,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCA(a5),AROS_LCA(a6),AROS_LCA(a7),AROS_LCA(a8),AROS_LCA(a9),AROS_LCA(a10),bt,bn)
1213 #ifndef AROS_LVO_CALL10NR
1214 #define AROS_LVO_CALL10NR(t,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
1215 AROS_CALL10NR(void,__AROS_GETVECADDR(bn,o),AROS_LCA(a1),AROS_LCA(a2),AROS_LCA(a3),AROS_LCA(a4),AROS_LCS(a5),AROS_LCA(a6),AROS_LCA(a7),AROS_LCA(a8),AROS_LCA(a9),AROS_LCA(a10),bt,bn)
1218 #ifndef __AROS_CPU_SPECIFIC_LP
1219 # define AROS_LPQUAD1(t,n,a1,bt,bn,o,s) \
1220 t n(__AROS_LPAQUAD(a1))
1221 # define AROS_LPQUAD2(t,n,a1,a2,bt,bn,o,s) \
1222 t n(__AROS_LPAQUAD(a1),__AROS_LPAQUAD(a2))
1224 # define AROS_LP0(t,n,bt,bn,o,s) \
1226 # define AROS_LP1(t,n,a1,bt,bn,o,s) \
1228 # define AROS_LP2(t,n,a1,a2,bt,bn,o,s) \
1229 t n(__AROS_LPA(a1),__AROS_LPA(a2))
1230 # define AROS_LP3(t,n,a1,a2,a3,bt,bn,o,s) \
1231 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3))
1232 # define AROS_LP4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
1233 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4))
1234 # define AROS_LP5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
1235 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5))
1236 # define AROS_LP6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
1237 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6))
1238 # define AROS_LP7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
1239 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7))
1240 # define AROS_LP8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
1241 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8))
1242 # define AROS_LP9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
1243 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9))
1244 # define AROS_LP10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
1245 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9),__AROS_LPA(a10))
1246 # define AROS_LP11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
1247 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9),__AROS_LPA(a10),__AROS_LPA(a11))
1248 # define AROS_LP12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
1249 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9),__AROS_LPA(a10),__AROS_LPA(a11),__AROS_LPA(a12))
1250 # define AROS_LP13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
1251 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9),__AROS_LPA(a10),__AROS_LPA(a11),__AROS_LPA(a12),__AROS_LPA(a13))
1252 # define AROS_LP14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
1253 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9),__AROS_LPA(a10),__AROS_LPA(a11),__AROS_LPA(a12),__AROS_LPA(a13),__AROS_LPA(a14))
1254 # define AROS_LP15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
1255 t n(__AROS_LPA(a1),__AROS_LPA(a2),__AROS_LPA(a3),__AROS_LPA(a4),__AROS_LPA(a5),__AROS_LPA(a6),__AROS_LPA(a7),__AROS_LPA(a8),__AROS_LPA(a9),__AROS_LPA(a10),__AROS_LPA(a11),__AROS_LPA(a12),__AROS_LPA(a13),__AROS_LPA(a14),__AROS_LPA(a15))
1256 # endif /* !__AROS_CPU_SPECIFIC_LP */
1259 #ifndef __AROS_CPU_SPECIFIC_LD
1260 /* Declarations for library functions which need the libbase */
1261 # define AROS_LDQUAD1(t,n,a1,bt,bn,o,s) \
1262 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1263 __AROS_LDAQUAD(a1), __AROS_LD_BASE(bt,bn))
1264 # define AROS_LDQUAD2(t,n,a1,a2,bt,bn,o,s) \
1265 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1266 __AROS_LDAQUAD(a1), \
1267 __AROS_LDAQUAD(a2),__AROS_LD_BASE(bt,bn))
1269 # define AROS_LD0(t,n,bt,bn,o,s) \
1270 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) (__AROS_LD_BASE(bt,bn))
1271 # define AROS_LD1(t,n,a1,bt,bn,o,s) \
1272 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1273 __AROS_LDA(a1),__AROS_LD_BASE(bt,bn))
1274 # define AROS_LD2(t,n,a1,a2,bt,bn,o,s) \
1275 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1277 __AROS_LDA(a2),__AROS_LD_BASE(bt,bn))
1278 # define AROS_LD3(t,n,a1,a2,a3,bt,bn,o,s) \
1279 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1282 __AROS_LDA(a3), __AROS_LD_BASE(bt,bn))
1283 # define AROS_LD4(t,n,a1,a2,a3,a4,bt,bn,o,s) \
1284 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1288 __AROS_LDA(a4), __AROS_LD_BASE(bt,bn))
1289 # define AROS_LD5(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
1290 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1295 __AROS_LDA(a5), __AROS_LD_BASE(bt,bn))
1296 # define AROS_LD6(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
1297 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1303 __AROS_LDA(a6), __AROS_LD_BASE(bt,bn))
1304 # define AROS_LD7(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
1305 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1312 __AROS_LDA(a7), __AROS_LD_BASE(bt,bn))
1313 # define AROS_LD8(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
1314 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1322 __AROS_LDA(a8), __AROS_LD_BASE(bt,bn))
1323 # define AROS_LD9(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
1324 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1333 __AROS_LDA(a9), __AROS_LD_BASE(bt,bn))
1334 # define AROS_LD10(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
1335 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1345 __AROS_LDA(a10), __AROS_LD_BASE(bt,bn))
1346 # define AROS_LD11(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
1347 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1358 __AROS_LDA(a11), __AROS_LD_BASE(bt,bn))
1359 # define AROS_LD12(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
1360 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1372 __AROS_LDA(a12), __AROS_LD_BASE(bt,bn))
1373 # define AROS_LD13(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
1374 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1387 __AROS_LDA(a13), __AROS_LD_BASE(bt,bn))
1388 # define AROS_LD14(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
1389 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1403 __AROS_LDA(a14), __AROS_LD_BASE(bt,bn))
1404 # define AROS_LD15(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
1405 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1420 __AROS_LDA(a15), __AROS_LD_BASE(bt,bn))
1422 /* Declarations for library functions which don't need the libbase */
1423 # define AROS_LD0I(t,n,bt,bn,o,s) \
1424 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) (void)
1425 # define AROS_LD1I(t,n,a1,bt,bn,o,s) \
1426 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1428 # define AROS_LD2I(t,n,a1,a2,bt,bn,o,s) \
1429 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1432 # define AROS_LD3I(t,n,a1,a2,a3,bt,bn,o,s) \
1433 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1437 # define AROS_LD4I(t,n,a1,a2,a3,a4,bt,bn,o,s) \
1438 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1443 # define AROS_LD5I(t,n,a1,a2,a3,a4,a5,bt,bn,o,s) \
1444 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1450 # define AROS_LD6I(t,n,a1,a2,a3,a4,a5,a6,bt,bn,o,s) \
1451 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1458 # define AROS_LD7I(t,n,a1,a2,a3,a4,a5,a6,a7,bt,bn,o,s) \
1459 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1467 # define AROS_LD8I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,bt,bn,o,s) \
1468 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1477 # define AROS_LD9I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,bt,bn,o,s) \
1478 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1488 # define AROS_LD10I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,bt,bn,o,s) \
1489 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1500 # define AROS_LD11I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,bt,bn,o,s) \
1501 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1513 # define AROS_LD12I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,bt,bn,o,s) \
1514 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1527 # define AROS_LD13I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,bt,bn,o,s) \
1528 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1542 # define AROS_LD14I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,bt,bn,o,s) \
1543 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1558 # define AROS_LD15I(t,n,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,bt,bn,o,s) \
1559 __AROS_LD_PREFIX t AROS_SLIB_ENTRY(n,s,o) ( \
1575 #endif /* !__AROS_CPU_SPECIFIC_LD */
1577 #define AROS_LHA(type,name,reg) type,name,reg
1578 #define AROS_LPA(type,name,reg) type,name,reg
1579 #define AROS_LCA(type,name,reg) type,name,reg
1580 #define AROS_LDA(type,name,reg) type,name,reg
1582 #define AROS_LHAQUAD(type,name,reg1,reg2) type,name,reg1,reg2
1583 #define AROS_LPAQUAD(type,name,reg1,reg2) type,name,reg1,reg2
1584 #define AROS_LCAQUAD(type,name,reg1,reg2) type,name,reg1,reg2
1585 #define AROS_LDAQUAD(type,name,reg1,reg2) type,name,reg1,reg2
1587 #ifndef AROS_LIBFUNC_INIT
1588 # define AROS_LIBFUNC_INIT {
1590 #ifndef AROS_LIBFUNC_EXIT
1591 # define AROS_LIBFUNC_EXIT }}
1594 /* Tagging of private functions, so that they can be distinguished from
1595 official ones. But they have to compile the same way, so: */
1596 #define AROS_PLH0 AROS_LH0
1597 #define AROS_PLH1 AROS_LH1
1598 #define AROS_PLH2 AROS_LH2
1599 #define AROS_PLH3 AROS_LH3
1600 #define AROS_PLH4 AROS_LH4
1601 #define AROS_PLH5 AROS_LH5
1602 #define AROS_PLH6 AROS_LH6
1603 #define AROS_PLH7 AROS_LH7
1604 #define AROS_PLH8 AROS_LH8
1605 #define AROS_PLH9 AROS_LH9
1606 #define AROS_PLH10 AROS_LH10
1607 #define AROS_PLH11 AROS_LH11
1608 #define AROS_PLH12 AROS_LH12
1609 #define AROS_PLH13 AROS_LH13
1610 #define AROS_PLH14 AROS_LH14
1611 #define AROS_PLH15 AROS_LH15
1613 /* NT stands for No Tags, which means that the functions which are defined with these headers
1614 are not subject to tagcall generation by the script used to generate include files */
1615 #define AROS_NTLH0 AROS_LH0
1616 #define AROS_NTLH1 AROS_LH1
1617 #define AROS_NTLH2 AROS_LH2
1618 #define AROS_NTLH3 AROS_LH3
1619 #define AROS_NTLH4 AROS_LH4
1620 #define AROS_NTLH5 AROS_LH5
1621 #define AROS_NTLH6 AROS_LH6
1622 #define AROS_NTLH7 AROS_LH7
1623 #define AROS_NTLH8 AROS_LH8
1624 #define AROS_NTLH9 AROS_LH9
1625 #define AROS_NTLH10 AROS_LH10
1626 #define AROS_NTLH11 AROS_LH11
1627 #define AROS_NTLH12 AROS_LH12
1628 #define AROS_NTLH13 AROS_LH13
1629 #define AROS_NTLH14 AROS_LH14
1630 #define AROS_NTLH15 AROS_LH15
1632 /******************************************************************************
1633 ***** ENDE aros/libcall.h
1634 ******************************************************************************/
1636 #endif /* AROS_LIBCALL_H */