The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Поиск:  Каталог документации | DEC

OpenVMS Frequently Asked Questions (FAQ), Part 4/5

This posting contains answers to frequently asked questions about the OpenVMS operating system from Compaq Computer Corporation, and the computer systems on which it runs.
Archive-name: dec-faq/vms/part4
Posting-Frequency: quarterly
Last-modified: 2 Oct 2001
Version: VMS-FAQ-4.TXT(7)

This is the OpenVMS Frequently Asked Questions Part 4/5. 
Please see Part 1/5 for administrivia, indexing, archiving, etc.

DECW1.  How do I let someone else display something on my workstation?

On a workstation, you go into "Customize" menu of the session manager utility
and select "Security".  When the pop-up box appears, you can put
node/user/tranport to allow who can launch an application to the display on
that workstation.
                                             [Mike Raspuzzi]

> Yah, but this doesn't seem to work with non-VMS systems.  What do I put in 
> for the transport?  I tried "TCPIP" just for kicks, but it didn't work.

        You need a checklist of sorts:

      1) Make sure  that  you've  specified  the X-windows "display"
         correctly  on  the remote side.  For DECNET it's  something
         like NODE::0.0, for TCP/IP it's Node.Domain:0.0, etc.  On a
         unix system, define the DISPLAY environment variable so:

	      # setenv DISPLAY myvax.domain:0.0  
            sh and ksh:
              $ DISPLAY=myvax.domain:0.0 ; export DISPLAY

      2) If you've verified 1) and things still aren't working, make
         sure the Security settings on  the  VMS side will allow the
         connection:  Pull  down the "Options" menu in  the  Session
         Manager, select "Security..."  near  the  bottom.   If  you
         don't  find  your  host  (and  username) listed on the left
         under "Authorized Users", go to the  right side of the menu
         and   fill   in  the  three  fields,  "Node",   "Username",
         "Transport".  Then click on the Add botton, then the  Apply
         and  OK  buttons  to  add  the  new  host  to  the security

          a) There are  various  transports: LOCAL, DECNET, LAT,
             TCPIP,  etc.   Select  the one appropriate  to  the
             client machine's connection to the VMS machine.

	  b) If the connection is DECNET, do *NOT* add :: to the
             node name!

          c) If the connection is TCPIP, "Username" _must_ be an
             asterisk (*) because the  TCP/IP protocol used does
             not provide the remote username.

          d) If the connection is TCPIP, it's best to use a full
             domain name, e.g.,  Node.Subd.Domain.  However, you
             _may_  have  to use the IP address  itself,  rather
             than  the  domain  name  (EWS  requires  this).   I
             generally  add two entries for each TPCIP host, the
             first using the  domain  name,  the  second  the IP

          e) There are a  various  3rd  party vendors who supply
             TCP/IP  packages for VMS, including but not limited
             to  TGV  (Multinet)  and  Wollongong  (Pathway  ?).
             Multinet  (and  DEC's  own  UCX) call the transport
             "TCPIP", Wollongong, at least in some incarnations,
             uses "WINTCP".  You need to use the appropriate
             vendor's package transport name  in the "Transport"

      3) If things _still_  aren't  working, make sure the transport
         you  want  has  been activated for DECwindows.  This  is  a
         system manager job, but you can do the ground work yourself
         before bothering the sysmgr.  Do the following:


         If that file exists, then do:

            $_    DECW$SERVER_TRANSPORTS

         You sould find something like:

	    $ decw$server_transports == "DECNET,LOCAL,LAT,TCPIP"

         If the transport you want,  e.g., TCPIP, isn't listed, have
         your  system  manager  make  the  appropriate  changes  and
         restart DECwindows.  If the file doesn't exist, the  sysmgr
         will  have  to  create  it  by  copying  the  corresponding
         .TEMPLATE file  to  .COM  and  uncommenting  the  line that
         defines decw$server_transports.

          a) If you're wanting  to  use  TCP/IP to connect, make
             sure  TCP/IP is available on the VMS host.   TCP/IP
             is _not_ native to VMS.  You  need  to  be  running
             either Compaq's TCP/IP or a 3rd party vendor's TCP/IP
             product.   If  you're  not,  none of the above will

There is a log file created in SYS$MANAGER which tells you which transports
are loaded, and also tell you what connect attempts were rejected, including
showing what the presented credentials were.  This file is
SYS$MANAGER:DECW$SERVER_0_ERROR.LOG, although the 0 could be another number if
you have multiple servers on the workstation.  I have found this file to be
very useful for tracking down what needs to be put in the Session Manager
Security entries.

DECW2.  How do I create a display on another workstation?

$ SET DISPLAY /CREATE /TRANSPORT=net_transport /NODE=remote_node

for LAT the command might look like this:


for DECnet:


for TCP/IP


Note that LAT is typically used for X terminals but can be used from
OpenVMS to OpenVMS systems on OpenVMS Alpha V6.1 (if you have setup the X
server to allow the LAT transport - check the docs).  LAT will be supported
on OpenVMS VAX as a transport for DECwindows in a future OpenVMS VAX
					[Mike Raspuzzi]

There is a log file created in SYS$MANAGER which tells you which transports
are loaded, and also tell you what connect attempts were rejected, including
showing what the presented credentials were.  This file is
SYS$MANAGER:DECW$SERVER_0_ERROR.LOG, although the 0 could be another number if
you have multiple servers on the workstation.  I have found this file to be
very useful for tracking down what needs to be put in the Session Manager
Security entries.

DECW3.  How can I get the information from SHOW DISPLAY into a symbol?

Use the undocumented SHOW DISPLAY/SYMBOL, and then reference the symbols

An example of calling the underlying (and also undocumented) sys$qio 
programming interface for the WSDRIVER (WSAn:) is available at:

DECW4.  How do I get a log of a DECterm session?

If you are working from a Decterm, you can use the AutoPrint feature. Choose
the "Printer..." menu item from the "Options" menu, set the printing
destination to the name of the file you want, and set "Auto Print Mode".
You are now free to continue.

It should be noted that ALL the characters and escape sequences are captured,
but if you display the log file on a DECterm you will get EXACTLY what you had.
					[Yaacov Fenster]

DECW5.  Problem - the DELETE key deletes forward instead of backward!

This has to do with Motif's virtual bindings.  When a Motif application starts
up, it looks at the vendor string returned in the display connection
information and attempts to match the string to a table of virtual bindings.

You can override the default bindings in your decw$xdefaults.dat file. Here is
the entry you would make to get the default VMS bindings.
 osfCancel	:		<Key>F11	\n\
 osfLeft	:		<Key>Left	\n\
 osfUp		:		<Key>Up		\n\
 osfRight	:		<Key>Right	\n\
 osfDown	:		<Key>Down	\n\
 osfEndLine	:Alt		<Key>Right	\n\
 osfBeginLine	:Alt		<Key>Left	\n\
 osfPageUp	:		<Key>Prior	\n\
 osfPageDown	:		<Key>Next	\n\
 osfDelete	:Shift		<Key>Delete	\n\
 osfUndo	:Alt		<Key>Delete	\n\
 osfBackSpace	:		<Key>Delete	\n\
 osfAddMode	:Shift		<Key>F8		\n\
 osfHelp	:		<Key>Help	\n\
 osfMenu	:		<Key>F4		\n\
 osfMenuBar	:		<Key>F10	\n\
 osfSelect	:		<Key>Select	\n\
 osfActivate	:		<Key>KP_Enter	\n\
 osfCopy	:Shift		<Key>DRemove	\n\
 osfCut		:		<Key>DRemove	\n\
 osfPaste	:		<Key>Insert

To merge:

	$ xrdb :== $decw$utils:xrdb.exe
	$ xrdb -nocpp -merge decw$xdefaults.dat
					[Fred Kleinsorge]

DECW6.  Why is DECwindows Motif not starting?

First check to see if there is a graphics device, usually a G* device.
(eg: On a DEC 2000 model 300, use the command SHOW DEVICE GQ)  If you
do not find a graphics device:

a) OpenVMS has failed to find the appropriate IRQ information for an
   EISA graphics card (on the DEC 2000 series) such as the Compaq QVision,
   and did not autoconfigure it.  Run the correct ECU (for Tru64 UNIX and 
   OpenVMS) and reboot.  This is necessary only on EISA-based systems.

b) You have an EISA-based system (such as the DEC 2000 model 300) and do 
   not have a Compaq QVision video card.  This EISA graphics card should 
   have Compaq printed on it, and identifies itself as a CPQ3011 or a 
   CPQ3111.  If it is not one of these two EISA devices, then OpenVMS 
   does not support it.  (There are no other supported EISA graphics
   controllers, and EISA graphics are normally used with DECwindows only 
   on the DEC 2000 series systems.)

c) You have a PCI-based system and do not have a supported graphics
   controller -- examples of supported controllers include the

     PowerStorm 3D30
     PowerStorm 4D20
     PowerStorm 300
     PowerStorm 350
     ELSA GLoria Synergy

   See MGMT24 for information on some of these graphics controllers.

d) You have booted the system minimally, or have otherwise disabled
   the device autoconfiguration process.

If there is a G* graphics device present:

a) There may have been a severe error in the DECwindows startup. Type the
   contents of SYS$MANAGER:DECW$SERVER_0_ERROR.LOG for any information on
   errors starting the server.

