Here you can download some of my code for the OpenVMS operating system as zip files. All the utilities are freeware and come with full source code, although a standard license and disclaimer applies.

All the code is written in C unless otherwise mentioned in the descriptions.

I would be very interested in hearing feedback about any of this code. Bug reports are always welcome at

Note that most of these programs either are internals code or require privileges on the system, so please, please, please understand what you are doing before running them with full privileges on a production box. If you don't understand the code, I recommend you do one of two things:

You have been warned.


ACLSearch is a little program I wrote to search a disk for files that meet specific requirements by either having or not having a set of access control entries in their access control list. The syntax is similar to the VMS search command. Download ACLSEARCH.ZIP


Size2 is a program that will total the size of all files in a directory tree by reading the directory files and INDEXF.SYS. Additionally, the program reports the number of blocks in expired files. The "2" is on the end of the name as this was my second time writing this code. The first time has been lost to the bit bucket.

By itself, this program is not particularly useful. However, it's a nice example of how to read the file system directly. Download SIZE2.ZIP


A very small utility to take out the file serialization lock for a directory. When a file is written to the directory, the utility will notice the file system requesting the serialization lock and exit. This is useful for DCL command procedures that would otherwise poll the directory for new files. Download WATCHDIR.ZIP


This is a very old program that I submitted to the DECUS library years ago. It promptly caused a lot of DECUS distribution tapes to be banned from export from the USA, hehe. The code itself is really old, dating to about 1983 (and having said that, may or may not be a very good encryption algorithm). It's nearly embarrassing to publish it now, but then again, why not? You can see what a naive MACRO-32 programmer I was back then :-) Download ENCRYPT.ZIP


This program uses multiple kernel threads doing Fast I/O to a non-file structured disk to get a basic measurement of that disk's performance. Download DBM.ZIP


This zip file contains source code for a function that analyzes the metadata of an RMS indexed file to count the number of record revectors (created by bucket splits). With knowledge of the application, these figures can be useful to determine the frequency that converts should be performed on the file. Download RRV.ZIP


This MACRO-32 code uses the DCX$ routines to compress and expand files. Download DCX.ZIP


This C and macro code uses the LIB$TABLE_PARSE() routine to analyze the output from the LICENSE LIST/FULL command with the object of finding license violations. Download ALMF.ZIP


A Bison based infix calculator supporting all the one argument double precision C math functions. The calculator allows you to output local or global DCL symbols, and reads string representations of floating point numbers from DCL symbols on the right hand side. Download MATH.ZIP


I was looking at the c.o.v archives and while there is a lot of discussion on how to capture OPCOM messages, I couldn't find an example. Realizing I had a good one kicking around, here is how to programmatically capture OPCOM messages via an operator enabled pseudoterminal. Download CATCH_OPCOM.ZIP


How to speed up logins using a stripped down LOGIN.COM and an executable image to do symbol and logical definitions (among other things). Download LOGIN.ZIP


This program reports on the number of file headers in use and the number of mapping retrieval pointer words left in the header for INDEXF.SYS. This information is useful to prevent you getting exciting error messages such as %SYSTEM-W-HEADERFULL. Download HC.ZIP

The Examples Collection

All the Code examples in a convenient zip file. Download EXAMPLES.ZIP

Poor Man's PCA

This module, when linked with a program to be analyzed, collects PC information similar to the DECset PCA product. Download PCA.ZIP


And a little bit of fun, a program that plays the card game of blackjack, written in MACRO-32. Download BLACKJACK.ZIP

Artistic Style

I assist in the porting and testing of Artistic Style, a source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages. As of version 1.21, Artistic Style is officially supported on OpenVMS. You can download the kit at the product's Sourceforge page.

The kits that were previously located on have been removed.