/* $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 #include #include #include #include /* Rexx definitions. */ #include /* Amiga prototypes/pragmas. */ #include /* 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))