VMS Stuff

Here is a (currently rather random) collection of some of the stuff I've written for or ported to OpenVMS ("God's own OS"). These should all work on both VAX and Alpha (at the moment I mainly use Alpha/VMS 6.2).

You are welcome to use any of these files. If you make any improvements that might be of general use, I'd be grateful for the changes so I and others can make use of them. If you find any bugs (or, better still, fixes) please let me know. To facilitate this (and coz I'm vain that way), please keep any author information on these files or any derivatives you make. If you plan to redistribute any of these files, I'd appreciate hearing about it. Even if you just use some of this, feel free to drop me an e-mail anyway.

Just in case there are any lawyers out there gagging to sue... it goes without saying that this software is provided "as is", without express or implied warranty (if you thought you'd get any sort of warranty then I doubt you'll have much use for any of this stuff - in your padded cell).

Packages

vue_profile
Allows DECWindows/Motif session manager and FileView settings to be accessed from DCL. [This package is still under test.] [under construction]

DCL Command Procedures

dclinfo.com
can be used to obtain the filespec(s) of DCL command procedures used to invoke it, or line(s) from the recall buffer. Neither of these are normally available to DCL command procedures. The results can be displayed, output to a file, or put into DCL global symbols.

It may seem odd to put these two functions into a single command procedure. This was done to allow them to use a common general-purpose subroutine (GET_SYMBOLS) for determining VMS global symbol addresses (used to access CLI datastructures).

random.com
contains a DCL subroutine to generate a random integer within a specified range. It uses a simple linear congruential random number generator, with constants suggested by Knuth and Lewis (cf. Numerical Recipes in Fortran, W.H.Press et al., 2nd ed., p275). The seed is based on the time as well as various process statistics.
ssh_list.com[new]
Lists all active processes created by the VMS SSH server in a format similar to SHOW USERS. For interactive processes, the remote node and port number are included. [Tested with SSH Server version 0.9b.]

Web Client Utilities

hot-convert.com
DCL procedure to convert between Mosaic hotlist (either new or old format) and Netscape bookmarks file. Based on an idea from the Unix shell script, hot-convert.sh from Netscape, but this does much more.
sound2au.com
DCL procedure to invoke SoX to convert a sound file of arbitrary format to a format that can be played by DECsound. It can also optionally invoke DECsound, and can thus be used as a sound player for a web browser. See the comments at the top of the file for details.
SoX
Sound format conversion program by Lance Norskog and others used by sound2au.com. A number of changes (reported to the authors) were needed to get this to work under VMS, so I'm making the programs available here as (GZIP) compressed VAX and Alpha executables. These were compiled from sox10-ircam (Sep 23 1993) in August 1994, so there is a good chance that you are running a later version of VMS and the executables will be compatible with your system. Perhaps it will be easier to compile with a more recent DEC C compiler, or using the SoX11 "gamma" release. See the SoX pages for more information.

Web Server Scripts

These scripts were designed to work with the OSU HTTPD server, though in some cases they may also work with the CERN HTTPD Server. In all cases, the script output includes a pointer to its source.
headers.com -- try it
Test HTTP Headers. This script demonstrates
gunzip.com -- try it
Allows decompression of compressed and gzipped files on the fly, so they can be accessed by clients that can't do the decompression themselves. Requires the gzip program.

Navigation links: [My Home] [WWW Information] [OpenVMS Home]
HTML 3.2 Checked... Best viewed with ANY browser! http://hepwww.rl.ac.uk/Delphi/Adye/VMS.html last modified on 22nd September 1998 by
Tim Adye, <T.J.Adye@rl.ac.uk>