1 #ifndef REXX_RXSLIB_H
    2 #define REXX_RXSLIB_H
    3 
    4 /*
    5 	rexxsyslib.library include
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef REXX_STORAGE_H
   11 # include <rexx/storage.h>
   12 #endif
   13 
   14 #pragma pack(2)
   15 
   16 
   17 #define RXSNAME   "rexxsyslib.library"
   18 #define RXSDIR    "REXX"
   19 #define RXSTNAME  "ARexx"
   20 
   21 
   22 struct RxsLib
   23 {
   24 	struct Library  rl_Node;
   25 	UBYTE           rl_Flags;
   26 	UBYTE           rl_Shadow;
   27 	APTR            rl_SysBase;
   28 	APTR            rl_DOSBase;
   29 	APTR            rl_IeeeDPBase;
   30 	LONG            rl_SegList;
   31 	LONG            rl_NIL;
   32 	LONG            rl_Chunk;
   33 	LONG            rl_MaxNest;
   34 	struct NexxStr *rl_NULL;
   35 	struct NexxStr *rl_FALSE;
   36 	struct NexxStr *rl_TRUE;
   37 	struct NexxStr *rl_REXX;
   38 	struct NexxStr *rl_COMMAND;
   39 	struct NexxStr *rl_STDIN;
   40 	struct NexxStr *rl_STDOUT;
   41 	struct NexxStr *rl_STDERR;
   42 	STRPTR          rl_Version;
   43 
   44 	STRPTR          rl_TaskName;
   45 	LONG            rl_TaskPri;
   46 	LONG            rl_TaskSeg;
   47 	LONG            rl_StackSize;
   48 	STRPTR          rl_RexxDir;
   49 	STRPTR          rl_CTABLE;
   50 	STRPTR          rl_Notice;
   51 
   52 	struct MsgPort  rl_RexxPort;
   53 	UWORD           rl_ReadLock;
   54 	LONG            rl_TraceFH;
   55 	struct List     rl_TaskList;
   56 	WORD            rl_NumTask;
   57 	struct List     rl_LibList;
   58 	WORD            rl_NumLib;
   59 	struct List     rl_ClipList;
   60 	WORD            rl_NumClip;
   61 	struct List     rl_MsgList;
   62 	WORD            rl_NumMsg;
   63 	struct List     rl_PgmList;
   64 	WORD            rl_NumPgm;
   65 
   66 	UWORD           rl_TraceCnt;
   67 	WORD            rl_avail;
   68 };
   69 
   70 
   71 /* RexxMast global flags */
   72 
   73 #define RLFB_TRACE  RTFB_TRACE
   74 #define RLFB_HALT   RTFB_HALT
   75 #define RLFB_SUSP   RTFB_SUSP
   76 #define RLFB_STOP   6
   77 #define RLFB_CLOSE  7
   78 
   79 #define RLFMASK  ((1<<RLFB_TRACE) | (1<<RLFB_HALT) | (1<<RLFB_SUSP))
   80 
   81 
   82 /* Init constants */
   83 
   84 #define RXSCHUNK   1024
   85 #define RXSNEST    32
   86 #define RXSTPRI    0
   87 #define RXSSTACK   4096
   88 
   89 
   90 /* Character attribute flag-bits */
   91 
   92 #define CTB_SPACE    0
   93 #define CTB_DIGIT    1
   94 #define CTB_ALPHA    2
   95 #define CTB_REXXSYM  3
   96 #define CTB_REXXOPR  4
   97 #define CTB_REXXSPC  5
   98 #define CTB_UPPER    6
   99 #define CTB_LOWER    7
  100 
  101 #define CTF_SPACE    (1 << CTB_SPACE)
  102 #define CTF_DIGIT    (1 << CTB_DIGIT)
  103 #define CTF_ALPHA    (1 << CTB_ALPHA)
  104 #define CTF_REXXSYM  (1 << CTB_REXXSYM)
  105 #define CTF_REXXOPR  (1 << CTB_REXXOPR)
  106 #define CTF_REXXSPC  (1 << CTB_REXXSPC)
  107 #define CTF_UPPER    (1 << CTB_UPPER)
  108 #define CTF_LOWER    (1 << CTB_LOWER)
  109 
  110 
  111 #pragma pack()
  112 
  113 #endif