February 11, 2003

At the time of the initial port, I was not aware of a make facility
for OpenVMS.  So, I would just compile and link the various files by
hand:

   $ cc netperf.c
   $ cc netlib.c
   $ cc netsh.c
   $ cc nettest_bsd.c
   $ cc netserver.c
   $ link/exe=netperf netperf.obj,netsh.obj,netlib.obj,nettest_bsd.obj
   $ link/exe=netserver netserver.obj,netsh.obj,netlib.obj,nettest_bsd.obj

Installation for OpenVMS has a few differences from installation under
say Unix.  There is no inetd for VMS - however, there is the concept
of an adding an auxilliary service that seems quite similar.

To configure netperf for operation as an auxilliary service, you will
need to edit/use the netserver_run.com file and alter the "path" to
netserver accordingly.  The version that ships is setup for where Rick
Jones did his initial porting work and most likely is not apropriate
for you :)

   $  define sys$output sys$sysroot:[netperf]hello_service.log
   $  define sys$error  sys$sysroot:[netperf]hello_service.log
   $  run sys$sysroot:[netperf]netserver.exe

Then it will be necessary to "define" netperf (netserver) as an
auxilliary service. This will need to be customized as apropriate for
your system

   $ tcpip set service netserver -
   _$ /port=12865 -
   _$ /protocol=tcp -
   _$ /user=system -
   _$ /limit=48 -
   _$ /process_name=netserver -
   _$ /file=sys$sysroot:[netperf]netserver_run.com

And then it is necessary to enable the service:

$ tcpip enable service netserver

If you want to disable the service, you can issue the command

$ tcpip set noservice netserver

By default, OpenVMS is case-insensitive with commandlines, and will
downshift everything to lower case.  This does not interact well with
netperf's use of command-line options like "-H" and "-h" with rather
different meanings.

To workaround that, the following defines are believed to be
sufficient.

$ define  DECC$ARGV_PARSE_STYLE       ENABLE
$ define  DECC$EFS_CASE_PRESERVE      ENABLE
$ define  DECC$POSIX_SEEK_STREAM_FILE ENABLE
$ define  DECC$EFS_CHARSET            ENABLE
$ set process /parse_style=extended

I do not know if this will be something one can also do for the
netserver - presumeably one could put these things in the
netserver_run.com file (guessing). At present though I've not tried
that, and I'm also not sure that netserver has any upper-case options.