#ifndef REXX_RXSLIB_H #define REXX_RXSLIB_H /* ** $VER: rxslib.h 1.6 (8.11.91) ** Includes Release 40.15 ** ** The header file for the REXX Systems Library ** ** (C) Copyright 1987,1988,1989,1990 William S. Hawes ** (C) Copyright 1990-1993 Commodore-Amiga, Inc. ** All Rights Reserved */ #ifndef REXX_STORAGE_H #include "rexx/storage.h" #endif #define RXSNAME "rexxsyslib.library" #define RXSDIR "REXX" #define RXSTNAME "ARexx" /* The REXX systems library structure. This should be considered as */ /* semi-private and read-only, except for documented exceptions. */ struct RxsLib { struct Library rl_Node; /* EXEC library node */ UBYTE rl_Flags; /* global flags */ UBYTE rl_Shadow; /* shadow flags */ APTR rl_SysBase; /* EXEC library base */ APTR rl_DOSBase; /* DOS library base */ APTR rl_IeeeDPBase; /* IEEE DP math library base */ LONG rl_SegList; /* library seglist */ LONG rl_NIL; /* global NIL: filehandle */ LONG rl_Chunk; /* allocation quantum */ LONG rl_MaxNest; /* maximum expression nesting */ struct NexxStr *rl_NULL; /* static string: NULL */ struct NexxStr *rl_FALSE; /* static string: FALSE */ struct NexxStr *rl_TRUE; /* static string: TRUE */ struct NexxStr *rl_REXX; /* static string: REXX */ struct NexxStr *rl_COMMAND; /* static string: COMMAND */ struct NexxStr *rl_STDIN; /* static string: STDIN */ struct NexxStr *rl_STDOUT; /* static string: STDOUT */ struct NexxStr *rl_STDERR; /* static string: STDERR */ STRPTR rl_Version; /* version string */ STRPTR rl_TaskName; /* name string for tasks */ LONG rl_TaskPri; /* starting priority */ LONG rl_TaskSeg; /* startup seglist */ LONG rl_StackSize; /* stack size */ STRPTR rl_RexxDir; /* REXX directory */ STRPTR rl_CTABLE; /* character attribute table */ STRPTR rl_Notice; /* copyright notice */ struct MsgPort rl_RexxPort; /* REXX public port */ UWORD rl_ReadLock; /* lock count */ LONG rl_TraceFH; /* global trace console */ struct List rl_TaskList; /* REXX task list */ WORD rl_NumTask; /* task count */ struct List rl_LibList; /* Library List header */ WORD rl_NumLib; /* library count */ struct List rl_ClipList; /* ClipList header */ WORD rl_NumClip; /* clip node count */ struct List rl_MsgList; /* pending messages */ WORD rl_NumMsg; /* pending count */ struct List rl_PgmList; /* cached programs */ WORD rl_NumPgm; /* program count */ UWORD rl_TraceCnt; /* usage count for trace console */ WORD rl_avail; }; /* Global flag bit definitions for RexxMaster */ #define RLFB_TRACE RTFB_TRACE /* interactive tracing? */ #define RLFB_HALT RTFB_HALT /* halt execution? */ #define RLFB_SUSP RTFB_SUSP /* suspend execution? */ #define RLFB_STOP 6 /* deny further invocations */ #define RLFB_CLOSE 7 /* close the master */ #define RLFMASK (1<