Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!paloalto-snf1.gtei.net!news.gtei.net!news.compaq.com!news.cpqcorp.net!not-for-mail
Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers
Distribution: world
X-Newsreader: mxrn 6.18-32B
References: <
[email protected]> <
[email protected]> <
[email protected]>
From:
[email protected] (Hoff Hoffman)
Reply-To:
[email protected]
Followup-To: poster
Approved:
[email protected]
Expires: 2 Dec 2001 00:00:00 GMT
Subject: OpenVMS Frequently Asked Questions (FAQ), Part 4/5
Summary: 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.
Lines: 2454
Message-ID: <
[email protected]>
Date: Tue, 02 Oct 2001 21:35:22 GMT
NNTP-Posting-Host: 16.32.80.251
X-Complaints-To:
[email protected]
X-Trace: news.cpqcorp.net 1002058522 16.32.80.251 (Tue, 02 Oct 2001 14:35:22 PDT)
NNTP-Posting-Date: Tue, 02 Oct 2001 14:35:22 PDT
Organization: Compaq Computer Corporation
Xref: senator-bedfellow.mit.edu comp.os.vms:311564 comp.sys.dec:89399 vmsnet.alpha:11484 vmsnet.misc:6282 comp.answers:47273 news.answers:216436
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:
csh:
# 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
database.
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
address.
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"
field.
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:
$ DIR SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM
If that file exists, then do:
$ SEARCH SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM -
$_ 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
help.
[
[email protected]]
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.
[
[email protected]]
------------------------------------------------------------
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:
$ SET DISPLAY /CREATE /TRANSPORT=LAT /NODE=REMOTE_NODE
for DECnet:
$ SET DISPLAY /CREATE /TRANSPORT=DECNET /NODE=NODE
for TCP/IP
$ SET DISPLAY /CREATE /TRANSPORT=TCPIP /NODE=128.12.4.122
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
release.
[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.
[
[email protected]]
------------------------------------------------------------
DECW3. How can I get the information from SHOW DISPLAY into a symbol?
Use the undocumented SHOW DISPLAY/SYMBOL, and then reference the symbols
DECW$DISPLAY_NODE, DECW$DISPLAY_SCREEN, DECW$DISPLAY_SERVER and/or
DECW$DISPLAY_TRANSPORT.
[
[email protected]]
An example of calling the underlying (and also undocumented) sys$qio
programming interface for the WSDRIVER (WSAn:) is available at:
http://www.openvms.compaq.com/freeware/srh_examples/DECUS_UNDOC_CLINIC/
------------------------------------------------------------
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.
*defaultVirtualBindings:\
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:
$ DEFINE/SYSTEM/EXEC DECW$IGNORE_WORKSTATION TRUE
c) You may not have a valid Motif license. To check for the Motif
license, type the commands:
$ LICENSE LIST DW-MOTIF/FULL
$ LICENSE LIST NET-APP-SUP*/FULL
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>
$ DEFINE/SYSTEM DECW$SERVER_REFRESH_RATE <rate in Hz>
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
HELP CREATE /TERMINAL /WINDOW_ATTRIBUTES.
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...
menu.
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:
SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE
This example template file is typically copied over to the filename
SYS$COMMON:[SYS$STARTUP]DECW$PRIVATE_APPS_SETUP.COM and then modified to meet
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
procedure. See SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE for further
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(
m->AppCtx,
m->InputEF,
m->InputIosb,
the_callback, 1 );
if ( !((int) m->InputID ))
{
XtAppErrorMsg(
m->AppCtx,
"invalidDevice",
"XtAppAddInput",
"XtToolkitError",
"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
option in SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE.
On older releases, you can disable output using the following:
SET TERMINAL/PERMANENT/NOBROADCAST OPA0:
DEFINE/USER SYS$COMMAND OPA0:
REPLY/DISABLE
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:
$ MCR SYSGEN SHOW WINDOW_SYSTEM
If it is not set to a value of 1, issue the commands:
$ MCR SYSGEN
SYSGEN> USE CURRENT
SYSGEN> SET WINDOW_SYSTEM 1
SYSGEN> WRITE ACTIVE
SYSGEN> WRITE CURRENT
SYSGEN> EXIT
$ 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:
$ MCR SYSMAN
SYSMAN> IO SHOW PREFIX
SYSMAN> IO SET PREFIX=(DECW$,*) * = list returned by the show command
SYSMAN> IO AUTO/LOG
SYSMAN> EXIT
3) Ensure that the image SYS$SHARE:DECW$ICBM.EXE is installed in memory.
If it is not installed, then install it:
$ INSTALL LIST/FULL SYS$SHARE:DECW$ICBM
$ INSTALL REPLACE SYS$SHARE:DECW$ICBM
$ EDIT SYS$MANAGER:SYCONFIG.COM
$! The following line was added to install
$! support for the Mach64 Graphics Card
$!
$ INSTALL REPLACE SYS$SHARE:DECW$ICBM
$ ^Z
$ SHUTDOWN
REBOOT the system.
If the system still complains that NO GRAPHICS DEVICES COULD BE FOUND
then:
4) o Boot the system as normal
o Login as "system"
o Create the file:
$ SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT (W:RE)
o Add the following string on the very first line:
CLEAR_PFLAG = ISA_4BYTE
o Save the file
o Set the file protections
o Reboot the system
EXAMPLE:
$ create SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT
CLEAR_PFLAG = ISA_4BYTE
^Z
$ SET FILE/PROTECTION=(W:RE) SYS$COMMON:[SYSMGR]DECW$USER_AUTOCONFIG.DAT
$ 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
DECW$SERVER_TRANSPORTS in SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM
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:
COPY SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.TEMPLATE -
SYS$COMMON:[SYSMGR]DECW$PRIVATE_SERVER_SETUP.COM
------------------------------------------------------------
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
system file SYS$SYSTEM:SMGTERMS.TXT.
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
KPPERIOD={SS3}n ENTER={SS3}M DNARROW={CSI}B UPARROW={CSI}A LFARROW={CSI}D
RTARROW={CSI}C FIND={CSI}1~ INSERT={CSI}2~ REMOVE={CSI}3~ SELECT={CSI}4~
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:
ftp://ftp.boundless.com/pub/text/adds/docs/260_prog/
ftp://ftp.boundless.com/pub/text/adds/docs/260_user/
Also see the various documentation and manuals available at:
http://www.vt100.net/
Information on the ReGIS graphics character set is available at:
http://www.cs.utk.edu/~shuford/terminal/dec_regis_news.txt
Also:
http://www.boundless.com/Text_Terminals/VT/
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:
>>> SHOW DEVICE
>>> SHOW ETHER
>>> SHOW CONFIG
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
address.
If the system is running, you can use DECnet or TCP/IP to display the
hardware address with one of the following commands.
$ MCR NCP SHOW KNOWN LINE CHARACTERISTICS ! DECnet Phase IV
$ MCR NCL SHOW CSMA-CD STATION * ALL STATUS ! DECnet-Plus
$ 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:
http://www.openvms.compaq.com/wizard/swdev/ethernVMS.html
To use the DECnet Phase IV configurator tool to watch for MOP SYSID
activity on the local area network:
$ NCP SET MODULE CONFIGURATOR KNOWN CIRCUIT SURVEILLANCE ENABLED
Let the DECnet configurator run for at least 20 minutes. Then issue
the following commands:
$ NCP SHOW MODULE CONFIGURATOR KNOWN CIRCUIT STATUS TO filename.txt
$ NCP SET MODULE CONFIGURATOR KNOWN CIRCUIT SURVEILLANCE DISABLED
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:
LANCP> SET DEVICE/DEVICE_SPECIFIC=FUNCTION="CCOU" devname
------------------------------------------------------------
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:
$ LICENSE COPY...
$ LICENSE ISSUE/PROCEDURE/OUTPUT=file product,...
To display the particular license(s) required (such as when you
receive a NOLICENSE error), use the following DCL sequence:
$ SET PROCESS/PRIVILEGE=ALL
$ REPLY/ENABLE
$ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE
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:
DECnet Phase IV: DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP*
DECnet-Plus: DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP*
TCP/IP Services: UCX, or NET-APP-SUP*
OpenVMS Alpha: OPENVMS-ALPHA and OPENVMS-ALPHA-USER
OpenVMS VAX: VAX-VMS
OpenVMS Galaxy: OPENVMS-GALAXY
Cluster (Alpha): VMSCLUSTER, NET-APP-SUP*
Cluster (VAX): VAXCLUSTER, 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.
http://www.compaq.com/info/spd/
To determine which license PAK is failing (via a license check failure
OPCOM message), use the command:
$ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE TRUE
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
interoperate.
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:
http://www.compaq.com/csa/directory/
----
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:
http://www.openvms.compaq.com/freeware/
ftp://ftp.montagar.com/
ftp://mvb.saic.com/freewarev40/
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:
http://www.openvms.compaq.com/openvms/freeware/
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:
QA-6KZAA-H8
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:
http://www.process.com/openvms/index.html
http://www.madgoat.com/
[Hunter Goatley]
----
The FILESERV packages are also available via anonymous FTP from:
Via anonymous FTP from:
ftp://ftp.process.com/vms-freeware/
ftp.process.com, under [.WKU.VMS.FILESERV].
ftp.vms.stacken.kth.se, under [.MIRRORS.WKU.VMS.FILESERV].
ftp.ctrl-c.liu.se, under [.WKU.VMS.FILESERV].
ftp.riken.go.jp
ftp.vsm.com.au, under kits and kits/decwindows.
ftp.vsm.com.au, via the WWW instead of FTP.
or via e-mail from
[email protected]. 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:
http://www.levitte.org/~ava/
----
Kermit is available at:
http://www.columbia.edu/kermit/ or
ftp://kermit.columbia.edu/
----
ZMODEM is available at:
ftp://ftp.cs.pdx.edu/pub/zmodem
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 ftp.decus.org; there's a gopher server
gopher://gopher.decus.org/
an FTP server:
ftp://ftp.decus.org/
and a WWW server:
http://www.decus.org/
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.
[
[email protected]]
----
DECUS SIG Tape collections are available on Mark Berryman's system,
ftp://mvb.saic.com/
----
David Jones's DECthreads-based HTTP_SERVER World-Wide Web server
for OpenVMS.
http://kcgl1.eng.ohio-state.edu/www/doc/serverinfo.html
[Hunter Goatly]
----
Secure Shell (SSH) Server for OpenVMS:
http://kcgl1.eng.ohio-state.edu/~JONESD/ssh/DOC/
Secure Shell (SSH) Client for OpenVMS:
http://www.free.lp.se/fish/
Information on OpenSSL (SSLeay) for OpenVMS:
http://www.free.lp.se/openssl/
[Leo Demers]
The SSH terminal client FISH:
http://www.free.lp.se/fish/
Information on OpenSSL (SSLeay) and OSU Web server interoperation:
http://www.ourservers.net/openvms_ports/
----
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:
ftp://wvnvms.wvnet.edu/mosaic/
----
Lynx (a character-cell World-Wide-Web reader) is available from
ftp://ftp2.cc.ukans.edu/pub/lynx
[Steve Lionel]
----
Netscape Navigator and Mozilla web browsers are available at:
http://www.openvms.compaq.com/ebusiness/Technology.html
http://www.mozilla.org/
----
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:
http://www.pgpi.com/
http://zone.pspt.fi/pgp/platforms/vms/
http://www.yrl.co.uk/~phil/pds/pds.html
----
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:
http://www.gnupg.org/
The OpenVMS source code and OpenVMS Alpha images can be found at:
http://seqaxp.bio.caltech.edu/pub/SOFTWARE/GNUPG1_0_4_VMS.ZIP
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:
http://decwarch.free.fr/
ftp://ftp2.cnam.fr/decwindows/
ftp://ftp.ctrl-c.liu.se/decwindows/
ftp://ftp.vms.stacken.kth.se/mirrors/decwindows/
http://www.multimania.com/pmoreau/decw/
(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.).
http://www.imagemagick.org/
(Also on Freeware CD)
[
[email protected]]
----
XV is available from:
ftp://ftp.cis.upenn.edu/pub/xv
http://www.sanface.com/
ftp://www-pi.physics.uiowa.edu/~dyson/xv-3_10a-vms.zip
----
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:
http://www.multimania.com/pmoreau/decw/index.html
http://www.multimania.com/pmoreau/decw/images.html
[Patrick Moreau]
----
GHOSTSCRIPT (gs) and GHOSTVIEW (gv) are available from:
http://www.openvms.compaq.com/freeware/freeware50/
Also available on the Freeware V5 CD-ROM.
Also see:
http://www.cs.wisc.edu/~ghost/gnu/
----
XPDF, a viewer for PDF (Adobe Acrobat) files, is available from:
http://www.openvms.compaq.com/freeware/freeware50/xpdf/
http://www.foolabs.com/xpdf/
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:
http://www.adobe.com/
----
Various OpenVMS-related tools -- both freeware and shareware -- such as
txt2pdf -- are available from at:
http://www.sanface.com/
----
The MPEG library version 1.1 is available for OpenVMS VAX and Alpha at
ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.readme
ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.zip
[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
ftp.x.org (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:
http://axp616.gsi.de:8080/wwwar/cena/decwindows/cena.html
Some X clients from the OpenVMS Freeware CDROM are located in
[.DECWINDOWS.CDFREEWARE] directory.
[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).
[
[email protected]]
----
The Levitte (extended :-) Family (and OpenVMS) website:
http://www.levitte.org/
http://www.levitte.org/~ava/
---
Robert's OpenVMS Hobbyist Systems, including OpenVMS public domain
software and various ports:
http://www.ourservers.net/
[Robert Alan Byer]
----
CalTech Software Archives:
http://seqaxp.bio.caltech.edu/pub/SOFTWARE/AAA_CONTENTS.TXT
----
DJE Systems Website (David J. Dachtera)
http://www.djesys.com/freeware/vms/
----
Web Servers:
Apache Web server (Compaq Secure Web Server (CSWS)):
http://www.openvms.compaq.com/ebusiness/Technology.html
http://www.er6.eng.ohio-state.edu/~jonesd/apache/1_3_9/
OSU Web server
http://www.er6.eng.ohio-state.edu/www/doc/serverinfo.html
http://www.kjsl.com/archives/
email list:
[email protected]
WASD Web server
http://wasd.vsm.com.au/wasd/
Purveyor Web server:
email list:
[email protected]
no subject, one line message: SUBSCRIBE PURVEYOR
----
CD-R (CD-Recordable) media tools:
please see FILE7
----
Grace (WYSIWYG 2D plotting tool)
http://plasma-gate.weizmann.ac.il/Grace/
----
The POV-Ray ("Persistance of Vision" Raytracer) ray-tracing graphics
package is available on the OpenVMS Freeware.
----
Majordomo mailing list handler:
http://www.openvms.compaq.com/ebusiness/Technology.html
----
PINE (OpenVMS tools for sending and receiving MIME mail):
ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/
http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/
A MIME tool is available in OpenVMS V7.2 and later.
Also see the mmencode base64 encode and decode available at:
http://nucwww.chem.sunysb.edu/htbin/software_list.cgi
----
Menufinder (menu-driven system management environment):
http://www.itre.com/mf/download.html
----
tcgmsg, pvm, mpi, linda:
ftp://v36.chemie.uni-konstanz.de/tcgmsg_vms/tcgmsg_vms.zip
----
OpenVMS software that can control a Tripp-Lite Uninterruptable Power
Supply (UPS) is available from:
http://seqaxp.bio.caltech.edu/pub/SOFTWARE/TCONTROL.ZIP
[David Mathog]
UPShot web-based software for controlling a UPS is available from:
http://www.tmesis.com/apc/beta.htmlx
[Brian Schenkenberger]
----
Examples of using the OpenVMS Foreign MAIL interface are available at:
http://www.hhs.dk/anonymous/pub/vms/collection/foreignmail.zip
http://www.hhs.dk/anonymous/pub/vms/nbl/nbl.zip
[Arne Vajhoej]
For tools to manage or to search your OpenVMS MAIL file, see:
http://vms.process.com/scripts/fileserv/fileserv.com?MLSEARCH
[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).
http://www.jafsoft.com/asctohtm/index.html
http://www.jafsoft.com/asctotab/index.html
[Jaf]
----
Information on the SAMBA package (PC disk and print services)
is available at:
http://ifn03.ifn.ing.tu-bs.de/ifn/sonst/samba-vms.html
http://www.samba.org/
To subscribe to the SAMBA-VMS mailing list e-mail
[email protected]
with no subject line and the following single line of text:
subscribe samba-vms Your Full Name
Also see:
http://lists.samba.org/
----
Perl: See SOFT12
----
XML:
Source code of an XML Parser is available from Oracle.
Also see:
http://www.python.org/sigs/xml-sig/
An XML parser is available as part of OpenVMS V7.3 and later.
----
GTK+ (The GIMP GUI Tookit) for OpenVMS:
http://www.openvms.compaq.com/ebusiness/Technology.html
----
OpenVMS Porting Library now available - for easier porting of C/C++
applications from UNIX to OpenVMS:
http://www.openvms.compaq.com/ebusiness/Technology.html
----
Mlucas (specialized FFT):
ftp://hogranch.com/pub/mayer/README.html
[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.
http://www.networkingdynamics.com/
http://www.raxco.com/
----
Python for OpenVMS:
http://www.python.org/
http://decus.decus.de/~zessin/python/
Various packages:
http://richj.home.mindspring.com/richware/index.html
http://www3.sympatico.ca/n.rieck/links/cool_vax_vms.html
----
TSM (Terminal Server Manager) is available via:
http://www.compaq.com/support/digital_networks_archive/servers/tsm/index.html
http://www.openvms.compaq.com/freeware/freeware50/
(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:
http://www.columbia.edu/kermit/
----
TCL for OpenVMS:
ftp://sapodilla.rsmas.miami.edu/pub/VMS-tcl/tcl8.0p2-tk8.0p2/
----
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:
ftp://ftp.pdv-systeme.de/vms/
------------------------------------------------------------
SOFT2. Where can I find the UNIX <whatever> tool for OpenVMS?
POSIX:
POSIX-compliant, Compaq-supported versions of POSIX routines and
utilities:
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.
C:
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
http://www.clark.net/pub/dickey/vile/vile.html
Versions of VILE are also on the OpenVMS Freeware
vim: vi improved
http://www.polarfox.com/vim/
[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:
http://gnv.sourceforge.net/
Software info:
http://vms.gnu.ai.mit.edu/software/
Software archive:
ftp://vms.gnu.ai.mit.edu/gnu-vms/software/
GCC:
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:
ftp://vms.gnu.org/progis_mirror/gcc
http://www.levitte.org/~ava/vms_gnu.htmlx
The latest (known to me) GCC version for VAX/VMS (binaries only) is 2.7.1
from Pat Rankin's site.
ftp://ftp.caltech.edu/pub/rankin/
[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:
ftp://ftp.qsl.net/pub/wb8tyw/gcc281_u/
[John E. Malmberg]
Some of the available console management options for OpenVMS:
http://www.robomon.com/ (Heroix)
http://www.ki.com/products/clim/ (KI Products)
http://www.globalmt.com/ (Global Maintech)
http://www.tditx.com/ (TECsys)
http://www.cai.com/products/commandit.htm (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:
http://deja.com/getdoc.xp?
AN=581596523.1&CONTEXT=953337549.952369155
--
The UNIX touch tool is available via various means:
$ RENAME filename.ext;version *
http://nucwww.chem.sunysb.edu/helplib/@hvmsapps/TOUCH
MadGoat FILE tool (see the MadGoat archives)
use /REVISION_DATE or /CREATION_DATE
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
SET FILE/VERSION=0
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:
date
creation 01-apr-2010
expiration 01-Apr-2012
revision 01-Apr-2011
backup
...
The following RMS system service sequence:
$open (with xabrdt)
set the desired values in the xabrdt
$close
------------------------------------------------------------
SOFT3. Where can I get the Netscape Navigator Mozilla.org Web Browser?
Mozilla.org is the open source organization providing Netscape and
other interested parties with a browser. Netscape is expected to
commercialize this mozilla.org 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 Mozilla.org's web browser
to OpenVMS -- OpenVMS baselevels of the browser are currently available
for download.
The Mozilla.org web browser schedule is available at:
http://www.mozilla.org/
The latest information and current downloads are available at:
http://www.openvms.compaq.com/ebusiness/Technology.html
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:
http://www.compaq.com/java/alpha/index.html
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:
/PREFIX=ALL_ENTRIES
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.
/ASSUME=WRITABLE_STRING_LITERALS
Some VAX C programs erroneously write to the string literals.
By default, Compaq C does not allow the constants to change.
/SHARE_GLOBALS
Enables sharing ("shr") of globals and of extern variables.
Compaq C sets externs as non-shareable ("noshr"), VAX C as "shr".
/EXTERN_MODE=COMMON_BLOCK
VAX C assumes common block model for external linkages.
/[NO]MEMBER_ALIGNMENT
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
alignment.
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
http://www.openvms.compaq.com/wizard/
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...
...
EXTERNAL
VMS$GL_FLAVOR,
....
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
mechanism:
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:
CC sourcea+SYS$LIBRARY:SYS$LIB_C/LIB
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 (www.openvms.compaq.com/wizard/)
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:
http://www.levitte.org/~ava/cgiscripts_other.htmlx
[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:
$ Entry = F$GETQUI("DISPLAY_ENTRY", -
"entry_number","display_entry","this_job")
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:
http://www.entrust.net/customer/generalinfo/import.htm entrust
http://www.thawte.com/ thwate
https://www.verisign.com/server/prg/browser/root.html 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
http://www.thawte.com/serverbasic.crt
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
https://www.verisign.com/server/prg/browser/root.html
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:
$ PIPE CC/VERSION | (READ SYS$PIPE hdr ; DEFINE/JOB/NOLOG hdr &hdr )
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
OpenVMS.
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:
http://www.sidhe.org/vmsperl
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:
http://www.perl.com/CPAN/src/stable.tar.gz
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
following:
http://www.sidhe.org/vmsperl/prebuilt.html
http://www.openvms.compaq.com/freeware/perl5/
During active Perl development cycles, test kits are sometimes found at:
from:
ftp://ftp.sidhe.org/
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:
http://www.crinoid.com/crinoid.htmlx
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:
http://www.perl.com/CPAN/modules/by-module/VMS
To subscribe to the OpenVMS Perl mailing list (a discussion forum for
both user support and new development), send an email message to:
[email protected]
The mailing list archives may be searched at:
http://www.xray.mpe.mpg.de/mailing-lists/vmsperl
[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:
http://www.support.compaq.com/amt/decmigrate/index.html
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:
http://www.openvms.compaq.com/freeware/freeware50/000tools/
http://www.openvms.compaq.com/freeware/freeware50/bzip2/
http://www.openvms.compaq.com/freeware/freeware50/info-zip/
http://www.openvms.compaq.com/freeware/freeware40/000tools/
ftp://ftp.process.com/vms-freeware/unzip.alpha_exe
ftp://ftp.process.com/vms-freeware/unzip.vax_exe
http://www.decus.de:8080/www/vms/sw/zip.htmlx
http://www.djesys.com/zip.html
http://www.djesys.com/unzip.html
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 (
http://www.openvms.compaq.com/freeware/freeware40/)
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:
http://www.openvms.compaq.com/freeware/freeware50/unzip542/
Specifically:
http://www.openvms.compaq.com/freeware/freeware50/UNZIP542/UNZIPSFX.TXT
If you want to build the zip images for yourself (eg: for an older
OpenVMS version), pull over the entire contents of:
http://www.openvms.compaq.com/freeware/freeware50/unzip542/vms-binaries/
and invoke LINK.COM.
[End of Part 4/5]
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoffman#xdelta.zko.dec.com