OpenVMS Frequently Asked Questions (FAQ) Part 1-3/ 3

Article 31990 of comp.os.vms:
Path: mailint03.im.hou.compaq.com!not-for-mail
From: hoffman@xdelta.zko.dec.nospam (Hoff Hoffman)
Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers
Subject: OpenVMS Frequently Asked Questions (FAQ), Part 1/3
Followup-To: poster
Date: 29 Nov 1999 20:06:21 GMT
Organization: Compaq Computer Corporation
Lines: 1884
Approved: news-answers-request@mit.edu
Distribution: world
Expires: 29 April 2000 00:00:00 GMT
Message-ID: <81umbt$lro$1@mailint03.im.hou.compaq.com>
Reply-To: hoffman@xdelta.zko.dec.com
NNTP-Posting-Host: xdelta.zko.dec.com
X-Trace: mailint03.im.hou.compaq.com 943905981 22392 16.32.80.251 (29 Nov 1999 20:06:21 GMT)
X-Complaints-To: usenet@mailint03.im.hou.compaq.com
NNTP-Posting-Date: 29 Nov 1999 20:06:21 GMT
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.
Supercedes: <7u7sa4$9e6$1@mailint03.im.hou.compaq.com>
Xref: mailint03.im.hou.compaq.com comp.os.vms:31990 comp.sys.dec:7967 vmsnet.alpha:84 vmsnet.misc:24 comp.answers:3434 news.answers:18889




Archive-name: dec-faq/vms/part1
Posting-Frequency: monthly
Last-modified: 29 November 1999
Version: VMS-FAQ-1.TXT(3)


Changes since last edition
==========================
Overview text  Various updates
Update ALPHA2  changes to documentation
Update ALPHA7  include serial console settings
Update ALPHA4  CSA membership is now free
Update DCL4    Extend; add include SYLOGICALS information
Update DOC1    Reword ordering information
Update DOC2    Various updates
Update DOC6    Add a pointer to the "VMS HACK FAQ", comments
Update DOC7    New URLs, ECO notification email list
Update DOC8    Update URL
Update INTRO5  New text, new URLs, updated title
Update FILE2   Add discussion of alias entries and system disks
Added FILE8    What I/O transfer size limits exist in OpenVMS?
Update MGMT3   Various text updates, ODS-3 and ODS-4, Rock Ridge
Update MISC1   Remedy erroneously omitted connector keying
Update MISC4   Add PS/2 DIN to USB-A adapter info
Added MISC13   How do I check for free space on a (BACKUP) tape?
Added MGMT24   Add ALP4D20T01_071 information
Added MGMT29   How do I switch between AlphaBIOS/ARC and SRM consoles?
Added MGMT30   How do I delete an undeletable/unstoppable (RWAST) process?
Update SOFT1   Add new Zip URLs, new PGP URL, other updates, new title...
Update SOFT4   Add Java URL, OSU email, update the "why not on VAX" text...
Update VAX3    VAXstation 3100 manual URL
Update VAX5    ibid, reword some text, updated title
Update VMS7    changes to part numbers


Overview
========
This is part 1/3 of the Frequently Asked Questions (FAQ) posting for
the comp.os.vms and vmsnet.misc newsgroups.  (comp.os.vms is
bidirectionally-gatewayed to the INFO-VAX mailing list - see INTRO3
for further details.)  It contains answers to frequently asked
questions about Compaq's OpenVMS operating system and the computer
systems on which it runs.  (Please see INTRO5 before posting.)

This FAQ is archived in the following locations:
    comp.answers and news.answers newsgroups
    ftp://ftp.digital.com/pub/Digital/dec-faq/OpenVMS.txt
    ftp://ftp.digital.com/pub/Digital/dec-faq/vms
    ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms

Other FAQs are generally available in these locations:
    comp.answers and news.answers newsgroups
    ftp://rtfm.mit.edu/pub/usenet/...

User-created HTML versions of the FAQ are located at:
    http://www.kjsl.com/vmsfaq
    http://eisner.decus.org/vms/faq.htm

Please do NOT send technical questions to the Frequently Asked Questions
(FAQ) editor -- well, please do not email any questions that do not also
include the answer(s).  Please post these questions to the appropriate
newsgroup instead -- and see INTRO5 before posting.  To make suggestions
for changes or additions to this FAQ list, please send mail to the FAQ
editor at hoffman@xdelta.zko.dec.com.  Again, the FAQ editor is *not* in
a position to answer general questions.

Some general notes:

The term "VMS" is synonymous with "OpenVMS".  "Alpha", "AlphaGeneration" or
"AXP" generally refers to any system or product based on or related to
Compaq's Alpha processor architecture.  OpenVMS manual names mentioned are
those as of V7.2 -- names may be different in other editions of the
documentation set.

World-Wide Web Universal Resource Locator (URL) notation is used for FTP
addresses.

Many people have contributed to this list, directly or indirectly.  In
some cases, an answer has been adapted from one or more postings on the
comp.os.vms newsgroup.  Our thanks to all of those who post answers.
The name (or names) at the end of an entry indicate that the information
was taken from postings by those individuals; the text may have been
edited for this FAQ.  These citations are only given to acknowledge the
contribution.

Although the editor of this FAQ is an employee of Compaq's Digital
Equipment Corporation subsidiary, this posting is not an official
statement of either Compaq or Digital Equipment Corporation. 

AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation,
DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of Digital Equipment
Corporation.  Compaq and the names of Compaq products are trademarks and/or
registered trademarks and/or service marks of Compaq Computer Corporation.
OSF/1 is a registered trademark of the Open Software Foundation.  UNIX is
a registered trademark in the United States and other countries, licensed
exclusively through X/Open Company Ltd.  Other names are properties of their
respective owners.


Table of Contents - Part 1/3
____________________________

Introduction
========================================
INTRO1.  What is the scope of comp.os.vms?
INTRO2.  What other newsgroups carry VMS-related information?
INTRO3.  What is INFO-VAX?
INTRO4.  How do I subscribe to or unsubscribe from INFO-VAX?
INTRO5.  How do I submit a question or a response?  What is etiquette?
INTRO6.  What is DECUS?
INTRO7.  What archives of comp.os.vms/INFO-VAX are available?

General questions about OpenVMS
========================================
VMS1.   What is OpenVMS?  What is its history?
VMS2.   What is the difference between VMS and OpenVMS?
VMS3.   How do I port from VMS to OpenVMS?
VMS4.   Which is better - OpenVMS or UNIX?
VMS5.   Is Digital dropping support for OpenVMS?
VMS7.   What OpenVMS CD-ROM products are available?
VMS8.   In what language is OpenVMS written?
VMS9.   How do I obtain or transfer a VMS license?
VMS10.  What is OpenVMS doing about the Euro currency symbol?
VMS11.  Why hasn't OpenVMS been ported to Intel (IA32) systems?

Alpha and Alpha-based systems
========================================
ALPHA1.   What do the letters AXP stand for?
ALPHA2.   What are the OpenVMS differences between VAX and Alpha?
ALPHA4.   How do I join Digital's Association of Software & Application
          Partners program?
ALPHA5.   Seeking performance information for Alpha (and VAX) systems?
ALPHA6.   Where can I get updated console firmware for Alpha systems?
ALPHA7.   How do I boot an AlphaStation without monitor or keyboard?
ALPHA8.   Will OpenVMS run on a Multia? AlphaPC 164LX? 164SX?
ALPHA9.   What is the least expensive system that will run OpenVMS?
ALPHA10.  Where can I get more information on Alpha systems?
ALPHA11.  What are the APB boot flag values?

VAX and VAX-based systems
========================================
VAX1.   Please explain the back panel of the MicroVAX II
VAX2.   What is the layout of the VAX floating point format?
VAX3.   Where can I find more info on VAX systems?
VAX4.   Where can I find information on NetBSD for VAX systems?
VAX5.   What system disk size limit on the MicroVAX and VAXstation 3100?
VAX6.   How does OpenVMS VAX maintain system time?
VAX7.   What are the VMB boot flag values?
VAX8.   What is the Accuracy of VAX the Time of Year (TOY) Clock?

Documentation and other resources
========================================
DOC1.   Where can I find online copies of OpenVMS manuals?
DOC2.   What online information is available?
DOC3.   What books and publications are available?
DOC4.   How do I extract a HELP topic to a text file?
DOC5.   Does OpenVMS Marketing have an e-mail address?
DOC6.   What OpenVMS-related WWW sites are available?
DOC7.   Where can I find patches for OpenVMS and Digital layered products?
DOC8.   Where can I find info about undocumented OpenVMS features?
DOC9.   Where is documentation on the DECnet Phase IV protocols?
DOC10.  Where can I learn about how the VMS executive works internally?
DOC11.  Where can new users find tutorial information about OpenVMS?

Year 2000 Issues
========================================
Y2K1.  Does OpenVMS have a problem with the year 2000?
Y2K2.  What happens with the C tm_year field in the year 2000?
Y2K3.  What happens with the year 2038 with C?
Y2K4.  Is the year 2000 a leap year?
Y2K5.  What is covered by the OpenVMS Y2K Evaluation?
Y2K6.  Do I need to consider Y2K?  Do I even need the Y2K ECO?

Table of Contents - Part 2/3
____________________________

System Management
========================================
MGMT1.  What is an installed image?
MGMT2.  Are there any known viruses for OpenVMS?
MGMT3.  How do I mount an ISO-9660 CD on OpenVMS?
MGMT4.  How do I extract the contents of a PCSI kit?
MGMT5.  I've forgotten the SYSTEM password - what can I do?
MGMT6.  How do I connect a PostScript printer via TCP/IP?
MGMT7.  Why can't I do a SET TIME command?
MGMT8.  How do I change the timezone differential and time in batch?
MGMT9.  How do I change the node name of an OpenVMS System?
MGMT10. What is the correct value for EXPECTED_VOTES in a VMScluster?
MGMT11. Why doesn't OpenVMS see the new memory I just added?
MGMT12. How do I write a BACKUP saveset to a remote tape?
MGMT13. Tell me about SET HOST/DUP and SET HOST/HSC
MGMT14. How do I install DECnet Phase IV on VMS 7.1?
MGMT15. How do I change the text in a user's UIC identifier?
MGMT16. What are the OpenVMS version upgrade paths?
MGMT17. Why do I have negative number in the pagefile reservable pages?
MGMT18. Do I have to update layered products when updating OpenVMS?
MGMT19. How do I change the volume label of a disk?
MGMT20. How do I fix a corrupt BACKUP saveset?
MGMT21. How can I set up a shared directory?
MGMT22. Why does my system halt when I power-cycle the console terminal?
MGMT23. Why do I get extra blank pages on my HP Printer?
MGMT24. How do I configure ELSA GLoria Synergy graphics on OpenVMS?
MGMT25. How do I acquire OpenVMS patches, fixes, and ECOs?
MGMT26. How do I rename a DSSI disk (or tape?)
MGMT27. How do I move the queue manager database?
MGMT28. How do I set a default IP route or gateway on OpenVMS?
MGMT29. How do I switch between AlphaBIOS/ARC and SRM consoles?
MGMT30. How do I delete an undeletable/unstoppable (RWAST) process?

MAIL
========================================
MAIL1.  How do I send Internet mail?
MAIL2.  How do I get IN% or MX% added automatically to Internet addresses?
MAIL3.  How do I automatically append a signature file to my mail messages?
MAIL4.  Do I have to use VMS MAIL?  I like my Unix mailer better.
MAIL5.  How can I forward my mail?  Can I forward it to an Internet address?
MAIL6.  How can I forward my mail to a list of addresses?
MAIL7.  MAIL keeps saying I have new messages, but I don't.  What do I do?
MAIL8.  How do I extract all of my mail messages to a file?
MAIL9.  How do I send or read attachments in VMS MAIL?

Other Utilities
========================================
UTIL1.  How do I play an audio CD on my workstation?
UTIL2.  How do I access a MS-DOS floppy disk from OpenVMS?
UTIL3.  How do I play sound files on an AlphaStation?  DECsound doesn't work

DCL and command usage
========================================
DCL1.   How do I run a program with arguments?
DCL2.   How can I redefine control keys in DCL?
DCL3.   How can I clear the screen in DCL?
DCL4.   How do I do a REPLY/LOG in a batch stream?
DCL5.   How do I generate a random number in DCL?
DCL6.   What does the MCR command do?
DCL7.   How do I change the OpenVMS system prompt?
DCL8.   Can I do DECnet task-to-task communication with DCL?

File System and RMS
========================================
FILE1.  How can I undelete a file?
FILE2.  Why does SHOW QUOTA give a different answer than DIR/SIZE?
FILE3.  How do I make sure that my data is safely written to disk?
FILE4.  What are the limits on file specifications and directories?
FILE5.  What is the largest disk volume size OpenVMS can access?
FILE6.  What is the maximum file size, and the RMS record size limit?
FILE7.  How do I write recordable CDs on OpenVMS?
FILE8.  What I/O transfer size limits exist in OpenVMS?


Table of Contents - Part 3/3
____________________________

Programming
========================================
PROG1.  How do I call <routine_name> from <language_name>?
PROG2.  How do I get the arguments from the command line?
PROG3.  How do I get a formatted error message in a variable?
PROG4.  How do I link against SYS$SYSTEM:SYS.STB on an Alpha system?
PROG5.  How do I do a SET DEFAULT from inside a program?
PROG6.  How do I create a shareable image transfer vector on an Alpha system?
PROG7.  How do I turn my Fortran COMMON into a shareable image on Alpha?
PROG8.  How do I convert between IEEE and VAX floating data?
PROG9.  How do I get the argument count in a Fortran routine?
PROG10. How do I get a unique system ID for licensing purposes?
PROG11. What is an executable, shareable, system or UWSS image?
PROG12. How do I do a file copy from a program?
PROG13. What is a descriptor?
PROG14. How many bytes are in a disk block?
PROG15. How many bytes are in a memory page?
PROG16. How do I create a process under another username?
PROG17. Why do lib$spawn, lib$set_symbol fail in detached processes?
PROG18. Where can I obtain Bliss, and the libraries and supporting files?
PROG19. How can I open a file for shared access?

DECwindows
========================================
DECW1.  How do I let someone else display something on my workstation?
DECW2.  How do I create a display on another workstation?
DECW3.  How can I get the information from SHOW DISPLAY into a symbol?
DECW4.  How do I get a log of a DECterm session?
DECW5.  Problem - the DELETE key deletes forward instead of backward!
DECW6.  Problem - On a DEC2000-300, Motif doesn't start
DECW7.  Problem - My LK401 keyboard unexpectedly autorepeats
DECW8.  Problem - My LK411 sends the wrong keycodes or some keys are dead
DECW9.  How do I set the title on a DECterm window?
DECW10. How do I customize DECwindows, including the login screen?
DECW11. Why doesn't XtAppAddInput() work on OpenVMS?

Miscellaneous
========================================
MISC1.  Looking for connector wiring pinouts?
MISC2.  Where can I find information on escape and control sequences?
MISC3.  Can I reuse old keyboards, mice and monitors with a PC?
MISC4.  What connectors and wiring adapters are available?
MISC5.  Where can I find performance info and specs for older systems?
MISC6.  What does "failure on back translate address request" mean?
MISC7.  How to determine the network hardware address?
MISC8.  Why does my system halt when I powercycle the console terminal?
MISC9.  Why can't I use PPP and RAS to connect to OpenVMS Alpha?
MISC10. Which video monitor works with which graphics controller?
MISC11. Where can I get information on storage hardware?
MISC12. Does DECprint (DCPS) work with the LRA0 parallel port?
MISC13. How do I check for free space on a (BACKUP) tape?

Software
========================================
SOFT1.  Where can I find freeware/shareware software for OpenVMS?
SOFT2.  Where can I find the UNIX <whatever> tool for OpenVMS?
SOFT3.  Where can I get the Netscape Navigator Mozilla.org Web Browser?
SOFT4.  Where can I get Java for OpenVMS?
SOFT5.  VAX C and DEC C, and other OpenVMS C Programming Considerations?


------------------------------------------------------------
INTRO1.  What is the scope of comp.os.vms?

The comp.os.vms newsgroup is the primary newsgroup for discussion of
Digital's OpenVMS operating system and the computer systems on which it
runs.  Questions about layered products which run on OpenVMS are also
welcome, though many of them (in particular, language compilers and
database systems) have more specific newsgroups.  If a question has
some relationship to OpenVMS, it belongs here.

------------------------------------------------------------
INTRO2.  What other newsgroups carry VMS-related information?

The vmsnet.* hierarchy, run by DECUS, contains several newsgroups of
interest, including vmsnet.misc and vmsnet.alpha, the latter being mostly
devoted to Alpha topics.  There's also vmsnet.sources (and
vmsnet.sources.d) to which sources for or pointers to freeware are posted.
See the separate "What is VMSNET" monthly posting for further details.

The comp.sys.dec newsgroup carries discussions about all Digital systems
as well as about Digital itself.

------------------------------------------------------------
INTRO3.  What is INFO-VAX?

INFO-VAX is a mailing list which is bidirectionally gatewayed to the
comp.os.vms newsgroup.  This means that postings to comp.os.vms get
automatically sent to INFO-VAX subscribers and messages sent to the INFO-VAX
list are automatically posted to comp.os.vms.  INFO-VAX can be a useful way
to participate in the newsgroup if you can't access the group directly
through a news reader.

An important point to keep in mind is that propagation delays vary, both
within the newsgroup and with INFO-VAX mailings.  It's possible that
postings may not be delivered for several days and some may appear out of
order.

------------------------------------------------------------
INTRO4.  How do I subscribe to or unsubscribe from INFO-VAX?

The address for subscription requests, as well as notes intended for the
moderator, is Info-VAX-Request@Mvb.Saic.Com.  Subscription requests are handled
automatically by a mail server.  This mail server ignores the subject line and
processes each line of the message as a command.  The syntax for subscribing
and unsubscribing and setting digest or non-digest modes is:
 
SUBSCRIBE INFO-VAX      (ADD is a valid synonym)
UNSUBSCRIBE INFO-VAX    (REMOVE, SIGNOFF, and SIGN-OFF are valid synonyms)
SET INFO-VAX DIGEST     (to receive in Digest format)
SET INFO-VAX NODIGEST   (to receive each message individually)
 
Case is irrelevant and attempts to fetch a copy of the mailing list will be
rejected (I consider the information to be confidential).  Any message not
understood by the mailserver will be forwarded to a human (allegedly) for
manual processing.
                [Mark.Berryman@Mvb.Saic.Com]

If you are on Bitnet, send a mail message containing the text
"SUBSCRIBE INFO-VAX" to LISTSERV@(nearest listserv system).  To unsubscribe,
send a message containing the text "SIGNOFF INFO-VAX" to the *SAME* listserv
address.

If you are on the Internet in the UK, send a message containing the
word SUBSCRIBE (or UNSUBSCRIBE) to info-vax-request@ncdlab.ulcc.ac.uk.

------------------------------------------------------------
INTRO5.  How do I submit a question or a response?  What is etiquette?

If you are using a news reader, post your question to comp.os.vms.  If you
want to submit through INFO-VAX, send the message to Info-VAX@mvb.saic.com.

Before posting, please use available local resources, such as the manuals,
HELP and this FAQ first.  Also make a point of reading the release notes for
the product you're using, generally placed in SYS$HELP.  Often you'll find
the answer, and will save time and effort for all concerned.  (And you won't
"annoy the natives"...)

When posting, please consider the following suggestions:

    1.  Include a valid e-mail address in the text of your posting or
        in a "signature" appended to the end.  Reply-to addresses in
    headers often get garbled.

    2.  If you are submitting a question, please be as specific as you
        can.  Include relevant information such as processor type, product
    versions (OpenVMS and layered products that apply), error message(s),
        DCL command(s) used, and a short, reproducible example of problems. 
        Say what you've tried so far, so that effort isn't duplicated.  Keep
        in mind that there's not yet a telepathy protocol for the Internet.
        (The more detailed your description, the better that people can help
        you with your question.)

    3.  If responding to a posting, include in your reply only as much of
        the original posting as is necessary to establish context.  As
    a guideline, consider that if you've included more text than you've
    added, you've possibly included too much.  Never include signatures
    and other irrelevant material.

    4.  Be polite.  If the question isn't worded the way you think is
        correct or doesn't include the information you want, try to
    imagine what the problem might be if viewed from the poster's
    perspective.  Requests for additional information are often
    better sent through mail rather than posted to the newsgroup.

    5.  If you have a problem with Compaq (or any other vendor's) product,
        please use the appropriate support channel.  Don't assume that
    newsgroup postings will get read, will be responded to by the
        appropriate developers, or will be later followed up on...

Before posting your question to the comp.os.vms newsgroup or sending your
message to the INFO-VAX list, also please take the time to review available
etiquette information, such as that included in the following documents:

  ftp://rtfm.mit.edu/pub/usenet/news.answers/usenet/primer/part1
  ftp://rtfm.mit.edu/pub/usenet/news.answers/usenet/faq/part1
  ftp://rtfm.mit.edu/pub/usenet/news.answers/usenet/emily-postnews/part1
  ftp://rtfm.mit.edu/pub/usenet/news.answers/usenet/writing-style/part1
  ftp://rtfm.mit.edu/pub/usenet/news.answers/usenet/posting-rules/part1

This information will document the etiquette of newsgroups, as well as
providing you with the knowledge the vast amount of newsgroup-related
information that is readily available to you, and where to find it...

Please ***DO NOT POST SECURITY HOLES OR SYSTEM CRASHERS ***.

Rather, please report these problems directly to Compaq.  (Why?  So that
Compaq has a change to resolve and distribute a fix before other customer
sites can be affected.  Most folks in the newsgroups are honest and deserve
to know about potential security problems, but a few folks can and will make
nefarious use of this same information.  Other sites will hopefully return
the favor, and not post information that will potentially compromise YOUR
site and YOUR computer environment.

------------------------------------------------------------
INTRO6.  What is DECUS?

DECUS, the Digital Equipment Computer Users Society, is a World Wide
organization of Information Technology professionals interested in the
products, services, and technologies of Digital Equipment Corporation and
related vendors.
  
Membership in the Chapter is free and provides participants with the means
to enhance their professional development, forums for technical training,
mechanisms for obtaining up-to-date information, advocacy programs, and
opportunities for informal disclosure and interaction with professional
colleagues of like interest.

For further information, see the separate monthly "What is DECUS" posting, or
refer to the US DECUS WWW server at http://www.decus.org or the Canadian
DECUS WWW server at http://www.decus.ca .

------------------------------------------------------------
INTRO7.  What archives of comp.os.vms/INFO-VAX are available?

Everything posted since 1990 is archived and available at:
  ftp://crvax.sri.com/info-vax/

                    [Arne Vajhxj]

------------------------------------------------------------
VMS1.   What is OpenVMS?  What is its history?

OpenVMS, originally called VMS (Virtual Memory System), was first conceived in
1976 as a new operating system for Digital's new, 32-bit, virtual memory line
of computers, eventually named VAX (Virtual Address eXtension).  The first VAX
model, the 11/780, was code-named "Star", hence the code name for the VMS
operating system, "Starlet", a name that remains to this day the name for the
system library files (STARLET.OLB, etc.).  VMS version X0.5 was the first
released to customers, in support of the hardware beta test of the VAX-11/780,
in 1977.  VAX/VMS Version V1.0 shipped in 1978, along with the first
revenue-ship 11/780s.

OpenVMS was designed entirely within Digital Equipment Corporation.  The
principal designers were Dave Cutler and Dick Hustvedt.  OpenVMS was conceived
as a 32-bit, virtual memory successor to Digital's RSX-11M operating system
for the PDP-11.  Many of the original designers and programmers of OpenVMS
had worked previously on RSX-11M, and many concepts from RSX-11M were carried
over to OpenVMS.

OpenVMS VAX is a 32-bit, multitasking, multiprocessing virtual memory
operating system. Current implementations run on VAX systems from DIGITAL,
Compaq, and other vendors.

OpenVMS Alpha is a 64-bit multitasking, multiprocessing virtual memory
operating system. Current implementations run on Alpha systems from
DIGITAL, Compaq, and other vendors.

                [Paul Winalski]
                [Arne Vajhxj]

For more details on OpenVMS and its features, read the OpenVMS Software
Product Description at:

  http://www.digital.com/info/SP2501/

Additional information on the general features of various OpenVMS
releases, release dates, as well as the development project code
names of specific releases, is available at:

  http://www.openvms.digital.com/openvms/os/openvms-release-history.html

Additional historical information -- as well as pictures and a variety of
other trivia -- is available in the VAX 20th anniversary book:

  http://www.openvms.digital.com/openvms/20th/vmsbook.pdf

------------------------------------------------------------
VMS2.   What is the difference between VMS and OpenVMS?

VMS and OpenVMS are two names for the same operating system.  Originally,
the operating system was called VAX-11/VMS; it changed to VAX/VMS at
around VAX/VMS V2.0.  When the VMS operating system was ported to the
Alpha platform, it was renamed OpenVMS, for both VAX and Alpha, in part
to signify the high degree of support for industry standards such as
POSIX, which provides many features of UNIX systems.

For those versions with POSIX, an OpenVMS license allows you to install
and run POSIX for OpenVMS at no additional charge; all you need is the
media and documentation which can be found on the Consolidated Distribution
and On-Line Documentation CD-ROMs.  Support for the POSIX package on more
recent OpenVMS releases is not available, various parts of POSIX such as
calls from the API are being integrated more directly into OpenVMS.  For
more information on POSIX for VMS see question SOFT2

What became confusing is that the OpenVMS name was introduced first
for OpenVMS AXP V1.0 causing the widespread misimpression that OpenVMS
was for Alpha AXP only, while "regular VMS" was for VAX.  In fact, Digital
officially changed the name of the VAX operating system as of V5.5,
though the name did not start to be actually used in the product until
V6.0.

The proper names for OpenVMS on the two platforms are now "OpenVMS VAX"
and "OpenVMS Alpha", the latter having superseded "OpenVMS AXP".

                [Arne Vajhxj]

------------------------------------------------------------
VMS3.   How do I port from VMS to OpenVMS?

You already did.  Wasn't that easy?  (See question VMS2.)

------------------------------------------------------------
VMS4.   Which is better - OpenVMS or UNIX?

This question comes up periodically, usually asked by new subscribers who are
long-time UNIX users. Sometimes, it is ignored totally; other times, it leads
to a long series of repetitive messages that convince no one and usually carry
little if any new information.  Please do everyone a favor and avoid
re-starting this perpetual, fruitless debate.
                    [leichter@lrw.com]

Seriously, OpenVMS and the better implementations of UNIX are all fine
operating systems, each with its strengths and weaknesses.  If you're
in a position where you need to choose, select the one that best fits
your own requirements, considering, for example, whether or not the
layered products or specific OS features you want are available.

                    [Steve Lionel]

------------------------------------------------------------
VMS5.   Is Digital dropping support for OpenVMS?

People who ask this question, most recently, have read about the May 1995
announcement of an association between Digital and Microsoft to provide
greater affinity between OpenVMS and Windows NT.  Some trade publications
interpreted this announcement as signalling that Digital was going to drop
OpenVMS and move its customers onto Windows NT.  Nothing could be further from
the truth.

For more information, see:

    http://www.openvms.digital.com/

------------------------------------------------------------
[VMS6 removed, replaced by Y2K section]

------------------------------------------------------------
VMS7.   What OpenVMS CD-ROM products are available?

Beginning in December '96, the OpenVMS VAX "binaries-only" and "library
package" offerings will be enhanced to include the complete operating system
kit. In addition, all online documentation offerings will be enhanced to
include the operating system documentation as well as software layered
products documentation. The enhanced offerings are indicated by a plus sign
(+) in Table 1.

New Offerings (New Part Numbers Must Be Ordered)

Also beginning in December '96, the complete operating system kits will be
combined with layered product kits for OpenVMS Alpha and Digital UNIX[R]. The
combination of operating system plus layered products will ship quarterly, on
the current schedules. OpenVMS Alpha or Digital UNIX customers may request the
new part numbers indicated by an asterisk (*) in Table 1. [This means that
anything that ships with the operating system binaries kit ("H-kit"), such as
the Freeware CD, will be included with the Software Product Library
distribution.  Previously, you had to specifically order the OS kit in order
to get these extras. - SBL.  The OpenVMS Freeware is available separately as
part of the OpenVMS Hobbyist program.]

For orders or pricing information, contact 1-800-DIGITAL.

   ----------------------------------------------------------------------------
   Table 1: Software Product Libraries and Online Documentation Libraries
   ----------------------------------------------------------------------------

                                                    One-Time       Service
    (a) Binaries Only - No Documentation            Order          Subscription
    ---------------------------------------------   --------       ------------

   +OpenVMS VAX Software Layered Products and
     Operating System Library                       QA-VWJ8A-H8    QT-VWJ8A-C8
   *OpenVMS VAX Software Layered Products Library   QA-5FW8A-H8    QT-5FW8A-C8

   *OpenVMS Alpha Software Layered Products and
     Operating System Library                       QA-5FX8A-H8    QT-5FX8A-C8
    OpenVMS Alpha Software Layered Products Library QA-4KL8A-H8    QT-4KL8A-C8

                                                    One-Time       Service
    (b) Documentation Only                          Order          Subscription
    ----------------------                          --------       ------------

    OpenVMS VAX/Alpha OnLine Documentation Library  QA-MT3AE-G8    QT-MT3AE-G8

    OpenVMS VAX OnLine Documentation Library        QA-VYR8A-G8    QT-VYR8A-C8

   +OpenVMS Alpha OnLine Documentation Library      QA-4KM8A-G8    QT-4KM8A-C8

                                                    One-Time       Service
    (c) Library Packages - Binaries, Documentation  Order          Subscription
    ----------------------------------------------  --------       ------------

   +OpenVMS VAX Software Layered Products and
     Operating System Library Package               QA-YL48A-H8    QT-YL48A-C8
   *OpenVMS VAX Software Layered Products
     Library Package                                QA-5G88A-H8    QT-5G88A-C8

   *OpenVMS Alpha Software Layered Products and
     Operating System Library Package               QA-5G9AA-H8    QT-5G9AA-C8
    OpenVMS Alpha Software Layered Products         QA-03XAA-H8    QT-03XAA-C8
     Library Package

   ----------------------------------------------------------------------------
           + indicates an enhancement
           * indicates a new offering

The following CD-ROMs contain just the OpenVMS Alpha operating system - they
are bootable and can be used to run BACKUP in a standalone environment.

  QA-MT1AP-H8   OpenVMS Alpha V6.1-1H2 hardware release CD-ROM  (US$11)
  QA-MT1AG-H8   OpenVMS Alpha V6.2-1H3 hardware release CD-ROM  (US$22)
  QA-MT1AD-H8   OpenVMS Alpha V7.1-1H1 hardware release CD-ROM  (US$22)
  QA-MT1AR-H8   OpenVMS Alpha V7.1-2 maintenance release CD-ROM (US$22)

------------------------------------------------------------
VMS8.   In what language is OpenVMS written?

OpenVMS is written in a wide variety of languages.

In no particular order, OpenVMS components are implemented using Bliss, Macro,
Ada, PLI, VAX and DEC C, Fortran, UIL, VAX and Alpha SDL, Pascal, MDL, DEC C++,
DCL, Message, and Document.  And this is certainly not a complete list.
However, the rumor is NOT true that an attempt was made to write pieces of
OpenVMS in every supported language so that the Run-Time Libraries could not be
unbundled.  (APL, BASIC, COBOL and RPG are just some of the languages NOT
represented!)

There are a large variety of small and not-so-small tools and DCL command
procedures that are used as part of the OpenVMS build, and a source code control
system capable of maintaining over a hundred thousand source files across
multiple parallel development projects, and overlapping releases.

------------------------------------------------------------
VMS9.   How do I obtain or transfer a VMS license?

If you are a DECUS member and are considering acquiring and using a VAX
or Alpha system for hobbyist use, (free) licenses for OpenVMS VAX and
OpenVMS Alpha are available to DECUS members.  In addition to the license,
VAX and Alpha distribution CD-ROM kits are available with OpenVMS,
DECwindows Motif, DECnet and TCP/IP networking, compilers, a variety
of layered products, and an OpenVMS Freeware kit for a nominal fee.
The OpenVMS Freeware is also available separately.

For further information, link to:

  http://www.montagar.com/hobbyist/

Further information on DECUS and on DECUS membership is available at:

  http://www.decus.org/

To transfer a commercial OpenVMS license from one owner to another,
or to purchase a commercial license, you can contact Compaq Computer
Corporation at 1-800-DIGITAL (in North America), or your local or
regional sales office.
                    [Stephen Hoffman]
                                        [Scott Snadow]

------------------------------------------------------------
VMS10.  What is OpenVMS doing about the Euro currency symbol?

For information on the current status and plans for support of the
European Monetary Union's Euro currency symbol in OpenVMS, see:

  http://www.openvms.digital.com/euro/

------------------------------------------------------------
VMS11.  Why hasn't OpenVMS been ported to Intel (IA32) systems?

Why?  Business reasons...

Because there is a belief that there would be no market to justify
the effort and the expense involved in porting OpenVMS to systems
using the Intel IA32 architecture.  (Each maintainer of a product
or package for OpenVMS would have to justify the port to "OpenVMS
IA32", akin to a port from OpenVMS VAX to OpenVMS Alpha.  The effort
involved in porting OpenVMS from VAX to Alpha was huge.)

Because every one of the core applications would have to be ported
from Alpha to IA32, and then customer and third-party applications
would also have to be ported.

Because there are design features that required by OpenVMS that are
not available on IA32, features that would require redesigning OpenVMS
to operate in the environment, making ports rather more difficult.
ASTs and interlocked operators are obvious prerequirements.

Because Alpha is faster than Intel IA32 systems -- if OpenVMS is to
be ported, a port to a slower system is more difficult to sell.

Because Intel is expecting to replace IA32 processors with IA64.

Because hobbyists have been easily able to acquire OpenVMS systems
and the DECUS hobbyist OpenVMS licenses.

Because OpenVMS already operates on Compaq and third-party Alpha
systems; specific features in support of third-party vendor-customized
bootstrap capabilities for use on third-party systems are present in
OpenVMS Alpha V7.1-2 and later releases.

Because there are assumptions that some of the stability of OpenVMS
arises from the stability of the underlying VAX and Alpha hardware,
and systems based on components such as ISA and random memory SIMMs
might not be as stable.

But yes, it would be nice to have.

                                           [Stephen Hoffman]
 
------------------------------------------------------------
ALPHA1.   What do the letters AXP stand for?

While there are many fanciful "definitions" which have circulated widely,
the truth is that AXP is not an abbreviation nor an acronym; the letters
do not mean anything.  They are just three letters chosen to form a
trademark.

When it came time to chose a "marketing name" for the Alpha AXP line,
Digital was in a quandary.  The internal "code name" for the project,
Alpha, was widely known and would seem the ideal choice, but it was already
in common use by a number of other companies and could not be trademarked.
A well-known "name search" firm was hired and was asked to come up with
two lists of possible names.  The first list was intended to evoke the
feeling of "extension to VAX", while the second list was to suggest
"not a VAX".  Unfortunately, none of the choices offered were any good;
for example, "VAX 2000" was found on the first list while the second list
contained "MONDO" (later to be used for a kids' soft drink).

Shortly before announcement, a decision was made to name the new line ARA,
for Advanced RISC Architecture.  However, a Digital employee in Israel
quickly pointed out that this name, if pronounced in the "obvious" manner,
sounded very much like an Arabic word with decidely unfortunate connotations.
Eventually, AXP was selected; the architecture would be referred to as
"Alpha AXP" whereas products themselves would use just "AXP".

Despite all this, everyone went on calling the new line "Alpha".  Digital
has recognized this by coining a new "AlphaGeneration" trademark to apply
to all products (hardware, software and services) related to the Alpha AXP
line.

Digital has phased out the use of the AXP name, using Alpha instead.
For example, OpenVMS AXP is now called called "OpenVMS Alpha".

------------------------------------------------------------
ALPHA2.   What are the OpenVMS differences between VAX and Alpha?

Very few.  As of OpenVMS V6.1, the VAX and Alpha platforms are very close
to "feature parity".  Most applications can just be recompiled and
run.  Some differences to be aware of:

    - The default double-precision floating type on OpenVMS Alpha
      is VAX G_float, whereas on VAX it is usually D_float.  D_float
      is available on Alpha, but D_float values are converted to
      G_float for computations and then converted back to D_float
      when stored.  Because the G_float type has three fewer fraction
      bits than D_float, some applications may get different results.
      IEEE float types are also available on OpenVMS Alpha.

    - Data alignment is extremely important for best performance on
      Alpha.  This means that data items should be allocated at
      addresses which are exact multiples of their sizes.  Quadword
      alignment will offer the best performance, especially for
      character values and those smaller than 32 bits.  Compilers
      will naturally align variables where they can and will issue
      warnings if they detect unaligned data items.

    - DEC C is the only C compiler Digital offers on OpenVMS Alpha.
      It is compatible with DEC C on OpenVMS VAX, but is somewhat
      different from the older VAX C compiler most people are familiar with.
      Read up on the /EXTERN_MODEL and /STANDARD qualifiers to avoid
      the most common problems.

    - The page size on Alpha systems is variable, but is at least 8K bytes.
      This can have some effect on applications which use the $CRMPSC
      system service as well as on the display of available memory
      pages.  The page size is available from $GETSYI(SYI$_PAGE_SIZE).

There are also a number of manuals which discuss migration to OpenVMS Alpha
available on the documentation CD-ROM media, both in the main documentation
and in the archived documentation section.

On more recent OpenVMS Alpha versions, OpenVMS Alpha has begun to add
features and support not available on OpenVMS VAX.  Salient new areas
include the following:

    - 64-bit addressing in OpenVMS Alpha V7.0 and later
    - Multi-host SCSI support (SCSI TCQ) in V6.2 and later
    - PCI support (platform-dependent)
    - OpenVMS Galaxy support in V7.2 and later

------------------------------------------------------------
[ALPHA3 removed, information obsolete]

------------------------------------------------------------
ALPHA4.   How do I join Compaq Solutions Alliance?

The Compaq Solutions Alliance (CSA) is a (free) program that is open to
and that supports software partners, consultants, and service providers:

   http://www.compaq.com/csa/

CSA provides members with discounts on hardware, porting assistance, and
many other benefits.

For those familiar with it, the DIGITAL Association of Software &
Application (ASAP) Partners program has been incorporated into CSA.

Also see the Compaq OEM Website:

  http://www.digital.com/oem/

The Compaq Solutions Alliance Technical Journal (CTJ) is "web-published"
monthly, and available at:

  http://www.intercontent.com/compaq/

------------------------------------------------------------
ALPHA5.   Seeking performance information for Alpha (and VAX) systems?

  Compaq makes a wide range of performance documents available through
  its FTP and WWW Internet servers (see DOC2).

  The following contain information on current Alpha and VAX products:

    http://www.digital.com/alphaserver/products.html
    http://www.digital.com/alphaserver/vax/

  The following sites contain information on various retired VAX and
  Alpha products:

    http://www.compaq.com/products/workstations/digital/retired/index.html
    http://www.digital.com/alphaserver/archive/index.html
    http://www.digital.com/alphaserver/performance/perf_tps.html

------------------------------------------------------------
ALPHA6.  Where can I get updated console firmware for Alpha systems?

Firmware updates for Digital Alpha systems are available from:

    ftp://ftp.digital.com/pub/Digital/Alpha/firmware/
    http://www.service.digital.com/alpha/server/firmware/

The files are structured similiar to those on the firmware CD, and are
separated by CD release.  For example, the contents of the V3.7
firmware CD are located at:
    ftp://ftp.digital.com/pub/Digital/Alpha/firmware/v3.7/

The latest and greatest firmware (if released since the last firmware
CD) is located at:
    ftp://ftp.digital.com/pub/Digital/Alpha/firmware/interim/

Please send your comments and feedback to alpha_server@service.digital.com

For information on creating bootable floppies containing the firmware,
and for related tools, please see the following areas:

  ftp://ftp.digital.com/pub/DEC/Alpha/firmware/utilities/mkboot.txt
  ftp://ftp.digital.com/pub/DEC/Alpha/firmware/utilities/mkbootarc.txt
  ftp://ftp.digital.com/pub/DEC/Alpha/firmware/utilities/mkntboot.txt

------------------------------------------------------------
ALPHA7.   How do I boot an AlphaStation without monitor or keyboard?

The AlphaStation series will boot without a keyboard attached.  To use a
serial terminal as the console, issue the console command SET CONSOLE SERIAL -
after that, it will use the terminal.  Older Alpha workstations generally
can't be booted without a keyboard.

The usual settings for the console serial terminal (or PC terminal emulator
acting as a serial console are:

  9600 baud, 8 bits, no parity, one stop bit (9600 baud, 8N1).

The AlphaStation and AlphaServer series use the PC DIN serial connector for
the "COM1" and "COM2" serial lines, see MISC1 for details and pinout.

------------------------------------------------------------
ALPHA8.  Will OpenVMS run on a Multia? AlphaPC 164LX? 164SX?

Yes, there are a set of unsupported images that permit recent OpenVMS
Alpha versions to bootstrap on Multia.  These images and the associated
instructions are available at the OpenVMS Freeware website:

  http://www.openvms.digital.com/freeware/multia/

The Multia images are not included on the OpenVMS Freeware V4.0 CD-ROM
kit, the kit that was distributed with OpenVMS V7.2.  (These images
became available after Freeware V4.0 shipped.)

Other sources of information for OpenVMS on Multia include:

  http://home.earthlink.net/~djesys/vms/hobbyist/multia.html
  http://home.earthlink.net/~djesys/vms/hobbyist/mltianot.html
  http://home.earthlink.net/~djesys/vms/hobbyist/support.html
  http://www.netbsd.org/Ports/alpha/multiafaq.html

                    [Stephen Hoffman]
                                        [David J. Dachtera]

OpenVMS Alpha is not supported on the AlphaPC 164LX and 164SX,
and the OpenVMS CPU-specific routines and images necessary to
bootstrap on these systems do not presently exist.

------------------------------------------------------------
ALPHA9.  What is the least expensive system that will run OpenVMS?

The cheapest systems presently offered by Compaq that will run
OpenVMS are the AlphaServer DS10 server and the AlphaStation XP900
workstation.  Other companies sell Alpha-powered systems and Alpha
motherboards, some of which will run (and can be purchased with)
OpenVMS -- see the OpenVMS Software Product Description (SPD) for
details on the supported systems and configurations.  There are also
many used AlphaStation, AlphaServer, and DEC 3000 models available
which are quite suitable.  For more experienced OpenVMS system
managers, the (unsupported) Multia can bootstrap OpenVMS -- see
ALPHA8 for details.

Depending on the OpenVMS version and configuration, the OpenVMS
Software Product Description (SPD) is available at:

  http://www.digital.com/info/SP2501/
  http://www.digital.com/info/SP4187/

When purchasing a system, ensure that the system itself is supported,
that the system disk drive is supported or closely compatible, that
the CD-ROM drive is supported or is closely compatable and that it
also speciically supports 512 byte block transfers, and particularly
ensure that video controller is supported.  Use of supported DIGITAL
or Compaq hardware will generally reduce the level of integration
effort involved.

A CD-ROM drive is required for OpenVMS Alpha installations.
                    [Stephen Hoffman]

------------------------------------------------------------
ALPHA10.  Where can I get more information on Alpha systems?

Compaq operates an AlphaServer information center at:

  http://www.digital.com/alphaserver/

Alpha Technical information and documentation is available at:

  http://www.digital.com/alphaserver/technical.html
  ftp://ftp.digital.com/pub/DEC/Alpha/systems/

Alpha motherboard products and Alpha microprocessor documentation:

  http://www.digital.com/alphaoem/alpha.htm

Compaq OEM Website:

  http://www.digital.com/oem/

Information on Multia hardware is available at:

  http://www.netbsd.org/Ports/alpha/multiafaq.html

                    [Stephen Hoffman]

------------------------------------------------------------
ALPHA11.  What are the APB boot flag values?

The following flags are passed (via register R5) to the OpenVMS
Alpha primary bootstrap image APB.EXE.  These flags control the
particular behaviour of the bootstrap:

  >>> BOOT -FL root,flags

     bit      description
     ---   ----------------------------------------------

      0    Conversational bootstrap
      1    Load SYSTEM_DEBUG.EXE (XDELTA)
      2    Stop at initial system breakpoints if bit 1 set (EXEC_INIT)
      3    Diagnostic bootstrap (loads diagboot.exe)
      4    Stop at bootstrap breakpoints (APB and Sysboot)
      5    Secondary bootstrap does not have an image header
      6    Inhibit memory test
      7    Prompt for secondary bootstrap file
      8    Halt before transfer to secondary bootstrap
      9    Boot from shadow set
      10   LAD/LAST bootstrap
      11   Unused
      12   Transfer to intermediate primary bootstrap
      13   Mark CRD pages bad
      14   Unused
      15   Unused
      16   Enable verbose boot messages
      17   Enable subset boot messages

  If you want to set the boot flags "permanently" use the SET BOOT_FLAGS
  command, e.g.

        >>> SET BOOT_OSFLAGS 0,1


------------------------------------------------------------
ALPHA12.  What are Alpha console environment variables?

Alpha systems have a variety of variables with values set up
within the SRM system console.  These environment variables
control the particular behaviour of the console program and
the system hardware, the particular console interface presented
to the operating system, various default values for the operating
system bootstrap, and related control mechanisms -- in other
words, "the environment variables provide an easily extensible
mechanism for managing complex console state."

The specific environment variables differ by platform and by
firmware version -- the baseline set is established by the
Alpha Architecture:

  AUTO_ACTION ("BOOT", "HALT", "RESTART", any other value
  assumed to be HALT),  BOOT_DEV, BOOTDEF_DEV, BOOTED_DEV,
  BOOT_FILE, BOOTED_FILE, BOOT_OSFLAGS, BOOTED_OSFLAGS,
  BOOT_RESET ("ON", "OFF"), DUMP_DEV, ENABLE_AUDIT ("ON",
  "OFF"), LICENSE, CHAR_SET, LANGUAGE, TTY_DEV. 

OpenVMS Galaxy firmware can add console environment variables
beginning with such strings as LP_* and HP_*, and each particular
console implementation can (and often does) have various sorts
of platform-specific extensions beyond these variables...

The contents of a core set of environment variables are accessable
from OpenVMS using the f$getenv lexical and the sys$getenv system
service. (These calls are first documented in V7.2, but have been
around for quite a while.)  Access to arbitary console environment
variables is rather more involved, and not directly available.
                                        [Stephen Hoffman]

------------------------------------------------------------
VAX1.   Please explain the back panel of the MicroVAX II

The MicroVAX-series console bulkhead was used with the KA630, KA650, KA655
processors.

There are three controls on the console bulkhead of these systems:

  Triangle-in-circle-paddle: halt enable.
    dot-in-circle: halt (<break>) is enabled,
                   and auto-boot is disabled.
    dot-not-in-circle: halt (<break>) is disabled,
                   and auto-boot is enabled.

  Three-position-rotary: power-up bootstrap behaviour
    arrow: normal operation.
    face: language inquiry mode.
    t-in-circle: infinite self-test loop.

  Eight-position-rotary: console baud rate selection
    select the required baud rate; read at power-up.
 
Those versions of the console bulkhead that do not have an MMJ have a 9-pin
submini connector (DB9), and the pinout of this connector predates the PC
9-pin pinout -- the console pinout is consistent with the EIA232 pinout.
See MISC4 for details of the DB9 pinout.  For those bulkheads not equipped
with an MMJ, use the H8575-B adapter to convert the console connector to
MMJ.  See MISC1 for further details.

Also present on the bulkhead is a self-test indicator: a single digit. This
matches the final part of the countdown displayed on the console or
workstation, and can be used by a service organization to determine the nature
of a processor problem.  The particular countdown sequence varies by processor
type, consult the hardware or owner's manual for the processor, or contact the
local hardware service organization for information the self-test sequence for
a particular processor module. Note that self-tests 2, 1 and 0 are associated
with the transfer of control from the console program to the booting operating
system.
                                        [Stephen Hoffman]

------------------------------------------------------------
VAX2.   What is the layout of the VAX floating point format?

The VAX floating point format is derived from one of the PDP-11 FP formats,
which helps explain its strange layout.  There are four formats defined:
F 32-bit single-precision, D and G 64-bit double-precision and H 128-bit
quadruple precision.  For all formats, the lowest addressed 16-bit "word"
contains the sign and exponent (and for other than H, some of the most
significant fraction bits).  Each successive higher-addressed word contains
the next 16 lesser-significant fraction bits.  Bit 15 of the first word is the
sign, 1 for negative, 0 for positive.  Zero is represented by a biased
exponent value of zero and a sign of zero; the fraction bits are ignored (but
on Alpha, non-zero fraction bits in a zero value cause an error.)  A value
with biased exponent zero and sign bit 1 is a "reserved operand" - touching
it causes an error - fraction bits are ignored.  There are no minus zero,
infinity, denormalized or NaN values.

For all formats, the fraction is normalized and the radix point assumed to be
to the left of the MSB, hence 0.5 <= f < 1.0.  The MSB, always being 1, is
not stored.  The binary exponent is stored with a bias varying with type in
bits 14:n of the lowest-addressed word.

  Type    Exponent bits    Exponent bias    Fraction bits (including hidden)
  ==========================================================================
   F           8                128               24
   D           8                128               56
   G          11               1024               53
   H          15              16384              113

The layout for D is identical to that for F except for 32 additional
fraction bits.

Example:  +1.5 in F float is hex 000040C0 (fraction of .11[base 2], biased
exponent of 129)
                    [Steve Lionel]

------------------------------------------------------------
VAX3.   Where can I find more info about VAX systems?

Compaq runs a VAX "InfoCenter" at:

  http://www.digital.com/alphaserver/vax/

Jim Agnew maintains a MicroVAX/VAXstation FAQ at:

  http://anacin.nsc.vcu.edu/~jim/mvax/mvax_faq.html

James Lothian maintains a VAX-11/750 FAQ at:

  http://www.dcs.napier.ac.uk/~oose5002/750faq.html

The VAXstation 3100 Owner's Guide:

  http://www.whiteice.com/~williamwebb/intro/DOC-i.html

A field guide to PDP-11 (and VAX) Q-bus and UNIBUS modules
can be found at:

  http://metalab.unc.edu//pub/academic/computer-science/
    history/pdp-11/hardware/field-guide.txt

------------------------------------------------------------
VAX4.   Where can I find information on NetBSD for VAX systems?

Gunnar Helliesen maintains a NetBSD VAX FAQ at:
  http://vaxine.bitcon.no/

------------------------------------------------------------
VAX5.   What system disk size limit on the MicroVAX and VAXstation 3100?

System disks larger than 1.073 gigabytes (GB) -- 1fffff hexidecimal blocks --
are not supported on any member of the VAXstation 3100 series and on certain
older members of the MicroVAX 3100 series, and are not reliable on these
affected systems.  (See below to identify the affected systems -- the more
recent members of the MicroVAX 3100 series systems are NOT affected.)

Various of the SCSI commands used by the boot drivers imbedded in the console
PROM on all members of the VAXstation 3100 series use "Group 0" commands,
which allow a 21 bit block number field, which allows access to the first
1fffff hexidecimal blocks of a disk.  Any disk references past 1fffff will
wrap -- this wrapping behaviour can be of particular interest when writing a
system crashdump file, as this can potentially lead to system disk corruptions
should any part of the crashdump file be located beyond 1.073 GB.

More recent systems and console PROMs use "Group 1" SCSI commands, which allow
a 32 bit block number field.

There was a similar limitation among the oldest of the MicroVAX 3100 series,
but a console boot PROM was phased into production and was made available for
field retrofits -- this PROM upgrade allows the use of the "Group 1" SCSI
commands, and thus larger system disks.  There was no similar PROM upgrade for
the VAXstation 3100 series.

Systems that are affected by this limit:
  o VAXstation 3100 series, all members.  No PROM upgrade is available.
  o MicroVAX 3100 models 10 and 20.  No PROM upgrade is available.
  o MicroVAX 3100 models 10e and 20e.  Only systems with console VMB
    versions prior to V6.4 are affected.  A PROM upgrade for these
    specific systems is (was once) available.

Also see:
  http://www.whiteice.com/~williamwebb/intro/DOC-i.html

                        [Stephen Hoffman]

------------------------------------------------------------
VAX6.   How does OpenVMS VAX maintain system time?

VAX systems maintain an interval clock, and a hardware clock.

The VAX hardware clock is called the TOY ("Time Of Year") clock.  The register
associated with the clock is called the TODR ("Time Of Day Register").

The TOY clock -- as used -- stores time relative to January first of the
current year, starting at at 00:00:00.00.  It is a 100 Hz, 32-bit counter,
incremented every 10ms, and thus has a capacity of circa 497 days.

OpenVMS (on the VAX platform) stores system date information -- and in
particular, the current year -- in the system image, SYS$SYSTEM:SYS.EXE.
 
The TOY is used, in conjunction with the base date that is stored and
retrieved from the system image, to initialize the interval clock value that
is stored in EXE$GQ_SYSTIME.

Once the interval clock is loaded, the system does not typically reference the
TOY again, unless a SET TIME (with no parameters) is issued.  The interval
clock value is updated by a periodic IPL22 or IPL24 (depending on the specific
VAX) interrupt.  (When these interrupts are blocked as a result of the
activity of higher-IPL code -- such as extensive driver interrupt activity or
a hardware error -- the clock will "loose" time, and the time value reported
to the user with appear to have slowed down.)

Because the TOY has a resolution of 497 days, you need to issue a "SET TIME"
(with no parameters) at least once between January 1st and about April 11th of
each year.  The SET TIME is issued during various OpenVMS procedures such as
SHUTDOWN, and can be issued directly.  Issuing SET TIME resets the value
stored in the TOY, and updates the current year saved in the system image.

This usage is the reason that OpenVMS installation kits explicitly prompt for
the time during bootstrap, and why the time value can "get weird" if the
system crashes outside the 497 day window (if no SET TIME was issued to update
the saved values), and why the time value can "get weird" if a different
SYS$SYSTEM:SYS.EXE is used (alternate system disk, standalone BACKUP, etc).

On most (all?) VAX systems, the battery that is associated with the TOY clock
can be disconnected and replaced if (when) it fails -- TOY clock problems in
VAX systems do regularly get tracked back to a failed nicad or lithium battery
pack.
                    [Stephen Hoffman]

------------------------------------------------------------
VAX7.  What are the VMB boot flag values?

The following flags are passed (via register R5) to the OpenVMS
VAX primary bootstrap image VMB.EXE.  These flags control the
particular behaviour of the bootstrap:

The exact syntax is console-specific, recent VAX consoles tend
to use the following:

  >>> BOOT/R5:flags

  Bit     Meaning                                              
  ---     -------                                              
                                                                             
   0      RPB$V_CONV                                           
          Conversational boot. At various points in the        
          system boot procedure, the bootstrap code            
          solicits parameter and other input from the          
          console terminal.  If the DIAG is also on then       
          the diagnostic supervisor should enter "MENU"        
          mode and prompt user for the devices to test.        

   1      RPB$V_DEBUG                                          
          Debug.  If this flag is set, VMS maps the code       
          for the XDELTA debugger into the system page         
          tables of the running system.                        
                                                               
   2      RPB$V_INIBPT                                         
          Initial breakpoint. If RPB$V_DEBUG is set, VMS       
          executes a BPT instruction immediately after         
          enabling mapping.                                    
                                                              
   3      RPB$V_BBLOCK                                         
          Secondary boot from the boot block.  Secondary       
          bootstrap is a single 512-byte block, whose LBN      
          is specified in R4.                                  
                                                               
   4      RPB$V_DIAG                                           
          Diagnostic boot.  Secondary bootstrap is image       
          called [SYSMAINT]DIAGBOOT.EXE.                       
                                                               
   5      RPB$V_BOOBPT                                         
          Bootstrap breakpoint. Stops the primary and          
          secondary bootstraps with a breakpoint               
          instruction before testing memory.                   

   6      RPB$V_HEADER                                         
          Image header. Takes the transfer address of the      
          secondary bootstrap image from that file's           
          image header.  If RPB$V_HEADER is not set,           
          transfers control to the first byte of the           
          secondary boot file.                                 
                                                               
   7      RPB$V_NOTEST                                         
          Memory test inhibit. Sets a bit in the PFN bit       
          map for each page of memory present.  Does not       
          test the memory.                                     
                                                               
   8      RPB$V_SOLICT                                         
          File name. VMB prompts for the name of a             
          secondary bootstrap file.                            
                                                               
   9      RPB$V_HALT                                           
          Halt before transfer.  Executes a HALT               
          instruction before transferring control              
          to the secondary bootstrap.                          
                                                               
  10      RPB$V_NOPFND                                         
          No PFN deletion (not implemented; intended to        
          tell VMB not to read a file from the boot device     
          that identifies bad or reserved memory pages,        
          so that VMB does not mark these pages as valid       
          in the PFN bitmap).                                  
                                                               
  11      RPB$V_MPM                                            
          Specifies that multi-port memory is to be used       
          for the total EXEC memory requirement.  No local     
          memory is to be used.  This is for tightly-coupled   
          multi-processing.  If the DIAG is also on, then      
          the diagnostic supervisor enters "AUTOTEST" mode.    
                                                               
  12      RPB$V_USEMPM                                         
          Specifies that multi-port memory should be used in   
          addition to local memory, as though both were one    
          single pool of pages.                                
                                                               
  13      RPB$V_MEMTEST                                        
          Specifies that a more extensive algorithm be used    
          when testing main memory for hardware                
          uncorrectable (RDS) errors.                          
                                                               
  14      RPB$V_FINDMEM                                        
          Requests use of MA780 memory if MS780 is             
          insufficient for booting.  Used for 11/782           
          installations.                                       
                                                               
  <31:28> RPB$V_TOPSYS                                         
          Specifies the top level directory number for         
          system disks with multiple systems.                  
 
------------------------------------------------------------
VAX8.   What is the Accuracy of VAX the Time of Year (TOY) Clock?

  The VAX Time-Of-Year (TOY) clock (used to save the time over a
  reboot or power failure) is specified as having an accuracy of
  .0025%.  This is a drift of roughly 65 seconds per month.

  The TOY value is used in conjunction with a year value stored
  in SYS.EXE -- the TOY clock resolution is circa 497 days, meaning
  that a SET TIME must be issued early each year in order to keep
  the SYS.EXE and TOY clock values synchronized, and must also be
  issued whenever a new or different SYS.EXE image is in use.

  The VAX Interval Time is used to keep the running time, and this
  has a specified accuracy of .01%.  This is a drift of approximately
  8.64 seconds per day.

  Any high-IPL activity can interfere with the IPL 22 or IPL 24 (this
  depends on the VAX implementation) clock interrupts -- activities
  such as extensive device driver interrupts or memory errors are
  known to slow the clock.

  To help keep more accurate system time, NTP, DECdtss, and other
  techniques are commonly used.  If you do not have IP access to a
  time-base, then you could use dial-up access to NIST or other
  authoritative site.  (There exists code around that processes the
  digital-format time that is available via a modem call into the
  NIST clock, and code that grabs the time off a GPS receiver digital
  link.)

  The web sites:

    http://www.eecis.udel.edu/~ntp/
    http://www.nist.gov/
    http://www.bldrdoc.gov/timefreq/faq/faq.htm

  are good time-related resources.

------------------------------------------------------------
DOC1.   Where can I find online copies of OpenVMS manuals?

The Compaq OpenVMS and layered product documentation is copyrighted
material.

HTML format on-line product documentation sets for specific Compaq
OpenVMS products are presently available at:

  http://www.openvms.digital.com:8000/
  http://www.openvms.digital.com/doc/

Documentation is offered on separately orderable CD-ROM media through
a subscription to the Consolidated On-Line Documentation (ConOLD) product
(see VMS7.)  ConOLD manuals are readable with BNU, a viewer that is supplied
with the documentation distribution.  BNU can display HTML, Bookreader, and
documentation in other formats. 

MGBOOK, a viewer for Bookreader-format documentation is available for
character-cell terminals (eg. VTxxx) via the WKU VMS Freeware file server
-- see question SOFT1 for details.
                    [Steve Lionel]
                    [Stephen Hoffman]


------------------------------------------------------------
DOC2.   What online information is available?

On your OpenVMS system, the HELP command can provide a wealth of information,
not only on DCL commands but on system services (HELP System_Services) and
Run-Time Library routines (HELP RTL_Routines).  The introduction displayed
when you type the HELP command with no additional keywords provides further
pointers.

OpenVMS Marketing runs a WWW server at http://www.compaq.com/openvms/
(http://www.openvms.digital.com/).  Here, you will find product information,
strategy documents, the contents of the latest OpenVMS Freeware CD-ROM and
much more.

Product information for just about everything Digital sells is available
from Digital's Internet servers.  If you're using a World-Wide-Web (WWW)
browser, use http://www.digital.com/info.html  For anonymous FTP access,
log in to ftp.digital.com.  Software Product Descriptions (SPDs)
(http://www.digital.com/info/SPHOME/), system performance data (see ALPHA5),
product infosheets, release notes and much more are available.

In addition,

  http://www.digital.com/info/forms/search.html

provides a handy method to search all of Digital's public web servers for
information of any kind.

Compaq's Customer Services organization also hosts an Internet server.
Various contract-access and non-contract access ECO (patch) kits are
available at the URL:

  http://search.service.digital.com/

For ftp access use

  ftp://ftp.service.digital.com/

The Compaq Systems and Options catalog and the Interactive Catalog are
available at:

  http://www.digital.com/SOHOME/SOHOMEHM.HTM
  http://www.systems.digital.com/

Digital's Electronic Connection, also called "E-store", provides product
information, prices and even lets you order online.  For free access,
TELNET to order.sales.digital.com or connect via modem at 800-234-1998.
If you're on TYMNET, connect to ECONN.  If you need to get pricing for
Digital software licenses for your configuration, this is the place to get
them.

Information on Digital and on Digital hardware, software, products
and services is available through various telephone numbers:

    1-800-AT-COMPAQ     : voice : Compaq (incl DIGITAL, Tandem) products, services
    1-800-DIGITAL    : voice : DIGITAL products and services
    1-800-PCBYDEC       : voice : Digital PC hardware and software
    1-800-DECINFO    : voice : General Corporate Information
    1-603-884-0924    : voice : (alternate number for above)
    1-800-234-1998    : modem : The Digital Electronic Connection
    1-800-DEC-2717    : voice : The DECchip Hotline
    1-508-568-6868    : voice : (alternate number for above)
    1-800-STORWORK      : voice : The Compaq StorageWorks team

David Mathog offers two HTML documents which contain useful information
about OpenVMS.

  http://seqaxp.bio.caltech.edu:8000/www/vms_sheet.html
  http://seqaxp.bio.caltech.edu:8000/www/vms_beginners_faq.html

------------------------------------------------------------
DOC3.   What books and publications are available?

A bibliography of current and recent OpenVMS books is available at:

  http://www.levitte.org/~ava/vms_book.htmlx

Digital Press offers a number of OpenVMS books.  Digital Press
is an imprint of Butterworth-Heinemann, and has a web site at:

  http://www.bh.com/

Information on specific OpenVMS books is also available at:

  http://www.openvms.digital.com/openvms/books.html


------------------------------------------------------------
DOC4.   How do I extract the contents of a HELP topic to a text file?

To extract all the text of a HELP topic (and its subtopics) to a text file
for perusal with a text editor, printing out, etc., use the following
command:

     $ HELP/OUT=filename.txt help-topic [help-subtopic]

If the help text you want is not in the standard help library (for
example, it's help for a utility such as MAIL that has its own help
library), add /LIBRARY=libname after the HELP verb.  To see the names
of help library files, do a directory of SYS$HELP:*.HLB.

------------------------------------------------------------
DOC5.   Does OpenVMS Marketing have an e-mail address?

Yes - if you can't get the answers to questions elsewhere, if you have
comments or complaints about OpenVMS, send mail to openvms-info@digital.com.
This is NOT a support channel, but an informal method to communicate
with OpenVMS Marketing.  Please be courteous and careful using this
address so that it may continue to be of benefit to all.

------------------------------------------------------------
DOC6.   What OpenVMS-related WWW sites are available?

    http://www.openvms.digital.com/   (Sponsored by OpenVMS Marketing)
    http://www.montagar.com/          (Sponsored by DECUS - DFWLUG)
    http://www.levitte.org/~ava/      (Sponsored by Arne Vajhxj)
    http://www.saiga.com/             (Sponsored by Saiga Systems)
    http://www.tachyon.com/          (Sponsored by Wayne Sewell)
    http://www.progis.de/openvms.htm  (Sponsored by proGIS Software)
    http://www.jcameron.com/vms/      (Sponsored by Jeff Cameron)

The following web site is sponsored by "The Beave", and provides
information that is directly relevent to system managers, security
managers, and others interested in ensuring the continued security
of OpenVMS systems:

    http://www.vistech.net/users/beave/hack-vms-faq

Suggestions (indirectly) provided by the above include disabling the
port 11 and 15 stats provided by IP packages such as Multinet.

------------------------------------------------------------
DOC7.   Where can I find patches for OpenVMS and Digital layered products?

Digital is now providing many patches (correction kits) for OpenVMS and
layered products on the Internet.  The easiest way to search for and retrieve
the patches is through:

    http://www.service.digital.com/html/patch_service.html

You can also find the patches and the associated README files at:

    ftp://ftp.service.digital.com/public

but you must know what you are looking for.   See VMS7 for info on ordering
a CD-ROM with patch kits.

For a list of OpenVMS ECO kits recently released, you can use:

    http://Eisner.DECUS.org/conferences/OpenVMS-patches_new_1.HTML

You can also sign up for ECO kit email notifications (Digest or
individual notifications) directly from Compaq at:

    http://www1.service.digital.com/patches/mailing-list.html

------------------------------------------------------------
DOC8.   Where can I find info about undocumented OpenVMS features?

After all this discussion about undocumented VMS features I started a
collection of some documentation :-)) about them on

    http://axp623.gsi.de:8080/www/vms/qaa/undoc.htmlx
                        [zinser@axp603.gsi.de]

Also see the following:

    http://www.levitte.org/~ava/vms_tip.htmlx
                                                [Arne Vajhxj]

Various examples of undocumented features are also available on the
OpenVMS Freeware:

    http://www.openvms.digital.com/freeware/

DOC9.   Where is documentation on the DECnet Phase IV protocols?
------------------------------------------------------------

Specifications for DECnet Phase IV can be found at:

    http://gatekeeper.dec.com/pub/DEC/DECnet/PhaseIV/index.html

------------------------------------------------------------
DOC10.  Where can I learn about how the VMS executive works internally?

The OpenVMS Internals and Data Structure book explains how the OpenVMS
executive works. The book covers the operating system kernel: process
management; memory management; the I/O subsystem; and the mechanisms that
transfer control to, from, and among these. It gives an overview of a particular
area of the system, followed by descriptions of the data structures related to
that area and details of the code that implements the area.

The first edition of the OpenVMS Alpha internals book describes Version 1.5.
Although there have been several releases of  OpenVMS Alpha since Version 1.5
(V6.1, V6.2, V7.0, and V7.1) and many details in the book are no longer
accurate, it continues to provide a strong conceptual description of
OpenVMS internals.

This book has been split into five pieces, each to be updated separately.
The first such volume, published in early 1997, was "OpenVMS Alpha Internals
and Data Structures: Scheduling and Process Control," which covers the
Version 7.0 implementation of true multithreading and the changed scheduling
model it implies.

The internals books are available through Digital Press, an imprint of
Butterworth-Heinemann. You can order by phone (from US and Canada,
1-800-366-2655, or from elsewhere, 781-904-2500). You can also fax an order
to 1-800-446-6520 or 781-933-6333. The order form and additional information
are available on their web site www.bh.com .

ISBN           Title

1 55558 156 0  OpenVMS Alpha Internals: Scheduling and Process Control
1 55558 120 X  OpenVMS AXP Internals and Data Structures: Version 1.5
1 55558 059 9  VAX/VMS Internals and Data Structures: Version 5.2

                    [Ruth Goldenberg]

------------------------------------------------------------
DOC11.  Where can new users find tutorial information about OpenVMS?

First, see if your local site has information on this topic.  Each site can have
site-specific features and configuration.  Some sites will have site-specific
new user's documentation, covering various site-specific things that are
difficult or impossible for the general OpenVMS documentation to cover.

Various introductory manuals are available in the OpenVMS documentation set,
including the OpenVMS User's Guide.  The OpenVMS manuals -- including the
OpenVMS User's Guide -- are available at:

    http://www.openvms.digital.com:800/

Some of the OpenVMS books available from the Butterworth-Heinemann Digital Press
imprint (http://www.bh.com) include:

       Introduction to OpenVMS, 5th Edition,
       Lesley Ogilvie Rice
       ISBN 1 55558 194 3

       The OpenVMS User's Guide, Second Edition
       Patrick Holmay
       ISBN 1 55558 203 6

       Introduction to OpenVMS
       David W Bynon
       ISBN 1 878956 61 2

       OpenVMS System Management Guide
       Richard Berry
       ISBN 1 55558 143 9

       Using DECwindows Motif for OpenVMS
       Margie Sherlock
       ISBN 1 55558 114 5

       Writing Real Programs in DCL, Second Edition
       Hoffman and Anagnostopoulos
       ISBN 1 55558 191 9

  For various features OpenVMS books, please see:
    http://www.openvms.digital.com/openvms/books.html

  Various user-maintained websites are also available, including a
  beginner's FAQ, various user-written FAQs, a bibliography of books
  on OpenVMS, and information on various other hardware and software
  topics:

    http://www.levitte.org/~ava/vms_faq.htmlx
    http://www.levitte.org/~ava/vms_book.htmlx
    http://seqaxp.bio.caltech.edu/www/vms_sheet.html
    http://seqaxp.bio.caltech.edu/www/vms_beginners_faq.html
    http://multivac.jb.man.ac.uk:8000/helbig/BOOKMARKS/VMS.HTML

  Members of the DECUS DFWLUG maintain a website with many materials
  available, including an Overview of OpenVMS, an Introduction to DCL
  and the TPU Editor, Advanced DCL Command Procedures, OpenVMS
  Operations: Batch, Print, Tape, an Introduction to OpenVMS Management,
  to OpenVMS User Management, to OpenVMS Network Management, and to
  OpenVMS Cluster Management.  These training materials have been
  presented at various DECUS symposia, and can be downloaded from:

    http://www.montagar.com/openvms_class/

  Compaq offers training information and Technical Resource Kits
  (TRKs) for OpenVMS at:

    http://www.compaq.com/training/home.html

------------------------------------------------------------
Y2K1.   Does OpenVMS have a problem with the year 2000?

There are Year 2000 (Y2K) ECO kits available for the following releases:

  OpenVMS VAX V5.5-2, V5.5-2H4, V6.2, and V7.1
  OpenVMS Alpha V6.2, V6.2-1H1, V6.2-1H2, V6.2-1H3, V7.1, V7.1-1H1, V7.1-1H2

The following releases include integrated Y2K readiness:

  OpenVMS VAX V7.2, and later
  OpenVMS Alpha V7.1-2, V7.2, and later

No other generally-released Y2K readiness ECO kits for other (older)
OpenVMS releases are currently planned.  OpenVMS releases after the
releases specified above will have integrated Y2K readiness.

The Y2K readiness kits for specific OpenVMS releases prior to V7.1 are
currently available to customers with an OpenVMS prior version support
software support contract, and can also be purchased separately.  The
V7.1 Y2K readiness kits are presently available at the service area
website:

  http://search.service.digital.com/
  http://www.compaq.com/support/

For the official, most complete, and most current information on the status
of Y2K compliance of DIGITAL hardware and software products, including that
of OpenVMS and various OpenVMS layered products, please see:

  http://www.compaq.com/year2000/
  http://www.openvms.digital.com/openvms/products/year-2000/

Information on the customer testing procedures recommended by OpenVMS
Engineering are also accessable via the second URL above.  Failure to
follow  the recommended Y2K testing procedures -- particularly around
the necessity for performing a disk BACKUP and restoration around any
Y2K testing -- can and has led to various problems at customer sites.


------------------------------------------------------------
Y2K2.  What happens with the C tm_year field in the year 2000?

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, and the yearly
incrementation is expected to continue.

The VAX C "two digit" documentation for this area is in error, the VAX C
Run-Time Library (RTL) returns a three-digit year. 

The VAX C RTL and the other integrated RTLs are covered under the OpenVMS
operating system Y2K evaluation.  For curent information on the Y2K status
of OpenVMS language compilers and layered products, see section Y2K1.


------------------------------------------------------------
Y2K3.  What happens with the year 2038 with C?

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.

One could see this longword time value used in any C program that manipulates
time using the standard C library routines, regardless of the particular
operating system platform.

There is currently no standard mechanism for dealing with this overflow (short
of promoting all longword integers to quadwords), as the format of the time_t
value is implementation-specific.  Some implementations and applications will
treat time_t as an unsigned longword value, while others treat it as a signed
longword value -- the format of time_t is specifically left up to the C compiler
implementation by the C standards.

Applications written in C will likely have to revisit something similar to the
current "Year 2000" evaluation process sometime prior to 2038.

The OpenVMS Y2K evaluation does not extend into 19-Jan-2038, or later.

For information on OpenVMS and 2038, please see the OpenVMS Y2K website.

                    [Stephen Hoffman]

------------------------------------------------------------
Y2K4.  Is the year 2000 a leap year?

The year 2000 is a leap year.  (That is, the year 2000 is a leap year
in the Gregorian calendar, the calendar that is currently used in most
parts of the world.)

The leap year algorithm that was created by Aloysius Giglio, Father
Christopher Clavius, and the Coucil of Trent for the Gregorian Calendar
dates back to the 16th Century.  The algorithm is simple, but effective:
the years that are evenly divisible by 4 are leap years, while the years
that are divisible by 100 are not, while the years that are divisible by
400 are.  Thus, 1800, 1900, and 2100 are not leap years, while 2000 is.

And whenever working with dates, please determine what the local calendar,
timezone, and daylight savings time rules are: the Gregorian calendar was
adopted in 1698 in some areas of the world, in 1752 in others, and in 1918
in yet others.  The specific rules vary both by geography and by date.

For further details on this, please see the DECwindows Calendar Help, or
please see the answer to DIGITAL SPR number 11-60903, dated 13-Oct-1983.


------------------------------------------------------------
Y2K5.  What is covered by the OpenVMS Y2K Evaluation?

All supported components of OpenVMS are covered by the OpenVMS Y2K
evaluation, including the language run-time libraries and the OpenVMS
system-integrated products such as shadowing and RMS journaling.

For information on other DIGITAL products, or for additional details on
the OpenVMS Y2K evaluation, please see http://www.digital.com/year2000/.

------------------------------------------------------------
Y2K6.  Do I need to consider Y2K?  Do I even need the Y2K ECO?

To answer this, you will need to trade off the risks of Y2K failures
with the time and money that will be spent performing a local Y2K
evaluation.  The performance of a Y2K evaluation is much like the
purchasing of insurance.

It is quite possible to create an entirely a Y2K safe environment
from tools and products that are not Y2K ready, just as it is also
possible to have serious Y2K problems in an environment based entirely
on Y2K ready products.  In other words -- short of knowing that the
product has catestrophic Y2K failures, and short of learning where
specific known Y2K problems lurk in the products -- you cannot really
determine with any certainty that your site is Y2K ready.

The only way to tell for certain that your site is Y2K safe is to
test your systems and your applications.  For some suggested testing
procedures, please see the OpenVMS Y2K website.

The OpenVMS operating system is in good shape in regard to Y2K, but
there are a few small areas of OpenVMS that do require an update for
Y2K readiness -- if you are certain that no local software is using
any these areas OpenVMS, then you will likely not require the update.
If you are not certain, then you have will likely need to test for
Y2K problems at your site, and you will also likely want to acquire
and install the update.  For details on the update process and on what
was found in OpenVMS, please see the information in the Y2K kits.

And you will obviously need to consider software products other than
OpenVMS when making your Y2K readiness determination, as well.

[End of Part 1/3]

 --------------------------- pure personal opinion ---------------------------
   Hoff (Stephen) Hoffman   OpenVMS Engineering   hoffman#xdelta.zko.dec.com




Article 31991 of comp.os.vms:
Path: mailint03.im.hou.compaq.com!not-for-mail
From: hoffman@xdelta.zko.dec.nospam (Hoff Hoffman)
Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers
Subject: OpenVMS Frequently Asked Questions (FAQ), Part 2/3
Followup-To: poster
Date: 29 Nov 1999 20:08:12 GMT
Organization: Compaq Computer Corporation
Lines: 2147
Approved: news-answers-request@mit.edu
Distribution: world
Expires: 29 April 2000 00:00:00 GMT
Message-ID: <81umfc$m0j$1@mailint03.im.hou.compaq.com>
References: <81umbt$lro$1@mailint03.im.hou.compaq.com>
Reply-To: hoffman@xdelta.zko.dec.nospam
NNTP-Posting-Host: xdelta.zko.dec.com
X-Trace: mailint03.im.hou.compaq.com 943906092 22547 16.32.80.251 (29 Nov 1999 20:08:12 GMT)
X-Complaints-To: usenet@mailint03.im.hou.compaq.com
NNTP-Posting-Date: 29 Nov 1999 20:08:12 GMT
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.
Supercedes: <7u7spm$9e6$2@mailint03.im.hou.compaq.com>
Xref: mailint03.im.hou.compaq.com comp.os.vms:31991 comp.sys.dec:7968 vmsnet.alpha:85 vmsnet.misc:25 comp.answers:3435 news.answers:18890




Archive-name: dec-faq/vms/part2
Posting-Frequency: monthly
Last-modified: 29 November 1999
Version: VMS-FAQ-2.TXT(3)


Overview
========
This is part 2/3 of the Frequently Asked Questions (FAQ) posting for
the comp.os.vms and vmsnet.misc newsgroups.  (comp.os.vms is
bidirectionally-gatewayed to the INFO-VAX mailing list - see INTRO3
for further details.)  It contains answers to frequently asked
questions about Compaq's OpenVMS operating system and the computer
systems on which it runs.  (Please see INTRO5 before posting.)

This FAQ is archived in the following locations:
    comp.answers and news.answers newsgroups
    ftp://ftp.digital.com/pub/Digital/dec-faq/OpenVMS.txt
    ftp://ftp.digital.com/pub/Digital/dec-faq/vms
    ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms

Other FAQs are generally available in these locations:
    comp.answers and news.answers newsgroups
    ftp://rtfm.mit.edu/pub/usenet/...

User-created HTML versions of the FAQ are located at:
    http://www.kjsl.com/vmsfaq
    http://eisner.decus.org/vms/faq.htm
 
Please do NOT send technical questions to the Frequently Asked Questions
(FAQ) editor -- well, please do not email any questions that do not also
include the answer(s).  Please post these questions to the appropriate
newsgroup instead -- and see INTRO5 before posting.  To make suggestions
for changes or additions to this FAQ list, please send mail to the FAQ
editor at hoffman@xdelta.zko.dec.com.  Again, the FAQ editor is *not* in
a position to answer general questions.

Some general notes:

The term "VMS" is synonymous with "OpenVMS".  "Alpha", "AlphaGeneration" or
"AXP" generally refers to any system or product based on or related to
Compaq's Alpha processor architecture.  OpenVMS manual names mentioned are
those as of V7.2 -- names may be different in other editions of the
documentation set.

World-Wide Web Universal Resource Locator (URL) notation is used for FTP
addresses.

Many people have contributed to this list, directly or indirectly.  In
some cases, an answer has been adapted from one or more postings on the
comp.os.vms newsgroup.  Our thanks to all of those who post answers.
The name (or names) at the end of an entry indicate that the information
was taken from postings by those individuals; the text may have been
edited for this FAQ.  These citations are only given to acknowledge the
contribution.

Although the editor of this FAQ is an employee of Compaq's Digital
Equipment Corporation subsidiary, this posting is not an official
statement of either Compaq or Digital Equipment Corporation.

AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation,
DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of Digital Equipment
Corporation.  Compaq and the names of Compaq products are trademarks and/or
registered trademarks and/or service marks of Compaq Computer Corporation.
OSF/1 is a registered trademark of the Open Software Foundation.  UNIX is
a registered trademark in the United States and other countries, licensed
exclusively through X/Open Company Ltd.  Other names are properties of their
respective owners.


Table of Contents - Part 2/3
____________________________

System Management
========================================
MGMT1.  What is an installed image?
MGMT2.  Are there any known viruses for OpenVMS?
MGMT3.  How do I mount an ISO-9660 CD on OpenVMS?
MGMT4.  How do I extract the contents of a PCSI kit?
MGMT5.  I've forgotten the SYSTEM password - what can I do?
MGMT6.  How do I connect a PostScript printer via TCP/IP?
MGMT7.  Why can't I do a SET TIME command?
MGMT8.  How do I change the timezone differential and time in batch?
MGMT9.  How do I change the node name of an OpenVMS System?
MGMT10. What is the correct value for EXPECTED_VOTES in a VMScluster?
MGMT11. Why doesn't OpenVMS see the new memory I just added?
MGMT12. How do I write a BACKUP saveset to a remote tape?
MGMT13. Tell me about SET HOST/DUP and SET HOST/HSC
MGMT14. How do I install DECnet Phase IV on VMS 7.1?
MGMT15. How do I change the text in a user's UIC identifier?
MGMT16. What are the OpenVMS version upgrade paths?
MGMT17. Why do I have negative number in the pagefile reservable pages?
MGMT18. Do I have to update layered products when updating OpenVMS?
MGMT19. How do I change the volume label of a disk?
MGMT20. How do I fix a corrupt BACKUP saveset?
MGMT21. How can I set up a shared directory?
MGMT22. Why does my system halt when I power-cycle the console terminal?
MGMT23. Why do I get extra blank pages on my HP Printer?
MGMT24. How do I configure ELSA GLoria Synergy graphics on OpenVMS?
MGMT25. How do I acquire OpenVMS patches, fixes, and ECOs?
MGMT26. How do I rename a DSSI disk (or tape?)
MGMT27. How do I move the queue manager database?
MGMT28. How do I set a default IP route or gateway on OpenVMS?
MGMT29. How do I switch between AlphaBIOS/ARC and SRM consoles?
MGMT30. How do I delete an undeletable/unstoppable (RWAST) process?


MAIL
========================================
MAIL1.  How do I send Internet mail?
MAIL2.  How do I get IN% or MX% added automatically to Internet addresses?
MAIL3.  How do I automatically append a signature file to my mail messages?
MAIL4.  Do I have to use VMS MAIL?  I like my Unix mailer better.
MAIL5.  How can I forward my mail?  Can I forward it to an Internet address?
MAIL6.  How can I forward my mail to a list of addresses?
MAIL7.  MAIL keeps saying I have new messages, but I don't.  What do I do?
MAIL8.  How do I extract all of my mail messages to a file?
MAIL9.  How do I send or read attachments in VMS MAIL?

Other Utilities
========================================
UTIL1.  How do I play an audio CD on my workstation?
UTIL2.  How do I access a MS-DOS floppy disk from OpenVMS?
UTIL3.  How do I play sound files on an AlphaStation?  DECsound doesn't work

DCL and command usage
========================================
DCL1.   How do I run a program with arguments?
DCL2.   How can I redefine control keys in DCL?
DCL3.   How can I clear the screen in DCL?
DCL4.   How do I do a REPLY/LOG in a batch stream?
DCL5.   How do I generate a random number in DCL?
DCL6.   What does the MCR command do?
DCL7.   How do I change the OpenVMS system prompt?
DCL8.   Can I do DECnet task-to-task communication with DCL?

File System and RMS
========================================
FILE1.  How can I undelete a file?
FILE2.  Why does SHOW QUOTA give a different answer than DIR/SIZE?
FILE3.  How do I make sure that my data is safely written to disk?
FILE4.  What are the limits on file specifications and directories?
FILE5.  What is the largest disk volume size OpenVMS can access?
FILE6.  What is the maximum file size, and the RMS record size limit?
FILE7.  How do I write recordable CD media (CD-R) on OpenVMS?
FILE8.  What I/O transfer size limits exist in OpenVMS?


------------------------------------------------------------
MGMT1.  What is an installed image?

The term "install" has two distinct meanings in OpenVMS.  The first relates to
"installing a product", which is done with either the SYS$UPDATE:VMSINSTAL.COM
command procedure or the POLYCENTER Software Installation (PCSI) utility
(PRODUCT command).  The second meaning relates to the use of the INSTALL
utility, which is what concerns us here.

The INSTALL utility is used to identify to OpenVMS a specific copy of an
image, either executable or shareable, which is to be given some set of
enhanced properties.  For example, when you issue the SET PASSWORD command,
the image SYS$SYSTEM:SETP0.EXE is run.  That image needs to have elevated
privileges to perform its function.

The other important attribute is /SHARED.  This means that shareable parts
of the image (typically read-only code and data) are loaded into memory
only once and are shared among all users on a system.  Executable images
can be installed /SHARED as well as shareable library images.  (The term
"shareable" has dual meanings here, too.  See the OpenVMS Programming
Concepts Manual for further details.)

It's important to note that there is no such thing as "installing a shareable
image with privileges".  The INSTALL utility will let you do it, but the
privileges you specify will be ignored.  To have a callable routine run with
enhanced privileges that are not available to its caller, you must construct
your routines as "user-written system services" and install the shareable
image with the /PROTECT qualifier.  See the OpenVMS Programming Concepts
Manual for more information on user-written system services.  Note also
that in many cases the need to grant privileges to an image can be replaced
with the use of the "Protected Subsystems" feature that grants a rights
identifier to an image.  See the OpenVMS Guide to System Security for
information on Protected Subsystems.

------------------------------------------------------------
MGMT2.  Are there any known viruses for OpenVMS?

Viruses are very common on PCs because the PC operating systems such as MS-DOS
and MacOS do not implement any sort of scheme to protect the operating system
or the file system against hostile action by programs.  On these operating
systems, any running program can subvert the operating system and take over
the hardware, at which point it can do anything it wishes, including hiding
copies of itself in other programs or in the file system.

This is unlikely on OpenVMS, Unix, and MVS for three reasons.  First, the
operating system runs in a privileged mode in memory that is protected
against modification by normal user programs.  Any old program cannot
take over the hardware as it can on PC operating systems.  Secondly,
OpenVMS, Unix, and MVS have file systems that can be set up so that
non-privileged programs cannot modify system programs and files on disk. 
Both of these protection schemes mean that traditional PC virus schemes
don't work on these OSes.  Third, typical applications and configurations
tend to prevent the uncontrolled execution of untrusted code as part of
email messages or web access.

It is possible for OpenVMS, etc., to be infected by viruses, but to do so,
the program containing the virus must be run from a user account that has
amplified privileges.  As long as the system administrator is careful that
only trusted applications are run from such accounts (and this is generally
the case), there is no danger from viruses.
                    [Paul Winalski]
                    [Stephen Hoffman]

To protect against viruses and other attempts at system interference or
misuse, follow the recommendations in the "OpenVMS Guide to System  Security".
You may also want to consider optional software products which can monitor
your system for intrusion or infection attempts.  Digital offers the
following products in this area:

  DECinspect Intrusion Detector
  POLYCENTER Security Reporting Facility
  POLYCENTER Security Compliance Manager

Rocksoft offers the Veracity data integrity tool (for info, send mail to
demo@rocksoft.com).

[Contributions to this list welcomed]

------------------------------------------------------------
MGMT3.  How do I mount an ISO-9660 CD on OpenVMS?

ISO-9660 support was added in the following releases:

    OpenVMS VAX V6.0
    OpenVMS AXP V1.5

An add-on ISO-9960 kit was also available for OpenVMS VAX V5.5,
V5.5-1, V5.5-2, and V5.5-2H4.  This requires the installation
of the F11CD kit from the InfoServer CD, from the Consolidated
Distribution CD under the InfoServer area, Digital Customer
Support kit CSCPAT #1071012, or the F11CD ECO kit.

By default, OpenVMS senses the specific type of media.  If you
are working with dual-format media -- media that uses both the
ODS-2 and ISO-9660 formats on the same CD-ROM -- then MOUNT will
first detect and then default to the ODS-2 format.  If you wish
to override this and explicitly mount the media using ISO-9660,
use the command:

    $ MOUNT/MEDIA_FORMAT=CDROM  device-name[:] [volume-label]

In most circumstances, you will not need nor will you want to
include an explicit /MEDIA_FORMAT specification.  For further
information, please refer to the OpenVMS MOUNT Utility Manual.
Particularly note the information on the MOUNT /MEDIA_FORMAT
and /UNDEFINED_FAT qualifiers.

The MOUNT /UNDEFINED_FAT qualifier is of interest because
ISO-9660 media can be mastered on a wide variety of operating
system platforms, and these platforms do not necessarily support
the semantics needed for files containing predefined record formats.
The /UNDEFINED_FAT allows you to specify the default attributes for
files accessed from volumes using the ISO-9660 format.

An example which works for most CD-ROMs is:

    $ MOUNT/MEDIA_FORMAT=CDROM/UNDEFINED_FAT=STREAM:2048 DUA0: FREEWARE

This particular MOUNT command forces access to the CD-ROM media
using the ISO-9660 volume structure, and the use of the MOUNT
/UNDEFINED_FAT qualifier causes any file whose file attributes
are "undefined" to be returned with "stream" attributes with a
maximum record length 2048.

On OpenVMS, the ISO-9660 format is (internally) considered to be
the ODS-3 file structure, while the High Sierra extensions to
the standard are considered to be the ODS-4 file structure.  The
Rock Ridge extensions are not currently available on OpenVMS.

                    [Jim Dunham]
                    [Stephen Hoffman]

------------------------------------------------------------
MGMT4.  How do I extract the contents of a PCSI kit?

A growing number of OpenVMS products are being provided in PCSI
(POLYCENTER Software Installation) kits which are installed using the
PRODUCT INSTALL command.  These are alternatives to or replacement for
VMSINSTAL kits which were BACKUP savesets.  PCSI kits are not BACKUP
savesets and are structured differently from VMSINSTAL kits.

If you want to extract product files from a PCSI kit, create a directory
into which the kit should be expanded and use the following command:

    $ PRODUCT COPY prodname /SOURCE=[where-the-kit-is] -
      /DEST=[destination-directory] /FORMAT=REFERENCE

A PCSI kit file has a file specification of the following form:

    DEC-VAXVMS-FORTRAN-V0603-141-1.PCSI

In this example, "FORTRAN" is the "prodname".  PCSI will expand the kit
files into the directory you specify and subdirectories beneath such
as [SYSEXE], [SYSLIB], etc., reflecting the eventual destination of files
found there.  Most of the actual product files (images, etc.) will be in
the subdirectories.  In the top-level directory will be a file with the
file type PCSI$DESCRIPTION that specifies where various files should go.
For more details, see the POLYCENTER Software Installation Developer's
Guide for OpenVMS, which can be found in the OpenVMS documentation on
the Consolidated Online Documentation CD-ROM.

------------------------------------------------------------
MGMT5.  I've forgotten the SYSTEM password - what can I do?

If you need to break into an OpenVMS system because you do not have
access to any privileged passwords, such as the password to the SYSTEM
username, you  will need physical access to the system console, and you
will need to perform a conversational reboot.  Here are the steps:

  1.  Halt the system.  Exactly how this is done depends on the
      specific system model: Depending on the model, this can involve
      pressing the <HALT> button, entering <CTRL/P> on the console, or
      pressing the <BREAK> key on the console.

  2.  At the >>> console prompt, use a console command to boot into the
      SYSBOOT> utility.  (SYSBOOT allows conversational changes to system
      parameters.)  The syntax for the conversational bootstrap varies by
      system model -- this typically involves specifying a flag of 1, for
      example:

        VAX:
          B/1
          B/R5:1
          @GENBOO

        Alpha:
          b -flags 0,1

      If your system has a non-zero system root (such as root SYSE, shown
      here), you will have to use a console command such as the following:

        VAX:
          B/E0000001
          B/R5:E0000001
          @<console media procedure name varies widely>

        Alpha:
          b -flags e,1
   
      If your system has a hardware password (various systems support
      a password that prevents unauthorized access to the console), you
      will need to know theis password and will need to enter it using
      the LOGIN command at the console.  If you get an "Inv Cmd" error
      trying to perform a conversational bootstrap, and you do not have
      the hardware console password for the console LOGIN command, you
      are stuck -- you will need to call for hardware service in order
      to reset the hardware console password.  The syntax used for the
      console password mechanism varies.

  3.  Once at the SYSBOOT> prompt, request that OpenVMS read the system
      startup commands directly from the system console, that the window
      system (if any) not be started, and that OpenVMS not record these
      particular parameter changes for subsequent system reboots:

        SET/STARTUP OPA0:
        SET WINDOWSYSTEM 0
        SET WRITESYSPARAMS 0
        CONTINUE

  4.  At the $ prompt, the system will now be accepting startup commands
      directly from the console.  Type the following two DCL commands:

        SPAWN
        @SYS$SYSTEM:STARTUP

      The result of these two commands will be the normal system startup,
      but you will be left logged in on the console, running under a
      privileged username.  Without the use of the SPAWN command, you
      would be logged out when the startup completes.

      If necessary, you can skip the invocation of the system startup
      temporarily, and perform tasks such as egistering license PAKs
      or various other "single-user" maintenance operations.

  5.  Use the following commands to reset the SYSTEM password:

        SET DEFAULT SYS$SYSTEM:  ! or wherever SYSUAF.DAT resides
        RUN SYS$SYSTEM:AUTHORIZE
        MODIFY SYSTEM /PASSWORD=newpassword
        EXIT

      These steps will change the SYSTEM password to the specified new
      newpassword password value.

   Reboot the system normally -- the SYSTEM password should now be set to
   the value you specified in Step 5.

   Some people will suggest a method using the UAFALTERNATE SYSGEN parameter.
   This approach is not always reliable and is not recommended, as there can
   easily be an alternate user authorization file configured on the system.

   For further information on emergency startup and shutdown, as well as for
   the official OpenVMS documentation on how to change the SYSTEM password
   from the console in an emergency, please see the OpenVMS System Manager's
   Manual in the OpenVMS documentation set.

   You can also use the conversational bootstrap technique shown above (the
   steps through Step 3) to alter various system parameters.  At the SYSBOOT>
   prompt, you can enter new parameters values:

     SHOW MAXPROCESSCNT
     SET . 64
     CONTINUE

   The "." is a shorthand notation used for the last parameter examined.

                    [Stephen Hoffman]

------------------------------------------------------------
MGMT6.  How do I connect a PostScript printer via TCP/IP?

Using UCX as the TCP/IP stack, it is possible to setup queues using the
UCX$TELNETSYM in order to print to postscript printers.  This assumes
however that the printer itself can convert whatever is passed to it into
something intelligible.  As an example, if the printer has an IP address
of 123.456.789.101 and jobs should be passed to port 9100 then :
$ INITIALIZE/QUEUE/ON="123.456.789.101:9100"/PROCESSOR=UCX$TELNETSYM  -
        my_ip_queue

The port number of 9100 is typical of HP JetDirect cards but may be
different for other manufacturers cards.

As a better alternative, DCPS Version 1.4 and later support IP queues
using either Digital TCP/IP Services for OpenVMS software or Cisco
Multinet for OpenVMS.  The usage of this type of interface is documented
in the Release Notes and the DCPS$STARTUP.TEMPLATE file.

                    [Steve Reece]
                                        [Arne Vajhxj]

------------------------------------------------------------
MGMT7.  Why can't I do a SET TIME command?

Q: Trying to set the time with SET TIME on my system returns one of these
messages:

%SET-E-NOTSET, error modifying time
-SYSTEM-F-IVSSRQ, invalid system service request

%SET-E-NOTSET, error modifying time
-SYSTEM-E-TIMENOTSET, time service enabled; enter a time service command to
update the time

A: This occurs if the time on the local system is controlled by a time service
software, for example the distributed time service software (DTSS) provided as
part of the DECnet/OSI installation. The DTSS software communicates with one or
more time servers to obtain the current time. It entirely controls the local
system time (for DECnet/OSI, there is a process named DTSS$CLERK for this);
therefore, the usage of the SET TIME command (and the underlying $SETTIM system
service) is disabled.

The first message is displayed on systems running DECnet/OSI V6.1 and earlier.
On systems with newer DECnet/OSI (DECnet-Plus) software, the second (and more
informative) message is given.

You shouldn't have to change the time manually - you should be doing this
through the time server - but if you insist...  you'll have to shutdown DTSS:

$ MCR NCL
NCL> DISABLE DTSS
NCL> DELETE DTSS

This will shutdown DTSS$CLERK. You may then change the system time as usual.
To restart the DTSS software, type

@SYS$STARTUP:DTSS$STARTUP

You'll need a lot of privs : (CMKRNL,SYSPRV,OPER,SYSNAM,PRMMBX,NETMBX,LOG_IO,
ALTPRI) and must be granted the NET$MANAGE identifer to shutdown and
restart DTSS.
                    [bol@adv.magwien.gv.at]

If you wish to "permanently" disable DTSS on a system running DECnet-Plus, the
above NCL sequence must be performed each time the system is bootstrapped.

------------------------------------------------------------
MGMT8. How do I change the timezone differential and time in batch?

To change the timezone differential and the time when the change to/from
Daylight Saving Time (DST) occurs, use SYS$MANAGER:UTC$CONFIGURE_TDF.COM. To
use this as batch job, please note:
  P1 = SET, set the time.
  P2 = signed timezone differential from UTC in minutes.
    -360 for standard time (for Chicago)
    -300 for DST (for Chicago)
  P3 = signed time change in minutes.  If +, enclose in quotes.
    -60 to go from DST to standard time
    "+60" to go from standard time to DST

Going from standard time to DST (for Chicago):

$ SUBMIT/AFTER="<date>+02:00" SYS$MANAGER:UTC$CONFIGURE_TDF -
    /PAR=(SET,-300,"+60")

Going from DST to standard time (for Chicago):

$ SUBMIT/AFTER="<date>+02:00" SYS$MANAGER:UTC$CONFIGURE_TDF -
    /PAR=(SET,-360,-60)

If you use this com file interactively, the times are given as signed
hour:minute, so that -360 minutes is given as -6:00.

Before and after the com file runs, check the system time and the logical
SYS$TIMEZONE_DIFFERENTIAL.  The logical has the offset from UTC in seconds.

Current DST rules for some countries:
1. United States and Canada:
  DST begins on the first Sunday of April (2am => 3am)
  DST ends on the last Sunday of October (2am => 1am)
2. UK, France, Germany, Spain:
  DST begins on the last Sunday of March (2am => 3am)
  DST ends on the last Sunday of October (3am => 2am)
3. Australia:
  DST begins on the last Sunday of October (2am => 3am)
  DST ends on the last Sunday of March (2am => 1am)
4. Singapore:
  No DST change
                    [Dale Dellutri]

------------------------------------------------------------
MGMT9.  How do I change the node name of an OpenVMS System?

  The first step is to get a BACKUP of the system disk before making
  any changes -- use the system disk backup procedures as documented
  in the OpenVMS System Management Manual, making sure to use the
  procedures and commands appropriate for the system disk.

  Changing the node name involves a number of steps -- the node name
  tends to be imbedded in a number of different data files around the
  system.

    Update the SCSNODE in MODPARAMS.DAT, and then run AUTOGEN as
      far as the SETPARAMS phase.  (Do not reboot yet.)
    Modify the DECnet node name.  (NETCONFIG is the DECnet Phase
      IV tool, and NET$CONFIGURE is the DECnet-Plus tool.)
    Modify the IP node name.  (The UCX tool is UCX$CONFIG.)
    Modify the host node name on the various queues in the queue
      database.  (each queue has a host name, and it defaults to
      the SCS node name of the queue's host system.  See the command
      INIT/QUEUE/ON=node for information.)
    Modify the node name saved in any application databases, or any
      local node-conditional operations present in the site-specific
      system startup, etc.  (SEARCH for the node name, specifying
      all types of files.)
    Rename the SYS$NODE_oldnodename rightslist identifier to match
      the new name.  (Do not change the binary value of this
      identifier.)
    Reset any license PAKs that are restricted to the old node name
      to the new node name.
    If the node name is part of a disk volume label, see MGMT19.
    Reboot the node or -- if in a VMScluster -- reboot the whole
      VMScluster.  (This tends to catch any errors immediately.)

  There are likely a few other areas where the nodename will be stored.

  If the system is configured in a VMScluster and you change *either*
  the SCSNODE or the SCSSYSTEMID -- but *not* both values -- then you
  will have to reboot the entire VMScluster.  (The VMScluster remembers
  the mapping between these two values, and will assume that a
  configuration problem has occured if a mismatched pair appears, and
  will refuse to let a node with a mismatched pair join the VMScluster.)

  To calculate the correct SCSSYSTEMID value, multiply the DECnet Phase
  IV area number by 1024, and add the DECnet Phase IV node number.  For
  example, the SCSSYSTEMID value for a DECnet node with address 19.22 is
  19478.  ((19 * 1024) + 22 = 19478)

  I expect I may have missed one or two configuration tools (or more!)
  that are needed at your site -- the node name tends to get stored all
  over the place, in layered products, and in local software...

                    [Stephen Hoffman]

------------------------------------------------------------
MGMT10. What is the correct value for EXPECTED_VOTES in a VMScluster?

The VMScluster connection manager uses the concept of votes and quorum
to prevent disk and memory data corruptions -- when sufficient votes are
present for quorum, then access to resources is permitted.  When sufficient
votes are not present, user activity will be blocked.  The act of blocking
user activity is called a "quorum hang", and is better thought of as a
"user data integrity interlock".  This mechanism is designed to prevent
a partitioned VMScluster, and the resultant massive disk data corruptions.

On each OpenVMS node in a VMScluster, one sets two values in SYSGEN: VOTES,
and EXPECTED_VOTES.  The former is how many votes the node contributes to
the VMScluster.  The latter is the total number of votes expected when the
full VMScluster is bootstrapped.

Some sites erroneously attempt to set EXPECTED_VOTES too low, believing
this will allow when only a subset of voting nodes are present in a
VMScluster.  It does not.  Further, an erroneous setting in EXPECTED_VOTES
is automatically corrected once VMScluster connections to other nodes are
established, meaning user data is at risk of severe corruption only during
the initial system bootstrap.

One can operate a VMScluster with one, two, or many voting nodes.  With
any but the two-node configuration, keeping a subset of the nodes active
when some nodes fail can be easily configured.  With the two-node
configuration, one must use a primary-secondary configuration (where the
primary has all the votes), a peer configuration (where when either node
is down, the other hangs), or (preferable) a shared quorum disk.

Use of a quorum disk does slow down VMScluster transitions somewhat --
the addition of a third voting node that contributes the vote(s) that
would be assigned to the quorum disk makes for faster transitions -- but
the use of a quorum disk does mean that either node in a two-node VMScluster
configuration can operate when the other node is down.

In a two-node VMScluster with a shared storage interconnect, typically each
node has one vote, and the quorum disk also has one vote.  EXPECTED_VOTES
is set to three.

Using a quorum disk on a non-shared interconnect is unnecessary -- the
use of a quorum disk does not provide any value, and the votes assigned
to the quorum disk should be assigned to the OpenVMS host serving access
to the disk.

For information on quorum hangs, see the OpenVMS documentation.  For
information on changing the EXPECTED_VOTES value on a running system,
see the SET CLUSTER/EXPECTED_VOTES command, and see the OpenVMS system
console documentation for the processor-specific console commands used
to trigger the IPC (Interrrupt Priority Level %x0C; IPL C) handler.
The IPC handler can be used to clear a quorum hang, and to clear disk
mount verification hangs.

                        [Stephen Hoffman]

------------------------------------------------------------
MGMT11. Why doesn't OpenVMS see the new memory I just added?

When adding memory to an OpenVMS system, one should check for an existing
definition of the PHYSICALPAGES (OpenVMS VAX) or PHYSICAL_MEMORY (OpenVMS
Alpha) parameter in the SYS$SYSTEM:MODPARAMS.DAT parameter database, use
a text editor to reset the value in the file to the new correct value as
required, and then perform the following command:

  $ @SYS$UPDATE:AUTOGEN GETDATA REBOOT FEEDBACK

This AUTOGEN command will reset various system parameters based on recent
system usage (FEEDBACK), and it will reset the value for the PHYSICALPAGES
parameter to the new value.  It will also reboot the OpenVMS system.
 
PHYSICALPAGES and PHYSICAL_MEMORY can also be used to deliberately lower
the amount of memory available for use by OpenVMS.  This ability can be
useful in a few specific circumstances, such as testing the behaviour of
an application in a system environment with a particular (lower) amount
of system memory available.

PHYSICALPAGES and PHYSICAL_MEMORY can be set to -1, to indicate that
all available memory should be used.

                        [Stephen Hoffman]

------------------------------------------------------------
MGMT12. How do I write a BACKUP saveset to a remote tape?

How to do this correctly was described at DECUS a long time ago. On the
node with the tape drive, create SAVE-SET.FDL:

RECORD
        FORMAT                  fixed
        SIZE                    8192

Then create BACKUP_SERVER.COM:

$ !
$ ! BACKUP_SERVER.COM - provide remote tape service for BACKUP.
$ !
$ set verify
$ set noon
$ define mu $90$mua93:   ! or whatever your real tape drive is
$ set rms/network=16
$ mount/nounl/over:id/block=8192 mu:
$ convert/fdl=SAVE-SET sys$net mu:save-set.
$ dismount/unl mu:
$ set noverify

On the node where you want to do the backup, do:

$ BACKUP input-spec node::"TASK=BACKUP_SERVER" /BLOCK=8192

The only thing that doesn't completely work here is multi-reel savesets.
Since the tape is being written through RMS and the magtape ACP, BACKUP
won't see the reel switch and will split an XOR group across the reel
boundary. As far as I remember, BACKUP will be willing to read such a
multi-reel save set (directly, not over the net) since the XOR blocks
are simply ignored on read, but it definitely wouldn't be able to do a
recovery across the reel boundary.

Unfortunately BACKUP can't read tapes over the network because the RMS
file attributes on a network task access look wrong (variable length
records).
                        [Stephen Hoffman]

------------------------------------------------------------
MGMT13. Tell me about SET HOST/DUP and SET HOST/HSC

The OpenVMS DCL commands SET HOST/DUP and SET HOST/HSC are used to connect to
storage controllers via the Diagnostics and Utility Protocol (DUP).  These
commands require that the FYDRIVER device driver be connected.  This device
driver connection is typically performed by adding the following command(s) into
the system startup command procedure:

    On OpenVMS Alpha:
      $ RUN SYS$SYSTEM:SYSMAN
      SYSMAN> IO CONNECT FYA0/NOADAPTER/DRIVER=SYS$FYDRIVER

    On OpenVMS VAX:
      $ RUN SYS$SYSTEM:SYSGEN
      SYSGEN> CONNECT FYA0/NOADAPTER

Alternatives to the DCL SET HOST/DUP command include the console >>> SET HOST
command available on various mid- to recent-vintage VAX consoles:

    Access to Parameters on an Embedded DSSI controller:
      >>> SET HOST/DUP/DSSI[/BUS:{0:1}] dssi_node_number PARAMS

    Access to Directory of tools on an Embedded DSSI controller:
      >>> SET HOST/DUP/DSSI[/BUS:{0:1}] dssi_node_number DIRECT

    Access to Parameters on a KFQSA DSSI controller:
      >>> SHOW UQSSP ! to get port_controller_number PARAMS
      >>> SET HOST/DUP/UQSSP port_controller_number PARAMS

These console commands are available on most MicroVAX and VAXstation 3xxx
series systems, and most (all?) VAX 4xxx series systems.  For further
information, see the system documentation and -- on most VAX systems -- see
the console HELP text.

EK-410AB-MG, _DSSI VAXcluster Installation and Troubleshooting_, is a good
resource for setting up a DSSI VMScluster on OpenVMS VAX nodes. (This manual
predates coverage of OpenVMS Alpha systems, but gives good coverage to all
hardware and software aspects of setting up a DSSI-based VMScluster -- and
most of the concepts covered are directly applicable to OpenVMS Alpha systems.
This manual specifically covers the hardware, which is something not covered
by the standard OpenVMS VMScluster documentation.)

                        [Stephen Hoffman]

------------------------------------------------------------
MGMT14. How do I install DECnet Phase IV on VMS 7.1?

On OpenVMS V7.1, all DECnet binaries were relocated into separate installation
kits -- you can selectively install the appropriate network: DECnet-Plus
(formerly known as DECnet OSI), DECnet Phase IV, and DIGITAL TCP/IP Services
(often known as UCX).

On OpenVMS versions prior to V7.1, DECnet Phase IV was integrated, and there
was no installation question.  You had to install the DECnet-Plus (DECnet OSI)
package on the system, after the OpenVMS upgrade or installation completed.

During an OpenVMS V7.1 installation or upgrade, the installation procedure
will query you to learn if DECnet-Plus should be installed. If you are
upgrading to V7.1 from an earlier release or are installing V7.1 from a
distribution kit, simply answer "NO" to the question asking you if you want
DECnet-Plus.  Then -- after the OpenVMS upgrade or installation completes --
use the PCSI PRODUCT INSTALL command to install the DECnet Phase IV binaries
from the kit provided on the OpenVMS software distribution kit.

If you already have DECnet-Plus installed and wish to revert, you must
reconfigure OpenVMS.  You cannot reconfigure the "live" system, hence you must
reboot the system using the V7.1 distribution CD-ROM.  Then select the DCL
($$$ prompt) option.  Then issue the commands:

    $$$ DEFINE/SYSTEM PCSI$SYSDEVICE DKA0:
    $$$ DEVINE/STSTEM PCSI$SPECIFIC DKA0:[SYS0.]
    $$$ PRODUCT RECONFIGURE VMS /REMOTE/SOURCE=DKA0:[VMS$COMMON]

The above commands assume that the target system device and system root are
"DKA0:[SYS0.]".  Replace this with the actual target device and root, as
appropriate.  The RECONFIGURE command will then issue a series of prompts.
You will want to reconfigure DECnet-Plus off the system, obviously.  You will
then want to use the PCSI command PRODUCT INSTALL to install the DECnet Phase
IV kit from the OpenVMS distribution media.

Information on DECnet support, and on the kit names, is included in the
OpenVMS V7.1 installation and upgrade documentation.

                        [Stephen Hoffman]

------------------------------------------------------------
MGMT15. How do I change the text in a user's UIC identifier?

The text translations of the numeric User Identification Code (UIC) are based
on identifiers present in the OpenVMS rightslist.  Documentation on this area
is included in the _Guide to OpenVMS System Security_ manual.

To control the identifiers shown for a user's UIC, you use AUTHORIZE. Each
user has an associated group identifier, and an identifier specific to the
user.  And each user should have a unique UIC.

To alter the text of a user or group identifier, use commands such as:

    $ RUN SYS$SYSTEM:AUTHORIZE
    UAF> rename/ident oldgroupid newgroupid
    UAF> rename/ident olduserid  newuserid

If you should find yourself missing an identifier for a particular user, you
can add one for the user's UIC using a command such as:

    UAF> add/ident/value=uic=[group,user] newuserid

The UIC user identifier text is assigned when the username is created, and is
the text of the username.  The UIC group group identifier is assigned when the
first username is created in the UIC group, and the text is based on the
account name specified for the first user created in the group.  The value of
this identifier is [groupnumber, 177777]. To add a missing group identifier,
use an asterisk as follows:

    UAF> add/ident/value=uic=[group,*] newgroupid

You may find cases where an identifier is missing from time to time, as there
are cases where the creation of a UIC group name identifier might conflict
with an existing username, or a user identifier might conflict with an
existing group identifier.  When these conflicts arise, the AUTHORIZE utility
will not create the conflicting group and/or user identifier when the username
is created.

You can can add and remove user-specified identifiers, but you should avoid
changing the numeric values associated with any existing identifiers.  You
should also avoid reusing UICs or identifiers when you add new users, as any
existing identifiers that might be present on objects in the system from the
old user will grant the same access to the new user.  Please see the security
manual for details.

------------------------------------------------------------
MGMT16. What are the OpenVMS version upgrade paths?

   Note: See "OpenVMS Alpha Terminology" section, below.

   OpenVMS Alpha release upgrade (or update) paths:

     From V1.0, one can upgrade to V1.5.
     From V1.5, or V1.5-1H1, one can upgrade to V6.1.
     From V6.1, one can upgrade to V6.2.
     From V6.1, or V6.2, one can upgrade to V7.0.
     From V6.1, V6.2, V6.2-1H(1,2,3), or V7.0, one can upgrade to V7.1.
     From V6.2, one can update to V6.2-1H1, V6.2-1H2, or V6.2-1H3.
     From V6.2, V6.2-1H(1,2,3), V7.1, V7.1-1H(1,2), or V7.2, one can upgrade to V7.2-1
     From V7.1, one can update to V7.1-1H(1,2), V7.1-2, V7.2, V7.2-1

     Some typical OpenVMS Alpha upgrade (or update) paths are:
         V1.0 -> V1.5 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2)
         V1.5-1H1 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2)
         V6.1 -> V7.2
         V6.2 -> V6.2-1H3
         V6.2 -> V7.2-1
         V6.2-1H(1,2,3) -> V7.1
         V6.2-1H(1,2,3) -> V7.2-1
         V7.1 -> V7.1-1H(1,2)
         V7.1 -> V7.1-2
         V7.1 -> V7.2-1
         V7.1-1H(1,2) -> V7.2-1

     Note that OpenVMS Alpha V7.0 does not include support for hardware
     and/or configurations first supported in OpenVMS Alpha V6.2-1H1,
     V6.2-1H2, or V6.2-1H3; one must upgrade to OpenVMS VAX V7.1.

     One cannot update directly to a V6.2-1Hx Limited Hardware Release
     (LHR) from any release prior to the baseline V6.2 release.  The
     same prohibition holds for performing updates directly to V7.1-1Hx
     from any release prior to V7.1 -- this is not supported, and does
     not produce the expected results.  The LHR kits can, however, be
     directly booted and can be directly installed, without regard to
     any operating system that might be present on the target disk.

     OpenVMS Alpha updates for LHRs (through V7.1-1Hx) require the use
     of VMSINSTAL for the update.  These LHR releases use PCSI for the
     installation, but not for the update.  Non-LHR releases use PCSI
     for installs and upgrades. 

     OpenVMS Alpha V7.1-2 and later use PCSI for LHRs and for OpenVMS
     upgrades and for all OpenVMS ECO kit installations.  VMSINSTAL
     OpenVMS ECO kits are not used on OpenVMS Alpha V7.1-2 and later.
     Prior to V7.1-2, VMSINSTAL-based ECO kits are used for OpenVMS.


   OpenVMS VAX release upgrade paths:

     From V5.0 through V5.4-3 inclusive, one can upgrade to V5.5.
     From V5.5, V5.5-1, or V5.5-2HW, one can upgrade to V5.5-2.
     From V5.5, V5.5-1, or V5.5-2, one can upgrade to V6.0.
     From V5.5-2, V5.5-2H4, or V6.0, one can upgrade to V6.1.
     From V6.0, or V6.1, one can upgrade to V6.2.
     From V6.1, or V6.2, one can upgrade to V7.0.
     From V6.1, V6.2, or V7.0, one can upgrade to V7.1.
     From V6.1, one can upgrade to V7.2 (with VAXBACK ECO for V6.1).

     Some typical OpenVMS VAX upgrade paths are:
         V5.x -> V5.5 -> V6.0 -> V6.2 -> (V7.0, or V7.1)
         V5.5-2HW -> V5.5-2
         V5.5-2, or V5.5-2H4 -> V6.1 -> (V6.2, V7.0, or V7.1)
         V6.1 -> VAXBACK V6.1 ECO -> V7.2
         V6.2 -> V7.2

     Note that OpenVMS VAX V6.0 does not include support for hardware
     and/or configurations first added in OpenVMS VAX V5.5-2H4, one
     must upgrade to OpenVMS VAX V6.1.

     Note that OpenVMS VAX V5.5-2HW is a pre-release version of V5.5-2.
     Any system running it should be upgraded to V5.5-2, or later.


   OpenVMS Cluster Rolling Upgrades:

     Rolling Upgrades require multiple system disks.  Rolling upgrades
     permit the OpenVMS Cluster to remain available while individual systems
     are being upgraded to a new OpenVMS release.

     OpenVMS Cluster rolling upgrades for both OpenVMS VAX and OpenVMS Alpha
     may (will) have different, or additional upgrade requirements, and
     have requirements around which versions of OpenVMS can coexist
     in a OpenVMS Cluster than what is listed here.

     See the _OpenVMS <platform> Version <Version> Upgrade and Installation
     Manual_, and the OpenVMS Software Product Descriptions

       http://www.digital.com/info/SPHOME/

     for further details on the rolling upgrade, and for support information. 
     The documentation for older releases of OpenVMS VAX includes various
     platform-specific manuals, manuals that include instructions that
     are specific to installing and upgrading on the platform.


   Layered Product and Support Information:

     For information on Prior Version support, see:

       http://www.compaq.com/services/software/ss_mature.html

     For information on supported versions of layered products, and
     minimum required layered product versions, see:

       http://www.openvms.digital.com/openvms/os/swroll/index.html

     For information on the release history of OpenVMS, including
     information on the code names of various releases and the
     major features:

       http://www.openvms.digital.com/openvms/os/openvms-release-history.html

     Additional release history information, as well as a variety of
     other trivia, is available in the VAX 20th anniversary book:

       http://www.openvms.digital.com/openvms/20th/vmsbook.pdf

   OpenVMS Alpha Terminology:

     update:    Typically used for Limited Hardware Releases (LHR)
                releases.  Performed via VMSINSTAL.  Applies only
                to the OpenVMS release that the LHR is based on,
                or to an intermediate LHR.  (eg: V7.1-1H2 applies only
                to V7.1-1H1 and to V7.1, not to any other releases.)
                LHRs within a series are cumulative, containing all
                files and features of previous LHRs in the same series.

     upgrade:   Performed via PCSI.  Upgrades can typically be applied
                to a release-specific (and documented) range of prior
                OpenVMS releases.

     install:   Performed via PCSI.  With an installation, no existing
                version of the operating system is assumed present, nor
                are any files from any copy of the operating system might
                be present preserved, and the entire contents of the target
                disk are destroyed via a disk initialization.

     preserve:  Performed via PCSI.  Otherwise similar to an installation,
                this option skips the disk reinitialization.  User files
                on the target disk are preserved.  Any existing operating
                system files on the target disk are clobbered.

     LHR:       Limited Hardware Release.  LHRs are specific to and are
                targeted at new hardware configurations, and are not
                shipped to customers with support contracts.  At least
                one LHR kit must be specifically acquired when purchasing
                new hardware, new hardware that is not (yet) supported by
                any mainline (non-LHR) release.  LHRs have an "H" in the
                OpenVMS version string, indicating a "Hardware" release.

------------------------------------------------------------
MGMT17. Why do I have negative number in the pagefile reservable pages?

Seeing a negative number in the reservable pages portion of the SHOW
MEMORY/FULL command can be normal and expected, and is (even) documented
behaviour.  A pagefile with a negative number of reservable pages is
overcommitted, which is generally goodness assuming that every process with
reserved pages does not try to occupy all of the reserved pagefile  space at
the same time.

To understand how the pagefile reservation process works, think about  how a
traditional bank operates when accepting customer deposits and  making loans.
It's the same idea with the pagefile space. There is  less money in the bank
vault than the total deposits, because much of  the money has been loaned out
to other customers of the bank.  And the behaviour parallels that of the
pagefile down to the problems that a  "run on the bank" can cause for banking
customers.  (Though there is  no deposit insurance available for pagefile
users.)

If all of the running applications try to use the reserved space, the system
manager will need to enlarge the pagefile or add one or more additional
pagefules.

To determine if the pagefile is excessively overcommitted, watch for "double
overcommitment" -- when the reservable space approaches the  negatation of the
available total space -- and watch that the total  amount of free space
available in the pagefile remains adequate.  If  either of these situations
arises, additional pagefile storage is required.

Additional pagefile information: Additional pagefiles can typically be
created and connected on a running OpenVMS system.  New processes and  new
applications will tend to use the new pagefile, and existing  applications can
be restarted to migrate out of the more congested  pagefiles.  Pagefiles are
generally named PAGEFILE.SYS, and multiple  pagefiles are generally configured
on separate disk spindles to spread  the paging I/O load across the available
disk storage.  When multiple  pagefiles are present on recent OpenVMS
versions, each pagefile file  should be configured to be approximately the
same total size as the  other pagefiles.

For additional information on pagefile operations and related commands, see
the system management and performance management manuals in the  OpenVMS
documentation set.
                    [Stephen Hoffman]

------------------------------------------------------------
MGMT18. Do I have to update layered products when updating OpenVMS?

The Software Public Rollout Reports for OpenVMS list the current and future
availability of Compaq's software products shipping on the Software Products
Library kits (CDROM consolidations) for OpenVMS Alpha and OpenVMS VAX.
Specifically, the required minimum versions for product support are listed.

Comprehensive Public Rollout Information, listing previous product versions as
well as currently shipping versions, has been compiled into a separate set of
reports.  The product information is grouped to show Operating System support.

You may or may not be able to use older versions of local applications,
third-party products, and various Compaq layered products with more recent
versions of OpenVMS.  User-mode code is expected to be upward compatible.
Code executing in a privileged processor mode -- typically either executive or
kernel mode -- may or may not be compatible with more recent OpenVMS versions.

These reports are updated monthly.

Please see:
  http://www.openvms.digital.com/openvms/os/swroll/index.html

                    [Stephen Hoffman]

------------------------------------------------------------
MGMT19. How do I change the volume label of a disk?

  Dismount the disk, and mount it privately.  If the disk is mounted by
  more than one node in an OpenVMS Cluster, dismount it from all other
  nodes.  If this disk is an OpenVMS system disk, shut down all other
  nodes that are bootstrapped from this disk.

  Issue the SET VOLUME/LABEL command, specifying the new label.

  On OpenVMS V6.0 and later, issue the following PCSI command:

    $ PRODUCT REGISTER VOLUME <old-label> <device>

  To reset the label information stored in the PCSI database to reflect
  the new disk volume label.

  Locate any references in the system startup (typically including the
  disk MOUNT commands) and any DISK$label references in application files,
  and change the references appropriately.

  Remount the disk appropriately.

                    [Stephen Hoffman]

------------------------------------------------------------
MGMT20.  How do I fix a corrupt BACKUP saveset?

  BACKUP savesets can be corrupted by FTP file transfers and by tools
  such as zip (particularly when the zip tool has not been asked to
  save and restore OpenVMS file attributes or when it does not support
  OpenVMS file attributes), as well as via other means of corruptions.

  If you have problems with the BACKUP savesets after unzipping them
  or after an FTP file transfer, you can try restoring the appropriate
  saveset attributes using the tool:

    $ @RESET_BACKUP_SAVESET_ATTRIBUTES.COM

  This tool is available on the OpenVMS Freeware (in the [000TOOLS]
  directory).  The Freeware is available at various sites -- see the
  Freeware location listings elsewhere in the FAQ -- and other similar
  tools are also available from various sources.

  In various cases, the following command might work:

    $ SET FILE/ATTRIBUTES=(RFM:FIX,MRS:32256,LRL:32256,RAT:NONE) file.bck

                    [Stephen Hoffman]

------------------------------------------------------------
MGMT21.  How can I set up a shared directory?

To set up a shared directory -- where all files created in the directory
are accessable to the members of specified group of users -- you can use
an access control list (ACL) and an identifier.

The following also shows how to set up a resource identifier, which further
allows the disk resources to be charged to the specified identifier rather
than each individual user.  (If you don't want this, then omit the
attributes option on the identifier creation and omit the entry added
in the disk quota database.

Add an identifier using AUTHORIZE:
  ADD/IDENTIFER/ATTRIBUTES=RESOURCE groupidentifier

Grant the identifier to each user in the group using AUTHORIZE:
  GRANT/IDENTIFIER groupidentifier username

If disk quotas are in use, add an entry via SYSMAN for each disk:
  DISKQUOTA ADD groupidentifier/PERMQUOTA=pq/OVERDRAFT=od/DEVICE=ddcu:

Set the shared directory to have an ACL similar to the following using the
SET SECURITY (V6.0 and later) or SET ACL (versions prior to V6.0) command:
  (DEFAULT_PROTECTION,S:RWED,O:RWED,G,W)
  (IDENTIFIER=groupidentifier,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+DELETE)
  (IDENTIFIER=groupidentifier,ACCESS=READ+WRITE+EXECUTE+DELETE)
  (CREATOR,ACCESS=READ+WRITE+ACCESS+DELETE)

If there are files already resident in the directory, set their protections
similarly.  (The OPTIONS=DEFAULT, DEFAULT_PROTECTION, and CREATOR ACEs apply
to directories.)

The default protection mask is used to establish the default file protection
mask, this mask does not prevent the users holding the specified
groupidentifier from accessing the file(s), as they can access the file via
the explicit identifier granting access that is present in the ACL.

For further information, see the OpenVMS Guide to System Security Manual,
specifically the sections on ACLs and identifiers, and resource identifiers.

------------------------------------------------------------
MGMT22. Why does my system halt when I power-cycle the console terminal?

  Power-cycling serial line equipment -- either a host controller or
  a serial terminal -- can and often does generate a serial line framing
  error until the power stabilizes.  A serial line framing error on the
  console serial line is indistiguishable from the BREAK signal that is
  used to HALT many OpenVMS systems.
                    [Stephen Hoffman]

------------------------------------------------------------
MGMT23. Why do I get extra blank pages on my HP Printer?

  For information on configuring telnet print symbiont, on device control
  libraries such as SYSDEVCTL.TLB, and for ways of dealing with the extra
  blank pages that can arise on various HP printers, please see the OpenVMS
  Ask The Wizard area, starting particularly with topic 1020:

    http://www.openvms.digital.com/wizard/
    http://www.openvms.digital.com/wizard/wiz_1020.html

  There are a variety of discussions of this and of related printing topics
  in the Ask The Wizard area.
                    [Stephen Hoffman]

------------------------------------------------------------
MGMT24. How do I configure ELSA GLoria Synergy graphics on OpenVMS?

  The ELSA GLoria Synergy is the PBXGK-BB.

  On OpenVMS Alpha V7.1-2 and V7.2, acquire the appropriate GRAPHICS
  PCSI kit, and all prerequisite OpenVMS ECO kits:

    VMS72_GRAPHICS-V0100 or later
    VMS712_GRAPHICS-V0100 or later

  On OpenVMS Alpha V7.2-1, the files necessary for this graphics
  controller are located in the distribution CD-ROM directory:

    DISK$ALPHA0721:[ELSA.KIT]

  Also check for any available (later) ECO kits.

  An earlier kit (ALP4D20T01_071) (for V7.1, V7.1-1H1, and V7.1-1H2)
  was once available, but has been superceded and is not recommended.
  Use of V7.1-2 or later (and use of one the above GRAPHICS kits as
  required) is typically the best approach.
                    [Stephen Hoffman]

------------------------------------------------------------
MGMT25. How do I acquire OpenVMS patches, fixes, and ECOs?

You can acquire and download kits containing OpenVMS fixes (ECOs) for various
releases via:

  http://search.service.digital.com/
  ftp://ftp.service.digital.com/public/vms/

You can subscribe to an email notification list at:

  http://www.service.digital.com/patches/mailing-list.html

A quarterly distribution is also available on CD-ROM:

  QT-3CQAA-C8      OpenVMS Alpha
  QT-3CRAA-C8      OpenVMS VAX

For information on ECO checksums, see:
  http://www1.service.digital.com/svctools/decevent/md5-frame.html

                    [Stephen Hoffman]

------------------------------------------------------------
MGMT26. How do I rename a DSSI disk (or tape?)

  If you want to renumber or rename DSSI disks or DSSI tapes, it's
  easy -- if you know the secret incantation...

  From OpenVMS:

    $ RUN SYS$SYSTEM:SYSGEN
    SYSGEN> CONNECT FYA0/NOADAPTER
    SYSGEN> ^Z
    $ SET HOST/DUP/SERV=MSCP$DUP/TASK=PARAMS <DSSI-NODE-NAME>
    ...
    PARAMS> STAT CONF
    <The software version is normally near the top of the display.>
    PARAMS> EXIT
    ...

  From the console on most 3000- and 4000-class VAX system consoles...
  (Obviously, the system must be halted for these commands...)

    Integrated DSSI:

        >>> SET HOST/DUP/DSSI[/BUS:[0:1]] dssi_node_number PARAMS

    KFQSA:

        >>> SET HOST/DUP/UQSSP port_controller_number PARAMS

  For information on how to get out into the PARAMS subsystem, also see
  the >>> HELP at the console prompt for the SET HOST syntax, or see the
  HELP on SET HOST /DUP (once you've connected FYDRIVER under OpenVMS).

  Once you are out into the PARAMS subsystem, you can use the FORCEUNI
  option to force the use of the UNITNUM value and then set a unique
  UNITNUM inside each DSSI ISE -- this causes each DSSI ISE to use the
  specfied unit number and not use the DSSI node as the unit number.
  Other parameters of interest are NODENAME and ALLCLASS, the node name
  and the (disk or tape) cluster allocation class.

  Ensure that all disk unit numbers used within an OpenVMS Cluster disk
  allocation class are unique, and all tape unit numbers used within an
  OpenVMS Cluster tape allocation class are also unique.
                    [Stephen Hoffman]

------------------------------------------------------------
MGMT27. How do I move the queue manager database?

  To move the location of the queue database, the SYS$QUEUE_MANAGER.QMAN$QUEUES
  and SYS$QUEUE_MANAGER.QMAN$JOURNAL files, to a disk that is fast(er), has plenty
  of free space, and that is not heavily used.  If the queue database is on a
  (busy) OpenVMS system disk, you can and probably should move it off the system
  disk to another disk spindle.

  To move the queue database:

   0. Checkpoint the journal file.  This reduces the file size to the in-memory
      database size.  This will cause the noted delay. 

    $ mcr JBC$COMMAND
    JBC$COMMAND> DIAG 0 7

   1. Stop the queue manager

    $STOP/QUEUE/MANAGER/CLUSTER

   2. Backup the .QMAN$QUEUES and .QMAN$JOURNAL files from the present location
      for safety.
   
    $ backup SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$*  DISK:[DIR]   
  
   3. Create a new directory for the queue database.  Insure that this disk is
      accessible to all nodes that can run the queue manager.  If the /ON list
      for the queue manager is "/ON=(*)", the disk must be available to all
      nodes in the cluster

    $ CREATE/DIR fast_disk:[qman]

   4. Copy the .QMAN$QUEUES and .QMAN$JOURNAL files to the new directory

    $ copy SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$*  fast_disk:[qman]

   5.  Delete the old queue database. 

    $DELETE SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$*

   6. Restart the queue manager pointing to the new location

    $START/QUEUE/MANAGER fast_disk:[qman]

                    [Dave Sweeney]

------------------------------------------------------------
MGMT28. How do I set a default IP route or gateway on OpenVMS?

If you have TCP/IP Services, then use the command:

  $ TCPIP SET ROUTE/GATE=x.x.x.x/DEF/PERM
    or
  $ UCX SET ROUTE/GATE=x.x.x.x/DEF/PERM

------------------------------------------------------------
MGMT29. How do I switch between AlphaBIOS/ARC and SRM consoles?

The specific steps required vary by system.  You must first ensure that
the particular Alpha system is supported by OpenVMS (see the SPD), that
all core I/O components (graphics, disk controllers, etc) in the system
are supported by OpenVMS (see the SPD), and that you have an OpenVMS
distribution, that you have the necessary license keys (PAKs), and that
you have the necessary SRM firmware loaded.

Most Alpha systems support loading both the AlphaBIOS/ARC console and the
SRM console at the same time, but systems such as the AlphaStation 255
are "half-flash" systems and do not support the presence of both the
AlphaBIOS/ARC and SRM console firmware at the same time.  If you have
a "half-flash" system, you must load the SRM firmware from floppy, from
a network download, or from a firmware CD-ROM.  Following the normal
AlphaBIOS or ARC firmware update sequence to the APU prompt, and then
explictly select the target console.  In other words, power up the
system to the AlphaBIOS or ARC console, use the supplementary options
to select the installation of new firmware (typically from CD-ROM),
and then rather than using a sequence which updates the current
firmware:

    Apu-> update
      -or-
    Apu-> update ARC
    Apu-> verify
    Apu-> quit
    Power-cycle the system

Use the following sequence to specifically update (and load) SRM
from AlphaBIOS/ARC on a "half-flash" system:

    Apu-> update SRM
    Apu-> verify
    Apu-> quit
    Power-cycle the system

Use the following sequence to specifically update (and load) the
AlphaBIOS/ARC console from SRM on a "half-flash" system:

    >>> b -fl 0,A0 ddcu
    BOOTFILE: firmware_boot_file.exe

    Apu-> update ARC
    Apu-> verify
    Apu-> quit
    Power-cycle the system

Once you have the SRM loaded, you can directly install OpenVMS or
Tru64 UNIX on the system.  Do not allow Windows NT to write a
"harmless" signature to any disk used by OpenVMS, Tru64 UNIX, or
Linux, as this will clobber a key part of the disk.  (On OpenVMS,
you can generally recover from this "harmless" action by using the
WRITEBOOT tool.)

If you have a "full-flash" system and want to select the SRM console
from the AlphaBIOS or ARC console environment, select the "Switch to
OpenVMS or Tru64 UNIX console" item from the "set up the system" submenu.
Then power-cycle the system.  If you have a "full-flash" system with
the SRM conssole and want to select AlphaBIOS/ARC, use the command:

   >>> set os_type NT

and power-cycle the system.
 
For information on acquiring firmware, see ALPHA6.  For information
on OpenVMS license PAKs (for hobbyist use) see VMS9.  For information
on the Multia, see ALPHA8.

------------------------------------------------------------
MGMT30. How do I delete an undeletable/unstoppable (RWAST) process?

"Undeleteable" jobs are usually "undeleteable" for a reason -- this
can track back to insufficient process quotas, to a kernel-mode error
in OpenVMS or a third-party device driver, or to other odd problems.

These undeletable jobs typically become of interest because they are
holding onto a particular resource (eg: tape drive, disk drive,
communications widget) that you need to use...  If the particular
device supports firmware, ensure that the device firmware is current
-- TQK50 controllers are known for this when working with old firmware.
(That, and the infamous "MUA4224" firmware bug.)  If this device has a
driver ECO kit available, acquire and apply it...  If the particular
relevent host component has an ECO, acquire and apply it.

Useful tools include SDA (to see what might be going on) and DECamds
(which increase and thus potentially fix quota-related problems).
(nb: Applications with quota leaks will obviously not stay fixed.)

If the stuck application is BACKUP, ensure you have the current
BACKUP ECO and are directly following the V7.1 or (better) V7.2
process quota recommendations for operator BACKUP accounts.

If the firmware and ECO levels are current, the best approach is to take
a system crashdump, and pass a copy of the dump file it along to whomever
is maintaining the device driver for the particular device/widget/driver
involved, with any details on how you got into this situation.  (The reboot
involved with taking the crashdump will obviously clear the problem.)

There was some kernel-mode code (typically for OpenVMS VAX) that can
reset the device ownership field, but that is rather obviously only an
interrum solution -- the real fix is avoiding the loss of the IRP, the
process quota leak, or whatever else is "jamming up" this particular
process...
                    [Stephen Hoffman]

------------------------------------------------------------
MAIL1.  How do I send Internet mail?

The simplest answer on most OpenVMS V6.2 and later systems: just enter the
Internet (SMTP) address at the "to" prompt in MAIL.  On most such systems,
this will send your email to the specified recipient.

That said, there is no one answer to this question.  Internet mail is built
upon the TCP/IP protocols, which are not directly supported by OpenVMS --
support requires the installation of a package that understands TCP/IP and
specifically one that provides the Simple Mail Transport Protocol (SMTP).

A number of implementations of TCP/IP are available for OpenVMS -- from Compaq,
from third parties, and even a free "support it yourself" form.   The MAIL program
that comes with OpenVMS does not directly support the mail protocol used on the
Internet (though it does recognize SMTP addresses in V6.2 and later), but various
programs have been written that use MAIL's "foreign protocol" facility to provide
such support -- these tools are called transports.  To send mail through a transport,
place the transport specifier at the front, and (typically) quote the address. 

For example, IN%"hoffman@bogushost.compaq.com" -- you *must* include the quotation
marks -- indicates that IN transport will be used to send the mail to the address
hoffman@bogushost.compaq.com.  Common names for the transport are IN%, MX%, and SMTP%.
(MX is a widely used, free, mail handler; see question  SOFT1.  SMTP% is used by
Compaq's TCP/IP Services product.)  Other systems may use some other name.  If none
of these prefixes work, please ask your system manager for assistance.
                    [leichter@lrw.com]
                    [Stephen Hoffman]

See also MAIL2.

------------------------------------------------------------
MAIL2.  How do I get IN% or MX% added automatically to Internet addresses?

For older OpenVMS releases, you can acquire the MAILSHR_PATCH package
(there's one each for VAX and Alpha) from the WKU FILESERV server
(see question SOFT1.).

As of OpenVMS V6.2, this is not necessary -- simply enter the SMTP email
address directly.  If the address specified to MAIL contains an embeded "@"
character in it (a quoted string is not needed), MAIL will look to see if
the logical name MAIL$INTERNET_TRANSPORT is defined.  If it is, then MAIL
will use the translation as the transport protocol, otherwise it will use
the SMTP transport as is used by TCP/IP Services for OpenVMS. 

To alter this, for example, if you wanted IN% added, you'd define
MAIL$INTERNET_TRANSPORT as "IN".

------------------------------------------------------------
MAIL3.  How do I automatically append a signature file to my mail messages?

OpenVMS 7.0 adds the ability to automatically append signature files - in
MAIL, use the SET SIGNATURE command to specify a signature file name.
For earlier versions, see the following paragraphs.

The basic MAIL utility which is shipped with VMS does not have an intrinsic
mechanism for adding signature files.  If you're using an enhanced mail
handling package (e.g PMDF), however, it may have provisions for adding
signature files to all messages it handles - check the documentation for
details.  In addition, it's common practice to use an editor to handle
addition of `quotation marks' (e.g. >) and signature files to mail messages
and news postings.  There are several implementations of this for different
editors available on the net; for one example, see the MAIL_EDIT package
available at
  ftp://narnia.memst.edu/mail_edit_v1-4.zip
                    [bailey@genetics.upenn.edu]

Define the logical MAIL$EDIT to a COM-file, which looks something like
the following:

$ IF P1 .NES. ""
$ THEN
$    COPY 'P1',<signaturefile> 'P2'
$ ELSE
$    COPY <signaturefile> 'P2'
$ ENDIF
$ DEFINE/NOLOG SYS$INPUT SYS$COMMAND
$ <editorname> 'P2'
$ EXIT

Where <signaturefile> is the name of the signature-file (including directory
and disk) and <editorname> is EDIT/EDT or EDIT/TPU (or your favorite editor).
                    [Arne Vajhxj]

------------------------------------------------------------
MAIL4.  Do I have to use VMS MAIL?  I like my Unix mailer better.

Several Unix mailers have been ported to VMS, some by the vendors of specific
TCP/IP packages, some by users who have made them freely available.  See the
documentation for your TCP/IP package, and refer to question SOFT1 for
information about the availability of the free ports.
                    [Jerry Leichter]

------------------------------------------------------------
MAIL5.  How can I forward my mail?  Can I forward it to an Internet address?

You can use the SET FORWARD command within MAIL to specify where you want all
your mail forwarded to.  Use SHOW FORWARD to see your current forwarding.  To
cancel all forwarding, type SET NOFORWARD.

You can forward your mail to an Internet address, but you have to be careful
because of the way MAIL handles special characters, such as quotation marks.
First, determine the address you would use to send mail to the place you want
to forward to - say, IN%"fred@fred-host.xxx.com".  Take that string and
*double all the quotation marks*, producing IN%""fred@fred-host.xxx.com"".
Finally, wrap quotation marks around the outside and use the the result with
SET FORWARD:

    MAIL>SET FORWARD "IN%""fred@fred-host.xxx.com"""

If you do SHOW FORWARD, you should now see:

    Your mail is being forwarded to IN%"fred@fred-host.xxx.com".
                    [leichter@lrw.com]

Note that the MAIL$INTERNET_TRANSPORT feature doesn't yet work with
SET FORWARD in that you'll still have to use the syntax above with the
quotation marks.

------------------------------------------------------------
MAIL6.  How can I forward my mail to a list of addresses?

VMS MAIL does not support forwarding a message to more than one address.
(Older versions of MAIL allowed you to specify such forwarding, but it never
worked correctly.)

Many of the TCP/IP mail packages support forwarding to mailing lists, as does
the free MX mail handling system and the DELIVER mail "extender".  See the
documentation of your TCP/IP package and question SOFT1.
                    [leichter@lrw.com]

------------------------------------------------------------
MAIL7.  MAIL keeps saying I have new messages, but I don't.  What do I do?

The count of new mail messages is kept separately from your mail folder
in SYS$SYSTEM:VMSMAIL_PROFILE.DATA.  It sometimes happens that this count
differs from what's in your mail folder.  If this happens, go into MAIL
and repeat the READ/NEW command until you see no new mail messages.  Then
enter the command one more time.  This will resynchronize the counters.

------------------------------------------------------------
MAIL8.  How do I move all of my mail messages to another system?

If you are moving to another OpenVMS system, perhaps the best way is to select
each folder and do (in MAIL) a:

    EXTRACT/APPEND/ALL/MAIL mymail.mai

Move MYMAIL.MAI to the other system, then do this (in MAIL):

    SET FILE mymail.mai
    COPY/ALL foldername MAIL.MAI

This will place a copy of all of your messages in the given folder.  If
you wanted to maintain the separate folders, do separate EXTRACT commands
(above) specifying different .mai files, then repeat the SET FILE, COPY
for each one.

If you are moving to a non-OpenVMS system, the EXTRACT command above can
be used to create a file which you can then copy - how you import it into
your mailer is an exercise left to the reader.

------------------------------------------------------------
MAIL9.  How do I send or read attachments in VMS MAIL?

Is there any way to send or read mail with files as attachments from VMS?

Not directly with the OpenVMS MAIL facility, but there are several
other options:

1. Install PINE, available commercially from Innosoft or free from Andy
   Harper.  With PINE you can both send and receive MIME messages, if
   you have the appropriate viewers available.
     http://www.innosoft.com/
     http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/
     ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/

2. If you're working from an X11 server use the OpenVMS version of Netscape
   Navigator.  This option is ok for sending mail, but is not optimal for
   reading it, since Netscape will use POP and remove messages entirely
   the OpenVMS MAIL system, which is not generally what you want.

3. MPACK/MUNPACK.  To send a MIME mail, construct the message with
   attachments manually using MPACK.  You cannot send the resulting file
   directly through MAIL because an extra  blank header line will be
   inserted between your message and the OpenVMS MAIL headers, which will
   cause the message to appear as plain text in most mail programs.  Some
   TCP/IP stacks provide a work around for this problem, and if that
   doesn't work, you should generally be able to force the message directly
   into the SMTP port of your mail machine.  Examples of both methods are
   in:
     http://seqaxp.bio.caltech.edu/pub/SOFTWARE/mmail.com

   To read a MIME mail message, open it in MAIL, extract it to a file, then
   use MUNPACK to break out and decode the attachments.   

                    [David Mathog]

4. With OpenVMS V7.2 and later, use the supplied MIME tool.

------------------------------------------------------------
UTIL1.  How do I play an audio CD on my workstation?

If you've installed the DECwindows examples, you'll find
DECW$CDPLAYER.C, .DAT, .EXE, .UIL, and .UID.  Copy the .UID and .DAT
files to DECW$USER_DEFAULTS: (typically SYS$LOGIN:), define the logical name
DECW$CD_PLAYER to be the device name of your CD-ROM drive (eg. DKA400:),
give yourself PHY_IO and DIAGNOSE privileges, and run the .EXE.  You can
also install the image with these privileges.  See the source for
additional details - note that the comments regarding the need for
SYSGEN CONNECT are no longer applicable (at least as of VMS V5.5-2).

There's also SYS$EXAMPLES:CDROM_AUDIO.C and .EXE, a non-Motif program.

------------------------------------------------------------
UTIL2.  How do I access a MS-DOS floppy disk from OpenVMS?

The Digital Pathworks for OpenVMS product includes a utility called PCDISK
that can read and write MS-DOS format diskette.  A license for Pathworks
is as little as US$99 (QM-2CLAA-AA, File and Print Access license).

ProGIS in Germany sells a product called VMove which supports DOS files on
many different device types.  For more information, send mail to
info@progis.rmi.de.

Engineering Software has a product called VAKSAT which will
read/write/erase files on DOS diskettes. Available for both VAX and Alpha.
Contact ed@cityscape.co.uk for more information.

MadGoat PC Exchange (PCX) is a utility for copying files to and from
MS-DOS format diskettes under VMS, using an RX23 (3.5"), RX26 (3.5"),
or RX33 (5.25") diskette drive.  For 3.5" diskettes, high-density
disks can be read or written; double-density disks are read-only. Only
high-density disks are supported on the RX33.

  http://www.madgoat.com/

------------------------------------------------------------
UTIL3.  How do I play sound files on an AlphaStation?  DECsound doesn't work

The new AlphaStation systems use a different sound board (Microsoft Sound
System) than the earlier DEC 3000 AXP systems, and DECsound, as supplied by
DECwindows Motif, doesn't support this board.  Digital offers an optional
product, Multimedia Services for OpenVMS (SPD 64.24.00), which provides a
replacement DECsound for this card as well as many other features (an AVI and
MPEG player, video capture support, etc.)



------------------------------------------------------------
DCL1.   How do I run a program with arguments?

The RUN command does not accept arguments.  To pass arguments to a program,
you must use what is called a "foreign command".  For example:

    $ uudecode :== $disk:[dir]uudecode.exe
    $ uudecode filespec

The leading $ in the symbol definition is what makes it a foreign command. If
the device and directory is omitted, SYS$SYSTEM: is assumed. 

Under OpenVMS V6.2 and later, DCL supports automatic foreign command
definition via the logical name DCL$PATH:.  An example of a definition of this
logical name is:

    $ DEFINE DCL$PATH SYS$DISK:[],ddcu:[mytooldir],SYS$SYSTEM:

DCL will first look for a command in the DCL command table, and if no match is
found and if DCL$PATH is defined, it will then look for command procedures and
executable images with filenames matching the command specified, in the
directories specified via DCL$PATH.  The first match found is invoked, and
under OpenVMS, the DCL$PATH support will cause a command procedure to be
activated in preference to an executable image.

For more information on foreign commands or on automatic foreign command
support, see the OpenVMS User's Manual.

See also question PROG2.

If you want to create a detached process that takes arguments from a command
line, it must be run under the control of a command line interpreter (CLI)
(typically DCL).  This is done by placing the command line in a file,
specifying SYS$SYSTEM:LOGINOUT.EXE as the image to run and the command file as
the input.  For example:

    $ OPEN/WRITE CMD TEMP_INPUT.COM
    $ WRITE CMD "$ MYCOMMAND arguments"
    $ CLOSE CMD
    $ RUN/DETACHED SYS$SYSTEM:LOGINOUT /INPUT=TEMP_INPUT.COM

Various OpenVMS library calls (such as lib$spawn(), cli$dcl_parse(), and the C
library system() call) require access to a command line interpreter such as
DCL to perform requested actions, and will not operate if a CLI is not
available.

When a CLI is not available, these calls typically return the error status
SS$_NOCLI.  And as mentioned above, invoke the image LOGINOUT to cause a CLI
(such as DCL) to be mapped into and made available in the context of the
target process.
                    [Stephen Hoffman]

------------------------------------------------------------
DCL2.   How can I redefine control keys in DCL?

The DCL DEFINE/KEY command allows you to define function and keypad
keys, but not control keys.  Also, keys you define with DEFINE/KEY are
not recognized inside applications.  Many applications which use the
SMG$ routines for input have a similar DEFINE/KEY feature.

The terminal driver line-editing control keys, including the use of DEL
for delete, are not modifiable.

------------------------------------------------------------
DCL3.   How can I clear the screen in DCL?

The simplest way is the TYPE/PAGE NLA0: command.

You can set up a symbol to clear the screen in your LOGIN.COM:

$ CLS :== TYPE/PAGE NLA0:

------------------------------------------------------------
DCL4.   How do I do a REPLY/LOG in a batch stream?

Your terminal must be enabled as an operator terminal before doing the
REPLY/LOG, but a batch stream doesn't have a terminal.  To make this
work, use the following sequence to enable the OPA0: console as the
operator terminal; then the REPLY/LOG will be accepted:

  $ DEFINE/USER SYS$COMMAND _OPA0:
  $ REPLY/LOG
  $ DEFINE/USER SYS$COMMAND _OPA0:
  $ REPLY/ENABLE

To disable the system console terminal (OPA0:) as an operator terminal,
use the following command:

  $ DEFINE/USER SYS$COMMAND _OPA0:
  $ REPLY/DISABLE

Also see SYLOGICALS.COM (and SYLOGICALS.TEMPLATE) for information
on configuring the behaviour of OPCOM, including the use of the
system console (OPA0:) as an operator and the specific contents and
behaviour of the system operator log file OPERATOR.LOG.
                        [Arne Vajhxj]
                        [Stephen Hoffman]

------------------------------------------------------------
DCL5.   How do I generate a random number in DCL?

Here's my random number generator for inclusion into the OVMS FAQ;
just do a GOSUB RAND and the global symbol RANDOM will contain a
randomly generated number.  The user/programmer can feed the generator
a ceiling value (__CEIL) or a new seed (__SEED).

$! RAND - returns a positive random number ("RANDOM") between 0 and
$!        __CEIL - 1.
$ RAND:
$
$ IF F$TYPE(__SEED) .EQS. ""
$ THEN
$     ! seed the random number generator, ...
$     __NOW = F$CVTIME()
$     __HOUR = 'F$EXTRACT(11,2,__NOW)'
$     __MINUTE = 'F$EXTRACT(14,2,__NOW)'
$     __SECOND = 'F$EXTRACT(17,2,__NOW)'
$     __TICK = 'F$EXTRACT(20,2,__NOW)'
$
$     __SEED == __TICK + (100 * __SECOND) + (6000 * __MINUTE) + -
         (360000 * __HOUR)
$     ! the generator tends to do better with a large, odd seed, ...
$     __SEED == (__SEED .OR. 1)
$     ! clean up, ...
$     DELETEX/SYMBOL __NOW
$     DELETEX/SYMBOL __HOUR
$     DELETEX/SYMBOL __MINUTE
$     DELETEX/SYMBOL __SECOND
$     DELETEX/SYMBOL __TICK
$ ENDIF
$
$ IF F$TYPE(__CEIL) .EQS. "" THEN __CEIL = %X3FFFFFFF
$
$ __SEED == __SEED * 69069 + 1
$
$ RANDOM == (__SEED.AND.%X3FFFFFFF)/(%X40000000/__CEIL)
$
$ RETURN
                    [sharris@sdsdmvax.fb3.noaa.gov]

------------------------------------------------------------
DCL6.   What does the MCR command do?

The MCR command runs the specified image, with a default filespec of
SYS$SYSTEM:.EXE, and passes any (optional) command line arguments in the
same manner as a foreign command.  In other words:

    $ MCR FOO BAR

is equivalent to:

    $ FOO :== $FOO
    $ FOO BAR

It derives from the RSX operating system from which VMS evolved and is
still often used as a shortcut for activating images.  The MCR command is
different from the MCR command line interpreter, which is provided as part
of the optional VAX-11 RSX product that provides RSX emulation under VMS.

------------------------------------------------------------
DCL7.   How do I change the OpenVMS system prompt?

You can use the SET PROMPT command for this purpose.  SET PROMPT sets the DCL
prompt to the specified string.

When you want to display variable information, you will need to establish a
tie-in that provides the information to the SET PROMPT command as required.

If you wish to display the default directory for instance, you will have to
establish a tie between the SET DEFAULT command and the SET PROMPT commands,
as there is no direct way to get the default directory as the DCL prompt.  You
can easily acquire or create a set of DCL command procedures that perform the
SET DEFAULT and SET PROMPT for you.  These DCL command procedures often use a
command such as:

  $ set prompt='f$env("default")'

More advanced users could implement a system service or other intercept, and
use these tools to intercept the directory change and reset the prompt
accordingly.  (This approach likely involves some kernel-mode programming, and
requires write access to various undocumented OpenVMS data structures.)

There are related tools available from various sources, including the
following web sites:

  o ftp://ftp.hhs.dk/pub/vms/setpmt/

  o ftp://ftp.tmesis.com/sys_service_hook.src

  o James F. Duff has also made available a Macro32 tool known as
    TIME_PROMPT, a tool that sets the prompt to the current system time.

  o Many folks have contributed DCL procedures to perform this task.
    Visit the newsgroup archives for information and examples.

Information in this section has been acquired from various postings that
have discussed this topic in the comp.os.vms newsgroup in the past, and
examples from Arne Vajhoej, Brian Schenkenberger, James Duff, and others.

                [Stephen Hoffman]

------------------------------------------------------------
DCL8.   Can I do DECnet task-to-task communication with DCL?

Yes, you can do this with DCL.

The OpenVMS DECnet documentation shows various simple examples using the
task object and the TYPE command to trigger the execution of a DCL command
procedure on a remote node.  A slightly more advanced example of using DCL
for DECnet task-to-task -- a procedure that acts as both the client and as
the server as appropriate, and that uses a basic form of half-duplex
communications -- is included:

        $! x.com
        $
        $! This procedure must be in the user's login directory.
        $! Requires a self-referential (not reverential :-) proxy:
        $!    UAF> add/prox <LocalNode>::<CurrentUser> <CurrentUser>/default
        $! Author: Stephen Hoffman, OpenVMS Engineering, Compaq
        $
        $ goto 'f$mode()'
        $INTERACTIVE:
        $ open/read/write chan 0::"task=x"
        $ write chan "Hello"
        $ read chan parameter
        $ close chan
        $ write sys$output parameter
        $ exit
        $BATCH:
        $OTHER:
        $NETWORK:
        $ open/read/write chan sys$net
        $ read chan parameter
        $ write chan "''parameter' yourself!"
        $ close chan
        $ exit

  An example of a run of the above procedure:

        $ @x
        Hello yourself!
        $


DCL does not include support asynchronous I/O, thus a predetermined protocol
or a predetermined "turn-around" command sequence must be implemented in
order to avoid protocol deadlocks -- cases where both tasks are trying to
write or both tasks are trying to read.  The task that is writing messages
to the network must write (or write and read) a predetermined sequence of
messages, or it must write a message that tells the reader that it can now
start writing messages.  (This is the essence of a basic half-duplex network
protocol scheme.)
                    [Stephen Hoffman]

------------------------------------------------------------
FILE1.  How can I undelete a file?

OpenVMS doesn't have an "undelete" function.  However, if you are quick
to write-protect the disk (or if you can guarantee that no new files get
created or existing files extended), your data is still on the disk
and it may be possible to retrieve it.  The FLORIAN tool available from
the WKU Fileserver claims to be able to do this (see question SOFT1.)
Other alternatives here include the DFU tool, available on the OpenVMS
Freeware CD-ROM distribution.

If you are setting up a user environment for yourself or for others, it
is quite easy to use DCL to intercept the DELETE command, using a symbol:

  $ DEL*ETE :== @SYS$LOGIN:MYDELETE.COM

The DELETE symbol will cause the procedure to be invoked whenever the user
enters the DELETE command, and it can copy the file(s) to a "trashcan"
subdirectory before issuing a "real" DELETE on the files.  Other procedures
can retrieve the file(s) from the "trashcan" subdirectory, and can (and
should) clean out the "trashcan" as appropriate.  (Realize that this DELETE
symbol can interfere with DELETE/GLOBAL and other similar DCL commands.)
                    [Stephen Hoffman]

------------------------------------------------------------
FILE2.  Why does SHOW QUOTA give a different answer than DIR/SIZE?

DIR/SIZE doesn't take into account the size of file headers which are
charged to your quota.  Also, unless you use DIR/SIZE:ALL, you'll see only
the "used" size of the file, not the allocated size which is what gets
charged against your quota.  Also, you may have files in other directories.
                    [Steve Lionel]

$ DIR/SIZ=ALL/GRAND [username...]

Grand total of D1 directories, F1 files, B1/B2 blocks.

$ DIR/SIZ=ALL/GRAND [-]username.DIR

Grand total of 1 directory, 1 file, B3/B4 blocks.

$ SHOW QUOTA
  User [username] has B5 blocks used, B6 available,
  of B7 authorized and permitted overdraft of B8 blocks on disk

If the user has no files in other directories and all file-headers are
only 1 block, then the following should apply:

  B5=B2+B4+F1+1

If the diskquota is out of synch, then the system-manager can make a rebuild.
                    [Arne Vajhxj]

Also be aware that the DIRECTORY/SIZE command can report larger values
than might otherwise be expected when used to evaluate files and/or
directories that are alias links -- such as the system roots on OpenVMS
system disks -- as the command reports a total that is cumulative over
all of the files and directories examined, without regard for which ones
might be alias entries and which are not.  (In other words, a DIRECTORY/SIZE
of an entire OpenVMS system disk will report a disk useage value larger than
the (usually more accurate) value reported by the SHOW DEVICE command.  This
as a result of the alias entries linking each SYS$SYSDEVICE:[SYSCOMMON]SYS*.DIR
directory file and the SYS$SYSDEVICE:[000000]VMS$COMMON.DIR file together.)

------------------------------------------------------------
FILE3.  How do I make sure that my data is safely written to disk?

If your application must absolutely guarantee that data is available,
no matter what, there's really no substitute for RMS Journalling.  However,
you can achieve a good degree of data integrity by issuing a SYS$FLUSH RMS
call at appropriate times (if you're using RMS, that is.)  If you're
using a high-level language's I/O system, check that language's documentation
to see if you can access the RMS control blocks for the open file.  In
C you can use fflush followed by fsync.  Note that fsync, which was
undocumented for VAX C but is documented for DEC C, takes a file descriptor
as an argument, not a *FILE.

------------------------------------------------------------
FILE4.  What are the limits on file specifications and directories?

A file specification has an aggregate maximum size of 255 characters at
present.  The node and device specification may be up to 255 characters each -
file name and file types may be up to 39 characters each.  File versions are
from 1 through 32767, though 0 (latest version), -0 (oldest version) and -n
(n'th previous version) can be used in most contexts.  A file specification
may not have more than 8 directories and subdirectories - while it is possible
to create subdirectories of greater depth, accessing them is problematic in
most cases and this should be avoided.

Application developers should use OpenVMS-supplied routines for parsing
file specifications - this ensures that changes in what is allowable will
not tend to break your application.  Consider that various parts of the
file specification may contain quoted strings with embedded spaces and
other punctuation!  Some routines of interest are SYS$FILESCAN, SYS$PARSE
and LIB$TRIM_FILESPEC.  For further information, see the OpenVMS Guide to
File Applications.

------------------------------------------------------------
FILE5.  What is the largest disk volume size OpenVMS can access?

One Terabyte (2**31 blocks of 2**9 bytes).  Prior to the release of V6.0, the
OpenVMS file system was limited to disk volumes of 8.5 GB (2**24 blocks) or
less.

On some systems, there are restrictions in the console program that limit the
size of the OpenVMS system disk.  Note that data disks are not affected by
console program limits.  For example, all members of the VAXstation 3100
series are limited to a system disk to 1.073 GB or less due to the console,
though larger data disks are possible.

Some SCSI disks with capacities larger than 8.6 gigabytes (GB) will
require the use of an OpenVMS ECO kit (eg: ALPSCSI04_062 or later) for
new SCSI device drivers.  Failure to use this ECO can cause "rounding
errors" on the SCSI disk device capacity -- OpenVMS will not use nor
display the full capacity of the drive -- and  "%sysinit-e-error mounting
system device status equals 000008C4" (8C4 -> "%SYSTEM-?-FILESTRUCT,
unsupported file structure level") errors during bootstrap.  (One
workaround for the bootstrap when the bitmap is located far into the
disk is the use of INIT/INDEX=BEGIN.)  The problem here involves the
particular extensions and fields used for larger capacity disks within
the SCSI specifications and within the various intepretations of same.
                    [Stephen Hoffman]

------------------------------------------------------------
FILE6.  What is the maximum file size, and the RMS record size limit?

RMS can store individual files of a size up to the maximum supported
volume size.  Under OpenVMS V6.0 and later, the volume size and the RMS
maximum file size limit is 2**31 * 512 bytes -- one terabyte (1 TB).

The RMS formats -- sequential, relative, and indexed -- are limited by
the one terabyte maximum volume size.  RMS relative files are further
limited to a number of records that will fit in 32 bits -- 4 billion
records.   Sequential and indexed formats do not have a record limit.

Also see PROG14.
                    [Stephen Hoffman]

------------------------------------------------------------
FILE7.  How do I write recordable CD media (CD-R) on OpenVMS?

Creation of CD-ROMs using recordable CD media (CD-R) under OpenVMS
typically involves one of two approaches: the use of the optional
CD-R (`Scribe') capabilities available for the InfoServer or other
"offline" hardware packages, or the use of a host-based package such
as the CDWRITE13_VMS utility, an OpenVMS port of a Linux tool.

OpenVMS has no integrated support for recording CD-R media.

OpenVMS can read both ODS2 and ISO9960 format CD-ROMs.

InfoServer hardware configurations are no longer availble from DIGITAL,
but may potentially be acquired through other means.

The CDWRITE13_VMS package is one example of a host-based package that
can be used to create CD-R media.  The contact for CDWRITE13_VMS is
Dr. Eberhard Heuser-Hofmann.  One website that discusses this package
is located at:

  http://www.geocities.com/SiliconValley/Lakes/9999/vmscdwri.html

Also see the newest linux-cdwrite package, XCDROAST.

Additional information is available via David J. Dachtera at:

  http://home.earthlink.net/~djesys/vms/cdrom.html

Also see:

  http://www.cd-info.com/CDIC/Technology/CD-R/vms.html

  http://www.faqs.org/faqs/cdrom/cd-recordable/part1/preamble.html
 

                                          [Stephen Hoffman]

------------------------------------------------------------
FILE8.  What I/O transfer size limits exist in OpenVMS?

The maximum transfer size is an attribute of the particular I/O device,
controller and driver combination; there is no inherent limit imposed
by OpenVMS (other than the fact that, today, byte counts and LBNs are
generally limited to 32 bits).

The maximum size of a device I/O request is limited by the value in
UCB$L_MAXBCNT, which is set by the device driver based on various
factors.  (Also check the setting of the MAXBUF system parameter for
buffered I/O transfers, and check the process quotas.)

Currently, SCSI drivers limit I/O transfers to FE00(16) bytes, 65024
bytes (decimal).  The reasons for this transfer size limitation are largely
historical.  Similarly, DSSI devices are limited to the same value,
this for hardware-specific reasons.  Transfers to HSC and HSJ device
controllers via the CI are limited to 1,048,576 bytes.  Client MSCP-served
devices are limited to 65535 bytes -- to help ensure that the I/O
fragmentation processing happens on the client and not on the server
system.

Parts of the OpenVMS I/O subsystem are optimized for data transfers less
than 64KB, because (obviously) most I/O operations are (substantially)
less than that.  OpenVMS can handle larger transfers, if the driver and
the device can handle it.

Also see FILE1

                                        [John Croll]

[End of Part 2/3]

 --------------------------- pure personal opinion ---------------------------
   Hoff (Stephen) Hoffman   OpenVMS Engineering   hoffman#xdelta.zko.dec.com




Article 31992 of comp.os.vms:
Path: mailint03.im.hou.compaq.com!not-for-mail
From: hoffman@xdelta.zko.dec.nospam (Hoff Hoffman)
Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers
Subject: OpenVMS Frequently Asked Questions (FAQ), Part 3/3
Followup-To: poster
Date: 29 Nov 1999 20:09:41 GMT
Organization: Compaq Computer Corporation
Lines: 2057
Approved: news-answers-request@mit.edu
Distribution: world
Expires: 29 April 2000 00:00:00 GMT
Message-ID: <81umi5$m0j$2@mailint03.im.hou.compaq.com>
References: <81umfc$m0j$1@mailint03.im.hou.compaq.com>
Reply-To: hoffman@xdelta.zko.dec.nospam
NNTP-Posting-Host: xdelta.zko.dec.com
X-Trace: mailint03.im.hou.compaq.com 943906181 22547 16.32.80.251 (29 Nov 1999 20:09:41 GMT)
X-Complaints-To: usenet@mailint03.im.hou.compaq.com
NNTP-Posting-Date: 29 Nov 1999 20:09:41 GMT
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.
Supercedes: <7u7srb$9e6$3@mailint03.im.hou.compaq.com>
Xref: mailint03.im.hou.compaq.com comp.os.vms:31992 comp.sys.dec:7969 vmsnet.alpha:86 vmsnet.misc:26 comp.answers:3436 news.answers:18891




Archive-name: dec-faq/vms/part3
Posting-Frequency: monthly
Last-modified: 29 November 1999
Version: VMS-FAQ-3.TXT(3)

Overview
========
This is part 3/3 of the Frequently Asked Questions (FAQ) posting for
the comp.os.vms and vmsnet.misc newsgroups.  (comp.os.vms is
bidirectionally-gatewayed to the INFO-VAX mailing list - see INTRO3
for further details.)  It contains answers to frequently asked
questions about Compaq's OpenVMS operating system and the computer
systems on which it runs.  (Please see INTRO5 before posting.)

This FAQ is archived in the following locations:
    comp.answers and news.answers newsgroups
    ftp://ftp.digital.com/pub/Digital/dec-faq/OpenVMS.txt
    ftp://ftp.digital.com/pub/Digital/dec-faq/vms
    ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms

Other FAQs are generally available in these locations:
    comp.answers and news.answers newsgroups
    ftp://rtfm.mit.edu/pub/usenet/...

User-created HTML versions of the FAQ are located at:
    http://www.kjsl.com/vmsfaq
    http://eisner.decus.org/vms/faq.htm

Please do NOT send technical questions to the Frequently Asked Questions
(FAQ) editor -- well, please do not email any questions that do not also
include the answer(s).  Please post these questions to the appropriate
newsgroup instead -- and see INTRO5 before posting.  To make suggestions
for changes or additions to this FAQ list, please send mail to the FAQ
editor at hoffman@xdelta.zko.dec.com.  Again, the FAQ editor is *not* in
a position to answer general questions.

Some general notes:

The term "VMS" is synonymous with "OpenVMS".  "Alpha", "AlphaGeneration" or
"AXP" generally refers to any system or product based on or related to
Compaq's Alpha processor architecture.  OpenVMS manual names mentioned are
those as of V7.2 -- names may be different in other editions of the
documentation set.

World-Wide Web Universal Resource Locator (URL) notation is used for FTP
addresses.

Many people have contributed to this list, directly or indirectly.  In
some cases, an answer has been adapted from one or more postings on the
comp.os.vms newsgroup.  Our thanks to all of those who post answers.
The name (or names) at the end of an entry indicate that the information
was taken from postings by those individuals; the text may have been
edited for this FAQ.  These citations are only given to acknowledge the
contribution.

Although the editor of this FAQ is an employee of Compaq's Digital
Equipment Corporation subsidiary, this posting is not an official
statement of either Compaq or Digital Equipment Corporation.

AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation,
DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of Digital Equipment
Corporation.  Compaq and the names of Compaq products are trademarks and/or
registered trademarks and/or service marks of Compaq Computer Corporation.
OSF/1 is a registered trademark of the Open Software Foundation.  UNIX is
a registered trademark in the United States and other countries, licensed
exclusively through X/Open Company Ltd.  Other names are properties of their
respective owners.


Table of Contents - Part 3/3
____________________________

Programming
========================================
PROG1.  How do I call <routine_name> from <language_name>?
PROG2.  How do I get the arguments from the command line?
PROG3.  How do I get a formatted error message in a variable?
PROG4.  How do I link against SYS$SYSTEM:SYS.STB on an Alpha system?
PROG5.  How do I do a SET DEFAULT from inside a program?
PROG6.  How do I create a shareable image transfer vector on an Alpha system?
PROG7.  How do I turn my Fortran COMMON into a shareable image on Alpha?
PROG8.  How do I convert between IEEE and VAX floating data?
PROG9.  How do I get the argument count in a Fortran routine?
PROG10. How do I get a unique system ID for licensing purposes?
PROG11. What is an executable, shareable, system or UWSS image?
PROG12. How do I do a file copy from a program?
PROG13. What is a descriptor?
PROG14. How many bytes are in a disk block?
PROG15. How many bytes are in a memory page?
PROG16. How do I create a process under another username?
PROG17. Why do lib$spawn, lib$set_symbol fail in detached processes?
PROG18. Where can I obtain Bliss, and the libraries and supporting files?
PROG19. How can I open a file for shared access?


DECwindows
========================================

DECW1.  How do I let someone else display something on my workstation?
DECW2.  How do I create a display on another workstation?
DECW3.  How can I get the information from SHOW DISPLAY into a symbol?
DECW4.  How do I get a log of a DECterm session?
DECW5.  Problem - the DELETE key deletes forward instead of backward!
DECW6.  Problem - On a DEC2000-300, Motif doesn't start
DECW7.  Problem - My LK401 keyboard unexpectedly autorepeats
DECW8.  Problem - My LK411 sends the wrong keycodes or some keys are dead
DECW9.  How do I set the title on a DECterm window?
DECW10. How do I customize DECwindows, including the login screen?
DECW11. Why doesn't XtAppAddInput() work on OpenVMS?

Miscellaneous
========================================
MISC1.  Looking for connector wiring pinouts?
MISC2.  Where can I find information on escape and control sequences?
MISC3.  Can I reuse old keyboards, mice and monitors with a PC?
MISC4.  What connectors and wiring adapters are available?
MISC5.  Where can I find performance info and specs for older systems?
MISC6.  What does "failure on back translate address request" mean?
MISC7.  How to determine the network hardware address?
MISC8.  Why does my system halt when I powercycle the console terminal?
MISC9.  Why can't I use PPP and RAS to connect to OpenVMS Alpha?
MISC10. Which video monitor works with which graphics controller?
MISC11. Where can I get information on storage hardware?
MISC12. Does DCPS work with the LRA0 parallel port?
MISC13. How do I check for free space on a (BACKUP) tape?

Software
========================================
SOFT1.  Where can I find freeware/shareware software for OpenVMS?
SOFT2.  Where can I find the UNIX <whatever> tool for OpenVMS?
SOFT3.  Where can I get the Netscape Navigator Mozilla.org Web Browser?
SOFT4.  Where can I get Java for OpenVMS?
SOFT5.  VAX C and DEC C, and other OpenVMS C Programming Considerations?


------------------------------------------------------------
PROG1.  How do I call <routine_name> from <language_name>?

Most OpenVMS system services and RTL routines pass string arguments by
descriptor.  Languages which support native string data types create
descriptors automatically; those which do not (eg., C) require that you set
them up explicitly.
                    [eric@tardis.HQ.ileaf.com]

There is a lot of information available on how to call system services
and Run-Time Library routines, including examples in numerous languages.
The best references are:

    Your language's User Manual
    OpenVMS Programming Environment Manual
    OpenVMS Programming Concepts Manual
    OpenVMS Programming Interfaces: Calling a System Routine
    OpenVMS Calling Standard

In addition, if you are a subscriber to the Digital Software Information
Network (available to those with a software support contract), the DSIN
database contains hundreds of worked examples of calling system services
and RTL routines, including the one that seems to trip up almost everyone,
SMG$CREATE_MENU.
                    [Steve Lionel]

Arne Vajhxj has put together a collection of OpenVMS example programs.
It can be found at:
  ftp://ftp.hhs.dk/pub/vms/
                    [Arne Vajhxj]

Additional information and examples for OpenVMS (as well as for UNIX and
Windows NT) are available via:

  http://www.partner.digital.com/www-swdev/pages/Home/TECH/techsupport.html
  http://www.partner.digital.com/www-swdev/pages/Home/TECH/faqs/dunix/dunix.html
  http://www.partner.digital.com/www-swdev/pages/Home/TECH/faqs/ovms/ovms.html
  http://www.partner.digital.com/www-swdev/pages/Home/TECH/faqs/wnt/wnt.html

                    [Stephen Hoffman]

------------------------------------------------------------
PROG2.  How do I get the arguments from the command line?

If you're writing a program and want to accept arguments from a foreign
command, you can use LIB$GET_FOREIGN to get the command line and parse
it yourself, or if you're programming in C, use the normal argc/argv
method.

To write an application which uses the normal DCL verb/qualifier/parameter
syntax for invocation, see the description of the CLI$ routines in the
OpenVMS Callable Utility Routines Reference Manual.

It is possible to write an application which can be used both ways; if a
DCL verb isn't used to invoke the image, the application parses the command
line itself.  One way to do this is to call CLI$GET_VALUE for a required
parameter.  If it is not present (or you get an error), call
LIB$GET_FOREIGN to get the command line and do the manual parse.

See also question DCL1.

------------------------------------------------------------
PROG3.  How do I get a formatted error message in a variable?

Use the SYS$PUTMSG system service with an action routine that stores
the message line(s) in the variable of your choice.  Be sure the action
routine returns a "false" (low bit clear) function value so that SYS$PUTMSG
doesn't then try to display the message (unless you want it to.)  See the
description of $PUTMSG in the System Services Reference Manual for an
example of using an action routine.

------------------------------------------------------------
PROG4.  How do I link against SYS$SYSTEM:SYS.STB on an Alpha system?

LINK/SYSEXE is the OpenVMS Alpha equivalent of linking against SYS.STB.

------------------------------------------------------------
PROG5.  How do I do a SET DEFAULT from inside a program?

The problem is that SYS$SETDDIR only changes the default directory - NOT
the default disk. The default disk is determined by the logical SYS$DISK.
If you want to change the default disk within a program, then call
LIB$SET_LOGICAL to change the logical SYS$DISK. You will need to call both
LIB$SET_LOGICAL and SYS$SETDDIR to change both default disk and the default
directory!
                    [Arne Vajhxj]   

------------------------------------------------------------
PROG6.  How do I create a shareable image transfer vector on an Alpha system?

This is something that was greatly simplified for OpenVMS Alpha.  You don't
need to create a separate transfer vector module; just use the SYMBOL_VECTOR
statement in a linker options file.  For example, if your shareable image
has two routines named FOO and BAR, the linker options file should contain
the following line:

    SYMBOL_VECTOR=(FOO=PROCEDURE, BAR=PROCEDURE)

The Linker manual has more details on this.

------------------------------------------------------------
PROG7.  How do I turn my Fortran COMMON into a shareable image on Alpha?

You need to add SYMBOL_VECTOR=(<common-name>=PSECT) to your options file.  On
OpenVMS VAX all OVR/REL/GBL psects were automatically exported into the
shareable image's Global Symbol Table.  On OpenVMS Alpha you have to tell the
linker that you want this done by means of the PSECT keyword in the
SYMBOL_VECTOR options file statement.

This has several advantages over OpenVMS VAX.  First, you don't have to worry
about the address of the psect when you try to create a new, upwardly
compatible version of the shareable image. Second, you can control which
psects, if any, are made visible outside the shareable image.

By default, COMMON PSECTs in DEC Fortran for OpenVMS Alpha (as well as most
other OpenVMS Alpha compilers) are NOSHR.  On VAX, the default was SHR which
required you to change the attribute to NOSHR if you wanted your COMMON
to be in a shareable image but not write-shared by all processes on the
system.  If you do want write-sharing, use:
    CDEC$ PSECT common-name=SHR
in the Fortran source code (the CDEC$ must be begin in column 1) or a linker
options file PSECT_ATTR statement to set the COMMON PSECT attribute to SHR.

For further information, see the Linker manual.

------------------------------------------------------------
PROG8.  How do I convert between IEEE and VAX floating data?

In OpenVMS V6.1 there is a routine CVT$CONVERT_FLOAT, documented in the
LIB$ Run-Time Library Reference Manual, which can perform conversions
between any two of the following floating datatypes: VAX (F,D,G,H),
little-endian IEEE (single, double, quad), big-endian IEEE (single, double,
quad), CRAY and IBM System\370.

DEC Fortran (all platforms) has a feature which will perform automatic
conversion of unformatted data during input or output.  See the DEC Fortran
documentation for information on "non-native data in I/O" and the
CONVERT= OPEN statement keyword.

For further floating-point related information, see:

  ftp://ftp.hhs.dk/pub/vms/collection/ieee.zip

------------------------------------------------------------
PROG9.  How do I get the argument count in a Fortran routine?

On VAX, many programmers would use a MACRO routine which accessed the
AP register of the caller to get the address of the argument list and
hence the argument count.  This was not guaranteed to work on VAX, but
usually did.  However, it doesn't work at all on OpenVMS Alpha, as there
is no AP register.  On Alpha systems, you must use a language's built-in
function to retrieve the argument count, if any.  In Fortran this is
IARGCOUNT, which is also available in DEC Fortran on OpenVMS VAX.

Note that omitting arguments to Fortran routines is non-standard and is
unsupported.  It will work in many cases - read the DEC Fortran release
notes for additional information.

------------------------------------------------------------
PROG10. How do I get a unique system ID for licensing purposes?

Many software developers desire to use a unique hardware ID to "lock" a
given copy of their product to a specific system.  Most Digital VAX and
Alpha systems do not have a unique hardware-set "system ID" that can be
used for this purpose.  Digital does not use hardware IDs in its licensing
methods and many users consider a hardware-based licensing scheme to be
a negative attribute when considering software purchases.

Digital uses a software-based system called the License Management Facility
or LMF.  This provides for software keys (Product Authorization Keys or PAKS)
which support capacity and user-based license checking.  Digital sells
the DEC LMF PAK Generator for OpenVMS (SPD 31.68.03) for use by software
vendors.

However, if a hardware-based method is required, the most common method is
based on an Ethernet adaptor hardware address.  Sample source code for
implementing this is available at:

  http://www.partner.digital.com/www-swdev/pages/Home/TECH/faqs/ovms/ovms.html

------------------------------------------------------------
PROG11. What is an executable, shareable, system or UWSS image?

   Executable code in OpenVMS typically resides in an image -- an
   image is a file -- the file extension is typically .EXE -- that
   contains this code.  Common types of images include executable
   images, shareable images, system images, and protected (UWSS)
   images.

   Executable images are programs that can be directly executed.
      These images can grant enhanced privileges, with an INSTALL
      of the image with /PRIVILEGE, or can grant enhanced access
      with the specification of a subsystem identifier on the ACL
      associated with the image.

   Shareable images contain code executed indirectly, these images
       are referenced from executable images and/or from other
       shareable images.  These images can not grant enhanced
       privileges, even with the use of INSTALL with /PRIVILEGE
       or a subsystem identifier.  These shareable images can be
       dynamically activated (a LINK that occurs at run-time) via
       the LIB$FIND_IMAGE_SYMBOL run-time library (RTL) routine.
       (See `protected images' for information on `privileged
       shareable images'.)

   System images are intended to run directly on the VAX or Alpha
       hardware -- these are normally used for the kernel code
       that comprises an operating system.

   Protected images -- also refered to as User-Written System Services
       (UWSS), or as privileged shareable images -- are similiar in
       some ways to a standard shareable images, but these images
       include a `change mode' handler, and execute in an `inner'
       processor mode (privileged mode; executive or kernel), and
       code executing in inner modes has implicit SETPRV privilege.
       Must be INSTALLed with /PROTECT.  Note that inner-mode code
       has restrictions around calling library routines, around
       calling various system services, and around calling code
       located in other protected or shareable images.

   Loadable images and device drivers are images that can be used
   to add code into the OpenVMS kernel.  Pseudo-device drivers
   are a particularly convenient way to add executable code, with
   associated driver-defined data structures, into the kernel.
   The pseudo-device driver includes the UCB and DDB data structures,
   and a calling interface with support for both privileged and
   unprivileged access to the driver code via sys$qio[w] calls.

   A cookbook approach to creating OpenVMS shareable images is
   available at the (admittedly overly long) URL:

     http://www.partner.digital.com/www-swdev/pages/Home
     /TECH/faqs/ovms/ovms-shexe-cook.html

                    [Stephen Hoffman]

------------------------------------------------------------
PROG12. How do I do a file copy from a program?

There are several options available for copying files from within a program.
Obvious choices include using lib$spawn(), system(), sys$sndjbc() or
sys$creprc() to invoke a DCL COPY command.  Other common alternatives include
using the callable convert routines and the BACKUP application programming
interface (V7.1 and later).

                    [Stephen Hoffman]

------------------------------------------------------------
PROG13.  What is a descriptor?

A descriptor is a data structure that describes a string or an array.  Each
descriptor contains information that describes the type of the data being
referenced, the size of the data, and the address of the data.  It also
includes a description of the storage used for the data, typically static
or dynamic.   Descriptors are passed by reference.

The following are examples of creating and using descriptors in C:

    #include <descrip.h>
    #include <lib$routines.h>
    #include <stsdef.h>
    int RetStat;
    char TxtBuf[TXTSIZ]
    struct dsc$descriptor StaticDsc =
      { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
    struct dsc$descriptor DynDsc =
      { 0, DSC$K_DTYPE_T, DSC$K_CLASS_D, NULL };
    int DynDscLen = 255;
    $DESCRIPTOR( ConstDsc, "This is a string" );

    /* finish setting up a static descriptor */
    StaticDsc.dsc$w_length      = TXTSIZ;
    StaticDsc.dsc$a_pointer     = (void *) TxtBuf;

    /* finish setting up a dynamic descriptor */
    RetStat = lib$sget1_dd( &DynDscLen, &DynDsc );
    if ( !$VMS_STATUS_SUCCESS( RetStat ) )
      return RetStat;

    /* release the dynamic storage */
    RetStat = lib$sfree1_dd( &DynDsc );
    if (!$VMS_STATUS_SUCCESS( RetStat ))
      return RetStat;

Static descriptors reference storage entirely under application program
control, and the contents of the descriptor data structure can be modified
as required (by the application).  OpenVMS routines do not modify the
contents of a static descriptor, nor do they alter the address or length
values stored in the static descriptor.  (The term "static" refers to the
descriptor data structure, and not necessarily to the storage referenced
by the descriptor.)

Dynamic descriptors reference storage under the control of the run-time
library, and the contents of a dynamic descriptor data structure -- once
initialized -- can only be modified under control of run-time library
routines.  The dynamic storage referenced by the dynamic descriptor is
allocated and maintained by the run-time library routines.  Various
OpenVMS routines do alter the contents of the descriptor data structure,
changing the value for the amount and the address of the storage associated
with the dynamic descriptor, as required.  Routines can obviously access
and alter the contents of the storage referenced by the descriptor.

OpenVMS languages that include support for strings or arrays are expected
to use descriptors for the particular structure.  Most OpenVMS languages,
such as Fortran and BASIC, use descriptors entirely transparently.  Some,
like DEC C, require the programmer to explicitly create and maintain the
descriptor.

For further information on string descriptors, see the _OpenVMS Programming
Concepts_ manual, part of the OpenVMS documentation set.

                    [Stephen Hoffman]

------------------------------------------------------------
PROG14.  How many bytes are in a disk block?

A disk block is the minimum unit of disk storage allocation in OpenVMS.

Under OpenVMS VAX and OpenVMS Alpha, the disk volume block size is
consistent, with each block containing 512 bytes.

The minimum disk allocation granularity actually permissible (in the
ODS-2 and ODS-5 volume structures commonly used on OpenVMS) is determined
on a per-volume basis, and is typically based on a combination of the
total number blocks on the disk volume and the total size of the volume
storage bitmap.  The allocation granularity is known as the volume cluster
factor -- the cluster factor is the number of blocks in a disk cluster,
and it is the smallest number of blocks that can be allocated on a
particular disk volume.

Prior to OpenVMS V7.2, the  maximum permissible size of the bitmap
requires larger cluster factors as volume sizes increase.  Starting
with V7.2, the bitmap can be larger, and cluster factors as small as
one block can be used.

The number of bytes in a file can be determined by multiplying the
number of blocks allocated for the file times the number of bytes in
a block.  For sequential files (only), the FFB (XAB$W_FFB, in the
File Header XAB) value can be used to find out how much of the last
(XAB$L_EBK) block is used.  FFB and EBK are meaningful only for
sequential files, and only in a limited context -- partial block
allocations are not permitted.  For other file formats, the EOF marker
is not meaningful.

Disk allocations always occur only in units of the cluster factors,
which can be from one block up to (potentially) clusters of eighteen
blocks or more, depending on the volume cluster factor.

OpenVMS assumes that the device driver and the underlying storage device
will present the file system with addressable units of storage of 512
bytes in size, or the appearance of same.  Various third-party CD-ROM
devices, for instance, support only 2048 byte blocks, and such devices
are incompatible with the standard OpenVMS device drivers.

To determine the number of bytes required for a file from DCL, one
option uses the f$file_attributes item EOF, multiplied by the size
of a block in bytes (512).  This does not account for the unused
space in the last block of a sequential file, but it also does not
have to differentiate sequential files from other files.

                    [Stephen Hoffman]

------------------------------------------------------------
PROG15. How many bytes are in a memory page?

A memory page is the minimum unit of memory allocation in OpenVMS.
With OpenVMS VAX, the memory page size matches the disk block size:
it is always 512 bytes.

With OpenVMS Alpha, the memory page size is variable, and it can range
from 8192 bytes (8 kilobytes) up to 64 kilobytes.  The current system
page size can be determined using the sys$getsyi or f$getsyi PAGE_SIZE
item.  Programs with hardcoded constants for the memory page size (or
page alignment) should always assume a page size of 64 kilobytes.

On OpenVMS Alpha, a 512 byte area of memory -- equivilent in size to
an OpenVMS VAX memory page -- is refered to as a pagelet.

                    [Stephen Hoffman]

------------------------------------------------------------
PROG16. How do I create a process under another username?

Many server processes can operate within the context of the target user
using privileges, using calls such as sys$chkpro and (more commonly in
this context) sys$check_access as needed to determine if access would be
permitted for the specified user within the current security model.

With OpenVMS V6.2 and later, the persona system services (SYS$PERSONA_*)
can be used to assume the persona of the specified user -- these allow the
server to operate as the specified user, in a controlled fashion.  The
persona services can be used as a "wrapper" around a sys$creprc process
creation call, as well -- this will create a seperate process entirely
under the assumed persona.

Information on the persona system services is included in the OpenVMS
V6.2 new features documentation, and in the OpenVMS V7.1 and later system
services documentation.  These system services exist and are supported in
OpenVMS V6.2 and later releases.

Typical mechanisms for creating a process under another username include:

    o personna services around a sys$creprc call.  See above.
    o via DECnet task-to-task, using explicit specification of
      username and password, or using a DECnet proxy.
      This creates a network-mode job under the target user.
      The network-mode job might do little more than a RUN/DETACH
      of an image passed in via task-to-task -- task-to-task
      communications are fully available using strictly DCL-to-DCL
      processing, or using a compiled language and DCL, etc.)
    o SUBMIT/USER, or the username argument on the sys$sndjbc call.
      This creates a batch-mode job under the specified username.
      The batch-mode job might do little more than a RUN/DETACH
      of an image passed in via a parameter.
    o the UIC argument on the sys$creprc call.
      This mimics the UIC of the target user, and is certainly not
      the prefered mechanism for this task.
    o Via pseudo-terminals...

There are likely a few other mechanisms around...  There are various tools
available from DECUS and other sources that allow various forms of user
impersonation, as well.  These tools will require version-dependent kernel
code and enhanced privileges for some of (or all of) their operations.

                    [Stephen Hoffman]

------------------------------------------------------------
PROG17.  Why do lib$spawn, lib$set_symbol fail in detached processes?

The processing within run-time library (RTL) calls such as lib$attach,
lib$disable_ctrl, lib$do_command, lib$enable_ctrl, lib$get_symbol,
lib$run_program, lib$set_symbol, lib$set_logical, and lib$spawn, is
dependent on and requires the presence of a command language interpreter
(CLI), such as DCL.  Without a CLI present in the current process, these
calls will fail with a "NOCLI, no CLI present to perform function" error.

Detached processes typically do not have a CLI present.

In place of lib$spawn, sys$creprc can often be used.  The context of the
parent process (symbols and logical names) will not be propogated into
the subprocess when sys$creprc is used, though when there is no CLI
present in the process this (lack of) propogation is moot.

To create a detached process with a CLI, you must specify LOGINOUT as the
target image as discussed elsewhere in the FAQ, or only use these calls
(and any other calls requiring a CLI) from images that are running in an
"interactive", "batch", or "other" mode process.

                    [Stephen Hoffman]

------------------------------------------------------------
PROG18.  Where can I obtain Bliss, and the libraries and supporting files?

The Bliss language compilers and documentation are available
on the OpenVMS Freeware distributions.

Bliss language source code that contains the following statement:

  LIBRARY 'SYS$LIBRARY:STARLET.L32';

or similar requires the presence of the Bliss libraries.  These
libraries are created on the target system using the Bliss require
files, and are built using the following Bliss commands:

  STARLET.L32 contains the public interfaces to OpenVMS:

    $ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]STARLET.L32 -
        SYS$LIBRARY:STARLET.REQ

  LIB.L32 contains both the public and private interfaces to OpenVMS:

    $ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]LIB.L32 -
        SYS$LIBRARY:LIB.REQ+SYS$LIBRARY:STARLET.REQ

  The equivilent files for Bliss64 are created with:

    $ BLISS/A64/LIBRARY==SYS$COMMON:[SYSLIB]LIB.L64 -
        SYS$LIBRARY:LIB.R64+STARLET.REQ+STARLET.R64
    $ BLISS/A64/LIBRARY==SYS$COMMON:[SYSLIB]STARLET.L64 -
        SYS$LIBRARY:STARLET.R64

Some Bliss code may also require the OpenVMS VAX architecture flags.
The following is the equivilent of the Alpha ARCH_DEFS.BLI module:

  !
  ! This is the OpenVMS VAX version of ARCH_DEFS.BLI, and
  ! contains the architectural definitions for conditionally
  ! compiling OpenVMS Bliss sources for use on VAX systems.
  !
  MACRO VAXPAGE = 1%;
  MACRO BIGPAGE = 0%;

  MACRO VAX =                     ! = 1 if compiled BLISS/VAX
          %BLISS(BLISS32V)%;      ! = 0 if not compiled BLISS/VAX

  MACRO EVAX =                    ! = 1 if compiled BLISS/E*
  !
  ! A more appropriate definition can only be used with versions
  ! of the Bliss compilers that understand the 32E/64E flags.
  !       %BLISS(BLISS32E) OR %BLISS(BLISS64E)%; ! = 0 if compiled /VAX
          NOT %BLISS(BLISS32V)%;  ! = 0 if compiled /VAX

  MACRO ADDRESSBITS =
          %BPADDR%;               ! = 32 or 64 based on compiler used



                    [Stephen Hoffman]

------------------------------------------------------------
PROG19. How can I open a file for shared access?

  When creating a file, it is often useful to allow other
  applications and utilities -- such as TYPE -- to share
  read access to the file.  This permits you to examine the
  contents of a log file, for instance.

  A C source example that demonstrates how to do this is
  available in topic 2867 in the OpenVMS Ask The Wizard
  area:

    http://www.openvms.digital.com/wizard/

  Depending on the environment, you may need to use C calls
  such as fsync and fflush, and -- in specific cases -- the
  setvbuf(_IONBF) call.

                    [Stephen Hoffman]

------------------------------------------------------------
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.
                    [raspuzzi@mrlat.enet.dec.com]

> 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

      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 Digital's UCX or a 3rd party vendor's TCP/IP
             product.   If  you're  not,  none of the above will
             help.
                    [Fairfield@Slac.Stanford.Edu]

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.
                    [rabinowitz@bear.com]

------------------------------------------------------------
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.
                    [raspuzzi@mrlat.enet.dec.com]

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.
                                        [rabinowitz@bear.com]

------------------------------------------------------------
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.
                    [Fairfield@Slac.Stanford.Edu]

------------------------------------------------------------
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.
                    [fenster@star.enet.dec.com]

------------------------------------------------------------
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
                    [kleinsorge@star.enet.dec.com]

------------------------------------------------------------
DECW6.  Problem - On a DEC2000-300, Motif doesn't start

Check for a GQ device by doing a SHOW DEVICE G at the DCL prompt.  If there is
no GQA0 device:

a) VMS failed to find the appropriate IRQ information for the Compaq QVision
   and did not autoconfigure it.  Run the correct ECU (for OSF and VMS) and
   reboot.

b) You do not have a Compaq QVision video card.  This card should have Compaq
   printed on it, and identifies itself as a CPQ3011 or a CPQ3111.  If it is
   not one of these 2 devices (as of 7/1/94 and version 6.1) then VMS does not
   support it.

If there is a GQA0 device:

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 sysgen parameter WINDOW_SYSTEM is not set to 1.  This is a common way
   used by system managers to disable server startup.

c) You may not have a valid Motif license.    To check for the Motif license,
   type LICENSE LIST DW-MOTIF/FULL and examine the information displayed.
   Make sure that it is present, valid and active.
                    [kleinsorge@star.enet.dec.com]

------------------------------------------------------------
DECW7.  Problem - My LK401 keyboard unexpectedly autorepeats

There are several modes of failure:

a) Pressing 2 and 3 keys at the same time causes one key to autorepeat when
   released.  Check the hardware revision level printed on the bottom of the
   keyboard.  If the revision level is C01, the keyboard firmware is broken.
   Call field service to replace the keyboard with any revision level other
   than C01.

b) Pressing certain keys is always broken.  Typical sympypoms are: delete
   always causes a autorepeat, return needs to be pressed twice, etc.  This is
   frequently caused by having keys depressed while the keyboard is being
   initialized.  Pressing ^F2 several times or unplugging and replugging the
   keyboard frequently fix this problem.  There is a patch available to fix
   this problem [contact the CSC for information - a CSCPAT number will be
   included here when available. - Ed.]

c) A key that was working spontaneously stops working correctly. This may be
   either (a) or (b) or it may be bad firmware.  Ensure that you have the most
   recent firmware installed on your CPU.  An old version of the DEC 3000
   firmware had a bug that could cause this symptom.
                    [kleinsorge@star.enet.dec.com]

------------------------------------------------------------
DECW8.  Problem - My LK411 sends the wrong keycodes or some keys are dead

Check the firmware revision on the keyboard.  Hardware revision B01 introduced
an incompatability with the device driver which causes the keyboard to not be
recognized correctly.  There is a patch available to fix this problem:
[AXPDRIV06_061] - the fix is also included in OpenVMS V6.2.  The rev A01
keyboard, and the LK450 should work without problems.
                    [kleinsorge@star.enet.dec.com]
                    [inazu_k@ewbv21.enet.dec.com]

------------------------------------------------------------
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> is what you want to display:

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

For example, DCL to display "My DECterm" in title bar:
$ ESC[0,8]=27
$ WRITE SYS$OUTPUT "''ESC']21;My DECterm''ESC'\"
                    [p_lee@decus.ch]

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

------------------------------------------------------------
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 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.

 
                    [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]

------------------------------------------------------------
MISC1.  Looking for connector wiring pinouts?

DECconnect DEC-423 MMJ pinout:

  1: Data Terminal Ready (DTR)
  2: Transmit (TXD)
  3: Transmit Ground (TXD-)
  4: Receive Ground (RXD-)
  5: Receive (RXD)
  6: Data Set Ready (DSR)

   +------------------+
   | 1  2  3  4  5  6 |
   +------------+    ++
                +____+


The PC-compatible DB9 connector pinout follows:

  1: Data Carrier Detect (DCD)
  2: Received Data
  3: Transmit Data
  4: Data Terminal Ready (DTR)
  5: Ground
  6: Data Set Ready (DSR)
  7: Request To Send (RTS)
  8: Clear To Send
  9: floating

The MicroVAX DB9 console connector pinout predates the PC-style DB9
pinout, and uses a then-common (older) standard pinout, and uses the
following EIA-232-standard signals:

  1: Protective Ground
  2: Transmited Data
  3: Received Data
  4: Request To Send (RTS)
  5: Data Terminal Ready (DTR)
  6: Data Set Ready (DSR)
  7: Signal Ground
  8: Shorted to pin 9 on MicroVAX and VAXstation 2000...
  9:    ...series systems, otherwise left floating.


The BC16E-nn (where -nn indicates the cable length) cable key
impliicitly "flips over" (crosses-over) the signal wires, so
all DECconnect MMJ connectors are wired the same.

           //
           ----                                       ----
           |  |---------------------------------------|  |
           ----                                       ----
                                                        \\

The BC16-E-nn cross-over wiring looks like this:

            Terminal                                   Host
            MMJ                                        MMJ

         DTR 1 --->-------------->----------------->--- 6 DSR
         TXD 2 --->-------------->----------------->--- 5 RXD
             3 ---------------------------------------- 4
             4 ---------------------------------------- 3
         RXD 5 ---<--------------<-----------------<--- 2 TXD
         DSR 6 ---<--------------<-----------------<--- 1 DTR

Also see:

 http://www.partner.digital.com:9003/public/cheat_sheets/cables/padapters.html
 http://www.networks.digital.com.au/dr/npgc/opdec-mn.html
 For adapters and connectors, see MISC4.

                    [Stephen Hoffman]
                                        [Mike Thompson]

------------------------------------------------------------
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~

------------------------------------------------------------
MISC3.  Can I reuse old keyboards, mice and monitors with a PC?

Older DIGITAL keyboards (with RJ modular jacks), older DIGITAL mice (with RJ
modular jacks, or with a DIN connector with pins in a configuration other than
the PC-standard DIN connector pin orientation), and older video monitors (with
RGB synch-on-green video signaling) all use signaling formats and/or
communications protocols that differ from the PC standards, and are neither
interchangable nor compatible with typical PC peripheral device controllers.
LK201, LK401, VSXXX, VR260, VR290, etc., are incompatible with most PC
systems.

Newer DIGITAL keyboards (with DIN plugs), newer DIGITAL mice (with PC-pin DIN
plugs), and newer video monitors (multi-synch) are often interchangeable with
`industry standard' PC systems, and can often be used with most PC peripheral
device controllers. LK461, LK471, PC7XS-CA, VRC16, VRC21, etc., are compatible
with most PC systems.

Rule of thumb: if the peripheral device component was sold for use with the
DEC 2000 (DECpc 150 AXP), an AlphaServer series, an AlphaStation series, or
more recent system, it will probably  work with a PC peripheral controller.
If the peripheral device component was sold for use with an VT420 or older
terminal, most VAX, most VAXstation, and most Alpha systems with names in the
format `DEC <four-digit-number>', it probably won't work on a PC.

Note that the above is a general guideline, and should not be read to indicate
that any particular peripheral device will or will not work in any particular
configuration, save for those specific configurations the device is explicitly
supported in.
                    [Stephen Hoffman]

Software Integrators sells a video adapter card called Gemini P1 which will
drive many of the older Digital fixed-frequency monitors on a PC.

  http://www.si87.com/

Also see MISC10.

------------------------------------------------------------
MISC4.  What connectors and wiring adapters are available?


The H8571-B converts the (non-2000-series) MicroVAX DB9 to MMJ
DECconnect.  The MicroVAX 2000 and VAXstation 2000 requires a
BCC08 cable (which has the 8-9 short) and the H8571-D for use
with DECconnect.

More recent DIGITAL and Compaq systems will use either the
DECconnect MMJ wiring or (more common on recent systems) the
PC-compatible DB9 pinout.

DECconnect MMJ adapters:

    Part:      Converts BC16E MMJ male to fit into:
   
    H8575-A    EIA232 25 pin female (common)
    H8575-B    EIA232 9 pin male (MicroVAX II console)
    H8571-D    EIA232 25 pin male (modem-wired)
    H8571-J    PC/AT 9 pin male (PC serial port)
    H8572-0    0BC16E MMJ male (MMJ extender)

    BC16E-**   MMJ cable, available in various lengths

Numerous additional adapters and cables are available from the _OPEN
DECconnect Building Wiring Components and Applications Catalog_, as well as
descriptions of the above-listed parts.

The H8571-A and H8575-A are MMJ to DB25 (female) and are wired as follows:

Also see:
 http://www.partner.digital.com:9003/public/cheat_sheets/cables/padapters.html
 http://www.networks.digital.com.au/dr/npgc/opdec-mn.html

Jameco offers a USB-A to PS/2 Mini DIN 6 Adapter (as part 168751), for those
folks wishing to (try to) use PS/2 Keyboards via USB-A connections.

For wiring and pinouts, see MISC4.
                    [Stephen Hoffman]
                                        [Eric Dittman]

------------------------------------------------------------
MISC5.  Where can I find performance info and specs for older systems?

See ALPHA5

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

The destination node is running DECnet-Plus, and its naming service
cannot locate a name to assocate with the source node's address.
In other words, the destination node cannot determine the name of
the source node.

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 source node namespace, 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.digital.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.  Why does my system halt when I powercycle the console terminal?

  Various VAX and Alpha consoles are designed to process the
  BREAK signal, treating it as a HALT request.

  A BREAK is a deliberately-generated serial line framing error.

  When a serial line device such as a terminal powers up (or sometimes
  when powering down) it can generate framing errors.  These framing
  errors are indistingushable from a BREAK signal.

  When a BREAK is received on a serial line console for various
  VAX systems -- including most VAXstation, MicroVAX, and VAX 4000
  series -- it is typically interpreted as a HALT.  Alpha systems
  will also often process a BREAK in a similar fashion, halting the
  system.

  There is no uniform or generally-available way to disable this
  behaviour on every VAX or Alpha system.  On some systems, BREAK
  processing can be disabled in favor of CTRL/P, or CTRL/P is the
  only way to halt the processor.

  The most common way to avoid these halts is to disable the serial
  line console or to simply not power-cycle the console terminal.
  There is certain important system state information that is displayed
  only on the console, OpenVMS expects to always have access to the
  system console.
                                               [Stephen Hoffman]

