added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / rexx / rexxcall.h
blob749918953be86d0dd91bbf72a508f34c5ce776e7
1 /*
2 Copyright © 1995-2002, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Macro's to make calling arexx library querying functions portable
6 Lang: English
7 */
9 #ifndef REXX_REXXCALL_H
10 #define REXX_REXXCALL_H
12 #include <exec/types.h>
14 /* Some macro's to make ARexx portable to non-m68k platforms */
15 #define RexxCallQueryLibFunc(rexxmsg, libbase, offset, retargstringptr) \
16 ({ \
17 int _offset=abs(offset)/6; \
18 AROS_LC2(ULONG, RexxCallQueryLibFunc, \
19 AROS_LCA(struct RexxMsg *, rexxmsg, A0), \
20 AROS_LCA(STRPTR *, retargstringptr, A1), \
21 struct Library *, libbase, _offset, rexxcall); \
24 #define AROS_AREXXLIBQUERYFUNC(f,m,lt,l,o,p) \
25 AROS_LH2(ULONG, f, \
26 AROS_LHA(struct RexxMsg *, m, A0), \
27 AROS_LHA(STRPTR *, _retargstringptr, A1), \
28 lt, l, o, p) { AROS_LIBFUNC_INIT
29 #define AROS_AREXXLIBQUERYFUNC_END \
30 AROS_LIBFUNC_EXIT }
32 #define ReturnRexxQuery(rc,arg) \
33 ({ *_retargstringptr = arg; \
34 return rc; \
37 #endif