home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
411b.lha
/
dme_1.42
/
src.LZH
/
src
/
rexx
/
rxslib.h
< prev
next >
Wrap
C/C++ Source or Header
|
1988-07-31
|
6KB
|
113 lines
/* === rexx/rxslib.h ===================================================
*
* Copyright (c) 1986, 1987 by William S. Hawes (All Rights Reserved)
*
* =====================================================================
* The header file for the REXX Systems Library
*/
#ifndef REXX_RXSLIB_H
#define REXX_RXSLIB_H
#ifndef REXX_STORAGE_H
#include "rexx/storage.h"
#endif
/* Some macro definitions */
#define RXSNAME "rexxsyslib.library"
#define RXSID "rexxsyslib 1.0 (23 AUG 87)\n"
#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_pad;
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_MaxAlloc; /* maximum memory allocation */
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/configuration 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 */
struct NexxStr *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 */
};
/* 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_TCUSE RTFB_TCUSE /* trace console in use? */
#define RLFB_TCOPN 4 /* trace console open? */
#define RLFB_STOP 6 /* deny further invocations */
#define RLFB_CLOSE 7 /* close the master */
#define RLFMASK 0x07 /* passed flags */
/* Initialization constants */
#define RXSVERS 2 /* main version */
#define RXSREV 1 /* revision */
#define RXSALLOC 0x800000 /* maximum allocation */
#define RXSCHUNK 1024 /* allocation quantum */
#define RXSNEST 32 /* expression nesting limit */
#define RXSTPRI 0 /* task priority */
#define RXSSTACK 4096 /* stack size */
#define RXSLISTH 4 /* number of list headers */
/* Character attribute flag bits used in REXX. Defined only for */
/* ASCII characters (range 0-127). */
#define CTB_SPACE 0 /* white space characters */
#define CTB_DIGIT 1 /* decimal digits 0-9 */
#define CTB_ALPHA 2 /* alphabetic characters */
#define CTB_REXXSYM 3 /* REXX symbol characters */
#define CTB_REXXOPR 4 /* REXX operator characters */
#define CTB_REXXSPC 5 /* REXX special symbols */
#define CTB_UPPER 6 /* UPPERCASE alphabetic */
#define CTB_LOWER 7 /* lowercase alphabetic */
/* Attribute flags */
#define CTF_SPACE (1 << CTB_SPACE)
#define CTF_DIGIT (1 << CTB_DIGIT)
#define CTF_ALPHA (1 << CTB_ALPHA)
#define CTF_REXXSYM (1 << CTB_REXXSYM)
#define CTF_REXXOPR (1 << CTB_REXXOPR)
#define CTF_REXXSPC (1 << CTB_REXXSPC)
#define CTF_UPPER (1 << CTB_UPPER)
#define CTF_LOWER (1 << CTB_LOWER)
#endif