Look What I Found On Warp Connect
Автор: Richard K. Goran
Дата: March, 1996
Hidden and Obscured .inf Files in Warp Connect
I have noticed that there are .inf files installed as part of Warp Connect that don't show up in the OS/2 System Information folder (the folder with an object ID of
Since there are many new .inf files with Warp Connect, I thought it would be a good idea to include a reference to each of these other files in the WP_INFO folder. At the same time, I wanted to create a new folder which would contain a reference to the .hlp files associated with Warp Connect. The complete REXX program, 9603ls01.cmd, is too large to include within this column; however, it can be downloaded as [../pub/9603ls01.zip 9603ls01.zip]. The ZIP file includes the program source code as well as [../pub/welcome.htm#wptool wptool.dll], a freeware API from Henk Kelder of the Netherlands which is used to interrogate the contents of Workplace Shell objects from a REXX program. The sequence numbers, surrounded by square brackets, are also included where appropriate in the description of the program.
Figure 1 contains a copy of the OS/2 System Information folder after this program is run. The .inf files which were added by this program can be identified with the book logo containing a question mark.
The first thing that needs to be done is to identify those .inf files that were already referenced in
Once we have built a list of all of the WPProgram objects in
Each .inf and .hlp file will be added to an associative array which was initialized to nulls [0198-0208]. An associative array is a compound variable whose indices (tails) are not sequential and not in any given order. Associative arrays are unique to REXX (see OS/2 Magazine - [9412.htm The REXX Column, December, 1994]). The index of each element of this array is the full file system name (drive, path, and file name) of the .inf or .hlp file. Any non-null value can be assigned to each of these array elements since the array was initialized to a nulls. Special attention must be paid to using non-numeric tails. By definition, REXX treats all variable names and stem names as if they were written in uppercase. Tails, on the other hand, are processed in the case they were written. Therefore, when a variable containing non-numeric data is used as a tail in a compound variable, it must be written un uppercase [0202, 0385].
Since our purpose is to include the .inf and .hlp files included with the Warp Connect install, the next task is to build a stem variable containing all of these files contained in the Connect-related directories. These directories in grpware, ibmcom, ibmlan, lanlk, mptn, muglib, nsc, tcpip, and wal. The SysFileTree() function in REXXUTIL is used to build a temporary array of the files in each of these directories. The contents of the temporary array is cumulatively copied to a combined array. This task must be done by element unless Object REXX or an external API is used that permits copying arrays in their entirety [0218-0223].
Each of the .inf and .hlp files in the compound array is checked against the associative array built from the contents of the
Many of the .hlp files will produce some insight into the workings of the Connect-related programs. Generally you would not see these .hlp files without previously having launched the respective program. This is a Catch 22 situation if you don't know that the program exists. For example, the Connection Manager (\ibmlan\netprog\conman.exe) program is not referenced in any of the Connect folders. I didn't even know about it until I built the new folder. I will leave it to you, the reader, to see what Connection Manager is all about.
Some of the .hlp files have titles and others do not. Where a title could be extracted from the .hlp file [0278-0309], it was used as the first of a two-line title for the WPProgram object with the file system name used as the second line. Where no .hlp file title could be found, the WPProgram object title is just the file system name.
Many bits of wisdom can be gleaned from the .hlp files. Take a look at \tcpip\help\tcpguide.hlp. It contains the only source of information I have found about the netrc file capability. NETRC can also be used as an environment variable to point to a file of your choice to be used by the NETRC facility for controlling FTP and REXEC clients. You can read this information by searching in the tcpguide.hlp file for netrc.