REXX Utilities API Documentation v1.2

Автор: Alexander Taylor

Дата: 2009

Источник: Alex Taylor

Скачать книгу в формате INF.

Скачать книгу в формате IPF.

The REXX Utilities Library (RexxUtil) is a REXX API designed to provide useful functions for interfacing with the operating system. It exists on all IBM REXX platforms, with a few differences.

The OS/2 version was originally documented in the OS/2 REXX reference book REXX.INF. This book has not been significantly updated since the release of OS/2 Warp 3, even though a large number of new functions have been added to the OS/2 RexxUtil library since that time. Many of these new functions were only described in the Object REXX documentation (OREXX.INF), even though they apply to Classic REXX as well. Furthermore, there are several additional functions that are not documented in any reference book, and are only described in the README files accompanying recent OS/2 releases and FixPaks.

Finally, the existing RexxUtil documentation tends to be rather cursory, and a number of subjects are poorly described (if at all).

Consequently, I have written a new reference book which describes all existing OS/2 RexxUtil functions in far more comprehensive detail than either REXX.INF or OREXX.INF. It includes:

  • Descriptions of all RexxUtil functions included in base OS/2 Warp 3 and Warp 4.
  • Descriptions of all new functions that were originally added for Object REXX and carried over into Classic REXX.
  • Descriptions of all new functions added in recent OS/2 FixPaks (previously described in READREXX.TXT).
  • Full syntax diagrams for all functions.
  • Detailed descriptions of some operations not well covered by IBM's documentation (such as extended attribute format).

All functions described in this document apply equally to both Classic and Object REXX.

RexxUtil (REXXUTIL.DLL) is a IBM library of REXX functions for interacting with the operating system. It is available, with minor differences, on most platforms where the IBM REXX interpreter is available, including OS/2, Windows, and Linux. This document describes the OS/2 version, and applies to OS/2 Warp 3 and all subsequent releases.   

RexxUtil includes routines for:
* Manipulating files and directories at the filesystem level.
* Manipulating classes and objects in the Workplace Shell.
* Performing screen input and output in OS/2 command prompts.
* Managing character-based input and output according to locale-specific rules.
* Accessing selected operating system functions for process management.
* Manipulating REXX stem variables.

This chapter describes all of the functions available in the RexxUtil library.   

Basic RexxUtil functions

The following RexxUtil functions are available in OS/2 Warp 3.0 and all subsequent versions.

RxMessageBox Display a Presentation Manager message box.
SysCls Clear the screen.
SysCopyObject Copy a WPS object.
SysCreateObject Create an instance of a WPS class.
SysCreateShadow Create a shadow of a WPS object.
SysCurPos Change and/or query the current cursor position within a VIO session.
SysCurState Display or hide the cursor within a VIO session.
SysDeregisterObjectClass Deregister a WPS class.
SysDestroyObject Delete a WPS object.
SysDriveInfo Return information about a disk (volume).
SysDriveMap Query the list of available drive letters.
SysDropFuncs Unload all RexxUtil functions.
SysFileDelete Delete a file.
SysFileSearch Search for a string within a file.
SysFileTree Find files with the specified criteria, and optionally change file attributes.
SysGetEA Read an extended attribute of a file.
SysGetKey Read the next key pressed.
SysGetMessage Retrieve a message string from a message file.
SysIni Manipulate OS/2 INI files.
SysMkDir Create a directory.
SysMoveObject Move a WPS object.
SysOpenObject Open a WPS object.
SysOS2Ver Query the OS/2 version number.
SysPutEA Write an extended attribute to a file.
SysQueryClassList Query the list of registered WPS classes.
SysRegisterObjectClass Register a WPS class.
SysRmDir Delete a directory.
SysSaveObject Save a WPS object.
SysSearchPath Search a path for a file specification.
SysSetIcon Set an object's icon.
SysSetObjectData Change the settings of a WPS object.
SysSleep Pause the current thread for the specified interval.
SysTempFileName Generate a temporary file name.
SysTextScreenRead Read characters from the screen within a VIO session.
SysTextScreenSize Query the size of the screen within a VIO session.
SysWaitNamedPipe Wait for a named pipe to become available.


Additional RexxUtil functions

The following additional functions were introduced in FixPak 35 for OS/2 Warp 3 and FixPak 6 for OS/2 Warp 4. Many of these actually originated with IBM Object REXX, but were subsequently added to the standard REXXUTIL library. Others were introduced to allow access to new operating system features.

SysAddFileHandle Increase the number of available file handles.
SysAddRexxMacro Add a function to the REXX macrospace.
SysBootDrive Return the system boot drive.
SysClearRexxMacroSpace Clear the REXX macrospace.
SysCloseEventSem Close an event semaphore.
SysCloseMutexSem Close a mutex semaphore.
SysCreateEventSem Create an event semaphore
SysCreateMutexSem Create a mutex semaphore.
SysDropRexxMacro Remove a function from the REXX macrospace.
SysDumpVariables Dump all variables in the current scope either to a file or to STDOUT.
SysElapsedTime Query and/or reset the high-resolution timer.
SysFileSystemType Query the filesystem of the specified volume.
SysGetCollate Return the collating sequence table for the specified country/codepage combination.
SysGetFileDateTime Return a file's date/time attribute.
SysLoadRexxMacroSpace Load saved macrospace functions from a file.
SysMapCase Convert a string to uppercase according to localization rules.
SysNationalLanguageCompare Compare two strings according to the specified collating table.
SysOpenEventSem Open the specified event semaphore.
SysOpenMutexSem Open the specified mutex semaphore.
SysPostEventSem Post the specified event semaphore.
SysProcessType Return the process type of the currently-running REXX program.
SysQueryEAList Query the list of extended attribute names associated with a file.
SysQueryExtLIBPATH Return the current value of the extended LIBPATH.
SysQueryProcessCodePage Query the codepage being used by the current process.
SysQueryRexxMacro Check for a routine in the REXX macrospace.
SysQuerySwitchList Query the contents of the window list.
SysReleaseMutexSem Release the specified mutex semaphore.
SysReorderRexxMacro Change the search order of a macrospace function.
SysRequestMutexSem Request the specified mutex semaphore.
SysResetEventSem Reset the specified event semaphore.
SysSaveRexxMacroSpace Save the REXX macrospace to a file.
SysSetExtLIBPATH Set the value of the extended LIBPATH.
SysSetFileDateTime Modify a specified file's date/time attribute.
SysSetFileHandle Set the number of available file handles for the current process.
SysSetPriority Set the priority of the current process.
SysSetProcessCodePage Set the codepage for the current process.
SysShutDownSystem Shut down the operating system.
SysStemCopy Copy items from one stem variable to another.
SysStemDelete Delete selected items from a stem variable.
SysStemInsert Insert a new item into a stem variable at the specified position.
SysStemSort Sort items within a stem variable.
SysSwitchSession Make the specified program the active session.
SysUtilVersion Return the current version number of the RexxUtil library.
SysVersion Return a string identifying the name and version of the operating system.
SysWaitEventSem Wait on the specified event semaphore.
SysWaitForShell Wait until the WPS has initialized.
SysWildCard Transform a filename according to a wildcard pattern.