b) The system parameter WINDOW_SYSTEM is not set to 1.  This is a common 
   way for system managers to disable the DECwindows server startup.

   If you really do not want a workstation system to bootstrap as and
   to represent itself as a workstation to DECwindows, add the following 
   definition to SYLOGICALS.COM:


c) You may not have a valid Motif license.    To check for the Motif 
   license, type the commands:


   and examine the information displayed.  Make sure that one of these
   licenses is present, valid and active.

d) Check that the DECW$PRIVATE_SERVER_SETUP.COM is correct for the
   graphics controller in use.  For instance:

     From the 9FX Vision 330 Owners Guide, EK-V330G-OG pg 2-9

     Place the following in DECW$PRIVATE_SERVER_SETUP.COM (copy from 
     .TEMPLATE, if needed).  Have the file in SYS$SPECIFIC:[SYSMGR] or 
     in SYS$COMMON:[SYSMGR] as apropriate.

       $ DECW$XSIZE_IN_PIXELS == <xvalue>
       $ DECW$YSIZE_IN_PIXELS == <yvalue>

Also see DECW14
					[Kleinsorge, Hoffman]

DECW7 relocate to SUPP7

DECW8 relocated to SUPP8

DECW9.  How do I set the title on a DECterm window?

If you are creating a new DECterm window, check 

If you want to change the title of an existing window, use the following
control sequences, where <esc> is the ANSI escape code, value decimal 27, 
and <text label> is what you want to display:

To set the DECterm title, send <esc>]21;<text label><esc>\
To set the icon label, send    <esc>]2L;<text label><esc>\

To set both the DECterm title and icon to the full device name:

$  esc[0,7] = 27
$  fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE")
$  write sys$output esc+ "]21;" + fulldevnam + esc + "\"
$  write sys$output esc+ "]2L;" + fulldevnam + esc + "\"

You can also change the title and the icon using the Options-Window...

Also see MISC2, DCL12.

DECW10. How do I customize DECwindows, including the login screen?

To customize various DECwindows Motif characteristics including the defaults
used by the SET DISPLAY command, the DECwindows login screen background logo
used (the default is the DIGITAL or Compaq logo), various keymaps, the 
FileView defaults, session manager defaults, the DECwindows login processing,
DECwindows log file processing, and various other DECwindows attributes, see
the example file:


This example template file is typically copied over to the filename
site-specific requirements.

Additionally, various X tools such as xsetroot, bitmap and xrdb -- some these
can be useful in customizing the appearance of an application or of the
DECwindows Motif display -- are provided in the DECW$UTILS: area.

When using DECwindows V1.2-4 and later on OpenVMS Alpha, the default desktop 
is the Common Desktop Environment (CDE).  You can select your prefered 
desktop (CDE or DECwindows Motif) when logging in, or you can change the 
default to the DECwindows Motif desktop using the DCL symbol 
decw$start_new_desktop in the DECwindows private application setup command 
details, and how to create DECW$PRIVATE_APPS_SETUP.COM.

Note that with DECwindows CDE, the root window is no longer visible by 
default.  The root window is hidden behind the "backdrop" window of the 
current CDE workspace.  To make the root window visible, use the CDE 
style manager selection "backdrop none", and use information such as 
that in the OpenVMS FAQ to set the root window.

To add a new backdrop to the DECwindows CDE environment, the backdrop
must first be in or be converted into X11 pixmap format.  (This conversion
is often possible using tools such as xv.)  Then (if necessary) create
the default backdrop directory SYS$COMMON:[CDE$DEFAULTS.USER.BACKDROPS].
Place the X11 pixmap file containing the desired image into the backdrops
directory, ensure that it has a filename extension of .PM.  (The xv
default filename extension for the X11 pixmap file is .XPM, while CDE
expects only to see files with .PM.)  Now invoke the CDE style manager
and select a new backdrop.  You will find your image will be placed at
the end of the list of backdrops available.
					[Stephen Hoffman]

DECW11. Why doesn't XtAppAddInput() work on OpenVMS?

XtAppAddInput() does work on OpenVMS.  The MIT definition of the X Windows
call XtAppAddInput() includes platform-specific arguments.

On platforms where C is the typically the primary programming language for
the platform, the file descriptor mask is one of the arguments to the
XtAppAddInput() call.

On OpenVMS, the platform-specific arguments to this call include an event
flag and an IOSB, as these are the traditional OpenVMS constructs used to
synchronize the completion of asynchronous operations.  While it would be
easier to port non-OpenVMS C code that calls XtAppAddInput() over to
OpenVMS if the arguments included the C file descriptor, this would make
the call unusable from other OpenVMS languages, and would make it extremely
difficult to use OpenVMS features such as ASTs and sys$qio calls.

One restriction on the event flag: the event flag chosen must be from event
flag cluster zero.  When using the traditional lib$get_ef and lib$free_ef
calls to allocate and deallocate event flags, you must first explicitly
call lib$free_ef to free up some event flags in event flag cluster zero.
Please see the event flag documentation for specific details on these calls
and for specific event flags that can be freed in event flag cluster zero.

Here is some example code that covers calling this routine on OpenVMS:

    m->InputID = XtAppAddInput(
        the_callback, 1 );
    if ( !((int) m->InputID ))
            "Can't Access Device",
            (String *) NULL,
            (Cardinal *) NULL );
					[Stephen Hoffman]

DECW12. Why do the keyboard arrow keys move the DECwindows cursor?

Congratulations, you have just stumbled into "dead rodent" mode.
This DECwindows environment -- where the keyboard arrow keys
move the mouse cursor and where the [SELECT], [PREV], and [NEXT]
keys emulate the three mouse buttons -- allows rudimentary system 
operations when the mouse is among the casualties.

To enter or exit the "dead rodent" mode. press: [CTRL][SHIFT][F3]

DECW13. Why does half my DECwindows display blank?

This is likely a result of receiving an OPCOM or other console
message on a system that shares the system console with the 
DECwindows graphics workstation display.

You can toggle off the console display window using [CTRL/F2], 
and you can enable a serial console per ALPHA7 or VAX10.

Also see the console message window application available with
recent DECwindows versions -- recent DECwindows versions (V1.2-3
and later) will enable this window by default.  For details on
this console message window, see the DECW$CONSOLE_SELECTION 

On older releases, you can disable output using the following:


Also see VAX9 and MGMT22, as well as DCL4.

DECW14. %DECW-W-NODEVICE, No graphics device found on this system?

To resolve the following error:

 %DECW-W-NODEVICE, No graphics device found on this system
   -DECW-I-NODECW, DECwindows graphics drivers will not be loaded

1) Ensure that the SYSGEN parameter WINDOW_SYSTEM is set to 1:


   If it is not set to a value of 1, issue the commands:

    $ REBOOT

2) Check the SYSMAN IO PREFIX LIST to ensure that the DECW$ prefix is
   included in the existing list.  If it is not, you will need to add it:

    SYSMAN> IO SET PREFIX=(DECW$,*)   * = list returned by the show command
3) Ensure that the image SYS$SHARE:DECW$ICBM.EXE is installed in memory.
   If it is not installed, then install it:




      $! The following line was added to install
      $! support for the Mach64 Graphics Card
      $ ^Z

   REBOOT the system.

If the system still complains that NO GRAPHICS DEVICES COULD BE FOUND

4)   o Boot the system as normal
     o Login as "system"
     o Create the file:
     o Add the following string on the very first line:
     o Save the file
     o Set the file protections
     o Reboot the system



     $ REBOOT

Also see DECW6
					[Kleinsorge, Hoffman]

DECW15. How can I reset the warning bell volume?

  With DECwindows CDE drivers and ECOs starting with ECOs for the
  DECwindows keyboard driver SYS$IKBDRIVER.EXE in OpenVMS Alpha V7.1-2 
  and V7.2-1 and with the SYS$IKBDRIVER.EXE included in OpenVMS V7.2-1H1 
  and later, the DECwindows CDE controls will now correctly manage the 
  setting of the warning bell volume. 

  Unfortunately, the equivalent controls in the older DECwindows Motif 
  interface are not compatible and can no longer manage the warning 
  bell volume.

  If you need to manage the volume with DECwindows Motif, consider 
  using the following approach:

    $ @decw$utils:decw$define_utils
    $ xset b 1 100 100

  The numerics are the volume, pitch, and duration, respectively.

  Why?   When OpenVMS first started supporting the PC-style keyboards, 
  the X Windows Server and the keyboard driver interface did not support 
  the pitch and duration, and neither did DECwindows Motif.  The 
  DECwindows keyboard driver was accordingly changed to use the volume 
  from the keyclick setting (keyclick is not available in a PC-style 
  keyboard) and the bell volume setting to control the pitch and duration.

  DECwindows CDE does provide sliders for setting pitch and duration,
  so the keyboard driver and X Windows Server were modified to provide 
  all of the information, and now the DECwindows CDE sliders work.  This 
  change is unfortunately incompatible with the old scheme used on the
  pre-CDE desktops, and the volume controls are now incompatible with 
  the current keyboard drivers.  Hence the use of xset.

DECW16. How can I alter the DECwindows CDE backdrop?

To select a separate backdrop to be displayed on each screen using 
DECwindows CDE:

1. Click on the Appliction Manager.
   This is the drawer icon on the CDE toolbar.
2. Click on Desktop Tools
3. Click on Set Default Screen and select the required screen
4. Click on the Style Manager.
   This is the one containing the mouse and ttt on the CDE toolbar
5. Now change the background.

                                             [Geoff Kingsmill]

