6 * $VER: bgui_arexx.h 41.10 (11.10.98)
7 * C Header for the BOOPSI ARexx interface class.
9 * (C) Copyright 1998 Manuel Lemos.
10 * (C) Copyright 1996-1997 Ian J. Einman.
11 * (C) Copyright 1993-1996 Jaba Development.
12 * (C) Copyright 1993-1996 Jan van den Baard.
13 * All Rights Reserved.
16 * Revision 42.11 2004/06/16 20:16:49 verhaegs
17 * Use METHODPROTO, METHOD_END and REGFUNCPROTOn where needed.
19 * Revision 42.10 2003/01/18 19:10:21 chodorowski
20 * Instead of using the _AROS or __AROS preprocessor symbols, use __AROS__.
22 * Revision 42.9 2000/08/09 10:17:25 chodorowski
23 * #include <bgui/bgui_compilerspecific.h> for the REGFUNC and REGPARAM
24 * macros. Some of these files didn't need them at all...
26 * Revision 42.8 2000/08/08 20:24:51 stegerg
27 * had to remove the "compilerspecific.h" #include and instead insert
28 * the REGPARAM/etc. macros also in this file. This is because compilerspecific.h
29 * can be used only by the stuff coming in the BGUI source package.
30 * Apps like the BGUI version of the calculator cannot use it.
32 * Revision 42.7 2000/08/08 14:02:08 chodorowski
33 * Removed all REGFUNC, REGPARAM and REG macros. Now includes
34 * contrib/bgui/compilerspecific.h where they are defined.
36 * Revision 42.6 2000/08/07 21:50:30 stegerg
37 * fixed/activated REGFUNC/REGPARAM macros.
39 * Revision 42.5 2000/07/07 17:15:54 stegerg
40 * stack??? stuff in method structs.
42 * Revision 42.4 2000/07/03 20:58:42 bergers
43 * Automatically installs library and test program in AROS work directory.
45 * Revision 42.3 2000/07/02 04:32:45 bergers
46 * Removed a noisy warning.
48 * Revision 42.2 2000/05/29 00:40:25 bergers
49 * Update to compile with AROS now. Should also still compile with SASC etc since I only made changes that test the define __AROS__. The compilation is still very noisy but it does the trick for the main directory. Maybe members of the BGUI team should also have a look at the compiler warnings because some could also cause problems on other systems... (Comparison always TRUE due to datatype (or something like that)). And please compile it on an Amiga to see whether it still works... Thanks.
51 * Revision 42.1 2000/05/15 19:28:20 stegerg
52 * REG() macro replacementes
54 * Revision 42.0 2000/05/09 22:23:05 mlemos
55 * Bumped to revision 42.0 before handing BGUI to AROS team
57 * Revision 41.11 2000/05/09 20:37:09 mlemos
58 * Bumped to revision 41.11
60 * Revision 41.1 2000/05/09 20:01:41 mlemos
61 * Merged with the branch Manuel_Lemos_fixes.
63 * Revision 1.1.2.2 1999/02/19 05:00:55 mlemos
64 * Added support for Storm C.
66 * Revision 1.1.2.1 1998/10/12 01:47:18 mlemos
67 * Initial revision integrated from Ian sources.
74 #include <exec/types.h>
78 #include <exec/memory.h>
86 #include <dos/rdargs.h>
90 // Not including any AREXX includes
93 #ifndef REXX_STORAGE_H
94 #include <rexx/storage.h>
98 #include <rexx/rxslib.h>
101 #ifndef REXX_ERRORS_H
102 #include <rexx/errors.h>
105 #endif /* __AROS__ */
107 #ifndef INTUITION_CLASSES_H
108 #include <intuition/classes.h>
111 #ifndef INTUITION_CLASSUSR_H
112 #include <intuition/classusr.h>
115 #ifndef BGUI_COMPILERSPECIFIC_H
116 #include <bgui/bgui_compilerspecific.h>
120 #define AREXX_TB (TAG_USER+0x30000)
122 #define AREXX_HostName (AREXX_TB+1) /* I-G-- */
123 #define AREXX_FileExtension (AREXX_TB+2) /* I---- */
124 #define AREXX_CommandList (AREXX_TB+3) /* I---- */
125 #define AREXX_SignalMask (AREXX_TB+4) /* --G-- */
126 #define AREXX_ErrorCode (AREXX_TB+5) /* I---- */
129 #define AREXX_MB (0x30000)
131 /* ARexx class event-handler. */
132 #define AREXXM_HANDLE_EVENT (AREXX_MB+1)
134 /* Execute a host command. */
135 #define AREXXM_EXECUTE (AREXX_MB+2)
139 #define STACKULONG ULONG
144 UBYTE
*acme_CommandString
;
152 ** The routines from the command-list will receive a pointer
153 ** to this structure. In this structure are the parsed arguments
154 ** and storage to put the results of the command.
157 ULONG
*ra_ArgList
; /* Result of ReadArgs(). */
158 LONG ra_RC
; /* Primary result. */
159 LONG ra_RC2
; /* Secondary result. */
160 UBYTE
*ra_Result
; /* RESULT variable. */
164 ** An array of these structures must be passed at object-create time.
167 //#warning Deactivated the following typedef
170 UBYTE
*rc_Name
; /* Command name. */
171 UBYTE
*rc_ArgTemplate
; /* DOS-style argument template. */
172 // ASM VOID (*rc_Func)( REG(a0) REXXARGS *, REG(a1) struct RexxMsg * );
173 ASM
REGFUNCPROTO2(VOID
, (*rc_Func
),
174 REGPARAM(A0
, REXXARGS
*,),
175 REGPARAM(A1
, struct RexxMsg
*, ));
181 #define RXERR_NO_COMMAND_LIST (1L)
182 #define RXERR_NO_PORT_NAME (2L)
183 #define RXERR_PORT_ALREADY_EXISTS (3L)
184 #define RXERR_OUT_OF_MEMORY (4L)
187 * Backwards compatibility.
189 #define AC_HostName AREXX_HostName
190 #define AC_FileExtention AREXX_FileExtension
191 #define AC_CommandList AREXX_CommandList
192 #define AC_ErrorCode AREXX_ErrorCode
193 #define AC_RexxPortMask AREXX_SignalMask
194 #define ACM_HANDLE_EVENT AREXXM_HANDLE_EVENT
195 #define ACM_EXECUTE AREXXM_EXECUTE