 |
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
- askok.HTML (2KB): ASKOK - popup a confirmation window
- broadcast.HTML (1KB): BROADCAST send a message to a users terminals
- cefcluster.HTML (1KB): CEFCLUSTER show/set/wait state of eventflags
- common.html (2KB): Process Common Area Utilities
- cvdate.html (3KB): CVDATE - Convert European/ISO/US/VMS date into European/ISO/US/VMS format date
- f$delta_time.HTML (3KB): f$delta_time calculate VMS delta time
- fid2name.HTML (1KB): Get the name of the file given by file-ID
- invert_endian.HTML (1KB): INVERT_ENDIAN invert endianess of a file of integer data
- main.HLP (13KB): Help file for Huber's utilities
- mbx.HTML (4KB): VMS Mailbox Utilities
- msp.HTML (2KB): VMS Magtape Utility
- sendme.HTML (1KB): sendme: send a message to all my terminals
- str$match_wild.HTML (1KB): STR$MATCH_WILD
- taste.HTML (2KB): TASTE - get a single keystroke from terminal
- trimcard.HTML (1KB): TRIMCARD trim card-image files
- wake.HTML (1KB): WAKE wake a hibernated process
- Xsessionselect.html (2KB): Select X session type (for XDM)
Program sources,scripts
- $.for (1KB): $.for
- add_exe_to_zip.com (1KB): add_exe_to_zip.com
- add_time_table.CLD (1KB): add_time_table.CLD
- ASCII_TO_HTML_ENTITY.C (1KB): convert string in commandline argument 1 to html-entity notation
- askok.C (10KB): Pop up window to confirm or quit using Motif/UIL
- askok.mms (2KB): askok.mms
- askok.tcl (1KB): TCL/TK version of askok
- askok.UIL (2KB): askok.UIL
- askok2.C (2KB): Pop up window to confirm or quit (Xaw version)
- askok3.C (9KB): Pop up window to confirm or quit
- askok3.UIL (1KB): askok3.UIL
- askok4.C (6KB): Pop up window to confirm or quit
- binary_date.C (2KB): convert date_time in arg2 to binary time (hexadecimal) in DCL symbol arg1
- binary_date.CLD (1KB): binary_date.CLD
- binary_date.FPP (2KB): binary_date - return binary time (hexadecimal) in a symbol
- binary_date_table.CLD (1KB): binary_date_table.CLD
- blocks_to_mb.C (1KB): calculate MegaBytes from disk-blocks
- blocks_to_mb.mms (2KB): blocks_to_mb.mms
- broadcast.FPP (1KB): send a message to another user in the cluster
- broadcast.MMS (2KB): broadcast.MMS
- broadcast_cli_table.CLD (1KB): broadcast_cli_table.CLD
- BROADCAST_COMMON.FOR (3KB): BROADCAST_COMMON.FOR
- bytes_to_blocks.C (1KB): calculate disk-blocks from number of bytes
- cefcluster.FOR (4KB): monitor/change state of common eventflags in any given Common Event Flag CLUSTER
- common.MMS (4KB): common.MMS
- common_show.FOR (1KB): Display content of process common
- common_to_symbol.FOR (1KB): Put content of process common into a DCL symbol
- COUNT_NEW_MAIL.FOR (1KB): COUNT_NEW_MAIL.FOR
- cvdate.FPP (1KB): Convert date from/to European,ISO,US, or VMS format
- cvdate.MMS (2KB): cvdate.MMS
- CVDATE_COMMON.FOR (4KB): CVDATE_COMMON.FOR
- cvdate_table.cld (1KB): cvdate_table.cld
- cvtnum.MMS (2KB): cvtnum.MMS
- cvtnum_m.C (3KB): convert argument to a number, display in decimal,hex,octal
- decc_ver.C (1KB): decc_ver.C
- decc_ver.com (1KB): decc_ver.com
- delmbx.C (1KB): Delete a mailbox via the $DELMBX system service.
- delmbx.FOR (1KB): Delete a mailbox device
- delta_time.CLD (1KB): delta_time.CLD
- delta_time_table.CLD (1KB): delta_time_table.CLD
- descrip.MMS (12KB): descrip.MMS
- dwtlibshr.OPT (1KB): dwtlibshr.OPT
- dxmlibshr.OPT (1KB): dxmlibshr.OPT
- echoc.C (1KB): read from stdin and write to stdout
- endianess.C (1KB): endianess.C
- endianess.F (1KB): endianess.F
- f$add_time.FPP (1KB): F$ADD_TIME - add two dates/times
- F$ADD_TIME_COMMON.FOR (2KB): F$ADD_TIME_COMMON.FOR
- f$delta_time.FPP (7KB): F$DELTA_TIME - compute difference between 2 dates to a delta time
- f$delta_time.MMS (2KB): f$delta_time.MMS
- fid2name.FPP (1KB): get file name from known File-ID (f,s,v)
- fid2name.MMS (2KB): fid2name.MMS
- FID2NAME_COMMON.FOR (3KB): FID2NAME_COMMON.FOR
- fid2name_table.CLD (1KB): fid2name_table.CLD
- flt_off.c (1KB): flt_off.c
- flt_on.c (1KB): flt_on.c
- fortran_iostat.for (1KB): fortran_iostat.for
- fpp.com (1KB): fpp.com
- getkey.FPP (1KB): getkey - get a keystroke and put it in a symbol
- GETKEY_COMMON.FOR (2KB): GETKEY_COMMON.FOR
- getkey_table.CLD (1KB): getkey_table.CLD
- hiber.C (1KB): Program that performs a $HIBER, i.e. sleeps until WAKEd.
- hiber.FOR (1KB): HIBER.FOR: performs a $HIBER, i.e. sleeps until WAKEd.
- hostaddress.C (1KB): hostaddress.C
- input_to_common.FOR (1KB): Put input lines to process common
- invert_cli_table.CLD (1KB): invert_cli_table.CLD
- invert_endian.FPP (1KB): Convert files containing (binary) 32 bit integers to big-endian or vice versa
- invert_endian.MMS (2KB): invert_endian.MMS
- INVERT_ENDIAN_COMMON.FOR (5KB): INVERT_ENDIAN_COMMON.FOR
- make_all.COM (2KB): make_all.COM
- make_askok.COM (1KB): make_askok.COM
- make_askok2.COM (1KB): make_askok2.COM
- make_askok3.COM (1KB): make_askok3.COM
- make_askok4.COM (1KB): make_askok4.COM
- make_binary_date.COM (1KB): make_binary_date.COM
- make_blocks_to_mb.com (1KB): make_blocks_to_mb.com
- make_broadcast.COM (1KB): make_broadcast.COM
- make_common.COM (1KB): make_common.COM
- make_cvdate.com (1KB): make_cvdate.com
- make_cvtnum.COM (1KB): make_cvtnum.COM
- make_f$add_time.COM (1KB): make_f$add_time.COM
- make_f$delta_time.COM (1KB): make_f$delta_time.COM
- make_fid2name.COM (1KB): make_fid2name.COM
- make_getkey.COM (1KB): make_getkey.COM
- make_invert_endian.COM (1KB): make_invert_endian.COM
- make_mbx.COM (1KB): make_mbx.COM
- make_msp.COM (1KB): make_msp.COM
- make_sendme.COM (1KB): make_sendme.COM
- make_smgmenu.com (1KB): make_smgmenu.com
- make_str$match_wild.COM (1KB): make_str$match_wild.COM
- make_taste.COM (1KB): make_taste.COM
- make_time_t_to_vmstime.com (1KB): make_time_t_to_vmstime.com
- make_trimcard.COM (1KB): make_trimcard.COM
- make_wake.COM (1KB): make_wake.COM
- make_xsessionselect.COM (1KB): make_xsessionselect.COM
- match_wild_table.CLD (1KB): match_wild_table.CLD
- mbx.MMS (3KB): mbx.MMS
- mbxeof.FOR (1KB): Write EOF to a mailbox to terminate a pending MBX read
- motif.OPT (1KB): motif.OPT
- motifxmu.OPT (1KB): motifxmu.OPT
- msp.COM (2KB): MSP.COM - tape operations on tape $TAPE1
- msp.FOR (7KB): Utility to position unmounted/unlabelled tapes
- msp.MMS (2KB): msp.MMS
- mtsense.INC (1KB): mtsense.INC
- NOERROR.COM (1KB): NOERROR.COM
- packack.FOR (2KB): Issue a IO$_PACKACK function for a drive
- path_to_directory.C (3KB): Translates a Unix path to an OpenVMS directory spec
- perror.C (1KB): Display CRTL message text corresponding to errno given
- prmmbx.CLD (1KB): prmmbx.CLD
- prmmbx.FPP (1KB): Create a permanent mailbox
- PRMMBX_COMMON.FOR (3KB): PRMMBX_COMMON.FOR
- prmmbx_table.CLD (1KB): prmmbx_table.CLD
- prmmbx_user.C (5KB): Create a permanent mailbox
- rabadr.INC (1KB): rabadr.INC
- rdmbx.CLD (1KB): rdmbx.CLD
- rdmbx.FPP (2KB): read a message from a mailbox into a DCL symbol
- RDMBX_COMMON.FOR (5KB): RDMBX_COMMON.FOR
- rdmbx_table.CLD (1KB): rdmbx_table.CLD
- reduce_bookmarks.for (1KB): reduce_bookmarks.for
- sendme.FOR (3KB): send a message to all my logins in the cluster
- sendme.MMS (2KB): sendme.MMS
- setpw.C (1KB): set password for user
- set_file_revdate.c (1KB): Set File Revision Date/Time
- sitehelp.for (1KB): sitehelp.for
- smgmenu.FOR (5KB): present a menu of lines for selection using SMG menu
- smgmenu.MMS (2KB): smgmenu.MMS
- str$match_wild.FPP (1KB): Does a string match a wildcard ?
- str$match_wild.MMS (2KB): str$match_wild.MMS
- STR$MATCH_WILD_COMMON.FOR (1KB): STR$MATCH_WILD_COMMON.FOR
- symbol_common_table.cld (1KB): symbol_common_table.cld
- symbol_to_common.FPP (2KB): Put content of a DCL symbol (from command line) to process common
- symfromdcl.c (2KB): SYMFROMDCL - Pass commands to DCL and put the output into a DCL symbol DCL_OUTPUT
- taste.FPP (1KB): Get a single Keystroke from keyboard
- taste.MMS (2KB): taste.MMS
- TASTE_COMMON.FOR (3KB): TASTE_COMMON.FOR
- taste_table.CLD (1KB): taste_table.CLD
- text_common_table.cld (1KB): text_common_table.cld
- text_to_common.FPP (2KB): Put text from command line to process common
- time_t_to_vmstime.cld (1KB): time_t_to_vmstime.cld
- time_t_to_vmstime.mms (2KB): time_t_to_vmstime.mms
- time_t_to_vmstime_m.C (2KB): Convert time_t to VMS time in DCL symbol
- time_t_to_vmstime_table.cld (1KB): time_t_to_vmstime_table.cld
- trimcard.CLD (1KB): trimcard.CLD
- trimcard.FPP (2KB): Trim records in text files to max. 80 bytes, no trailing blanks
- trimcard.MMS (2KB): trimcard.MMS
- TRIMCARD_COMMON.FOR (4KB): TRIMCARD_COMMON.FOR
- trimcard_table.CLD (1KB): trimcard_table.CLD
- unix_to_vms.C (5KB): UNIX_TO_VMS Translates a Unix file spec to an OpenVMS file spec
- uutrim.FOR (2KB): cut files between begin and end for uudecode
- vmstime_to_time_t_m.C (2KB): Convert VMS time to time_t in DCL symbol
- vms_epoch.FOR (1KB): vms_epoch.FOR
- VMS_TO_UNIX.C (5KB): VMS_TO_UNIX Translates a single OpenVMS file spec to one or more Unix file specs.
- wake.CLD (1KB): wake.CLD
- wake.FPP (1KB): wake.for: WAKE a process by name or identification
- wake.MMS (3KB): wake.MMS
- WAKE_COMMON.FOR (4KB): WAKE_COMMON.FOR
- wake_table.CLD (1KB): wake_table.CLD
- wrmbx.FOR (4KB): write a message to a specified mailbox
- xlibshr.OPT (1KB): xlibshr.OPT
- xmlibshr.OPT (1KB): xmlibshr.OPT
- xsessionselect.C (11KB): Pop up menu to select VMS XDM session type
- xsessionselect.h (1KB): xsessionselect.h
- xsessionselect.MMS (1KB): xsessionselect.MMS
- xsessionselect.opt (1KB): xsessionselect.opt
- Xsessionselect.UIL (9KB): Xsessionselect.UIL
Postscript,PDF,Picture files
- Xsessionselect.jpg (81KB):
Other files
- $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