DECW17. How can I enable the DECwindows TCP/IP Transport

  To configure the TCP/IP transport for DECwindows, first ensure that
  a TCP/IP package is installed and configured.  Then set the DCL symbol
  to the appropriate local value, based on the comments in that file.

  If you do not have a copy of SYS$STARTUP:DECW$PRIVATE_SERVER_SETUP.COM,
  the use the following COPY command to create this file based on the
  provided template file:


MISC1 relocated to WIRES1

MISC2.    Where can I find information on escape and control sequences?

Information on escape and control sequences can be found in the OpenVMS
I/O User's Reference Manual, in the section on the terminal driver.
This section includes details on the general format and content of
these sequences.

Specific details on the escape and control sequences supported by a
particular serial device are typically found in the documentation
provided with the specific device.  Information on the sequences 
supported by DECwindows DECterm terminal emulator are included in the 
DECwindows documentation.

Examples of common escape and control sequences -- those typically used
by the OpenVMS screen management package -- can be found in the OpenVMS 

The following refers to the function keys on the VTxxx series terminals,
and compatibles.  In the following, {CSI} is decimal code 155 and can be 
replaced by the sequence "{ESC}[" (without the quotes) particularly for 
seven-bit operations, SS3 is decimal code 143 and can be replaced by 
"{ESC}O" particularly for seven-bit operations.  Older VT1xx series
terminals and any other terminals operating with seven-bit characters 
should not be sent eight-bit operators such as {CSI} and {SS3}.

PF1={SS3}P PF2={SS3}Q PF3={SS3}R PF4={SS3}S
KP0={SS3}p KP1={SS3}q KP2={SS3}r KP3={SS3}s KP4={SS3}t KP5={SS3}u
KP6={SS3}v KP7={SS3}w KP8={SS3}x KP9={SS3}y KPCOMMA={SS3}l KPMINUS={SS3}m
PREV={CSI}5~ NEXT={CSI}6~ F6={CSI}17~ F7={CSI}18~ F8={CSI}19~ F9={CSI}20~
F10={CSI}21~ F11={CSI}23~ F12={CSI}24~ F13={CSI}25~ F14={CSI}26~
HELP={CSI}28~ DO={CSI}29~ F17={CSI}31~ F18={CSI}32~ F19={CSI}33~ F20={CSI}34~

An example of working with escape sequences (in DCL) follows:

$ esc5m = "*[5m"
$ esc5m[0,8] = 27
$ esc0m = "*[0m"
$ esc0m[0,8] = 27
$ write sys$output esc5m + "blinking text" + esc0m

Documentation on an ANSI terminal relatively similar to the VT525 series
is available at:

Also see the various documentation and manuals available at:

Information on the ReGIS graphics character set is available at:


Also see DECW9, DCL12.

MISC3 relocated to SUPP4

MISC4 relocated to WIRES2

MISC5 relocated to ALPHA5

MISC6.    What does "failure on back translate address request" mean?

The error message:

  BCKTRNSFAIL, failure on the back translate address request

indicates that the destination node is running DECnet-Plus, and that its 
naming service (DECnet-Plus DECdns, LOCAL node database, etc) cannot 
locate a name to associate with the source node's address.  In other 
words, the destination node cannot determine the node name for the node
that is the source of the incoming connection.

Use the DECNET_REGISTER mechanism (on the destination node) to register
or modify the name(s) and the address(es) of the source node.  Check
the namespace on the source node, as well.

Typically, the nodes involved are using a LOCAL namespace, and the
node name and address settings are not coherent across all nodes.
Also check to make sure that the node is entered into its own LOCAL
namespace.  This can be a problem elsewhere, however.  Very rarely,
a cache corruption has been known to cause this error.  To flush the
cache, use the command:

NCL> flush session control naming cache entry "*"

Also check to see that you are using the latest ECO for DECnet-Plus
for the version you are running.

DECnet-Plus can use the following namespaces:
  o DECdns: DECnet-Plus distributed name services.
  o LocalFile: a local file containing names and addresses.
  o DNS/Bind: the IP distributed name services.
  o The UCX local host file.

					[Stephen Hoffman]

MISC7.    How to determine the network hardware address?

  Most Alpha and VAX systems have a console command that displays
  the network hardware address.  Many systems will also have a sticker
  identifying the address, either on the enclosure or on the network
  controller itself.

  The system console power-up messages on a number of VAX and Alpha
  systems will display the hardware address, particularly on those
  systems with an integrated Ethernet network adapter present.

  If you cannot locate a sticker on the system, if the system powerup
  message is unavailable or does not display the address, and if the
  system is at the console prompt, start with the console command:

  >>> HELP

  A console command similar to one of the following is typically used
  to display the hardware address:


  On the oldest VAX Q-bus systems, the following console command can
  be used to read the address directly off the (DELQA, DESQA, or the
  not-supported-in-V5.5-and-later DEQNA) Ethernet controller:

  >>> E/P/W/N:5 20001920

  Look at the low byte of the six words displayed by the above command.
  (The oldest VAX Q-bus systems -- such as the KA630 processor module
  used on the MicroVAX II and VAXstation II series -- lack a console
  HELP command, and these systems typically have the primary network
  controller installed such that the hardware address value is located
  at the system physical address 20001920.)

  If the system is a VAX system, and another VAX system on the network
  is configured to answer Maintenance and Operations Protocol (MOP)
  bootstrap requests (via DECnet Phase IV, DECnet-Plus, or LANCP), the
  MOM$SYSTEM:READ_ADDR.EXE tool can be requested:

  >>> B/R5:100 ddcu
  Bootfile: READ_ADDR

  Where ddcu is the name of the Ethernet controller in the above command.
  The primarly local DELQA, DESQA, and DEQNA Q-bus controllers are usually
  named XQA0.  An attempt to MOP download the READ_ADDR program will ensue,
  and (if the download is successful) READ_ADDR will display the hardware

  If the system is running, you can use DECnet or TCP/IP to display the
  hardware address with one of the following commands.



    $ UCX SHOW INTERFACE/FULL    ! TCP/IP versions prior to V5.0

    $ TCPIP SHOW INTERFACE/FULL  ! TCP/IP versions V5.0 and later

  A program can be created to display the hardware address, reading the
  necessary information from the network device drivers.  An example C
  program for reading the Ethernet hardware address (via sys$qio calls
  to the network device driver(s)) is available at the following URL:

  To use the DECnet Phase IV configurator tool to watch for MOP SYSID
  activity on the local area network:


  Let the DECnet configurator run for at least 20 minutes. Then issue
  the following commands:


  The resulting file (named filename.txt) can now be searched for the
  information of interest.  Most DECnet systems will generate MOP SYSID
  messages identifying items such as the controller hardware address and
  the controller type, and these messages are generated and multicast
  roughly every ten minutes.

  Information on the DECnet MOP SYSID messages and other parts of the
  maintenance protocols is included in the DECnet network architecture
  specifications referenced in section DOC9.

MISC8 combined into SUPP3

MISC9.    Why can't I use PPP and RAS to connect to OpenVMS Alpha?

  OpenVMS Alpha PPP does not presently support authentication, and the 
  Microsoft Windows NT option to disable authentication during a RAS 
  connection apparently doesn't currently work -- RAS connections will 
  require authentication -- and this will thus prevent RAS connections.
                                               [Stephen Hoffman]

MISC10 relocated to SUPP5

MISC12.   Does DECprint (DCPS) work with the LRA0 parallel port?

The parallel printing port LRA0: found on many OpenVMS Alpha 
systems is capable of some bidirectional communications, with
enough for basic operations with most parallel printers.

DECprint (DCPS) requires more than just the simple handshaking 
provided by the LRA0: port, therefore DCPS does not work with 
the LRA0: port.
                                     [Paul Anderson]

MISC13.   How do I check for free space on a (BACKUP) tape?

You cannot know for certain, though you can certainly estimate
the remaining capacity.

Tape media is different than disk media, as disks have a known 
and pre-determined fixed capacity.  Modern disks also appear 
logically perfect, based on bad block revectoring support and 
the extra blocks hidden within the disk structure for these
bad block replacements.

The capacity of tape media is not nearly as pre-determined, and 
the capacity can vary across different tape media (slightly
different media lengths or different foil markers or other
variations, for instance) and even on the same media over time
(as bad spots in the media arise).  Tapes can vary the amount of
recording media required, depending on the remaining length of 
the tape, the numbers of correctable and uncorrectable media 
errors that might occur, the numbers and sizes of the inter-record 
gaps and related tape structure overhead, the particular media
error recovery chosen, the tape density, the efficiently of any 
data compression in use, and the storage overhead required by 
BACKUP, tar, and other similar commands.

BACKUP using with the default settings results in approximately
15% overhead, in terms of saveset size.  (eg: Assuming a 500 KB 
input, the total size would be 575 KB.)

  Assuming no compression:
   4 GB media / 575 KB saveset =  7294 savesets 

  Assuming 1:2 compression:
   8 GB media / 575 KB saveset = 14588 savesets 

