image vms-shark OpenVMS is the operating system originally written for Digital Equipments (DEC) VAX series of MiniComputers.
Today , OpenVMS is owned by HewlettPackard (HP).
OpenVMS runs on Vax,Alpha, and Intel IA64 (Itanium) CPU architectures.

VMS Utility Programs

This is my directory for several small utility programs not belonging to a specific project.
Referenced routines are in the util directory above.
Make-files assume those routines to be in SYS$LIBRARY:UTIL.OLB
If this is not true, make a process define of SYS$LIBRARY, appending the directory containing UTIL.OLB to the existing directory(-list).
or remove ",sys$library:util/lib" from make_*.com files and define LNK$LIBRARY to point to UTIL.OLB .

Build:

Either use the make_*.COM files for single programs, @make_all to make them all, or
MMS/MMK target : blank target to make all, utility.EXE for a single one.
Build has been tested on VMS 7.3-1 Alpha (DECC 6.5, Fortran 7.5) and VMS 8.3 IA64.

On VMS 6.2 VAX: main programs need to activate the old "external name" instead of the "cDEC$ attributes extern :: name".
For *.FPP source files, this is automatically done by @FPP -P name.FPP !

On systems/Fortran compilers,where $EFNDEF is not available, use $EFNDEF.VMS6_2 as a simple replacement, falling back to use EFN 0 instead 128.
Put this file into a text library, and define logical FORT$LIBRARY to point to it:
$ Library/create myfordef.tlb/text $EFNDEF.VMS6_2
$ define FORT$LIBRARY 'f$environment("DEFAULT")'myfordef.tlb

FPP:

For fortran preprocessor files, I use the FPP from Sun-studio tools ( http://developers.sun.com/sunstudio/products/previous/fortran/ )
If not available, the standard C preprocessor (CC/PREPROC/NOLINE_DIRECTIVES) can be used to produce the same result.
FPP.COM is written so, that with a command definition like FPP := @FPP.COM the FPP commands in the make_*.com and *.MMS scripts are working.

Download:

All sources needed for Util.OLB and the applications in [.main] are available in huber_util.zip

Copyright:

If not stated differently inside a source file, all software here is issued under the GNU Public License (GPL), see ../../pds/gpl.html .

See also some packages at my PDS page .

(Hyper)Text files

  1. askok.HTML (2KB): ASKOK - popup a confirmation window
  2. broadcast.HTML (1KB): BROADCAST send a message to a users terminals
  3. cefcluster.HTML (1KB): CEFCLUSTER show/set/wait state of eventflags
  4. common.html (2KB): Process Common Area Utilities
  5. cvdate.html (3KB): CVDATE - Convert European/ISO/US/VMS date into European/ISO/US/VMS format date
  6. f$delta_time.HTML (3KB): f$delta_time calculate VMS delta time
  7. fid2name.HTML (1KB): Get the name of the file given by file-ID
  8. invert_endian.HTML (1KB): INVERT_ENDIAN invert endianess of a file of integer data
  9. main.HLP (13KB): Help file for Huber's utilities
  10. mbx.HTML (4KB): VMS Mailbox Utilities
  11. msp.HTML (2KB): VMS Magtape Utility
  12. sendme.HTML (1KB): sendme: send a message to all my terminals
  13. str$match_wild.HTML (1KB): STR$MATCH_WILD
  14. taste.HTML (2KB): TASTE - get a single keystroke from terminal
  15. trimcard.HTML (1KB): TRIMCARD trim card-image files
  16. wake.HTML (1KB): WAKE wake a hibernated process
  17. Xsessionselect.html (2KB): Select X session type (for XDM)

Program sources,scripts

  1. $.for (1KB): $.for
  2. add_exe_to_zip.com (1KB): add_exe_to_zip.com
  3. add_time_table.CLD (1KB): add_time_table.CLD
  4. ASCII_TO_HTML_ENTITY.C (1KB): convert string in commandline argument 1 to html-entity notation
  5. askok.C (10KB): Pop up window to confirm or quit using Motif/UIL
  6. askok.mms (2KB): askok.mms
  7. askok.tcl (1KB): TCL/TK version of askok
  8. askok.UIL (2KB): askok.UIL
  9. askok2.C (2KB): Pop up window to confirm or quit (Xaw version)
  10. askok3.C (9KB): Pop up window to confirm or quit
  11. askok3.UIL (1KB): askok3.UIL
  12. askok4.C (6KB): Pop up window to confirm or quit
  13. binary_date.C (2KB): convert date_time in arg2 to binary time (hexadecimal) in DCL symbol arg1
  14. binary_date.CLD (1KB): binary_date.CLD
  15. binary_date.FPP (2KB): binary_date - return binary time (hexadecimal) in a symbol
  16. binary_date_table.CLD (1KB): binary_date_table.CLD
  17. blocks_to_mb.C (1KB): calculate MegaBytes from disk-blocks
  18. blocks_to_mb.mms (2KB): blocks_to_mb.mms
  19. broadcast.FPP (1KB): send a message to another user in the cluster
  20. broadcast.MMS (2KB): broadcast.MMS
  21. broadcast_cli_table.CLD (1KB): broadcast_cli_table.CLD
  22. BROADCAST_COMMON.FOR (3KB): BROADCAST_COMMON.FOR
  23. bytes_to_blocks.C (1KB): calculate disk-blocks from number of bytes
  24. cefcluster.FOR (4KB): monitor/change state of common eventflags in any given Common Event Flag CLUSTER
  25. common.MMS (4KB): common.MMS
  26. common_show.FOR (1KB): Display content of process common
  27. common_to_symbol.FOR (1KB): Put content of process common into a DCL symbol
  28. COUNT_NEW_MAIL.FOR (1KB): COUNT_NEW_MAIL.FOR
  29. cvdate.FPP (1KB): Convert date from/to European,ISO,US, or VMS format
  30. cvdate.MMS (2KB): cvdate.MMS
  31. CVDATE_COMMON.FOR (4KB): CVDATE_COMMON.FOR
  32. cvdate_table.cld (1KB): cvdate_table.cld
  33. cvtnum.MMS (2KB): cvtnum.MMS
  34. cvtnum_m.C (3KB): convert argument to a number, display in decimal,hex,octal
  35. decc_ver.C (1KB): decc_ver.C
  36. decc_ver.com (1KB): decc_ver.com
  37. delmbx.C (1KB): Delete a mailbox via the $DELMBX system service.
  38. delmbx.FOR (1KB): Delete a mailbox device
  39. delta_time.CLD (1KB): delta_time.CLD
  40. delta_time_table.CLD (1KB): delta_time_table.CLD
  41. descrip.MMS (12KB): descrip.MMS
  42. dwtlibshr.OPT (1KB): dwtlibshr.OPT
  43. dxmlibshr.OPT (1KB): dxmlibshr.OPT
  44. echoc.C (1KB): read from stdin and write to stdout
  45. endianess.C (1KB): endianess.C
  46. endianess.F (1KB): endianess.F
  47. f$add_time.FPP (1KB): F$ADD_TIME - add two dates/times
  48. F$ADD_TIME_COMMON.FOR (2KB): F$ADD_TIME_COMMON.FOR
  49. f$delta_time.FPP (7KB): F$DELTA_TIME - compute difference between 2 dates to a delta time
  50. f$delta_time.MMS (2KB): f$delta_time.MMS
  51. fid2name.FPP (1KB): get file name from known File-ID (f,s,v)
  52. fid2name.MMS (2KB): fid2name.MMS
  53. FID2NAME_COMMON.FOR (3KB): FID2NAME_COMMON.FOR
  54. fid2name_table.CLD (1KB): fid2name_table.CLD
  55. flt_off.c (1KB): flt_off.c
  56. flt_on.c (1KB): flt_on.c
  57. fortran_iostat.for (1KB): fortran_iostat.for
  58. fpp.com (1KB): fpp.com
  59. getkey.FPP (1KB): getkey - get a keystroke and put it in a symbol
  60. GETKEY_COMMON.FOR (2KB): GETKEY_COMMON.FOR
  61. getkey_table.CLD (1KB): getkey_table.CLD
  62. hiber.C (1KB): Program that performs a $HIBER, i.e. sleeps until WAKEd.
  63. hiber.FOR (1KB): HIBER.FOR: performs a $HIBER, i.e. sleeps until WAKEd.
  64. hostaddress.C (1KB): hostaddress.C
  65. input_to_common.FOR (1KB): Put input lines to process common
  66. invert_cli_table.CLD (1KB): invert_cli_table.CLD
  67. invert_endian.FPP (1KB): Convert files containing (binary) 32 bit integers to big-endian or vice versa
  68. invert_endian.MMS (2KB): invert_endian.MMS
  69. INVERT_ENDIAN_COMMON.FOR (5KB): INVERT_ENDIAN_COMMON.FOR
  70. make_all.COM (2KB): make_all.COM
  71. make_askok.COM (1KB): make_askok.COM
  72. make_askok2.COM (1KB): make_askok2.COM
  73. make_askok3.COM (1KB): make_askok3.COM
  74. make_askok4.COM (1KB): make_askok4.COM
  75. make_binary_date.COM (1KB): make_binary_date.COM
  76. make_blocks_to_mb.com (1KB): make_blocks_to_mb.com
  77. make_broadcast.COM (1KB): make_broadcast.COM
  78. make_common.COM (1KB): make_common.COM
  79. make_cvdate.com (1KB): make_cvdate.com
  80. make_cvtnum.COM (1KB): make_cvtnum.COM
  81. make_f$add_time.COM (1KB): make_f$add_time.COM
  82. make_f$delta_time.COM (1KB): make_f$delta_time.COM
  83. make_fid2name.COM (1KB): make_fid2name.COM
  84. make_getkey.COM (1KB): make_getkey.COM
  85. make_invert_endian.COM (1KB): make_invert_endian.COM
  86. make_mbx.COM (1KB): make_mbx.COM
  87. make_msp.COM (1KB): make_msp.COM
  88. make_sendme.COM (1KB): make_sendme.COM
  89. make_smgmenu.com (1KB): make_smgmenu.com
  90. make_str$match_wild.COM (1KB): make_str$match_wild.COM
  91. make_taste.COM (1KB): make_taste.COM
  92. make_time_t_to_vmstime.com (1KB): make_time_t_to_vmstime.com
  93. make_trimcard.COM (1KB): make_trimcard.COM
  94. make_wake.COM (1KB): make_wake.COM
  95. make_xsessionselect.COM (1KB): make_xsessionselect.COM
  96. match_wild_table.CLD (1KB): match_wild_table.CLD
  97. mbx.MMS (3KB): mbx.MMS
  98. mbxeof.FOR (1KB): Write EOF to a mailbox to terminate a pending MBX read
  99. motif.OPT (1KB): motif.OPT
  100. motifxmu.OPT (1KB): motifxmu.OPT
  101. msp.COM (2KB): MSP.COM - tape operations on tape $TAPE1
  102. msp.FOR (7KB): Utility to position unmounted/unlabelled tapes
  103. msp.MMS (2KB): msp.MMS
  104. mtsense.INC (1KB): mtsense.INC
  105. NOERROR.COM (1KB): NOERROR.COM
  106. packack.FOR (2KB): Issue a IO$_PACKACK function for a drive
  107. path_to_directory.C (3KB): Translates a Unix path to an OpenVMS directory spec
  108. perror.C (1KB): Display CRTL message text corresponding to errno given
  109. prmmbx.CLD (1KB): prmmbx.CLD
  110. prmmbx.FPP (1KB): Create a permanent mailbox
  111. PRMMBX_COMMON.FOR (3KB): PRMMBX_COMMON.FOR
  112. prmmbx_table.CLD (1KB): prmmbx_table.CLD
  113. prmmbx_user.C (5KB): Create a permanent mailbox
  114. rabadr.INC (1KB): rabadr.INC
  115. rdmbx.CLD (1KB): rdmbx.CLD
  116. rdmbx.FPP (2KB): read a message from a mailbox into a DCL symbol
  117. RDMBX_COMMON.FOR (5KB): RDMBX_COMMON.FOR
  118. rdmbx_table.CLD (1KB): rdmbx_table.CLD
  119. reduce_bookmarks.for (1KB): reduce_bookmarks.for
  120. sendme.FOR (3KB): send a message to all my logins in the cluster
  121. sendme.MMS (2KB): sendme.MMS
  122. setpw.C (1KB): set password for user
  123. set_file_revdate.c (1KB): Set File Revision Date/Time
  124. sitehelp.for (1KB): sitehelp.for
  125. smgmenu.FOR (5KB): present a menu of lines for selection using SMG menu
  126. smgmenu.MMS (2KB): smgmenu.MMS
  127. str$match_wild.FPP (1KB): Does a string match a wildcard ?
  128. str$match_wild.MMS (2KB): str$match_wild.MMS
  129. STR$MATCH_WILD_COMMON.FOR (1KB): STR$MATCH_WILD_COMMON.FOR
  130. symbol_common_table.cld (1KB): symbol_common_table.cld
  131. symbol_to_common.FPP (2KB): Put content of a DCL symbol (from command line) to process common
  132. symfromdcl.c (2KB): SYMFROMDCL - Pass commands to DCL and put the output into a DCL symbol DCL_OUTPUT
  133. taste.FPP (1KB): Get a single Keystroke from keyboard
  134. taste.MMS (2KB): taste.MMS
  135. TASTE_COMMON.FOR (3KB): TASTE_COMMON.FOR
  136. taste_table.CLD (1KB): taste_table.CLD
  137. text_common_table.cld (1KB): text_common_table.cld
  138. text_to_common.FPP (2KB): Put text from command line to process common
  139. time_t_to_vmstime.cld (1KB): time_t_to_vmstime.cld
  140. time_t_to_vmstime.mms (2KB): time_t_to_vmstime.mms
  141. time_t_to_vmstime_m.C (2KB): Convert time_t to VMS time in DCL symbol
  142. time_t_to_vmstime_table.cld (1KB): time_t_to_vmstime_table.cld
  143. trimcard.CLD (1KB): trimcard.CLD
  144. trimcard.FPP (2KB): Trim records in text files to max. 80 bytes, no trailing blanks
  145. trimcard.MMS (2KB): trimcard.MMS
  146. TRIMCARD_COMMON.FOR (4KB): TRIMCARD_COMMON.FOR
  147. trimcard_table.CLD (1KB): trimcard_table.CLD
  148. unix_to_vms.C (5KB): UNIX_TO_VMS Translates a Unix file spec to an OpenVMS file spec
  149. uutrim.FOR (2KB): cut files between begin and end for uudecode
  150. vmstime_to_time_t_m.C (2KB): Convert VMS time to time_t in DCL symbol
  151. vms_epoch.FOR (1KB): vms_epoch.FOR
  152. VMS_TO_UNIX.C (5KB): VMS_TO_UNIX Translates a single OpenVMS file spec to one or more Unix file specs.
  153. wake.CLD (1KB): wake.CLD
  154. wake.FPP (1KB): wake.for: WAKE a process by name or identification
  155. wake.MMS (3KB): wake.MMS
  156. WAKE_COMMON.FOR (4KB): WAKE_COMMON.FOR
  157. wake_table.CLD (1KB): wake_table.CLD
  158. wrmbx.FOR (4KB): write a message to a specified mailbox
  159. xlibshr.OPT (1KB): xlibshr.OPT
  160. xmlibshr.OPT (1KB): xmlibshr.OPT
  161. xsessionselect.C (11KB): Pop up menu to select VMS XDM session type
  162. xsessionselect.h (1KB): xsessionselect.h
  163. xsessionselect.MMS (1KB): xsessionselect.MMS
  164. xsessionselect.opt (1KB): xsessionselect.opt
  165. Xsessionselect.UIL (9KB): Xsessionselect.UIL

Postscript,PDF,Picture files

  1. Xsessionselect.jpg (81KB):

Other files

  1. $EFNDEF.VMS6_2 (1KB):


See also my PDS page .

A lot of program sources from usenet or Decus are in /vmssig/src/


A note to MS InternetExploder users:
All source files here are sent using mime-type text/plain.
MSIE is apparently misusing the filename extensions like .COM .FOR,MAR,.C,.H to decide how to display the file in the browser, resulting in strange line-breaks.
Those files can either be downloaded by using the menu File->Save target as... on the link, or using View->source in the browser.
Joseph Huber , huber AT mpp.mpg.de