home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2src / myrxdll.def < prev    next >
Text File  |  1995-08-17  |  2KB  |  56 lines

  1. (*$DLL *)
  2. DEFINITION MODULE MyRxDLL;
  3.  
  4. (**************************************************************************
  5.   OS/2 2.x/Warp  Modula-2 sample REXX-DLL.
  6.  
  7.   Copyright (c) 1995 by Anthony Busigin. 
  8. **************************************************************************)
  9.  
  10. TYPE
  11.    STRING   = ARRAY[0..254] OF CHAR;
  12.    PSTRING  = POINTER TO STRING;
  13.    RXSTRING = RECORD
  14.                 strlen : LONGCARD;
  15.                 strptr : PSTRING;
  16.               END;
  17.  
  18.    PRXSTRING = POINTER TO RXSTRING;
  19.  
  20. (*$CDECL+*)
  21.  
  22. (*-------------------------------------------------------------------*)
  23. (* REXX procedure to call DosSleep function for a specfied duration  *)
  24. (* in milliseconds.                                                  *)
  25. (* Usage: CALL RxDelay 100                                           *)
  26. (*-------------------------------------------------------------------*)
  27. PROCEDURE RXDELAY  ( VAR func : ARRAY OF CHAR;
  28.                          argc : LONGCARD;
  29.                         pargv : PRXSTRING;
  30.                      VAR  que : ARRAY OF CHAR;
  31.                      VAR  ret : RXSTRING) : LONGCARD;
  32.  
  33. (*-------------------------------------------------------------------*)
  34. (* REXX procedure to constrain a number within a specified range.    *)
  35. (* Usage: xclipped = RxClipRange( x, xmin, xmax )                    *)
  36. (*-------------------------------------------------------------------*)
  37. PROCEDURE RXCLIPRANGE ( VAR func : ARRAY OF CHAR;
  38.                             argc : LONGCARD;
  39.                            pargv : PRXSTRING;
  40.                         VAR que  : ARRAY OF CHAR;
  41.                         VAR ret  : RXSTRING) : LONGCARD;
  42.  
  43. (*-------------------------------------------------------------------*)
  44. (* REXX procedure to convert a string to upper case.                 *)
  45. (* Usage: s = RxUpperCase( "abHmL7" )                                *)
  46. (*        result is s = "ABHML7"                                     *)
  47. (*-------------------------------------------------------------------*)
  48. PROCEDURE RXUPPERCASE( VAR func : ARRAY OF CHAR;
  49.                            argc : LONGCARD;
  50.                           pargv : PRXSTRING;
  51.                        VAR que  : ARRAY OF CHAR;
  52.                        VAR ret  : RXSTRING) : LONGCARD;
  53.  
  54. END MyRxDLL.
  55.  
  56.