NB: There are no inter-record gaps on DAT tapes.  (When determining
media capacity, you have to consider these with nine-track magtape
media.  Not with DAT (DDS).  However, the block structure underneath 
the variable length record recording is based on a block size of circa 
124 KB.  Further, writing doubles filemarks and such can cause a loss 
of up to the underlying block size.  Thus even though there are no 
inter-record gaps on DAT, larger savesets are still usually best.

The compression algorithms used on various devices are generally not 
documented -- further, there is no way to calculate the effective data
compression ratio, the tape mark overhead, and similar given just the 
data to be stored on tape -- short of actually trying it, of course. 

A typical compression ratio found with "everyday" data is somewhere
around 1:1.8 to 1:2.

NB: OpenVMS often uses the term COMPACTION for compression control, 
as in the qualifier /MEDIA_FORMAT=COMPACTION.
                                          [Hoffman, Froehlin, Williams]

MISC14.   So what happened to sys$cmsuper?

There is no SYS$CMSUPR service.  

The typical wisdom for getting into supervisor access mode (from 
user mode) is to execute a routine in executive mode (via a call 
to SYS$CMEXEC and the appropriate privilege) and then issue a 
SYS$DCLAST with the ASTADR parameter pointing to your routine 
entry point and the ACMODE parameter specified as PSL$C_SUPER.

Alternatively, you can reset mode in the call stack return path 
and unwind from executive or kernel out into supervisor mode.
                                    [Brian Schenkenberger]

MISC15.   How can I send radio pages from my OpenVMS system?

There are third-party products available to send messages to radio
paging devices (pagers), communicating via various protocols such
as TAP (Telocator Alphanumeric Protocol).

RamPage (Ergonomic Solutions) is one of the available packages that
can generate and transmit messages to radio pagers.  Target Alert
(Target Systems; formerly the DECalert product) is another.  
Networking Dynamics Corp has a product called Pager Plus.  The 
System Watchdog package can also send pages.  The Process Software
package PMDF can route specific email addresses to a paging service, 
as well.

Many commercial paging services provide email contact addresses 
for their paging customers -- you can simply send email directly
to the pager.

Some people implement the sending of pages to radio pagers by sending
commands to a modem to take the "phone" off the "hook", and then the
paging sequence, followed by a delay, and then the same number that
a human would dial to send a numeric page.  (This is not entirely
reliable, as the modem lacks "call progress detection", and the
program could simply send the dial sequence when not really connected
to the paging company's telephone-based dial-up receiver.)

See SOFT1 for information on the available catalog of products.

MISC16 relocated to WIRES3

MISC17.   How do I reset the LAN (DECnet-Plus NCL) counters?

On recent OpenVMS releases:


MISC18.   What are the prefixes for the powers of ten?

        Power   Prefix  Abbreviation
        10^-18  atto    a
        10^-15  femto   f
        10^-12  pico    p
        10^-09  nano    n
        10^-06  micro   ╣
        10^-03  milli   m
        10^-02  centi   c
        10^-01  deci    d
        10^+01  deca    da
        10^+02  hecto   h
        10^+03  kilo    k
        10^+06  mega    M
        10^+09  giga    G
        10^+12  tera    T
        10^+15  peta    P
        10^+18  exa     E

MISC19.   OpenVMS Cluster (SCS) over DECnet?  Over IP?

The OpenVMS Cluster environment operates over various network
protocols, but the core of clustering uses the System 
Communications Services (SCS) protocols, and SCS-specific 
network datagrams.  Direct (full) connectivity is assumed.

An OpenVMS Cluster DOES NOT operate over DECnet, nor over IP.

No SCS protocol routers are available.

Many folks have suggested operating SCS over DECnet or IP over the
years, but SCS is too far down in the layers, and any such project 
would entail a major or complete rewrite of SCS and of the DECnet 
or IP drivers.  Further, the current DECnet and IP implementations
have large tracts of code that operate at the application level, 
while SCS must operate in the rather more primitive contexts of the 
system and particularly the bootstrap -- to get SCS to operate over 
a DECnet or IP connection would require relocating major portions of 
the DECnet or IP stack into the kernel.  (And it is not clear that
the result would even meet the bandwidth and latency expectations.)

The usual approach for multi-site OpenVMS Cluster configurations
involves FDDI, Memory Channel (MC2), or a point-to-point remote bridge,
brouter, or switch.  The connection must be transparent, and it must
operate at 10 megabits per second or better (Ethernet speed), with 
latency characteristics similar to that of Ethernet or better.
Various sites use FDDI, MC2, ATM, or point-to-point T3 link.

MISC20.   Correctly using license PAKs and LMF?

  If you have multiple LMF$LICENSE.LDB databases in your OpenVMS
  Cluster, then each and every PAK must be installed in each and
  every license database present in an OpenVMS Cluster.  Even if
  you use /EXCLUDE or /INCLUDE, you need to have a consistent set
  of PAKs registered across all licensing databases present in the 
  OpenVMS Cluster.

  If your software license permits it, you can use the following 
  two commands to transfer license PAKs:


  To display the particular license(s) required (such as when you
  receive a NOLICENSE error), use the following DCL sequence:


  This logical name will cause all license failures to generate OPCOM 
  messages, and this will hopefully show which license(s) you need -- 
  there may well also be additional license failures displayed, as 
  various products can check for and can be enabled by multiple license 
  PAKs.  You will want to deassign this logical name when done.

  Some of the more common license PAKs:

  TCP/IP Services:   UCX, or NET-APP-SUP*
  OpenVMS VAX:       VAX-VMS
  Cluster (Alpha):   VMSCLUSTER, NET-APP-SUP*

  Various NET-APP-SUP (NAS) license packages are available, each with
  differing collections of products authorized.  See the various NAS
  Software Product Description (SPD) documents for specific details.

  To determine which license PAK is failing (via a license check failure
  OPCOM message), use the command:


  Realize that defining this logical name will cause license checks
  that are otherwise hidden (unimplemented, latent, or part of a check
  for any of a series of licenses) to become visible.  In other words,
  expect to see some spurious license check calls when you define this.

MISC21.   Third-party disk/tape/controllers/SCSI/widgets on OpenVMS?

  A wide variety of third-party widgets -- SCSI and IDE disks and tapes, 
  graphics controllers, etc -- are available for various platforms.

  If you purchase third-party "generic" SCSI or IDE storage devices, 
  you and your device vendor will be responsible for the testing and 
  the support of the devices.  I would tend to expect that Compaq will 
  address non-standards-compliance problems within OpenVMS (changes 
  that will also not prevent operations with other supported devices, 
  of course), but you and/or the device vendor and/or the device 
  manufacturer are responsible for finding and fixing problems in the 
  particular third-party device and or controller involved.

  In particular, realize that neither SCSI nor IDE is a particularly
  standard interface, these interfaces tend to be a collection of 
  optionally-implemented and standardized interface features.  You 
  should not and can not simply assume that all SCSI nor IDE storage
  devices are interchangeable.  If you want to try to use a generic 
  SCSI device, use V6.2 or later, or (better) V7.1-2 or later.  If
  you wish to try to use IDE, use OpenVMS V7.1-2 or later. 

  On older OpenVMS releases, see the disk capacity limits (FILE5).

  With SCSI disks on releases prior to V6.2, ensure that you have the 
  ARRE and ARWE settings configured correctly (disabled).  (If not, 
  you will see DRVERR fatal drive errors and error log entries.)

  Some SCSI disks set the medium type byte as part of the SCSI size
  field -- this is a SET CAPACITY extension to SCSI specs.  This 
  problem also applies to VAX V7.1 and later.

  Disks with SCSI disk sizes past 8.58 GB and/or with the SET CAPACITY
  extension require ALPSCSI07 ECO or the OpenVMS Alpha V7.1-2 or 
  later release.  (See FILE5 for further details.)

  Based on the displays of the (undocumented) SYS$ETC:SCSI_INFO tool;
  this tool is present in OpenVMS V6.2 and later:

    Issuing 6-byte MODE SENSE QIOW to get current values for page 01h
           Page Code ................. 01h
           Page Name ................. Read-Write Error Recovery
           Saveable .................. Yes
           Size ...................... 10
           Hex Data .................. E6 08 50 00 00 00 08 00
                                       00 00

    The E6 indicates that the AWRE and ARRE bits are set, and this is
    not acceptable on OpenVMS versions prior to V6.2.  Further along 
    in the SCSI_INFO display, if you also see:

    Issuing 6-byte MODE SENSE QIOW to get changeable values for page 81h
           Page Code ................. 01h
           Page Name ................. Read-Write Error Recovery
           Saveable .................. Yes
           Size ...................... 10
           Hex Data .................. C0 08 50 00 00 00 08 00
                                       00 00

    The C0 value means that the AWRE and ARRE values can be changed
    on this particular SCSI device.  (This is not always the case.)
    Use RZDISK from the OpenVMS Freeware, and reset the E6 flag byte 
    to hexadecimal 26 (or whatever the remaining mask when you remove
    bits C0) on page one.

  Each SCSI and IDE host contains non-trivial SCSI and IDE driver 
  software, and each device contains equally non-trivial firmware -- 
  taken together with the mechanical and electronic components, this 
  software and firmware will determine whether or not a particular
  device will function as expected.

  Also note that various devices -- such as various SCSI CD-R devices
  -- can implement and can require vendor-specific protocol extensions, 
  and these extensions can require modifications to OpenVMS or the 
  addition of various utilities.  In various of these cases, these
  devices perform functions that will require them to use SCSI or IDE
  commands that are (hopefully) architecturally-compatible SCSI or IDE
  command extensions.  (Also see UTIL1 and FILE7.)

  In order for OpenVMS to officially support a particular device,
  integration and testing work is mandated.  There can be no certainty 
  that any particular device will operate as expected in any particular 
  configuration without first performing this (non-trivial) work. 

  It is quite possible to find two devices -- both entirely compliant 
  with applicable standards or interface documents -- that will not 

  The same general statement holds for OpenVMS bootstrapping on an
  unsupported VAX or Alpha platform.  It might or might not work.
  In particular, please see the OpenVMS Software Product Description 
  (SPD) for the list of platforms supported by OpenVMS.  OpenVMS is 
  not supported on the Personal Workstation -a series, on the Digital 
  Server series platforms, on the AlphaServer 2100 series 5/375 CPU, 
  on the Multia, and on a variety of other platforms.  (You might or
  might not see success booting OpenVMS on any of these platforms.)
					[Stephen Hoffman]

MISC22.   How do I convert?  Disk Blocks?  KB, MB, GB, TB?

The granularity of disk storage allocation is called a disk block.
Groups of disk blocks are organized together into the smallest unit
of storage that can be allocated, and this unit is called a disk
cluster.  The number of blocks in a cluster is the cluster factor,
and is established when the disk volume is initialized.

Each individual disk block is composed of five hundred twelve (512)
bytes, or one-half kilobyte.  Each byte is comprised of eight bits.
A bit represents the smallest unit of information, typically refered
to as a one or a zero.

OpenVMS tends to uses base two notation for disk storage, while disk
storage capacity specifications from most storage vendors (including
Compaq) will generally use base ten notation.

An OpenVMS disk block is 512 bytes in size; this is one-half kilobyte
in base two notation.

The following table describes the prefix, the abbreviation, and the
associated base ten (marketing) and base two (OpenVMS) values.

            Base Ten                        Base Two
            -----------------------------   ----------------------
  Kilobyte  (KB)  10**3              1000   2**10             1024
  Megabyte  (MB)  10**6           1000000   2**20          1048576
  Gigabyte  (GB)  10**9        1000000000   2**30       1073741824
  Terabyte  (TB)  10**12    1000000000000   2**40    1099511627776
  Petabyte  (PB)  10**15 1000000000000000   2**50 1125899906842624

The base ten representation of the 2**40 value is 1099511627776, which
is obviously rather ugly.  When viewed as a base eight or base sixteen
(octal or hexadecimal, respectively) value, the value is far nicer.
Specifically, the value is 10000000000 and 40000000 when represented
in octal and hexadecimal, respectively.

Notational note: Within the OpenVMS FAQ, a Kilobit is represented by the
appreviation Kb, while a Kilobyte is represented as KB.

To convert OpenVMS disk blocks to (base two) kilobytes (KB; 1024 bytes),
simply divide by two.  To convert blocks to (base two) megabytes, divide
by 2048.  Blocks to (base two) gigabytes (GB), divide by 2097152.  These
particular divisions can also be performed using bitshifts: to divide
a value by two, shift the binary value rightwards by one bit position.

To convert OpenVMS disk blocks to (base ten) kilobytes, divide by
approximately 1.953125.

And for those rummaging around deep in SYSGEN, a microfortnight is
approximately one second.

SOFT1.    Where can I find freeware/shareware/software for OpenVMS?

Details on many commercial OpenVMS products are available in the 
catalog located at:


An OpenVMS Freeware CD-ROM is distributed with OpenVMS, and is also
available separately (QA-6KZAA-H8).  The contents of the OpenVMS 
Freeware CD-ROM media are also available online at:

and at various other sites.  The website also includes various updates
and new packages that become available after the CD-ROM distributions 
are created.

Submissions to the OpenVMS Freeware can be made via:

To acquire the OpenVMS Freeware CD-ROM distribution, you can order an
OpenVMS distribution from Compaq (the Freeware is included)(see the
OpenVMS SPD for part numbers), or you can specifically order a Freeware 
distribution from Compaq under part number:


The Freeware CD-ROM set contains a large assortment of freeware, and
is a good starting point if looking for utilities.  Many of the packages
listed below are also on the Freeware CD.  Some of the most oft-requested
OpenVMS tools on the Freeware CD include ZIP and UNZIP and GZIP (please
see SOFT14), MMK (make), PINE, PERL, TAR, UUENCODE and UUDECODE.  Many 
other tools are available on the Freeware.

The UUENCODE and UUDECODE tools and various other tools are also available 
as part of TCP/IP Services package.  (Use the DCL command procedure
SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM available on V5.0 and later to set 
up the necessary DCL foreign command symbols used for these and for 
various other tools provided by TCP/IP Services.)


OpenVMS software (formerly at Western Kentucky University (WKU) is
now available via Madgoat and via Process Software archives:
                                           [Hunter Goatley]


The FILESERV packages are also available via anonymous FTP from:

  Via anonymous FTP from:, under [.WKU.VMS.FILESERV]., under [.MIRRORS.WKU.VMS.FILESERV]., under [.WKU.VMS.FILESERV]., under kits and kits/decwindows., via the WWW instead of FTP.

or via e-mail from FILESERV@PROCESS.COM. Send the commands HELP and
   DIR ALL in the body of a mail message for more information.


Another source of free software is the vmsnet.sources newsgroup (and the
corresponding vmsnet.sources.d discussion group).  See the monthly posting
"vmsnet.sources archives" for a list of sites which archive submissions
to vmsnet.sources.


Arne VajhЬj runs an OpenVMS WWW page, with software and other pointers, at:


Kermit is available at: or


ZMODEM is available at:
See the FILES file in that directory for further details.
Note that this freeware version of ZMODEM will interoperate only with 
ZMODEM software that is licensed from Omen Technology.
(Also on Freeware CD)
				[Steve Lionel]


A good source of software for DEC boxes (and anything else pretty much)
is the DECUS library. online catalogs are available as well as some
software via; there's a gopher server 
an FTP server:
and a WWW server:

Phone for DECUS orders is 508-841-3502. Lots of good stuff from lots of 
good folks, and copies on media (tapes, CDs) are cheap.


   DECUS SIG Tape collections are available on Mark Berryman's system,


   David Jones's DECthreads-based HTTP_SERVER World-Wide Web server 
   for OpenVMS.
					    [Hunter Goatly]


   Secure Shell (SSH) Server for OpenVMS:

   Secure Shell (SSH) Client for OpenVMS:

   Information on OpenSSL (SSLeay) for OpenVMS:
                                            [Leo Demers]

   The SSH terminal client FISH:

   Information on OpenSSL (SSLeay) and OSU Web server interoperation:


DECwindows Motif V1.2-3 includes NCSA Mosaic 2.4 built for UCX.  V1.2-4
includes Spyglass Enhanced Mosaic, which supports many "Netscape" 
enhancements.    Netscape Navigator is also available for OpenVMS.


A port of Mosaic 2.7-4 which supports UCX, Multinet and SOCKETSHR/NETLIB 
is available from:


Lynx (a character-cell World-Wide-Web reader) is available from
					    [Steve Lionel]


Netscape Navigator and Mozilla web browsers are available at:


PGP (Phil Zimmerman's "Pretty Good Privacy") is available from various
distribution sites, including those listed in the PGP FAQ.   Information
on an OpenVMS download of PGP is available at:


GNU Privacy Guard (GPG, GnuPG):

Search the comp.os.vms newsgroup archives for information regarding GnuPG; 
the source code, binaries for various platforms, and documentation are all
available at:

The OpenVMS source code and OpenVMS Alpha images can be found at:

As of this time, the port only runs on OpenVMS Alpha, but an investigation
of an OpenVMS VAX port is reportedly under consideration. 

                                     [Aaron Sakovich]


An archive of the CENA DECwindows, X Windows, and VMS software 
packages can be found at the following sites:

(See also Freeware CD)
					    [Patrick Moreau]


ImageMagick is an X11 package for display and interactive manipulation of
images.  The package includes tools for image conversion, annotation,
compositing, animation, and creating montages.  ImageMagick can read and 
write many of the more popular image formats (e.g. JPEG, TIFF, PNM, XPM, 
Photo CD, etc.).
(Also on Freeware CD)


XV is available from:


Many software packages are available for displaying various bitmap files 
(.JPG, .GIF, .BMP, etc) on OpenVMS.  Xloadimage, Xli, Xv, ImageMagick are 
the most common tools used under OpenVMS.  Various web browsers such as
Mozilla (qv) can also display various file formats on OpenVMS.  You can 
find some of these tools at the DECwindows Archive:
                                           [Patrick Moreau]


GHOSTSCRIPT (gs) and GHOSTVIEW (gv) are available from:
  Also available on the Freeware V5 CD-ROM.

  Also see:


XPDF, a viewer for PDF (Adobe Acrobat) files, is available from:
  Also available on the Freeware V5 CD-ROM.

                                            [Ki Suk Hahn, Hoffman]

  Beware: the XPDF tool included on OpenVMS Freeware V4.0 is dated, 
  and has been found to have various bugs.  Use the Freeware V5.0 
  version of the XPDF kit, or later.

A Java-based PDF viewer is available from Adobe, and is known to operate on 
recent OpenVMS Alpha releases:


Various OpenVMS-related tools -- both freeware and shareware -- such as 
txt2pdf -- are available from at:


The MPEG library version 1.1 is available for OpenVMS VAX and Alpha at
					    [Patrick Moreau]


List of FTP Mirror Sites for the DECWINDOWS archive:

AXP.PSL.KU.DK             (Multinet)  Mirror of CENA DECW archive
FTP2.CNAM.FR              (MadGoat)   Mirror of CENA DECW archive (in /contrib/vms)  not really a mirror, but I try to put all my
new ports at this site.


List of HTTP Mirror Sites for the DECWINDOWS archive:

Some X clients from the OpenVMS Freeware CDROM are located in
						[Patrick Moreau]


I have written and installed on INFO.CS.PUB.RO an 'Archie' clone for VMS
software. Telnet to that machine, and login as VMSARCI.
It contains now listings for over 30 ftp servers with >14 GB of VMS software.
The most useful commands are LIST, which generates a list of scanned ftp
servers, and FIND <string>, whichs looks for a file containing "string"
in the name; the search modes are only "substring" [default] and "exact",
and regex search is not supported (so FIND EMACS will work, but FIND *EMACS*
or FIND *EMACS*.* will not). The search is case-insensitive.
Those of you that know other ftp servers with VMS software that I haven't
found, please let me know. (The program that build the databases can
recursively scan whole servers or just specific directories).

Sorry, this service is VERY SLOW [by Western standards], because it runs
on a quite-busy oldie-but-goodie VAXStation 3400 with 20Mb and a RF71, and
the Internet link is only 256 Kpbs (sometimes unavailable).


  The Levitte (extended :-) Family (and OpenVMS) website:


  Robert's OpenVMS Hobbyist Systems, including OpenVMS public domain 
  software and various ports:

                                          [Robert Alan Byer]

  CalTech Software Archives:


  DJE Systems Website (David J. Dachtera)


  Web Servers:
    Apache Web server (Compaq Secure Web Server (CSWS)):
    OSU Web server
      email list: VMS-WEB-daemon-Request@KJSL.COM
    WASD Web server
    Purveyor Web server:
      email list: 
         no subject, one line message: SUBSCRIBE PURVEYOR


  CD-R (CD-Recordable) media tools:
    please see FILE7


  Grace (WYSIWYG 2D plotting tool)


  The POV-Ray ("Persistance of Vision" Raytracer) ray-tracing graphics 
  package is available on the OpenVMS Freeware.


  Majordomo mailing list handler:


  PINE (OpenVMS tools for sending and receiving MIME mail):

  A MIME tool is available in OpenVMS V7.2 and later.

  Also see the mmencode base64 encode and decode available at:


Menufinder (menu-driven system management environment):


tcgmsg, pvm, mpi, linda:


OpenVMS software that can control a Tripp-Lite Uninterruptable Power 
Supply (UPS) is available from:
                                            [David Mathog]

UPShot web-based software for controlling a UPS is available from:
                                            [Brian Schenkenberger]


Examples of using the OpenVMS Foreign MAIL interface are available at:

                                            [Arne Vajhoej]

For tools to manage or to search your OpenVMS MAIL file, see:
                                            [Phillip Helbig,
                                            Hunter Goatley]

AscToHTM attempts to convert any plain text file to HTML, while
AscToTab restricts itself to files that are plain text tables.
(Versions are also availabe on the OpenVMS Freeware).


Information on the SAMBA package (PC disk and print services)
is available at:

To subscribe to the SAMBA-VMS mailing list e-mail 
with no subject line and the following single line of text:

 subscribe samba-vms Your Full Name

Also see:


Perl: See SOFT12



  Source code of an XML Parser is available from Oracle.

  Also see:

  An XML parser is available as part of OpenVMS V7.3 and later.


GTK+ (The GIMP GUI Tookit) for OpenVMS:


OpenVMS Porting Library now available - for easier porting of C/C++ 
applications from UNIX to OpenVMS:


Mlucas (specialized FFT):
                               [Robert Deininger]


Tools to monitor the terminals and the activity of other OpenVMS users 
(in addition to existing auditing capabilities in OpenVMS) are available.
Peek and Spy (Networking Dynamics) and Contrl (Raxco) are two of the
commercial packages, while the freeware Supervisor package is available 
on OpenVMS VAX.


Python for OpenVMS:

Various packages:


TSM (Terminal Server Manager) is available via:
  (Beware: The TSM saveset on the Freeware V5.0 disk media is busted.)


Information on the Kermit tool ("file transfer, terminal emulation, script 
programming, and character-set conversion") is available via:


TCL for OpenVMS:


make, gmake, mmk and other build tools are available on the Freeware.


An OpenVMS port of the ht://Dig web search engine is available at:

SOFT2.    Where can I find the UNIX <whatever> tool for OpenVMS?

  POSIX-compliant, Compaq-supported versions of POSIX routines and

    lex, yacc, grep, tar, uuencode, uudecode, rcs, man, cpio, make,
    awk, ar, mail, etc., the POSIX shell, the POSIX C programming
    interface, etc.

    POSIX utilities can be used from within the POSIX shell, and
    via the DCL `POSIX/RUN POSIX$BIN:tool.' command.

    POSIX is a separately-installed package, and is licensed with
    OpenVMS V5.5 later.  The POSIX installation kit is included
    on the consolidated distribution CD-ROM kit, and installation
    kits are also available separately.

    The POSIX package is no longer supported on OpenVMS, components 
    of the POSIX standard such as parts of the POSIX API are being 
    added into OpenVMS.  Versions of POSIX generally do not operate
    on V7.x OpenVMS VAX and OpenVMS Alpha releases.

  Common C system and library routines are present in the DEC C run-time
  library, which is available for V5.5 and later, and is shipped in V6.1
  and later.  DEC C is the upgrade for VAX C, DEC C and VAX C can coexist
  on the same system OpenVMS VAX system, and both compilers can be enabled
  via the "C" license PAK.

    Also see SYS$EXAMPLES:, and (if either is installed) the DECW$EXAMPLES:
    and UCX$EXAMPLES: areas.

X Windows:
  Various Compaq X Windows utilities:

    xwd, xev, mosaic WWW browser, xrdb, bmtoa and atobm, xpr, ico, etc.

    In DECW$UTILS: in DECwindows Motif V1.2-3 and later.  Also see
    DECW$EXAMPLES: for example X and C programs.

Miscellaneous tools and examples:
  Various unsupported OpenVMS tools and code examples:

    DWAUTH (X Windows SYSUAF authorize-like tool), various versions	
    of grep, fgrep, yacc, vmstar, uuencode, gawk, etc.  html tools,
    the mx SMTP mail exchange package, X windows flight simulator,
    the mxrn X windows news reader, the OSU HTTPD WWW server, a WWW
    gopher browser, etc. are all on the FreeWare V2.0 CD-ROM.

IP tools:
  DEC TCP/IP (UCX) contains tools such as ping, uuencode, smtp, snmp,
  rcp, nfs, tnfs, etc.  OpenVMS V6.2 and UCX V3.3 and later can be used
  together in support of the /FTP, /RCP, /RLOGIN, /TELNET, and /TN3270
  qualifiers on various DCL commands.

    Also see the various C examples in UCX$EXAMPLES:

					[Stephen Hoffman]

vi clones

  vile, vim and elvis (vi clones) run on OpenVMS.

  The current version of vile is 7.1
  It's available at
	Versions of VILE are also on the OpenVMS Freeware

  vim: vi improved
                                        [Zoltan Arpadffy]

GNU tools:

  Information on the GNU on VMS (GNV) Project, which aims to port 
  GNU software (BASH, etc) to OpenVMS, is available at:

  Software info:

  Software archive:


  A mirror for work performed at the Progis company in Germany in porting
  GCC (GNU C) to OpenVMS Alpha and OpenVMS VAX is available at:

  The latest (known to me) GCC version for VAX/VMS (binaries only) is 2.7.1
  from Pat Rankin's site. 

                                    [Jason Armistead, Richard Levitte, 
                                    Arne Vajhoej, John E. Malmberg]

There are also updated header files for GCC on OpenVMS VAX that allow it 
to work with TCP/IP Sockets and the Compaq C C RTL at:

                                        [John E. Malmberg]

Some of the available console management options for OpenVMS:  (Heroix)  (KI Products) (Global Maintech) (TECsys) (CA)
                                       [Kerry Main]

If you need to change the file modification date and are looking 
for a utility such as the UNIX touch tool, look at DFU on the 
OpenVMS Freeware (DFU SET or simular), or use an existing DCL 
commands such as:

  SET FILE/PROTECT=(current_protection_mask) [...]*.*

A table listing translations between UNIX shell and OpenVMS DCL 
commands was posted to comp.os.vms by Christopher Smith:


The UNIX touch tool is available via various means:

  $ RENAME filename.ext;version *
  MadGoat FILE tool (see the MadGoat archives)
  The DFU tool (see the OpenVMS Freeware)
  The pair:
    $ set file 'p1' /acl=(ident=[system],access=none)
    $ set file 'p1' /acl=(ident=[system],access=none) /delete
  The following hack:
    $!   Command procedure SETDATE.COM
    $!   Changes the DATES for an input file to a
    $!   file named OUTFILE.
    $assign/nolog 'p1' outfile
    $convert/fdl=sys$input 'p1' outfile:
    creation   01-apr-2010
    expiration 01-Apr-2012
    revision   01-Apr-2011
  The following RMS system service sequence:
    $open (with xabrdt)
    set the desired values in the xabrdt

SOFT3.    Where can I get the Netscape Navigator Web Browser? is the open source organization providing Netscape and 
other interested parties with a browser.  Netscape is expected to 
commercialize this browser, add additional proprietary 
features, and release it as Netscape Communicator (version number TBD).
This Netscape Communicator will contain the features that the Internet 
community expected to see in Netscape Communicator V5.

OpenVMS Engineering is currently porting's web browser
to OpenVMS -- OpenVMS baselevels of the browser are currently available 
for download.  

The web browser schedule is available at:

The latest information and current downloads are available at:

See section SOFT9 for information on various certificates for V3.003 
Netscape Navigator; certificates that have presently expired.
					[Sue Denham]
					[Stephen Hoffman]

SOFT4.    Where can I get Java for OpenVMS?

  Java is available on and is included with OpenVMS Alpha, starting 
  with the OpenVMS Alpha V7.2 and later releases.  Java download kits 
  are available for OpenVMS Alpha V7.1 and later releases.

  Java is not available on OpenVMS VAX.  As for why: the Java language 
  definition requires a floating point format (IEEE) that is not native 
  to VAX, and this would require the emulation of all floating point 
  operations within Java applications.  Further, the C source code used 
  to implement for Java itself is heavily dependent on passing IEEE 
  floating point values around among the many internal subroutines, and 
  adding support for VAX would entail changes to the Compaq C compiler 
  for OpenVMS VAX -- and specifically to the VAX VCG code generator that 
  is used by Compaq C on OpenVMS VAX systems -- in order to add support 
  for passing IEEE-format floating point doubles around.  Alternatively, 
  extensive changes to the Java source code to remove the assumption that 
  the double is an IEEE floating point value.

  There are currently no plans to make a version of Java available for
  OpenVMS VAX.  (A prototype version of Java was created for OpenVMS VAX,
  and performance was found to be inadequate at best.)

  If Java2 or other environment lifts the requirements for IEEE floating
  point as part of the language definition, this decision may be revisited.

  If you are having problems with Display Postscript, you need to upgrade
  your Java kit -- 1.2.2-3 and later remove the requirement for Display
  Postcript extensions, and Java 1.2.2-3 is required with DECwindows 
  V1.2-6 and later.

  For additional information on Java for Alpha systems, please see the
  OpenVMS documentation (V7.2 and later), and the following site:

  Compaq Secure Web Server (CSWS) includes CSWS_JAVA, which provides the
  following Apache Tomcat technologies: JavaServer Pages 1.1, Java Servlet 
  2.2, and MOD_JK.  (CSWS is based on the Apache web server.  See SOFT1.)

SOFT5.    VAX C and DEC C, and other OpenVMS C Programming Considerations?

  VAX C V3.2 was released for OpenVMS VAX systems in 1991.  DEC C V4.0
  replaced VAX C V3.2 in 1993 as the Compaq C compiler for OpenVMS VAX
  systems.  Compaq C is the ANSI C compiler for OpenVMS Alpha systems.
  VAX C predates the ANSI C standards, and has various areas that are
  not compliant with ANSI C requirements.  Compaq C is an ANSI C compiler,
  and can also compile most VAX C code when /STANDARD=VAXC is specified.
  Versions of this compiler between V3.2 and V6.0 (exclusive) were known 
  as either DEC C or DIGITAL C.

  Both compilers can be installed at the same time on the same OpenVMS
  VAX system, allowing a migration from VAX C to DEC C, and allowing
  the same DEC C code to be used on OpenVMS VAX and OpenVMS Alpha.  In
  1999, the C compiler version is Compaq C V6.0.

  The system manager can choose the system default C compiler when
  Compaq C is installed on a system with VAX C, and a C programmer can
  explicitly select the required compiler for a any particular compilation.

  A current "C" license PAK allows access to both VAX C and Compaq C on the
  same OpenVMS VAX system.

  Various Compaq C versions can be installed on OpenVMS VAX V5.5-2 and later.
  OpenVMS VAX releases such as V5.5-2 and V6.0 will require the installation
  of a Compaq C RTL kit, a kit that is included with the Compaq C compiler.
  OpenVMS VAX versions V6.1 and later do not require a seperate RTL kit, 
  but Compaq C RTL ECO kits are available to resolve problems found with 
  the C RTL on various OpenVMS releases.

  Wwith Compaq C, for automatic resolution of the standard C library 
  routines by the LINKER utility, use the /PREFIX qualifier, such as
  /PREFIX=ALL_ENTRIES.  If a particular application program replaces an
  existing C library routine, use /PREFIX=(ALL_ENTRIES,EXCEPT=(...)).
  (VAX C required explicit specification of an RTL shareable image or
  C object library during the link.)

  When the /PREFIX is requested, the compiler generates a "decc$" prefix
  on the specified symbols.  This prefix allows the LINKER to resolve the
  external symbols against the symbols present in the DECC$SHR library.
  The DECC$SHR library is included in the IMAGELIB.OLB shareable image
  library, and IMAGELIB is searched by default when any program (written
  in any language) is LINKed.  Because the standard C library routine
  names are very likely to match application routines written in other
  languages, a prefix "decc$" is added to the C symbol names to assure
  their uniqueness; to prevent symbol naming conflicts.  C programs,
  however, can sometimes have private libraries for various purposes,
  and the external routines share the same names as the library routines.
  (This is not recommended, but there are applications around that use
  this technique.)  Thus the need to explicity specify whether or not
  the "decc$" prefix should be prepended to the external symbol names
  by the compiler.

  The qualifiers, and most (all?) with associated pragmas, that may be
  of interest when migrating VAX C code to Compaq C include:

      As mentioned above.  Failure to specificy this qualifier can
      cause the compiler to not add the prefixes for the names of
      the C library routines into the references placed in the object
      module, which can in turn cause problems resolving the external
      symbols in the library when the object code is linked.

      Some VAX C programs erroneously write to the string literals.
      By default, Compaq C does not allow the constants to change.

      Enables sharing ("shr") of globals and of extern variables.
      Compaq C sets externs as non-shareable ("noshr"), VAX C as "shr".

      VAX C assumes common block model for external linkages.

      Refers to the padding placed between member elements within
      a struct.  Disabling member alignment packs the data more
      tightly into memory, but this packaging has performance
      implications, both on OpenVMS VAX and particularly on
      OpenVMS Alpha systems.

  Permit structure members to be naturally aligned whenever possible,
  and avoid using /NOMEMBER_ALIGNMENT.  If you need to disable member
  alignment, use the equivilent #pragma to designate the specific
  structures.  The alignment of structure members normally only comes
  into play with specific unaligned data structures -- such as the
  sys$creprc quota itemlist -- and with data structures that are using
  data that was organized by a system using byte or other non-member

  Versions of Compaq C such as V6.0 include the capability to extract the
  contents of the standard header libraries into directories such as
  SYS$SYSROOT:[DECC$LIB...], and provide various logical names that can
  be defined to control library searches.  With Compaq C versions such 
  as V6.0, the default operations of the compiler match the expectations
  of most OpenVMS programmers, without requiring any definitions of
  site-specific library-related logical names.  (And logical names left
  from older DEC C versions can sometimes cause the compiler troubles
  locating header files.)

  Compaq C V5.6 and later include a backport library, a mechanism by
  which Compaq C running on older OpenVMS releases can gain access to 
  newer RTL routines added to the RTL in later OpenVMS releases -- the 
  language RTLs ship with OpenVMS itself, and not with the compilers.

  Example C code is available in SYS$EXAMPLES:, in DECW$EXAMPLES (when
  the DECwindows examples are installed), in UCX$EXAMPLES (when Compaq
  TCP/IP Services is installed), on the Freeware CD-ROMs, and at web 
  sites such as

  Other common C issues:

    The localtime() function and various other functions maintain the 
    number of years since 1900 in the "struct tm" structure member 
    tm_year.  This field will contain a value of 100 in the year 2000, 
    101 for 2001, etc., and the yearly incrementation of this field is
    expected to continue.

    The C epoch typically uses a longword (known as time_t) to contain 
    the number of seconds since midnight on 1-Jan-1970.  At the current 
    rate of consumption of seconds, this longword is expected to overflow 
    (when interpreted as a signed longword) circa 03:14:07 on 19-Jan-2038 
    (GMT), as this time is circa 0x7FFFFFFF seconds since the C base date.
    (The most common solution is to ensure that time_t is an unsigned.)

    If C does not correctly handle the display of the local system time,
    then check the UTC configuration on OpenVMS -- the most common symptom
    of this is a skew of one hour (or whatever the local daylight savings
    time change might be).  This skew can be caused by incorrect handling 
    of the "is_dst" setting in the application program, or by an incorrect
    OpenVMS UTC configuration on the local system.  (See section TIME4.)

    When sharing variables with other languages, here is some example 
    Compaq C code...

      #pragma extern_model save
      #pragma extern_model strict_refdef
      extern int   VMS$GL_FLAVOR;
      #pragma extern_model restore

    and here is some associated example Bliss code...


  Other common C++ issues:

    Compaq C++ (a separate compiler from Compaq C) provides both symbol
    mangling and symbol decoration.  Some of the details of working with
    longer symbol names and the resulting symbol name mangling in mixed
    language environments are listed in the shareable image cookbook,
    and in the C++ documentation.  Symbol name decoration permits the
    overloading of functions (by adding characters to the external symbol 
    for the function to indicate the function return type and the argument
    data types involved), and mixed-language external references can and 
    often do need to disable this decoration via the extern "C" declaration 

      extern "C"
        extern int ExternSymbol(void *);
        extern int OtherExternSymbol(void *);

  Also see ALPHA16 for information on /ARCHITECTURE and /OPTIMIZE=TUNE.

  See PROG17 for information on the C system and the lib$spawn call in
  CAPTIVE environments.

  Constructs such as the order of incrementation or decrementation and
  the order of argument processing within an argument list are all
  implementation-defined.  This means that C coding constructs such as:

    i = i++;
    a[i] = i++;
    foo( i, i++, --i);

  are undefined and can have (adverse) implications when porting the C
  code to another C compiler or to another platform.  In general, any
  combination of ++, --, =, +=, -=, *=, etc operators that will cause
  the same value to be modified multiple times (between what the
  ANSI/ISO C standard calls "sequence points") produce undefined and
  implementation-specific results.

  Within C, the following are the "sequence points": the ";" at the end
  of a C statment, the ||, &&, ?:, and comma operators, and a call to
  a function.  Note specifically that = is NOT a sequence point, and
  that the individual arguments contained within a function argument
  list can be processed from right to left, from left to right, or at
  any random whim.

  Compaq C for OpenVMS VAX (formerly DEC C) and VAX C do differ in the
  related processing.

  So you are looking for OpenVMS-specific definitions (include files)?

  UCBDEF.H, PCBDEF.H and other OpenVMS-specific definitions -- these are 
  considered part of OpenVMS and not part of the C compiler kit -- are 
  available on all recent OpenVMS Alpha releases.

  To reference the version-dependent symbol library sys$share:sys$lib_c.tlb,
  use a command similar to the following for compilation:


  You can also define DECC$TEXT_LIBRARY to reference the library.

  You will want to review the Programming Concepts manual, and specifically
  take a quick look at Chapter 21.

  And some general background: the STARLET definitions (and thus the
  sys$starlet_c.tlb library) contain the symbols and the definitions that 
  are independent of the OpenVMS version.  The LIB definitions (and thus
  sys$lib_c) contain symbols and definitions that can be dependent on the 
  OpenVMS version.  You won't need to rebuild your code after an OpenVMS 
  upgrade if you have included definitions from STARLET.  The same cannot 
  be said for some of the definitions in LIB -- you might need to rebuild 
  your code.  (The UCB structure can and has changed from release to 
  release, for instance.)

  Recent versions of C automatically search sys$starlet_c.tlb.  Explicit
  specification of sys$lib_c.tlb is required.

  Also see the Ask The Wizard website (
  topics (2486), (3803), and (1661).
SOFT6.    Obtaining user input in DCL CGI script?

If you choose to use the GET method, then the form data is available 
in the DCL symbol QUERY_STRING, in URL-encoded format.

If you use the POST method, then you need to read the form data from 
stdin. For a DCL CGI script running under the Netscape FastTrack web 
server, you can read the data using the following READ command:

  $ READ SYS$COMMAND postdata

to read the information in.
                                                [Colin Blake]

The following describes the use of DCL command procedures as CGI
scripts with the OSU web server:
                                                [Leif Jansson]

SOFT7.    How do I get my own batch entry number?

To have a batch procedure retrieve its own batch entry number,
use the following:


Remember that the entry numbers issued by the OpenVMS Job Controller 
are opaque longword values.  Don't assume you know the format of the 
number, nor the range of numbers you might see...
                                                [Peter Weaver]

SOFT8.    How do I convert to new CMS libraries?

A change was made to the format of the CMS database for CMS libraries
starting with V3.5-03 -- to ensure that earlier versions of CMS are
unable to access the database once the "conversion" to V3.5-05 and
later is made, you must issue the following two commands when upgrading
from V3.5-03 and prior.  (The only differences between CMS version
V3.5-03 and CMS version V3.5-05 involve changes to ensure that np
earlier version of CMS can access the "converted" database.)

To perform the "conversion", issue the following commands for each
CMS library present:

    $ RENAME disk:[directory]00CMS.* 01CMS.*
    $ COPY NLA0: disk:[directory]00CMS.CMS

The new file 00CMS.CMS must have the same security settings as the
01CMS.CMS file, and is created solely to ensure continued compatibility
with tools that expect to find a 00CMS.CMS file (eg: various versions
of the Language-Sensitive text editor LSEDIT).

SOFT9.    Where can I get new certificates for Netscape Navigator?

The URLs that I found for adding/updating root certificates are:        entrust                                        thwate         verisign
                                          [Ken Chaney]

To update certificates in Netscape Navigator V3.03 on OpenVMS,
use the following:

Here's how to update your Root certificates in Netscape:

Thawte Server certificate which expired in 1998:

1) Under the Options Menu choose "Security Preferences..."
2) Select the "Site Certificates" tab
3) Select "Thawte Server CA" in the list of certificates
4) Select "Delete Certificate" and then "OK"
5) Go to
6) Follow the instructions on the popup dialog box to accept the certificate
   This mostly involves hitting the "Next" button and clicking an accept
   button and then naming the resulting certificate.  I named it the same
   name as the original.

VeriSign/RSA Server certificate which expired Dec 31, 1999:

1) Under the Options Menu choose "Security Preferences..."
2) Select the "Site Certificates" tab
3) Select "Verisign/RSA Secure Server CA" in the list of certificates
4) Select "Delete Certificate" and then "OK"
5) Go to
6) Follow the instructions on the popup dialog box to accept the certificate
   This mostly involves hitting the "Next" button and clicking an accept
   button and then naming the resulting certificate.  Verisign suggests
   using the name "VeriSign CA".

                                          [Vance Haemmerle]

SOFT10.   Why doesn't DCL symbol substitution work?

The DCL symbol substitution processing occurs only at the DCL prompt, 
not within data and not within files.  If you wish to perform symbol 
substitution in this environment, you typically write a small file 
containing the command(s) and data to be invoked -- potentially only 
the data -- and you then invoke the created procedure or reference 
the specified data.

In this case, use of a file containing nolinemode commands or other
techniques might be useful -- you will want to ensure that the text
editor you use does not attempt to use screen mode or similar, as this
is not generally considered adventageous within a command procedure.

Tools such as FTP have alternatives: COPY/FTP.

DCL symbol substitution occurs in two passes, using the ampersand and
the apostrophe.  In most cases, only the apostrophe is necessary.  In
a few cases -- such as the DCL PIPE command -- you will may need to use
the ampersand to get the substitution to work.  The following example
uses ampersand substitution to transfer the contents of the header
into a logical name:


A logical name (in the job logical name table; shared by all processes 
in the current job) was used as DCL symbols cannot be returned back out
from a DCL PIPE or other spawned subprocess.

SOFT11.   Duplicates MGMT40.

SOFT12.   Where can I get Perl for OpenVMS?

OpenVMS support is included in the standard distribution of Perl, the 
popular scripting language created by Larry Wall.  In addition to nearly 
all of the functionality available under Unix, OpenVMS-specific Perl 
modules provide interfaces to many native features, as well as access
to Oracle, Ingres, and Sybase databases via the Perl DBI available on 

A website useful for getting started with Perl on OpenVMS -- where you 
will find such things as download links, instructions, auxiliary tools, 
and sample scripts -- is available at:

If you have a C compiler, the best way to obtain Perl is to download 
and build it yourself.  The latest production quality source kit is 
available from:

You will need GUNZIP and VMSTAR (both available from the OpenVMS Freeware
CD, or from other sites) to unpack the archive; once you've done that, 
read the instructions in the README.vms file.

Binary distributions for most Alpha and VAX environments are available 
on the OpenVMS Freeware CD-ROM and from various websites, including the 

During active Perl development cycles, test kits are sometimes found at:

Watch the mailing list (see below) for details on experimental releases.

Charles Lane maintains pages on how to write CGI scripts in Perl for the 
OSU HTTP server, as well as more general tips, tricks, and patches for 
building and running Perl on OpenVMS:

There are OpenVMS-specific Perl modules that implement interfaces to a 
subset of the VMS System Services. With these modules, you can get (and 
often set) device, job, queue, user, system, and performance information. 
The lock manager, RMS indexed files, screen management utilities, and 
Intracluster Communication Services are also accessible via Perl.  The 
relevant modules are all available from:

To subscribe to the OpenVMS Perl mailing list (a discussion forum for 
both user support and new development), send an email message to:

The mailing list archives may be searched at:
                                              [Craig Berry]

SOFT13.   Where can I get DECmigrate (VEST and TIE)?

  The DECmigrate image translation tool, a tool that translates 
  OpenVMS VAX images for use on OpenVMS Alpha is available at:

  This tool is not currently supported.

  See UTIL4.

SOFT14.   Where can I get Zip, Unzip, self-extracting zip, etc?

  Many packages are provided in ZIP, GZIP, or BZIP format, which 
  requires you to acquire the associated unzip tool to unpack it.
  You can get ZIP and UNZIP from the following areas:

  or you can request the FILESERV_TOOLS package from the e-mail server.

  [Beware: The [000TOOLS...] pre-built versions of ZIP on the OpenVMS 
  Freeware V4 (
  CD-ROM will erroneously return BILF errors on OpenVMS V7.2 and later.
  Use of the source on the Freeware V4 to rebuild the ZIP image(s), or 
  acquiring a pre-built ZIP image from one of the above areas can avoid 
  this.  The pre-built version of ZIP on the Freeware V4 kit is older 
  than the included ZIP sources, and it contains a latent bug.]

  Directions for using sfx (self-extracting zip) are available in the 
  unzip kit available at:


  If you want to build the zip images for yourself (eg: for an older
  OpenVMS version), pull over the entire contents of:

  and invoke LINK.COM.

[End of Part 4/5]

 --------------------------- pure personal opinion ---------------------------
   Hoff (Stephen) Hoffman   OpenVMS Engineering

Inferno Solutions
Hosting by

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру