home *** CD-ROM | disk | FTP | other *** search
FORTH Source | 1980-12-10 | 5.1 KB | 160 lines |
- \ rexxcalls.4th
- \ Translated to CSI Multi-Forth by Kerry Zimmerman [71470,1340] 5OCT88
-
- \ This file contains the words that interface the rexxsyslib.library
-
- find rexxmark not
- IFTRUE anew rexxmark
- ." Compiling rexx/rexxcalls.4th " CR
- OTHERWISE prior.stream
- IFEND
- \ anew rexxmark
-
- 16 CALLS.LIB rexxsyslib
- 16 CALLS.LIB@ rexxsyslib@
-
- \ use this word to open the rexxsyslib library. I used library number
- \ 16, because Multi-Forth has defined 1-15 already. You may have to
- \ use a different library numbr if you have already used 16.
-
- : openrexxlib 0" rexxsyslib.library" 0 16 open.lib ;
-
- \ "Glue" routines for calling functions in the ARexx Systems Library.
- \ All calls assume that the external _RexxSysBase has been set to the
- \ ARexx SYstems library base by a call to OpenLibrary.
-
- INCLUDE rexx/storage.f
- \ INCLUDE rexx/rxslib.f
-
- \ First calling convention:
- \ 1, 2, or 3 parameters in (A0,A1,D0), return value in D0.
-
- : AddRsrcNode ( list\name\size -- node )
- !D0 !A1 !A0 rexxsyslib@ 29 ;
- : CloseF ( iobptr -- boolean )
- !A0 rexxsyslib@ 57 ;
- : CmpString ( string1\string2 -- test )
- !A1 !A0 rexxsyslib@ 40 ;
- : CurrentEnv ( rxtptr -- envptr )
- !A0 rexxsyslib@ 18 ;
- : ClosePublicPort ( list\name -- )
- !A0 rexxsyslib 34 ;
- : CreateDOSPkt ( -- packet )
- rexxsyslib@ 68 ;
- : CreateRexxMsg ( replyport\fileext\hostname -- msgptr )
- !D0 !A1 !A0 rexxsyslib@ 24 ;
- : DeleteArgstring ( argptr -- )
- !A0 rexxsyslib 22 ;
- : DeleteRexxMsg ( msgptr -- )
- !A0 rexxsyslib 25 ;
- : DOSCommand ( string\filehandle -- ret ) \ note this is undocumented!
- !D0 !A0 rexxsyslib@ 65 ;
- : DOSRead ( filehandle\buffer\length -- count )
- !D0 !A1 !A0 rexxsyslib@ 66 ;
- : DOSWrite ( filehandle\buffer\length -- count )
- !D0 !A1 !A0 rexxsyslib@ 67 ;
- : DeleteDOSPkt ( stdpkt -- )
- !A0 rexxsyslib 69 ;
- : ExistF ( filename -- boolean )
- !A0 rexxsyslib@ 64 ;
- : FindRsrcNode ( list\name\type -- node )
- !D0 !A1 !A0 rexxsyslib@ 30 ;
- : FreeSpace ( envptr\memptr\length -- )
- !D0 !A1 !A0 rexxsyslib 20 ;
- : FreePort ( msgport -- )
- !A0 rexxsyslib 39 ;
- : IsSymbol ( string -- code\length )
- !A0 rexxsyslib@ 17 @D1 ;
- : InitList ( list -- )
- !A0 rexxsyslib 37 ;
- : InitPort ( msgport -- signal\port )
- !A0 rexxsyslib@ 38 @A1 ;
- : IsRexxMsg ( msgport -- boolean )
- !A0 rexxsyslib@ 28 ;
- : LengthArgstring ( argptr - length )
- !A0 rexxsyslib@ 23 ; \ note undocumented
- : OpenPublicPort ( list\name -- nodeptr )
- !A1 !A0 rexxsyslib@ 33 ;
- : QueueF ( iobptr\buffer\length -- count )
- !D0 !A1 !A0 rexxsyslib@ 62 ;
- : ReadF ( iobptr\buffer\length -- count )
- !D0 !A1 !A0 rexxsyslib@ 59 ;
- : ReadStr ( iobptr\buffer\length -- count\ptr )
- !D0 !A1 !A0 rexxsyslib@ 58 @A1 ;
- : RemRsrcList ( list -- )
- !A0 rexxsyslib 31 ;
- : RemRsrcNode ( list\node -- )
- !D0 !A0 rexxsyslib 32 ;
- : RemClipNode ( &header\&node -- )
- !D0 !A0 rexxsyslib 74 ;
- : StrcmpN ( string1\string2\length -- test )
- !D0 !A1 !A0 rexxsyslib@ 42 ;
- : StrcmpU ( string1\string2\length -- test )
- !D0 !A1 !A0 rexxsyslib@ 43 ;
- : StrcpyA ( string1\string2\length -- test )
- !D0 !A1 !A0 rexxsyslib@ 44 ;
- : StrcpyN ( string1\string2\length -- test )
- !D0 !A1 !A0 rexxsyslib@ 45 ;
- : StrcpyU ( string1\string2\length -- test )
- !D0 !A1 !A0 rexxsyslib@ 46 ;
- : Strlen ( string -- length )
- !A0 rexxsyslib@ 48 ;
- : StackF ( iobptr\buffer\length -- count )
- !D0 !A1 !A0 rexxsyslib@ 63 ;
- : WriteF ( iobptr\buffer\length -- count )
- !D0 !A1 !A0 rexxsyslib@ 60 ;
-
- \ Second calling convention: 2 parameters in (A0,D0), return value in D0.
-
- : CreateArgstring ( string\length -- argptr )
- !D0 !A0 rexxsyslib@ 21 ;
- : ClearMem ( address\length -- )
- !D0 !A0 rexxsyslib 36 ;
- : ClearRexxMsg ( msgptr\count -- )
- !D0 !A0 rexxsyslib 26 ;
- : FindDevice ( name\type -- devptr )
- !D0 !A0 rexxsyslib@ 72 ;
- : GetSpace ( envptr\size -- block )
- !D0 !A0 rexxsyslib@ 19 ;
- : ListNames ( list\separator -- argptr )
- !D0 !A0 rexxsyslib@ 35 ;
- : StrflipN ( string1\length -- )
- !D0 !A0 rexxsyslib 47 ;
-
- \ Third calling convention: 1 parameter in D0, return value in D0.
-
- : CVi2arg ( value -- argptr )
- !D0 rexxsyslib@ 52 ;
- : LockRexxBase ( resource -- )
- !D0 rexxsyslib 75 ;
- : ToUpper ( char -- char )
- !D0 rexxsyslib@ 49 ;
- : UnlockRexxBase ( resource -- )
- !D0 rexxsyslib 76 ;
-
- \ Fourth calling sequence: 3 parameters in (A0,D0,D1), return value in D0.
-
- : CVi2a ( buffer\value\digits -- length\pointer )
- !D1 !D0 !A0 rexxsyslib@ 51 @A0 ;
- : CVi2az ( buffer\value\digits -- length\pointer )
- !D1 !D0 !A0 rexxsyslib@ 53 @A0 ;
- : FillRexxMsg ( msgptr\count\mask -- boolean )
- !D1 !D0 !A0 rexxsyslib@ 27 ;
- : SeekF ( iobptr\offset\anchor -- offset )
- !D1 !D0 !A0 rexxsyslib@ 61 ;
-
- \ Special calling sequences
-
- : AddClipNode ( list\name\value\length -- node )
- !D1 !D0 !A1 !A0 rexxsyslib@ 73 ;
- : CVc2x ( buffer\string\length\mode -- error )
- !D1 !D0 !A1 !A0 rexxsyslib@ 54 ;
- : CVx2c ( buffer\string\length\mode -- error )
- !D1 !D0 !A1 !A0 rexxsyslib@ 55 ;
- : OpenF ( list\filename\length\logical -- iobptr )
- !D1 !D0 !A1 !A0 rexxsyslib@ 56 ;
- : CVa2i ( string\&digits -- digits\value )
- !A0 rexxsyslib@ 50 @D1 ;
- : ErrorMsg ( code -- boolean\ss )
- !D0 rexxsyslib@ 16 @A0 ;
-