mirror of
https://github.com/LIV2/at_apollo_device.git
synced 2025-12-06 06:32:49 +00:00
209 lines
6.0 KiB
OpenEdge ABL
209 lines
6.0 KiB
OpenEdge ABL
IFND REXX_RXSLIB_I
|
|
REXX_RXSLIB_I SET 1
|
|
**
|
|
** $VER: rxslib.i 1.15 (8.11.91)
|
|
** Includes Release 40.15
|
|
**
|
|
** Include file for the REXX Systems Library
|
|
**
|
|
** (C) Copyright 1986,1987,1988,1989,1990 William S. Hawes.
|
|
** (C) Copyright 1990-1993 Commodore-Amiga, Inc.
|
|
** All Rights Reserved
|
|
**
|
|
|
|
IFND REXX_STORAGE_I
|
|
INCLUDE "rexx/storage.i"
|
|
ENDC
|
|
|
|
; Macro definitions
|
|
|
|
RXSLIBNAME MACRO
|
|
dc.b 'rexxsyslib.library',0
|
|
ENDM
|
|
|
|
RXSDIR MACRO ; public port name
|
|
dc.b 'REXX',0
|
|
ENDM
|
|
|
|
RXSTNAME MACRO ; name for tasks
|
|
dc.b 'ARexx',0
|
|
ENDM
|
|
|
|
; Structure definition for the REXX systems library
|
|
|
|
STRUCTURE RxsLib,LIB_SIZE ; 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 ; NIL: stream
|
|
LONG rl_Chunk ; allocation quantum
|
|
LONG rl_MaxNest ; maximum expression nesting
|
|
|
|
APTR rl_NULL ; static string: NULL
|
|
APTR rl_FALSE ; static string: FALSE
|
|
APTR rl_TRUE ; static string: TRUE
|
|
APTR rl_REXX ; static string: REXX
|
|
APTR rl_COMMAND ; static string: COMMAND
|
|
APTR rl_STDIN ; static string: STDIN
|
|
APTR rl_STDOUT ; static string: STDOUT
|
|
APTR rl_STDERR ; static string: STDERR
|
|
APTR rl_Version ; version string
|
|
|
|
APTR rl_TaskName ; name string for tasks
|
|
LONG rl_TaskPri ; starting priority
|
|
LONG rl_TaskSeg ; startup seglist
|
|
LONG rl_StackSize ; stack size
|
|
APTR rl_RexxDir ; REXX directory
|
|
APTR rl_CTABLE ; character attribute table
|
|
APTR rl_Notice ; copyright notice
|
|
|
|
STRUCT rl_RexxPort,MP_SIZE ; public port
|
|
UWORD rl_ReadLock ; lock count
|
|
APTR rl_TraceFH ; global trace console
|
|
|
|
STRUCT rl_TaskList,LH_SIZE ; REXX task list
|
|
WORD rl_NumTask
|
|
STRUCT rl_LibList,LH_SIZE ; Library List header
|
|
WORD rl_NumLib
|
|
STRUCT rl_ClipList,LH_SIZE ; ClipList header
|
|
WORD rl_NumClip
|
|
STRUCT rl_MsgList,LH_SIZE ; pending messages
|
|
WORD rl_NumMsg
|
|
STRUCT rl_PgmList,LH_SIZE ; cached programs
|
|
WORD rl_NumPgm ; cache count
|
|
|
|
UWORD rl_TraceCnt ; trace console usage count
|
|
WORD rl_avail
|
|
LABEL rl_SIZEOF
|
|
|
|
* Global flag bit definitions for RexxMaster
|
|
RLFB_TRACE EQU RTFB_TRACE ; interactive tracing?
|
|
RLFB_HALT EQU RTFB_HALT ; halt execution?
|
|
RLFB_SUSP EQU RTFB_SUSP ; suspend execution?
|
|
RLFB_STOP EQU 6 ; deny further invocations
|
|
RLFB_CLOSE EQU 7 ; close the master
|
|
|
|
* Mask for control flags
|
|
RLFMASK EQU 1<<RLFB_TRACE!1<<RLFB_HALT!1<<RLFB_SUSP
|
|
|
|
; Initialization constants
|
|
|
|
RXSCHUNK EQU 1024 ; allocation quantum
|
|
RXSNEST EQU 32 ; expression nesting limit
|
|
RXSTPRI EQU 0 ; task priority
|
|
RXSSTACK EQU 4096 ; stack size
|
|
|
|
; The library entry point offsets
|
|
|
|
LIBINIT
|
|
LIBDEF _LVORexx ; Main entry point
|
|
LIBDEF _LVOrxParse ; (private)
|
|
LIBDEF _LVOrxInstruct ; (private)
|
|
LIBDEF _LVOrxSuspend ; (private)
|
|
LIBDEF _LVOEvalOp ; (private)
|
|
|
|
LIBDEF _LVOAssignValue ; (private)
|
|
LIBDEF _LVOEnterSymbol ; (private)
|
|
LIBDEF _LVOFetchValue ; (private)
|
|
LIBDEF _LVOLookUpValue ; (private)
|
|
LIBDEF _LVOSetValue ; (private)
|
|
LIBDEF _LVOSymExpand ; (private)
|
|
|
|
LIBDEF _LVOErrorMsg
|
|
LIBDEF _LVOIsSymbol
|
|
LIBDEF _LVOCurrentEnv
|
|
LIBDEF _LVOGetSpace
|
|
LIBDEF _LVOFreeSpace
|
|
|
|
LIBDEF _LVOCreateArgstring
|
|
LIBDEF _LVODeleteArgstring
|
|
LIBDEF _LVOLengthArgstring
|
|
LIBDEF _LVOCreateRexxMsg
|
|
LIBDEF _LVODeleteRexxMsg
|
|
LIBDEF _LVOClearRexxMsg
|
|
LIBDEF _LVOFillRexxMsg
|
|
LIBDEF _LVOIsRexxMsg
|
|
|
|
LIBDEF _LVOAddRsrcNode
|
|
LIBDEF _LVOFindRsrcNode
|
|
LIBDEF _LVORemRsrcList
|
|
LIBDEF _LVORemRsrcNode
|
|
LIBDEF _LVOOpenPublicPort
|
|
LIBDEF _LVOClosePublicPort
|
|
LIBDEF _LVOListNames
|
|
|
|
LIBDEF _LVOClearMem
|
|
LIBDEF _LVOInitList
|
|
LIBDEF _LVOInitPort
|
|
LIBDEF _LVOFreePort
|
|
|
|
LIBDEF _LVOCmpString
|
|
LIBDEF _LVOStcToken
|
|
LIBDEF _LVOStrcmpN
|
|
LIBDEF _LVOStrcmpU
|
|
LIBDEF _LVOStrcpyA ; obsolete
|
|
LIBDEF _LVOStrcpyN
|
|
LIBDEF _LVOStrcpyU
|
|
LIBDEF _LVOStrflipN
|
|
LIBDEF _LVOStrlen
|
|
LIBDEF _LVOToUpper
|
|
|
|
LIBDEF _LVOCVa2i
|
|
LIBDEF _LVOCVi2a
|
|
LIBDEF _LVOCVi2arg
|
|
LIBDEF _LVOCVi2az
|
|
LIBDEF _LVOCVc2x
|
|
LIBDEF _LVOCVx2c
|
|
|
|
LIBDEF _LVOOpenF
|
|
LIBDEF _LVOCloseF
|
|
LIBDEF _LVOReadStr
|
|
LIBDEF _LVOReadF
|
|
LIBDEF _LVOWriteF
|
|
LIBDEF _LVOSeekF
|
|
LIBDEF _LVOQueueF
|
|
LIBDEF _LVOStackF
|
|
LIBDEF _LVOExistF
|
|
|
|
LIBDEF _LVODOSCommand
|
|
LIBDEF _LVODOSRead
|
|
LIBDEF _LVODOSWrite
|
|
LIBDEF _LVOCreateDOSPkt ; obsolete
|
|
LIBDEF _LVODeleteDOSPkt ; obsolete
|
|
LIBDEF _LVOSendDOSPkt ; (private)
|
|
LIBDEF _LVOWaitDOSPkt ; (private)
|
|
LIBDEF _LVOFindDevice ; (private)
|
|
|
|
LIBDEF _LVOAddClipNode
|
|
LIBDEF _LVORemClipNode
|
|
LIBDEF _LVOLockRexxBase
|
|
LIBDEF _LVOUnlockRexxBase
|
|
LIBDEF _LVOCreateCLI ; (private)
|
|
LIBDEF _LVODeleteCLI ; (private)
|
|
LIBDEF _LVOCVs2i
|
|
|
|
* Character attribute flag bits used in REXX.
|
|
CTB_SPACE EQU 0 ; white space characters
|
|
CTB_DIGIT EQU 1 ; decimal digits 0-9
|
|
CTB_ALPHA EQU 2 ; alphabetic characters
|
|
CTB_REXXSYM EQU 3 ; REXX symbol characters
|
|
CTB_REXXOPR EQU 4 ; REXX operator characters
|
|
CTB_REXXSPC EQU 5 ; REXX special symbols
|
|
CTB_UPPER EQU 6 ; UPPERCASE alphabetic
|
|
CTB_LOWER EQU 7 ; lowercase alphabetic
|
|
|
|
* The flag form of the character attributes
|
|
CTF_SPACE EQU 1<<CTB_SPACE
|
|
CTF_DIGIT EQU 1<<CTB_DIGIT
|
|
CTF_ALPHA EQU 1<<CTB_ALPHA
|
|
CTF_REXXSYM EQU 1<<CTB_REXXSYM
|
|
CTF_REXXOPR EQU 1<<CTB_REXXOPR
|
|
CTF_REXXSPC EQU 1<<CTB_REXXSPC
|
|
CTF_UPPER EQU 1<<CTB_UPPER
|
|
CTF_LOWER EQU 1<<CTB_LOWER
|
|
|
|
ENDC
|