Subject: OpenVMS Frequently Asked Questions (FAQ), Part 1/3 Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers Approved: news-answers-request@mit.edu Followup-to: poster Expires: 31 March 1999 00:00:00 GMT Supersedes: <6ptdfh$309@usenet.pa.dec.com> Summary: This posting contains answers to frequently asked questions about the OpenVMS operating system from Digital Equipment Corporation, and the computer systems on which it runs. Archive-name: dec-faq/vms/part1 Posting-Frequency: bi-monthly Last-modified: 16 November 1998 Changes since last edition ========================== Add DOC11 on tutorial user information Update VAX5 on VAXstation 3100 disk size limit Update Y2K3, add Y2K6 on "do I need to consider Y2K?" Add FILE8 on the size of a disk block. Add new MGMT8 on changing the timezone in batch (old MGMT8 was a duplicate) Add MGMT17 on negative pagefile reservable pages number. Add MGMT18 on updating layered product versions when OpenVMS is updated Add PROG14, PROG15 on number of bytes in a disk block and memory page Add PROG16 about creating a process under another username Add DCL7 about changing the system prompt. Add DCL8 about doing DECnet task-to-task I/O in DCL Add DECW11 about XtAppAddInput. 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 Digital's OpenVMS operating system and the computer systems on which it runs. This FAQ is archived in the following locations: comp.answers and news.answers newsgroups ftp://ftp.digital.com/pub/Digital/dec-faq/vms ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms CompuServe VAXFORUM, Library 0, VMSFAQ.TXT User-created HTML versions of the FAQ are located at: http://www.kjsl.com/vmsfaq http://eisner.decus.org/vms/faq.htm To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to the editor at Steve.Lionel@digital.com. Answers are especially appreciated. Please do NOT send technical questions to the editor - post them to the appropriate newsgroup instead. 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 Digital's Alpha processor architecture. OpenVMS manual names mentioned are those as of V7.1 - 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 Digital Equipment Corporation, this posting is not an official statement from Digital Equipment Corporation. AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation, DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of Digital Equipment 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? 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? Alpha and Alpha-based systems ======================================== ALPHA1. What do the letters AXP stand for? ALPHA2. What are the OpenVMS differences between VAX and Alpha? ALPHA3. Are there Alpha systems on the net I can try out? ALPHA4. How do I join Digital's Association of Software & Application Partners program? ALPHA5. Where can I find performance information about Alpha systems? ALPHA6. Where can I get updated console firmware for AlphaServer systems? ALPHA7. How do I boot an AlphaStation without monitor or keyboard? ALPHA8. Will OpenVMS run on a Multia? ALPHA9. What is the least expensive system that will run OpenVMS? 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. Tell me about the system disk size limit on the VAXstation 3100. VAX6. How does OpenVMS VAX maintain system time? 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? 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. How many bytes are in a disk block? Programming ======================================== PROG1. How do I call from ? 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? Table of Contents - Part 3/3 ____________________________ 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. What is the pinout for the DECconnect DEC-423 MMJ connector? MISC2. What are the escape sequences for the VTxxx function keys? MISC3. Can I reuse old keyboards, mice and monitors with a PC? MISC4. What is the pinout for the MicroVAX DB9 connector? MISC5. Where can I find performance info and specs for older systems? MISC6. What does "failure on back translate address request" mean? Software ======================================== SOFT1. Where can I find lots of free software for OpenVMS? SOFT2. Where can I find the UNIX tool for OpenVMS? ------------------------------------------------------------ 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? 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. 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) 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 people can help you. 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 Digital (or any vendor's) product, use the appropriate support channel. Don't assume that newsgroup postings will get read or responded to by the appropriate developers. ------------------------------------------------------------ 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 Vajhøj] ------------------------------------------------------------ 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 is a 32-bit, multitasking, multiprocessing virtual memory operating system. Current implementations run on Digital's VAX and Alpha computer systems. [Paul Winalski] For more details on OpenVMS and its features, read the OpenVMS Software Product Description at: ftp://ftp.digital.com/pub/Digital/info/SPD/25-01-XX.txt 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 ------------------------------------------------------------ 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. 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. 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". ------------------------------------------------------------ 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. See also questions VMS2 and SOFT2 for information on POSIX for OpenVMS which provides significant UNIX functionality on OpenVMS. [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] For orders or pricing information, contact 1-800-DECSALE after 8 November, 1996. ---------------------------------------------------------------------------- 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 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) ------------------------------------------------------------ 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-based system for hobbyist use, a (free) license for OpenVMS VAX is available from US DECUS for V5.5-2 and V6.1. In addition to the license, a distribution CD-ROM kit is available with OpenVMS, DECwindows, and assorted Freeware for a nominal fee (currently US$30). For further information, link to: http://www.montagar.com/hobbyist There is currently no hobbyist license for OpenVMS Alpha available. 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. [Steve Hoffman] ------------------------------------------------------------ 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/ ------------------------------------------------------------ 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 Alpha. - "A Comparison of System Management on OpenVMS AXP and OpenVMS VAX" - "Migrating to an OpenVMS AXP System: Planning for Migration" - "Migrating to an OpenVMS AXP System: Porting VAX MACRO Code" - "Migrating to an OpenVMS AXP System: Recompiling and Relinking" These are part of the "AXP Migration Kit" (which is part of the "Programming Kit" - which in turn is part of the "Standard Set" if ordering documentation.) Check out the "Overview of OpenVMS Documentation" book on the Bookreader-based doc set included on the OpenVMS AXP V6.1 distribution CD for part numbers of both assorted "kits" and/or individual manuals. ------------------------------------------------------------ ALPHA3. Are there Alpha systems on the net I can try out? As of November 1, 1995, Digital's service of Internet-accessible Alpha "test drive" systems was suspended. A revised service may appear in the future. For more information, write to Jack Lucier at lucier@kacie.enet.dec.com. ------------------------------------------------------------ ALPHA4. How do I join Digital's Association of Software & Application Partners program? The Association of Software & Application (ASAP) Partners is a Digital program designed to provide members with a broad base of development support, promotional tools, and services. The ASAP program is open to software partners throughout the U.S., Canada, Europe and selected countries in Asia Pacific. For more information about the Software Developer Kits and the Association of Software Application Partners (ASAP) Program, contact the ASAP Program Office as follows: Via phone: 1-800-332-4786 in the U.S. +353 91 754 299 in Europe Via E-Mail: alpha-developer@digital.com Via WWW: http://www.partner.digital.com/www-swdev/ ------------------------------------------------------------ ALPHA5. Where can I find performance information about Alpha systems? Digital makes a wide range of performance documents available through its FTP and WWW Internet servers (see DOC2). The specific WWW subject page is http://www.digital.com/info/performance.html, for FTP look in ftp://ftp.digital.com/info/performance. Documents with "flash" in their names are short summaries with performance charts, those with "brief" are longer documents with more detail on the specific tests and configurations. ------------------------------------------------------------ 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 ------------------------------------------------------------ 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. ------------------------------------------------------------ ALPHA8. Will OpenVMS run on a Multia? No. Not just an "unsupported" - it won't boot. ------------------------------------------------------------ ALPHA9. What is the least expensive system that will run OpenVMS? The cheapest system, sold by Digital today, that will run OpenVMS is the AlphaStation 255 4/233. Other companies sell Alpha-powered systems, some of which will run (and can be purchased with) OpenVMS. There are also many used DEC 3000 models available which are suitable. ------------------------------------------------------------ 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 () is enabled, and auto-boot is disabled. dot-not-in-circle: halt () 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. [Steve 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? Digital runs a VAX "InfoCenter" at: http://www.digital.com/info/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 ------------------------------------------------------------ VAX4. Where can I find information on NetBSD for VAX systems? Gunnar Helliesen maintains a NetBSD VAX FAQ at: http://vaxine.bitcon.no/ ------------------------------------------------------------ VAX5. Tell me about the system disk size limit on the 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 are not reliable on any member of the series. 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 VMB versions prior to V6.4 are affected. PROM upgrade (once) available. [Steve 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. [Steve Hoffman] ------------------------------------------------------------ DOC1. Where can I find online copies of OpenVMS manuals? Digital's OpenVMS documentation is copyrighted and is not freely available on the net. Documentation is offered in CD-ROM form through a subscription to the Consolidated On-Line Documentation (ConOLD) product (see VMS7.) ConOLD manuals are readable with Bookreader, a viewer that is supplied with DECwindows Motif. MGBOOK, a viewer for Bookreader documents which is usable from character-cell terminals (eg. VTxxx) is available from the WKU VMS Freeware file server - see question SOFT1 for details. [Steve Lionel] We are allowing interactive viewing of the Consolidated Distribution Documentation CDROMs (NOT copying, just reading). Currently available by: telnet://vtbook@condist.acornsw.com/ We're planning to leave this on the network indefinitely, but we MAY limit access in some way depending upon load. [munroe@dmc.com] A selection of OpenVMS documentation is available in HTML form at http://www.openvms.digital.com:81/ ------------------------------------------------------------ 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. In SYS$COMMON:[SYSHLP.VMSDOC] (OpenVMS V6.0 or later) you'll find the following three files: VMSDOC_GLOSSARY.TXT - Glossary of OpenVMS terminology VMSDOC_OVERVIEW.TXT - Overview of OpenVMS documentation VMSDOC_MASTER_INDEX.TXT - Master index of OpenVMS documentation These files are optionally installed; some system managers may have selected not to install them or to put them in another location. If you cannot locate them, ask your system manager. OpenVMS Marketing runs a WWW server at http://www.openvms.digital.com/ Here you'll 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, performance data, 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. Digital's Multivendor Customer Services organization also hosts an Internet server. If you have a software support contract you can obtain patches from here - even without a contract you can browse through the "readme" files for correction kits. The WWW URL is http://www.service.digital.com/ For ftp access use ftp://ftp.service.digital.com/ A WWW version of the DECdirect catalog is also available at http://www.service.digital.com/ddi/html/ddhome.html 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-DIGITAL : voice : DECdirect products, books 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) 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? DEC Professional is alive and well. It's a monthly magazine that helps you manage your Digital systems in a multivendor environment. Subscriptions are free to qualified Digital sites. Digital Systems Journal is a bimonthly magazine that contains more in-depth, hands-on, how-to information. Subscriptions are paid. If you're interested in acquiring a subscription to DEC Professional or Digital Systems Journal, contact Omeda Communications: 800-306-6332 708-564-1385 They'll send you everything you need. [morrison@elvis.cardinal.com] Digital Press, an imprint of Butterworth-Heinemann, has a web site at: US & Canada URL http://www.bh.com/dp UK & Europe URL http://www.butterworth.heinemann.co.uk ------------------------------------------------------------ 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 Vajhøj) 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) ------------------------------------------------------------ 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. ------------------------------------------------------------ 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://axp616.gsi.de:8080/www/vms/qaa/undoc.htmlx [zinser@axp603.gsi.de] 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. Some of the OpenVMS manuals, including the user's guide, are available at: http://www.openvms.digital.com:81/ 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 For various featured 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 ------------------------------------------------------------ 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-1H*, V7.1, and V7.1-1H* No other Y2K ECO kits for other releases are currently planned. OpenVMS releases after these specified releases will have integrated Y2K support. (These kits are currently available to customers with a support contract.) For the official, most complete, and most current information on the status of Y2K compliance of DIGITAL hardware and software products, including OpenVMS and various OpenVMS layered products, please see: http://www.digital.com/year2000/ Information on the customer testing procedures that are recommended by OpenVMS Engineering are also accessable via the above URL. ------------------------------------------------------------ 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. [Steve 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] Subject: OpenVMS Frequently Asked Questions (FAQ), Part 2/3 Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers Approved: news-answers-request@mit.edu Followup-to: poster Expires: 31 March 1998 00:00:00 GMT Supersedes: <6pte58$fom@usenet.pa.dec.com> Summary: This posting contains answers to frequently asked questions about the OpenVMS operating system from Digital Equipment Corporation, and the computer systems on which it runs. Archive-name: dec-faq/vms/part2 Posting-Frequency: bi-monthly Last-modified: November 16, 1998 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 in part 1 for further details.) It contains answers to frequently asked questions about Digital's OpenVMS operating system and the computer systems on which it runs. This FAQ is archived in the following locations: comp.answers and news.answers newsgroups ftp://ftp.digital.com/pub/Digital/dec-faq/vms ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms CompuServe VAXFORUM, Library 0, VMSFAQ.TXT To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to the editor at Steve.Lionel@digital.com. Answers are especially appreciated. 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? 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? Programming ======================================== PROG1. How do I call from ? 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? ------------------------------------------------------------ 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 VMS, Unix, MVS, and Windows NT, for two 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, VMS, Unix, MVS, and NT 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. It is possible for VMS, 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. [winalski@gemgrp.enet.dec.com] 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 OpenVMS VAX V5.5, use F11CD kit from InfoServer CD, or Consolidated Distribution CD under InfoServer, or Digital Customer Support - CSCPAT #1071012 Here's how to do it: $ MOUNT/MEDIA_FORMAT=CDROM device-name[:] [volume-label] Please refer to the OpenVMS MOUNT Utility Manual, especially the section regarding the MOUNT qualifier /UNDEFINED_FAT. From the OpenVMS release notes: Because ISO-9660 media can be mastered from platforms that do not support semantics of files containing predefined record formats, you may encounter ISO-9660 CD-ROMs with files that contain records for which no record format was specified. An example which works for most CD-ROMs is: $ MOUNT/MEDIA_FORMAT=CDROM/UNDEFINED_FAT=STREAM:2048 DUA0: FREEWARE This /UNDEFINED_FAT qualifier states, "For any file whose file attributes are 'undefined', return file attributes of 'stream', maximum record length 2048". [dunham@star.enet.dec.com] ------------------------------------------------------------ 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 button, entering on the console, or pressing the 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 @ 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, and that OpenVMS not record these parameter changes for subsequent system reboots: SET/STARTUP OPA0: 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. 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. [Steve 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 will 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] ------------------------------------------------------------ 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] ------------------------------------------------------------ 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="+02:00" SYS$MANAGER:UTC$CONFIGURE_TDF - /PAR=(SET,-300,"+60") Going from DST to standard time (for Chicago): $ SUBMIT/AFTER="+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. 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.) 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... [Steve 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. [Steve 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. [Steve 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). [Steve 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 FTA0/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.) [Steve 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. [Steve 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.2, one can update to V6.2-1H1, V6.2-1H2, or V6.2-1H3. 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 V7.1, one can update to V7.1-1H(1,2). Some typical OpenVMS Alpha upgrade (or update) paths are: V1.0 -> V1.5 -> V6.1 -> (V6.2, V7.0, or V7.1) V6.2 -> V6.2-1H3 V1.5-1H1 -> V6.1 -> (V6.2, V7.0, or V7.1) V6.2-1H(1,2,3) -> V7.1 V7.1 -> V7.1-1H(1,2) 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 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. Some typical OpenVMS VAX upgrade paths are: V5.x -> V5.5 -> V6.0 -> V6.2 -> (V7.0, or V7.1) V5.5-2, or V5.5-2H4 -> V6.1 -> (V6.2, V7.0, or V7.1) 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. VMScluster Rolling Upgrades: Rolling Upgrades require multiple system disks. Rolling upgrades permit the VMScluster to remain available while individual systems are being upgraded to a new OpenVMS release. VMScluster 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 VMScluster than what is listed here. See the _OpenVMS Version Upgrade and Installation Manual_, and the OpenVMS Software Product Descriptions (http://www.openvms.digital.com/openvms/spd/list.html) 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. 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. [Steve 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 [Steve Hoffman] ------------------------------------------------------------ MAIL1. How do I send Internet mail? There is no one answer to this question. Internet mail is built upon the TCP/IP protocols, which are not directly supported by VMS. A number of implementations of TCP/IP for VMS are available, from Digital, from a number of other vendors, and even in a free "support it yourself" form. The MAIL program that comes with VMS does not directly support the mail format used on the Internet, but various programs have been written that use MAIL's "foreign protocol" facility to provide such support. To send mail through a foreign protocol by using an address syntax like IN%"fred@fred-host.xxx.com". You *must* include the quotation marks Between them is the address in the format used by mail programs that support the Internet directly. The IN% - short for INternet - names the foreign protocol. On some systems, you use MX% or SMTP% instead. (MX is a widely used, free, mail handler; see question SOFT1. SMTP% is used by Digital's UCX TCP/IP product) Other systems may use some other name. If none of these prefixes work, ask your system manager for assistance. [leichter@lrw.com] See also MAIL2. ------------------------------------------------------------ MAIL2. How do I get IN% or MX% added automatically to Internet addresses? Get 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 - if the address has an @ in it (not in a quoted string), MAIL will look to see if the logical name MAIL$INTERNET_TRANSPORT is defined. If it is, it will use the translation as the transport protocol, otherwise it will use SMTP (as is used by UCX). 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', 'P2' $ ELSE $ COPY 'P2' $ ENDIF $ DEFINE/NOLOG SYS$INPUT SYS$COMMAND $ 'P2' $ EXIT Where is the name of the signature-file (including directory and disk) and is EDIT/EDT or EDIT/TPU (or your favorite editor). [Arne Vajhøj] ------------------------------------------------------------ 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 (www.innosoft.com) or free from Andy Harper (ftp://ftp2.kcl.ac.uk/zip). With PINE you can both send and read,if you have the appropriate viewers, MIME mail. 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] ------------------------------------------------------------ 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.wku.edu/www/madgoat/madgoat.html ------------------------------------------------------------ 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. [Steve 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 console as the operator terminal; then the REPLY/LOG will be accepted: $ DEFINE SYS$COMMAND _OPA0: $ REPLY/ENABLE $ REPLY/LOG [Arne Vajhøj] ------------------------------------------------------------ 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. [Steve 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 :: /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.) [Steve 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.) [Steve 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 Vajhøj] ------------------------------------------------------------ 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. [Steve 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. [Steve Hoffman] ------------------------------------------------------------ FILE7. How do I write recordable CDs 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. [Steve Hoffman] ------------------------------------------------------------ PROG1. How do I call from ? 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 Vajhøj has put together a collection of OpenVMS example programs. It can be found at: ftp://ftp.hhs.dk/pub/vms/ [Arne Vajhøj] 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 [Steve 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 Vajhøj] ------------------------------------------------------------ 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=(=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. ------------------------------------------------------------ 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 [Steve 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). [Steve 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 #include #include 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. [Steve 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. [Steve 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. [Steve 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 the username argument on the sys$sndjbc call. This creates a batch-mode job under the target user. 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. [Steve Hoffman] [End of Part 2/3] Subject: OpenVMS Frequently Asked Questions (FAQ), Part 3/3 Newsgroups: comp.os.vms,comp.sys.dec,vmsnet.alpha,vmsnet.misc,comp.answers,news.answers Approved: news-answers-request@mit.edu Followup-to: poster Expires: 31 March 1999 00:00:00 GMT Supersedes: <6ptdkf$309@usenet.pa.dec.com> Summary: This posting contains answers to frequently asked questions about the OpenVMS operating system from Digital Equipment Corporation, and the computer systems on which it runs. Archive-name: dec-faq/vms/part3 Posting-Frequency: bi-monthly Last-modified: November 16, 1998 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 in part 1 for further details.) It contains answers to frequently asked questions about Digital's OpenVMS operating system and the computer systems on which it runs. This FAQ is archived in the following locations: comp.answers and news.answers newsgroups ftp://ftp.digital.com/pub/Digital/dec-faq/vms ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms CompuServe VAXFORUM, Library 0, VMSFAQ.TXT To make suggestions for changes or additions to this Frequently Asked Questions list, send mail to the editor at Steve.Lionel@digital.com. Answers are especially appreciated. Table of Contents - Part 3/3 ____________________________ 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. What is the pinout for the DECconnect DEC-423 MMJ connector? MISC2. What are the escape sequences for the VTxxx function keys? MISC3. Can I reuse old keyboards, mice and monitors with a PC? MISC4. What is the pinout for the MicroVAX DB9 connector? MISC5. Where can I find performance info and specs for older systems? MISC6. What does "failure on back translate address request" mean? Software ======================================== SOFT1. Where can I find lots of free software for OpenVMS? SOFT2. Where can I find the UNIX tool for OpenVMS? ------------------------------------------------------------ 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 : F11 \n\ osfLeft : Left \n\ osfUp : Up \n\ osfRight : Right \n\ osfDown : Down \n\ osfEndLine :Alt Right \n\ osfBeginLine :Alt Left \n\ osfPageUp : Prior \n\ osfPageDown : Next \n\ osfDelete :Shift Delete \n\ osfUndo :Alt Delete \n\ osfBackSpace : Delete \n\ osfAddMode :Shift F8 \n\ osfHelp : Help \n\ osfMenu : F4 \n\ osfMenuBar : F10 \n\ osfSelect : Select \n\ osfActivate : KP_Enter \n\ osfCopy :Shift DRemove \n\ osfCut : DRemove \n\ osfPaste : 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 is the ANSI escape code, value decimal 27, and is what you want to display: To set the DECterm title, send ]21;\ To set the icon label, send ]2L;\ 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. [Steve 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 ); ... [Steve Hoffman] ------------------------------------------------------------ MISC1. What is the pinout for the DECconnect DEC-423 MMJ connector? DECconnect DEC-423 MMJ pinout: 1 Data Terminal Ready (DTR) 2 Transmit 3 Transmit Ground 4 Receive Ground 5 Receive 6 Data Set Ready (DSR) 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. [Steve Hoffman] ------------------------------------------------------------ MISC2. What are the escape sequences for the VTxxx function keys? In the following, is decimal code 155 and can be replaced by the sequence "[" (without the quotes), SS3 is decimal code 143 and can be replaced by "O". VT1xx terminals don't accept and . PF1=P PF2=Q PF3=R PF4=S KP0=p KP1=q KP2=r KP3=s KP4=t KP5=u KP6=v KP7=w KP8=x KP9=y KPCOMMA=l KPMINUS=m KPPERIOD=n ENTER=M DNARROW=B UPARROW=A LFARROW=D RTARROW=C FIND=1~ INSERT=2~ REMOVE=3~ SELECT=4~ PREV=5~ NEXT=6~ F6=17~ F7=18~ F8=19~ F9=20~ F10=21~ F11=23~ F12=24~ F13=25~ F14=26~ HELP=28~ DO=29~ F17=31~ F18=32~ F19=33~ F20=34~ These and other control sequences can be found in SYS$SYSTEM:SMGTERMS.TXT ------------------------------------------------------------ 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 ', 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. [Steve 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 ------------------------------------------------------------ MISC4. What is the pinout for the MicroVAX DB9 connector? 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 5: Data Terminal Ready 6: Data Set Ready 7: Signal Ground 8: Shorted to pin 9 on 2000 series, otherwise floating 9: Shorted to pin 8 on 2000 series, otherwise floating 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 systems use either the DECconnect MMJ or the PC DB9 pinout. The PC DB9 connector is the H8571-J. [Steve Hoffman] ------------------------------------------------------------ MISC5. Where can I find performance info and specs for older systems? Performance and system comparision information for VAX and Alpha systems, information on "How Many VUPS Is That Alpha In The Window?", system performance and TPS tables, and the specifications for various discontinued DIGITAL VAX and Alpha systems are available via the URL: http://www.digital.com/alphaserver/solutions/ibi/oldspecs/old_system_specs.html ------------------------------------------------------------ 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. [Steve Hoffman] ------------------------------------------------------------ SOFT1. Where can I find lots of free software for OpenVMS? An OpenVMS Freeware CD was distributed at US DECUS in May and December 1995 - this CD will also be included with future versions of the OpenVMS binaries CD-ROM distribution and the Software Product Library CD-ROMs)for VAX and Alpha systems. The OpenVMS Freeware CD is available online at: http://www.openvms.digital.com/openvms/freeware/cd.html ftp://ftp.montagar.com/ http://www.montagar.com/dfwlug/ ftp://flash.acornsw.com/ gopher://gopher.acornsw.com/ http://www.acornsw.com/ ftp://ftp.tay.ac.uk/ It may also be ordered from DECUS (http://www.decus.org) as VS0185. This CD 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 often requested tools on the Freeware CD are: ZIP/UNZIP, MMK (make), PINE, PERL, TAR, UUENCODE/UUDECODE and XV. The montagar.com server, belonging to the DECUS Dallas/Fort Worth LUG, also provides "Almost 350,000 blocks of white papers, OpenVMS rebuttals, good articles, engineering information, and other assorted OpenVMS Positive 'Stuff'." You can also telnet to dfwlug.decus.org and log in as Info to access an "OpenVMS BBS" system there. Digital has a WWW page with pointers to freeware (mostly derived from this FAQ) but which also contains useful information on archive tools needed for extracting freeware kits. The URL is: http://www.digital.com/info/vms-freeware.html 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 this from: ftp://ftp.wku.edu/vms/unzip.exe ! VAX ftp://ftp.wku.edu/vms/unzip.alpha_exe ! Alpha or you can request the FILESERV_TOOLS package from the e-mail server. 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 Vajhøj runs an OpenVMS WWW page, with software and other pointers, at: http://www.levitte.org/~ava/ Kermit is available at: http://www.columbia.edu/kermit/ or ftp://kermit.columbia.edu/ ZMODEM is available at: ftp://ftp.cs.pdx.edu/pub/zmodem See the FILES file in that directory for further details. Note that this freeware version of ZMODEM will interoperate only with ZMODEM software that is licensed from Omen Technology. (Also on Freeware CD) [Steve Lionel] A good source of software for DEC boxes (and anything else pretty much) is the DECUS library. online catalogs are available as well as some software via ftp.decus.org; there's a gopher server gopher://gopher.decus.org/ an FTP server: ftp://ftp.decus.org/ and a WWW server: http://www.decus.org/ 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] DECwindows Motif V1.2-3 includes NCSA Mosaic 2.4 built for UCX. V1.2-4 will include Spyglass Enhanced Mosaic which supports many "Netscape" enhancements. 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 the standard distribution sites as listed in the PGP FAQ. Information on compiling PGP for OpenVMS can be found at http://zifi.genetics.utah.edu/ An archive of DECwindows and Xwindows software can be found at the following sites: 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 3.10 is available from: ftp://ftp.cis.upenn.edu/pub/xv ftp://ftp.digital.com/pub/graphics/xv (Also on Freeware CD) 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.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html 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 , 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] ------------------------------------------------------------ SOFT2. Where can I find the UNIX 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. 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: [Steve 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/ [otis@magna.com.au] [End of Part 3/3]