Files in the VMS port kit: vms.readme -- this file net_vms.c -- player-type net layer for MultiNet xmit_vms.c -- server-to-server net layer for MultiNet makemud.vms -- DCL script to build everything [.rwho]makerwho.vms -- DCL script to build the RWHO library [.db]makedb.vms -- DCL script to build the DB library and vms_load [.cmd]makecmd.vms -- DCL script to build the command library [.db]vms_dbm.c -- dbm emulator for VMS (using RMS indexed files) [.db]vms_dbm.h -- header file for above [.db]vms_load.c -- DB loader for conversion of flat OIF to dbm format -- Use the files net_vms.c and xmit_vms.c to provide networking services. These will work only with the MultiNet networking software, and may need the #include directives tweaked around a little. Where people put the header files is not entirely standard. Likewise, of course, the tweaked variations on this theme should be used below. -- DB layer is provided by [.db]vms_dbm.c and [.db]vms_dbm.h. The The hashed dir and gdbm layers are NOT supported, only dbm, and that is emulated well enough for this application only. Also, vms_load.c replaces loaddb.c & expr.c, while dumpdb.c is not provided at this time (use _mudconfig backup from inside your server to do a dump, if you like). NOTE: vms_load is equivalent to, but not a clone of, loaddb. The parameters are *different*. To wit, the flags are: -i <input oif file> -o <output database name> -v (optional: sets verbose mode) -Ci (optional: indicates that input file is compressed) -Co (optional: generates a compressed output file) The output DB name should NOT have a file name extension. I.E. 'mymud' is fine, 'mymud.db' is NOT, the '.db' bit is wrong. -- startup and config files -- use VMS style paths therein. config.h issues --------------- - set up the config.h file as indicated therein for VMS, and put in a #define VMS for luck, if it's not there. - Turn off ALL database options of any kind (even the ones that 'can all be on') except those pertaining to dbm. You want dbm, not OLDDBM. - You may use RWHO if you like. If you are not using it, you will want to alter makemud.vms to not build that library, and not link the server to it. - You don't want DAEMON or SETSID. - You do want the index() defined to strchr(), random() to rand() and srandom to srand(). Include math.h., and string.h. - Crank MAXOID down to 28 (reasons buried in the DB layer). ----------------------- The following stuff should all be done by setting up the right defines in config.h: 2) [.umud]cmd.c and [.umud]mud.c seem to include <sys/param.h>, and nothing gets upset if you don't include it. Beats me why the Unix version wants it. 3) [.umud]misc.c demands that you include <time.h>. I am not clear on why the Unix version does not. 5) dbmchunk.c needs a totally new set of includes, as it does unix style I/O and the usage of NONSYSTYPES_H etc is not consistent herein. To be exact: #include <stdio.h> #include <types.h> #include <file.h> #include <unixio.h> #include "vms_dbm.h" instead of: #include <stdio.h> #include <sys/param.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/file.h> etc.. do not include dbm.h or any of its friends either. 6) RWHO gear. Works fine, though the includes in clilib.c need to be changed around a bunch. In particular, after all the usual includes that VMS has (ctype, stdio, etc..) stop including Unix goo and include: #include "multinet_root:[multinet.include.sys]types.h" #include "multinet_root:[multinet.include.sys]socket.h" #include "multinet_root:[multinet.include.netinet]in.h" #include "multinet_root:[multinet.include]netdb.h" roughly, instead of the equivalent Unix files. In updat.c include types.h instead of sys/types.h. If NONSYSTYPES_H was set up right, you would not have to do this.