Improvements to comments and other minor changes.
[AROS.git] / compiler / include / rexx / rxslib.h
blob3ecc5ff90e456ab3ff5cb83bc1c9382107fa70d6
1 #ifndef REXX_RXSLIB_H
2 #define REXX_RXSLIB_H
4 /*
5 Copyright © 1995-2016, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: ARexx data structures
9 Lang: English
12 #ifndef EXEC_EXECBASE_H
13 #include <exec/execbase.h>
14 #endif
16 #ifndef REXX_STORAGE_H
17 #include <rexx/storage.h>
18 #endif
20 #define RXSNAME "rexxsyslib.library"
21 #define RXSDIR "REXX"
22 #define RXSTNAME "ARexx"
24 /* RxsLib is only here to provide backwards compatibility with Amiga
25 * programs. This structure should be considered read-only as a whole.
26 * Only use the functions of rexxsyslib.library or send the appropriate
27 * command to the REXX port if you want to change something in
28 * this structure.
30 struct RxsLib
32 struct Library rl_Node;
33 UBYTE rl_Flags;
34 UBYTE rl_Shadow;
35 struct ExecBase * rl_SysBase;
36 struct DOSBase * rl_DOSBase;
37 struct Library * rl_Unused1; /* rl_IeeeCDBase */
38 BPTR rl_SegList;
39 struct FileHandle *rl_Unused2; /* rl_NIL */
40 LONG rl_Unused3; /* rl_Chunk */
41 LONG rl_Unused4; /* rl_MaxNest */
42 APTR rl_Unused5; /* rl_NULL */
43 APTR rl_Unused6; /* rl_FALSE */
44 APTR rl_Unused7; /* rl_TRUE */
45 APTR rl_Unused8; /* rl_REXX */
46 APTR rl_Unused9; /* rl_COMMAND */
47 APTR rl_Unused10; /* rl_STDIN */
48 APTR rl_Unused11; /* rl_STDOUT */
49 APTR rl_Unused12; /* rl_STDERR */
50 STRPTR rl_Version;
51 STRPTR rl_Unused13; /* rl_TaskName */
52 LONG rl_Unused14; /* rl_TaskPri */
53 LONG rl_Unused15; /* rl_TaskSeg */
54 LONG rl_Unused16; /* rl_StackSize */
55 STRPTR rl_Unused17; /* rl_RexxDir */
56 STRPTR rl_Unused18; /* rl_CTABLE */
57 STRPTR rl_Notice; /* The copyright notice */
58 struct MsgPort rl_Unused19; /* rl_REXX public port */
59 UWORD rl_Unused20; /* rl_ReadLock */
60 LONG rl_Unused21; /* rl_TraceFH */
61 struct List rl_Unused22; /* rl_TaskList */
62 WORD rl_Unused23; /* rl_NumTask */
63 struct List rl_LibList; /* Library list header */
64 WORD rl_NumLib; /* Nodes count in library list */
65 struct List rl_ClipList; /* Clip list header */
66 WORD rl_NumClip; /* Nodes count in clip list */
67 struct List rl_Unused24; /* rl_MsgList */
68 WORD rl_Unused25; /* rl_NumMsg */
69 struct List rl_Unused26; /* rl_PgmList */
70 WORD rl_Unused27; /* rl_NumPgm */
71 UWORD rl_Unused28; /* rl_TraceCnt */
72 WORD rl_Unused29; /* rl_Avail */
75 /* These are not necessary for client program either I think
76 #define RLFB_TRACE RTFB_TRACE
77 #define RLFB_HALT RTFB_HALT
78 #define RLFB_SUSP RTFB_SUSP
79 #define RLFB_STOP 6
80 #define RLFB_CLOSE 7
82 #define RLFMASK ((1<<RLFB_TRACE) | (1<<RLFB_HALT) | (1<<RLFB_SUSP))
84 #define RXSCHUNK 1024
85 #define RXSNEST 32
86 #define RXSTPRI 0
87 #define RXSSTACK 4096
90 /* I'm not sure about these ones but let's disable them for now
91 #define CTB_SPACE 0
92 #define CTB_DIGIT 1
93 #define CTB_ALPHA 2
94 #define CTB_REXXSYM 3
95 #define CTB_REXXOPR 4
96 #define CTB_REXXSPC 5
97 #define CTB_UPPER 6
98 #define CTB_LOWER 7
100 #define CTF_SPACE (1 << CTB_SPACE)
101 #define CTF_DIGIT (1 << CTB_DIGIT)
102 #define CTF_ALPHA (1 << CTB_ALPHA)
103 #define CTF_REXXSYM (1 << CTB_REXXSYM)
104 #define CTF_REXXOPR (1 << CTB_REXXOPR)
105 #define CTF_REXXSPC (1 << CTB_REXXSPC)
106 #define CTF_UPPER (1 << CTB_UPPER)
107 #define CTF_LOWER (1 << CTB_LOWER)
110 #endif