From: <eri...@us...> - 2016-08-06 18:18:31
|
Revision: 11129 http://sourceforge.net/p/oorexx/code-0/11129 Author: erich_st Date: 2016-08-06 18:18:27 +0000 (Sat, 06 Aug 2016) Log Message: ----------- renamed rexutil.xml -> rexxutil.xml Added Paths: ----------- docs/trunk/rexxref/en-US/rexxutil.xml Removed Paths: ------------- docs/trunk/rexxref/en-US/rexutil.xml Deleted: docs/trunk/rexxref/en-US/rexutil.xml =================================================================== --- docs/trunk/rexxref/en-US/rexutil.xml 2016-08-06 18:04:48 UTC (rev 11128) +++ docs/trunk/rexxref/en-US/rexutil.xml 2016-08-06 18:18:27 UTC (rev 11129) @@ -1,4702 +0,0 @@ -<?xml version='1.0' encoding='utf-8' ?> -<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ -<!ENTITY % BOOK_ENTITIES SYSTEM "rexxref.ent"> -%BOOK_ENTITIES; -]> -<!--######################################################################### - # - # Description: Open Object Rexx: Reference XML File - # - # Copyright (c) 2005-2016, Rexx Language Association. All rights reserved. - # Portions Copyright (c) 2004, IBM Corporation. All rights reserved. - # - # This program and the accompanying materials are made available under - # the terms of the Common Public License v1.0 which accompanies this - # distribution. A copy is also available at the following address: - # http://www.oorexx.org/license.html - # - # Redistribution and use in source and binary forms, with or - # without modification, are permitted provided that the following - # conditions are met: - # - # Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in - # the documentation and/or other materials provided with the distribution. - # - # Neither the name of Rexx Language Association nor the names - # of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - ######################################################################### ---> -<chapter id="rexxutil"><title>Rexx Utilities (RexxUtil)</title> -<indexterm><primary>dynamic link library (RexxUtil)</primary></indexterm> -<indexterm><primary>shared library (RexxUtil)</primary></indexterm> -<indexterm><primary>dllfunctions</primary></indexterm> -<para>RexxUtil is a Dynamic Link Library (DLL) package for Windows and *nix -platforms; the package contains external Rexx functions. These functions:</para> -<itemizedlist> -<listitem><para>Manipulate operating system files and directories</para> -</listitem> -<listitem><para>Manipulate Windows classes and objects</para></listitem> -<listitem><para>Perform text screen input and output</para></listitem> -</itemizedlist> -<para>All of the RexxUtil functions are registered by the Rexx interpreter on -startup so there is no need to register the functions either individually or -via the SysLoadFuncs function.</para> - -<section id="systemerrorcodes"><title>A Note on Error Codes</title> -<indexterm><primary>Windows OS Error Codes</primary></indexterm> -<para>On Windows, some of the REXXUTIL functions return operating system error -codes on failure. The <xref linkend="utlSysgeterrortext" xrefstyle="select:title"/> -function can be used retrieve a description of system error code. In addition, -the meaning of these error return codes can be looked up in the Windows -Operating System documentation provided by Microsoft. -</para> -<para>The documentation is called the MSDN Library. The library is provided -online for anyone to access. Plus, since May 2006, Microsoft has also provided -the ISO images for the library free of charge. Anyone can download the ISOs, -burn them to a CD, and install the library locally on their system. -</para> -<para>The information below is provided to help the Rexx programmer locate the -MSDN Library. All things on the Internet change. The -URLs listed here are accurate at the time of this writing. -</para> -<para>The online MSDN Library is currently located at:</para> -<para>http://msdn2.microsoft.com/en-us/library/default.aspx.</para> -<para>A direct link to the section on the System Error codes is:</para> -<para>http://msdn.microsoft.com/en-us/library/ms681381.aspx</para> -<para>A Google search of <computeroutput>MSDN Library</computeroutput> will turn -up the link to the online MSDN Library. A Google search of <computeroutput>MSDN -"System Error Codes"</computeroutput> will turn up the section on the error -codes. -</para> -<para>Directions to the downloadable ISO images of the MSDN Library have been -posted on this blog entry:</para> -<para>http://blogs.msdn.com/robcaron/archive/2006/07/26/678897.aspx</para> -<para>A Google search using: <computeroutput>"Rob Caron" General Downloads MSDN -Library</computeroutput> should also turn up the blog entry. -</para> -</section> - -<section id="utilfuncttable"><title>List of Rexx Utility Functions</title> -<indexterm><primary>rexxutil functions</primary></indexterm> -<para>The following table lists all of the REXXUTIL functions and the -platforms on which they are available.</para> -<table id="functtable" frame="all" pgwide="1"><title>Rexx Utility Library Functions</title> -<tgroup cols ="4"> -<colspec colname="c1" colwidth="6*" /> -<colspec colname="c2" colwidth="2*" /> -<colspec colname="c3" colwidth="2*" /> -<colspec colname="c4" colwidth="3*" /> -<thead> -<row> -<entry morerows="1">Function Name</entry> -<entry namest="c2" nameend="c3" align="center">Exists on Platform</entry> -<entry morerows="1">Remarks</entry> -</row> -<row> -<entry align="center">Windows</entry> -<entry align="center">Unix</entry> -</row> -</thead> -<tbody> -<row> -<entry><xref linkend="utlRxmessagebox" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlRxwinexec" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysaddrexxmacro" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysbootdrive" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysclearrexxmacrospace" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscloseeventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysclosemutexsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscls" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscreateeventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscreatemutexsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscreatepipe" xrefstyle="select:title"/></entry><entry>NO</entry><entry>Yes</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscurpos" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyscurstate" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysdriveinfo" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysdrivemap" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysdropfuncs" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysdroprexxmacro" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysdumpvariables" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfilecopy" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfiledelete" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysFileExists" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfilemove" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfilesearch" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfilesystemtype" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfiletree" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry>Works differently</entry> -</row> -<row> -<entry><xref linkend="utlSysfork" xrefstyle="select:title"/></entry><entry>NO</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysfromunicode" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysgeterrortext" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysgetfiledatetime" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysgetkey" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysgetmessage" xrefstyle="select:title"/></entry><entry>NO</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysgetmessagex" xrefstyle="select:title"/></entry><entry>NO</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysini" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfile" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfilecompressed" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfiledirectory" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfileencrypted" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfilelink" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfilenotcontentindexed" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfileoffline" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfilesparse" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysisfiletemporary" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyslinver" xrefstyle="select:title"/></entry><entry>NO</entry><entry>NO*</entry> -<entry>Linux only*</entry> -</row> -<row> -<entry><xref linkend="utlSysloadfuncs" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysloadrexxmacrospace" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysmkdir" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysopeneventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysopenmutexsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysposteventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyspulseeventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysqueryprocess" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry>Works differently</entry> -</row> -<row> -<entry><xref linkend="utlSysqueryrexxmacro" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysreleasemutexsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysreorderrexxmacro" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysrequestmutexsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysreseteventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysrmdir" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssaverexxmacrospace" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssearchpath" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssetfiledatetime" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssetpriority" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysshutdownsystem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssleep" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysstemcopy" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysstemdelete" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssteminsert" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysstemsort" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysswitchsession" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyssystemdirectory" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSystempfilename" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSystextscreenread" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSystextscreensize" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSystounicode" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysutilversion" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysversion" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSysvolumelabel" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswait" xrefstyle="select:title"/></entry><entry>NO</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswaiteventsem" xrefstyle="select:title"/></entry><entry>YES</entry><entry>YES</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswaitnamedpipe" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswindecryptfile" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswinencryptfile" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswingetprinters" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswingetdefaultprinter" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswinsetdefaultprinter" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -<row> -<entry><xref linkend="utlSyswinver" xrefstyle="select:title"/></entry><entry>YES</entry><entry>NO</entry> -<entry></entry> -</row> -</tbody> -</tgroup> -</table> -</section> - - -<section id="utlRxmessagebox"><title>RxMessageBox (Windows only)</title> -<indexterm><primary>RxMessageBox</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>RxMessageBox</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/rxmessagebox.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Displays a Windows message box.</para> -<para>RxMessageBox returns the selected message box push button. Possible values -are: </para> -<variablelist> -<varlistentry><term>1</term> -<listitem><para>The OK push button was pressed -</para></listitem></varlistentry> -<varlistentry><term>2</term> -<listitem><para>The CANCEL push button was pressed -</para></listitem></varlistentry> -<varlistentry><term>3</term> -<listitem><para>The ABORT push button was pressed -</para></listitem></varlistentry> -<varlistentry><term>4</term> -<listitem><para>The RETRY push button was pressed -</para></listitem></varlistentry> -<varlistentry><term>5</term> -<listitem><para>The IGNORE push button was pressed -</para></listitem></varlistentry> -<varlistentry><term>6</term> -<listitem><para>The YES push button was pressed -</para></listitem></varlistentry> -<varlistentry><term>7</term> -<listitem><para>The NO push button was pressed -</para></listitem></varlistentry> -</variablelist> -<para>If a message box has a "CANCEL" button, the function returns the -2 value if either the ESC key is pressed or the "CANCEL" button is -selected. If the message box has no "CANCEL" button, pressing ESC -has no effect.</para> -<variablelist> -<varlistentry><term><emphasis role="italic">text</emphasis></term> -<listitem><para>The message box text. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">title</emphasis></term> -<listitem><para>The message box title. The default title is "Error!". -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">button</emphasis></term> -<listitem><para>The message box push button style. The allowed styles are: -<variablelist> -<varlistentry><term>"OK"</term> -<listitem><para>A single OK push button. -</para></listitem></varlistentry> -<varlistentry><term>"OKCANCEL"</term> -<listitem><para>An OK push button and a CANCEL push button. -</para></listitem></varlistentry> -<varlistentry><term>"RETRYCANCEL"</term> -<listitem><para>A RETRY push button and a CANCEL push button. -</para></listitem></varlistentry> -<varlistentry><term>"ABORTRETRYIGNORE"</term> -<listitem><para>An ABORT push button, a RETRY push button and an IGNORE push -button.</para></listitem></varlistentry> -<varlistentry><term>"YESNO"</term> -<listitem><para>A YES push button and a NO push button. -</para></listitem></varlistentry> -<varlistentry><term>"YESNOCANCEL"</term> -<listitem><para>A YES push button, a NO push button and a CANCEL push button. -</para></listitem></varlistentry> -</variablelist> -The default push button style is OK.</para> -</listitem></varlistentry> -<varlistentry><term><emphasis role="italic">icon</emphasis></term> -<listitem><para>The message box icon style. The allowed styles are: -<variablelist> -<varlistentry><term>"NONE"</term> -<listitem><para>No icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"HAND"</term> -<listitem><para>A hand icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"QUESTION"</term> -<listitem><para>A question mark icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"EXCLAMATION"</term> -<listitem><para>An exclamation point icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"ASTERISK"</term> -<listitem><para>An asterisk icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"INFORMATION"</term> -<listitem><para>An information icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"STOP"</term> -<listitem><para>A stop icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"QUERY"</term> -<listitem><para>A query icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"WARNING"</term> -<listitem><para>A warning icon is displayed. -</para></listitem></varlistentry> -<varlistentry><term>"ERROR"</term> -<listitem><para>An error icon is displayed. -</para></listitem></varlistentry> -</variablelist> -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>RxMessageBox</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>RxMessageBox</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>RxMessageBox</secondary></indexterm> -<example id="ex.rxmessagebox"> -<title>RexxUtil — RxMessageBox</title> -<programlisting> -/* Give option to quit */ -if RxMessageBox("Shall we continue", , "YesNo", "Question") = 7 -Then Exit /* quit option given, exit */ -</programlisting> -</example> -</section> - -<section id="utlRxwinexec"><title>RxWinExec (Windows only)</title> -<indexterm><primary>RxWinExec</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>RxWinExec</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/rxwinexec.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Starts (executes) the application as specified in -<emphasis role="italic">cmdline</emphasis>.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">cmdline</emphasis></term> -<listitem><para>A string containing a file name and optional parameters for the -application to be executed. If the name of the executable file in -<emphasis role="italic">cmdline</emphasis> does -not contain a directory path, RxWinExec searches for the executable file in -this sequence: -<variablelist> -<varlistentry><term>1</term> -<listitem><para>The directory from which Object Rexx was loaded. -</para></listitem></varlistentry> -<varlistentry><term>2</term> -<listitem><para>The current directory. -</para></listitem></varlistentry> -<varlistentry><term>3</term> -<listitem><para>The Windows system directory. -</para></listitem></varlistentry> -<varlistentry><term>4</term> -<listitem><para>The Windows directory. -</para></listitem></varlistentry> -<varlistentry><term>5</term> -<listitem><para>The directories listed in the PATH environment variable. -</para></listitem></varlistentry> -</variablelist> -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">cmdshow</emphasis></term> -<listitem><para>Specifies how a Windows-based application window is to be shown. -For a non-Windows-based application, the PIF file, if any, for the application -determines the window state. -<variablelist> -<varlistentry><term>SHOWNORMAL</term> -<listitem><para>Activates and displays a window. -</para></listitem></varlistentry> -<varlistentry><term>SHOWNOACTIVATE</term> -<listitem><para>Displays the window while the current active window remains -active.</para></listitem></varlistentry> -<varlistentry><term>SHOWMINNOACTIVE</term> -<listitem><para>Displays the window as a minimized window, the current active -window remains active. -</para></listitem></varlistentry> -<varlistentry><term>SHOWMINIMIZED</term> -<listitem><para>Activates the window and displays it as a minimized window. -</para></listitem></varlistentry> -<varlistentry><term>SHOWMAXIMIZED</term> -<listitem><para>Activates the window and displays it as a maximized window. -</para></listitem></varlistentry> -<varlistentry><term>HIDE</term> -<listitem><para>Hides the window and activates another window. -</para></listitem></varlistentry> -<varlistentry><term>MINIMIZE</term> -<listitem><para>Minimizes the specified window and activates the next top-level -window in the Z order. -</para></listitem></varlistentry> -</variablelist> -</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<para>If the application is started successfully, the process id (PID) is -returned. If an error occurs the returned value is less than 32.</para> -<para>Error return codes correspond to a -<xref linkend="systemerrorcodes" xrefstyle="template:Windows System Error code"/>. If the Windows system error code is greater -than 32 it is negated. This is to prevent confusion between a legitimate error -code and a PID.</para> -<para>Some common error returns for this function are as follows.</para> -<variablelist> -<varlistentry><term>2</term> -<listitem><para>The specified file was not found. -</para></listitem></varlistentry> -<varlistentry><term>3</term> -<listitem><para>The specified path was not found. -</para></listitem></varlistentry> -<varlistentry><term>11</term> -<listitem><para>The EXE file is invalid. -</para></listitem></varlistentry> -<varlistentry><term>-53</term> -<listitem><para>The network path is invalid. -</para></listitem></varlistentry> -</variablelist> -</section> - - -<section id="utlSysaddrexxmacro"><title>SysAddRexxMacro</title> -<indexterm><primary>SysAddRexxMacro</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysAddRexxMacro</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysaddrexxmacro.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Adds a routine to the Rexx macrospace. SysAddRexxMacro returns the -RexxAddMacro return code.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">name</emphasis></term> -<listitem><para>The name of the function added to the macrospace. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">file</emphasis></term> -<listitem><para>The file containing the Rexx program. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">order</emphasis></term> -<listitem><para>The macrospace search order. The order can be "B" (Before), which is default, or -"A" (After). -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSysbootdrive"><title>SysBootDrive (Windows only)</title> -<indexterm><primary>SysAddBootDrive</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysBootDrive</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysbootdrive.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Returns the drive used to boot Windows, for example, "C:".</para> -</section> - -<section id="utlSysclearrexxmacrospace"><title>SysClearRexxMacroSpace</title> -<indexterm><primary>SysClearRexxMacroSpace</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysClearRexxMacroSpace</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysclearrexxmacrospace.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Clears the Rexx macrospace. SysClearRexxMacroSpace returns the -RexxClearMacroSpace return code.</para> -</section> - -<section id="utlSyscloseeventsem"><title>SysCloseEventSem</title> -<indexterm><primary>SysCloseEventSem</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCloseEventSem</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscloseeventsem.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Closes an event semaphore.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">handle</emphasis></term> -<listitem><para>A handle returned from a previous SysCreateEventSem or -SysOpenEventSem call. -</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>No errors. -</para></listitem></varlistentry> -<varlistentry><term>Other</term> -<listitem><para>An error occurred. On Windows, a <xref linkend="systemerrorcodes" xrefstyle="template:Windows System Error code"/> -is returned. This may be one of the following, but could be others. -</para></listitem></varlistentry> -<varlistentry><term>6</term> -<listitem><para>Invalid handle. -</para></listitem></varlistentry> -<varlistentry><term>102</term> -<listitem><para>Error semaphore busy. -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSysclosemutexsem"><title>SysCloseMutexSem</title> -<indexterm><primary>SysCloseMutexSem</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCloseMutexSem</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysclosemutexsem.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Closes a mutex semaphore.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">handle</emphasis></term> -<listitem><para>A handle returned from a previous SysCreateMutexSem call. -</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>No errors. -</para></listitem></varlistentry> -<varlistentry><term>Other</term> -<listitem><para>An error occurred. On Windows, a <xref linkend="systemerrorcodes" xrefstyle="template:Windows System Error code"/> -is returned. This may be one of the following, but could be others. -</para></listitem></varlistentry> -<varlistentry><term>6</term> -<listitem><para>Invalid handle. -</para></listitem></varlistentry> -<varlistentry><term>102</term> -<listitem><para>Error semaphore busy. -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSyscls"><title>SysCls</title> -<indexterm><primary>SysCls</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCls</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscls.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Clears the screen.</para> -<example id="ex.syscls"> -<title>RexxUtil — SysCls</title> -<programlisting> -/* Code */ -call SysCls -</programlisting> -</example> -</section> - -<section id="utlSyscreateeventsem"><title>SysCreateEventSem</title> -<indexterm><primary>SysCreateEventSem</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCreateEventSem</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscreateeventsem.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Creates an event semaphore. It returns an event semaphore -handle that can be used with SysCloseEventSem, SysOpenEventSem, -SysResetEventSem, SysPostEventSem, and SysWaitEventSem. SysCreateEventSem -returns a null string ("") if the semaphore cannot be created or -already exists.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">name</emphasis></term> -<listitem><para>The optional event semaphore name. If you omit -<emphasis role="italic">name</emphasis>, -SysCreateEventSem creates an unnamed, shared event semaphore. -A semaphore name can be MAX_PATH long, and -can contain any character except the backslash (\) path-separator character. -Semaphore names are case-sensitive. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">manual_reset</emphasis></term> -<listitem><para>A flag to indicate that the event semaphore must be reset -manually by SysResetEventSem. If this parameter is omitted, the event -semaphore is reset automatically by SysWaitEventSem. -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSyscreatemutexsem"><title>SysCreateMutexSem</title> -<indexterm><primary>SysCreateMutexSem</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCreateMutexSem</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscreatemutexsem.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Creates a mutex semaphore. Returns a mutex semaphore handle that -can be used with SysCloseMutexSem, SysRequestMutexSem, and SysReleaseMutexSem. -SysCreateMutexSem returns a null string ("") if the semaphore cannot -be created or already exists.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">name</emphasis></term> -<listitem><para>The optional mutex semaphore name. If you omit -<emphasis role="italic">name</emphasis>, SysCreateMutexSem -creates an unnamed, shared mutex semaphore. If you specify -<emphasis role="italic">name</emphasis>, -The semaphore names cannot be longer than 63 characters. Semaphore names are -case-sensitive. -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSyscreatepipe"><title>SysCreatePipe (Unix only)</title> -<indexterm><primary>SysCreatePipe</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCreatePipe</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscreatepipe.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Creates an unnamed pipe.</para> -<para><emphasis role="bold">Returns:</emphasis></para> -<para>Returns a string like <computeroutput>"handle handle"</computeroutput> -where the first handle is for read and the second handle for write.</para> -</section> - -<section id="utlSyscurpos"><title>SysCurPos (Windows only)</title> -<indexterm><primary>SysCurPos</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCurPos</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscurpos.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Returns the cursor position in the form -<computeroutput>row col</computeroutput> and optionally -moves the cursor to a new location.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">row</emphasis></term> -<listitem><para>The row to move to. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">col</emphasis></term> -<listitem><para>The column to move to. -</para></listitem></varlistentry> -</variablelist> - -<note><title>Note</title> -<para>Position (0,0) is the upper left corner.</para></note> -<para>You can call SysCurPos without a column and row position to obtain the -cursor position without moving the cursor.</para> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCurPos</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysCurPos</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysCurPos</secondary></indexterm> -<example id="ex.syscurpos"> -<title>RexxUtil — SysCurpos</title> -<programlisting> -/* Code */ -call SysCls -parse value SysCurPos() with row col -say "Cursor position is "row", "col - -/* Output */ -Cursor position is 0, 0 -</programlisting> -</example> -</section> - -<section id="utlSyscurstate"><title>SysCurState (Windows only)</title> -<indexterm><primary>SysCurState</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysCurState</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/syscurstate.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Hides or displays the cursor.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">state</emphasis></term> -<listitem><para>The new cursor state. Allowed states are: -<variablelist> -<varlistentry><term>"ON"</term> -<listitem><para>Display the cursor -</para></listitem></varlistentry> -<varlistentry><term>"OFF"</term> -<listitem><para>Hide the cursor -</para></listitem></varlistentry> -</variablelist> -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSysdriveinfo"><title>SysDriveInfo (Windows only)</title> -<indexterm><primary>SysDriveInfo</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDriveInfo</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysdriveinfo.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Returns drive information in the form: -<computeroutput>drive: free total label</computeroutput>.</para> -<variablelist> -<varlistentry><term>drive:</term> -<listitem><para>is the drive letter identifier. -</para></listitem></varlistentry> -<varlistentry><term>free</term> -<listitem><para>is the drive unused space. -</para></listitem></varlistentry> -<varlistentry><term>total</term> -<listitem><para>is the total size of the drive. -</para></listitem></varlistentry> -<varlistentry><term>label</term> -<listitem><para>is the drive label. -</para></listitem></varlistentry> -</variablelist> -<para>If the drive is not accessible, then SysDriveInfo returns "".</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">drive</emphasis></term> -<listitem><para>The drive of interest, "C:". -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDriveInfo</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysDriveInfo</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysDriveInfo</secondary></indexterm> -<example id="ex.sysdriveinfo"> -<title>RexxUtil — SysDriveinfo</title> -<programlisting> -/* Code */ -say "Disk="SysDriveInfo("C:") -/* Output */ -Disk=C: 33392640 83687424 TRIGGER_C -</programlisting> -</example> -</section> - -<section id="utlSysdrivemap"><title>SysDriveMap (Windows only)</title> -<indexterm><primary>SysDriveMap</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDriveMap</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysdrivemap.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Returns a string listing accessible drives (separated by blanks) in the -form: <computeroutput>C: D: ...</computeroutput>.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">drive</emphasis></term> -<listitem><para>The first drive letter of the drive map. The default is "C:". -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">opt</emphasis></term> -<listitem><para>The drivemap option. This can be: -<variablelist> -<varlistentry><term>"USED"</term> -<listitem><para>returns the drives that are accessible or in use, including -all local and remote drives. This is the default. -</para></listitem></varlistentry> -<varlistentry><term>"FREE"</term> -<listitem><para>returns drives that are free or not in use. -</para></listitem></varlistentry> -<varlistentry><term>"LOCAL"</term> -<listitem><para>returns only local drives. -</para></listitem></varlistentry> -<varlistentry><term>"REMOTE"</term> -<listitem><para>returns only remote drives, such as redirected LAN resources -or installable file system (IFS) attached drives. -</para></listitem></varlistentry> -<varlistentry><term>"REMOVABLE"</term> -<listitem><para>returns removable drives. -</para></listitem></varlistentry> -<varlistentry><term>"CDROM"</term> -<listitem><para>returns CD-ROM drives. -</para></listitem></varlistentry> -<varlistentry><term>"RAMDISK"</term> -<listitem><para>returns drives assigned from RAM. -</para></listitem></varlistentry> -</variablelist> -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDriveMap</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysDriveMap</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysDriveMap</secondary></indexterm> -<example id="ex.sysdrivemap"> -<title>RexxUtil — SysDrivemap</title> -<programlisting> -/* Code */ -say "Used drives include:" -say SysDriveMap("C:", "USED") -/* Output */ -Used drives include: -C: D: E: F: W: -</programlisting> -</example> -</section> - -<section id="utlSysdropfuncs"><title>SysDropFuncs</title> -<indexterm><primary>SysDropFuncs</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDropFuncs</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysdropfuncs.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para> -From ooRexx 4.0.0 and on this function does nothing. -</para> -</section> - - -<section id="utlSysdroprexxmacro"><title>SysDropRexxMacro</title> -<indexterm><primary>SysDropRexxMacro</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDropRexxMacro</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysdroprexxmacro.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Removes a routine from the Rexx macrospace. SysDropRexxMacro returns the -RexxDropMacro return code.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">name</emphasis></term> -<listitem><para>The name of the function removed from the macrospace. -</para></listitem></varlistentry> -</variablelist> -</section> - -<section id="utlSysdumpvariables"><title>SysDumpVariables</title> -<indexterm><primary>SysDumpVariables</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDumpVariables</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysdumpvariables.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Dumps all variables in the current scope either to the specified file -<emphasis role="italic">filename</emphasis> (new data is appended) or to -STDOUT if you omit <emphasis role="italic">filename</emphasis>. The format of -the data is, with one variable per line:</para> -<para><computeroutput>Name=MYVAR, Value='This is the content of MYVAR'</computeroutput> -</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">filename</emphasis></term> -<listitem><para>The name of the file to which variables are appended. The dump is -written to STDOUT if you omit this parameter. -</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>Dump completed successfully. -</para></listitem></varlistentry> -<varlistentry><term>-1</term> -<listitem><para>Dump failed. -</para></listitem></varlistentry> -</variablelist> -<para>See also <classname>RexxContext</classname> method -<xref linkend="mthRexxContextVariables" xrefstyle="select:title"/>. -</para> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysDumpVariables</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysDumpVariables</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysDumpVariables</secondary></indexterm> -<example id="ex.sysdumpvariables"> -<title>RexxUtil — SysDumpvariables</title> -<programlisting> -Call SysDumpVariables "MyVars.Lst" /* append vars to file */ -Call SysDumpVariables /* list vars on STDOUT */ -</programlisting> -</example> -</section> - -<section id="utlSysfilecopy"><title>SysFileCopy</title> -<indexterm><primary>SysFileCopy</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileCopy</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfilecopy.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Copies a file from one location to another. Wildcard file -specifications are not allowed.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">source</emphasis></term> -<listitem><para>The path/name of the file to be copied. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">target</emphasis></term> -<listitem><para>The path/name of the target location where the file is to be -copied.</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>File copied successfully. -</para></listitem></varlistentry> -<varlistentry><term>Other</term> -<listitem><para>A <xref linkend="systemerrorcodes" xrefstyle="template:Windows System Error code"/>. -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileCopy</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysFileCopy</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysFileCopy</secondary></indexterm> -<example id="ex.sysfilecopy"> -<title>RexxUtil — SysFilecopy</title> -<programlisting> -/* Code */ -call SysFileCopy "c:\temp\myfile.txt", "d:\myfolder\myCopy.txt" -</programlisting> -</example> -</section> - -<section id="utlSysfiledelete"><title>SysFileDelete</title> -<indexterm><primary>SysFileDelete</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileDelete</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfiledelete.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Deletes a file. SysFileDelete does not support wildcard file -specifications.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">file</emphasis></term> -<listitem><para>The name of the file to be deleted. -</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>File deleted successfully. -</para></listitem></varlistentry> -<varlistentry><term>Other</term> -<listitem><para>An error occurred. On Windows, a Windows System Error code (<xref linkend="systemerrorcodes" /> -is returned. This may be one of the following, but could be others. -</para></listitem></varlistentry> -<varlistentry><term>2</term> -<listitem><para>File not found. -</para></listitem></varlistentry> -<varlistentry><term>3</term> -<listitem><para>Path not found. -</para></listitem></varlistentry> -<varlistentry><term>5</term> -<listitem><para>Access denied or busy. -</para></listitem></varlistentry> -<varlistentry><term>26</term> -<listitem><para>Not DOS disk. -</para></listitem></varlistentry> -<varlistentry><term>32</term> -<listitem><para>Sharing violation. -</para></listitem></varlistentry> -<varlistentry><term>36</term> -<listitem><para>Sharing buffer exceeded. -</para></listitem></varlistentry> -<varlistentry><term>87</term> -<listitem><para>Does not exist. -</para></listitem></varlistentry> -<varlistentry><term>206</term> -<listitem><para>File name exceeds range error. -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileDelete</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysFileDelete</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysFileDelete</secondary></indexterm> -<example id="ex.sysfiledelete"> -<title>RexxUtil — SysFiledelete</title> -<programlisting> -/* Code */ -parse arg InputFile OutputFile -call SysFileDelete OutputFile /* unconditionally erase output file */ -</programlisting> -</example> -</section> - -<section id="utlSysFileExists"><title>SysFileExists</title> -<indexterm><primary>SysFileExists</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileExists</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfileexists.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Checks for the existence of a file. This function does not support -wildcard specifications. Returns <literal>1</literal> if any file system entity with the -given name exists. In particular, this will return <literal>1</literal> for both regular -files and directories.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">filename</emphasis></term> -<listitem><para>The name of the file to check for the existence of. -</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Returns:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>The file does not exist. -</para></listitem></varlistentry> -<varlistentry><term>1</term> -<listitem><para>The file exists. -</para></listitem></varlistentry> -</variablelist> -<example id="ex.sysfileexists"> -<title>RexxUtil — SysFileexists</title> -<programlisting> -if SysFileExists(InputFile) then say "File Exists!" -else say "File does not exist." -</programlisting> -</example> -</section> - -<section id="utlSysfilemove"><title>SysFileMove (Windows only)</title> -<indexterm><primary>SysFileMove</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileMove</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfilemove.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Moves a file from one location to another. Wildcard file -specifications are not allowed.</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">source</emphasis></term> -<listitem><para>The path/name of the file to be moved. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">target</emphasis></term> -<listitem><para>The path of the target location where the file is to be -moved. The <emphasis role="italic">target</emphasis> must contain a path -component.</para></listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>File copied successfully. -</para></listitem></varlistentry> -<varlistentry><term>Other</term> -<listitem><para>On failure, a <xref linkend="systemerrorcodes" xrefstyle="template:Windows System Error code"/> -is returned. -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileMove</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysFileMove</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysFileMove</secondary></indexterm> -<example id="ex.sysfilemove"> -<title>RexxUtil — SysFilemove</title> -<programlisting> -/* Code */ -call SysFileMove "c:\temp\myfile.txt", "d:\myfolder" -</programlisting> -</example> -</section> - -<section id="utlSysfilesearch"><title>SysFileSearch</title> -<indexterm><primary>SysFileSearch</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileSearch</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfilesearch.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Finds all file lines containing the target string and returns the file -lines in a Rexx stem variable collection.</para> -<para><emphasis role="bold">Parameters:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">target</emphasis></term> -<listitem><para>The target search string. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">file</emphasis></term> -<listitem><para>The searched file. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">stem</emphasis></term> -<listitem><para>The result stem variable name. SysFileSearch sets Rexx variable -<emphasis role="italic">stem.0</emphasis> to the number of lines returned and -stores the individual lines in variables -<emphasis role="italic">stem.1</emphasis> to -<emphasis role="italic">stem.n</emphasis>. -</para></listitem></varlistentry> -<varlistentry><term><emphasis role="italic">options</emphasis></term> -<listitem><para>Any combination of the following one-character options: -<variablelist> -<varlistentry><term>"C"</term> -<listitem><para>Conducts a case-sensitive search. -</para></listitem></varlistentry> -<varlistentry><term>"N"</term> -<listitem><para>Returns the file line numbers. -</para></listitem></varlistentry> -</variablelist> -The default is a case-insensitive search without line numbers.</para> -</listitem></varlistentry> -</variablelist> -<para><emphasis role="bold">Return codes:</emphasis></para> -<variablelist> -<varlistentry><term>0</term> -<listitem><para>Successful. -</para></listitem></varlistentry> -<varlistentry><term>2</term> -<listitem><para>Not enough memory. -</para></listitem></varlistentry> -<varlistentry><term>3</term> -<listitem><para>Error opening file. -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileSearch</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysFileSearch</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysFileSearch</secondary></indexterm> -<example id="ex.sysfilesearch"> -<title>RexxUtil — SysFilesearch</title> -<programlisting> -/* Find DEVICE statements in CONFIG.SYS */ -call SysFileSearch "DEVICE", "C:\CONFIG.SYS", "file." -do i=1 to file.0 -say file.i -end - -/* Output */ -DEVICE=C:\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:240 I:5 D:1 H:5 -DEVICE=C:\SB16\DRV\CTMMSYS.SYS -rem **** DOS SCSI CDROM device drivers *** -DEVICE=C:\SCSI\ASPI8DOS.SYS /D -DEVICE=C:\SCSI\ASPICD.SYS /D:ASPICD0 -rem **** IDE CDROM device drivers -DEVICE=C:\DOS\HIMEM.SYS -DEVICE=C:\SBCD\DRV\SBIDE.SYS /V /D:MSCD001 /P:1f0,14 -DEVICE=C:\DOS\SETVER.EXE -DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER -DEVICE=C:\WINDOWS\IFSHLP.SYS - -/* Find DEVICE statements in CONFIG.SYS (along with */ -/* line numbers) */ -call SysFileSearch "DEVICE", "C:\CONFIG.SYS", "file.", "N" -do i=1 to file.0 -say file.i -end - -/* Output */ -1 DEVICE=C:\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:240 I:5 D:1 -H:5 -2 DEVICE=C:\SB16\DRV\CTMMSYS.SYS -4 rem **** DOS SCSI CDROM device drivers *** -5 DEVICE=C:\SCSI\ASPI8DOS.SYS /D -6 DEVICE=C:\SCSI\ASPICD.SYS /D:ASPICD0 -8 rem **** IDE CDROM device drivers -9 DEVICE=C:\DOS\HIMEM.SYS -10 DEVICE=C:\SBCD\DRV\SBIDE.SYS /V /D:MSCD001 /P:1f0,14 -13 DEVICE=C:\DOS\SETVER.EXE -16 DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER -17 DEVICE=C:\WINDOWS\IFSHLP.SYS -</programlisting> -</example> -</section> - -<section id="utlSysfilesystemtype"><title>SysFileSystemType (Windows only)</title> -<indexterm><primary>SysFileSystemType</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileSystemType</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfilesystemtype.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Returns the name of the file system used for a drive. If the drive is not -accessible, it returns a null string ("").</para> -<para><emphasis role="bold">Parameter:</emphasis></para> -<variablelist> -<varlistentry><term><emphasis role="italic">drive</emphasis></term> -<listitem><para>The drive of interest, for example "C:". -</para></listitem></varlistentry> -</variablelist> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileSystemType</secondary> -<tertiary>example</tertiary></indexterm> -<indexterm><primary>SysFileSystemType</primary> -<secondary>example</secondary></indexterm> -<indexterm><primary>examples</primary> -<secondary>SysFileSystemType</secondary></indexterm> -<example id="ex.sysfilesystemtype"> -<title>RexxUtil — SysFilesystemtype</title> -<programlisting> -/* Code */ -say "File System="SysFileSystemType("C:") -/* Output */ -File System=NTFS -</programlisting> -</example> -</section> - -<section id="utlSysfiletree"><title>SysFileTree</title> -<indexterm><primary>SysFileTree</primary></indexterm> -<indexterm><primary>rexxutil functions</primary> -<secondary>SysFileTree</secondary></indexterm> - -<mediaobject> -<imageobject> -<imagedata fileref="images/rexxutil/sysfiletree.svg" scale="55" /> -</imageobject> -</mediaobject> - -<para>Finds all files that match a file specification. SysFileTree returns the -file descriptions (date, time, size, attributes, and file specification) space delimited in -a Rexx stem variable collection. The default format for date and time is platform specific.</para> -<para> - <emphasis role="italic">SysFileTree</emphasis> uses operating system APIs to fi... [truncated message content] |