2 Copyright © 1995-2016, The AROS Development Team. All rights reserved.
5 Desc: Macros to make calling ARexx library querying functions portable
9 #ifndef REXX_REXXCALL_H
10 #define REXX_REXXCALL_H
12 #include <exec/types.h>
16 #include <rexx/rexxcall-m68k.h>
20 /* Some macros to make ARexx portable to non-m68k platforms */
21 #define RexxCallQueryLibFunc(rexxmsg, libbase, offset, retargstringptr) \
23 int _offset=abs(offset)/6; \
24 AROS_LVO_CALL2(ULONG, \
25 AROS_LCA(struct RexxMsg *, rexxmsg, A0), \
26 AROS_LCA(STRPTR *, retargstringptr, A1), \
27 struct Library *, libbase, _offset, rexxcall); \
30 #define AROS_AREXXLIBQUERYFUNC(f,m,lt,l,o,p) \
32 AROS_LHA(struct RexxMsg *, m, A0), \
33 AROS_LHA(STRPTR *, _retargstringptr, A1), \
34 lt, l, o, p) { AROS_LIBFUNC_INIT
35 #define AROS_AREXXLIBQUERYFUNC_END \
38 #define ReturnRexxQuery(rc,arg) \
39 ({ *_retargstringptr = arg; \