*******************************************************************************
*                                                                             *
*      (c) Copyright International Business Machines Corp. 1998, 2000         *
*                          ALL RIGHTS RESERVED                                *
*                                                                             *
*  5765-D62 (c) COPYRIGHT IBM CORP. 1998, 2000   -  IBM Object REXX for AIX   *
*                                                                             *
*******************************************************************************

                      IBM Object REXX V1.1.2.0 for AIX

                NOTE: README file of summary PTF number 007
                          for Object REXX Interpreter


  What you will find in this README:

                        1. PTF Installation Information
                        2. General      Information
                        3. Hints and Tips   (see B for Important notes)
                        4. What has been fixed
                        5. Contacts


   1. PTF Installation Information

   1.1 System Requirements

      - Object REXX for AIX version 1.1.0.0 must be installed if you want to
        apply this PTF.

   1.2 Installation Instructions

   1.2.1 AIX V4.1.5

       (smit(ty) panels:)   enter smit or smitty

          in the menu
          select:  Software Installation and Maintenance
          select:  Install and Update Software
          select:  Install/Update Selectable Software (Custom Install)
          select:  Install Software Products to Latest Level
          select:  Update Currently Installed Software Products to Latest Level
          select:  Install New Software Products at Latest Level
          fill in:  INPUT device / directory for software
              select the device or enter the file name ORX00(nn).bff of
              the PTF image file of IBM Object REXX for AIX
              and then press the >ENTER< key to perform the installation.

          NOTE: If <COMMIT software updates?> is set to "yes", the applied PTF of
                Object REXX for AIX cannot be removed.
                The PTF can be committed after evaluation to save disk space.

   1.2.1 AIX V4.2

       (smit(ty) panels:)   enter smit or smitty

          in the menu
          select:  Software Installation and Maintenance
          select:  Install and Update Software
          select:  Update Installed Software to Latest Level
          fill in:  INPUT device / directory for software
              select the device or enter the file name ORX00(nn).bff of
              the PTF image file of IBM Object REXX for AIX
              and then press the >ENTER< key to perform the installation.

          NOTE: If <COMMIT software updates?> is set to "yes", the applied PTF of
                Object REXX for AIX cannot be removed.
                The PTF can be committed after evaluation to save disk space.


   1.3 Remove Installed PTF if it was not committed.

       (smit(ty) panels:)   enter smit or smitty

          in the menu
          select:  Software Installation and Maintenance
          select:  Maintain Installed Software
          select:  Reject Applied Software Updates (Use Previous Version)
          fill in:  SOFTWARE name
              enter > orexx <, change PREVIEW only? to >no<,
              and then press the >ENTER< key to perform the remove.



   2. General Information

      Visit our REXX Internet home page
              http://www.ibm.com/software/ad/obj-rexx
      for more information and to report problems.


   3. Hints and Tips

   A. README files:
      The OREXX README files are in the directory
                         '/usr/lpp/orexx/'.
      The README file gives you a summary of the latest fixes.
      README.V1100 is the replacement for the README of the
      installed version of Object REXX for AIX.

   B. IMPORTANT:

      Object REXX on AIX uses a shared memory for function registration and
      data exchange between different REXX processes.
      If a running REXX process must be interrupted (command: kill -9 pid)
      the shared memory might be left in disorder.  In this case, the inter-
      preter tries to restore the order of the shared memory. If this fails,
      use the binary  > rxdelipc <  to delete the shared memory.

      By default, Object REXX on AIX uses the environment variable $HOME for
      shared-memory creation. From version 1.1.0.2 upwards, an environment
      variable  $RXHOME  can be set with a directory or file name that has
      group permission for read and write.  This enables REXX to exchange
      data between different users in addition to the data exchange of REXX
      processes. All users must belong to the same >primary< group and must
      have the same definition of RXHOME.

      The  > rxdelipc <  procedure first checks for the  $RXHOME  variable
      and, if it is set, the shared memory connected to it is deleted.
      If the environment variable $RXHOME is not set, the directory
      setting of the $HOME variable is checked for the file entry
      $HOME/..IBM_OREXXV#.R#.M#.F#. If there is no access permission to
      the $HOME directory, the '/tmp' directory is searched for the file named
      /tmp/..IBM_OREXXV#.R#.M#.F#userID.

      The > rxdelipc < procedure does not delete the shared memory if REXX
      is still running.
      Note: The $RXHOME variable can also be set to delete the
            shared memory connected to file $HOME/..IBM_OREXXV#.R#.M#.F#
            or to file /tmp/..IBM_OREXXV#.R#.M#.F#userID (owner).

            If you use REXX normally, REXX takes care of the shared memory.

   C. Documentation

      If the "orexxman.img" image file has been installed on your AIX
      system, you can find the following documents in directory
         /usr/lpp/orexx.info.en_US/*

             "Object REXX Reference"            - file: rexxref.pdf
             "Object REXX Programming Guide"    - file:  rexxpg.pdf
             "RxSock Reference"                 - file:  rxsock.pdf
             "RxFtp Reference"                  - file:   rxftp.pdf

      The documentation is provided in Adobe Acrobat ( *.pdf ) format for
      viewing using the Adobe Acrobat reader acroread. The Acrobat reader
      can also be installed from your Object REXX for AIX CD-ROM or you
      can obtain it from:
         http://www.adobe.com/products/acrobat/readstep.html

   4. What has been fixed:

   -  with PTF image number 001

 ORX0001.1. Fix of built-in function >directory()< to resolve the tilde.

 ORX0001.2. Fix of utility function >SysFileTree()< to get fully-qualified
            directory name.

 ORX0001.3. Number of REXX queues is up to 32K.

 ORX0001.4. Performance improvement for the deletion of local variables
            in REXX procedures. The variables must be in a subsidiary list of
            variables to "DROP".

 ORX0001.5. Match Return Code logic for Utility functions SysDumpVariables,
            SysSetFileDateTime, SysStemSort, SysStemDelete, SysStemInsert and
            SysStemCopy with other Utility functions. That is:

            Return Code

             0    Operation was successful
             1    Operation was not successful

 ORX0001.6. Fix of built-in function >stream< to get the correct write position
            for a binary file with fixed record length.

 ORX0001.7. Fix for built-in functions >linein/lineout> to handle ASCII
            files containing CR/LF correctly.

 ORX0001.8. Fix for built-in function >random< to support random(1,,99).

 ORX0001.9  Fix of looping if rexx.cat cannot be found.

 ORX0001.10 Fix of reload failure if library could not be loaded the first
            time.

 ORX0001.11 Fix of stop when concurrent processes destroy the chain of
            session queues.

 ORX0001.12 If LANG=C is defined, the default message catalog in the
                                directory /usr/lpp/orexx.msg.en_US is used.

   -  with PTF image number 002

 ORX0002.01 If the Object REXX interpreter runs in the background
            (cgi-application) it tries to get the HOME directory of the
            effective user ID if the $RXHOME environment variable is
            not set (for more information, see Item 3.B "IMPORTANT").

 ORX0002.02 Function registration is kept for each REXX process
            until it ends. This prevents a memory leak by loading
            libraries each time a function is called and improves
            the performance of REXX.
            Note: Registered functions remain in the shared memory
                  when the REXX process has been "killed"
                  (for more information, see Item 3.B "IMPORTANT").

 ORX0002.03 Memory leaks are prevented by:
            - a new memory management
            - an enhanced Termination process

   -  with PTF image number 003

 ORX0003.01 The built-in function "FILESPEC" with parameter "name"
            returns the correct length of the file name.

 ORX0003.02 If the environment variable $LIBPATH is not set, the default
            path "/usr/lib" is used.

 ORX0003.03 The binary "rxdelipc" checks whether REXX is running and
            does not delete the shared memory if REXX is running.

   -  with PTF image number 004

 ORX0004.01 The signals are now blocked until shared-memory processing
            has ended (except "kill -9 pid") to prevent a loop in shared-
            memory allocation.

 ORX0004.02 The samples "callrexx" are updated to prevent a memory leak.

 ORX0004.03 The FTP API load function "FtpLoadFuncs" can be called in
            uppercase or mixed case.

 ORX0004.04 The internal function indicates if the application with the
            REXX library "librexx.so" was not built thread-save.

   -  with PTF image number 005

 ORX0005.01 A signal handler for the signal SIGINT is used by REXX to catch
            a "SIGNAL ON HOLD". It can now be overruled if defined externally.

   -  with PTF image number 006

 ORX0006.01 The shared memory anchor point is now a file named:
            ..IBM_OREXXV#R#M#F#. It resides in the $HOME directory and
            if this is not possible, it is in the /tmp directory, appended
            by the user ID.

 ORX0006.02 You no longer get a wrong value if the environment variable has been
            set several times.

   -  with PTF image number 007

 ORX0007.01 The session queue must not be shared among processes.

 ORX0007.02 Piped input from STDIN is read up to the end of buffer.

 ORX0007.03 The built-in function "linein()" must not count hex"0D"
            as line delimiter.

 ORX0007.04 RxFTP API converts x"0D0A"(CRLF) line delimiters for sending
            and receiving ASCII files.

 ORX0007.05 RxFTP API has new trace functions: FTPTRACE(),
            FTPTRACELOG() and FTPTARCELOGOFF().

         Function description:

         1.) The FtpTrace() call switches a trace function of the REXX FTP
             procedure on or off. If the trace function is switched on, the
             FTP API functions and its parameters are displayed.

               Syntax:
               rc = FtpTrace()

               The return value is always "0".

         2.) The FtpTraceLog() call opens a log file and writes messages to it
             that were traced between the FTP client and server. If the function
             is called again, the open log file is closed and another  or  the
             same log file is opened. This procedure can be used to record only
             the latest transfer, keeping the log file small and returning only
             the latest errors.

               Syntax:
               rc = FtpTraceLog(logFileName<,logFileMode>)

               where:
               logFileName       is the name of the log file, or the
                                 fully-qualified path and the name of
                                 the log file.

               logFileMode       is the mode of the log file. The default
                                 mode is append "2" and mode  "1" starts
                                 to write the log file at the beginning.

               The return value is "-1", if it has failed, or "0".

         3.) The FtpTraceLogOff() call ends the writing of the log file and
             closes it.

               Syntax:
               rc = FtpTraceLogOff()

               The return value is "1" if it has failed or "0".




   5. Contacts

   Please address any comments and problem reports to:

   the preferred way via our home page's problem reporting facility:
      http://www.ibm.com/software/ad/obj-rexx

 or
   Email: rexxhelp@vnet.ibm.com

 or
   Postal address:
   IBM Deutschland Entwicklung GmbH
   REXX Development, Department 7804
   Postbox 1380
   D-71003 Boeblingen
   Germany

