home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / includes / rexx / rxslib.i < prev    next >
Text File  |  1992-09-01  |  6KB  |  211 lines

  1.      IFND      REXX_RXSLIB_I
  2. REXX_RXSLIB_I  SET   1
  3. **
  4. **    $Filename: rexx/rxslib.i $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 1.15 $
  7. **    $Date: 91/11/08 $
  8. **
  9. **    Include file for the REXX Systems Library
  10. **
  11. **    (C) Copyright 1986,1987,1988,1989,1990 William S. Hawes.
  12. **    (C) Copyright 1990-1991 Commodore-Amiga, Inc.
  13. **        All Rights Reserved
  14. **
  15.  
  16.      IFND      REXX_STORAGE_I
  17.      INCLUDE  "rexx/storage.i"
  18.      ENDC
  19.  
  20.      ; Macro definitions
  21.  
  22. RXSLIBNAME MACRO
  23.      dc.b      'rexxsyslib.library',0
  24.      ENDM
  25.  
  26. RXSDIR     MACRO                   ; public port name
  27.      dc.b      'REXX',0
  28.      ENDM
  29.  
  30. RXSTNAME MACRO                   ; name for tasks
  31.      dc.b      'ARexx',0
  32.      ENDM
  33.  
  34.      ; Structure definition for the REXX systems library
  35.  
  36.      STRUCTURE RxsLib,LIB_SIZE     ; EXEC library node
  37.      UBYTE      rl_Flags           ; global flags
  38.      UBYTE      rl_Shadow           ; shadow flags
  39.      APTR      rl_SysBase           ; EXEC library base
  40.      APTR      rl_DOSBase           ; DOS library base
  41.      APTR      rl_IeeeDPBase        ; IEEE DP math library base
  42.      LONG      rl_SegList           ; library seglist
  43.      LONG      rl_NIL           ; NIL: stream
  44.      LONG      rl_Chunk           ; allocation quantum
  45.      LONG      rl_MaxNest           ; maximum expression nesting
  46.  
  47.      APTR      rl_NULL           ; static string: NULL
  48.      APTR      rl_FALSE           ; static string: FALSE
  49.      APTR      rl_TRUE           ; static string: TRUE
  50.      APTR      rl_REXX           ; static string: REXX
  51.      APTR      rl_COMMAND           ; static string: COMMAND
  52.      APTR      rl_STDIN           ; static string: STDIN
  53.      APTR      rl_STDOUT           ; static string: STDOUT
  54.      APTR      rl_STDERR           ; static string: STDERR
  55.      APTR      rl_Version           ; version string
  56.  
  57.      APTR      rl_TaskName           ; name string for tasks
  58.      LONG      rl_TaskPri           ; starting priority
  59.      LONG      rl_TaskSeg           ; startup seglist
  60.      LONG      rl_StackSize           ; stack size
  61.      APTR      rl_RexxDir           ; REXX directory
  62.      APTR      rl_CTABLE           ; character attribute table
  63.      APTR      rl_Notice           ; copyright notice
  64.  
  65.      STRUCT   rl_RexxPort,MP_SIZE  ; public port
  66.      UWORD      rl_ReadLock           ; lock count
  67.      APTR      rl_TraceFH           ; global trace console
  68.  
  69.      STRUCT   rl_TaskList,LH_SIZE  ; REXX task list
  70.      WORD      rl_NumTask
  71.      STRUCT   rl_LibList,LH_SIZE   ; Library List header
  72.      WORD      rl_NumLib
  73.      STRUCT   rl_ClipList,LH_SIZE  ; ClipList header
  74.      WORD      rl_NumClip
  75.      STRUCT   rl_MsgList,LH_SIZE   ; pending messages
  76.      WORD      rl_NumMsg
  77.      STRUCT   rl_PgmList,LH_SIZE   ; cached programs
  78.      WORD      rl_NumPgm           ; cache count
  79.  
  80.      UWORD      rl_TraceCnt           ; trace console usage count
  81.      WORD      rl_avail
  82.      LABEL      rl_SIZEOF
  83.  
  84. * Global flag bit definitions for RexxMaster
  85. RLFB_TRACE EQU      RTFB_TRACE           ; interactive tracing?
  86. RLFB_HALT  EQU      RTFB_HALT           ; halt execution?
  87. RLFB_SUSP  EQU      RTFB_SUSP           ; suspend execution?
  88. RLFB_STOP  EQU      6               ; deny further invocations
  89. RLFB_CLOSE EQU      7               ; close the master
  90.  
  91. * Mask for control flags
  92. RLFMASK  EQU      1<<RLFB_TRACE!1<<RLFB_HALT!1<<RLFB_SUSP
  93.  
  94.      ; Initialization constants
  95.  
  96. RXSCHUNK EQU      1024               ; allocation quantum
  97. RXSNEST  EQU      32               ; expression nesting limit
  98. RXSTPRI  EQU      0               ; task priority
  99. RXSSTACK EQU      4096               ; stack size
  100.  
  101.      ; The library entry point offsets
  102.  
  103.      LIBINIT
  104.      LIBDEF   _LVORexx           ; Main entry point
  105.      LIBDEF   _LVOrxParse           ; (private)
  106.      LIBDEF   _LVOrxInstruct       ; (private)
  107.      LIBDEF   _LVOrxSuspend        ; (private)
  108.      LIBDEF   _LVOEvalOp           ; (private)
  109.  
  110.      LIBDEF   _LVOAssignValue      ; (private)
  111.      LIBDEF   _LVOEnterSymbol      ; (private)
  112.      LIBDEF   _LVOFetchValue       ; (private)
  113.      LIBDEF   _LVOLookUpValue      ; (private)
  114.      LIBDEF   _LVOSetValue           ; (private)
  115.      LIBDEF   _LVOSymExpand        ; (private)
  116.  
  117.      LIBDEF   _LVOErrorMsg
  118.      LIBDEF   _LVOIsSymbol
  119.      LIBDEF   _LVOCurrentEnv
  120.      LIBDEF   _LVOGetSpace
  121.      LIBDEF   _LVOFreeSpace
  122.  
  123.      LIBDEF   _LVOCreateArgstring
  124.      LIBDEF   _LVODeleteArgstring
  125.      LIBDEF   _LVOLengthArgstring
  126.      LIBDEF   _LVOCreateRexxMsg
  127.      LIBDEF   _LVODeleteRexxMsg
  128.      LIBDEF   _LVOClearRexxMsg
  129.      LIBDEF   _LVOFillRexxMsg
  130.      LIBDEF   _LVOIsRexxMsg
  131.  
  132.      LIBDEF   _LVOAddRsrcNode
  133.      LIBDEF   _LVOFindRsrcNode
  134.      LIBDEF   _LVORemRsrcList
  135.      LIBDEF   _LVORemRsrcNode
  136.      LIBDEF   _LVOOpenPublicPort
  137.      LIBDEF   _LVOClosePublicPort
  138.      LIBDEF   _LVOListNames
  139.  
  140.      LIBDEF   _LVOClearMem
  141.      LIBDEF   _LVOInitList
  142.      LIBDEF   _LVOInitPort
  143.      LIBDEF   _LVOFreePort
  144.  
  145.      LIBDEF   _LVOCmpString
  146.      LIBDEF   _LVOStcToken
  147.      LIBDEF   _LVOStrcmpN
  148.      LIBDEF   _LVOStrcmpU
  149.      LIBDEF   _LVOStrcpyA           ; obsolete
  150.      LIBDEF   _LVOStrcpyN
  151.      LIBDEF   _LVOStrcpyU
  152.      LIBDEF   _LVOStrflipN
  153.      LIBDEF   _LVOStrlen
  154.      LIBDEF   _LVOToUpper
  155.  
  156.      LIBDEF   _LVOCVa2i
  157.      LIBDEF   _LVOCVi2a
  158.      LIBDEF   _LVOCVi2arg
  159.      LIBDEF   _LVOCVi2az
  160.      LIBDEF   _LVOCVc2x
  161.      LIBDEF   _LVOCVx2c
  162.  
  163.      LIBDEF   _LVOOpenF
  164.      LIBDEF   _LVOCloseF
  165.      LIBDEF   _LVOReadStr
  166.      LIBDEF   _LVOReadF
  167.      LIBDEF   _LVOWriteF
  168.      LIBDEF   _LVOSeekF
  169.      LIBDEF   _LVOQueueF
  170.      LIBDEF   _LVOStackF
  171.      LIBDEF   _LVOExistF
  172.  
  173.      LIBDEF   _LVODOSCommand
  174.      LIBDEF   _LVODOSRead
  175.      LIBDEF   _LVODOSWrite
  176.      LIBDEF   _LVOCreateDOSPkt     ; obsolete
  177.      LIBDEF   _LVODeleteDOSPkt     ; obsolete
  178.      LIBDEF   _LVOSendDOSPkt       ; (private)
  179.      LIBDEF   _LVOWaitDOSPkt       ; (private)
  180.      LIBDEF   _LVOFindDevice       ; (private)
  181.  
  182.      LIBDEF   _LVOAddClipNode
  183.      LIBDEF   _LVORemClipNode
  184.      LIBDEF   _LVOLockRexxBase
  185.      LIBDEF   _LVOUnlockRexxBase
  186.      LIBDEF   _LVOCreateCLI        ; (private)
  187.      LIBDEF   _LVODeleteCLI        ; (private)
  188.      LIBDEF   _LVOCVs2i
  189.  
  190. * Character attribute flag bits used in REXX.
  191. CTB_SPACE   EQU   0               ; white space characters
  192. CTB_DIGIT   EQU   1               ; decimal digits 0-9
  193. CTB_ALPHA   EQU   2               ; alphabetic characters
  194. CTB_REXXSYM EQU   3               ; REXX symbol characters
  195. CTB_REXXOPR EQU   4               ; REXX operator characters
  196. CTB_REXXSPC EQU   5               ; REXX special symbols
  197. CTB_UPPER   EQU   6               ; UPPERCASE alphabetic
  198. CTB_LOWER   EQU   7               ; lowercase alphabetic
  199.  
  200. * The flag form of the character attributes
  201. CTF_SPACE   EQU   1<<CTB_SPACE
  202. CTF_DIGIT   EQU   1<<CTB_DIGIT
  203. CTF_ALPHA   EQU   1<<CTB_ALPHA
  204. CTF_REXXSYM EQU   1<<CTB_REXXSYM
  205. CTF_REXXOPR EQU   1<<CTB_REXXOPR
  206. CTF_REXXSPC EQU   1<<CTB_REXXSPC
  207. CTF_UPPER   EQU   1<<CTB_UPPER
  208. CTF_LOWER   EQU   1<<CTB_LOWER
  209.  
  210.      ENDC
  211.