home *** CD-ROM | disk | FTP | other *** search
- /* $Revision Header * Header built automatically - do not edit! *************
- *
- * (C) Copyright 1990 by MXM
- *
- * Name .....: PreInclude.c
- * Created ..: Sunday 25-Mar-90 12:57
- * Revision .: 0
- *
- * Date Author Comment
- * ========= ======== ====================
- * 25-Mar-90 Olsen Created this file!
- *
- * $Revision Header ********************************************************/
-
- /* Main system includes. */
-
- #include <libraries/dosextens.h>
- #include <exec/execbase.h>
- #include <exec/resident.h>
- #include <exec/memory.h>
- #include <exec/alerts.h>
-
- /* Rexx definitions. */
-
- #include <rexx/rxslib.h>
-
- /* Amiga prototypes/pragmas. */
-
- #include <functions.h>
-
- /* BCPL 'NULL'. */
-
- #define ZERO 0L
-
- /* The rexx host library base. */
-
- struct RexxHostBase
- {
- struct Library LibNode;
- struct RxsLib *RexxSysBase;
- };
-
- /* A rexx host, somewhat more than a simple MsgPort. */
-
- struct RexxHost
- {
- struct MsgPort rh_Port;
-
- ULONG rh_SpecialID;
- ULONG rh_Reserved[4];
- };
-
- /* Prototypes for all library functions. */
-
- struct RexxHost * CreateRexxHost(STRPTR);
- VOID * DeleteRexxHost(struct RexxHost *);
- LONG SendRexxCommand(struct RexxHost *,STRPTR,STRPTR,STRPTR);
- VOID FreeRexxCommand(struct RexxMsg *);
- VOID ReplyRexxCommand(struct RexxMsg *,LONG,LONG,STRPTR);
- STRPTR GetRexxCommand(struct RexxMsg *);
- STRPTR GetRexxArg(struct RexxMsg *);
- LONG GetRexxResult1(struct RexxMsg *);
- LONG GetRexxResult2(struct RexxMsg *);
- STRPTR GetToken(STRPTR,LONG *,STRPTR,LONG);
- LONG GetStringValue(STRPTR);
- STRPTR BuildValueString(LONG,STRPTR);
- LONG RexxStrCmp(STRPTR,STRPTR);
-
- /* Library calls for rexx host lib. */
-
- #pragma amicall(RexxHostBase, 0x1e, CreateRexxHost(a0))
- #pragma amicall(RexxHostBase, 0x24, DeleteRexxHost(a0))
- #pragma amicall(RexxHostBase, 0x2a, SendRexxCommand(a0,a1,a2,a3))
- #pragma amicall(RexxHostBase, 0x30, FreeRexxCommand(a0))
- #pragma amicall(RexxHostBase, 0x36, ReplyRexxCommand(a0,d0,d1,a1))
- #pragma amicall(RexxHostBase, 0x3c, GetRexxCommand(a0))
- #pragma amicall(RexxHostBase, 0x42, GetRexxArg(a0))
- #pragma amicall(RexxHostBase, 0x48, GetRexxResult1(a0))
- #pragma amicall(RexxHostBase, 0x4e, GetRexxResult2(a0))
- #pragma amicall(RexxHostBase, 0x54, GetToken(a0,a1,a2,d0))
- #pragma amicall(RexxHostBase, 0x5a, GetStringValue(a0))
- #pragma amicall(RexxHostBase, 0x60, BuildValueString(d0,a0))
- #pragma amicall(RexxHostBase, 0x66, RexxStrCmp(a0,a1))
-
- /* Protos for assembly language string routines. */
-
- LONG StrLen(char *);
- VOID StrCpy(char *,char *);
- VOID StrNCpy(char *,char *,LONG);
-
- /* And some more pragmas. */
-
- #pragma regcall(StrLen(a0))
- #pragma regcall(StrCpy(a0,a1))
- #pragma regcall(StrNCpy(a0,a1,d0))
-