home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source2.lha / source / amiga / RexxSysLib.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  2.5 KB  |  96 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: RexxSysLib.mod $
  4.   Description: Interface to rexxsyslib.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   $VER: rexxsyslib_protos.h 36.3 (19.2.91)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1990-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  24. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  25. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  26.  
  27. MODULE [2] RexxSysLib;
  28.  
  29. IMPORT SYS := SYSTEM, Kernel, e := Exec, rx := Rexx, s := Sets;
  30.  
  31. (*-- Library Base variable --------------------------------------------*)
  32.  
  33. CONST
  34.  
  35.   rexxsysName * = "rexxsyslib.library";
  36.  
  37. VAR
  38.  
  39.   base *  : rx.RxsLibPtr;
  40.  
  41. (*-- Library Functions ------------------------------------------------*)
  42.  
  43. (* --- functions in V33 or higher (distributed as Release 1.2) ---*)
  44.  
  45. PROCEDURE CreateArgstring* [base,-126]
  46.   ( string [8] : ARRAY OF CHAR;
  47.     length [0] : e.ULONG )
  48.   : e.LSTRPTR;
  49. PROCEDURE DeleteArgstring* [base,-132]
  50.   ( argstring [8] : e.LSTRPTR );
  51. PROCEDURE LengthArgstring* [base,-138]
  52.   ( argstring [8] : e.LSTRPTR )
  53.   : e.ULONG;
  54. PROCEDURE CreateRexxMsg* [base,-144]
  55.   ( port      [8] : e.MsgPortBasePtr;
  56.     extension [9] : ARRAY OF CHAR;
  57.     host      [0] : ARRAY OF CHAR )
  58.   : rx.RexxMsgPtr;
  59. PROCEDURE DeleteRexxMsg* [base,-150]
  60.   ( packet [8] : rx.RexxMsgPtr );
  61. PROCEDURE ClearRexxMsg* [base,-156]
  62.   ( msgptr [8] : rx.RexxMsgPtr;
  63.     count  [0] : e.ULONG );
  64. PROCEDURE FillRexxMsg* [base,-162]
  65.   ( msgptr [8] : rx.RexxMsgPtr;
  66.     count  [0] : e.ULONG;
  67.     mask   [1] : s.SET16 )
  68.   : BOOLEAN;
  69. PROCEDURE IsRexxMsg* [base,-168]
  70.   ( msgptr [8] : rx.RexxMsgPtr )
  71.   : BOOLEAN;
  72.  
  73.  
  74. PROCEDURE LockRexxBase* [base,-450]
  75.   ( resource [0] : e.ULONG );
  76. PROCEDURE UnlockRexxBase* [base,-456]
  77.   ( resource [0] : e.ULONG );
  78.  
  79.  
  80. (*-- Library Base variable --------------------------------------------*)
  81.  
  82. <*$LongVars-*>
  83.  
  84. (*-----------------------------------*)
  85. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  86.  
  87. BEGIN (* CloseLib *)
  88.   IF base # NIL THEN e.CloseLibrary (base) END;
  89. END CloseLib;
  90.  
  91. BEGIN
  92.   base := SYS.VAL (rx.RxsLibPtr,
  93.                    e.OpenLibrary (rexxsysName, e.libraryMinimum));
  94.   IF base # NIL THEN Kernel.SetCleanup (CloseLib) END
  95. END RexxSysLib.
  96.