------------------------------------------------------------
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. Which video monitor works with which graphics controller?

  To determine the answer to the "will this monitor work with this graphics
  controller?" question, please first locate the resolution(s) and the
  frequencies that are possible/supported at both ends of the video cable
  (on the monitor and the graphics controller, in other words), and then
  determine if there are any matching settings available.  If there are
  multiple matches, you will need to determine which one is most appropriate
  for your needs.

  You will also need to determine if the video monitor or graphics controller
  requires the 3 BNC signaling with the synchronization signals on the green
  wire, or the 5 BNC signalling common on many PCs, or other connections such
  as the DB15 video connector or USB connector used on various systems.

  If there are no matches, you will likely need to change the hardware at
  one or both ends of the "video cable".

  The refresh frequencies for many devices have been posted to comp.os.vms
  and/or other newsgroups.  Search the archives for details.  Also see:

    http://www.repairfaq.org/
    http://plop.phys.cwru.edu/repairfaq/REPAIR/F_monfaq.html
    http://www.mirage-mmc.com/faq/

  Also see MISC3.

------------------------------------------------------------
MISC11. Where can I get information on storage hardware?

Information on various Compaq OpenVMS and other disk storage
hardware and controllers, and related technical information
on SCSI, device jumpers, etc., is available at:

  http://theref.aquascape.com/

------------------------------------------------------------
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.

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

An OpenVMS Freeware CD is distributed with OpenVMS, and is also
available seperately as part of the OpenVMS hobbyist program.
The OpenVMS Freeware CD is available online at:

        http://www.openvms.digital.com/freeware/
        ftp://ftp.montagar.com/
        ftp://mvb.saic.com/freewarev40/
        http://freeware.acornsw.com/

and at various other sites.

Submissions to the OpenVMS Freeware can be made via:

        http://www.openvms.digital.com/openvms/freeware/cd.html

To order the Freeware, you can order an OpenVMS distribution from Compaq,
or you can order the Freeware itself via the OpenVMS hobbyist website:

        http://www.montagar.com/hobbyist/

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, GZIP, MMK (make),
PINE, PERL, TAR, UUENCODE and UUDECODE.  Many other tools are available
on the Freeware.

Compaq also has a separate area containing various OpenVMS software tools
located at:

  http://ftp.digital.com/pub/VMS/

Hunter Goatley runs a VMS freeware fileserver at Western Kentucky
University.  If you're using a WWW browser, the URL is:

  http://www.wku.edu/www/fileserv/fileserv.html

The FILESERV packages are also available via anonymous FTP from:

  ftp.wku.edu, under [.VMS.FILESERV].
  ftp.spc.edu, under [.MACRO32.SAVESETS] and [.MX].
  ftp.vms.stacken.kth.se, under [.MIRRORS..WKU.VMS.FILESERV].
  ftp.shsu.edu, under pub/vms/mx and pub/vms/utilities.
  nic.switch.ch, under /mirror/vms/spc.
  ftp.technion.ac.il, under /pub/unsupported/vms/spc.
  ftp.riken.go.jp

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

If you get the packages via WWW or FTP, they're in ZIP format which requires
the UNZIP (note: this is not Gnu gunzip!) tool to unpack.  You can get ZIP
and UNZIP from the following areas:

  ftp://ftp.wku.edu/vms/unzip.exe        ! VAX
  ftp://ftp.wku.edu/vms/unzip.alpha_exe  ! Alpha
  ftp://ftp.wku.edu/vms/fileserv/UNZIP.ZIP
  http://www.decus.de:8080/www/vms/sw/zip.htmlx
  http://home.earthlink.net/~djesys/zip.html
  http://home.earthlink.net/~djesys/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 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.]

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.

CompuServe users should check out the libraries of the VAXFORUM forum.

Arne Vajhxj 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/

Some DECUS library CD-ROMs are available online at:
    http://www.acornsw.com/www/acorn/cdrom-via-www.html or
    gopher://gopher.acornsw.com/
                [munroe@dmc.com]

Phone for orders is 508 841 3502. Lots of good stuff from lots of good
folks, and copies on media (tapes, CDs) are cheap.
                [Everhart@Arisia.gce.com]

   MPJZ's Hyper-Software-List for OpenVMS is Martin P.J. Zinser's list of
   additional software. 
     http://axp616.gsi.de:8080/www/vms/sw.html

   Chris Higgins's VMS Software List II
     http://csvax1.ucc.ie/www/vms_sw_list/sw_list.html

   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 VMS.
     http://kcgl1.eng.ohio-state.edu/www/doc/serverinfo.html

                        [goathunter@WKUVX1.WKU.EDU]

   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]

   Information on OpenSSL (SSLeay) and OSU Webserver interoperation:
     http://www.levitte.org/~byerra
                                            [Robert Alan Byer]

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 will be available as part of the OpenVMS Internet Product
Suite.  For further details, see:
  http://www.openvms.digital.com/openvms/products/ips/index.html

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

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

  http://www2.cenaath.cena.dgac.fr/ftp/index.html
  http://www2.cenaath.cena.dgac.fr/ftp/decwindows/
  ftp://axp.psl.ku.dk/decwindows
  ftp://ftp2.cnam.fr/decwindows
  ftp://ftp.et.tudelft.nl/decwindows
  ftp://ftp.ctrl-c.liu.se/decwindows
  http://axp616.gsi.de:8080/wwwar/cena/decwindows/cena.html

(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.).
  ftp://ftp.x.org/contrib/vms/ImageMagick/ImageMagick-3.3.zip
(Also on Freeware CD)
                        [cristy@dupont.com]

XV is available from:
  ftp://ftp.cis.upenn.edu/pub/xv
  ftp://ftp.digital.com/pub/graphics/xv
  http://www.sanface.com/

GHOSTSCRIPT and GHOSTVIEW are available from:
  ftp://ftp.digital.com/pub/VMS/ghostview

Version 2.3 of GhostView-VMS is now available from:
  ftp://iphthf.physik.uni-mainz.de/pub/vms/
                       [plass@dipmza.physik.uni-mainz.de]

XPDF, a viewer for PDF (Adobe Acrobat) files, is available from:
  http://www.foolabs.com/xpdf/
                                            [Ki Suk Hahn]

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
FTP.ET.TUDELFT.NL         (MadGoat)   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- as FTP.WKU.EDU, or just some directories-
as NIC.SWITCH.CH /pub/vms)
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).
                        [stfp@roipb.cs.ipb.ro]

Perl 5 (object oriented, blah blah) is available for VMS.
The primary development ftp site is:

    ftp://genetics.upenn.edu/perl5/

But this site is mirrored by more than 47 CPAN sites around the world. Each
CPAN site is accesible via a cgi-bin script at the perl homesite:

    http://www.perl.com/CPAN/

(PERL can also be found on the OpenVMS Freeware CD)

Charles Lane maintains a web page on how to write cgi-bin scripts in perl 5 for
VMS at:

    http://duphy4.physics.drexel.edu/duphy4/cgi_info.htmlx

and I maintain a web page on how to obtain and compile perl5 for VMS at:

    http://w4.lns.cornell.edu/~pvhp/perl/VMS.html

                                          [pvhp@lns62.lns.cornell.edu]

  MadGoat Software Archives:
    http://www.madgoat.com/

  Western Kentucky University OpenVMS archives:
    ftp://ftp.wku.edu/vms/fileserv/

  The Levitte (extended :-) Family (and OpenVMS) website:
    http://www.levitte.org/
    http://www.levitte.org/~ava/
    http://www.levitte.org/~byerra/

  CalTech Software Archives:
    http://seqaxp.bio.caltech.edu/pub/SOFTWARE/AAA_CONTENTS.TXT

  DJE Systems Website (David J. Dachtera)
    http://home.earthlink.net/~djesys/freeware/vms/

  Web servers:
    Apache web server:
      http://www.openvms.digital.com/openvms/products/ips/apache/
      http://www.er6.eng.ohio-state.edu/~jonesd/apache/1_3_9/
    OSU Webserver
      http://www.er6.eng.ohio-state.edu/www/doc/serverinfo.html
      http://www.kjsl.com/archives/
      email list: VMS-WEB-daemon-Request@KJSL.COM

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

  Grace (WYSIWYG 2D plotting tool)
    http://plasma-gate.weizmann.ac.il/Grace/

  POV-Ray ("Persistance of Vision" Raytracer) ray-tracing graphics package:
    http://www.lp.se/~byerra/povray/povray_contents.html

                                          [Peter Langstoeger]

  Majordomo mailing list handler:
    http://www.openvms.digital.com/openvms/products/ips/majordomo/

  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/

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

POSIX:
  POSIX-compliant, Digital-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.

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 Digital-supported 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

  Both vile 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
    ftp://ftp.clark.net/pub/dickey/vile
    ftp://id.wing.net/pub/pgf/vile

                    [Thomas Dickey]
GNU tools:

  Information on the GNU on VMS Project, which aims to port GNU software
  to VMS, is available at:

    http://vms.gnu.ai.mit.edu/
    ftp://vms.gnu.ai.mit.edu/gnu-vms/

  Software info:

    http://vms.gnu.ai.mit.edu/software/

  Software archive:

    ftp://vms.gnu.ai.mit.edu/gnu-vms/software/

GCC:

  The Progis company in Germany has ported GCC (GNU C) to OpenVMS Alpha.  You
  can also find a recent OpenVMS VAX version there.

    http://www.progis.de/

  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]

------------------------------------------------------------
SOFT3.  Where can I get the Netscape Navigator Mozilla.org Web Browser?

OpenVMS Engineering is currently porting mozilla.org's browser
to OpenVMS -- OpenVMS baselevels are currently available for download.
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.

Mozilla.org has announced that it will release a beta version of its
browser in mid-Autumn 1999.  Soon after, Netscape may/will release a
beta version of Netscape Communicator based on the mozilla.org browser.
We expect the beta version of Netscape Communicator to be available on
OpenVMS about 1 month after its release by Netscape.  A customer quality
version of this browser is scheduled for release by mozilla.org in late
December 1999; soon after, Netscape will release a customer quality version
of Netscape Communicator.  We expect to release a customer quality
version of Netscape Communicator on OpenVMS in early 2000.

The mozilla.org browser schedule is available at:

  http://www.mozilla.org/project/

The latest information and current downloads are available at:

  http://www.openvms.digital.com/openvms/products/ips/

Please be aware that various certificates for V3.003 Netscape Navigator
are presently expired, or are starting to expire.  This can potentially
cause problems for certificate-based access pending the acquisition of
new certifcates.

                    [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.

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

    http://www.digital.com/java/alpha/index.html

------------------------------------------------------------
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 DIGITAL C compiler for OpenVMS VAX
  systems.  DEC C is the DIGITAL 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.  DEC C is an ANSI C compiler,
  and can also compile most VAX C code when /STANDARD=VAXC is specified.
  As of V6.0, DEC C was renamed Compaq 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.)

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

    http://www.openvms.digital.com/wizard/

[End of Part 3/3]

 --------------------------- pure personal opinion ---------------------------
   Hoff (Stephen) Hoffman   OpenVMS Engineering   hoffman#xdelta.zko.dec.com



Marco Nuessgen.
You can contact me on google+




Technology is a broad concept that deals with a species' usage and knowledge of tools and crafts, and how it affects a species' ability to control and adapt to its environment. Wikipedia