fix remapping behavior. Remapping is only necessary if we are rendering on the workbe...
[AROS-Contrib.git] / bgui / include / bgui_arexx.h
blobebb619ca393d7d63096028606baac82175c72d68
1 #ifndef BGUI_AREXX_H
2 #define BGUI_AREXX_H
3 /*
4 * @(#) $Header$
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.
15 * $Log$
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.
73 #ifndef EXEC_TYPES_H
74 #include <exec/types.h>
75 #endif
77 #ifndef EXEC_MEMORY_H
78 #include <exec/memory.h>
79 #endif
81 #ifndef DOS_DOS_H
82 #include <dos/dos.h>
83 #endif
85 #ifndef DOS_RDARGS_H
86 #include <dos/rdargs.h>
87 #endif
89 #ifdef __AROS__
90 // Not including any AREXX includes
91 #else
93 #ifndef REXX_STORAGE_H
94 #include <rexx/storage.h>
95 #endif
97 #ifndef REXX_RXSLIB_H
98 #include <rexx/rxslib.h>
99 #endif
101 #ifndef REXX_ERRORS_H
102 #include <rexx/errors.h>
103 #endif
105 #endif /* __AROS__ */
107 #ifndef INTUITION_CLASSES_H
108 #include <intuition/classes.h>
109 #endif
111 #ifndef INTUITION_CLASSUSR_H
112 #include <intuition/classusr.h>
113 #endif
115 #ifndef BGUI_COMPILERSPECIFIC_H
116 #include <bgui/bgui_compilerspecific.h>
117 #endif
119 /* Tags */
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---- */
128 /* Methods */
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)
137 #ifndef __AROS__
138 #undef STACKULONG
139 #define STACKULONG ULONG
140 #endif
142 struct acmExecute {
143 STACKULONG MethodID;
144 UBYTE *acme_CommandString;
145 LONG *acme_RC;
146 LONG *acme_RC2;
147 UBYTE **acme_Result;
148 BPTR acme_IO;
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.
156 typedef struct {
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. */
161 } REXXARGS;
164 ** An array of these structures must be passed at object-create time.
166 #ifdef __AROS__
167 //#warning Deactivated the following typedef
168 #else
169 typedef struct {
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 *, ));
176 } REXXCOMMAND;
177 #endif
179 ** Possible errors.
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
197 #endif