> The OpenVMS Frequently Asked Questions(FAQ) ABSTRACTJ This document contains answers to many common questionsG on the OpenVMS operating system, and covers OpenVMS,A and OpenVMS running on Itanium, Alpha, and VAX hardware.E This document is available in various formats, andG the text-format version of this FAQ is generally the, easiest format to search.= Revision/Update Information OpenVMS V8.2G Revision/Update Information: Revision Date/December5 2004 FAQ  J ________________________________________________________________ ContentsJ __________________________________________________________J PREFACE iJ __________________________________________________________J OPENVMS FREQUENTLY ASKED QUESTIONS (FAQ) iiiJ ________________________________________________________________J CHAPTER 1 INTRODUCTION 1-1J __________________________________________________________J 1.1 WHAT CORE OPENVMS URLS DO YOU NEED TO KNOW? 1-1J __________________________________________________________J 1.2 WHAT ARE THE OPENVMS USENET NEWSGROUPS? 1-2> 1.2.1 What is the scope of the comp.os.vmsJ newsgroup? 1-2; 1.2.2 What newsgroups carry VMS-relatedJ information? 1-2J 1.2.3 What newsgroup archives are available? 1-3J 1.2.4 What is the INFO-VAX mailing list? 1-3F 1.2.4.1 How do I subscribe to or unsubscribe from+ INFO-VAX?, 1-4J __________________________________________________________J 1.3 WHAT IS [N]ETIQUETTE? 1-5J __________________________________________________________J 1.4 WHAT OPENVMS USER GROUP(S) ARE AVAILABLE? 1-8J __________________________________________________________J 1.5 OPENVMS SUPPORT, QUESTIONS AND COMMENTS? 1-9A 1.5.1 Corporate contacts for OpenVMS BusinessJ Issues? 1-9J 1.5.2 OpenVMS Ambassadors? 1-10B 1.5.3 Contact for OpenVMS Marketing Issues andJ Questions? 1-10< 1.5.4 Contact URLs for OpenVMS TechnicalJ Issues? 1-10J iii   ContentsJ ________________________________________________________________J CHAPTER 2 GENERAL INFORMATION 2-1J __________________________________________________________J 2.1 WHAT IS OPENVMS? WHAT IS ITS HISTORY? 2-1J __________________________________________________________< 2.2 WHAT IS THE DIFFERENCE BETWEEN VMS ANDJ OPENVMS? 2-3J __________________________________________________________J 2.3 WHAT'S IN A NAME? TERMINOLOGY AND PRODUCTS? 2-3J 2.3.1 How do I port from VMS to OpenVMS? 2-4J __________________________________________________________J 2.4 WHICH IS BETTER, OPENVMS OR UNIX? 2-4J __________________________________________________________> 2.5 IS HP CONTINUING FUNDING AND SUPPORT FORJ OPENVMS? 2-5J __________________________________________________________J 2.6 WHAT OPENVMS DISTRIBUTION KITS ARE AVAILABLE? 2-5J __________________________________________________________J 2.7 IN WHAT LANGUAGE IS OPENVMS WRITTEN? 2-8J __________________________________________________________J 2.8 OBTAINING AND TRANSFERING OPENVMS LICENSES? 2-8= 2.8.1 Questions asked by Hobbyist OpenVMSJ licensees? 2-9J 2.8.2 OpenVMS Educational and CSLG licenses? 2-10> 2.8.3 What developer and partner licensingJ programs are available? 2-10@ 2.8.4 How do I obtain or transfer an OpenVMSJ license? 2-11J __________________________________________________________< 2.9 DOES OPENVMS SUPPORT THE EURO CURRENCYJ SYMBOL? 2-11J __________________________________________________________F 2.10 OPENVMS PORTS? ITANIUM? PORTS TO IA-32, EM64T ORJ AMD64 SYSTEMS? 2-11J __________________________________________________________> 2.11 ARE THERE ANY NETWORK-ACCESSIBLE OPENVMSJ SYSTEMS? 2-15 iv   ContentsJ __________________________________________________________J 2.12 WHAT VERSION OF OPENVMS DO I NEED? 2-16J __________________________________________________________J 2.13 HOW CAN I SUBMIT OPENVMS FREEWARE? 2-18J __________________________________________________________J 2.14 PORTING APPLICATIONS TO OPENVMS? 2-18J __________________________________________________________F 2.15 WHAT RESOURCES ARE AVAILABLE TO OPENVMS SOFTWAREJ DEVELOPERS? 2-19J __________________________________________________________E 2.16 MEMORY MANAGEMENT, RESOURCE MANAGEMENT, PROCESSJ SCHEDULING, ETC? 2-20J __________________________________________________________J 2.17 BASIC UNITS OF MEASUREMENT? 2-21J 2.17.1 How many bytes are in a disk block? 2-22J 2.17.2 How many bytes are in a memory page? 2-23@ 2.17.3 How do I convert? Disk Blocks? KB, MB,J GB, TB? 2-24J ________________________________________________________________J CHAPTER 3 DOCUMENTATION 3-1J __________________________________________________________? 3.1 WHERE CAN I FIND ONLINE COPIES OF OPENVMSJ MANUALS? 3-1J __________________________________________________________> 3.2 WHAT ONLINE INFORMATION AND WEBSITES AREJ AVAILABLE? 3-2J __________________________________________________________; 3.3 OPENVMS PRODUCT INFORMATION TELEPHONEJ NUMBERS? 3-5J __________________________________________________________H 3.4 HOW DO I EXTRACT THE CONTENTS OF A HELP TOPIC TO AJ TEXT FILE? 3-5J __________________________________________________________; 3.5 DOES OPENVMS MARKETING HAVE AN E-MAILJ ADDRESS? 3-6J v   ContentsJ __________________________________________________________? 3.6 WHERE CAN I LEARN ABOUT OPENVMS EXECUTIVEJ INTERNALS? 3-6J __________________________________________________________I 3.7 WHERE CAN NEW USERS FIND TUTORIAL INFORMATION ABOUTJ OPENVMS? 3-7J 3.7.1 Tutorial Websites? 3-7J 3.7.2 Books and Tutorials? 3-8J __________________________________________________________J 3.8 WHAT OPENVMS MAILING LISTS ARE AVAILABLE? 3-10J __________________________________________________________D 3.9 WHAT IS THIS ASK THE WIZARD WEBSITE I'VE HEARDJ ABOUT? 3-12J __________________________________________________________> 3.10 ACCESS TO THE OPENVMS NETSCAPE NAVIGATORJ DOCUMENTATION? 3-12J __________________________________________________________D 3.11 WHERE CAN I FIND THE LATEST C RUN-TIME LIBRARYJ MANUALS? 3-13J ________________________________________________________________J CHAPTER 4 TIME AND TIMEKEEPING 4-1J __________________________________________________________= 4.1 A BRIEF HISTORY OF OPENVMS TIMEKEEPING,J PLEASE? 4-17 4.1.1 Details of the OpenVMS systemJ time-keeping? 4-2F 4.1.1.1 VAX hardware time-keeping details..., 4-3, 4.1.1.1.1 TOY clock, 4-31 4.1.1.1.2 EXE$GQ_SYSTIME, 4-32 4.1.1.1.3 EXE$GQ_TODCBASE, 4-3. 4.1.1.1.4 EXE$GL_TODR, 4-3H 4.1.1.2 Alpha hardware time-keeping details..., 4-4G 4.1.1.2.1 Battery-Backed Watch (BB_WATCH) Chip, 4-51 4.1.1.2.2 EXE$GQ_SYSTIME, 4-57 4.1.1.2.3 EXE$GQ_SAVED_HWCLOCK, 4-5I 4.1.1.3 Why does VAX need a SET TIME at least once a' year?, 4-6 vi   Contents> 4.1.2 How does OpenVMS VAX maintain systemJ time? 4-7J __________________________________________________________J 4.2 KEEPING THE OPENVMS SYSTEM TIME SYNCHRONIZED? 4-8< 4.2.1 Why do my cluster batch jobs startJ early? 4-10J 4.2.2 Why does my OpenVMS system time drift? 4-10< 4.2.3 Resetting the system time into theJ past? 4-11< 4.2.4 How can I drift the OpenVMS systemJ time? 4-12A 4.2.5 How can I configure TCP/IP Services NTPJ as a time provider? 4-12J __________________________________________________________H 4.3 MANAGING TIMEZONES, TIMEKEEPING, UTC, AND DAYLIGHTJ SAVINGS? 4-14= 4.3.1 How to troubleshoot TDF problems onJ OpenVMS? 4-189 4.3.2 Customizing your TDF (Timezone)J Setting? 4-19J __________________________________________________________G 4.4 WHY DOES THE SET TIME COMMAND FAIL? HELP MANAGINGJ DTSS? 4-20J __________________________________________________________D 4.5 SETTING TIME ON ALPHASERVER ES47, ES80, GS1280J CONSOLE? 4-23J __________________________________________________________F 4.6 UTC VS GMT VS VS UT1/UT1/UT2 TDF? WHAT ARE THESEJ ACRONYMS? 4-24J ________________________________________________________________J CHAPTER 5 SYSTEM MANAGEMENT INFORMATION 5-1J __________________________________________________________J 5.1 WHAT IS AN INSTALLED IMAGE? 5-1J __________________________________________________________J 5.2 ARE THERE ANY KNOWN VIRUSES FOR OPENVMS? 5-2J vii   ContentsJ __________________________________________________________J 5.3 SOURCES OF OPENVMS SECURITY INFORMATION? 5-4J __________________________________________________________J 5.4 HOW DO I MOUNT AN ISO-9660 CD ON OPENVMS? 5-4J __________________________________________________________J 5.5 HOW DO I EXTRACT THE CONTENTS OF A PCSI KIT? 5-6J __________________________________________________________J 5.6 EMERGENCY (CONVERSATIONAL) SYSTEM STARTUP? 5-6C 5.6.1 I've forgotten the SYSTEM password - whatJ can I do? 5-10A 5.6.2 My product licenses have expired - whatJ can I do? 5-11J __________________________________________________________A 5.7 HOW DO I CHANGE THE NODE NAME OF AN OPENVMSJ SYSTEM? 5-11J __________________________________________________________C 5.8 WHY DOESN'T OPENVMS SEE THE NEW MEMORY I JUSTJ ADDED? 5-14J __________________________________________________________> 5.9 HOW DO I CHANGE THE TEXT IN A USER'S UICJ IDENTIFIER? 5-14J __________________________________________________________J 5.10 WHAT ARE THE OPENVMS VERSION UPGRADE PATHS? 5-15J 5.10.1 OpenVMS Alpha Upgrade (or Update) Paths 5-16J 5.10.2 OpenVMS I64 Upgrade Paths 5-18J 5.10.3 OpenVMS VAX Release Upgrade Paths 5-18J 5.10.4 OpenVMS Cluster Rolling Upgrade Paths 5-19= 5.10.5 OpenVMS Product Version and SupportJ Information 5-207 5.10.6 OpenVMS Alpha and I64 UpgradeJ Terminology 5-21J __________________________________________________________E 5.11 WHY DO I HAVE A NEGATIVE NUMBER IN THE PAGEFILEJ RESERVABLE PAGES? 5-22J __________________________________________________________H 5.12 DO I HAVE TO UPDATE LAYERED PRODUCTS WHEN UPDATINGJ OPENVMS? 5-24 viii   ContentsJ __________________________________________________________J 5.13 HOW DO I CHANGE THE VOLUME LABEL OF A DISK? 5-24J __________________________________________________________J 5.14 HOW CAN I SET UP A SHARED DIRECTORY? 5-25J __________________________________________________________= 5.15 WHY DO I GET EXTRA BLANK PAGES ON MY HPJ PRINTER? 5-26J __________________________________________________________? 5.16 DRIVERS AND CONFIGURATION OF NEW GRAPHICSJ CONTROLLERS? 5-27J 5.16.1 The ELSA GLoria Synergy 5-27J 5.16.2 PowerStorm 300, PowerStorm 350 5-28J 5.16.3 PowerStorm 3D30, PowerStorm 4D20 5-28J 5.16.4 Radeon 7500 5-29J __________________________________________________________C 5.17 HOW CAN I ACQUIRE OPENVMS PATCHES, FIXES, ANDJ ECOS? 5-29J __________________________________________________________J 5.18 HOW DO I MOVE THE QUEUE MANAGER DATABASE? 5-30J __________________________________________________________H 5.19 HOW DO I DELETE AN UNDELETABLE/UNSTOPPABLE (RWAST)J PROCESS? 5-31J __________________________________________________________J 5.20 HOW DO I RESET THE ERROR COUNT(S)? 5-32J __________________________________________________________B 5.21 HOW DO I FIND OUT IF THE TAPE DRIVE SUPPORTSJ COMPRESSION? 5-34J __________________________________________________________F 5.22 CAN I COPY SYSUAF TO ANOTHER VERSION? TO VAX? TOJ ALPHA? 5-34J __________________________________________________________J 5.23 HOW DO I DELETE (TIMEOUT) IDLE PROCESSES? 5-37J __________________________________________________________C 5.24 DO I NEED A PAK FOR THE DECEVENT (HP ANALYZE)J TOOL? 5-37J ix   ContentsJ __________________________________________________________; 5.25 INITIALIZE ACCVIO AND ANSI TAPE LABELJ SUPPORT? 5-38J __________________________________________________________J 5.26 HOW DO I RECOVER FROM INSVIRMEM ERRORS? 5-38J __________________________________________________________C 5.27 HOW CAN I PREVENT A SERIAL TERMINAL LINE FROMJ INITIATING A LOGIN? 5-39J __________________________________________________________= 5.28 HOW DOES PCSI USE THE IMAGE BUILD_IDENTJ FIELD? 5-39J __________________________________________________________C 5.29 HOW CAN I TELL WHAT SOFTWARE (AND VERSION) ISJ INSTALLED? 5-41J __________________________________________________________@ 5.30 WHAT FILE CHECKSUM TOOLS ARE AVAILABLE FORJ OPENVMS? 5-42J __________________________________________________________@ 5.31 WHAT (AND WHERE) IS THE OPENVMS MANAGEMENTJ STATION? 5-42J __________________________________________________________A 5.32 HOW TO DETERMINE CURRENT DISK FRAGMENTATIONJ LEVEL? 5-42J __________________________________________________________< 5.33 SYSBOOT-I-FILENOTLOC, UNABLE TO LOCATEJ SYS$CPU_ROUTINES? 5-43J __________________________________________________________G 5.34 HOW CAN I CUSTOMIZE THE DCPS DEVICE CONTROL FOR AJ NEW PRINTER? 5-43J __________________________________________________________J 5.35 WHY DO $GETDEV MOUNTCNT AND SHOW DEVICE MOUNT COUNTSJ DIFFER? 5-45J __________________________________________________________< 5.36 WHAT SOFTWARE IS NEEDED FOR POSTSCRIPTJ PRINTERS? 5-45 x   ContentsJ __________________________________________________________B 5.37 HOW DO I REMOVE A PCSI-INSTALLED PATCH (ECO)J KIT? 5-45J __________________________________________________________> 5.38 SYSINIT-E, ERROR MOUNTING SYSTEM DEVICE,J STATUS=0072832C 5-46J __________________________________________________________J 5.39 RESOLVING LICENSE PAK PROBLEMS? 5-46J __________________________________________________________J 5.40 CHANGING THE OPENVMS VERSION NUMBER? 5-48J __________________________________________________________@ 5.41 HOW TO PREVENT USERS FROM CHOOSING OBVIOUSJ PASSWORDS? 5-48J __________________________________________________________< 5.42 PLEASE HELP ME WITH THE OPENVMS BACKUPJ UTILITY? 5-50J 5.42.1 Why isn't BACKUP/SINCE=BACKUP working? 5-50F 5.42.1.1 Why has OpenVMS gone through the agony of/ this change?, 5-51A 5.42.1.2 Can you get the old BACKUP behaviour( back?, 5-519 5.42.2 What can I do to improve BACKUPJ performance? 5-51J 5.42.3 Why is BACKUP not working as expected? 5-52J 5.42.4 How do I fix a corrupt BACKUP saveset? 5-53> 5.42.5 How do I write a BACKUP saveset to aJ remote tape? 5-55< 5.42.6 How to perform a DoD security diskJ erasure? 5-56J 5.42.7 How to enable telnet virtual terminals? 5-57J 5.42.7.1 Volume Shadowing MiniCopy vs MiniMerge?, 5-58. 5.42.7.1.1 Mini-Copy?, 5-58/ 5.42.7.1.2 Mini-Merge?, 5-59J __________________________________________________________J 5.43 PLEASE EXPLAIN DELETE/ERASE AND FILE LOCKS? 5-60J xi   ContentsJ ________________________________________________________________J CHAPTER 6 INFORMATION ON MAIL 6-1J __________________________________________________________I 6.1 MAIL KEEPS SAYING I HAVE NEW MESSAGES, BUT I DON'T.J WHAT DO I DO? 6-1J __________________________________________________________> 6.2 HOW DO I SEND OR READ ATTACHMENTS IN VMSJ MAIL? 6-1J __________________________________________________________J 6.3 HOW CAN I BLOCK SMTP MAIL RELAY SPAM? 6-3J ________________________________________________________________J CHAPTER 7 INFORMATION ON UTILITIES 7-1J __________________________________________________________J 7.1 HOW DO I PLAY AN AUDIO CD ON MY WORKSTATION? 7-1J __________________________________________________________J 7.2 HOW DO I ACCESS A MICROSOFT WINDOWS FLOPPY DISK FROMJ OPENVMS? 7-2J __________________________________________________________C 7.3 HOW DO I PLAY SOUND FILES ON AN ALPHASTATION?J DECSOUND DOESN'T WORK. 7-3J __________________________________________________________J 7.4 WHY IS DECMIGRATE NOT WORKING WITH FORTRAN? 7-3J __________________________________________________________J 7.5 HOW DO I READ IBM EBCDIC TAPES ON OPENVMS? 7-4J __________________________________________________________J 7.6 HOW CAN I PATCH AN OPENVMS ALPHA IMAGE? 7-4J ________________________________________________________________J CHAPTER 8 DCL DETAILS 8-1J __________________________________________________________J 8.1 HOW DO I RUN A PROGRAM WITH ARGUMENTS? 8-1J __________________________________________________________J 8.2 HOW CAN I CLEAR THE SCREEN IN DCL? 8-2 xii   ContentsJ __________________________________________________________A 8.3 USING REPLY/LOG FROM DCL? DISABLING CONSOLEJ OPCOMS? 8-2J __________________________________________________________J 8.4 HOW DO I GENERATE A RANDOM NUMBER IN DCL? 8-3J __________________________________________________________J 8.5 WHAT DOES THE MCR COMMAND DO? 8-4J __________________________________________________________J 8.6 HOW DO I CHANGE THE OPENVMS SYSTEM PROMPT? 8-5J __________________________________________________________E 8.7 CAN I DO DECNET TASK-TO-TASK COMMUNICATION WITHJ DCL? 8-6J __________________________________________________________: 8.8 HOW CAN I GET THE WIDTH SETTING OF AJ TERMINAL? 8-6J __________________________________________________________J 8.9 HOW CAN I SUBSTITUTE SYMBOLS IN A PIPE? 8-7J __________________________________________________________> 8.10 USE OF RUN/DETACH, LOGINOUT, AND LOGICALJ NAMES? 8-7J __________________________________________________________A 8.11 HOW TO USE ESCAPE AND CONTROL CHARACTERS INJ DCL? 8-8J ________________________________________________________________J CHAPTER 9 FILES 9-1J __________________________________________________________J 9.1 HOW CAN I UNDELETE A FILE? 9-1J __________________________________________________________F 9.2 WHY DOES SHOW QUOTA GIVE A DIFFERENT ANSWER THANJ DIR/SIZE? 9-1J __________________________________________________________J 9.3 HOW DO I MAKE SURE THAT MY DATA IS SAFELY WRITTEN TOJ DISK? 9-2J xiii   ContentsJ __________________________________________________________D 9.4 WHAT ARE THE LIMITS ON FILE SPECIFICATIONS ANDJ DIRECTORIES? 9-3J __________________________________________________________F 9.5 WHAT IS THE LARGEST DISK VOLUME SIZE OPENVMS CANJ ACCESS? 9-4J __________________________________________________________G 9.6 WHAT IS THE MAXIMUM FILE SIZE, AND THE RMS RECORDJ SIZE LIMIT? 9-6J __________________________________________________________B 9.7 HOW DO I WRITE CD-RECORDABLE OR DVD MEDIA ONJ OPENVMS? 9-7J 9.7.1 CD and DVD notation, terminology? 9-106 9.7.2 Use of RRD42 and other olderJ (embossed-media) CD drives? 9-12A 9.7.3 Creating Bootable OpenVMS I64 CD or DVDJ Media? SYS$SETBOOT? 9-12J __________________________________________________________< 9.8 WHAT I/O TRANSFER SIZE LIMITS EXIST INJ OPENVMS? 9-13J __________________________________________________________C 9.9 CAN I USE ODBC TO CONNECT TO OPENVMS DATABASEJ FILES? 9-14J __________________________________________________________J 9.10 IF MY DISKS ARE SHOWN AS VIOC COMPATIBLE, AM I USINGJ XFC? 9-14J __________________________________________________________7 9.11 RMS SEQUENTIAL FILES AND PLATFORMJ PORTABILITY? 9-15J ________________________________________________________________J CHAPTER 10 OPENVMS PROGRAMMING INFORMATION 10-1J __________________________________________________________G 10.1 MODULAR PROGRAMMING, FACILITY PREFIXES AND SYMBOLJ NAMING? 10-1 xiv A  ContentsJ __________________________________________________________9 10.2 CAN I HAVE A SOURCE CODE EXAMPLE OFVJ CALLING...? 10-2J __________________________________________________________A 10.3 HOW DO I GET THE ARGUMENTS FROM THE COMMANDoJ LINE? 10-4J __________________________________________________________A 10.4 HOW DO I GET A FORMATTED ERROR MESSAGE IN AJ VARIABLE? 10-4J __________________________________________________________J 10.5 HOW DO I LINK AGAINST SYS$SYSTEM:SYS.STB ON AN ALPHAJ SYSTEM? 10-5J __________________________________________________________= 10.6 HOW DO I DO A SET DEFAULT FROM INSIDE A_J PROGRAM? 10-5J __________________________________________________________F 10.7 HOW DO I TURN MY FORTRAN COMMON INTO A SHAREABLEJ IMAGE ON ALPHA? 10-5J __________________________________________________________D 10.8 HOW DO I CONVERT BETWEEN IEEE AND VAX FLOATINGJ DATA? 10-6J __________________________________________________________B 10.9 HOW DO I GET THE ARGUMENT COUNT IN A FORTRANJ ROUTINE? 10-6J __________________________________________________________C 10.10 HOW DO I GET A UNIQUE SYSTEM ID FOR LICENSINGaJ PURPOSES? 10-7J __________________________________________________________F 10.11 WHAT IS AN EXECUTABLE, SHAREABLE, SYSTEM OR UWSSJ IMAGE? 10-8J __________________________________________________________J 10.12 HOW DO I DO A FILE COPY FROM A PROGRAM? 10-9J __________________________________________________________J 10.13 WHAT IS A DESCRIPTOR? 10-9J xv .  ContentssJ __________________________________________________________= 10.14 HOW DO I CREATE A PROCESS UNDER ANOTHER J USERNAME? 10-11J __________________________________________________________G 10.15 WHY DO LIB$SPAWN, LIB$SET_SYMBOL FAIL IN DETACHED J PROCESSES? 10-13J __________________________________________________________E 10.16 WHERE CAN I OBTAIN BLISS, AND THE LIBRARIES AND_J SUPPORTING FILES? 10-13J __________________________________________________________J 10.17 HOW CAN I OPEN A FILE FOR SHARED ACCESS? 10-15J __________________________________________________________A 10.18 HOW CAN I HAVE COMMON SOURCES FOR MESSAGES,.J CONSTANTS? 10-15J __________________________________________________________D 10.19 HOW DO I ACTIVATE THE OPENVMS DEBUGGER FROM ANJ APPLICATION? 10-16J __________________________________________________________J 10.20 DEALING WITH ENDIAN-NESS? 10-16J __________________________________________________________J 10.21 HOW TO RESOLVE LINK-I-DATMISCH ERRORS? 10-17J __________________________________________________________: 10.22 HP C AND OTHER OPENVMS C PROGRAMMINGJ CONSIDERATIONS? 10-17J 10.22.1 Other common C issues 10-21J 10.22.2 Other common C++ issues 10-23J __________________________________________________________J 10.23 STATUS OF PROGRAMMING TOOLS ON OPENVMS VAX? 10-25J __________________________________________________________? 10.24 CHOOSING A VERSION NUMBER FOR APPLICATION J CODE? 10-25J __________________________________________________________J 10.25 SELECTING A PROCESS DUMP DIRECTORY? 10-27J __________________________________________________________J 10.26 ACCESS TO ITANIUM ASSEMBLER? 10-27 xvi   Contents_J ________________________________________________________________J CHAPTER 11 DECWINDOWS 11-1J __________________________________________________________G 11.1 HOW DO I LET SOMEONE ELSE DISPLAY SOMETHING ON MY4J WORKSTATION? 11-1J __________________________________________________________: 11.2 HOW DO I CREATE A DISPLAY ON ANOTHERJ WORKSTATION? 11-3J __________________________________________________________J 11.3 HOW CAN I GET THE INFORMATION FROM SHOW DISPLAY INTOJ A SYMBOL? 11-3J __________________________________________________________J 11.4 HOW DO I GET A LOG OF A DECTERM SESSION? 11-4J __________________________________________________________J 11.5 WHY IS DECWINDOWS MOTIF NOT STARTING? 11-4J __________________________________________________________J 11.6 HOW DO I SET THE TITLE ON A DECTERM WINDOW? 11-6J __________________________________________________________H 11.7 HOW DO I CUSTOMIZE DECWINDOWS, INCLUDING THE LOGINJ SCREEN? 11-77 11.7.1 How do I customize DECwindows J keymapping? 11-11@ 11.7.2 Why does the DELETE key delete forwardJ instead of backward? 11-11J __________________________________________________________J 11.8 WHY DOESN'T XTAPPADDINPUT() WORK ON OPENVMS? 11-13J __________________________________________________________H 11.9 WHY DO THE KEYBOARD ARROW KEYS MOVE THE DECWINDOWSJ CURSOR? 11-14J __________________________________________________________J 11.10 WHY DOES HALF MY DECWINDOWS DISPLAY BLANK? 11-14J __________________________________________________________H 11.11 %DECW-W-NODEVICE, NO GRAPHICS DEVICE FOUND ON THISJ SYSTEM? 11-15J xvii 2  Contents_J __________________________________________________________J 11.12 HOW CAN I RESET THE WARNING BELL VOLUME? 11-17J __________________________________________________________J 11.13 HOW CAN I ALTER THE DECWINDOWS CDE BACKDROP? 11-18J __________________________________________________________< 11.14 HOW CAN I ENABLE THE DECWINDOWS TCP/IPJ TRANSPORT 11-18J __________________________________________________________E 11.15 CAN I USE DECWINDOWS 1.2-* ON OPENVMS V7.3-2 OR J LATER? 11-18J __________________________________________________________J 11.16 HOW TO ADD FONTS INTO DECWINDOWS? 11-19J ________________________________________________________________J CHAPTER 12 MISCELLANEOUS INFORMATION 12-1J __________________________________________________________H 12.1 WHERE CAN I FIND INFORMATION ON ESCAPE AND CONTROLJ SEQUENCES? 12-1J __________________________________________________________F 12.2 DOES DECPRINT (DCPS) WORK WITH THE LRA0 PARALLELJ PORT? 12-3J __________________________________________________________A 12.3 HOW DO I CHECK FOR FREE SPACE ON A (BACKUP) J TAPE? 12-3J __________________________________________________________J 12.4 SO WHAT HAPPENED TO SYS$CMSUPER? 12-4J __________________________________________________________J 12.5 CORRECTLY USING LICENSE PAKS AND LMF? 12-5J ________________________________________________________________J CHAPTER 13 FINDING AND USING SOFTWARE 13-1J __________________________________________________________F 13.1 WHERE CAN I FIND FREEWARE/SHAREWARE/SOFTWARE FORJ OPENVMS? 13-1 xviii E G Contents J __________________________________________________________J 13.2 WHERE CAN I FIND UNIX TOOLS FOR OPENVMS? 13-14; 13.2.1 POSIX-compliant versions of POSIXkJ routines and utilities 13-15J 13.2.2 C system and library routines 13-15J 13.2.3 X Windows utilities and routines 13-15J 13.2.4 TCP/IP Tools and Utilities for OpenVMS? 13-16J 13.2.5 The vi text editor 13-16J 13.2.6 Various GNU tools 13-170 13.2.6.1 GCC compiler, 13-17J __________________________________________________________J 13.3 WHERE CAN I GET THE MOZILLA WEB BROWSER? 13-18J __________________________________________________________J 13.4 WHERE CAN I GET JAVA FOR OPENVMS? 13-19J __________________________________________________________J 13.5 OBTAINING USER INPUT IN DCL CGI SCRIPT? 13-20J __________________________________________________________A 13.6 HOW CAN A BATCH JOB GET ITS OWN BATCH ENTRY J NUMBER? 13-20J __________________________________________________________J 13.7 HOW DO I CONVERT TO NEW CMS OR DTM LIBRARIES? 13-21J __________________________________________________________C 13.8 WHERE CAN I GET NEW CERTIFICATES FOR NETSCAPEoJ NAVIGATOR? 13-22J __________________________________________________________J 13.9 WHY DOESN'T DCL SYMBOL SUBSTITUTION WORK? 13-23J __________________________________________________________J 13.10 WHERE CAN I GET PERL FOR OPENVMS? 13-24J __________________________________________________________F 13.11 OBTAINING THE DECMIGRATE (AEST OR VEST, AND TIE)J TRANSLATOR? 13-25J __________________________________________________________F 13.12 WHERE CAN I GET ZIP, UNZIP, SELF-EXTRACTING ZIP,J ETC? 13-26J __________________________________________________________J 13.13 ARE VAX HARDWARE EMULATORS AVAILABLE? 13-27J xix   Contents_J ________________________________________________________________J CHAPTER 14 HARDWARE INFORMATION 14-1J __________________________________________________________H 14.1 WHAT ARE THE OPENVMS DIFFERENCES AMONG VAX, ALPHA,J AND IA-64? 14-1J __________________________________________________________I 14.2 SEEKING PERFORMANCE INFORMATION FOR ALPHA (AND VAX)_J SYSTEMS? 14-2J __________________________________________________________J 14.3 CONSOLE COMMANDS, SERIAL LINES, AND CONTROLS? 14-3B 14.3.1 What commands are available in the AlphaJ SRM console? 14-3J 14.3.2 What does SRM mean? What is PALcode? 14-4@ 14.3.3 Alpha COM ports and VAX console serialJ line information? 14-4J 14.3.3.1 Which terminal device name is assigned to the- COM ports?, 14-4_D 14.3.3.2 Which serial port is the console on the1 MicroVAX 3100?, 14-5?G 14.3.3.3 How can I set up an alternate console on a-. VAXstation?, 14-5J 14.3.3.4 Please explain the back panel of the MicroVAX% II, 14-6 < 14.3.4 What are Alpha console environmentJ variables? 14-7J 14.3.5 What are the boot control flag values? 14-8I 14.3.5.1 What are the I64 IPB boot flag values?, 14-8 = 14.3.5.2 What are the Alpha APB boot flag_* values?, 14-9J 14.3.5.3 What are the VAX VMB boot flag values?, 14-10? 14.3.6 How do I boot an AlphaStation without_J monitor or keyboard? 14-12; 14.3.7 Downloading and using SRM consoleNJ Firmware? 14-13I 14.3.7.1 Where can I get updated console firmware forH2 Alpha systems?, 14-13I 14.3.7.2 How do I reload SRM firmware on a half-flash1 Alpha system?, 14-14 J 14.3.7.3 How do I switch between AlphaBIOS/ARC and SRM- consoles?, 14-15 J 14.3.8 Console Management Options 14-18 xx   p ContentstJ 14.3.9 Why do my EFI Boot Aliases Fail? 14-19J __________________________________________________________J 14.4 WHAT PLATFORMS WILL OPENVMS OPERATE ON? 14-19J 14.4.1 on the Alpha Multia? 14-21J 14.4.2 on AlphaPC 164LX? AlphaPC 164SX? 14-22B 14.4.2.1 on the NoName AXPpci33 system?, 14-23J 14.4.3 on the Alpha XL series? 14-24@ 14.4.4 OpenVMS on the Personal Workstation -aJ and -au series? 14-24H 14.4.4.1 OpenVMS on the Whitebox Windows-Only series* Alpha?, 14-25G 14.4.4.2 OpenVMS and Personal Workstation ATA (IDE). bootstrap?, 14-26J 14.4.5 On the Intel Itanium IA-64 platform? 14-27: 14.4.5.1 Where can I get Intel Itanium0 information?, 14-28J __________________________________________________________F 14.5 WHAT IS THE LEAST EXPENSIVE SYSTEM THAT WILL RUNJ OPENVMS? 14-28J __________________________________________________________? 14.6 WHERE CAN I GET MORE INFORMATION ON ALPHA J SYSTEMS? 14-29J __________________________________________________________J 14.7 DESCRIBE ALPHA INSTRUCTION EMULATION AND INSTRUCTIONJ SUBSETS? 14-30J __________________________________________________________D 14.8 WHAT IS THE ACCURACY OF THE ALPHA TIME OF YEARJ (BB_WATCH) CLOCK? 14-32J __________________________________________________________J 14.9 SO HOW DO I OPEN UP THE DEC 3000 CHASSIS? 14-32J __________________________________________________________J 14.10 WHAT IS BYTE SWIZZLING? 14-33J __________________________________________________________B 14.11 WHAT IS THE LAYOUT OF THE VAX FLOATING POINTJ FORMAT? 14-34J __________________________________________________________J 14.12 WHERE CAN I FIND MORE INFO ABOUT VAX SYSTEMS? 14-35J xxi _ _ Contents_J __________________________________________________________D 14.13 WHERE CAN I FIND INFORMATION ON NETBSD FOR VAXJ SYSTEMS? 14-36J __________________________________________________________E 14.14 WHAT SYSTEM DISK SIZE LIMIT ON THE MICROVAX AND_J VAXSTATION 3100? 14-36J __________________________________________________________H 14.15 WHAT IS THE ACCURACY OF VAX THE TIME OF YEAR (TOY)J CLOCK? 14-37J __________________________________________________________J 14.16 WHAT ARE THE VAX PROCESSOR (CPU) CODES? 14-37J __________________________________________________________C 14.17 WHERE CAN I GET SOFTWARE AND HARDWARE SUPPORTOJ INFORMATION? 14-39J __________________________________________________________G 14.18 WHERE CAN I GET HARDWARE SELF-MAINTENANCE SUPPORTAJ ASSISTANCE? 14-40J __________________________________________________________D 14.19 WHY DOES MY SYSTEM HALT WHEN I POWER-CYCLE THEJ CONSOLE TERMINAL? 14-40J __________________________________________________________I 14.20 CAN I REUSE OLD KEYBOARDS, MICE AND MONITORS WITH A J PC? 14-41J __________________________________________________________C 14.21 WHICH VIDEO MONITOR WORKS WITH WHICH GRAPHICS J CONTROLLER? 14-43J __________________________________________________________< 14.22 WHERE CAN I GET INFORMATION ON STORAGEJ HARDWARE? 14-44J __________________________________________________________= 14.23 WHY DOES MY LK401 KEYBOARD UNEXPECTEDLY J AUTOREPEAT? 14-44J __________________________________________________________I 14.24 PROBLEM - MY LK411 SENDS THE WRONG KEYCODES OR SOME J KEYS ARE DEAD 14-45 xxii   ContentsCJ __________________________________________________________B 14.25 WHICH DE500 VARIANT WORKS WITH WHICH OPENVMSJ VERSION? 14-45J __________________________________________________________G 14.26 THIRD-PARTY DISK/TAPE/CONTROLLERS/SCSI/WIDGETS ON_J OPENVMS? 14-479 14.26.1 Lists of third-party widgets on J OpenVMS? 14-50A 14.26.2 Are the 2X-KZPCA-AA and SN-KZPCA-AA LVD_J Ultra2 SCSI? 14-50J 14.26.3 Resolving DRVERR fatal device error? 14-51J __________________________________________________________J 14.27 LOOKING FOR CONNECTOR WIRING PIN-OUTS? 14-51J __________________________________________________________= 14.28 WHAT CONNECTORS AND WIRING ADAPTERS ARE_J AVAILABLE? 14-53J __________________________________________________________J 14.29 WHAT IS FLOW CONTROL AND HOW DOES IT WORK? 14-55J __________________________________________________________J 14.30 CD AND DVD DEVICE REQUIREMENTS? 14-56J ________________________________________________________________J CHAPTER 15 INFORMATION ON NETWORKS AND CLUSTERS 15-1J __________________________________________________________J 15.1 HOW TO CONNECT OPENVMS TO A MODEM? 15-1J __________________________________________________________J 15.2 OPENVMS AND IP NETWORKING? 15-1J 15.2.1 How to connect OpenVMS to the Internet? 15-1J 15.2.2 Connecting to an IP Printer? 15-1C 15.2.3 How do I connect a PostScript printer viaJ TCP/IP? 15-2< 15.2.4 How do I set a default IP route orJ gateway on OpenVMS? 15-3? 15.2.5 How can I set up reverse telnet (like J reverse LAT)? 15-4C 15.2.6 Why can't I use PPP and RAS to connect to J OpenVMS Alpha? 15-4J xxiii   ContentsnJ __________________________________________________________J 15.3 OPENVMS AND DECNET NETWORKING? 15-4J 15.3.1 Can DECnet-Plus operate over IP? 15-5> 15.3.2 What does "failure on back translateJ address request" mean? 15-5J 15.3.3 Performing SET HOST/MOP in DECnet-Plus? 15-6J __________________________________________________________; 15.4 HOW TO DETERMINE THE NETWORK HARDWARE J ADDRESS? 15-6B 15.4.1 How do I reset the LAN (DECnet-Plus NCL)J error counters? 15-9A 15.4.2 How do I install DECnet Phase IV on VMS_J 7.1? 15-9J __________________________________________________________B 15.5 HOW CAN I SEND (RADIO) PAGES FROM MY OPENVMSJ SYSTEM? 15-10J __________________________________________________________J 15.6 OPENVMS, CLUSTERS, VOLUME SHADOWING? 15-11A 15.6.1 OpenVMS Cluster Communications Protocol_J Details? 15-11D 15.6.1.1 OpenVMS Cluster (SCS) over DECnet? Over' IP?, 15-11 B 15.6.1.2 Configuring Cluster SCS for path load. balancing?, 15-129 15.6.1.2.1 Cluster Terminology?, 15-12_D 15.6.1.2.2 Cluster Communications Control?, 15-14F 15.6.1.2.3 Cluster Communications Control Tools and/ Utilities?, 15-15 J 15.6.2 Cluster System Parameter Settings? 15-16I 15.6.2.1 What is the correct value for EXPECTED_VOTES 4 in a VMScluster?, 15-16D 15.6.2.2 Explain disk (or tape) allocation class- settings?, 15-18_E 15.6.2.2.1 How to configure allocation classes andA5 Multi-Path SCSI?, 15-19 < 15.6.3 Tell me about SET HOST/DUP and SETJ HOST/HSC 15-20J 15.6.4 How do I rename a DSSI disk (or tape?) 15-21? 15.6.5 Where can I get Fibre Channel StorageEJ (SAN) information? 15-23J 15.6.6 How can I split up an OpenVMS Cluster? 15-23 xxiv    Contents J 15.6.7 Details on Volume Shadowing? 15-25E 15.6.7.1 Does volume shadowing require a non-zeroA7 allocation classes?, 15-25 J ________________________________________________________________ INDEX_J ________________________________________________________________ TABLESJ 1-1 Core Websites 1-1J 2-1 OpenVMS Alpha Media Kits 2-5J 2-2 OpenVMS I64 Order Numbers 2-6J 2-3 OpenVMS I64 Media Suffix 2-7J 2-4 OpenVMS Source Listings Kits 2-7J 2-5 OpenVMS Alpha Version Rule-Of-Thumb 2-17J 3-1 OpenVMS Websites 3-2J 3-2 Telephone Numbers 3-5J 3-3 OpenVMS Tutorial Websites 3-7J 3-4 DP Books 3-9J 3-5 OpenVMS Mailing Lists 3-10J 11-1 X Windows Display Commands 11-1J xxv L J ________________________________________________________________ Preface_J i  J ________________________________________________________________2 OpenVMS Frequently Asked Questions (FAQ)G This is the OpenVMS Frequently Asked Questions (FAQ)_F posting for the comp.os.vms and comp.sys.dec usenet newsgroups.? Suggestions and Updates Welcome!? Please send your suggestions for changes,HF additions, or corrections directly to FAQ Editor1 (hoff{atsign}hp{period}com)_= Please! No Support Questions!MC Please do not send technical questions to the B FAQ Editor (hoff{atsign}hp{period}com) . TheC FAQ Editor (hoff{atsign}hp{period}com) is notD in a position to answer general questions, norB to provide support. Rather, please post your@ questions to the appropriate newsgroup, orG please contact your prefered hardware or software 7 support organization(s) directly._; Your understanding in this is greatlyI" appreciated.B If you believe any particular discussion worthyB of inclusion in a future edition of the FAQ andG particularly once you have or know both the question I and the answer, please then send the entire discussion J along to the FAQ Editor (hoff{atsign}hp{period}com) for' potential inclusion.O@ Do note that URL link continuity is also yourD responsibility. If you should find a dead link orD a stale URL pointer, please notify the FAQ EditorI (hoff{atsign}hp{period}com) . Preference will be givensG to reports with the current, correct or updated URL.MJ iii  2; OpenVMS Frequently Asked Questions (FAQ)_ Thank you!T= Post to Newsgroups With Care! @ Please consider reading Section 1.3 before= posting to the comp.os.vms or any other ! newsgroups.O' _____________________________I ContributorsE Many people have contributed to this FAQ, directly_C and/or indirectly. In many cases, part or all of F an answer included in the FAQ has been adapted fromE one or more postings from the comp.os.vms or other_J newsgroup-this though individual citations and specificE quotations are generally not included in this FAQ. H (The FAQ Editor (hoff{atsign}hp{period}com) wishes toF thank to all of those folks who post answers to theH newsgroups, and that have contributed to the contents of this FAQ.)H The following is an incomplete list of the folks thatJ have contributed directly or indirectly to the contentsJ of the OpenVMS FAQ. Additions, corrections, and updatesF to this list of contributors and to the contents ofD the FAQ itself are welcome, and all omissions andH misspellings are unintentional. Thanks to each of theG contributors here, and to all of the folks that have_A participated in the FAQ and in the newsgroups.OC Paul Anderson, Jason Armistead, Zoltan Arpadffy, C John AtoZ, Bailey, Jeremy Begg, Colin Blake, Ken_B Blaylock, Kenneth Block, Bol, Craig Berry, MarkH Berryman, Jim Becker, Verell Boaen, Bol, Jim Brankin,C Richard Brodie, Robert Alan Byer, Jeff Campbell,_D Scott Campbell, Antonio Carlini, Keith Cayemberg,E Ken Chaney, Cristy, John Croll, David J. Dachtera,MC Robert Deininger, Dale Dellutri, Leo Demers, Sue_C Denham, Thomas Dickey, Eric Dittman, Jim Dunham, G Eric, Glenn Everhart, Ken Fairfield, Yaacov Fenster,RB Gunther Froehlin, Harry Garonzik, Derek Garson,E John Gillings, Andy Goldstein, Clair Grant, Hunter J Goatley, Ruth Goldenberg, Vance Haemmerle, Ki Suk Hahn,E SHarris, Fletcher Hearns, Phillip Helbig, Hein van H den Heuvel, Stephen Hoffman, Eberhard Heuser-Hofmann, ivC E B; OpenVMS Frequently Asked Questions (FAQ) D Sue Holt, Horn, Jaf, Leif Jansson, Kevin Jenkins,F Don Jones, Henry Juengst, inazu_k, Geoff Kingsmill,I Fred Kleinsorge, Felix Kreisel, Veli Korkko, Ruslan R. J Laishev, Norm Lastovica, p_lee, Jerry Leichter, RichardG Levitte, Steve Lionel, Kerry Main, John E. Malmberg,UJ David Mathog, Dale Miller, Dick Munroe, Patrick Moreau,J Morrison, otis, George Pagliarulo, Keith Parris, Plass,F pvhp, David Rabahy, Stan Rabinowitz, Mike Raspuzzi,H Steve Reece, Ian Ring, Aaron Sakovich, Warren Sander,F Mark Schafer, Brian Schenkenberger, Atlant Schmidt,F Wayne Sewell, Steven Shamlian, Sue Skonetski, ScottB Snadow, Scott Squires, stfp, Dave Sweeney, MikeI Thompson, Arne Vajhøj, Martin Vorländer, Peter Weaver,HE William Webb, Williams, Paul Winalski, Uwe Zinser. D Again, any omission from this list and any errorsE or misspellings are entirely unintentional. Please_G notify the FAQ Editor (hoff{atsign}hp{period}com) ofOD any omissions, corrections, or updates that mightD be needed within this list. And thanks to each ofG these individuals for their assistance and for theirHD contributions, and particularly for sharing their expertise. D __________________________________________________________( FAQ Archives and FAQ LocationsJ The OpenVMS FAQ is archived in (at least) the following locations: 7 o http://www.hp.com/go/openvms/faq/_@ o ftp://rtfm.mit.edu/pub/usenet/comp.os.vms/) o news://comp.answers1) o news://news.answers_* o http://www.faqs.org/, o http://www.google.com/0 o http://www.kjsl.com/vmsfaq9 o http://eisner.decus.org/vms/faq.htm_0 o http://www.hoffmanlabs.orgJ v  ; OpenVMS Frequently Asked Questions (FAQ) G Other internet FAQs are generally available in these  locations: ) o news://comp.answers ) o news://news.answers_4 o ftp://rtfm.mit.edu/pub/usenet/* o http://www.faqs.org/, o http://www.google.com/D __________________________________________________________5 FAQ File Formats and Production Information C This FAQ is available in ASCII text, Postscript,eF Bookreader, and HTML, and potentially in other fileJ formats. Certain formats, such as the Adobe Acrobat PDFF conversion from the Postscript format, are providedC downstream from the FAQ text formatting, and are_5 provided and maintained by others. I As the HTML-format FAQ is not a single monolithic (and I accordingly large) HTML file, it is the most difficult_B format to search using the most common standardF (platform-local) tools. Accordingly, the FAQ EditorF (hoff{atsign}hp{period}com) recommends downloading,A using and searching the ASCII text FAQ format. D The OpenVMS FAQ is maintained in DECdocument SDMLH format and all FAQ maintenance and the primary outputC file format conversions are performed on OpenVMS G systems. For information on the DECdocument product,_5 please contact Touch Technologies. D __________________________________________________________6 Old FAQ Section Notations Available in IndexI For the folks that are familiar with older editions of H this FAQ and specifically for those folks looking forH the older section name keywords, please see the indexH entries located under FAQ Sections (Old). These olderE section names include the prefixes DCL, DECW, DOC, I FILES, MISC, MGMT, INTRO, SOFT, VMS, etc., followed by & the section number. vi_  ; OpenVMS Frequently Asked Questions (FAQ)D __________________________________________________________ The Fine PrintF Corrections and suggestions are welcome. Should youJ believe you can provide better stewardship of this FAQ,G or should you have strong feelings over the content, H structure, organization or implementation of the FAQ,D do realize you may be offered the editorship. TheF editor maintains this document as a free service to) the OpenVMS community.iC While the information contained here is believed G correct, the use of any and all information acquiredaD from this document is entirely at the risk of theD user(s). If your system should crash or your dataF should become corrupted or the answer(s) found hereJ should be found erroneous, that is solely your risk and' your responsibility.1B Though the editor of this FAQ is an employee ofE Hewlett-Packard Company (HP), this posting and the F information contained within this FAQ are is not anH official statement of HP, nor a commitment by HP. AllG information, comments or opinions included, cited or_G otherwise referenced here may or may not reflect theSH stated opinions of HP, of the editor, or of any other entity.J All trademarks, registered trademarks, servicemarks andJ registered servicemarks used or referenced here are theF properties of their respective owner(s) or holders.D Please route any corrections, requests or relatedH updates to the FAQ Editor (hoff{atsign}hp{period}com)J The redistribution, reposting and/or the web-serving ofH complete and unaltered copies of this FAQ document isD permitted. Other uses only with prior permission.; The master copy of this FAQ is posted at_6 o http://www.hp.com/go/openvms/faqF Translations of this FAQ into various languages mayD be available, please contact the maintainer(s) ofE any translated document for assistance or feedback_F involving the particular translated edition of this FAQ._J vii 2 IJ _______________________________________________________ 1 Introduction D __________________________________________________________: 1.1 What core OpenVMS URLs do you need to know?D If you have no other OpenVMS URLs bookmarked, youC will want to be familiar with the URLs listed inH Table 1-1: J ________________________________________________________________" Table 1-1 Core WebsitesJ ________________________________________________________________J URL_______Contents______________________________________________D Core OpenVMS Information, including roadmaps and% release schedules ' http://www.hp.com/go/openvms/ B OpenVMS and Core Layered Product Documentation+ http://www.hp.com/go/openvms/doc/OF Core OpenVMS Support Search Engine URLs, FTP Patch AreaE http://askq.compaq.com/ (Natural Language Search Assistant)T! http://www.itrc.hp.com/ 0 ftp://ftp.itrc.hp.com/openvms_patches/( The OpenVMS Freeware0 http://www.hp.com/go/openvms/freeware/8 The OpenVMS Hobbyist License ProgramJ http://www.openvmshobbyist.org/_________________________________J 1-1 _ _ IntroductionID __________________________________________________________6 1.2 What are the OpenVMS Usenet Newsgroups?H There are a huge number of newsgroups available, someE of which discuss topics of interest to folks using D OpenVMS operating system. Key among these are theF comp.os.vms newsgroup and the vmsnet.* heirarchy of newsgroups.' _____________________________ @ 1.2.1 What is the scope of the comp.os.vms newsgroup?E The comp.os.vms newsgroup is the primary newsgroup_H for discussion of the HP OpenVMS operating system andI the computer systems on which it runs. Questions about_J layered products which run on OpenVMS are also welcome,I though many of them (in particular, language compilers_J and database systems) have more specific newsgroups. IfJ a question has some relationship to OpenVMS, it belongs" in comp.os.vms.' _____________________________O? 1.2.2 What newsgroups carry VMS-related information? F The vmsnet.* hierarchy is operated by the EncompassF users group (formerly known as DECUS), and containsH various newsgroups of interest, including vmsnet.misc$ and vmsnet.alpha.I Sprechen Sie Deutsch? Besuchen Sie bitte den newsgroupC" de.comp.os.vms.I The comp.sys.dec newsgroup carries general discussions F about various HP computer systems, and specificallyB systems that were acquired by HP as part of theF acquisition of Compaq, systems which had previouslyH been acquired by Compaq as part of the acquisition of; Digital Equipment Corporation (DIGITAL)._J Also of interest are resources and conferencing systemsI including Encompasserve (formerly known as DECUServe), J Ken Farmer's OpenVMS.Org forums, and the Compaq Working Group folks:30 o telnet://eisner.decus.org/- o http://www.openvms.org/  1-2   Introduction_8 o http://www.compaqworkinggroup.org/' _____________________________ 7 1.2.3 What newsgroup archives are available? > Extensive archives of INFO-VAX mailings andE comp.os.vms postings are archived and available at_6 SRI: ftp://crvax.sri.com/info-vax/.I Google also has extensive newsgroup archives available_ at_, o http://www.google.com/' _____________________________ 3 1.2.4 What is the INFO-VAX mailing list? F INFO-VAX is a mailing list which is bidirectionallyE gatewayed to the comp.os.vms newsgroup. This meansLI that postings to comp.os.vms get automatically sent to I INFO-VAX subscribers and messages sent to the INFO-VAX_I list are automatically posted to comp.os.vms. INFO-VAX F can be a useful way to participate in the newsgroupE if you can't access the newsgroup directly through G a newsreader. Note that INFO-VAX is a closed mailingAJ list, which means that only subscribers may post to it.G Please see Section 1.2.4.1 for information on how to I subscribe, and how you can subscribe such that you cangI post from multiple addresses but still receive no more 1 than one copy of the mailings.eE Please remember that propogation delays can and do3J vary, meaning that mailings and postings may be delayedC or even lost. It is quite possible that postings G may not be delivered for several days, and that some B postings will appear out of the expected order.D For details on the available archives, please see! Section 1.2.3.bJ 1-3 t a Introduction ' _____________________________ F 1.2.4.1 How do I subscribe to or unsubscribe from INFO-VAX?E The address for subscription requests is Info-VAX-bE Request[at]Mvb.Saic.Com. Subscription requests areoD handled automatically by a mail server. This mailE server ignores the subject line and processes each 4 line of the message as a command.H The syntax for subscribing and unsubscribing, as wellJ as setting various parameters on your subscription, is:C SUBSCRIBE INFO-VAX (ADD is a valid synonym) Z UNSUBSCRIBE INFO-VAX (REMOVE, SIGNOFF, and SIGN-OFF are valid synonyms)H SET INFO-VAX DIGEST (to receive in Digest format)Q SET INFO-VAX NODIGEST (to receive each message individually)V SET INFO-VAX NOMAIL (to establish an email address for posting,I though not receiving, mail.)_Z SET INFO-VAX MAIL (to establish an email address for both postingA and receiving mail.) A The mail server is not case-sensitive; case ishF irrelevant. Attempts to fetch copies of the mailingD list are rejected for reasons of confidentiality.G Any message not understood by the mailserver will ber1 returned entirely unprocessed. J The INFO-VAX moderator can be contacted directly at the? email address Mark.Berryman[at]Mvb.Saic.Com. G If you are on Bitnet, send a mail message containingtH the text SUBSCRIBE INFO-VAX to LISTSERVE[at][nearest-C Listserv-system). To unsubscribe, send a message C containing the text SIGNOFF INFO-VAX to the same # Listserv system.G If you are on the Internet in the UK, send a message_H containing the word SUBSCRIBE or UNSUBSCRIBE to info-4 vax-request[at]ncdlab.ulcc.ac.uk. 1-4  _ Introduction_D __________________________________________________________$ 1.3 What is [n]etiquette?D Before posting or emailing a question, please useE the available local resources, such as the OpenVMSCG manuals, the HELP, and the resources and informationUI in and referenced by this FAQ. Please use these first._F Also please specifically read the release notes andH (if appropriate) the cover letter for the product youH are using. (The release notes are generally placed inI SYS$HELP:.) Quite often, these simple steps will allow4J you to quickly find the answer to your own question-andG more quickly than waiting for a response to question D posted to a newsgroup, too. These steps will saveF you time, and will also help ensure you have a goodF reputation with the folks that might be included toF answer one of your future questions, a question notI covered in these resources. Put another way, if you doG not want your questions to be ignored in the future-5G and please remember that the folks in the newsgroups F do not have to answer your questions-you won't wantG to "annoy the natives" by asking a question that has E already been answered far more times more than you E might have realized, or a question whose answer is A readily available had you made a small effort._> When posting, please consider the following suggestions:AF o There is no particularly reliable way to recall,H erase, delete, or otherwise hide a message once itF is emailed or once posted. Once your message hasG reached an external email server or multiple news I servers, the entire text is effectively a permanent E fixture of the network. And using the available J search engines, a fixture that is easy to locate and# to correlate.AI For details on some of the many available archives, / please see Section 1.2.3._H o Include a valid e-mail address in the text of yourF posting or in a "signature" appended to the end.F Reply-to addresses in headers often get garbled.H Anonymous addresses can also simply be ignored, asI fake addresses are regularly used by folks that are J 1-5 _ _ Introduction_H "trolling" and by folks that are spamming. (ThoughE to avoid spam-harvesting of your email address,1D consider adding characters or a field into theJ address-but remember to include details around whichJ characters or fields should be removed or altered ifA you decide to be particularly clever here.)_D o If you are submitting a question, please be asG specific as you can. Include relevant information1G such as processor type, product versions (OpenVMS_I and layered products that apply), error message(s), D DCL command(s) used, and a short, reproducibleC example of problems. Say what you've tried so_H far, so that effort isn't duplicated. Keep in mindG that there's not yet a telepathy protocol for the H Internet. (The more detailed your description, theJ better that people can help you with your question.)G o If responding to a posting, include in your replyIJ only as much of the original posting as is necessaryI to establish context. As a guideline, consider that_E if you've included more text than you've added,LF you've possibly included too much. Never include? signatures and other irrelevant material.dD o Please be polite. If the question isn't wordedE the way you think is correct or doesn't includenC the information you want, try to imagine what F the problem might be if viewed from the poster'sC perspective. Requests for additional detailed_D information are often better sent through mail: rather than posted to the newsgroup.A o If you have a problem with HP (or any other C vendor's) product, please use the appropriate C support channel. Do not assume that newsgroup I postings will get read, will be responded to by the J appropriate developers, or will be later followed up upon._H o If you are posting from a web browser, news readerG or if you are posting via email sent to INFO-VAX,_I please turn off MIME, vcard, attachments, and otherTD mechanisms that assume anyone reading the postH has the corresponding capability-use the text-only 1-6  E Introduction_I option of your web browser, news reader, or mailer.ME Usenet is traditionally a text-only medium, and G many comp.os.vms participants will use tools that2J have this support disabled, or that do not have thisI support. If the message uses MIME or attachments orCH such, the text of your message will be buried in aG large pile of gibberish, and some tools will sendOJ multiple copies of the text within a single posting.H o If you find that the postings of a particular userE are uninteresting, annoying, or off-topic, mostPI newsreaders include a filter or killfile mechanism, B and many mail clients have similar filteringH capabilities. Please do not "flame"-to email or toI post vitriol - any individual that might annoy you,_J please enable and filter all of that users postings.H Posting of vitriol and flames will eventually comeG back to haunt you. Similarly, readers that decidetG that your postings are not worthy of reading will I similarly tend to filter or to killfile all of yoursA postings. Please play nice, in other words._B Before posting your question to the comp.os.vmsJ newsgroup or sending your message to the INFO-VAX list,J also please take the time to review available etiquetteF information, such as that included in the following documents:24 widftp://rtfm.mit.edu/pub/usenet/6 news.answers/usenet/primer/part14 widftp://rtfm.mit.edu/pub/usenet/3 news.answers/usenet/faq/part1 4 widftp://rtfm.mit.edu/pub/usenet/> news.answers/usenet/emily-postnews/part14 widftp://rtfm.mit.edu/pub/usenet/= news.answers/usenet/writing-style/part1,4 widftp://rtfm.mit.edu/pub/usenet/= news.answers/usenet/posting-rules/part1 J 1-7 1  Introduction B This information will document the etiquette ofJ newsgroups, as well as providing you with the knowledgeH the vast amount of newsgroup-related information thatG is readily available to you, and where to find it... 1 NoteaA Please do not post security holes or system  crashersF Rather, please report these problems directly toE HP. Why? So that HP has a chance to resolve andtF distribute a fix before other customer sites can" be affected.A Most folks in the newsgroups are honest anda> deserve to know about potential securityA problems, but a few folks can and will makePC nefarious use of this same information. Other ? sites will hopefully return the courtesy,d= and will not post information that will ? potentially compromise your site and yourm+ computer environment. D __________________________________________________________8 1.4 What OpenVMS user group(s) are available?C Encompass, the Enterprise Computing Association,wF is a user group comprised of information technologyG professionals that are interested in the Enterprise-?C oriented products, services, and technologies of_E Compaq and of the former DIGITAL. Encompass offers_I newsletters, the Encompass website, and offers various F gatherings and related services, including symposia9 events and local users group meetings. I Encompass is a descendent of the organization known as G DECUS, the Digital Equipment Computer Users Society. F For more information on Encompass, please visit the& Encompass web site:1 o http://www.encompassus.org/7 1-8 n  Introduction2F The organization comprised of customers of Hewlett-J Packard Company (HP) that is probably most analogous to9 the Encompass organization is Interex: - o http://www.interex.org/MB Like Encompass, Interex offers various servicesF and events of interest to folks that presently workG with and/or that wish to learn about HP products and I offerings. Please see the Interex website for details._D __________________________________________________________7 1.5 OpenVMS Support, Questions and Comments?F The following section includes contacts for OpenVMSG Feedback, and information on how to obtain technical_' support information. ' _____________________________(@ 1.5.1 Corporate contacts for OpenVMS Business Issues?H The following folks are the HP corporate contacts forF OpenVMS business issues, listed in descending orderI from Carleton (Carly) Fiorina to the Vice President ofn8 the OpenVMS Engineering organization:# o Carly Fiorina # o Ann Livermorei$ o Scott Stallard& o Richard Marcello1 o Mark Gorham; the OpenVMS VPcC These folks will quite obviously respond best topC cogently-worded OpenVMS corporate-level businessrG issues. These folks are not appropriate contacts foruE technical support issues nor for technical supportpE requests, nor for any other non-corporate-related, / non-business-related issues.fJ 1-9 _  Introduction ' _____________________________a% 1.5.2 OpenVMS Ambassadors?vG The OpenVMS Ambassadors are senior HP engineers withtH advanced technical knowledge and advanced training inI OpenVMS, with detailed knowledge of current and futuresH OpenVMS releases and product plans, and with contactsE directly with the HP and ISV hardware and softwareC engineering organizations developing OpenVMS and J OpenVMS hardware platforms, as well as layered productsG and tools. Further, Ambassadors are experienced with B integrating HP OpenVMS and application-specificB products and ISV applications to solve specific) business requirements. F OpenVMS Ambassadors are based throughout the world.F Your HP sales representative or HP reseller will beG able connect you with your local OpenVMS Ambassador.a' _____________________________eD 1.5.3 Contact for OpenVMS Marketing Issues and Questions?* Please see Section 3.5.' ______________________________; 1.5.4 Contact URLs for OpenVMS Technical Issues?nE For technical issues and technical support, pleaseoF contact your software support organization, or yourF local HP Customer Support Center or HP Reseller. In? North America, you can call 1-800-HP-INVENT.nJ Please remember to review and to bookmark the following support URLs:3 o http://www.hp.com/go/openvms/f- o http://askq.compaq.com/ : o http://www.hp.com/go/openvms/wizard/< o ftp://ftp.itrc.hp.com/openvms_patches/ 1-10s Q J _______________________________________________________& 2 General InformationD __________________________________________________________4 2.1 What is OpenVMS? What is its history?J OpenVMS, originally called VMS (Virtual Memory System),H was first conceived in 1976 as a new operating systemC for the then-new, 32-bit, virtual memory line ofaC computers, eventually named VAX (Virtual AddressQ eXtension).J The first VAX model, the 11/780, was code-named "Star",D hence the code name for the VMS operating system,F "Starlet", a name that remains to this day the nameD for the system library files (STARLET.OLB, etc.).H VMS version X0.5 was the first released to customers,J in support of the hardware beta test of the VAX-11/780,G in 1977. VAX/VMS Version V1.0 shipped in 1978, along 7 with the first revenue-ship 11/780s. > OpenVMS was designed entirely within HP andC specifically within the former Digital Equipment H Corporation (DIGITAL). Two of the principal designersI were Dave Cutler and Dick Hustvedt, though with a wide G variety of other contributors. OpenVMS was conceived D as a 32-bit, virtual memory successor to the RSX-C 11M operating system for the PDP-11. Many of the D original designers and programmers of OpenVMS hadG worked previously on RSX-11M, and many concepts fromf8 RSX-11M were carried over to OpenVMS.I OpenVMS VAX is a 32-bit, multitasking, multiprocessingr; virtual memory operating system. Current G implementations run on VAX systems from HP and other  vendors.rJ OpenVMS Alpha is a 64-bit multitasking, multiprocessing; virtual memory operating system. CurrentGJ implementations run on Alpha systems from HP, and other vendors.uJ 2-1  & General InformationB OpenVMS has also been ported to the Intel IA-64A architecture, and specifically to HP IntegrityeG systems using microprocessors from the Intel ItaniumeF Processor Family. This implementation of OpenVMS isI officially known as "HP OpenVMS for Integrity Servers"nF and more commonly as "OpenVMS I64", and it operatesC in the native Itanium IA-64 architecture and 64-rD bit environment. OpenVMS I64 provides support forJ applications requiring 32- or 64-bit virtual addressingI capabilities entirely within the native 64-bit ItaniumhJ execution environment. (For details on this and related; terminology, please see Section 14.4.5.)_G For more details on OpenVMS and its features, pleasecD read the OpenVMS Software Product Description at:5 o http://www.compaq.com/info/spd/ H OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.D Additional information on the general features ofJ various OpenVMS releases, release dates, as well as theJ development project code names of specific releases, is available at:G o http://www.openvms.compaq.com/openvms/os/openvms-w* release-history.htmlH Additional historical information-as well as picturesH and a variety of other trivia-is available in the VAX) 20th anniversary book:aL o http://www.openvms.compaq.com/openvms/20th/vmsbook.pdfJ For information on the FreeVMS project, and on hobbyistC and educational versions of OpenVMS, please see:p. o http://www.free-vms.org/5 o http://www.openvmshobbyist.org/_0 o http://www.openvmsedu.com/H Also please see the related software licensing topicsB Section 2.8.4, Section 2.8.1, and Section 2.15. 2-2 i & General InformationD __________________________________________________________> 2.2 What is the difference between VMS and OpenVMS?G VMS and OpenVMS are two names for the same operatingtF system. Originally, the operating system was calledF VAX-11/VMS; it changed to VAX/VMS at around VAX/VMSH V2.0. When the VMS operating system was ported to theG Alpha platform, it was renamed OpenVMS, for both VAXAG and Alpha (and for the Itanium Processor Family), inoJ part to signify the high degree of support for industryH standards such as POSIX, which provides many features# of UNIX systems.aD For those versions with POSIX, an OpenVMS licenseE allows you to install and run POSIX for OpenVMS attF no additional charge; all you need is the media andG documentation which can be found on the Consolidated_J Distribution and On-Line Documentation CD-ROMs. SupportH for the POSIX package on more recent OpenVMS releasesI is not available, various parts of POSIX such as calls G from the API are being integrated more directly into E OpenVMS. For more information on POSIX for VMS see! question SOFT2cE What became confusing is that the OpenVMS name was D introduced first for OpenVMS AXP V1.0 causing theF widespread misimpression that OpenVMS was for AlphaF AXP only, while "regular VMS" was for VAX. In fact,D the official name of the VAX operating system wasJ changed as of V5.5, though the name did not start to be; actually used in the product until V6.0. D __________________________________________________________: 2.3 What's in a Name? Terminology and Products?H The proper names for OpenVMS on the various platformsI are "OpenVMS VAX", "OpenVMS Alpha", and "OpenVMS I64".sH Use of "OpenVMS AXP" and of "VAX/VMS" are deprecated.F The VAX and Alpha terms are largely interchangeablyB used as the names of platforms, of processor orH microprocessor implementations, and of the respective+ computing architectures. J 2-3 e & General InformationG Somewhat confusing to long-time OpenVMS users, Intel J IA-32, IA-64, and EM64T, and AMD AMD64 are the names ofG various computing architectures and of architecturalrC extensions. Only. These are not the names of anyf9 implementations, nor of any platforms. J Intel Itanium is the name of a family of microprocessorF implementations of the Intel IA-64 architecture, asF Intel Pentium and Xeon are the names of families ofD microprocessor implementations of Intel IA-32 and9 (potentially) of the EM64T extensions.eG I64 is the generic name for the various HP IntegrityfJ platforms supported by HP OpenVMS for Integrity ServersJ (and more commonly as "OpenVMS I64"); for the platformsD supported by OpenVMS I64. (For additional related; terminology, please see Section 14.4.5.)m' _____________________________m3 2.3.1 How do I port from VMS to OpenVMS? @ You already did. Wasn't that easy? Please see+ Section 2.2 for details.tD __________________________________________________________0 2.4 Which is better, OpenVMS or UNIX?H This question comes up periodically, usually asked byI new subscribers amd new posters who are long-time UNIXiE or Linux users. Sometimes, the question is ignoredE totally; other times, it leads to a long series of G repetitive messages that convince no one and usually_J carry little if any new information. Please do everyoneJ a favor and avoid re-starting this perpetual, fruitless debate.G That said, OpenVMS and the better implementations ofME UNIX are all fine operating systems, each with itshD strengths and weaknesses. If you're in a positionE where you need to choose, select the one that best H fits your own requirements, considering, for example,E whether or not the layered products or specific OS_G features you want are available, and considering therF expected cost-of-ownership over the lifetime of the' system installation.  2-4 M n& General InformationD __________________________________________________________@ 2.5 Is HP continuing funding and support for OpenVMS? Yes.mJ Active development of new OpenVMS releases is underway,: as well as the continuation of support.G Please see the following URLs for details, roadmaps,s+ and related information: 3 o http://www.hp.com/go/openvms/sD __________________________________________________________< 2.6 What OpenVMS distribution kits are available?7 Various distributions are available. I For the most current information on the available partaE numbers and current products (OpenVMS distributionhH kits, media, documentation, etc) and the most currentC associated licensing information, please see theeE current OpenVMS Software Product Description (SPD)n* document, available at:5 o http://www.compaq.com/info/spd/_H OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.nC The CD-ROMs listed in Table 2-1 contain just thefG OpenVMS Alpha operating system. The operating systemtI distribution kits are bootable, and can be used to run J BACKUP from the optical media, as well as performing an+ installation or upgrade. J ________________________________________________________________- Table 2-1 OpenVMS Alpha Media KitsOJ _______________________________________________________J Part______________Description__________________________D QA-MT1AG-H8 OpenVMS Alpha V6.2-1H3 hardwareF release CD-ROM; also requires QA-1 MT1AA-H8.6.2 E QA-MT1AR-H8 OpenVMS Alpha V7.1-2 maintenance3 release CD-ROMiJ 2-5 T c& General InformationJ ________________________________________________________________5 Table 2-1 (Cont.) OpenVMS Alpha Media KitstJ _______________________________________________________J Part______________Description__________________________E QA-MT1AT-H8 OpenVMS Alpha V7.2-1 maintenance 3 release CD-ROMsE QA-MT1AU-H8 OpenVMS Alpha V7.2-2 maintenanceU3 release CD-ROM G QA-MT3AA-H8 OpenVMS Alpha and VAX products and < documentation on CD-ROMH QA-MT3AE-H8 OpenVMS Alpha and VAX documentationJ ___________________________on_CD-ROM____________________________F OpenVMS I64 is distributed on DVD-ROM media, and isF bootable. OpenVMS I64 licensing is implemented on aG per-processor-socket basis, with the classic licensesG tiers based on the numbers of processor sockets thatrE can be present. Further, three general product andnD licensing groupings are optionally available withD OpenVMS I64, the Foundation Operating EnvironmentI (FOE), the Enterprise Operating Environment (EOE), and H (as/when/if available) the Mission Critical OperatingH Environment (MCOE). Seperate per-product licenses areG generally also available for various of the products ; within the Operating Environment groups. J ________________________________________________________________. Table 2-2 OpenVMS I64 Order NumbersJ _______________________________________________________J Part______________Description__________________________< BA322AA#??? OpenVMS I64 FOE Product< BA323AA#??? OpenVMS I64 EOE ProductJ _________BA324AA#???_______OpenVMS_I64_MCOE_Product_____________D The product suffix required for the order numbersA listed in Table 2-2 can be found in Table 2-3.y 2-6  & General InformationJ ________________________________________________________________- Table 2-3 OpenVMS I64 Media SuffixpJ _______________________________________________________J Suffix____________Description__________________________C A18 OpenVMS I64 FOE V8.2 DVD media > AJR OE media kit on DVD mediaJ _________0D1_______________Factory_installation_________________D The OpenVMS VAX and OpenVMS Alpha source listingsE CD-ROM sets listed in Table 2-4 include the sourcebE listings of most of OpenVMS, and these CD-ROM setsuE are invaluable for any folks working directly withpD OpenVMS internals, as well as folks interested inE seeing examples of various programming interfaces.aJ ________________________________________________________________1 Table 2-4 OpenVMS Source Listings KitsuJ _______________________________________________________J Part______________Description__________________________J QB-MT1AB-E8 OpenVMS Alpha Source Listings kit and, licenseJ QT-MT1AB-Q8 OpenVMS Alpha Source Listings UpdatesH QB-001AB-E8 OpenVMS VAX Source Listings kit and, licenseH QT-001AB-Q8 OpenVMS VAX Source Listings UpdatesH BA422AA OpenVMS I64 source listings kit andJ ___________________________license______________________________I Additional OpenVMS packages and technologies includingoD NetBeans, XML, SOAP, UDDI, JDK, Perl, Tomcat, SSLG and such are discussed within the OpenVMS e-BusinessaI Infrastructure Package SPD 80.58.xx. Again, please seetI the OpenVMS SPD and the documents and parts referenced: there for the most current information.J 2-7  & General InformationD __________________________________________________________3 2.7 In what language is OpenVMS written?tE OpenVMS is written in a wide variety of languages.eA In no particular order, OpenVMS components areH implemented using Bliss, Macro, Ada, PLI, VAX and DECG C, Fortran, UIL, VAX and Alpha SDL, Pascal, MDL, DECfI C++, DCL, Message, and Document. And this is certainly F not a complete list. However, the rumor is NOT trueI that an attempt was made to write pieces of OpenVMS in J every supported language so that the Run-Time LibrariesI could not be unbundled. (APL, BASIC, COBOL and RPG areu? just some of the languages NOT represented!) F There are a large variety of small and not-so-smallI tools and DCL command procedures that are used as partiI of the OpenVMS build, and a source code control systemoH capable of maintaining over a hundred thousand sourceG files across multiple parallel development projects,n, and overlapping releases.D __________________________________________________________: 2.8 Obtaining and Transfering OpenVMS licenses?? The following sections describe hobbyist andlJ educational license programs, as well as information on5 commercial licenses and transfers.iF For information on the available commercial OpenVMSE licenses and for information on license transfers,oF please see Section 2.8.4. OpenVMS Hobbyist licensesB are discussed in Section 2.8.1. For informationC on the licensing implementation, troubleshootingrG licensing problems, on the License Unit Requirements F Table (LURT), and other related details, please seeI Section 5.39. For configuring and troubleshooting LMF,a$ see Section 12.5. 2-8  l& General Information' _____________________________s? 2.8.1 Questions asked by Hobbyist OpenVMS licensees?lE If you are a member of an HP-recognized user groupiG (eg: Encompass, Enterex, DECUS), and are consideringcJ acquiring and using a VAX, Alpha or (soon) IA-64 systemD for hobbyist (non-commercial) use, (free) licenseE product authorization keys (PAKs) for OpenVMS VAX,nJ OpenVMS Alpha, (soon) OpenVMS I64, and layered products! are available. C In addition to the license keys, OpenVMS VAX andfB Alpha distribution CD-ROM distribution kits areC available with OpenVMS, DECwindows Motif, DECnetiB and TCP/IP networking, compilers, and a varietyD of layered products. (A hobbyist distribution forD OpenVMS I64 is expected.) (While the hobbyist CD-F ROM distributions are intended for and tailored forJ OpenVMS Hobbyists, the contents and capabilities of theI Hobbyist installation kits included within the OpenVMStH Hobbyist distribution do not differ from the standardJ distribution installation kits. The products are chosenE to reflect the most popular products and the spacei+ available on the media.)uJ If you have questions on what else is authorized by theI license agreement and on what other distribution mediatH is available to you, well, please read the applicable1 software license agreement(s). ; For further information, please link to: 5 o http://www.openvmshobbyist.org/nD On the OpenVMS Hobbyist license registration formD at the above website (as of August 2004), you areJ offered the choice of the "OpenVMS VAX" license(s), theI "OpenVMS Alpha" license(s), and the "Layered Products"dG licenses. You will want the operating system license D for your particular OpenVMS platform and you willF want the "Layered Products" licenses. You will wantE to select and to acquire two sets of license PAKs.nG For vendors wishing to license products specifically E for hobbyist use (and to not issue hobbyist PAKs),eF the program provides hobbyists with the license PAK$ OPENVMS-HOBBYIST.J 2-9 r a& General InformationB If you plan to use a hardware emulator (eg: VAXG emulator) on a Microsoft Windows platform, make surehC you have an OpenVMS distribution kit that can behG installed and/or booted with the particular emulatorsI package you plan to use. For additional information onoG emulators, please see Section 13.13 and particularlyoA please see the emulator-related documentation.e' _____________________________ 7 2.8.2 OpenVMS Educational and CSLG licenses? F For information on OpenVMS licenses for educational? customers, please see the HP Campus SoftwareG License Grant (CSLG) license program and the OpenVMSp/ Educational license program: 0 o http://www.openvmsedu.com/' _____________________________oB 2.8.3 What developer and partner licensing programs are available?sF Commercial software developers can join the HP DSPPC program, and can (potentially) receive discountstD on various software product licenses and softwareC distributions, as well as on hardware purchases.b0 o http://www.hp.com/go/dspp/I The DSPP program is the descendent of the DIGITAL ISVN H and DIGITAL ASAP programs and the Compaq CSA program,J and the analogous developer and partner programs at HP.H Please see Section 2.15 for additional details on the DSPP program.? For information on the OpenbVMS Hobbyist anddC OpenVMS Educational license programs, please seet! Section 2.8.1.  2-10t p i& General Information' _____________________________@ 2.8.4 How do I obtain or transfer an OpenVMS license?J To transfer a commercial OpenVMS license from one ownerG to another, or to purchase a commercial license, youG can contact HP at regional sales office or reseller._J For information on the hobbyist license program, please% see Section 2.8.1.lD __________________________________________________________= 2.9 Does OpenVMS support the Euro currency symbol?yH OpenVMS can generate the %xA4 character code used forG the Euro, and the DECwindows DECterm can display thenJ glyph. Please check with the vendor of your terminal or< terminal emulator for additional details.D __________________________________________________________F 2.10 OpenVMS Ports? Itanium? Ports to IA-32, EM64T or AMD64 systems?H OpenVMS has been ported to and is operational on fourI architectures: VAX, Alpha, IA-64, and IA-32. The firsteD three have available native ports of OpenVMS, theG fourth is available via emulation. VAX is the oldest E architecture, and limited to 32-bit virtual and upeE to 34-bit physical addressing. The Alpha and IA-64eD architectures are both 64-bit architectures, withE 64-bit virtual addressing available. The available F IA-32 emulation is provided for the OpenVMS VAX andE other VAX operating systems, and provides a 32-bit E VAX environment. For additional information on the 7 emulation, please see Section 13.13. H As for (the lack of) a native port for IA-32, OpenVMSF Engineering presently and continues to believe thatD there would be insufficient market (read: profit,E customer interest) to justify the cost involved in F a native port of OpenVMS to systems using the IntelF IA-32 architecture. In addition to the direct costsJ involved in any port and in addition to the substantialD effort involved in moving backwards from a 64-bitI environment on Alpha and on IA-64 to a 32-bit platformfJ (such as IA-32), and the exceedingly non-trivial deviceH qualification costs and the costs in moving backwardsE into older PCI and I/O environments (IA-32 systemsiJ 2-11 y & General InformationG more than a few years old have equivalently aged I/O H support and buses), each organization and each personF maintaining a product or a package for OpenVMS willF have to justify a port to "OpenVMS IA-32", "OpenVMSG EM64T" or "OpenVMS AMD64", akin to the decisions andoH the effort involved in porting a product from OpenVMSA VAX to OpenVMS Alpha, the port to OpenVMS I64.vE Platform ports of many of the various products canIG be easy, and many of the ports of applications usingeF documented OpenVMS features are expected to requireH little more than a source rebuild. Other products canE and do depend on platform-specific or undocumentedaA features, and the associated ports can be more G involved. Regardless, ports of operating systems arecE very large and involved projects. The prerequisite G product requirements for an OpenVMS operating systemB port are also non-trivial, as well-compilers inF particular are obviously required, and the suite ofI compilers provided must maintain a very high degree of J source-level compatibility across the platforms. In theG case of the HP Integrity port, OpenVMS I64 V8.0 usedfG cross-compilers and cross-tools operating on OpenVMStJ Alpha systems, while V8.2 and later have various native' compilers available.rE The OpenVMS I64 port was centrally built using the_I existing OpenVMS Alpha environment and around the workpE and the knowledge from the OpenVMS Alpha port, andiG OpenVMS Engineering fully expects that customers andaG ISVs will use and will continue to use OpenVMS Alpha I systems to assist with their own ports to OpenVMS I64.nE OpenVMS Engineering fully expects to see customersfJ using mixed-architecture clusters and fully shared file$ systems, as well.E OpenVMS Engineering is well aware of the AMD AMD64I (64-bit) platform and processors. (At least one of the G available VAX emulators can reportedly utilize parts G of the AMD64 instruction set, please contact the VAX E emulator vendor(s) or maintainer(s) for assistanceTF and details on their products.) OpenVMS EngineeringE is also well aware of the Intel EM64T platform andeJ processors. There are no plans to provide a native port 2-12e i & General InformationG of HP OpenVMS for any systems based on the AMD AMD641 nor Intel EM64T architectures. J As part of the work leading to the Itanium port, seniorG engineers had extensively evaluated the products andSF the architectures available across the high-end 64-D bit computing space, and chosen to target ItaniumF for 64-bit environments-this while under the CompaqJ organization. This included looking at IA-32. HP (a co-I developer of Itanium with Intel) had seperately chosenaD to target Intel Itanium for its high-end computerG products. Compaq then announced plans for the futureeF of Alpha through EV7-series products and platforms,G and HP (entirely seperately) announced plans for PA-pF RISC products and platforms. The Itanium target hasF been maintained consistently since the Itanium portJ was announced by Compaq, and has also been consistentlyJ maintained by HP and by the combined company. For thoseJ folks prefering to follow the schedules and the productG deliveries, OpenVMS Engineering had OpenVMS I64 V8.0IE ready (internally) ahead of schedule-and with more F features available within the release than had beenG originally planned for the release. (For informationnC on and for schedules of future OpenVMS releases,eJ please see the roadmap that is available at the OpenVMS website.)H OpenVMS I64 itself does not require and does not planF to utilize the Itanium IA-32 32-bit environment forH the operation of OpenVMS itself. OpenVMS I64 V8.0 andF later run natively on the Itanium processor family,C with no use of IA-32 instructions. While OpenVMS C can and does support 32-bit OpenVMS applications1E and addressing on Itanium, this is done with sign-_H extension addressing techniques entirely analogous toF what was done with 32-bit applications operating inH the 64-bit Alpha environment. Both OpenVMS 32-bit andH 64-bit applications operate within the native ItaniumG instruction set and run-time environment, and do not 5 use the Itanium IA-32 environment.eJ 2-13  & General InformationH But yes, a native IA-32 port or a native AMD AMD64 orF Intel EM64T port of OpenVMS would certainly be niceE to have-this, of course, following the traditionalrI Linux preference for having a Linux port available for E most (all?) computer architectures known, and evenwC for certain high-end refrigerators and toasters, D and similar appliance-like devices. (The downsideC of this all-encompassing approach: this requiresnC near-infinite engineering and support costs fromeF the various vendors involved, and the qualificationF efforts and costs of most everything-everywhere. OrH reduced or eliminated testing and support efforts. OrG an unfortunate combination of these two. These costsyG are huge, and the benefits derived from the work areDF comparatively small when given the comparable costsH of more targeted (and thus supported and supportable)G hardware configurations-the platform targets are and.D must be carefully selected and considered by eachI vendor. Put another way, there are no plans to provide I a native port of HP OpenVMS for systems based on Intel G IA-32 processors, nor for systems based on AMD AMD64l@ nor Intel EM64T architecutres and processors.B All this material having been written, have youE looked at the system configurations and pricing of I the available HP Integrity Intel Itanium systems? Low-H end computer hardware is clearly a commodity product,F and the systems are priced, serviced, upgraded, andE replaced accordingly. Intel Itanium is a commoditysG microprocessor presently used in platforms availablesG from various hardware vendors, including (obviously)lJ from HP. Further, Itanium is a microprocessor availableF from and supported by Intel, a semiconductor vendorC known for exceedingly high-volume microprocessorrC fabrication process and production capabilities.iI For information on supported platforms and processors,eF please see the OpenVMS Software Product Description (SPD) at:5 o http://www.compaq.com/info/spd/eH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.  2-14P u D& General Information> Please see Section 14.4.5 for Intel Itanium terminology. D __________________________________________________________A 2.11 Are there any network-accessible OpenVMS systems?VE Yes, though various restrictions can and do apply.t o HobbesB Hobbes is a MicroVAX 3100 Model 40 for whichG free access and accounts are available to OpenVMS J enthusiasts. This system has BASIC, Pascal, Fortran,E and C compilers installed. If you would like anv> account on Hobbes, please see the FAQ at4 o http://www.hobbesthevax.com// o OpenVMS Galaxy Test-Drive F HP currently offers an OpenVMS Galaxy Test-DriveA system, based on an AlphaServer 4100 series J configured as two instances of the OpenVMS operating8 system. For details, please visit:4 o http://www.testdrive.hp.com/( o HP DSPP Test-DriveC The HP DSPP program offers various test-drive @ systems, including an HP Integrity Itanium> development system and an HP OpenVMS I64D installation on an HP Integrity rx2600 server.G (The DSPP program can offers discount, LMF PAKGENmD PAK generation support, and other benefits forF developers.) For details on the DSPP program andC on the test-drive systems, please see sectionm5 Section 2.8.3 and please visit:i4 o http://www.testdrive.hp.com// o http://www.hp.com/dspp/iE The test-drive systems do require registration,u; though access to the systems is free.d# o Encompasserve G Encompasserve offers free access an OpenVMS Alphae system. 2 o telnet://eisner.decus.org/J 2-15  & General Information o OpenECSoH OpenECS offers free access to a VAX 6000 model 530: system. If interested, please visit:1 o http://vax6k.openecs.org/ * o The Deathrow ClusterJ The maintainers of the Deathrow Cluster offer accessD to an OpenVMS VAX and an OpenVMS Alpha system,. configured in a cluster.4 o telnet://deathrow.vistech.ne; o The Preatorian Public OpenVMS ClusterrJ The maintainers of the Deathrow Cluster offer accessE to an OpenVMS Alpha cluster. Details are at thea+ website listed below: 2 o http:://www.preatorian.netD __________________________________________________________2 2.12 What version of OpenVMS do I need?E For information on supported platforms, please seedI the OpenVMS Software Product Description (SPD) for thes: particular OpenVMS version of interest.5 o http://www.compaq.com/info/spd/eH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.I For a table of the minimum and (as applicable) maximum J OpenVMS versions required for various platforms, pleaseG see the hardware support chart at HP OpenVMS website J and (as available) the following (potentially volatile;' intra-website) link: ; o http://h71000.www7.hp.com/openvms/hw_ ' supportchart.html ? For information on the Multia, related Alphag> single-board computers, or other officiallyE unsupported systems, please see Section 14.4.1 andt$ Section 14.4.2.1. 2-16m  & General InformationF The following is a rule-of-thumb for Alpha platformE support. The table Table 2-5 contains the earliestcF OpenVMS Alpha release with support for a particular3 series of Alpha microprocessors: J ________________________________________________________________8 Table 2-5 OpenVMS Alpha Version Rule-Of-ThumbJ _______________________________________________________4 MicroprocessorOpenVMSJ Generic_____Generation____Version_____General_Comments_E EV4 21064 V1.0 few systems;fI most EV4 requireyG later; upgrade_B availableC EV5 21164 V6.2 subsequentiJ upgrade availableC EV56 21164A V6.2-1H3 subsequent H upgrade to V7.1B and laterC EV6 21264 V7.1-2 subsequentyJ upgrade typicallyE to V7.2-1 ord> laterC EV67 21264A V7.1-2 subsequenteJ upgrade typicallyE to V7.2-1 orn> laterK EV68 21264B, C V7.2-1 believed/probable;oE and D currently an D unconfirmedJ _______________________________________________expectation______? Specific hardware present and various systemnJ configurations can require OpenVMS Alpha releases later6 than those referenced in Table 2-5.J 2-17 n O& General InformationD __________________________________________________________2 2.13 How can I submit OpenVMS Freeware?G For the guidelines and submission info, please visit/ the URL:_< o http://www.hp.com/go/openvms/freeware/C To order the current OpenVMS Freeware CD-ROM kit H (shipping and handling charges apply), please request+ part number QA-6KZAA-H8.D __________________________________________________________0 2.14 Porting applications to OpenVMS?G Porting can range from simple to rather complex, and,I depends on the features used on the original platform.iI This section covers generic porting, and porting among G OpenVMS VAX OpenVMS Alpha, and OpenVMS I64. (PortingiC among OpenVMS VAX, OpenVMS Alpha and OpenVMS I64 F is often quite simple and involves little more thanJ rebuilding from source, though a few applications usingI features specific to the platform or the architecture,dJ or using undocumented or unsupported interfaces can andG likely will require some additional effort to port.)_I Several manuals on porting from OpenVMS VAX to OpenVMS-H Alpha are available in the OpenVMS documentation set,I including information on porting VAX Macro32 assemblerrD code to the Macro32 compiler on OpenVMS Alpha, onH management differences, on upgrading privileged code,- and application migration: 7 o http://www.hp.com/go/openvms/doc/QH Documentation on porting to OpenVMS I64 is available, as well.I Details on the C programming environment are available at:C o http://www.openvms.compaq.com/commercial/c/c__ index.html 2-18- C .& General InformationI Details on porting VAX C to HP C are are available at:_G o http://www.openvms.compaq.com/commercial/c/index_T vax.htm-> An OpenVMS Porting Library is available at:M o http://www.openvms.compaq.com/ebusiness/Technology.html H Information on the Enterprise Toolkit, a Visual-basedJ development environment for developing applications forG OpenVMS using a Microsoft platform, is available at: E o http://www.openvms.compaq.com/commercial/et/et__ index.htmlC Details on DCE, CORBA, BridgeWorks, and COM/DCOM . middleware is available at:N o http://www.openvms.compaq.com/commercial/middleware.htmlD Information on the COE standards is available at:1 o http://diicoe.disa.mil/coe/rF A wide variety of programming development tools andG middleware are available as commercial products (eg:hC DECset, IBM WebSphere MQ-formerly MQseries), andeF various tools are also available as shareware or asG Freeware. Please see other sections of this FAQ, andt please see:: o http://www.compaq.com/csa/directory/D __________________________________________________________@ 2.15 What resources are available to OpenVMS software developers? G The HP Developer and Software Product Partner (DSPP)_D program is open to and intended to support and toH assist HP OpenVMS software partners, consultants, and% service providers:t- o http://www.hp.com/dspp/IJ DSPP provides members with various benefits, please see+ the website for details.uJ 2-19 c b& General InformationG For those not familiar with the DSPP program or with_G its history, the DIGITAL Association of Software andlF Application Partners (ASAP) program and the DIGITALF Independent Software Vendors Network (ISVN) programI were incorporated into the Compaq CSA program, and the J CSA program has subsequently been incorporated into the# HP DSPP program. I Please see Section 2.8.3 for additional details on the DSPP program.D __________________________________________________________? 2.16 memory management, resource management, process scheduling, etc?I So you have been instructed to write a school research C paper on OpenVMS, and you need technical content F on the OpenVMS Virtual Memory System, on any memoryG segmentation, on OpenVMS Resource Management, on theF OpenVMS File System, on the OpenVMS user interface, etc._E Invariably, your professor/instructor/teacher willrD ask you a series of questions. Most commonly, theH questions will request descriptions of one or more ofH the following items, and at varying levels of detail:5 o process scheduling algorithm(s)O0 o Interprocess comunicationsB o Process or system synchronization constructs= o Memory management and/or virtual memory $ implementation0 o RMS or XQP file structures) o Resource management + o History of HP OpenVMSgC o History of Compaq and/or of Digital Equipment,' Corporation (DEC)  2-20e S B& General InformationE Any particular presentation or research paper, anddC particularly a scholastic presentation, can have F many different potential target audiences, and veryD different presentation levels. Further, the usualE underlying reason for scholastic presentations and_G scholastic research projects really has little to doE with the subject matter, it is a task specificallyeD intended to teach the student(s) (eg: you) how toE perform the research. The instructor already knowsDG most of (all of?) the information that you have beenE$ asked to collect.D For very technical details on OpenVMS and OpenVMSI internals, the book you want is the Internals and DatatE Structures Manual (IDSM), available in your schooloH or computing center library, and the IDSM can also beG purchased. Additional technical details of the AlphaoI microprocessor are available in the Alpha ArchitecturerG Reference Manual documentation that is available formG download. (Pointers to Alpha technical documentation A are available in Section 14.6, and elsewhere.)eI For higher-level (less technical) details, the OpenVMSsJ documentation set is available on-line. The ProgrammingH Concepts and the File Systems manual are probably theJ best manuals to start with, depending on the particular9 level of detail the research requires.nH And please understand the hesitation of various folksD to provide you with a completely-written researchH report on your topic. Why? We might have to work withI you after you graduate-you need to know how to perform I at least basic research on your own, regardless of the  topic..D __________________________________________________________+ 2.17 Basic Units of Measurement?iH OpenVMS and the underlying hardware use various unitsJ of measurement for disk and memory storage, and relatedC abbreviations also typically exist. This sectioncC covers the most common units, and the associated ! abbreviations.nJ 2-21 d & General Information' _____________________________r5 2.17.1 How many bytes are in a disk block?)C A disk block is the minimum unit of disk storagel) allocation in OpenVMS. G Under OpenVMS VAX and OpenVMS Alpha, the disk volumeoG block size is consistent, with each block containingV 512 bytes.nC The minimum disk allocation granularity actually H permissible (in the ODS-2 and ODS-5 volume structuresJ commonly used on OpenVMS) is determined on a per-volumeH basis, and is typically based on a combination of theG total number blocks on the disk volume and the totalcD size of the volume storage bitmap. The allocationE granularity is known as the volume cluster factor-aG the cluster factor is the number of blocks in a diskhH cluster, and it is the smallest number of blocks that@ can be allocated on a particular disk volume.I Prior to OpenVMS V7.2, the maximum permissible size of G the bitmap requires larger cluster factors as volume H sizes increase. Starting with V7.2, the bitmap can beH larger, and cluster factors as small as one block can be used. E The number of bytes in a file can be determined by J multiplying the number of blocks allocated for the fileG times the number of bytes in a block. For sequentialiG files (only), the FFB (XAB$W_FFB, in the File HeaderoE XAB) value can be used to find out how much of thesB last (XAB$L_EBK) block is used. FFB and EBK areD meaningful only for sequential files, and only inF a limited context-partial block allocations are notG permitted. For other file formats, the EOF marker iso" not meaningful.E Disk allocations always occur only in units of the E cluster factors, which can be from one block up to E (potentially) clusters of eighteen blocks or more, H depending on the volume cluster factor. (OpenVMS V7.2G and later optionally provide for a cluster factor of E one up to volumes of approximately 137 gigabytes.)  2-22   & General InformationA OpenVMS assumes that the device driver and theI underlying storage device will present the file system J with addressable units of storage of 512 bytes in size,H or the appearance of same. Various third-party CD-ROMH devices, for instance, support only 2048 byte blocks,F and such devices are incompatible with the standard* OpenVMS device drivers.G To determine the number of bytes required for a filedG from DCL, one option uses the f$file_attributes item.I EOF, multiplied by the size of a block in bytes (512).rI This does not account for the unused space in the lastlH block of a sequential file, but it also does not haveF to differentiate sequential files from other files.' _____________________________w6 2.17.2 How many bytes are in a memory page?I A memory page is the minimum unit of memory allocation E in OpenVMS. With OpenVMS VAX, the memory page sizevG matches the disk block size: it is always 512 bytes.iH With OpenVMS Alpha, the memory page size is variable,D and it can range from 8192 bytes (8 kilobytes) upG to 64 kilobytes. The current system page size can beH determined using the sys$getsyi or f$getsyi PAGE_SIZEI item. Programs with hardcoded constants for the memoryG page size (or page alignment) should always assume a.- page size of 64 kilobytes.fI On OpenVMS I64, the memory page size is also variable, B ranging from 4096 bytes (4 kilobytes) up to 256I megabytes (MB) and potentially up to 4 gigabytes (GB).SI As with OpenVMS Alpha, sys$getsyi and f$getsyi and the I PAGE_SIZE itemcode can and should be used to determine_H the current system page size. In general, OpenVMS I64B will use a page size of 8 kilobytes, or larger.G On OpenVMS Alpha and on OpenVMS I64, a 512 byte area I of memory- equivalent in size to an OpenVMS VAX memoryr; page-is often refered to as a "pagelet".nJ 2-23 _ _& General Information' _____________________________y@ 2.17.3 How do I convert? Disk Blocks? KB, MB, GB, TB?I The smallest granularity of disk storage addressing is J called a disk block, or sometimes a disk sector. GroupsE of disk blocks are usually organized together intolF the smallest unit of storage that can be allocated,E and this unit is called a disk cluster. The numberDG of blocks in a cluster is the cluster factor, and isdC established when the disk volume is initialized.,I Each individual disk block is composed of five hundred I twelve (512) bytes, or one-half kilobyte. Each byte isuI comprised of eight bits. A bit represents the smallest J unit of information, typically refered to as a one or a zero.C OpenVMS tends to uses base two notation for disk F storage, while disk storage capacity specificationsD from most storage vendors (including Compaq) will3 generally use base ten notation.sF An OpenVMS disk block is 512 bytes in size; this is: one-half kilobyte in base two notation.@ The following table describes the prefix, theH abbreviation, and the associated base ten (as used byJ marketing and by storage vendors) and base two (OpenVMS? and various other operating systems) values. J Base Ten Base TwoX -------------------------------- ----------------------X Kilobyte (KB) 10**3 1000 2**10 1024X Megabyte (MB) 10**6 1000000 2**20 1048576X Gigabyte (GB) 10**9 1000000000 2**30 1073741824X Terabyte (TB) 10**12 1000000000000 2**40 1099511627776X Petabyte (PB) 10**15 1000000000000000 2**50 1125899906842624X Exabyte (EB) 10**18 1000000000000000000 2**60 ****************D The base ten representation of the 2**40 value isF 1099511627776, which is obviously rather ugly. WhenC viewed as a base eight or base sixteen (octal oriE hexadecimal, respectively) value, the value is farjD nicer. Specifically, the value is 10000000000 andF 40000000 when represented in octal and hexadecimal, respectively. 2-24  X& General Information5 FAQ Notation E Within the OpenVMS FAQ, a thousand bits (eithersE assuming base two or base ten, as determined byqE the context) is refered to as a kilobit, and iscF always represented by the appreviation Kb, whileF a thousand bytes is refered to as a kilobyte andE is always abbreviated as KB. Similar notational F usage also holds for Megabits (Mb) and Megabytes< (MB), and for the various other units.D OpenVMS operating system references to system andE storage are generally to the base-two version (eg: D 1024, in the case of a kilobyte or kilobit) whileJ storage hardware references and hardware specificationsD are generally to the base-ten version (eg: 1000).I To convert OpenVMS disk blocks to (base two) kilobyteseE (KB; 1024 bytes), simply divide by two. To converttI blocks to (base two) megabytes, divide by 2048. Blocks C to (base two) gigabytes (GB), divide by 2097152. I These particular divisions can also be performed using H bitshifts: to divide a value by two, shift the binary7 value rightward by one bit position.rJ To convert OpenVMS disk blocks to (base ten) kilobytes,4 divide by approximately 1.953125.G For those folks with an interest in odd applicationscF for prefixes, and particularly for those folks alsoE rummaging around deep within the OpenVMS operating H system, a microfortnight is approximately one second.J 2-25 u oJ _______________________________________________________ 3 DocumentationD __________________________________________________________A 3.1 Where can I find online copies of OpenVMS manuals?lI The HP OpenVMS and HP Layered Product documentation is.( copyrighted material.E HTML format on-line product documentation sets forrG specific HP OpenVMS products are presently availableb at:7 o http://www.hp.com/go/openvms/doc/ J Documentation is offered on separately orderable CD-ROMG media through a subscription to the Consolidated On- I Line Documentation (ConOLD) product (see Section 2.6.) I ConOLD manuals are readable with BNU, a viewer that is H supplied with the documentation distribution. BNU canG display HTML, Bookreader, and documentation in other  formats.tG MGBOOK, a viewer for Bookreader-format documentationiH is available for character-cell terminals (eg. VTxxx)F via the WKU VMS Freeware file server - see question, Section 13.1 for details.D Information on the XPDF DECwindows PDF viewer forF OpenVMS is available in Section 13.1, and XPDF kitsF are available on various Freeware distributions. AnG alternative on OpenVMS Alpha uses the Adobe Java PDFmE viewer, though this viewer is generally considered E to be both slower and more resource-intensive when / compared to the XPDF viewer.SJ 3-1  DocumentationD __________________________________________________________B 3.2 What online information and websites are available?G On your OpenVMS system, the HELP command can provide D a wealth of information, not only on DCL commandsD but on system services (HELP System_Services) andE Run-Time Library routines (HELP RTL_Routines). The H introduction displayed when you type the HELP commandI with no additional keywords provides further pointers.t9 OpenVMS Marketing runs a web server at 0 http://www.hp.com/go/openvms/D Here, you will find product information, strategyJ documents, product roadmaps, the contents of the latest4 OpenVMS Freeware CD-ROM and more.J ________________________________________________________________% Table 3-1 OpenVMS Websites-J ________________________________________________________________J URL_______Sponsor_______________________________________________' http://www.hp.com/go/openvms/ ( HP OpenVMS Marketing) http://www.openvmshobbyist.org/ $ Encompass DFWCUG& http://www.levitte.org/~ava/ Arne Vajhøj http://www.saiga.com/ ! Saiga Systems # http://www.tachysoft.com/e Wayne Sewel * http://www.progis.de/openvms.htm0 Sponsored by proGIS Software& http://www.jcameron.com/vms/ Jeff Cameron9 http://seqaxp.bio.caltech.edu/www/soft_doc.htmlmC David Mathog's (quite useful) information abouta OpenVMS. Cracking 3-2 e g DocumentationJ ________________________________________________________________- Table 3-1 (Cont.) OpenVMS Websites J ________________________________________________________________J URL_______Sponsor_______________________________________________9 http://www.vistech.net/users/beave/hack-vms-faqD "The Beave"sG Includes system cracking information that can be of G interest to OpenVMS System Managers, and to OpenVMSr2 Network and Security Managers. Undocumented Features : http://www.decus.de:8080/www/vms/qaa/undoc.htmlx$ DECUS Deutchland3 http://www.levitte.org/~ava/vms_tip.htmlxs Arne Vajhøj-0 http://www.hp.com/go/openvms/freeware/E The OpenVMS Freeware contains various examples of 8 undocumented features and interfaces Bibliographies4 http://www.levitte.org/~ava/vms_book.htmlx Introductory3 http://www.levitte.org/~ava/vms_faq.htmlx : http://seqaxp.bio.caltech.edu/www/vms_sheet.htmlB http://seqaxp.bio.caltech.edu/www/vms_beginners_faq.html ProgrammingeJ http://www.pdv-systeme.de/users/martinv/VMS_Programming_FAQ.html. An OpenVMS Programming FAQ Networking) http://www.tmesis.com/internet/ H Tutorial information and tips for connecting OpenVMS+ systems to the Internet . http://www.hp.com/go/openvms/wizard/H Documentation and Specifications for DECnet Phase IV" HP OpenVMS Documentation+ http://www.hp.com/go/openvms/doc/ J 3-3 o t DocumentationJ ________________________________________________________________- Table 3-1 (Cont.) OpenVMS WebsitesxJ ________________________________________________________________J URL_______Sponsor_______________________________________________H Various introductory guides as well as more advancedD manuals are available in the OpenVMS and layered. product documentation set.) http://www.compaq.com/info/spd/ G Software Product Descriptions (SPDs) for most every 5 OpenVMS-related product HP sells.X System Performance% See Section 14.2.a Patch (ECO) KitsB For the HP Services FTP server hosting VariousG contract-access and non-contract access ECO (patch)3 kits, see section Section 5.17.h Catalogs and PricingH http://www.compaq.com/products/quickspecs/productbulletin.htmlA HP Product QuickSpecs and product informationeE http://www.compaq.com/products/quickspecs/soc_archives/SOC_e Archives.html D The HP Systems and Options Catalog (SOC) archive( Hardware and Software Archives. http://vax.sevensages.org/index.htmlC The VAXarchive, including hardware and software  informations@ http://www3.sympatico.ca/n.rieck/docs/alpha_diary.html0 A VAX to Alpha upgrade diary4 http://www.montagar.com/~patj/dec/hcps.htmG Scanned versions of old DIGITAL manuals from DFWCUGa8 http://www.digital.com/lists/master-index.html? http://www.compaq.com/support/techpubs/qrg/index.htmleG A wide variety of HP VAX, Alpha, platform and othertB product documentation. Some introductory, some technical. 3-4 w t DocumentationJ ________________________________________________________________- Table 3-1 (Cont.) OpenVMS WebsitesaJ ________________________________________________________________J URL_______Sponsor_______________________________________________( http://dtrwiz.home.netcom.com/J __________dtrwiz's_Datatrieve_website___________________________D __________________________________________________________= 3.3 OpenVMS Product Information Telephone Numbers? E Information on HP hardware, software, products and I services is available through telephone numbers listed in Table 3-2:J ________________________________________________________________& Table 3-2 Telephone NumbersJ _______________________________________________________J Telephone_________Description__________________________F 1-800-AT-COMPAQ HP (Compaq, including DIGITAL andB Tandem) products and servicesJ _________1-800-STORWORK____The_HP_StorageWorks_team_____________D __________________________________________________________F 3.4 How do I extract the contents of a HELP topic to a text file?C To extract all the text of a HELP topic (and its?D subtopics) to a text file for perusal with a textI editor, printing out, etc., use the following command: E $ HELP/OUT=filename.txt help-topic [help-subtopic] C If the help text you want is not in the standard E help library (for example, it's help for a utility C such as MAIL that has its own help library), adduC /LIBRARY=libname after the HELP verb. To see theeA names of help library files, do a directory ofr" SYS$HELP:*.HLB.J 3-5 ; DocumentationD __________________________________________________________= 3.5 Does OpenVMS Marketing have an e-mail address?oB Yes - if you can't get the answers to marketingJ questions elsewhere, if you have comments or complaintsG about OpenVMS, send mail to openvms-info@compaq.com. G This address is not a support channel, and is solelyE intended to provide informal method to communicateo> directly with members of OpenVMS Marketing.D __________________________________________________________C 3.6 Where can I learn about OpenVMS executive internals? B The OpenVMS Internals and Data Structure manualC (IDSM) explains how the OpenVMS executive works. G The book covers the operating system kernel: process H management; memory management; the I/O subsystem; andE the mechanisms that transfer control to, from, and I among these. It gives an overview of a particular area F of the system, followed by descriptions of the dataJ structures related to that area and details of the code, that implements the area.H The first edition of the OpenVMS Alpha internals bookJ describes Version 1.5. Although there have been severalE releases of OpenVMS Alpha since Version 1.5 (V6.1, J V6.2, V7.0, V7.1, etc) and many details in the book areG no longer accurate, it continues to provide a strong ? conceptual description of OpenVMS internals. H This book has been split into five pieces, each to beG updated separately. The first such volume, published B in early 1997, was "OpenVMS Alpha Internals andD Data Structures: Scheduling and Process Control,"F which covers the Version 7.0 implementation of trueE multithreading and the changed scheduling model it  implies. D The internals books are available through Digital) Press, see Section 3.7  3-6  DocumentationD __________________________________________________________B 3.7 Where can new users find tutorial information about OpenVMS?eH First, see if your local site has information on thisG topic. Each site can have site-specific features and H configuration. Some sites will have site-specific newG user's documentation, covering various site-specificJ things that are difficult or impossible for the general2 OpenVMS documentation to cover.' _____________________________m# 3.7.1 Tutorial Websites? @ Various websites with OpenVMS information areE available; Table 3-3 contains some suggested URLs.aJ ________________________________________________________________. Table 3-3 OpenVMS Tutorial WebsitesJ _______________________________________________________J URL_______Sponsor______________________________________ Introductoryh< http://www.levitte.org/~ava/vms_faq.htmlxC http://seqaxp.bio.caltech.edu/www/vms_sheet.htmlgC http://seqaxp.bio.caltech.edu/www/vms_beginners_V faq.htmlo; Various introductory materials 9 http://www.montagar.com/openvms_class/vE Members of the Encompass DFWCUG maintain E a website with many materials available,lA including an Overview of OpenVMS, antD Introduction to DCL and the TPU Editor,E Advanced DCL Command Procedures, OpenVMSm? Operations: Batch, Print, Tape, an C Introduction to OpenVMS Management, to @ OpenVMS User Management, to OpenVMSG Network Management, and to OpenVMS Cluster F Management. These training materials haveF been presented at various DECUS symposia.+ HP OpenVMS Documentation 4 http://www.hp.com/go/openvms/doc/J 3-7  i DocumentationJ ________________________________________________________________6 Table 3-3 (Cont.) OpenVMS Tutorial WebsitesJ _______________________________________________________J URL_______Sponsor______________________________________H Various introductory guides as well as moreJ advanced manuals are available in the OpenVMSC and layered product documentation set.n& HP OpenVMS Training; http://www.compaq.com/training/home.html ? http://www.openvms.compaq.com/wbt/index.htmlrI HP offers training information and TechnicalH Resource Kits (TRKs) and other Training forH OpenVMS. An OpenVMS certification (testing)7 program is also available.r/ http://www.jcameron.com/vms/w, An OpenVMS Quiz+ http://www.CCSScorp.com/tB CCSS Interactive Learning has OpenVMS/ training materialsp+ http://www.acersoft.com/ G AcerSoft Training information, and Shannon + Knows Punditry)) http://www.mindiq.com/a8 MindIQ training information, http://www.quadratrix.be/G Quadratrix; OpenVMS training, products andoG services; affiliated with Global Knowledge_J ___________________and_KeyJob___________________________________' _____________________________ % 3.7.2 Books and Tutorials?aB Some of the OpenVMS books that are or have been; available from the Digital Press imprintV( o http://www.bh.com/ 3-8 e t Documentation+ are listed in Table 3-4:tJ ________________________________________________________________ Table 3-4 DP Books J _______________________________________________________J Title_and_Author_____________________ISBN______________E Getting Started with OpenVMS System 1-55558-281-8A Management& David Donald MillerE Introduction to OpenVMS, 5th 1-55558-194-3e Edition& Lesley Ogilvie RiceE Introduction to OpenVMS 1-878956-61-2s David W BynonE OpenVMS Alpha Internals: Scheduling 1-55558-156-0e& and Process ControlE OpenVMS AXP Internals and Data 1-55558-120-X_* Structures: Version 1.5E OpenVMS System Management Guide 1-55558-143-9 ! Baldwin, et al E The OpenVMS User's Guide, Second 1-55558-203-6  Edition! Patrick Holmay E Using DECwindows Motif for OpenVMS 1-55558-114-5 " Margie SherlockE VAX/VMS Internals and Data 1-55558-059-9n* Structures: Version 5.2E Writing Real Programs in DCL, 1-55558-191-9a! Second Editiony. Hoffman and AnagnostopoulosE Writing OpenVMS Alpha Device 1-55558-133-1  Drivers in CeJ _________Sherlock_and_Szubowicz_________________________________J For various featured OpenVMS books, also please see the5 books link at the OpenVMS website:s2 o http://www.hp.com/go/openvmsJ 3-9  DocumentationF For a bibliography of various OpenVMS books, please see: @ o http://www.levitte.org/~ava/vms_book.htmlxD __________________________________________________________8 3.8 What OpenVMS mailing lists are available?I Various OpenVMS mailing lists are available, with somea@ of the available lists detailed in Table 3-5.J ________________________________________________________________* Table 3-5 OpenVMS Mailing ListsJ _______________________________________________________J Subscription____________________Interest_Area__________G OpenVMS Freeware archive FSupdate@goatley.com < announcement list FSupdate-I request@goatley.com[1] : Two-way echo of VMSnet-H vmsnet.internals Internals@goatley.comD VMSnet-Internals-I request@goatley.com[1]uH OpenVMS Alpha Internals Alpha-IDS@goatley.com= discussions Alpha-IDS-dI request@goatley.com[1]sH BLISS discussions BLISSters@goatley.com= BLISSters-dI request@goatley.com[1]e8 Process Software MultiNet Info-G mailing list (news gateway) MultiNet@process.com A Info-MultiNet- I request@process.com[1] 8 Process Software TCPware Info-F mailing list (news gateway) TCPware@process.com@ Info-TCPware-I request@process.com[1]rJ _______________________________________________________I [1]This is the subscription address. Usually, you willH want to send a mail message with no subject line, andF a SUBSCRIBE or HELP command in the body of the mail message. 3-10  M u DocumentationJ ________________________________________________________________2 Table 3-5 (Cont.) OpenVMS Mailing ListsJ _______________________________________________________J Subscription____________________Interest_Area__________H Process Software PMDF mailing Info-PMDF@process.com= list (news gateway) Info-PMDF-nI request@process.com[1]y> The SRI CHARON-VAX VAX CHARON-VAX-D emulator package Users@process.comD CHARON-VAX-Users-I request@process.com[1]kC Info-Zip's Zip & UnZip Info-Zip@wku.edum< discussion list Info-Zip-E Request@wku.edu[1] E RADIUS-VMS, a RADIUS server radius-vms@dls.net > for OpenVMS discussion forum radius-vms-E request@dls.net[1]C Internet Service Providers vms-isps@dls.net < (ISPs) running OpenVMS vms-isps-E request@dls.net[1]nJ Users of Mark Daniel's WASD http://wasd.vsm.com.au/- web server for OpenVMS VAXp0 and Alpha exists. Information- about this list server ando1 details on how to subscribe tol0 the list are available at the& referenced website.^ VMS Forum http://www.neurophys.wisc.edu/comp/ava/vms_> forum.htmlxJ _______________________________________________________I [1]This is the subscription address. Usually, you will H want to send a mail message with no subject line, andF a SUBSCRIBE or HELP command in the body of the mail message. J ________________________________________________________________J 3-11 d n DocumentationD __________________________________________________________D 3.9 What is this Ask The Wizard website I've heard about?D The HP OpenVMS Ask The Wizard (ATW) website is anF informal area containing questions and answers on a* wide variety of topics.: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available B ATW Wizard.zip archive, please see Section 3.9.I To access a cited topic directly, use the URL filenameeJ WIZ_topic-number.HTML. For example, topic (1020) can beI accessed directly using the URL filename wiz_1020.html1( at the following URL:: o http://www.hp.com/go/openvms/wizard/I A zip archive (named wizard.zip) containing all of the H available topics and questions can be downloaded fromJ the above URL. The wizard.zip zip archive is completelyH regenerated when new batches of topics are posted out& to the ATW website.B Before posting a question to the Ask The WizardG area, please read and please heed the posting rules- C and please remember to search this document, the H OpenVMS FAQ. And if you have a question that requiresC an answer, or if your question has time-criticaltF constraints or business constraints, please contact; the HP customer support center directly..D __________________________________________________________G 3.10 Access to the OpenVMS Netscape Navigator documentation?nJ The documentation URLs embedded into the browser itselfC may not operate correctly in all cases, and (fortF reasons not worthy of repeating here) redirects may$ not be available.A You can manually access the documentation via:tE o http://www.openvms.compaq.com:88/netscape/help/sI For information on the Mozilla web browser, please see Section 13.3. 3-12   DocumentationD __________________________________________________________G 3.11 Where can I find the latest C run-time library manuals?gG The C run-time library (RTL) reference documentationdG has been moved from the C language documentation setaH to the OpenVMS documentation set. For the most recentE version of the C RTL documentation and the OpenVMS1F standard C library, please see the OpenVMS manuals.H In addition to the user-mode C RTL, there is a secondI kernel-mode RTL accessable to drivers on OpenVMS Alpha J and OpenVMS I64. For details on this second library andG on the duplicate symbol errors that can be triggeredtI when this library is referenced during an incorrectly-tF specified LINK command, please see Section 10.22.1.F For general information on this kernel RTL, see theJ Digital Press book Writing OpenVMS Device Drivers in C.H For details, please see the associated OpenVMS source) listings distribution. 7 o http://www.hp.com/go/openvms/doc/dJ 3-13 o J _______________________________________________________' 4 Time and Timekeeping C This chapter discusses time, timekeeping, systemaD time synchronization, clock skew and clock drift,I implications of using SUBMIT/AFTER=TOMORROW, and other ' time-related topics.cD __________________________________________________________> 4.1 A brief history of OpenVMS Timekeeping, please?D Why does OpenVMS regards November 17, 1858 as the' beginning of time... F The modified Julian date adopted by the SmithsonianI Astrophysical Observatory (SAO) for satellite tracking(J is Julian Day 2400000.5, which turns out to be midnight( on November 17, 1858.J SAO started tracking satellites with an 8K (nonvirtual)G 36-bit IBM 704 in 1957 when Sputnik went into orbit.-I The Julian day was 2435839 on January 1, 1957. This islJ 11225377 octal, which was too big to fit into an 18-bitJ field. With only 8K of memory, the 14 bits left over byG keeping the Julian date in its own 36-bit word would3H have been wasted. SAO also needed the fraction of theH current day (for which 18 bits gave enough accuracy),F so it was decided to keep the number of days in theI left 18 bits and the fraction of a day in the right 18 $ bits of one word.I Eighteen bits allows the truncated Julian Day (the SAOsG day) to grow as large as 262143, which from NovemberiH 17, 1858, allowed for 7 centuries. Possibly, the dateF could only grow as large as 131071 (using 17 bits),C but this still covers 3 centuries and leaves thenF possibility of representing negative time. The 1858I date preceded the oldest star catalogue in use at SAO, H which also avoided having to use negative time in any: of the satellite tracking calculations.J 4-1  ' Time and TimekeepingJ The original Julian Day (JD) is used by astronomers andI expressed in days since noon January 1, 4713 B.C. This G measure of time was introduced by Joseph Scaliger in H the 16th century. It is named in honor of his father,G Julius Caesar Scaliger (note that this Julian Day iseG different from the Julian calendar that is named forn5 the Roman Emperor Julius Caesar!). E Why 4713 BC? Scaliger traced three time cycles andoF found that they were all in the first year of theirH cyle in 4713 B.C. The three cycles are 15, 19, and 28J years long. By multiplying these three numbers (15 * 19G * 28 = 7980), he was able to represent any date fromo. 4713 B.C. through 3267 A.D.J The starting year was before any historical event knownG to him. In fact, the Jewish calendar marks the startG of the world as 3761 B.C. Today his numbering schemeI is still used by astronomers to avoid the difficulties I of converting the months of different calendars in use ) during different eras. + The following web sites: J o http://www.openvms.compaq.com/openvms/products/year-$ 2000/leap.html5 o http://www.eecis.udel.edu/~ntp/ * o http://www.nist.gov/; o http://www.boulder.nist.gov/timefreq/ A o http://www.tondering.dk/claus/calendar.htmlL o http://es.rice.edu/ES/humsoc/Galileo/Things/gregorian_# calendar.htmlnH are all good time-related resources, some general and, some specific to OpenVMS.' _____________________________ < 4.1.1 Details of the OpenVMS system time-keeping? 4-2 t m' Time and Timekeepingp' _____________________________ 7 4.1.1.1__VAX_hardware_time-keeping details... 4.1.1.1.1 TOY clockF This is battery backed up hardware timing circuitryJ used to keep the correct time of year during rebooting,G power failures, and system shutdown. This clock onlynJ keeps track of months, days, and time. The time is keptJ relative to January 1st, at 00:00:00.00 of the year the* _________clock_was_initiailized.# 4.1.1.1.2 EXE$GQ_SYSTIME,F This is the OpenVMS VAX system time cell. This cellG contains the number of 100ns intervals since a knownF reference. This cell is incremented by 100000 every6 _________10ms_by_an_hardware_interval timer.$ 4.1.1.1.3 EXE$GQ_TODCBASEG This cell contains the time and date the system timedE was last adjusted by EXE$SETTIME. It uses the same1H format as EXE$GQ_SYSTIME. On adjustment of the systemJ time a copy of EXE$GQ_SYSTIME is stored in this cell inH both memory and on disk. This cell is used to get the, _________year_for_the_system_time. 4.1.1.1.4 EXE$GL_TODRG This cell contains the time and date the system time E was last adjusted by EXE$SETTIME. It uses the same I format as the time of year clock. On adjustment of the_G system time this cell gets saved back to both memoryiG and disk. The contents of this cell are used to testV1 the validity of the TOY clock. C The system parameters SETTIME and TIMEPROMPTWAIT = determine how the system time will be set. ? o IF SETTIME = 0 and the TOY clock is validH THEN the contents of the TOY clock are compared toJ those of EXE$GL_TODR. IF the TOY clock is more than. a day behind EXE$GL_TODR? THEN the TOY clock is presumed invalid.G o IF the TOY clock is within a day of EXE$GL_TODR F THEN the system time is calculated as follows:J 4-3 _ _' Time and Timekeeping H o EXE$GQ_SYSTIME = EXE$GQ_TODCBASE + ((TOY_CLOCK -. EXE$GL_TODR) * 100000)@ o IF SETTIME = 1 or the TOY clock is invalidH THEN the value of TIMEPROMPTWAIT determines how toD reset the time of year. IF TIMEPROMPTWAIT > 0H THEN the user is prompted for the time and date,D for a length of time equal to TIMEPROMPTWAIT( microfortnights.- o IF TIMEPROMPTWAIT = 0nI THEN the time of year is the value of EXE$GL_TODR  + 10ms.- o IF TIMEPROMPTWAIT < 0 4 to proceed until they do so.G o THEN the user is prompted for the time and datet" and unableJ When booting a CD-ROM containing an OpenVMS VAX system,G the system will typically be deliberately configured_H prompt the user to input the time - this is necessary: in order to boot with the correct time.G If either TIMEPROMPTWAIT or SETTIME are set to zero,_E OpenVMS VAX will use the TOY clock to get the timesA of year, and the year will be fetched from theeD distribution medium. The value of the year on theG distribution medium (saved within the SYS.EXE image)pI will most likely be that of when the kit was mastered,oI and cannot be changed. Unless the current year happenshH to be the same year as that on the distribution, mostH likely the year will be incorrect. (Further, with theG calculation of Leap Year also being dependent on theME current year, there is a possibility that the datet0 could be incorrect, as well.)' _____________________________v9 4.1.1.2 Alpha hardware time-keeping details...p 4-4 l ' Time and Timekeepingh' _____________________________.9 4.1.1.2.1 Battery-Backed Watch (BB_WATCH) ChipF This is battery backed up hardware timing circuitryJ used to keep the correct time of year during rebooting,H power failures, and system shutdown. This clock keepsC track of date and time in 24 hour binary format.yF The BB_WATCH time is used to initialize the runningF system time during bootstrap, and the BB_WATCH timeF is read when the SET TIME command is issued with noG parameters; when the running system time is reset to G the value stored in the BB_WATCH. The running systemnF time is written into the BB_WATCH when the SET TIME6 command is issued with a parameter.' ______________________________# 4.1.1.2.2 EXE$GQ_SYSTIMEH This is the OpenVMS Alpha system time cell. This cellH contains the number of 100ns intervals since NovemberD 17, 1858 00:00:00.00. This cell is incremented byC _________100000_every_10ms_by an hardware interval timer.w) 4.1.1.2.3 EXE$GQ_SAVED_HWCLOCK J This cell is used by OpenVMS Alpha to keep track of theJ last time and date that EXE$GQ_SYSTIME was adjusted. ItJ keeps the same time format as EXE$GQ_SYSTIME. The valueI in this cell gets updated in memory and on disk, every 5 time EXE$GQ_SYSTIME gets adjusted. F o The system parameters SETTIME and TIMEPROMPTWAIT@ determine how the system time will be set.$ o If SETTIME = 0G then EXE$INIT_HWCLOCK reads the hardware clock tow* set the system time.- o IF TIMEPROMPTWAIT > 0 G THEN the value of TIMEPROMPTWAIT determines howaC long the user is prompted to enter the time.F and date. If time expires and no time has beenI entered the system acts as if TIMEPROMPTWAIT = 0.a- o IF TIMEPROMPTWAIT = 0 C THEN the system time is calculated from the/= contents of EXE$GQ_SAVED_HWCLOCK + 1.lJ 4-5 n .' Time and Timekeepingh- o IF TIMEPROMPTWAIT < 0eG THEN the user is prompted for the time and dateuG and unable to continue until the information is entered.F Unlike the VAX, the Alpha hardware clock tracks theF full date and time, not just the time of year. ThisE means it is possible to boot from the CD-ROM media_E without entering the time at the CD-ROM bootstrap._B (This provided that the time and date have been+ initialized, of course.)iF IA-64 (Itanium) hardware time-keeping details to be added..._' _____________________________rE 4.1.1.3 Why does VAX need a SET TIME at least once a year?wI Because the VAX Time Of Year (TOY) has a resolution ofhI 497 days, the VAX system time is stored using both the_H TOY and the OpenVMS VAX system image SYS.EXE. BecauseH of the use of the combination of the TOY and SYS.EXE,F you need to issue a SET TIME command (with the timeI parameter specified) at least once between January 1st F and about April 11th of each year, and whenever youG change system images (due to booting another OpenVMSeJ VAX system, booting the standalone BACKUP image, an ECO/ that replaces SYS.EXE, etc).wC The SET TIME command (with the current time as alD parameter) is automatically issued during variousG standard OpenVMS procedures such as SHUTDOWN, and ittF can also obviously be issued directly by a suitablyH privileged user. Issuing the SET TIME command (with aI parameter) resets the value stored in the TOY, and (if G necessary) also updates the portion of the time (theC current year) saved in the SYS.EXE system image.C This VAX TOY limit is the reason why OpenVMS VAX E installation kits and standalone BACKUP explicitly I prompt for the time during bootstrap, and why the time J value can "get weird" if the system crashes outside theJ 497 day window (if no SET TIME was issued to update theH saved values), and why the time value can "get weird" 4-6 o a' Time and Timekeeping G if a different SYS$SYSTEM:SYS.EXE is used (alternatet8 system disk, standalone BACKUP, etc).' _____________________________a; 4.1.2 How does OpenVMS VAX maintain system time?iI VAX systems maintain an interval clock, and a hardwarep clock. E The VAX hardware clock is called the TOY ("Time Of.J Year") clock. The register associated with the clock is< called the TODR ("Time Of Day Register").H The TOY clock-as used-stores time relative to JanuaryI first of the current year, starting at at 00:00:00.00. J It is a 100 Hz, 32-bit counter, incremented every 10ms,= and thus has a capacity of circa 497 days. C OpenVMS (on the VAX platform) stores system date E information-and in particular, the current year-in 8 the system image, SYS$SYSTEM:SYS.EXE.E The TOY is used, in conjunction with the base date I that is stored and retrieved from the system image, to H initialize the interval clock value that is stored in" EXE$GQ_SYSTIME.E Once the interval clock is loaded into the runningtE system as part of the system bootstrap, the systemeG does not typically reference the TOY again, unless aVH SET TIME (with no parameters) is issued. The intervalF clock value is updated by a periodic IPL22 or IPL24H (depending on the specific implementation) interrupt.H (When these interrupts are blocked as a result of theG activity of higher-IPL code-such as extensive driveroJ interrupt activity or a hardware error or a correctableG (soft) memory error-the clock will "loose" time, andsJ the time value reported to the user with appear to have slowed down.)F When SET TIME is issued with no parameters, the TOYE clock is loaded into the system clock; the runningeD system clock is set to the time stored in the TOYE clock. This assumes the TOY clock is more accuratenB than the system clock, as is normally the case.J 4-7 f n' Time and TimekeepingnB On most (all?) VAX systems, the battery that isH associated with the TOY clock can be disconnected andE replaced if (when) it fails-TOY clock failures areaJ quite commonly caused by a failed nickel-cadmium (NiCd)B or lithium battery, or by a failed Dallas chip.D __________________________________________________________< 4.2 Keeping the OpenVMS system time synchronized?D To help keep more accurate system time or to keepH your system clocks synchronized, TCP/IP Services NTP,E DECnet-Plus DTSS (sometimes known as DECdtss), DCE:I DTS, and other techniques are commonly used. If you dooG not or cannot have IP access to one of the availablecH time-base servers on the Internet, then you could useI dial-up access to NIST or other authoritative site, ortI you can use a direct connection to a local authoratives clock.iF There exists code around that processes the digitalC (ie: binary) format time that is available via aaI modem call into the NIST clock (the Automated Computer I Telephone Service (ACTS) service), and code that grabs J the time off a GPS receiver digital link, or a receiverG (effectively a radio and a codec) that processes the G time signals from radio stations WWV, WWVH, WWVB, or  similar.pC Processing the serial or hardware time protocols I often involves little more than reading from an EIA232SH (RS232) serial line from the receiver, something thatE is possible from most any language. Information on G correctly drifting the OpenVMS system clock to match I the time-base time is available within the logic of at_6 least one OpenVMS Freeware package.D One example of acquring a time-base through localD integrated hardware involves the IRIG time formatC (IRIG-A, -B, -G), a binary signal containing the C current time in hours, minutes, seconds and days E since the start of the current year. IRIG can also I contain the time of day as the number of seconds sinceHF midnight. HP Custom Systems and third-party vendorsE have variously offered IRIG-based reader/generatorh/ modules for OpenVMS systems.a 4-8 a ' Time and TimekeepingnC One of the easiest approaches is a network-basediF GPS or other similar receiver. Basically, this is aF network server box that provides an NTP server withG the necessary hardware for external synchronization.cB In addition to the antenna and the receiver andI processing components, these devices provide a network F interface (NIC) and support for an NTP time server,D and applications including the NTP support withinD TCP/IP Services and within various third-party IPJ stacks can then be used to synchronize with the the NTPH information provided by time-base receivers. No otherG host software is required, and no host configurationhF steps and no host software beyond NTP are required.J Differing time servers (DECnet-Plus DTSS, DCE DTS, NTP,I etc) do not coexist particularly well, particularly ifsF you try to use all these together on the same node.D Please pick and use just one. (If needed, you canJ sometimes configure one package to acquire its timebaseJ from another protocol, but one and only one time serverI package should have direct control over the management G of and drifting of the local OpenVMS system time. In_G the specific case of DECnet-Plus DTSS, older product_J versions and versions V7.3 and later provide a providerJ module, a module which permits DTSS to acquire its timeI from NTP. For details on this, please see the comments6 in the module DTSS$NTP_PROVIDER.C.)I Unlike DECnet-Plus, TCP/IP Services NTP is not capable6F of connecting to a time-base other than the networkG time base or the local system clock. Third-party andsD open source NTP implementations are available for$ OpenVMS, as well. Useful URLs: J o http://www.boulder.nist.gov/timefreq/service/nts.htmK o http://www.boulder.nist.gov/timefreq/service/acts.htm5; o http://www.boulder.nist.gov/timefreq/k* o http://www.time.gov/J 4-9  ' Time and Timekeeping5' _____________________________n: 4.2.1 Why do my cluster batch jobs start early?J Your system time is skewed across your cluster members,I and the cluster member performing the queue management I tasks has a system time set later than the system time_7 of the member running the batch job.> This behaviour is most noticable when usingD SUBMIT/AFTER=TOMORROW and similar constructs, andE use of /AFTER="TOMMOROW+00:01:00" or such is often F recommended as a way to avoid this. The combinationI time value specified should be larger than the maximumiH expected time skew. In the example shown, the maximum@ cluster clock skew is assumed less than 1:00.D You can also maintain your system times in betterE synchronization, with available tools described in - Section 4.2 and elsewhere. ' _____________________________a7 4.2.2 Why does my OpenVMS system time drift?_E Memory errors, hardware problems, or most anything G operating at or above IPL 22 or IPL 24 (clock IPL is_F system family dependent; code executing at or aboveC the clock IPL will block the processing of clock H interrupts), can cause the loss of system time. ClockE drift can also be caused by normal (thermal) clock E variations and even by the expected level of clock  drift. G When clock interrupts are blocked as a result of the E activity of high-IPL code-such as extensive driver J interrupt activity or a hardware error or a correctableG (soft) memory error-the clock will "loose" time, and J the time value reported to the user with appear to haveI slowed down. Correctable memory errors can be a commonBG cause of system time loss, in other words. Heavy PCI 8 bus traffic can also cause lost time.I One bug in this area involved the behaviour of certain I graphics controllers including the ELSA GLoria Synergy F PBXGK-BB; the PowerStorm 3D10T effectively stallingH the PCI bus. See Section 5.16 for details on the ELSAG GLoria Synergy controller, and make certain you havew: the current GRAPHICS ECO kit installed. 4-10o s m' Time and Timekeeping G Clock drift can also be (deliberately) caused by thes8 activity of the DTSS or NTP packages.< Also see Section 14.8, Section 14.15, and! Section 4.2.4.w' _____________________________l9 4.2.3 Resetting the system time into the past?BG You can resynchronize system time using DCL commandsC such as SET TIME and SET TIME/CLUSTER, but thesecD commands can and obviously will cause the currentJ system time to be set backwards when the specified timeH predates the current system time. This time-resettingD operation can cause application problems, and canG adversely effect applications using absolute timers,pF applications that assume time values will always beA unique and ascending values, and applications.eG Setting the time backwards by values of even an hour-H has caused various run-time problems for applicationsH and layered products. For this reason, this techniqueJ was not considered supported during the Year 2000 (Y2K)C testing; a system or cluster reboot was strongly B recommended as the correct means to avoid these problems.J Application programmers are encouraged to use the time-I related and TDF-related events that are available with F the $set_system_event system service, and/or to useF UTC or similar time, as these techniques can permitE the application to better survive retrograde clockiF events. (There is an ECO to repair problems seen inI the DECnet-Plus support for generating TDF events fromcI DTSS, and this applies to V7.3 (expected to be in ECO4aG and later) V7.3-1 (expected to be in ECO3 and later)nG and V7.3-2 (expected to be in ECO1 and later). Apply J the most current DECnet-Plus ECO kits for these OpenVMSJ releases, for best TDF event support from DECnet-Plus.)7 See Section 4.2.4 and Section 4.2.1. J 4-11 _ _' Time and Timekeepingi' _____________________________ 9 4.2.4 How can I drift the OpenVMS system time? G With DECdts and TCP/IP Services NTP, the system time I value is "drifted" (rather than changed), to avoid the_H obvious problems that would arise with "negative timeG changes". The same basic clock drifting technique isnI used by most (all?) time servers operating on OpenVMS,_I typically using the support for this provided directly?" within OpenVMS.D An example of the technique used (on OpenVMS VAX)G to drift the system time is the SETCLOCK tool on thet$ OpenVMS Freeware.J For information on the use of the EXE$GL_TIMEADJUST andH EXE$GL_TICKLENGTH cells on OpenVMS Alpha, see OpenVMSI AXP Internal and Data Structures, located on page 348. H For those areas which switch between daylight savingsF time (DST) and standard time, the time value is notH drifted. The time is adjusted by the entire interval.F This procedure is inherent in the definition of the8 switch between DST and standard time.7 See Section 4.2.4 and Section 4.2.3.i' _____________________________bB 4.2.5 How can I configure TCP/IP Services NTP as a time provider?H An NTP time provider provides its idea of the currentI time to NTP clients via the NTP protocol. Most systems * are NTP clients, but...D NTP has a heirarchy of layers, called strata. TheI further away from the actual NTP time source (InternetuG time servers are at stratum 1), the lower the strataaC (and the larger the number assigned the statum).eH NTP explicity configured at stratum one provides timeJ to NTP operating at lower strata, and the provided timeI is acquired based on the local system time or via some ; locally-accessible external time source.n 4-12d m a' Time and Timekeeping E NTP at other (lower) strata both receive time from F higher strata and can provide time to lower strata,J and automatically adjust the local stratum. The highestF stratum is one, and the lowest available stratum is fifteen. E The TCP/IP Services NTP package can operate at any I stratum, and can be configured as a peer, as a client, I or as a broadcast server. NTP can also provide time to_? a DECnet-Plus DTSS network, see Section 4.2.lJ With TCP/IP Services V5.0 and later, the only supportedF reference clock is the LCL (local system clock). IfF your system has an excellent clock or if the systemF time is being controlled by some other time serviceF or peripheral (such as DTSS services, GPS services,E a cesium clock, a GPIB controller or other similartI time-related peripheral), you can configure NTP to useLF the system clock as its reference source. This willJ mimic the master-clock functionality, and will configreH NTP as a stratum 1 time server. To do this, enter the8 following commands in TCPIP$NTP.CONF:, server 127.127.1.0 prefer. fudge 127.127.1.0 stratum 0H For local-master functionality, the commands are very! similiar. Use:% server 127.127.1.0e. fudge 127.127.1.0 stratum 8G The difference between these two is the stratum, andeJ the omission of the prefer keyword. Specifying a higherI stratum allows the node to act as a backup NTP server,H or potentially as the sole time server on an isolatedG network. The server will become active only when all H other normal synchronization sources are unavailable.C The use of "prefer" causes NTP to always use the F specified clock as the time synchronization source.C With the TCP/IP Services versions prior to V5.0,_B the NTP management is rather more primitive. ToA configure the local OpenVMS system from an NTPeG client to an NTP server (on TCP/IP Services versionsJ 4-13  ' Time and Timekeepinge@ prior to V5.0), add the following line to the; sys$specific:[ucx$ntp]ucx$ntp.conf file: ! master-clock 1aG Also, for TCP/IP Services prior to V5.0, see the NTP ! template file: 9 SYS$SPECIFIC:[UCX$NTP]UCX$NTP.TEMPLATE H Note that NTP does not provide for a Daylight SavingsF Time (DST) switch-over, that switch must arise fromI the timezone rules on the local system and/or from thewE SYS$EXAMPLES:DAYLIGHT_SAVINGS procedure. (Further,aA there is a known bug in SYS$EXAMPLES:DAYLIGHT_eG SAVINGS.COM in V7.3, please obtain the available ECOe kit.)B For current TCP/IP Services and related OpenVMS- documentation, please see: 7 o http://www.hp.com/go/openvms/doc/ D __________________________________________________________J 4.3 Managing Timezones, Timekeeping, UTC, and Daylight Savings?> You will want to use the command procedure:4 o SYS$MANAGER:UTC$TIME_SETUP.COMH to configure the OpenVMS Timezone Differential FactorC (TDF) on OpenVMS V6.0 and later. Select the BOTHrD option. This configures the OpenVMS TDF settings,E though it may or may not configure the TDF and thecB timezone rules needed or used by other softwareH packages. Please do NOT directly invoke the following& command procedures:I o SYS$MANAGER:UTC$CONFIGURE_TDF.COM ! do not directly  useoJ o SYS$MANAGER:UTC$TIMEZONE_SETUP.COM ! do not directly use  4-14e r I' Time and Timekeeping F TCP/IP Services V5.0 and later use the OpenVMS TDF,H UTC, and timezone support. Earlier versions use a TDFJ mechanism and timezone database that is internal to theI TCP/IP Services package. Also on the earlier versions, D the TDF must be manually configured within TCP/IPE Services, in addition to the OpenVMS configurationp of the TDF.F DECnet-Plus in V7.3 and later uses the OpenVMS TDF,G UTC, and timezone support, and displays its timezoneTI prompts using UTC$TIME_SETUP.COM. Earlier versions usetH a TDF TDF mechanism, timezone database, and automaticB switch-over that is internal to the DECnet-PlusE package. Also on earlier versions, the TDF must be H configured within the DECnet-Plus DECdtss package, inD addition to the OpenVMS configuration of the TDF.B Application code using HP C (formerly Compaq C,C formerly DEC C) will use the OpenVMS UTC and TDF I mechanisms when the C code is compiled on OpenVMS V7.0pF and later (and when the macro _VMS_V6_SOURCE is NOTF defined). HP C does NOT use the OpenVMS UTC and TDFD mechanisms when the C code is compiled on OpenVMSC releases prior to V7.0, or when the preprocessor : declaration _VMS_V6_SOURCE is declared.+ DCE DTS TDF details TDB.F In OpenVMS Alpha V6 releases (V6.1, V6.2, V6.2-1Hx,H etc), the TDF value is written to SYS$BASE_IMAGE.EXE.I With OpenVMS Alpha V7.0 and later and with OpenVMS VAX_G V6.0 and later, SYS$SYSTEM:SYS$TIMEZONE.DAT containsF the TDF. This means that OpenVMS Alpha systems willD need to have the TDF value reset manually-usuallyE within SYSTARTUP_VMS.COM-on reboots prior to V7.0.uE During OpenVMS Bootstrap, the SYSINIT module readskE SYS$TIMEZONE.DAT to acquire the TDF for use in thevH system global cell EXE$GQ_TDF. This is done to ensureH that the system boots with a valid TDF (a value whichD may be zero). The UTC system services get the TDFF from this cell. These services, as well as the HP CF RTL, must have a valid TDF. (Prior to OpenVMS V7.3,D if either DECnet-Plus or DECnet/VAX Extensions isF configured and run, the image DTSS$SET_TIMEZONE.EXEJ 4-15 s e' Time and Timekeeping.H is invoked and can override the TDF and timezone ruleD settings from SYSINIT or from UTC$TIME_SETUP.COM-C this image runs even if DTSS is disabled. If themC settings do not match (due to inconsistencies inlC timezone specification in UTC$TIME_SETUP.COM andlJ NET$CONFIGURE.COM), DTSS will reset the values to match$ its definitions.)J Prior to OpenVMS V7.3, daylight savings time switchoverH is handled automatically only when DCE DTS or DECnet-J Plus DTSS is in use. In V7.3, OpenVMS can be configuredC to automatically switch over to daylight savings D time, and also generates an event that interestedI applications can use to detect the switch-over betweenc3 standard time and daylight time. F The manual switchover between daylight savings timeF and standard time is correctly accomplished via theF SYS$EXAMPLES:DAYLIGHT_SAVINGS.COM command procedure procedure.D1 NoteaD NTP (alone) does NOT provide automatic switch- over._1 NotenA The DST switch-over does NOT drift the time+? value; the switch-over applies the entireG difference as a unit, as is standard and expected  practice.IJ If you switch the TDF or daylight savings time setting,I you will also want to restart or reconfigure any time-oC sensitive applications (those not using the timeuF differential factor (TDF) change event available inJ V7.3 and later). Examples of these applications includeI the need to restart the NFS client and (yes) NTP. (NTPJ will want to try to "drift" the time (see Section 4.2),I and will find the daylight savings time switch-over topG be far too large to "drift". Hence the NTP restart.) F You can also use the (undocumented) TCP/IP Services, (prior to V5.0) commands:C SET TIME/DIFF=[positive or negative TDF integer] GENERATE TIME 4-16  h e' Time and TimekeepingPB to reset the value of the logical name UCX$TDF.. Prior to V7.3, the command:< $ SETTZ :== $SYS$SYSTEM:DTSS$SET_TIMEZONE! $ SETTZ MODIFYaJ can be used to modify the settings of the SYS$TIMEZONE_B DAYLIGHT_SAVING, SYS$TIMEZONE_DIFFERENTIAL, andF SYS$TIMEZONE_NAME system logical names based on the% SYS$TIMEZONE_RULE. D The following are other TDF-related logical namesB used/available on OpenVMS systems, with typicalD Daylight Savings and Standard Settings for the US. Eastern Time (ET) timezone." $daylight_time:> $ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EDTG $ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0400 EDT"sZ $ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P true ! Not 'EDT'K $ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constantt $" $standard_time:> $ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE ESTG $ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0500 EST" Z $ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P false ! Not 'EST'K $ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constante $H $ DEFINE/SYSTEM/EXECUTIVE UCX$NFS_TIME_DIFFERENTIAL -U 'f$integer(f$element(0," ",f$logical("notes$timezone"))/-100)' F One issue with the UTC implementation on OpenVMS isG the behaviour of C functions and other programs that G use SYS$TIMEZONE_RULE; the OpenVMS mechanism assumes F all control over the timezone and the daylight timeI switchover. This allows calculation of the time by the 6 C library and various applications.H This can be incompatible with a system or applicationG that requires manual modifications to the DST or TDF I settings. For such a site to ensure the timekeeping is I correct, the site must provide procedure that sets thedI local time and the TDF when the SYS$TIMEZONE_RULE sayst to do it.J 4-17 l ' Time and TimekeepingoF If a site requires a non-standard time switch-over,H as in coordinating with a shift change, the site willJ need to use the ZIC utility to create a custom timezone rule.F Additionally, applications may need to have specialG actions taken or actions queued just before the time I change takes effect. If the application source code isTH available, one of the best ways to handle this is viaH the TDF and time-change notification events availableG via the OpenVMS sys$set_system_event system service.EJ For information on ZIC and related tools used to manageF the OpenVMS Timezone database, please see the DEC CI Run-time Library Utilities Reference Manual-though the F title would imply otherwise, this particular manualD is part of the OpenVMS documentation set, and notG part of the HP C (formerly Compaq C, formerly DEC C)p% documentation set. ' _____________________________e= 4.3.1 How to troubleshoot TDF problems on OpenVMS? H This is an OpenVMS Alpha system prior to V7.0 and the9 startup is not invoking the procedure: 1 SYS$MANAGER:UTC$TIME_SETUP.COMeJ This is an OpenVMS system prior to V6.0, where there is4 no OpenVMS TDF nor UTC available.J The version of the application does not use the OpenVMSD TDF. This includes TCP/IP Services prior to V5.0,H applications using HP C built on or targeting OpenVMSH prior to V7.0, and systems using the DECnet-Plus DTSSJ mechanisms prior to the release associated with OpenVMS' V7.3. (DCE TDF TBD.)iA If you should find either of the following twoV= timezone-related database files located in ) SYS$SPECIFIC:[SYSEXE]:; o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE.DATh? o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE_SRC.DATe 4-18   a' Time and TimekeepingH These two files are in an erroneous location and must9 be recreated in the correct directory: & SYS$COMMON:[SYSEXE]& If the DCL command:; $ DIRECTORY SYS$SYSTEM:SYS$TIMEZONE*.DAT J shows these files in SYS$SPECIFIC:[SYSEXE], then deleteJ them and use SYS$MANAGER:UTC$TIME_SETUP.COM to recreate them.B On OpenVMS versions prior to V7.3, if the file:5 $ SYS$STARTUP:DTSS$UTC_STARTUP.COMsJ is present on your system, then you may need to invoke:? $ @SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM)C to recreate the timezone files correctly. Invoke ? this command immediately after [re]executingt3 SYS$MANAGER:UTC$TIME_SETUP.COM.) F If SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM is notG present on your system, then you may need to execute * the following commands:< $ DELETE SYS$STARTUP:DTSS$UTC_STARTUP.COM< $ DEASSIGN/SYSTEM/EXEC SYS$TIMEZONE_RULE.H If your system time is being reported as being off byJ one hour (or whatever the local DST change), please seeI sections Section 4.6, Section 4.3 and Section 10.22.1._' _____________________________p9 4.3.2 Customizing your TDF (Timezone) Setting?sI Individual, local, and regional differences on the use J (or the lack of use) of Daylight Savings Time (DST) are quite common.B If you need to add (or remove) daylight savingsF time for your area or otherwise alter the rules forG your local area, you will probably end up creating ar: variation to an existing timezone rule.J 4-19 u a' Time and Timekeeping H The necessary zone line to add for WhereEverLand will5 probably look something like this: R # Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]L Zone WhereEver 2:00 - WhereEverG The OpenVMS source file for the timezone rules here:c; SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES].B You'll then want to ZIC this to create your own& timezone definiton.I ZIC is documented in the OpenVMS Documentation Set, ineG the HP C Run-Time Library Reference Manual. (DespiterD the name of the manual, it is part of the OpenVMS< documentation set and not the C manuals.): Once you have created the new rule, useC SYS$MANAGER:UTC$TIME_SETUP.COM to select the new J timezone-with V7.3 and later, this tool will notice theG new timezone and will offer it, on earlier releases, F you may/will have to hack the tool somewhat. (Don'tE even think of trying to define the TZ logical name H (found on older configurations), or the SYS$TIMEZONE_E NAME logical name, or any other time- or timezone-h< related logical names directly yourself.)J For various timezone rules, see the tar.gz files (these: are gzipped tar archives) available at:2 o ftp://elsie.nci.nih.gov/pub/D __________________________________________________________F 4.4 Why does the SET TIME command fail? Help managing DTSS?F If you try to set the system time with the SET TIMEB command, and see one of the following messages:6 %SET-E-NOTSET, error modifying timeC -SYSTEM-F-IVSSRQ, invalid system service request 6 %SET-E-NOTSET, error modifying timen -SYSTEM-E-TIMENOTSET, time service enabled; enter a time service command to update the time 4-20n o e' Time and Timekeeping A This occurs if the time on the local system is E controlled by a time service software, for exampleoH the distributed time service software (DTSS) providedD as part of the DECnet-Plus installation. The DTSSF software communicates with one or more time serversG to obtain the current time. It entirely controls therI local system time (for DECnet-Plus, there is a processnF named DTSS$CLERK for this); therefore, the usage ofJ the SET TIME command (and the underlying $SETTIM system( service) is disabled.D The first message is displayed on systems runningF DECnet-Plus V6.1 and earlier. On systems with newerJ DECnet-Plus software, the second (and more informative)$ message is given.G You shouldn't have to change the time manually - you H should be doing this through the time server - but if> you insist... you'll have to shutdown DTSS:' $ RUN SYS$SYSTEM:NCLn DISABLE DTSSg DELETE DTSSI This will shutdown DTSS$CLERK. You may then change the F system time as usual. To restart the DTSS software, typep. $ @SYS$STARTUP:DTSS$STARTUPE You will need a number of privileges to ussue this G command, and you must also be granted the NET$MANAGE = identifer to shutdown and to restart DTSS.eH If you wish to "permanently" disable DTSS on a systemF running DECnet-Plus, the above NCL sequence must beF performed each time the system is bootstrapped. (OnI DECnet-Plus V7.3 and later, you can define the logicalyJ name NET$DISABLE_DTSS to disable the DTSS startup. ThisH logical name must be defined in the command procedureG SYLOGICALS.COM, as this logical name must be presentsG and defined sufficiently early in the OpenVMS systemn: bootstrap sequence for it to function.)J 4-21 r a' Time and TimekeepingeI If DTSS is running and no time servers are configured,oC you can (and will) see the following messages atn% regular intervals: K %%%%%%%%%%% OPCOM 2-SEP-1999 19:41:20.29 %%%%%%%%%%% 5 Message from user SYSTEM on UNHEDIQ Event: Too Few Servers Detected from: Node LOCAL:.mynode DTSS, @ at: 1999-09-02-19:41:20.296-04:00Iinf- Number Detected=0, , Number Required=1J eventUid 5FA70F4F-616E-11D3-A80E-08002BBEDB0FJ entityUid DE9E97DE-6135-11D3-8004-AA000400BD1BJ streamUid D6513A46-6135-11D3-8003-AA000400BD1BJ You can either configure the appropriate number of timeI servers, or you can disable DTSS, or you can ignore itlG and (if OPCOM is set to write to the log via via theeG logical names in SYLOGICALS.COM/SYLOGICALS.TEMPLATE)e4 clean out OPERATOR.LOG regularly.C You can also simply disable the display of these  messages:' $ run sys$system:ncl V block event dispatcher outbound stream local_stream global filter -? ((Node, DTSS), Too Few Servers Detected)vF If you wish to disable the automatic TDF adjustmentJ for daylight savings time (on OpenVMS versions prior to2 V7.3), you can use the command:' $ run sys$system:ncl$8 set dtss automatic TDF change = falseJ or alternatively, you can set the local timezone to oneG that does not include the automatic daylight savings $ time change-over.D OpenVMS V7.3 and later simplify time and timezone management. 4-22  ' Time and TimekeepingqD __________________________________________________________F 4.5 Setting time on AlphaServer ES47, ES80, GS1280 console?F To set the time on an AlphaServer ES47, AlphaServerE ES80 or AlphaServer GS1280 series system, you mustI access the platform management utility. In particular,_G this is how OpenVMS obtains its system time on theser systems. ; MBM - (PMU, Platform Management Utility) 8 From SRM P00> enter {Esc} {Esc} MBMH CTRL/[ CTRL/[ MBM (MBM must be uppercase)A MBM> connect (to exit to SRM)J The serial PMU is a command line interface for a serialE communication (MBM) port or to the telnet session. E Commands entered on this line are forwarded to the H PMU server, and the serial PMU is responsible for the# following tasks:aI o Show the system configuration and provide the basic * debugging capabilityC o Initiate the firmware update or load the testa& firmware versionC o Power on or off, halt, or reset the system or  partitionaC o The system partitioning and cabling functions.E o Displays of the health of hardware environment, G including such constructs as fans, power suppliesg? and environmental and temperature values.s4 o Remote server management tasks? o The connection to the virtual SRM console G Use an escape key sequence to enter the PMU. You can D access the PMU through a modem or from a terminalC emulator connected to the server management LAN.J 4-23 a ' Time and Timekeeping-D __________________________________________________________I 4.6 UTC vs GMT vs vs UT1/UT1/UT2 TDF? What are these acronyms?tD The results of an international compromise-thoughF some would say an international attempt to increaseH confusion-UTC is refered to as "Coordinated UniversalE Time" (though not as CUT) in English and as "TempscF Universel Coordinné" (though not as TUC) in French.G (No particular information exists to explain why UTC I was chosen over the equally nonsensical TCU, accordingtH to Ulysses T. Clockmeister, one of the diplomats thatB helped establish the international compromise.)F Universal Time UT0 is solar time, UT1 is solar timeG corrected for a wobble in the Earth's orbit, and UT2 I is UT1 corrected for seasonal rotational variations int; rotation due to the Earth's solar orbit. B GMT-Greenwich Mean Time-is UT1. GMT is the timeC at the classic site of the since-disbanded RoyalJ Greenwich Observatory; at the most widely-known tourist4 attraction of Greenwich, England.D UTC is based on an average across multiple atomicI clocks, and is kept within 0.9 seconds of GMT, through I the insertion (or removal) of seconds. In other words, G UTC matches GMT plus or minus up to 0.9 seconds, but " UTC is not GMT.H TDF is the Timezone Differential Factor, the intervalE of time between the local time and UTC. Areas thatpJ celebrate daylight savings time (DST) will see periodicI changes to the TDF value, when the switch-over between B daylight savings time and standard time occurs.C The switch-over itself is entirely left to localsJ governmental folks, and can and has varied by politicalF entity and politics, and the switch-over has varied< over the years even at the same location.B If your local OpenVMS system time is off by oneF hour (or whatever the local DST change) for some orD all applications, you probably need to reset yourG local TDF. (For related details, please see sectionse4 Section 4.3 and Section 10.22.1.) 4-24a i ' Time and TimekeepingtI Further discussions of history and politics, the RoyalrH Observers' outbuildings, and the compromise that leftJ the English with the Time Standard (the Prime Meridian)E and the French with the standards for Distance and H Weight (the Metric System) are left to other sources.J Some of these other sources include the following URLs:2 o ftp://elsie.nci.nih.gov/pub/C o http://physics.nist.gov/GenInt/Time/time.html + o http://nist.time.gov/2J 4-25 n J _______________________________________________________0 5 System Management InformationD __________________________________________________________* 5.1 What is an installed image?B The term "install" has two distinct meanings inH OpenVMS. The first relates to "installing a product",I which is done with either the SYS$UPDATE:VMSINSTAL.COM ? command procedure or the POLYCENTER SoftwarecE Installation (PCSI) utility (PRODUCT command). ThelC second meaning relates to the use of the INSTALL ; utility, which is what concerns us here. E The INSTALL utility is used to identify to OpenVMStD a specific copy of an image, either executable orG shareable, which is to be given some set of enhancedrB properties. For example, when you issue the SETF PASSWORD command, the image SYS$SYSTEM:SETP0.EXE isG run. That image needs to have elevated privileges toi( perform its function.G The other important attribute is /SHARED. This means I that shareable parts of the image (typically read-onlyeJ code and data) are loaded into memory only once and areH shared among all users on a system. Executable imagesH can be installed /SHARED as well as shareable libraryH images. (The term "shareable" has dual meanings here,G too. See the OpenVMS Programming Concepts Manual for$ further details.)H It's important to note that there is no such thing asF "installing a shareable image with privileges". TheI INSTALL utility will let you do it, but the privilegesnJ you specify will be ignored. To have a callable routineI run with enhanced privileges that are not available tosI its caller, you must construct your routines as "user-oE written system services" and install the shareableeE image with the /PROTECT qualifier. See the OpenVMS C Programming Concepts Manual for more information B on user-written system services. Note also thatC in many cases the need to grant privileges to anaJ 5-1 m 0 System Management InformationG image can be replaced with the use of the "ProtectednI Subsystems" feature that grants a rights identifier totI an image. See the OpenVMS Guide to System Security fort7 information on Protected Subsystems.cD __________________________________________________________7 5.2 Are there any known viruses for OpenVMS?hE Viruses and worms are common on personal computerseB because the operating systems involved, such asC the Microsoft MS-DOS, Windows 95, Windows 98 anduC Windows ME variants, do not particularly protect,B the operating system or the file system againstD hostile action by programs. Microsoft Windows NT,G Windows 2000 and Windows XP do implement protectionstF for specific configurations and do implement memoryE protection models, but many users of these systemsfF choose to operate with full adminstrator access andG thus the available protections are entirely defeated F and entirely not relevent, and any program that canH activate itself or can cause the user to activate theJ code can subvert the operating system and take over theJ hardware, at which point the malicious code can do mostH anything it wishes, including hiding copies of itselfJ in other programs or in the file system, redistributingI itself via mail, IM, or network connections, or can be H used as a zombie in staging attacks on other systems.F This is less likely with multi-user systems such asD OpenVMS, Unix, Linux, MVS and other platforms forI various reasons. First, the operating system runs in aPF privileged mode in memory that is protected againstD modification by normal user programs. Any programD cannot simply take over the hardware as it can onF operating systems without security and particularlyD without memory page protections. Secondly, multi-D user systems can be set up so that non-privilegedF programs cannot modify system programs and files onH disk, and this is normal for most installations. BothJ of these protection schemes mean that traditional viralF infections don't work on these OSes. Third, typicalF applications and configurations tend to prevent theC uncontrolled execution of untrusted code as parttF of received mail messages or web access; one of the 5-2  0 System Management InformationC central vulnerabilities of the Microsoft Windows F platform involves its intentionally easy ability toD dynamically (and transparently) activate code andD macros that are embedded within mail messages and% within data files./J It is possible for OpenVMS and other multi-user systemsH to become infected by viruses or worms, but to do so,F the program containing the virus must be run from aI user account that has amplified privileges. So long as H the system administrator is careful that only trustedD applications are run from such accounts (and thisE is generally the case) and so long as there are no E OpenVMS system security breaches (due to malicious F operator activity, OpenVMS errors, or errors withinD trusted and privileged product packages) there isG no of modifications to the operating system or otherG> protected files from the virus or the worm.F The FAQ maintainer is aware of a few (and very old)E DECnet worms that have affected OpenVMS systems onF DECnet networks, but is aware of no OpenVMS viruses/ that are loose in the field.,C To protect against viruses and other attempts atTC system interference or misuse, please follow theaJ security recommendations in the OpenVMS Guide to SystemE Security. Additionally, you will want to keep your F OpenVMS ECOs current and you will want to apply allG mandatory ECO kits and any security MUPs for OpenVMSiE and OpenVMS products, and you will want to keep toeG OpenVMS releases with Prior Version Support (PVS) orgE with Current Version Support. (This is obviously aFI general system maintenance recommendation, in additionrE to being a good system security recommendation-newoH security features and capabilities are implemented inG more recent OpenVMS releases, for instance.) You mayOI also want to consider optional software products whichnE can monitor your system for intrusion or infection D attempts. Computer Associates (CA) offers various> products in this area, as to other vendors.H Rocksoft offers the Veracity data integrity tool (forG info, send mail to demo@rocksoft.com). MD5 tools aree" also available.J 5-3  d0 System Management InformationC Tools to scan OpenVMS file systems for Microsoft E Windows infections are also available, including aeG commercial package from Sophos. These scanning toolslG are particularly useful for systems running Samba or:E Advanced Server (PATHWORKS), as these servers tend D to have a higher population of files intended forG Microsoft Windows systems users, and as common virusnD and worm attacks can find and infect files on theE file shares that these products can provide. TheseqF infections do not target OpenVMS itself, though theG OpenVMS server (and any other platform and any otherwG server capable of storing files for Windows systems)sF can silently host files containing common Microsoft& Windows infections.D __________________________________________________________7 5.3 Sources of OpenVMS security information?J Where can I get information on OpenVMS system security?6 o http://www.hp.com/go/openvms/docS o http://www.blacksheepnetworks.com/security/resources/openvms/ > o http://www.vmsone.com/~opcom/defcon9.htmD __________________________________________________________8 5.4 How do I mount an ISO-9660 CD on OpenVMS?H ISO-9660 support was added in the following releases:& o OpenVMS VAX V6.0& o OpenVMS AXP V1.5H An add-on ISO-9660 kit was also available for OpenVMSH VAX V5.5, V5.5-1, V5.5-2, and V5.5-2H4. This requiresH the installation of the F11CD kit from the InfoServerF CD, from the Consolidated Distribution CD under theF InfoServer area, Customer Support Center kit CSCPATF #1071012, or the F11CD ECO kit. (Upgrades to V6 and3 later are strongly recommended.)aI By default, OpenVMS senses the specific type of media.aG If you are working with dual-format media-media thatrG uses both the ODS-2 and ISO-9660 formats on the sameoG CD-ROM-then MOUNT will first detect and then defaultVH to the ODS-2 format. If you wish to override this and 5-4  N0 System Management InformationE explicitly mount the media using ISO-9660, use the  command: L $ MOUNT/MEDIA_FORMAT=CDROM device-name[:] [volume-label]D In most circumstances, you will not need nor will@ you want to include an explicit /MEDIA_FORMATJ specification. For further information, please refer toJ the OpenVMS MOUNT Utility Manual. Particularly note theI information on the MOUNT /MEDIA_FORMAT and /UNDEFINED_i" FAT qualifiers.D The MOUNT /UNDEFINED_FAT qualifier is of interestC because ISO-9660 media can be mastered on a wide C variety of operating system platforms, and these E platforms do not necessarily support the semantics I needed for files containing predefined record formats. G The /UNDEFINED_FAT allows you to specify the default G attributes for files accessed from volumes using the # ISO-9660 format.> An example which works for most CD-ROMs is:V $ MOUNT/MEDIA_FORMAT=CDROM/UNDEFINED_FAT=STREAM:2048 DUA0: FREEWAREE This particular MOUNT command forces access to the H CD-ROM media using the ISO-9660 volume structure, andG the use of the MOUNT /UNDEFINED_FAT qualifier causesEG any file whose file attributes are "undefined" to bedJ returned with "stream" attributes with a maximum record length 2048.aB On OpenVMS, the ISO-9660 format is (internally)G considered to be the ODS-3 file structure, while thelH High Sierra extensions to the standard are consideredA to be the ODS-4 file structure. The Rock RidgeaE extensions are not currently available on OpenVMS. F For details on ODS-1 and ODS-2 file specifications,E see Kirby McCoy's VMS File System Internals Manual/F (published by Digital Press, but potentially out of# print), and see:NB o http://pdp-11.trailing-edge.com/www/ods1.txtB o Look for the Freeware V5.0 directory ODS2 at< http://www.hp.com/go/openvms/freeware/J 5-5 Z 0 System Management InformationD __________________________________________________________; 5.5 How do I extract the contents of a PCSI kit? J A growing number of OpenVMS products are being providedH in PCSI (POLYCENTER Software Installation) kits whichI are installed using the PRODUCT INSTALL command. ThesenH are alternatives to or replacement for VMSINSTAL kitsG which were BACKUP savesets. PCSI kits are not BACKUPhI savesets and are structured differently from VMSINSTALy kits.C If you want to extract product files from a PCSI G kit, create a directory into which the kit should bea: expanded and use the following command:G $ PRODUCT COPY prodname /SOURCE=[where-the-kit-is] - F /DEST=[destination-directory] /FORMAT=REFERENCEB A PCSI kit file has a file specification of the" following form:6 DEC-VAXVMS-FORTRAN-V0603-141-1.PCSIE In this example, "FORTRAN" is the "prodname". PCSI C will expand the kit files into the directory youoG specify and subdirectories beneath such as [SYSEXE],hF [SYSLIB], etc., reflecting the eventual destinationC of files found there. Most of the actual productcF files (images, etc.) will be in the subdirectories.E In the top-level directory will be a file with thetJ file type PCSI$DESCRIPTION that specifies where variousH files should go. For more details, see the POLYCENTERG Software Installation Developer's Guide for OpenVMS,aI which can be found in the OpenVMS documentation on thee< Consolidated Online Documentation CD-ROM.D __________________________________________________________9 5.6 Emergency (Conversational) System Startup?F If you need to perform system management operationsD on an OpenVMS system and cannot access the systemB through normal means-the password on the SYSTEMA username was forgetten and no other privilegedrF usernames are available, or one or more core systemD product authorization key (PAK) software licensesE are unavailable or expired-then you must perform ap8 conversational (emergency) bootstrap. 5-6  0 System Management Information& Here are the steps:G 1 Halt the system. Exactly how this is done depends D on the specific system model: Depending on theI model, this can involve pressing the button, G entering on the console, or pressing the 1 key on the console.EE 2 At the console prompt, use a console command toaD boot into the SYSBOOT utility. (SYSBOOT allowsH conversational changes to system parameters.) (TheE console syntax for the conversational bootstrapSH varies by system model and by system architecture-D this typically involves specifying a flag withH the lowest bit set. See Section 14.3.5 for related, details.) For example:E On VAX, use one of the following three commands E depending on the particular model of VAX systemC involved:  B/R5:1 B/1S @GENBOO  On Alpha:i" b -flags 0,1E If your system has a non-zero system root (sucheG as root SYSE, shown here), you will have to use ar< console command such as the following: On VAX: B/E0000001# B/R5:E0000001 C @  On Alpha:i" b -flags e,1B On IA-64, you can establish a boot alias forA a conversational bootstrap, as discussed inA' Section 14.3.5.1.J 5-7  0 System Management InformationE If your system has a hardware password (variousY> systems support a password that preventsC unauthorized access to the console), you willrH need to know theis password and will need to enterC it using the LOGIN command at the console. If_D you get an "Inv Cmd" error trying to perform aG conversational bootstrap, and you do not have the E hardware console password for the console LOGIN(F command, you are stuck-you will need to call forE hardware service in order to reset the hardwareoG console password. The syntax used for the consoler0 password mechanism varies.F 3 Once at the SYSBOOT prompt, request that OpenVMSH read the system startup commands directly from theE system console, that the window system (if any)eG not be started, and that OpenVMS not record theseoH particular parameter changes for subsequent system reboots:' SET/STARTUP OPA0:e) SET WINDOW_SYSTEM 0v* SET WRITESYSPARAMS 0 CONTINUEG 4 At the $ prompt, the system will now be accepting J startup commands directly from the console. Type the1 following two DCL commands:i $ SPAWNe+ $ @SYS$SYSTEM:STARTUP F 5 You should now see the dollar ($) prompt of DCL.I The result of these two commands will be the normaltD system startup, but you will be left logged inF on the console, running under a fully privilegedI username. Without the use of the SPAWN command, youwE would be logged out when the startup completes.aE Perform the task(s) required, such as resettingoF the password on the SYSTEM username as describedI in Section 5.6.1 or registering one or more licenseSG product authorization keys (PAKs) as described in $ Section 5.6.2. 5-8 e )0 System Management InformationG 6 Once you log out of this session, the system willH complete the startup and can be used normally. YouF can choose to reboot the system, but that is not necessary.C Some system managers will suggest a method usingwD the UAFALTERNATE system parameter rather than theD SET/STARTUP OPA0: command shown. This approach isH not always available and is accordingly less commonlyH recommended, as there can easily be an alternate userD authorization database (SYS$SYSTEM:SYSUAFALT.DAT)G configured on the system. With a system manager that F has configured an alternate SYSUAFALT.DAT file, theF UAFALTERNATE method will fail-well, assuming you doH not know the password of a privileged username stored3 within SYSUAFALT.DAT, of course. G The UAFALTERNATE system parameter is used to trigger G what is sometimes known as the console backdoor. The H OPA0: system console is critical to system operationsF and system security, and will allow access when theF SYSUAF system authorization database is unavailableG or corrupted, when core product license PAKs are not I registered, expired or disabled (NOLICENSE errors), orpI in various other cases of system failures. All this isOH in addition to the role of the console in the displayD of certain system-critical event messages. AccessG to the OPA0: console has a security exposure that is F equivalent to direct access to the system hardware.C When LOGINOUT detects an error (such as a SYSUAF C corruption, by a missing SYSUAF, missing product F licenses, or other trigger), it will prevent accessF to the OpenVMS system from all terminals except theC system console. The OPA0: system console will be D allowed access, and the resulting process will beF fully privileged. Resetting the UAFALTERNATE systemI parameter-in the absence of an alternate SYSUAF systemtI authorization database-will cause the console backdooraE to be opened simply because LOGINOUT cannot locatesC SYS$SYSTEM:SYSUAFALT.DAT. When the authorizationiE database cannot be located, access will be granted ) from the console only. J 5-9  0 System Management InformationC For further information on emergency startup and @ shutdown, as well as for the official OpenVMSJ documentation on how to change the SYSTEM password fromF the console in an emergency, please see the OpenVMSG System Manager's Manual in the OpenVMS documentation  set. D For information and recommendations on setting upE OpenVMS system security, please see the NCSC ClasssF C2 appendix of the Guide to OpenVMS System SecurityA manual, also in the OpenVMS documentation set.J You can also use the conversational bootstrap techniqueG shown earlier (the steps until SET/STARTUP) to alter E various system parameters, as well. At the SYSBOOT ? prompt, you can enter new parameters values:F% SHOW MAXPROCESSCNT  SET . 64E CONTINUEDD The "." is a shorthand notation used for the last@ parameter examined within SYSGEN and SYSBOOT.' _____________________________eD 5.6.1 I've forgotten the SYSTEM password - what can I do?D If you have forgotten or do not have the password@ for the SYSTEM username, you must perform theH conversational bootstrap as described in Section 5.6,F and must enter the following commands once you have1 reached the dollar ($) prompt: S $ SET DEFAULT SYS$SYSTEM: ! or wherever your SYSUAF.DAT resides - $ RUN SYS$SYSTEM:AUTHORIZE 6 MODIFY SYSTEM /PASSWORD=newpassword EXITe@ You have now reset the password on the SYSTEM username. 5-10  0 System Management Information' _____________________________ B 5.6.2 My product licenses have expired - what can I do?G If you have a system with no licenses for OpenVMS or I for OpenVMS users and thus cannot log into the OpenVMS F system normally, you should be able to log into theF console serial terminal-this is the terminal deviceE known as OPA0:-and perform the commands necessary._I For systems that are not configured with an accessableoF console serial terminal-as can be the case with howB some DECwindows workstations are configured-youF must log in over the network or from a local serialB connection. If you cannot log in over a networkE connection (SET HOST, telnet, etc) or from another E local serial terminal connection, you will have tooI halt the system and perform a conversational bootstrap C as described in Section 5.6. You must then enter E licensing-related commands once the conversationalc? bootstrap has reached the dollar ($) prompt.iF Use the following DCL command to invoke a menu thatJ allows you to manage and to register new or replacement license PAKs:+ $ @SYS$UPDATE:VMSLICENSE J You have now registered the license PAKs. Direct use ofH the DCL commands LICENSE and SHOW LICENSE and such is, also obviously available.B If you wish to connect a serial console on yourG DECwindows workstation, please see Section 14.3.3.3, D Section 14.3.6, Section 11.10, and Section 14.19.H For information on troubleshooting DECwindows, please$ see Section 11.5.D __________________________________________________________B 5.7 How do I change the node name of an OpenVMS System?B The first step is to get a BACKUP of the systemE disk before making any changes-use the system diskUH backup procedures as documented in the OpenVMS SystemG Management Manual, making sure to use the proceduresN@ and commands appropriate for the system disk.J 5-11  0 System Management InformationH Changing the node name involves a number of steps-theJ node name tends to be imbedded in a number of different0 data files around the system.G o Update the SCSNODE in MODPARAMS.DAT, and then rundD AUTOGEN as far as the SETPARAMS phase. (Do not" reboot yet.)D o Modify the DECnet node name. (NETCONFIG is theD DECnet Phase IV tool, and NET$CONFIGURE is the( DECnet-Plus tool.)H o Modify the host node name on the various queues inF the queue database. (each queue has a host name,I and it defaults to the SCS node name of the queue'siE host system. See the command INIT/QUEUE/ON=nodeoE for information.) Site-specific startup commandoG procedures can explicitly specify the node on theoG /ON parameter in an INIT/QUEUE/START/ON= command.iC o Modify the node name saved in any applicationI databases, or any local node-conditional operationstG present in the site-specific system startup, etc. H (SEARCH for the node name, specifying all types of files.)eI o Use the AUTHORIZE utility command RENAME/IDENTIFIERnC to rename the SYS$NODE_oldnodename rightslistsD identifier to match the new node name. (Do notE change the binary value of this identifier, and 4 do not delete the identifier.)F If you have erroneously deleted or duplicate theG identifier, you can locate existing references totH the binary identifier value using the Freeware DFUG package, and specifically the commands SEARCH/ACE I and /OWNER. You must (re)create the correctly-namedlE identifier using the binary value that is often G stored in various Access Control List Entry (ACE) H structures and object owner fields associated withF files and objects present in the OpenVMS system.G o Reset any license PAKs that are restricted to the 9 old node name to the new node name.J o If the node name is part of a disk volume label, see# Section 5.13.  5-12  0 System Management InformationF o Reboot the node or-if in a VMScluster-reboot theG whole VMScluster. (This tends to catch any errorsM# immediately.)FH o Modify the IP node name. (The TCP/IP Services toolI is UCX$CONFIG prior to V5.0, and is TCPIP$CONFIG inoI V5.0 and later releases.) Note that TCP/IP ServicesiH ties the IP host name to the current SCSNODE valueJ within its database. Thus if SCSNODE is changed, theH IP host name reconfiguration must occur only afterI a system reboot. Accordingly, it is best to performH the TCP/IP Services host name reconfiguration step' after the reboot.aH There are likely a few other areas where the nodenameJ will be stored. Local procedures and data files are oneG such example, and various sites will have the system I name loaded in the operator control panel via the OCP_ I TEXT console environment variable available at the SRM ; prompt on some Alpha systems is another. F If the system is configured in a VMScluster and youG change either the SCSNODE or the SCSSYSTEMID-but notuF both values-then you will have to reboot the entireD VMScluster. (The VMScluster remembers the mappingC between these two values, and will assume that abD configuration problem has occured if a mismatchedE pair appears, and will refuse to let a node with aR8 mismatched pair join the VMScluster.)G To calculate the correct SCSSYSTEMID value, multiply C the DECnet Phase IV area number by 1024, and addaD the DECnet Phase IV node number. For example, theI SCSSYSTEMID value for a DECnet node with address 19.22r7 is 19478. ((19 * 1024) + 22 = 19478) E This may well have missed one or two configuration I tools (or more!) that are needed at your site-the nodeiJ name tends to get stored all over the place, in layered5 products, and in local software... > Also see Section 15.6.3 and Section 15.6.4.J 5-13 b i0 System Management InformationD __________________________________________________________C 5.8 Why doesn't OpenVMS see the new memory I just added?tC When adding memory to an OpenVMS system, one should checksB for an existing definition of the PHYSICALPAGES (OpenVMSB VAX) or PHYSICAL_MEMORY (OpenVMS Alpha) parameter in theH SYS$SYSTEM:MODPARAMS.DAT parameter database, use a text editorD 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 FEEDBACKA This AUTOGEN command will reset various system F parameters based on recent system usage (FEEDBACK),D and it will reset the value for the PHYSICALPAGESF parameter to the new value. It will also reboot the" OpenVMS system.H PHYSICALPAGES and PHYSICAL_MEMORY can also be used toH deliberately lower the amount of memory available forF use by OpenVMS. This ability can be useful in a fewH specific circumstances, such as testing the behaviourC of an application in a system environment with aeH particular (lower) amount of system memory available.I PHYSICALPAGES and PHYSICAL_MEMORY can be set to -1 (on J OpenVMS Alpha) or (better and simpler) the entry can beH removed from the MODPARAMS.DAT file, to indicate that7 all available memory should be used. D __________________________________________________________C 5.9 How do I change the text in a user's UIC identifier? < The text translations of the numeric UserE Identification Code (UIC) are based on identifiersnF present in the OpenVMS rightslist. Documentation onH this area is included in the _Guide to OpenVMS System$ Security_ manual.E To control the identifiers shown for a user's UIC, G you use AUTHORIZE. Each user has an associated group J identifier, and an identifier specific to the user. And6 each user should have a unique UIC.G To alter the text of a user or group identifier, user$ commands such as: 5-14o t 0 System Management Information- $ RUN SYS$SYSTEM:AUTHORIZEx: UAF> rename/ident oldgroupid newgroupid9 UAF> rename/ident olduserid newuserid H If you should find yourself missing an identifier forH a particular user, you can add one for the user's UIC+ using a command such as:iB UAF> add/ident/value=uic=[group,user] newuseridD The UIC user identifier text is assigned when theH username is created, and is the text of the username.F The UIC group group identifier is assigned when theF first username is created in the UIC group, and theF text is based on the account name specified for theE first user created in the group. The value of thisrH identifier is [groupnumber, 177777]. To add a missing@ group identifier, use an asterisk as follows:@ UAF> add/ident/value=uic=[group,*] newgroupidI You may find cases where an identifier is missing from F time to time, as there are cases where the creationE of a UIC group name identifier might conflict withoC an existing username, or a user identifier mightyI conflict with an existing group identifier. When theseeI conflicts arise, the AUTHORIZE utility will not createH the conflicting group and/or user identifier when the' username is created.yI You can can add and remove user-specified identifiers,hC but you should avoid changing the numeric valuesaG associated with any existing identifiers. You shouldaF also avoid reusing UICs or identifiers when you addG new users, as any existing identifiers that might be J present on objects in the system from the old user willH grant the same access to the new user. Please see the/ security manual for details.dD __________________________________________________________; 5.10 What are the OpenVMS version upgrade paths? J 5-15 e s0 System Management Information' _____________________________ 9 5.10.1 OpenVMS Alpha Upgrade (or Update) Pathsv From V1.0,r/ you can upgrade to V1.5.r* From V1.5, or V1.5-1H1,/ you can upgrade to V6.1.e From V6.1, / you can upgrade to V6.2.G& From V6.1, or V6.2,/ you can upgrade to V7.0. < From V6.1, V6.2, V6.2-1H(1,2,3), or V7.0,/ you can upgrade to V7.1.  From V6.2,I you can update to V6.2-1H1, V6.2-1H2, or V6.2-1H3. J From V6.2, V6.2-1H(1,2,3), V7.1, V7.1-1H(1,2), or V7.2,! to V7.2-1.u* From V6.2, ... or V7.2,+ to V7.2-1H1, to 7.3.nA From V7.1, you can update to V7.1-1H(1,2), ...r+ to V7.2-1H1, to 7.3.tC From V7.3, V7.2-2, V7.2-1H1, V7.2-1, and V7.1-2,r> you can upgrade to V7.3-1 or to V7.3-2. From V7.3-1,o< you can upgrade to V7.3-2 or to V8.2. From V7.3-2,t/ you can upgrade to V8.2.iG Some typical OpenVMS Alpha upgrade (or update) pathst are:  5-16o f 0 System Management InformationI V1.0 -> V1.5 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2, V7.3) E V1.5-1H1 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2, V7.3) # V6.2 -> V6.2-1H3n! V6.2 -> V7.2-1t V6.2 -> V7.3i) V6.2-1H(1,2,3) -> V7.1i+ V6.2-1H(1,2,3) -> V7.2-1 ! V7.1 -> V7.1-2S! V7.1 -> V7.2-1 ) V7.1-1H(1,2) -> V7.1-2s) V7.1-1H(1,2) -> V7.2-1A# V7.1-2 -> V7.3-1s# V7.2 -> V7.2-1H1a) V7.2 -> V7.3 -> V7.3-1r+ V7.2-1 -> (V7.3, V7.3-1)s3 V7.2-2 -> (V7.3, V7.3-1, V7.3-2)w+ V7.3 -> (V7.3-1, V7.3-2)+ V7.3-1 -> (V7.3-2, V8.2)d! V7.3-2 -> V8.2 H Note that OpenVMS Alpha V7.0 does not include supportH for hardware and/or configurations first supported inJ OpenVMS Alpha V6.2-1H1, V6.2-1H2, or V6.2-1H3; one must9 upgrade to OpenVMS VAX V7.1, or later. C One cannot update directly to a V6.2-1Hx Limited_G Hardware Release (LHR) from any release prior to theuD baseline V6.2 release. The same prohibition holdsC for performing updates directly to V7.1-1Hx from/G any release prior to V7.1-this is not supported, and/F does not produce the expected results. The LHR kitsG can, however, be directly booted and can be directly_I installed, without regard to any operating system thatM7 might be present on the target disk.eD OpenVMS Alpha updates for LHRs (through V7.1-1Hx)E require the use of VMSINSTAL for the update. These6J LHR releases use PCSI for the installation, but not forI the update. Non-LHR releases use PCSI for installs andt upgrades.J 5-17  0 System Management InformationC OpenVMS Alpha V7.1-2 and later use PCSI for LHRs C and for OpenVMS upgrades and for all OpenVMS ECOeG kit installations; V7.1-2 and later use upgrades and H not updates. VMSINSTAL OpenVMS ECO kits (updates) areG not used on OpenVMS Alpha V7.1-2 and later; prior to-I V7.1-2, VMSINSTAL-based ECO (update) kits are used forh OpenVMS.o' _____________________________4+ 5.10.2 OpenVMS I64 Upgrade Paths D OpenVMS I64 V8.2 is the first production release.D OpenVMS I64 V8.0 and V8.1 were intended for earlyH adopters of OpenVMS on Integrity servers, and are not8 considered to be production releases.G To utilize OpenVMS I64 V8.2, you must perform a fullTF installation of V8.2. No supported upgrade path (toF V8.2) is available from previous releases; there isI no upgrade from OpenVMS I64 E8.2, nor from the earlierD) V8.1 or V8.0 releases..F Future OpenVMS I64 releases are expected to provideG a traditional PCSI-based upgrade path from specified E previous releases of OpenVMS I64, analogous to the E long-standing tradition of OpenVMS Alpha upgrades. ' _____________________________e3 5.10.3 OpenVMS VAX Release Upgrade PathsE* From V5.0 through V5.4-/ 3 inclusive, one can upgrade to V5.5.f. From V5.5, V5.5-1, or V5.5-) 2HW, one can upgrade to V5.5-2.lI From V5.5, V5.5-1, or V5.5-2, one can upgrade to V6.0.A% From V5.5-2, V5.5- 0 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.uE From V6.1, V6.2, or V7.0, one can upgrade to V7.1.yR From V6.1, one can upgrade to V7.3 (with VAXBACK ECO for V6.1). 5-18i  o0 System Management Information> Some typical OpenVMS VAX upgrade paths are:E V5.x -> V5.5 -> V6.0 -> V6.2 -> (V7.1, V7.2, V7.3) % V5.5-2HW -> V5.5-2oG V5.5-2, or V5.5-2H4 -> V6.1 -> (V6.2, V7.0, or V7.1)g@ V6.1 -> V6.1 with VAXBACK ECO -> (V7.2, V7.3) V6.2 -> V7.2r V6.2 -> V7.3sJ Note that OpenVMS VAX V6.0 does not include support forH hardware and/or configurations first added in OpenVMSF VAX V5.5-2H4, one must upgrade to OpenVMS VAX V6.1.J Note that OpenVMS VAX V5.5-2HW is a pre-release versionI of V5.5-2. Any system running it should be upgraded to/$ V5.5-2, or later.H If you attempt a direct upgrade from OpenVMS VAX V6.1D to V7.2 or later without having first applied theH VAXBACK ECO kit to your V6.1 system, you will receive$ an error message:G %BACKUP-E-INVRECTYP, invalid record type in save setnC and the upgrade will fail. Acquire and apply thenI VAXBACK ECO kit for OpenVMS VAX V6.1. OpenVMS VAX V6.2mH and later do not require an application of an ECO for0 an upgrade to V7.2 and later.' _____________________________ 7 5.10.4 OpenVMS Cluster Rolling Upgrade Paths J Rolling Upgrades require multiple system disks. RollingJ upgrades permit the OpenVMS Cluster to remain availableG while individual systems are being upgraded to a newl# OpenVMS release.$D OpenVMS Cluster rolling upgrades for both OpenVMSF VAX and OpenVMS Alpha may (will) have different, orI additional upgrade requirements, and have requirementsoD around which versions of OpenVMS can coexist in a< OpenVMS Cluster than what is listed here.J See the OpenVMS Upgrade and Installation Manual for theG particular release, and the OpenVMS Software Product]C Descriptions for OpenVMS and for OpenVMS Clustera software:J 5-19 t 0 System Management Information5 o http://www.compaq.com/info/spd/fH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx. F for further details on the rolling upgrade, and forC support information. The documentation for oldermE releases of OpenVMS VAX includes various platform-CF specific manuals, manuals that include instructionsG that are specific to installing and upgrading on the  platform.' _____________________________ A 5.10.5 OpenVMS Product Version and Support Information E For information on Prior Version Support (PVS) and C Mature Product Support (including information on D support end dates for OpenVMS and various layered) products), please see:f: o http://www.hp.com/hps/os/os_pvs.html; o http://www.hp.com/hps/os/os_ovms.htmle3 o http://www.hp.com/go/openvms/C For information on supported versions of layered A products, and minimum required layered products! versions, see:eP o http://www.openvms.compaq.com/openvms/os/swroll/index.htmlE For information on the release history of OpenVMS, E including information on the code names of various 3 releases and the major features: G o http://www.openvms.compaq.com/openvms/os/openvms- * release-history.htmlG Additional release history information, as well as arH variety of other trivia, is available in the VAX 20th$ anniversary book:L o http://www.openvms.compaq.com/openvms/20th/vmsbook.pdf 5-20a a i0 System Management Information' _____________________________.; 5.10.6 OpenVMS Alpha and I64 Upgrade TerminologyeC OpenVMS Alpha and OpenVMS I64 use the POLYCENTERiJ Software Product Install Utility, occasionly refered toG as SPIU and rather more commonly known as PCSI. PCSIOI is a component of the OpenVMS operating system, and is1G available on OpenVMS VAX, OpenVMS Alpha, and OpenVMSe I64.sD The following terms apply to OpenVMS Alpha and toE OpenVMS I64 Upgrades and Installations using PCSI:  o UpdateH Typically used for Limited Hardware Releases (LHR)H releases. Performed via VMSINSTAL. Applies only toI the OpenVMS release that the LHR is based on, or tooH an intermediate LHR. (eg: V7.1-1H2 applies only toG V7.1-1H1 and to V7.1, not to any other releases.) E LHRs within a series are cumulative, containing7I all files and features of previous LHRs in the same series. E VMSINSTAL-based Updates and VMSINSTAL-based ECOuG kits are not generally used to upgrade OpenVMS on I releases of OpenVMS Alpha V7.1-2 and later, nor arerH thse used on OpenVMS I64; only PCSI-based UpgradesH and Installs are used. VMSINSTAL remains availableI for other uses and other products; for upgrades andoJ installations of products other than OpenVMS itself. o Upgrade C Performed via PCSI. Upgrades can typically be E applied directly to a release-specific range of C earlier OpenVMS releases. The product release I documentation specifies the prior OpenVMS releases;OA if your release is not one of the specifiedeD releases, you will have to perform one or moreG additional upgrades (through intermediate OpenVMStJ releases) to reach one of the prerequisite releases. o InstalltB Performed via PCSI. With an installation, noI existing version of the operating system is assumed E present, nor are any files from any copy of the J operating system might be present preserved, and theJ 5-21  l0 System Management InformationJ entire contents of the target disk are destroyed via, a disk initialization. o PreserveA Performed via PCSI. Otherwise similar to ant> installation, this option skips the diskE reinitialization. User files on the target diskaH are preserved. Any existing operating system files7 on the target disk are clobbered.  o LHRsH Limited Hardware Release. LHRs are specific to andJ are targeted at new hardware configurations, and areI not shipped to customers with support contracts. AteJ least one LHR kit must be specifically acquired whenG purchasing new hardware, new hardware that is notfH (yet) supported by any mainline (non-LHR) release.E LHRs have an "H" in the OpenVMS version string, 6 indicating a "Hardware" release.J You will not generally want to continue using an LHRI once a subsequent OpenVMS release is available; you G will want to upgrade off the LHR at your earliest " convenience.J For minimum OpenVMS versions for various platforms, see Section 2.12.D __________________________________________________________J 5.11 Why do I have a negative number in the pagefile reservable pages?C Seeing a negative number in the reservable pageseH portion of the SHOW MEMORY/FULL command can be normalF and expected, and is (even) documented behaviour. AF pagefile with a negative number of reservable pagesI is overcommitted, which is generally goodness assumingrI that every process with reserved pages does not try to H occupy all of the reserved pagefile space at the same time.E To understand how the pagefile reservation processSJ works, think about how a traditional bank operates whenI accepting customer deposits and making loans. It's theeI same idea with the pagefile space. There is less moneyuJ in the bank vault than the total deposits, because much 5-22l n e0 System Management InformationF of the money has been loaned out to other customersG of the bank. And the behaviour parallels that of themI pagefile down to the problems that a "run on the bank"SG can cause for banking customers. (Though there is nocC deposit insurance available for pagefile users.)cD If all of the running applications try to use theJ reserved space, the system manager will need to enlargeH the pagefile or add one or more additional pagefules.> To determine if the pagefile is excessivelyD overcommitted, watch for "double overcommitment"-F when the reservable space approaches the negatationB of the available total space-and watch that theG total amount of free space available in the pagefilehJ remains adequate. If either of these situations arises,; additional pagefile storage is required. H Additional pagefile information: Additional pagefilesF can typically be created and connected on a runningJ OpenVMS system. New processes and new applications willJ tend to use the new pagefile, and existing applicationsH can be restarted to migrate out of the more congestedI pagefiles. Pagefiles are generally named PAGEFILE.SYS,sE and multiple pagefiles are generally configured onsG separate disk spindles to spread the paging I/O load C across the available disk storage. When multiplelI pagefiles are present on recent OpenVMS versions, eachyI pagefile file should be configured to be approximately > the same total size as the other pagefiles.D For additional information on pagefile operationsB and related commands, see the system managementD and performance management manuals in the OpenVMS% documentation set.PF With OpenVMS V7.3 and later, the displays have beenB changed and these negative values are no longer visible.rJ 5-23  .0 System Management InformationD __________________________________________________________B 5.12 Do I have to update layered products when updating OpenVMS?G The Software Public Rollout Reports for OpenVMS listhE the current and future availability of HP softwareaE products shipping on the OpenVMS Software ProductseH Library kits (CDROM consolidations) for OpenVMS AlphaI and/or OpenVMS VAX. Specifically, the required minimum ; versions for product support are listed.oD Comprehensive Public Rollout Information, listingJ previous product versions as well as currently shippingE versions, has been compiled into a separate set ofrF reports. The product information is grouped to show, Operating System support.F You may or may not be able to use older versions ofH local applications, third-party products, and variousH HP OpenVMS layered products with more recent versionsF of OpenVMS. User-mode code is expected to be upwardG compatible. Code executing in a privileged processoraE mode-typically either executive or kernel mode-mayhD or may not be compatible with more recent OpenVMS versions.C These reports are updated regularly. Please see:tP o http://www.openvms.compaq.com/openvms/os/swroll/index.htmlD __________________________________________________________; 5.13 How do I change the volume label of a disk?tI Dismount the disk, and mount it privately. If the disknJ is mounted by more than one node in an OpenVMS Cluster,G dismount it from all other nodes. If this disk is antJ OpenVMS system disk, shut down all other nodes that are/ bootstrapped from this disk.oI Issue the SET VOLUME/LABEL command, specifying the newK label.@F On OpenVMS V6.0 and later, issue the following PCSIG command to reset the label information stored withinnJ the PCSI database to reflect the new disk volume label:= $ PRODUCT REGISTER VOLUME old-label devicer 5-24d  k0 System Management InformationI Locate any references in the system startup (typicallyiH including the disk MOUNT commands) and any DISK$labelB references in application files, and change the, references appropriately.B If this is a system disk (for the host or for aF satellite), also check the DECnet MOP or LANCP bootJ database, as well as any references to the disk created* by CLUSTER_CONFIG*.COM.H If Compaq Analyze is in use, check the system startupB procedures for the Compaq Analyze tool. CertainG versions of Compaq Analyze will record specific disk? volume labels within the startup procedures. 2 Remount the disk appropriately.D __________________________________________________________4 5.14 How can I set up a shared directory?G To set up a shared directory-where all files created,D in the directory are accessible to the members ofI specified group of users-you can use an access control 0 list (ACL) and an identifier.D The following also shows how to set up a resourceF identifier, which further allows the disk resourcesH to be charged to the specified identifier rather thanF each individual user. (If you don't want this, thenH omit the attributes option on the identifier creationG and omit the entry added in the disk quota database.mA Add an identifier using the AUTHORIZE utility:rD ADD/IDENTIFER/ATTRIBUTES=RESOURCE groupidentifierG Grant the identifier to each user in the group usingy AUTHORIZE:l< GRANT/IDENTIFIER groupidentifier usernameI If disk quotas are in use, add an entry via SYSMAN fore each disk: W DISKQUOTA ADD groupidentifier/PERMQUOTA=pq/OVERDRAFT=od/DEVICE=ddcu:J 5-25  0 System Management InformationI Set the shared directory to have an ACL similar to the G following using the SET SECURITY (V6.0 and later) or < SET ACL (versions prior to V6.0) command:9 (DEFAULT_PROTECTION,S:RWED,O:RWED,G,W) ` (IDENTIFIER=groupidentifier,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+DELETE)P (IDENTIFIER=groupidentifier,ACCESS=READ+WRITE+EXECUTE+DELETE)< (CREATOR,ACCESS=READ+WRITE+ACCESS+DELETE)H If there are files already resident in the directory,I set their protections similarly. (The OPTIONS=DEFAULT,a@ DEFAULT_PROTECTION, and CREATOR ACEs apply to directories.)C The default protection mask is used to establisheG the default file protection mask, this mask does nottJ prevent the users holding the specified groupidentifierJ from accessing the file(s), as they can access the fileF via the explicit identifier granting access that is& present in the ACL.D For further information, see the OpenVMS Guide toG System Security Manual, specifically the sections onTB ACLs and identifiers, and resource identifiers.D __________________________________________________________@ 5.15 Why do I get extra blank pages on my HP Printer?H For information on configuring telnet print symbiont,I on device control libraries such as SYSDEVCTL.TLB, andSJ for ways of dealing with the extra blank pages that canG arise on various HP printers, please see the OpenVMSuH Ask The Wizard area, starting particularly with topic (1020):: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablesB ATW Wizard.zip archive, please see Section 3.9.D There are a variety of discussions of this and ofF related printing topics in the Ask The Wizard area,/ in addition to topic (1020).a) Also see Section 5.34.  5-26  0 System Management InformationD __________________________________________________________F 5.16 Drivers and Configuration of New Graphics Controllers?? This section contains information on variouspG graphics controllers supported by OpenVMS Alpha, andbF specifically information on where and how to obtainF device drivers for specific early OpenVMS releases-E device drivers for controllers are integrated into B and shipped with OpenVMS Alpha, but versions ofH these device drivers are sometimes made available for5 specific earlier OpenVMS releases.t' _____________________________r) 5.16.1 The ELSA GLoria Synergy I On OpenVMS Alpha V7.1-2, V7.2, and V7.2-1, acquire theaF appropriate GRAPHICS PCSI kit, and all prerequisite$ OpenVMS ECO kits:4 o VMS712_GRAPHICS-V0300 or later3 o VMS72_GRAPHICS-V0100 or lateru4 o VMS712_GRAPHICS-V0300 or laterJ The ELSA GLoria Synergy is the PBXGK-BB; the PowerStormF 3D10T. Please ensure you have the most current ECOsE for this and other graphics controllers installed;_G check for and install the current GRAPHICS kit. (SeeeH Section 4.2.2 for some unexpectedly related details.)H On OpenVMS Alpha V7.2-1, the files necessary for thisF graphics controller are located in the distribution$ CD-ROM directory:, DISK$ALPHA0721:[ELSA.KIT]A Also check for any available (later) ECO kits.rC An earlier kit (ALP4D20T01_071) (for V7.1, V7.1-dF 1H1, and V7.1-1H2) was once available, but has beenC superceded and is not recommended. Use of V7.1-2 F or later (and use of one the above GRAPHICS kits as< required) is typically the best approach.F OpenVMS V7.2-2 and later mainline releases directly* support the controller.J 5-27  0 System Management InformationG Additional information is available in topics (3419) 9 and (5448) in the Ask The Wizard area:o: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablebB ATW Wizard.zip archive, please see Section 3.9.I Support for the ELSA GLoria Synergy is integrated intoi6 all current OpenVMS Alpha releases.' ______________________________0 5.16.2 PowerStorm 300, PowerStorm 350@ The PowerStorm 300 is the PBXGD-AC, while the2 PowerStorm 350 is the PBXGD-AE.G For support of the PowerStorm 300 and PowerStorm 350dJ graphics controllers, acquire and install the following& available ECO kits:, For OpenVMS Alpha V7.1-2:= o DEC-AXPVMS-VMS712_P350-V0100-4 or laterhA o DEC-AXPVMS-VMS712_GRAPHICS-V0300-4 or laterT, For OpenVMS Alpha V7.2-1:= o DEC-AXPVMS-VMS721_P350-V0100-4 or later.A o DEC-AXPVMS-VMS721_GRAPHICS-V0300-4 or later D Support for the PowerStorm 300 and PowerStorm 350I series graphics controllers is integrated into current* OpenVMS Alpha releases.' _____________________________S2 5.16.3 PowerStorm 3D30, PowerStorm 4D20F PowerStorm 3D30 (PBXGB-AA), PowerStorm 4D20 (PBXGB-H CA) information is available in Ask The Wizard topics* including topic (2041):: o http://www.hp.com/go/openvms/wizard/ 5-28s  0 System Management InformationD For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availableB ATW Wizard.zip archive, please see Section 3.9.' _____________________________e 5.16.4 Radeon 7500I Install the current GRAPHICS ECO kit for OpenVMS Alpha I V7.2-2 or V7.3-1 for support of the Radeon 7500 series 4 PCI and AGP graphics controllers.F Support for this controller (without an ECO kit) isG first integrated into and available in OpenVMS Alpha E V7.3-2. (Please do always install the most current H GRAPHICS ECO kit whenever one is available, however.)D __________________________________________________________C 5.17 How can I acquire OpenVMS patches, fixes, and ECOs?G You can acquire and download kits containing OpenVMSH fixes (ECOs) for various releases, as well as related, support information, via:- o http://www.itrc.hp.com/u< o ftp://ftp.itrc.hp.com/openvms_patches/E Some systems with Internet firewalls may/will haveiE to use passive mode FTP to access the above sites.eJ Assuming recent/current versions of the TCP/IP Services= package, the DCL FTP command necessary is:aF $ DIRECTORY/FTP/ANONYMOUS/PASSIVE ftp.itrc.hp.com::I You can subscribe to an email notification list at thec ITRC site.eH For a list of OpenVMS ECO kits recently released, you can use:_J o http://Eisner.DECUS.org/conferences/OpenVMS-patches_ new_1.HTMLG You can also sign up for ECO kit email notifications H (Digest or individual notifications) directly from HP at:F o http://www1.service.digital.com/patches/mailing- list.html J 5-29  0 System Management InformationE Examples and ECO kit installation instructions are H included in the cover letter. For available ECO kits,I cover letters and other associated documentation, look  in:- o http://www.itrc.hp.com/ < o ftp://ftp.itrc.hp.com/openvms_patches/G For additional information, please see Section 5.17..F Do NOT attempt to install a VMSINSTAL-based OpenVMSC ECO kit on OpenVMS Alpha V7.1-2 and later. While E VMSINSTAL itself remains available, it is not used G for OpenVMS Alpha ECO kits starting in OpenVMS Alpha1F V7.1-2. OpenVMS Alpha V7.1-2 and later use PCSI for$ OpenVMS ECO kits.I See Section 5.30 for information on ECO kit checksums. D __________________________________________________________9 5.18 How do I move the queue manager database?rB To move the location of the queue database, the? SYS$QUEUE_MANAGER.QMAN$QUEUES and SYS$QUEUE_ J MANAGER.QMAN$JOURNAL files, to a disk that is fast(er),J has plenty of free space, and that is not heavily used.F If the queue database is on a (busy) OpenVMS systemD disk, you can and probably should move it off the7 system disk to another disk spindle. . To move the queue database:H 1 Checkpoint the journal file. This reduces the fileJ size to the in-memory database size. This will cause& the noted delay.2 $ RUN SYS$SYSTEM:JBC$COMMAND+ JBC$COMMAND> DIAG 0 7., 2 Stop the queue manager2 $ STOP/QUEUE/MANAGER/CLUSTERJ 3 Backup the .QMAN$QUEUES and .QMAN$JOURNAL files from6 the present location for safety.V $ backup SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* DISK:[DIR] 5-30n  0 System Management InformationD 4 Create a new directory for the queue database.F Insure that this disk is accessible to all nodesI that can run the queue manager. If the /ON list for F the queue manager is "/ON=(*)", the disk must be; available to all nodes in the cluster 3 $ CREATE/DIR fast_disk:[qman]pJ 5 Copy the .QMAN$QUEUES and .QMAN$JOURNAL files to the# new directoryeZ $ copy SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* fast_disk:[qman]4 6 Delete the old queue database.L $ DELETE SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$*;*C 7 Restart the queue manager pointing to the new  location< $ START/QUEUE/MANAGER fast_disk:[qman]D __________________________________________________________B 5.19 How do I delete an undeletable/unstoppable (RWAST) process?E "Undeleteable" jobs are usually "undeleteable" foreG a reason-this can track back to insufficient processeH quotas, to a kernel-mode error in OpenVMS or a third-A party device driver, or to other odd problems.lF These undeletable jobs typically become of interestF because they are holding onto a particular resourceF (eg: tape drive, disk drive, communications widget)C that you need to use... If the particular device E supports firmware, ensure that the device firmware I is current - TQK50 controllers are known for this whensE working with old firmware. (That, and the infamousyG "MUA4224" firmware bug.) If this device has a drivertD ECO kit available, acquire and apply it... If theI particular relevant host component has an ECO, acquire and apply it.G Useful tools include SDA (to see what might be goingiG on) and DECamds (which increase and thus potentially.F fix quota-related problems). (nb: Applications with> quota leaks will obviously not stay fixed.)J 5-31  0 System Management InformationJ If the stuck application is BACKUP, ensure you have theI current BACKUP ECO and are directly following the V7.1sJ or (better) V7.2 or later process quota recommendationsI for operator BACKUP accounts. Quota details are in the 3 OpenVMS System Manager's Manual.G If the firmware and ECO levels are current, the bestJ approach is to take a system crashdump, and pass a copyH of the dump file along to whomever is maintaining theH device driver for the particular device/widget/driverF involved, with any details on how you got into thisB situation. (The reboot involved with taking the? crashdump will obviously clear the problem.) I There was some kernel-mode code (typically for OpenVMSmF VAX) that can reset the device ownership field, butE that is rather obviously only an interim solution- D the real fix is avoiding the loss of the IRP, theG process quota leak, or whatever else is "jamming up",- this particular process... D __________________________________________________________2 5.20 How do I reset the error count(s)?H The system reboot is the only supported approach, butJ it is obviously undesirable in various situations-thereE is presently no supported mechanism to reset error = counts once the error(s) have been logged. E As for an unsupported approach-and be aware of thee: potential for causing a system crash...G To reset the error count, one needs to determine thekI system address of the error count field. For a device,gJ this is at an offset within the device's UCB structure.I On VAX, the field is at an offset symbolically definedD as UCB$W_ERRCNT. On Alpha, this field's offset isF symbolically defined as UCB$L_ERRCNT. The former isI a word in size; the latter is a longword. (Could it be_> that Alpha devices are more error prone? ;)J You now need to locate the system address of the UCB$%_F ERRCNT field of the device you wish to reset. EnterF SDA. In the following, you will see designations inI {} separated by a /. The first item in braces is to be  5-32l g g0 System Management InformationH used on the VAX and the second item should be used on. an Alpha. (ie. {VAX/Alpha})# $ ANALYZE/SYSTEMoE SDA> READ SYS${SYSTEM/LOADABLE_IMAGES}:SYSDEF.STB.Y SDA> SHOW DEVICE ! device designation of device with error 6 SDA> EVALUATE UCB+UCB${W/L}_ERRCNTL Hex = hhhhhhhh Decimal = -dddddddddd UCB+offsetD Record the hexadecimal value 'hhhhhhhh' returned.I You can now exit from SDA and $ RUN SYS$SHARE:DELTA or ? do what I prefer to do, issue the following:c1 SDA> SPAWN RUN SYS$SHARE:DELTA D On both VAX and Alpha, the DELTA debugger will beF invoked and will ident- ify itself. On Alpha, thereB will be an Alpha instruction decoded. For thoseG unfamiliar with DELTA, it does not have a prompt andiJ only one error message-Eh? (Well, for sake of argument,J there might be another error produced on the console if; you're not careful-aka. a system crash!)_= If you are on a VAX, enter the command: [Wn= If you are on Alpha, enter the command: [LrE These set the prevailing mode to word and longword @ respectively. Remem- ber the UCB${W/L)_ERRCNT differences? , Now issue the command 1;M3 DELTA will respond with 00000001I You are now poised to ZAP the error count field. To do I so you need to en- ter the system address and view itsiG contents. The format of the command to do this is ofn the form:! IPID:hhhhhhhh/J For an IPID, use the IPID of the SWAPPER process. It is# always: 00010001aA Thus, to ZAP the error count, you would enter:g% 00010001:hhhhhhhh/ J 5-33 t /0 System Management InformationF When you enter the / SDA will return the content ofG the address hhhhhhhh. This should be the error countaG (in hexadecimal) of the device in question. If it is J not, you did something wrong and I'd suggest you type aI carriage return and then enter the command EXIT to gettH out of DELTA. Regroup and see where your session went awry.F If you entered your address correctly and the errorJ count was returned as in the following example, you can proceed. ] 00010001:80D9C6C8/0001 ! output on VAX 1 errorn] 00010001:80D9C6C8/00000001 ! output on Alpha 1 errorAI You can now ZAP the error count by entering a zero andi9 typing a carriage return. For example:OX 00010001:80D9C6C8/0001 0 ! output on VAX 1 errorX 00010001:80D9C6C8/00000001 0 ! output on Alpha 1 errorC Now type the command EXIT and a carriage return.h4 Alternatively, reboot the system.D __________________________________________________________I 5.21 How do I find out if the tape drive supports compression? I For various SCSI-based MK-class magnetic tape devices: E $ Devdepend2 = F$GETDVI("$n$MKcxxx:","DEVDEPEND2") * $ Comp_sup = %X00200000* $ Comp_ena = %X00400000D $ IF (Devdepend2.AND.Comp_sup).EQ.Comp_sup THEN -? WRITE SYS$OUTPUT "Compression supported"1D $ IF (Devdepend2.AND.Comp_ena).EQ.Comp_ena THEN -= WRITE SYS$OUTPUT "Compression enabled"aD __________________________________________________________G 5.22 Can I copy SYSUAF to another version? To VAX? To Alpha?i@ The format of the SYSUAF.DAT, RIGHTSLIST, andI associated files are upward-compatible, and compatiblebF across OpenVMS VAX and OpenVMS Alpha systems. (ThisC compatibility is a a basic requirement of mixed-sE version OpenVMS Cluster configurations and OpenVMSeH upgrades-for specific support information, please see 5-34e s o0 System Management InformationH the OpenVMS Cluster rolling upgrade and mixed-versionE requirements.) That said, it's the contents of thetG SYSUAF and RIGHTSLIST files that will make this more interesting.rG The same basic steps necessary for moving RIGHTSLISTrF and SYSUAF files to another node are rather similarE to the steps involved in merging these files in an J OpenVMS Cluster-see the appendix of the OpenVMS ClusterI documentation for details of merging files. (You mighteJ not be merging the contents of two (or more) files, butH you are effectively merging the contents of the files7 into the target system environment.) " Considerations:H o applications often hold SYSUAF or RIGHTSLIST open,F meaning a system reboot is often the best way to) activate new files.rF o the meanings of the RESTRICTED and CAPTIVE flagsI settings on the UAF entries have changed over time. J o the new NET$PROXY.DAT file that is initially createdJ based on the contents of the NETPROXY.DAT during theE OpenVMS VAX V6.1 upgrade and during the OpenVMS D Alpha V6.2 upgrade. This file is maintained in1 parallel with NETPROXY.DAT.eJ o the RIGHTSLIST identifier values and UIC values thatG end up scattered around the target system must be J rationalized with the contents of the new RIGHTSLIST' and SYSUAF files. G The lattermost case-resolving the identifier values-aG is often the most interesting and difficult part. If I you find that an identifier value (or identifier name) F from the source RIGHTSLIST collides with that of anE identifier existing on the target system, you mustpE first determine if the two identifiers perform the H same function. In most cases, they will not. As such,E you will have to find and chance all references tocF the identifier value(s) (or name(s)) to resolve the "collision".bJ 5-35 n 0 System Management InformationE If you encounter a collision, changing both of the B identifier binary values (or names) involved inE the collision to new and unique values can preventnC security problems if you should miss a couple ofpF identifiers embedded somewhere on the target systemF during the whole conversion process-rather than theD wrong alphanumeric value for the identifier beingE displayed, you'll simply see the binary format fortE the identifier displayed, and no particular accessuE will be granted. And any DCL commands or such that H reference the old alphanumeric name will fail, ratherJ than silently (and potentially erroneously) succeeding.J Similar requirements exist for UIC values, as these tooH tend to be scattered all over the system environment.G Like the binary identifier values, you will find UICnJ values associated with disks, ACLs, queues, and various$ other structures.G For a list of the various files shared in an OpenVMS C Cluster and that can be involved when relocatingvF an environment from one node to another (or mergingH environments into an OpenVMS Cluster), please see theH SYLOGICALS.TEMPLATE file included in OpenVMS V7.2 and" later releases.G Procedures to extract the contents of a (potentially F corrupt) queue database are provided on the OpenVMSE Freeware (V5) and can be used to combine two queue C databases together while shuffling files between ) OpenVMS Cluster hosts.,J For related discussions of splitting a cluster into twoJ or for removing a node from cluster (political divorce,I etc), see topics (203), (767), (915) and others in thea' Ask The Wizard area:p: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available B ATW Wizard.zip archive, please see Section 3.9. 5-36a i a0 System Management InformationD __________________________________________________________9 5.23 How do I delete (timeout) idle processes?nF There is no such command integrated within OpenVMS,F though there are (optional) timers available withinJ certain terminal servers and similar devices, and thereG is an integrated time-of-day mechanism that provides ? control over when a user can access OpenVMS. E As for available tools, there are DECUS, freeware,_I and third-party tools known variously as "idle processdI killers" (IPK) or "terminal timeout" programs, as well J as various other names. Examples include: Saiga SystemsE Hitman, Watchdog, MadGoat Watcher (via the MadGoat H site or the OpenVMS Freeware), Kblock, the NetworkingE Dynamics tool known as Assassin, and the Zap tool. I Also available is the XLNperformance system management , utility, from XLNsystems.A A related package (for DECwindows sessions) isi xtermlock. D If the forgetful users are in an application menuG environment, the menu can potentially be extended tos+ provide this capability.D __________________________________________________________C 5.24 Do I need a PAK for the DECevent (HP Analyze) tool?cD DECevent and HP (Compaq) Analyze are available toH customers with support contracts. The PAK is requiredI only for the advanced functions of DECevent, the basicaE bits-to-text translation of the error log does notdE require a license PAK. Ignore the prompt, in other I words. (The PAK should be available to you if you have.H a hardware support contract or warrantee, and the PAKE enables the use of the advanced error analysis and/> notification capabilities within DECevent.)C Please see the following website for details and & downloads: Analyze)= o http://www.compaq.com/support/svctools/ J 5-37 n t0 System Management InformationD __________________________________________________________> 5.25 INITIALIZE ACCVIO and ANSI tape label support?F A change was made (back in 1988) to (as it was thenI known) VAX/VMS V5.1-1 that added support for the then-J new ANSI X3.27-1987 magnetic tape label standard. PriorI to the ANSI X3.27-1987 standard, the date field in theH ANSI HDR1 record permits dates only as far as the endI of Year 1999. With ANSI X3.27-1987, dates through YearfH 1999 and dates from Years 2000 to 2099 are permitted.C Versions of INIT.EXE and MTAACP.EXE from VAX/VMSsJ releases prior to V5.1-1 will potentially have problemsG properly processing ANSI magnetic tapes when Y2K and I later dates are involved-the DCL INITIALIZE command issG known to encounter access violation (ACCVIO) errors.tG The available solutions include upgrades, or setting H the date back. Direct initialization of the tape withG the new headers (via $qio) is also clearly possible,yJ though the limitation within the old MTAACP.EXE magtape= ACP image is not nearly so easy to bypass.rD __________________________________________________________7 5.26 How do I recover from INSVIRMEM errors?_E Prior to OpenVMS Alpha V7.0 and on all OpenVMS VAX J releases, VIRTUALPAGECNT and PGFLQUOTA limit the amountE of virtual address space that is available to each  process. F Further limiting the amount of address space is theE size of system space (S0 and S1 space). On OpenVMSuF Alpha versions prior to V7.0 and on all OpenVMS VAXF releases, VIRTUALPAGECNT and MAXPROCESSCNT togetherG determine the size of the page table data structuresnD that occupy large tracts of system space. When noJ system virtual address space is available for the stuffI that needs it-this includes the page tables, non-pageduH pool, and various other structures-then the values ofH VIRTUALPAGECNT and MAXPROCESSCNT cannot be increased.G In OpenVMS Alpha V7.0 and later, the page table dataFH structures have been moved out of S0 and S1 space andJ into page table space. In OpenVMS Alpha V7.2 and later,H certain large data structures found in non-paged poolH (eg: lock management structures) have been moved into 5-38  0 System Management InformationG 64-bit space, thus freeing up room in non-paged pool H and in S0 and S1 space (where non-paged pool resides)E while also permitting much larger data structures.ED __________________________________________________________J 5.27 How can I prevent a serial terminal line from initiating a login?; In SYSTARTUP_VMS.COM, issue the command: = $ SET TERMINAL/NOTYPEAHEAD/PERMANENT ddcu:IF This will prevent any unsolicited terminal input onE ddcu:, and this unsolicited input is what triggers I JOB_CONTROL to start up LOGINOUT on the terminal. OnceoE LOGINOUT starts up on the serial line, you can seeaH interesting behaviour (eg: audits, process creations,H etc) as LOGINOUT tries to "chat" with whatever deviceG is hooked onto the remote end of the serial terminals line.D __________________________________________________________> 5.28 How does PCSI use the image BUILD_IDENT field?E The (undocumented) build ident field in an OpenVMSaF Alpha image header is 16 bytes long, and is used asH a counted string of 0-15 characters (ie, as an .ASCICG string, a string with the character count in byte 0)sG and was originally introduced to provide informationeJ for use by VMSINSTAL patch kits to determine whether an3 image should be replaced or not.dJ Starting with OpenVMS Alpha V7.1-2, OpenVMS EngineeringH uses the PCSI utility to package and install ECO kitsE for OpenVMS. PCSI uses the generation attribute (a F 32-bit unsigned integer) specified for files in theF product description file (PDF) of a PCSI kit as theC basis for performing file conflict detection and I resolution. When a product is installed, PCSI modifies H the build ident field of Alpha image headers to storeJ an encoded form of the generation number. It also looksJ at the build ident field of previously installed imagesJ to obtain the generation information for those files asI input to the file conflict processing algorithm. (Only_6 images have this field, obviously.)J 5-39 a n0 System Management InformationH PCSI interprets the build ident field of a previously. installed image as follows:F o if the string length is 15, the 5th character isE a hyphen, and the last ten characters are a tenwH digit number with leading zeros, then the last tenJ characters are treated as a valid generation number.H o for V7.1-2 through V7.2-1, inclusive, if the aboveF test fails, the information is obtained from the, PCSI product database.H o in releases after V7.2-1 and with current PCSI ECOJ kits, if the above test fails, an invalid generationI number is treated as 0000000000 so that the ECO kit H will simply replace the image rather than assuming4 the PCSI database is in error.D So, what will you see in the image identification; displayed via the ANALYZE/IMAGE command? I For an image that has been built as part of an OpenVMS E Engineering system build, you will generally see a H build ID string in the format "X6TE-SSB-0000"-X6TE isI the build number for the OpenVMS Alpha V7.2-1 release. J This id format is used within the OpenVMS system build,H and can generally only be seen associated with images= that have not yet been processed via PCSI. F During the installation of V7.2-1, PCSI will modifyC the image header to have a build ident string of.C "X6TE-0050120000". During installation of an ECOkE kit containing this image with a generation numberF of 50130052, for example, PCSI would determine thatJ 50130052 is greater than 50120000, and will replace theH existing image on the target disk with the version of5 the image included in the ECO kit.  5-40a b i0 System Management InformationD __________________________________________________________H 5.29 How can I tell what software (and version) is installed?I There is unfortunately no consistent nor single way to J make this determination-this is one of the reasons that< a move to PCSI installations is underway.F On OpenVMS Alpha, you can use VMSINSTAL.HISTORY andG PRODUCT SHOW PRODUCT to determine what packages haveoC been installed via the VMSINSTAL and PCSI tools,e respectively.I To see which OpenVMS Alpha ECO kits have been applied,0F look in VMSINSTAL.HISTORY on OpenVMS Alpha prior toG V7.1-2, and use PRODUCT SHOW PRODUCT/FULL on OpenVMS * Alpha V7.1-2 and later.G On OpenVMS VAX, you can use PRODUCT SHOW PRODUCT and H (for software that is installed via VMSINSTAL on V7.33 and later) in VMSINSTAL.HISTORY. F For products installed on OpenVMS VAX prior to V7.3I using VMSINSTAL, there is no reliable way to determinePD what products have been installed. If the productB provides a RELEASE_NOTES file (as many do), youE can look for the list of these files via DIRECTORY.H SYS$HELP:*.RELEASE_NOTES. Again, this approach is NOTI reliable: some kits do not provide release notes, someiG system managers will install only the release notes,(F some system managers will delete release notes, andF release notes for multiple versions can be present.H On most packages, you can generally use ANALYZE/IMAGEB on one of the core images, looking at the imageD identification area. Some of the product-specific, mechanisms available are:2 o DQS DQS$VERSION logical name" o C CC/VERSION% o C++ CXX/VERSION 7 o TCP/IP TCPIP SHOW VERSION commanddJ 5-41  0 System Management InformationD __________________________________________________________C 5.30 What file checksum tools are available for OpenVMS?E The undocumented DCL command CHECKSUM is the usualF means, and provides a rather simple-minded checksumA suitable to detect basic file corruptions. ForI information and an OpenVMS version of the MD5 checksum tool, see:sA o http://www.support.compaq.com/svctools/md5-t' instructions.htmloH The OpenVMS Alpha ECO (patch) kit checksums availableH at the ECO website are determined using the following( DCL command sequence:5 $ CHECKSUM kitname.pcsi-dcx_axpexe 2 $ SHOW SYMBOL CHECKSUM$CHECKSUMH See Section 5.17 for information on acquiring OpenVMS$ ECO (patch) kits.D __________________________________________________________C 5.31 What (and where) is the OpenVMS Management Station?eC For information and current kits for the OpenVMSeI Management Station (OMS), a PC-based tool that permits.? you to manage an OpenVMS system, please see:_K o http://www.openvms.compaq.com/openvms/products/argus/nD __________________________________________________________B 5.32 How to determine current disk fragmentation level?; The HP OpenVMS Disk File Optimizer (DFO)hC defragmentation package provides a fragmentation G monitoring tool, and a DFO product authorization keyrH (PAK) is not required for the fragmentation reporting tool:- $ DEFRAG SHOW/VOLUME ddcu:eE The DFU tool available on the OpenVMS Freeware cant? generate a report on the disk fragmentation:p$ DFU> REPORT ddcu: 5-42/ n _0 System Management InformationD __________________________________________________________H 5.33 SYSBOOT-I-FILENOTLOC, Unable to locate SYS$CPU_ROUTINES?G A message at the OpenVMS Alpha bootstrap such as thei following: T %SYSBOOT-I-FILENOTLOC, Unable to locate SYS$CPU_ROUTINES_1C02.EXEO %SYSBOOT-E-LDFAIL, failed to load execlet, status = 00000910F indicates that the particular OpenVMS Alpha releaseG does not contain support for the target platform. InH this case, OpenVMS does not recognize Alpha family 1CH member 02 as a supported platform. A later version ofH OpenVMS might support the platform, or there might beF no support on any release. Ensure that you have theH most current firmware, and review the minimum version1 requirements for the platform.G The execlet load failure and other similar bootstrap I status values can often be decoded using either of the ( following techniques: $ exit %x910.5 %SYSTEM-W-NOSUCHFILE, no such fileh $) $ x = f$message(%x910)h" $ show symbol x= X = "%SYSTEM-W-NOSUCHFILE, no such file"M $- Also see Section 14.4.4.1. D __________________________________________________________E 5.34 How can I customize the DCPS device control for a new  printer?J To customize DCPS for an otherwise unsupported printer,6 you can try the following sequence:G o Extract the most closely-associated setup modules ? from the existing device control library, F DCPS$DEVCTL.TLB. (For instance, you can probablyA extract and use the HP LaserJet 4000 series G definitions for the HP LaserJet 4050 series. Each C printer will vary, please consult the printer D documentation for specifics and requirements.)J 5-43  0 System Management Information= o rename each extracted setup module to ae$ corresponding:) LPS$$UNRECOGNIZED_*YJ o Insert all of the above-renamed setup modules into aJ newly-created device control library specific to the" new printer:- $ LIBRARY/TEXT/CREATE -_> SYS$COMMON:[SYSLIB]HP4050_DEVCTL.TLB, LPS$$UNRECOGNIZED*G The above assumes the filename HP4050_DEVCTL.TLB,e( alter as required.F o Set up your DCPS startup procedures to include a7 search-list logical name such as: B $ DEFINE/SYSTEM/EXECUTIVE DCPS_HP4050_LIB -: SYS$LIBRARY:HP4050_DEVCTL.TLB, -5 SYS$LIBRARY:DCPS$DEVCTL.TLB E o Supply DCPS_HP4050_LIB as the library parameterwA in the queue startup for this printer, thisrB is the P3 parameter to the command procedure; SYS$STARTUP:DCPS$EXECUTION_QUEUE.COM.rC o The HP4050_DEVCTL library may/will need to beeG recreated and modules re-edited and replaced withfD each DCPS upgrade, particularly if any modulesH are updated in the original library. You will alsoG want to determine if the upgraded version of DCPS ? directly supports the particular printer.D o To customize the processing of file extensionsG within DCPS (to enable or disable graybar output,F for instance), use the information available in:K SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT_DEFAULT4 to create your own site-specific:@ SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT) Also see Section 5.15.B 5-44f o g0 System Management InformationD __________________________________________________________D 5.35 Why do $GETDEV MOUNTCNT and SHOW DEVICE mount counts differ? E MOUNTCNT returns the local mount count, while SHOW ? DEVICE returns the cluster-wide mount count. D __________________________________________________________@ 5.36 What software is needed for Postscript printers?D The NorthLake PrintKit (www.nls.com) and DECprintF Supervisor (DCPS) are common choices for support of2 Postscript printers on OpenVMS.) o http://www.nls.com/wH o http://www.openvms.compaq.com/openvms/Print/print_# sw_prods.htmllA You may also require the installation of an IPo# transport stack. E Also please see Section 15.2.2 and Section 15.2.3.aD __________________________________________________________A 5.37 How do I remove a PCSI-installed patch (ECO) kit?_D You cannot PRODUCT REMOVE a PCSI patch (ECO) kit.I In order to remove an ECO kit, PCSI would have to haveD copies of all the other version of the files fromF all other patches and products that previously wereH installed. This can clearly involve a large number ofG files and a large archive of old file versions and a G substantial quantity of disk space. While removal is F clearly theoretically possible, it is not currently implemented.cG The following is the supported mechanism to remove at" PCSI patch kit.H 1 Execute a PRODUCT SHOW PRODUCT product-name. /FULLJ command. The "maintenance" column (132 column width)H shows the patches that have been installed. Keep a+ copy of this listing.(J 2 Acquire kits for all of the maintenance kits listed.G 3 Re-install the prior FULL version of the product._I This will remove all patch kits, setting to product 3 back to "original" condition.dJ 5-45 i o0 System Management InformationI 4 Re-install all the patches in the list from step 1,XH except those patches which you have determined you" do not want.E The above information also applies to PCSI PARTIALE kits.D __________________________________________________________H 5.38 SYSINIT-E, error mounting system device, status=0072832CB This message can arise during an OpenVMS system bootstrap...eV %MOUNT-F-DIFVOLMNT, different volume already mounted on this deviceC For details and further information, use the DCLs command: 2 $ HELP/MESSAGE /STATUS=%X72832CD __________________________________________________________/ 5.39 Resolving License PAK Problems?lF The PAK release date, the PAK termination date, andH the PAK version are the usual culprits when a licenseH product authorization key (PAK) check failure occurs.H The PAK termination date is the date when the license# PAK will expire. F The PAK release date is the date of the most recentD release date of the software package that will beH permitted by the particular license PAK. (The releaseG date check is analogous to a product version check.)WD The PAK version indicates the most recent product< version that is permitted by the license.G Having multiple license PAKs registered (and active)cI can also cause problems if an expired PAK gets loaded.dH You will want to DISABLE license PAKs you do not wish" to have loaded.H Other problems include a failure to register each PAKI in all license databases throughout a multiple-system-wH disk cluster, with a consistent set of /INCLUDE lists@ specified across each of the duplicated PAKs. 5-46   0 System Management InformationF Additionally, you could have an invalid LMF$LICENSEC logical name defined. (If no LMF$LICENSE logicalhG name is defined, the standard license database namedm< SYS$SYSTEM:LMF$LICENSE.LDB will be used.)C You can display license failures by defining the * following logical name:C $ DEFINE/SYS/EXEC LMF$DISPLAY_OPCOM_MESSAGE TRUEy= Enable your terminal as a license operatorIB (REPLY/ENABLE=LICENSE), define the LMF$DISPLAY_G OPCOM_MESSAGE logical name, and then try the failing D operation again. You should see one or more OPCOM& messages displayed.I If you have the LMF$DISPLAY_OPCOM_MESSAGE logical nametF defined, you can (will?) see spurious license checkD failures-various products will check for multipleH licenses, and a few products will check for PAKs thatG either have not yet been or will not be issued. Once6I you figure out which license has failed, you will want 1 to deassign this logical name.1 Note.G That there are no license check failures does not G indicate that the particular product or operationD or use is permissible per applicable licensing? agreements. Please consult the applicable,D agreement(s) for licensing-related information' and requirements. C To register a license PAK on a DECwindows system F when DECwindows cannot start (because of an expiredH license or other licensing problem), follow the stepsE outlined in section Section 5.6 up through the use_F of the AUTHORIZE command. In place of the AUTHORIZEI command, use the console to register the license PAKs.aJ Also see Section 12.5 for licensing and troubleshooting information.lE For information on licensing and on the numbers ofsJ license units required for various products and variousH platforms, the License Unit Requirements Table (LURT)# is available at:pJ 5-47  0 System Management InformationC o http://www.compaq.com/products/software/info/ D __________________________________________________________4 5.40 Changing the OpenVMS Version Number?J Fool your friends, baffle your enemies, run the OpenVMS* version of your choice!, On OpenVMS Alpha systems:5 $ SET DEFAULT SYS$COMMON:[SYS$LDR]i $ RUN SYSVER  REPLACE V9.9e WRITE $ EXIT * On OpenVMS VAX systems:5 $ set default SYS$COMMON:[SYS$LDR]n8 $ copy SYS.EXE SYS.EXE_IN-CASE-I-FAIL" $ patch SYS.EXE1 define sys$gq_version=800044b8e! set mode ascii * !examine sys$gq_version, !examine sys$gq_version+44 deposit sys$gq_version = "V9.9"4 deposit sys$gq_version+4 = " " update  exit  $ Exitf: Then reboot the system at your leisure.D __________________________________________________________E 5.41 How to prevent users from choosing obvious passwords?fG To prevent users from selecting obvious passwords oneF OpenVMS, you will want to use the reserved passwordI (password screening) mechanism. Effectively, you mergeD your list of reserved passwords into the existingJ reserved words database maintained by OpenVMS. (You canH also then require all users to reset their passwords-F via the pre-expired password mechanism-thus forcingE users to select new passwords.) For details on the I password screening mechanism, of the reserved passwordyG database (VMS$PASSWORD_DICTIONARY.DATA), and details D of how to merge your list of prohibited passwords 5-48h a t0 System Management InformationG into the database, please see the associated chaptertE in the OpenVMS security manual. For details of theaC password expiration mechanism, see the AUTHORIZEr1 command qualifier /PWDEXPIRED.sI You can also implement a site-specific password filter C with the information provided in the back of theaD OpenVMS Programming Concepts manual. The passwordG filter permits you to establish particular and site-vF specific password requirements. For details, pleaseC see the system parameter LOAD_PWD_POLICY and theoG programming concepts manual, and see the examples in E SYS$EXAMPLES:. (Examples and documentation on V7.3hE and later reflect both platforms, the examples arebF found only on OpenVMS VAX kits on earlier releases.J The capabilities have existed on both the VAX and Alpha0 platforms for some time now.)B To verify current passwords, you can also use aH technique known to system crackers as the "dictionaryH attack"-the mechanism that makes this attack somewhatJ more difficult on OpenVMS is the hashing scheme used onH OpenVMS, and the file protections used for the SYSUAFJ authorization database. Given a dictionary of words andH the unprotected contents of the SYSUAF file, a searchI for obvious passwords can be performed. Interestingly, G a "dictionary attack" also has the unfortunate side- I effect of exposing the password to the user-while this F is clearly the goal of a system cracker, authorizedH privileged and non-privileged system users should notG know nor have access to the (cleartext) passwords ofc other users. D Accordingly, OpenVMS does not store the cleartestE password. Further, OpenVMS uses a password hashing J algorithm, not an encryption algorithm. This means thatJ storage of a cleartext password is deliberated avoided,I and the cleartext value is deliberately very difficult F to obtain. The hash is based on a Purdy Polynomial,G and the hash itself includes user-specific values inrI addition to the password, values that make the results < of the password hash unique to each user.J 5-49  0 System Management InformationI Regardless of the use of a password hashing scheme, iffJ a copy of your password file should become available toH a system cracker, you will want to force all users to1 use new passwords immediately.dE If you should require a user to verify a password,vF use the username, the user's salt value (this valueD is acquired via $getuai) and the user's specifiedG cleartext password, and compare the resulting hashedcE value (using a call to $hash_password) against theDH saved hashed password value (this value also acquiredF via $getqui). For reasons of security, avoid savingG a cleartext password value in any data files, and doeG not maintain the cleartext password in memory longertE than required. (Use of $ACM on V7.3-1 and later is) recommended.)A Kerberos authentication (client and server) is F available on OpenVMS V7.3 and later. Integration ofG Kerberos support into various Compaq and into third-d. party products is expected.A External authentication is available in V7.3-1rD and later, with support for user-written external6 authentication in V7.3-2 and later.C If you are simply looking for OpenVMS access and_D the SYSTEM and all other privileged passwords areI forgotten or otherwise unavailable, please see sectionrD Section 5.6 and/or the OpenVMS documentation set.C Also please see the C2 guidelines in the OpenVMSo# security manual. D __________________________________________________________? 5.42__Please_help_me_with_the OpenVMS BACKUP utility? 8 5.42.1 Why isn't BACKUP/SINCE=BACKUP working?J If you are seeing more files backed up than previously,I you are seeing the result of a change that was made toJ ensure BACKUP can perform an incrementation restorationC of the files. In particular, if a directory file I modification date changes, all files underneath it are/I included in the BACKUP, in order to permit incremental C restoration should a directory file get renamed.a 5-50  0 System Management Information' _____________________________pJ 5.42.1.1 Why has OpenVMS gone through the agony of this change?D When a directory is renamed, the modified date isE changed. When the restoration needs to restore theeI directory and its contents, and the restoration should G not result in the restoration of the older directory J name when a series of incremental BACKUPs are restored.H Thus an incremental BACKUP operation needs to pick up& all of the changes.E Consider performing an incremental restoration, to D test the procedures. This testing was how OpenVMSC Engineering found out about the problem that was B latent with the old BACKUP selection scheme-theB old incremental BACKUP scheme would have missedG restoring any files under a renamed directory. HenceeF the change to the selection mechanisms mentioned in" Section 5.42.1.' _____________________________e> 5.42.1.2 Can you get the old BACKUP behaviour back?I Yes, please see the /NOINCREMENTAL qualifier availablerD on recent OpenVMS versions (and ECO kits). Use ofF this qualifier informs BACKUP that you are aware ofE the limitations of the old BACKUP behaviour around 1 incremental disk restorations.i' _____________________________a> 5.42.2 What can I do to improve BACKUP performance?@ Use the documented commands in the manual forE performing incremental BACKUPs. Use the documentedeG incremental procedures. Don't try to use incrementall9 commands in a non-incremental context.nG Also consider understanding and then using /NOALIAS, J which will likely be a bigger win than will anything toJ do with the incremental BACKUPs, particularly on systemD disks and any other disks with directory aliases.D See the OpenVMS V6.2 release notes for additional details. J 5-51  0 System Management Information' _____________________________u8 5.42.3 Why is BACKUP not working as expected?8 First, PLEASE READ THE BACKUP MANUAL.A Second, PLEASE GET THE CURRENT BACKUP ECO KIT. ? Third, PLEASE SET THE PROCESS QUOTAS PER THE ! DOCUMENTATION.A BACKUP has a very complex interface, and there C are numerous command examples and extensive user H documentation available. For a simpler user interfaceC for BACKUP, please see the documentation for the' BACKUP$MANAGER tool._E As for recent BACKUP changes, oddities, bugs, etc:rI o A change made in OpenVMS V6.2 WILL cause more files E to be included into a file-based BACKUP savesetIE using /SINCE=BACKUP as all files underneath anytE directory with a sufficiently recent (selected)uG date will be included in the saveset. This changerF was deliberate and intentional, and was mandatedE by the need to provide a functional incrementalh" restoration.E Without the inclusion of these apparently-extraiG files, an incremental saveset can NOT be reliablya restored. D o As part of the OpenVMS V6.2 change, the /SINCEF command-without the specification of the =BACKUPF keyword-selected more files than it should have.F This is a bug. This bug has been remedied in theI OpenVMS BACKUP source code and in some of (all of?) * the BACKUP ECO kits.> When working with BACKUP, you will want to:E o Ensure you have your process quotas set per theiF recommendations in the OpenVMS System ManagementH documentation. Deviation from these values can andF will lead to access violation (ACCVIO) and other) untoward behaviour.VJ o Get the current BACKUP ECO kit and install it BEFORE? you attempt to troubleshoot any problems.d 5-52P  0 System Management InformationG o Learn about the /NOINCREMENTAL (new) and /NOALIASIE (V6.2 and later) command qualifiers. The formerdH qualifier returns to the pre-V6.2 behaviour of theG /SINCE file selection mechanism, while the latter E (specified with /IMAGE) reduces the replicationoH of files on system disks and other disks with fileJ alias and directory alias entries. Both of these canG reduce the numbers of files that will be selected 9 and thus included into the saveset.eF Learn what /IGNORE=INTERLOCK means. This commandG probably does not provide what you think it does-G those file system interlocks that this command is H ignoring were implemented for a reason, after all.G Ignoring these interlocks can lead to missed data H and potentially to corruptions to individual filesH stored within the output saveset, corruptions thatE may or may not be reported. For details on thisF BACKUP command qualifier, please see the Ask The* Wizard topic (2467).= When working with the BACKUP callable API:aJ o Build your applications with the most current BACKUPH API available. Changes made to the V7.1-2 and V7.2H API were incompatible with the V7.1 and V7.2-1 andG later APIs, and this incompatibility was repaired I via a BACKUP ECO kit. Do NOT build your applicationFF with the versions of the BACKUP API that shippedJ with V7.1-2 and V7.2, as these are incompatible withF the BACKUP API constants that were used on other versions. ' _____________________________T8 5.42.4 How do I fix a corrupt BACKUP saveset?I BACKUP savesets can be corrupted by FTP file transfers F and by tools such as zip (particularly when the zipF tool has not been asked to save and restore OpenVMSF file attributes or when it does not support OpenVMSB file attributes), as well as via other means of corruptions.wJ 5-53 e m0 System Management InformationF If you have problems with the BACKUP savesets afterH unzipping them or after an FTP file transfer, you canI try restoring the appropriate saveset attributes using  the tool:> $ @RESET_BACKUP_SAVESET_FILE_ATTRIBUTES.COME This tool is available on the OpenVMS Freeware (iniG the [000TOOLS] directory). The Freeware is availableoF at various sites-see the Freeware location listingsH elsewhere in the FAQ-and other similar tools are also2 available from various sources.F In various cases, a SET FILE/ATTRIBUTES command canJ also be used. As the parameters of this command must beG varied as the target BACKUP saveset attributes vary, 4 this approach is not recommended.I Also see the "SITE VMS", /FDL, and various other file- J attributes options available in various FTP tools. (NotF all available FTP tools support any or all of these options.)G Browser downloads (via FTP) and incorrect (binary orVF ascii FTP transfer modes) are notorious for causingG RMS file corruptions and particularly BACKUP savesetD corruptions. You can sometimes help encourage theG browser to select the correct FTP transfer type codet! (via RFC1738):EA o ftp://host/urlname.ext;type=i ! request ftp + image/binary transfer A o ftp://host/urlname.ext;type=a ! request ftp ) ascii/text transfervJ You can also often configure the particular web browserF to choose the appropriate transfer mode by default,C based on the particular file extensions, using aeI customization menu available in most web browsers. YourH can select that the specific file extentions involvedJ use the FTP binary transfer mode, which will reduce the. number of corruptions seen. 5-54  o Q0 System Management Information' _____________________________C 5.42.5 How do I write a BACKUP saveset to a remote tape? G How to do this correctly was described at DECUS longG ago. On the OpenVMS host with the tape drive, create 3 the following SAVE-SET.FDL file:_ RECORDf8 FORMAT fixed7 SIZE 8192s1 Then create BACKUP_SERVER.COM:  $ !R $ ! BACKUP_SERVER.COM - provide remote tape service for BACKUP. $ ! $ set noon' $ set rms/network=16 , $ allocate mka500 tapedevE $ mount/nounload/over:id/block=8192/assist tapedev C $ convert/fdl=SAVE-SET sys$net tapedev:save-set. , $ dismount/unload tapedev $ stop/id=0G On the node where you want to do the backup, use thed DCL command:S $ backup - $ srcfilespec -K node"user pwd"::"task=backup_server"/block=8192/save F One area which does not function here is the volumeH switch; multi-reel or multi-cartridge savesets. SinceG the tape is being written through DECnet and RMS and E the magtape ACP, BACKUP won't see the media switch H and will split an XOR group across the reel boundary.E BACKUP might well be willing to read such a multi- F reel or multi-cartridge saveset (directly, not overE the net) as the XOR blocks are effectively ignored I until and unless needed for error recovery operations.mI BACKUP likely will not be able to perform an XOR-basedo@ recovery across reel or cartridge boundaries.I Unfortunately BACKUP can't read tapes over the networkD because the RMS file attributes on a network taskE access look wrong; the attributes reported includeg+ variable length records.J 5-55  0 System Management Information' ______________________________= 5.42.6 How to perform a DoD security disk erasure?t? Sometimes refered to as disk, tape, or mediapG declassification, as formatting, as pattern erasure, C or occasionally by the generic reference of dataEG remanence. Various references to the US Deparment of J Defence (DoD) or NCSC "Rainbow Books" documentation are- also seen in this context.oG While this erasure task might initially appear quitepG easy, basic characteristics of the storage media and F of the device error recovery and bad block handlingH can make this effort far more difficult than it might$ initially appear.F Obviously, data security and sensitivity, the costsB of exposure, applicable legal or administrativeB requirements (DoD, HIPPA or otherwise), and theG intrinsic value of the data involved are all central H factors in this discussion and in the decision of theI appropriate resolution, as is the value of the storage % hardware involved.eC With data of greater value or with data exposure"F (sometimes far) more costly than the residual valueI of the disk storage involved, the physical destruction_B of the platters may well be the most expedient,G economical, and appropriate approach. The unintended I exposure of a bad block containing customer healthcare F data or of credit card numbers can quite be costly,G of course, both in terms of the direct loss, and the D longer-term and indirect costs of such exposures.F Other potential options include the Freeware RZDISKE package, the OpenVMS INITIALIZE/ERASE command (andnE potentially in conjunction with the $erapat system C service) and OpenVMS Ask The Wizard (ATW) topicstG including (841), (3926), (4286), (4598), and (7320). D For additional information on sys$erapat, see theF OpenVMS Programming Concepts manual and the OpenVMSH VAX examples module SYS$EXAMPLES:DOD_ERAPAT.MAR. SomeH disk controllers and even a few disks contain supportG for data erasure. Some DSSI Disk ISEs, for instance.  5-56n l b0 System Management InformationD For the prevention of casual disk data exposures,C a generic INITIALIZE/ERASE operation is probablyC? sufficient. This is not completely reliable,HE particularly if the data is valuable, or if legal, A administrative or contractual restrictions are E stringent-there may well be revectored blocks that G are not overwritten or not completely overwritten by I this erasure, as discussed above, and these blocks can:H obviously contain at least part of most any data thatI was stored on the disk - but this basic disk overwriteeH operation is likely sufficient to prevent the typical+ information disclosures.EC You will want to consult with your site securityaI officer, your corporate security or legal office, withnE HP Services or your prefered service organization, E or with a firm that specializes in erasure or datarI declassification tasks. HP Services does traditionallye@ offer a secure disk declassification service.' _____________________________c9 5.42.7 How to enable telnet virtual terminals? D To enable virtual terminal support for telnet andA rlogin devices, add the following logical name 3 definitions into SYLOGICALS.COM:PB $ DEFINE/SYSTEM/EXECUTIVE TCPIP$RLOGIN_VTA TRUEB $ DEFINE/SYSTEM/EXECUTIVE TCPIP$TELNET_VTA TRUEI See SYS$STARTUP:SYLOGICALS.TEMPLATE for details on theo6 typical contents of SYLOGICALS.COM.I In SYSTARTUP_VMS.COM, ensure that a command similar to_, the following is invoked:a $ SYSMAN IO CONNECT VTA0/NOADAPTER/DRIVER=SYS$LOADABLE_IMAGES:SYS$TTDRIVER.EXEoJ In MODPARAMS.DAT, add the following line or (if alreadyH present) mask the specified hexidecimal value into anJ existing TTY_DEFCHAR2, and perform a subsequent AUTOGEN+ with an eventual reboot:t) TTY_DEFCHAR2 = %X20000 2 This value is TT2$M_DISCONNECT.J 5-57 t /0 System Management InformationF On older TCP/IP Services-versions prior to V5.0-youB will have to perform the following UCX command: $ UCX4 UCX> SET CONF COMM/REMOTE=VIRTUAL' ______________________________; 5.42.7.1 Volume Shadowing MiniCopy vs MiniMerge?.F MiniMerge support has been available for many yearsG with OpenVMS host-based volume shadowing, so long as H you had MSCP controllers (eg: HSC, HSJ, or HSD) whichH supported the Volume Shadowing Assist known as "Write$ History Logging".B If you are interested in mini-merge and similarE technologies, please see the Fibre Channel webpagei7 and the information available there:tB o http://www.openvms.compaq.com/openvms/fibre/C Mini-Merge support was originally intended to beF controller-based and was expected with HSG80 seriesJ storage controllers and was expected to require ACS 8.7, and OpenVMS Alpha V7.3-1.D Host-based Mini-Merge (HBMM) is now available forE specific OpenVMS releases via a shadowing ECO kit,F and is also present in OpenVMS V8.2 and later. HBMMI applies to the HSG80 series and-like host-based volume I shadowing-to most other (all other?) supported storageh devices.,E The following sections describe both Mini-Copy anddG Mini-Merge, and can provide a basis for discussions. ' _____________________________S 5.42.7.1.1 Mini-Copy?I A Shadowing Full Copy occurs when you add a disk to anXG existing shadowset using a MOUNT command; the entireuE contents of the disk are effectively copied to thefF new member (using an algorithm that goes through inF 127-block increments and reads one member, comparesH with the target disk, and if the data differs, writesD the data to the target disk and loops back to the 5-58  0 System Management InformationC read step, until the data is equal for that 127-nF block section). (This is one of the reasons why theG traditional recommendation for adding new volumes to_F a shadowset was to use a BACKUP/PHYSICAL copy of anF existing shadowset volume, simply because the readsJ then usually matched and thus shadowing usually avoided, the need for the writes.)G If you warn OpenVMS ahead of time (at dismount time)tI that you're planning to remove a disk from a shadowset B but re-add it later, OpenVMS will keep a bitmapE tracking what areas of the disk have been modified H while the disk was out of the shadowset, and when youH re-add it later with a MOUNT command OpenVMS only hasI to update the areas of the returned disk that the bit- G map indicates are now out-of-date. OpenVMS does this H with a read source / write target algorithm, which isG much faster than the shenanigans the Full Copy does, I so even if all of the disk has changed, a Mini-Copy is + faster than a Full Copy.p' _____________________________P! 5.42.7.1.2 Mini-Merge?sF A Shadowing Merge is initiated when an OpenVMS nodeI in the cluster (which had a shadowset mounted) crashesrH or otherwise leaves unexpectedly, without dismountingI the shadowset first. In this case, OpenVMS must ensure I that the data is identical, since Shadowing guarantees D that the data on the disks in a shadowset will beJ identical. In a regular Merge operation, Shadowing usesJ an algorithm similar to the Full Copy algorithm (exceptE that it can choose either of the members' contentsgH as the source data, since both are considered equallyJ valid), and scans the entire disk. Also, to make thingsF worse, for any read operations in the area ahead ofG what has been merged, Shadowing will first merge the H area containing the read data, then allow the read to occur.eB A Merge can be very time-consuming and very I/OH intensive. If a node crashes, the surviving nodes canF query to determine what exact areas of the disk theF departed node was writing to just before the crash,J 5-59 6 0 System Management InformationH and thus Shadowing only needs to merge just those fewF areas, so this tends to take seconds, as opposed toI potentially requiring many minutes or even hours for aa& regular full Merge.D __________________________________________________________; 5.43 Please explain DELETE/ERASE and File Locks?,D DELETE/ERASE holds the file lock and also holds aG lock on the parent directory for the duration of therF erasure. This locking can obviously cause an accessC conflict on either the file or on the directory- E it might well pay to rename files into a temporary F directory location before issuing the DELETE/ERASE,G particularly for large files and/or for systems withsD multiple overwrite erase patterns in use; for anyH systems where the DELETE/ERASE erasure operation will take a while. 5-60e i rJ _______________________________________________________& 6 Information on MailD __________________________________________________________J 6.1 MAIL keeps saying I have new messages, but I don't. What do I do?J if you see the %MAIL-W-NONEWMAIL, no new messages errorG reported when MAIL indicates you have messages, then0D the NEWMAIL count has become skewed from reality.D The count of new mail messages is kept separatelyC from your mail folder, and is stored in VMSMAIL_E PROFILE.DATA. It sometimes happens that this count F differs from what is stored in your mail folder. IfD this arises, invoke MAIL and repeatedly enter theF READ/NEW command (or press the keypad hyphen key onG an LK-compatible keyboard) until you see no new mail$G messages. Then enter the command one more time. This 3 will resynchronize the counters.mG If you are operating in a cluster and find your mail C counts inconsistent across cluster members, yourtJ customer is likely missing a definition of the VMSMAIL_D PROFILE logical name-and is probably also missingE definitions of other logical names associated with_E other shared files-or has one or more inconsistentoI definitions of this and likely of other logical names.iC For details on the configuration data files thatu> must be shared within a cluster, please seeE SYS$STARTUP:SYLOGICALS.TEMPLATE on V7.2 and later.eD __________________________________________________________= 6.2 How do I send or read attachments in VMS MAIL? F Is there any way to send or read mail with files as( attachments from VMS?J 6-1  & Information on MailI Not directly with the OpenVMS MAIL facility, but therel- are several other options:tH o Install PINE, available commercially from InnosoftF or free from Andy Harper. With PINE you can bothE send and receive MIME messages, if you have the 4 appropriate viewers available./ o http://www.process.com/ G o http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/ > o ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/D o If you are working from an X11 server, use theG OpenVMS version of Netscape Navigator or Mozilla.dJ The mail download protocol chosen to access the mailJ server from the Navigator or Mozilla mail client canI be POP or IMAP, with the former causing messages to H be downloaded while the latter permits messages toG be retained on the mail server. Most folks prefer + IMAP for this reason.eG o MPACK/MUNPACK. To send a MIME mail, construct therH message with attachments manually using MPACK. YouJ cannot send the resulting file directly through MAILI because an extra blank header line will be insertedtH between your message and the OpenVMS MAIL headers,J which will cause the message to appear as plain textG in most mail programs. Some TCP/IP stacks provideOI a work around for this problem, and if that doesn'ttE work, you should generally be able to force the F message directly into the SMTP port of your mail? machine. Examples of both methods are in: L o http://seqaxp.bio.caltech.edu/pub/SOFTWARE/mmail.comC To read a MIME mail message, open it in MAIL, E extract it to a file, then use MUNPACK to break 5 out and decode the attachments.hG MPACK/MUNPACK tools are also available on OpenVMSr$ Freeware V5.0.D o With OpenVMS V7.2 and later, use the MIME tool, supplied with OpenVMS. 6-2  & Information on MailD __________________________________________________________4 6.3 How can I block SMTP mail relay spam?G Use the anti-spam capabilities present in the TCP/IPh8 Services V5.1 and later SMTP servers." Use a firewall.G On earlier TCP/IP Services releases, some simple DCLmF can reportedly prevent relay SMTP spam. Use the UCXG command SHOW SERVICE SMTP/FULL to find the directory E containing the UCX$SMTP_RECV_STARTUP.COM file, andf, insert the following DCL: $ !( $ ! Block spam. $ !Y $ MY_ADDRESS_LONG[0,32]=F$INTEGER(F$TRNLNM("SYS$REM_NODE")-"::")o[ $ MY_ADDRESS=F$FAO("!UB.!UB.!UB.!UB",F$CVUI(0,8,MY_ADDRESS_LONG),-iV F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),-; F$CVUI(24,8,MY_ADDRESS_LONG))'" G $ MY_ADDRESS_REVERSE=F$FAO("!UB.!UB.!UB.!UB",-aW F$CVUI(24,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),-sV F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(0,8,MY_ADDRESS_LONG))'"\ $ WRITE SYS$OUTPUT F$TIME()+" "+F$TRNLNM("SYS$REM_NODE")+MY_ADDRESSM $ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.INPUTS.ORBS.ORGh* $ IF $STATUS.EQ.1 $ THENeH $ WRITE SYS$OUTPUT "SPAM from relay rejected"! $ EXITi $ ENDIFR $ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.SPAMSOURCES.ORBS.ORG* $ IF $STATUS.EQ.1 $ THENrJ $ WRITE SYS$OUTPUT "SPAM source relay rejected"! $ EXIT $ ENDIF $ !* $ ! Run receiver. $ !? $ run sys$system:ucx$smtp_receiver.exee$ $ goto exitJ 6-3  J _______________________________________________________+ 7 Information on Utilities D __________________________________________________________; 7.1 How do I play an audio CD on my workstation?tF If you've installed the DECwindows examples, you'llD find DECW$CDPLAYER.C, .DAT, .EXE, .UIL, and .UID.F Copy the .UID and .DAT files to DECW$USER_DEFAULTS:B (typically SYS$LOGIN:), define the logical nameF DECW$CD_PLAYER to be the device name of your CD-ROMI drive (eg. DKA400:), give yourself PHY_IO and DIAGNOSEaF privileges, and run the .EXE. (These privileges areG required, as the access to the CD-related extensionsoG will require the use of the privilege-protected IO$_D DIAGNOSE I/O function code.) You can also installF the image with these privileges. See the source forH additional details - note that the comments regardingG the need for SYSGEN CONNECT are no longer applicablee/ (at least as of VMS V5.5-2). D There's also SYS$EXAMPLES:CDROM_AUDIO.C and .EXE,E a non-Motif program, available on OpenVMS VAX, and C DECW$EXAMPLES:DECW$CDPLAYER.* on OpenVMS VAX and ! OpenVMS Alpha.lE The standard OpenVMS ATA (IDE) SYS$DQDRIVER device.A driver does not support the necessary does notoC support the necessary IO$_DIAGNOSE function codeO@ that is required for access to audio CD mediaD commands (on OpenVMS versions prior to V7.3), but@ an updated SYS$DQDRIVER device driver (sourceB code and all) with this capability and with theC source code of an updated DECW$CDPLAYER CD audioaF player is available on the OpenVMS Freeware websiteA (www.hp.com/go/openvms/freeware/, look for the D directory /dqdriver/), and these updates are alsoE included on OpenVMS Freeware V5.0, and OpenVMS ECOrC kits containing newer versions of the driver aremE available. Freeware V6.0 has a version of DQDRIVERhF that is newer than that of the OpenVMS Alpha V7.3-2J 7-1 n d+ Information on UtilitiesUJ release, with additional capabilities and with improved% error diagnostics. D OpenVMS Alpha V7.3 and later include a version ofH SYS$DQDRIVER with the necessary IO$_DIAGNOSE support.D __________________________________________________________C 7.2 How do I access a Microsoft Windows floppy disk from  OpenVMS?cG The HP Advanced Server (formerly known as PATHWORKS)oB for OpenVMS product includes an unsupported andH undocumented utility called PCDISK, and this tool canH read and write various Microsoft MS-DOS and Microsoft0 Windows FAT-format diskettes.G ProGIS in Germany sells a product called VMove which I supports DOS files on many different device types. For A more information, send mail to info@progis.de. C Engineering Software has a product called VAKSATTH which will read, write, and erase files on MS-DOS FATG diskettes. Available for both VAX and Alpha. Contact ; ed@cityscape.co.uk for more information. E MadGoat PC Exchange (PCX) is a utility for copying G files to and from MS-DOS and Microsoft Windows (FAT) H format diskettes under OpenVMS, using an RX23 (3.5"),H RX26 (3.5"), or RX33 (5.25") diskette drive. For 3.5"H diskettes, high-density disks can be read or written;H double-density disks are read-only. Only high-density3 disks are supported on the RX33. - o http://www.madgoat.com/uF The Freeware package WINFX is available on Freeware? V6.0, and can read the FAT volume structure.a< o http://www.hp.com/go/openvms/freeware/ 7-2  t+ Information on Utilities D __________________________________________________________E 7.3 How do I play sound files on an AlphaStation? DECsound  doesn't work.E The new AlphaStation systems use a different soundpF board (Microsoft Sound System) than the earlier DECD 3000 series systems, and DECsound, as supplied byJ DECwindows Motif, doesn't support this board. HP offersH an optional product, Multimedia Services for OpenVMS:5 o http://www.compaq.com/info/spd/aH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.nI which provides a replacement DECsound for this card asaG well as many other features (an AVI and MPEG player, / video capture support, etc.) ; Ensoniq sound support is also available. D __________________________________________________________: 7.4 Why is DECmigrate not working with Fortran?B %OTS-F-INDATCOR internal data corrupted in Run- time LibraryH This error can arise with Fortran programs if you areE running a recent version of OpenVMS Alpha, and are J using DECmigrate to translate Fortran applications. TheH DECmigrate Run-Time Library attempts to support mixedH translated-native I/O to the same unit by sharing theH native Fortran RTL's internal data structures, and inJ OpenVMS 7.2 these structures changed and the translated3 RTL was not updated accordingly. H You can copy DEC$FORRTL.EXE from OpenVMS 7.1, copyingD it to some spare directory, and then defining theH logical name DEC$FORRTL to point to it before runningA your translated application. Or rebuilding the B application to use the available native FortranE compiler. Or you can apply the current Fortran RTL 1 kit, which has a fix for this.t% See Section 13.11. J 7-3 m n+ Information on Utilities D __________________________________________________________9 7.5 How do I read IBM EBCDIC tapes on OpenVMS?hJ Most (all?) IBM EBCDIC-based systems can read and writeD ANSI-labeled ASCII magtapes. Fixed-length recordsF (MOUNT /FOREIGN /BLOCKSIZE=512 /RECORDSIZE=512, forE one-block records) and the DCL COPY command can be I used to transfer fixed-record-size text files out ontokG tape media, or to read from fixed-record tape media.nG Please consult the IBM documentation for the details7J and command syntax needed when reading and writing ANSIF media using IBM JCL or other applicable IBM command language.I There exists various freeware around (TAPECOPY, ETAPE, G TCOPY, MTEXCH) that can read and write EBCDIC tapes. C Visit the Encompasserve (DECUS) website software E archives search engine and search for "EBCDIC" for  details.o0 o http://www.encompassus.orgB OpenVMS does not include an integrated tool forG EBCDIC tape processing, but does provide a character E conversion API useful within application programs.e+ One source for ETAPE is: < o http://www.ualr.edu/ftp/vms/ETAPE_SRC/G The OpenVMS Freeware V5.0 distribution included this ' ETAPE tool, as well.aD __________________________________________________________6 7.6 How can I patch an OpenVMS Alpha image?7 Using the OpenVMS Freeware tool ZAP:H o Look for the RMS_TOOLS directory on Freeware V5.0:< http://www.hp.com/go/openvms/freeware/C tell ZAP to read a block (bucket) of information G based on the virtual block number (VBN), using X for G hexadecimal. Dump yourself into the OpenVMS debugger H with R2 pointing into the buffer, EXAMINE/INSTRUCTIONI as needed, alter the buffer as required, GO to get out G of the debugger and back into ZAP, and use the ZAP Wh6 command to write the updated block. 7-4 v aJ _______________________________________________________ 8 DCL DetailsD __________________________________________________________5 8.1 How do I run a program with arguments?tE The RUN command does not accept arguments. To passrH arguments to a program, you must use what is called a2 "foreign command". For example:3 $ unzip :== $disk:[dir]unzip.exe  $ unzip -? G The leading $ in the equivilence name for the symbol D definition is what makes the DCL symbol a foreignD command. If the device and directory are omitted,* SYS$SYSTEM: is assumed.G Under OpenVMS V6.2 and later, DCL supports automaticaB foreign command definition via the logical nameH DCL$PATH:. An example of a definition of this logical name is:oM $ DEFINE DCL$PATH SYS$DISK:[],ddcu:[mytooldir],SYS$SYSTEM: G DCL will first look for a command in the DCL command E table, and if no match is found and if DCL$PATH isH defined, it will then look for command procedures andH executable images with filenames matching the commandH specified, in the directories specified via DCL$PATH.G The first match found is invoked, and under OpenVMS,eI the DCL$PATH support will cause a command procedure toVE be activated in preference to an executable image. A For more information on foreign commands or on E automatic foreign command support, see the OpenVMSM! User's Manual. ) See also Section 10.3.rF If you want to create a detached process that takesJ arguments from a command line, it must be run under theI control of a command line interpreter (CLI) (typically=F DCL). This is done by placing the command line in aJ 8-1  $ DCL DetailsH file, specifying SYS$SYSTEM:LOGINOUT.EXE as the imageI to run and the command file as the input. For example: 2 $ OPEN/WRITE CMD TEMP_INPUT.COM6 $ WRITE CMD "$ MYCOMMAND arguments" $ CLOSE CMDK $ RUN/DETACHED SYS$SYSTEM:LOGINOUT /INPUT=TEMP_INPUT.COMF Various OpenVMS library calls (such as lib$spawn(),E cli$dcl_parse(), and the C library system() call)G require access to a command line interpreter such asI DCL to perform requested actions, and will not operate - if a CLI is not available.(E When a CLI is not available, these calls typicallyeF return the error status SS$_NOCLI. And as mentionedH above, invoke the image LOGINOUT to cause a CLI (suchF as DCL) to be mapped into and made available in the1 context of the target process.yJ For examples of how TCP/IP Services sets up its foreignB commands (which includes tools such as uuencodeF and uudecode), please see the DCL command procedure9 SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM. ) Also see Section 8.10.D __________________________________________________________1 8.2 How can I clear the screen in DCL? C The simplest way is the TYPE/PAGE NLA0: command.sF You can set up a symbol to clear the screen in your LOGIN.COM:u, $ CLS :== TYPE/PAGE NLA0:D __________________________________________________________B 8.3 Using REPLY/LOG from DCL? Disabling Console OPCOMs?H Your terminal must be enabled as an operator terminalF before the REPLY/LOG command can be used, but a DCLF procedure (batch command file, system startup, etc)E does not have an associated terminal. To make this G work, use the following sequence to enable the OPA0:tG console as the operator terminal, then the REPLY/LOG , command will be accepted: 8-2  o DCL Details3 $ DEFINE/USER SYS$COMMAND _OPA0:d $ REPLY/LOG3 $ DEFINE/USER SYS$COMMAND _OPA0: ! $ REPLY/ENABLEsG To disable the system console terminal (OPA0:) as ana@ operator terminal, use the following command:3 $ DEFINE/USER SYS$COMMAND _OPA0:r" $ REPLY/DISABLEH Also see SYLOGICALS.COM (and SYLOGICALS.TEMPLATE) forE information on configuring the behaviour of OPCOM, D including the (default) use of the system consoleD (OPA0:) as an operator terminial and the specificI contents and behaviour of the system operator log file OPERATOR.LOG.D __________________________________________________________8 8.4 How do I generate a random number in DCL?J Here is a random number generator, just do a GOSUB RANDG and the global symbol RANDOM will contain a randomlyMI generated number. You can feed the generator a ceilingt: value (__CEIL) or a new seed (__SEED).J 8-3   DCL DetailsV $! RAND - returns a positive random number ("RANDOM") between 0 and( $! __CEIL - 1.6 $! sharris-at-sdsdmvax.fb3.noaa.gov $ RAND: $/ $ IF F$TYPE(__SEED) .EQS. ""S $ THEN @ $ ! seed the random number generator, ...+ $ __NOW = F$CVTIME() 9 $ __HOUR = 'F$EXTRACT(11,2,__NOW)' ; $ __MINUTE = 'F$EXTRACT(14,2,__NOW)'C; $ __SECOND = 'F$EXTRACT(17,2,__NOW)'b9 $ __TICK = 'F$EXTRACT(20,2,__NOW)'l $T $ __SEED == __TICK + (100 * __SECOND) + (6000 * __MINUTE) + -- (360000 * __HOUR) W $ ! the generator tends to do better with a large, odd seed, ... 2 $ __SEED == (__SEED .OR. 1)( $ ! clean up, ...- $ DELETEX/SYMBOL __NOW . $ DELETEX/SYMBOL __HOUR0 $ DELETEX/SYMBOL __MINUTE0 $ DELETEX/SYMBOL __SECOND. $ DELETEX/SYMBOL __TICK $ ENDIF $H $ IF F$TYPE(__CEIL) .EQS. "" THEN __CEIL = %X3FFFFFFF $1 $ __SEED == __SEED * 69069 + 1  $J $ RANDOM == (__SEED.AND.%X3FFFFFFF)/(%X40000000/__CEIL) $ $ RETURNrD __________________________________________________________, 8.5 What does the MCR command do?H The MCR is an artifact of RSX compatibility mode, theH operating system from which OpenVMS is descended. MCRE is the Monitor Console Routine, and the command is I intended to activate RSX compatibility mode utilities.EE When used on OpenVMS, the command is most commonlyUG used to run the specified image and-because the toolL 8-4 o  DCL DetailsG detects the image is not a compatibility-mode image-lD it acts as a form of RUN command with the defaultH file specification of SYS$SYSTEM:.EXE. MCR passes anyI (optional) command line arguments in a fashion similarr8 to a foreign command. In other words: $ MCR FOO BAR$ is equivalent to:" $ FOO :== $FOO $ FOO BARoI MCR is not documented. Use of a foreign command or the H DCL$PATH mechanism is preferred. For details on this,# see Section 8.1./D __________________________________________________________9 8.6 How do I change the OpenVMS system prompt? G You can use the SET PROMPT command for this purpose.:J SET PROMPT sets the DCL prompt to the specified string.E When you want to display variable information, youoD will need to establish a tie-in that provides theE information to the SET PROMPT command as required.nC If you wish to display the default directory fordE instance, you will have to establish a tie betweenoJ the SET DEFAULT command and the SET PROMPT commands, asI there is no direct way to get the default directory asmI the DCL prompt. You can easily acquire or create a setiI of DCL command procedures that perform the SET DEFAULT G and SET PROMPT for you. These DCL command procedures / often use a command such as:: $ set prompt='f$environment("default")'J More advanced users could implement a system service orH other intercept, and use these tools to intercept theE directory change and reset the prompt accordingly. B (This approach likely involves some kernel-modeD programming, and requires write access to various9 undocumented OpenVMS data structures.)mJ There are related tools available from various sources,5 including the following web sites:e6 o ftp://ftp.hhs.dk/pub/vms/setpmt/J 8-5 _ _ DCL Details? o ftp://ftp.tmesis.com/sys_service_hook.srcuJ o James F. Duff has also made available a Macro32 toolJ known as TIME_PROMPT, a tool that sets the prompt to. the current system time.C o Many folks have contributed DCL procedures toeE perform this task. Visit the newsgroup archivesd3 for information and examples. D __________________________________________________________C 8.7 Can I do DECnet task-to-task communication with DCL?r1 Yes, you can do this with DCL.hH The OpenVMS DECnet documentation shows various simpleI examples using the task object and the TYPE command tooH trigger the execution of a DCL command procedure on aH remote node. An example DCL command procedure that isH rather more advanced than using the TYPE command as aB trigger is included in the Ask The Wizard area:: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablekB ATW Wizard.zip archive, please see Section 3.9.H DCL does not include support asynchronous I/O, thus aJ predetermined protocol or a predetermined "turn-around"I command sequence must be implemented in order to avoidhJ protocol deadlocks-cases where both tasks are trying toH write or both tasks are trying to read. The task thatJ is writing messages to the network must write (or writeH and read) a predetermined sequence of messages, or itI must write a message that tells the reader that it can_H now start writing messages. (This is the essence of a> basic half-duplex network protocol scheme.)D __________________________________________________________= 8.8 How can I get the width setting of a terminal?d; $ width = f$getdvi(terminal,"DEVBUFSIZ")e 8-6   DCL DetailsD __________________________________________________________6 8.9 How can I substitute symbols in a PIPE?E Use DCL ampersand substitution, and not apostrophei substitution.V $ pipe show system | search sys$input opcom | (read sys$input pid ;O pid=f$element(0," ",pid) ; define/system opcom_pid &pid)v' $ show log opcom_pidoB "OPCOM_PID" = "0000020B" (LNM$SYSTEM_TABLE)D __________________________________________________________? 8.10 Use of RUN/DETACH, LOGINOUT, and logical names?aG With a command to create a detached process such as: K $ RUN/DETACHED SYS$SYSTEM:LOGINOUT /INPUT=TEMP_INPUT.COM I If you are trying to use a logical name as the /INPUT,mB /OUTPUT or /ERROR on a RUN/DETACH command, thenE you must translate the logical name specifications E to physical references before passing them, or the J definitions must reside in a logical name table that is8 visible to the newly-created process.F Also note that LOGINOUT only creates the SYS$LOGIN,H SYS$LOGIN_DEVICE, and SYS$SCRATCH logical names if itI is processing a login that is based on the contents of_J a SYSUAF record-without access to the associated SYSUAFI record, this information is not available to LOGINOUT.oE (If you want to see these particular logical namesiH created, then please specify the /AUTHORIZE qualifier0 on the RUN/DETACHED command.)D If you do not specify LOGINOUT as the image, thenI there is no easy way to get these logical names. Also,iF any logical names that are used in the target imageD file specification must also be in a logical nameE table accessible (by default) by the newly-created/H detached process. Shared tables include the group (ifG the process is in the same UIC group) and the systemrH table. (If the target process is to be in another UICH group, a suitablly privileged user or application canG create the necessary logical name(s) directly in the 3 other group logical name table.) J 8-7 - E DCL DetailsD When in doubt, create a short DCL command file asE input, and use a SHOW LOGICAL and similar commands G to examine the context. (And use physical device andfI directory references on the RUN/DETACH of the LOGINOUTEG image, when specifying this command file as /INPUT.)fD Also remember to check both security auditing andG system accounting when troubleshooting problems witho" the RUN/DETACH.( Also see Section 8.1.D __________________________________________________________@ 8.11 How to use escape and control characters in DCL?G To write a message and then the bell character, use:u" $ bell[0,7] = 74 $ write sys$output "Hello''bell'"/ To write blinking text, use: " $ esc[0,7] = 27+ $ text = "Blinking Text" @ $ write sys$output "''esc'[5m''text'''esc'[m"@ Also see sections Section 11.6, Section 12.1. 8-8 a lJ _______________________________________________________ 9 FilesD __________________________________________________________) 9.1 How can I undelete a file? H OpenVMS doesn't have an "undelete" function. However,G if you are quick to write-protect the disk or if you J can guarantee that no new files get created or existingE files extended, your data is still on the disk and F it may be possible to retrieve it. The FLORIAN toolJ available from various websites can potentially recoverJ the file, see question Section 13.1 for pointers. OtherG alternatives here include the DFU tool, available on< the OpenVMS Freeware CD-ROM distribution.H If you are setting up a user environment for yourselfJ or for others, it is quite easy to use DCL to intercept6 the DELETE command, using a symbol:8 $ DEL*ETE :== @SYS$LOGIN:MYDELETE.COM@ The DELETE symbol will cause the procedure toA be invoked whenever the user enters the DELETE G command, and it can copy the file(s) to a "trashcan" E subdirectory before issuing a "real" DELETE on thelH files. Other procedures can retrieve the file(s) fromJ the "trashcan" subdirectory, and can (and should) cleanH out the "trashcan" as appropriate. (Realize that thisE DELETE symbol can interfere with DELETE/GLOBAL ande/ other similar DCL commands.)eD __________________________________________________________I 9.2 Why does SHOW QUOTA give a different answer than DIR/SIZE?YG DIRECTORY/SIZE doesn't take into account the size ofAF file headers which are charged to your quota. Also,G unless you use DIRECTORY/SIZE:ALL, you will see onlyeF the "used" size of the file, not the allocated sizeG which is what gets charged against your quota. Also,k; you may have files in other directories.lJ 9-1 e  Files; $ DIRECTORY/SIZE=ALL/GRAND [username...] I Grand total of D1 directories, F1 files, B1/B2 blocks./= $ DIRECTORY/SIZZ=ALL/GRAND [-]username.DIR D Grand total of 1 directory, 1 file, B3/B4 blocks. $ SHOW QUOTAnC User [username] has B5 blocks used, B6 availablecP of B7 authorized and permitted overdraft of B8 blocks on diskD If the user has no files in other directories andH all file-headers are only 1 block, then the following should apply:" B5=B2+B4+F1+1G If the diskquota has drifted out of synchronization,_H then the system-manager can force a quota rebuild-dueE to various factors, the quota file can potentiallyeF drift from the actual use over time, and a periodicE rebuild can be performed at appropriate intervals.PD Also be aware that the DIRECTORY/SIZE command canH report larger values than might otherwise be expectedF when used to evaluate files and/or directories thatF are alias links-such as the system roots on OpenVMSC system disks-as the command reports a total that F is cumulative over all of the files and directoriesC examined, without regard for which ones might be F alias entries and which are not. (In other words, aG DIRECTORY/SIZE of an entire OpenVMS system disk will,F report a disk useage value larger than the (usuallyC more accurate) value reported by the SHOW DEVICE$I command. This as a result of the alias entries linkingSH each SYS$SYSDEVICE:[SYSCOMMON]SYS*.DIR directory fileD and the SYS$SYSDEVICE:[000000]VMS$COMMON.DIR file together.)ID __________________________________________________________I 9.3 How do I make sure that my data is safely written to disk? E If your application must absolutely guarantee that G data is available, no matter what, there's really no I substitute for RMS Journaling and host- or controller- J based shadowing. However, you can achieve a good degreeG of data integrity by issuing a SYS$FLUSH RMS call at G appropriate times (if you're using RMS, that is.) If I you're using a high-level language's I/O system, check  9-2  $ FilesI that language's documentation to see if you can accessI the RMS control blocks for the open file. In C you can 0 use fflush followed by fsync.E For details on disk bad block handling on MSCP and_H on SCSI disk devices, please see Ask The Wizard (ATW) topic (6926).: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablePB ATW Wizard.zip archive, please see Section 3.9.D __________________________________________________________J 9.4 What are the limits on file specifications and directories?E A file specification has an aggregate maximum size D of 255 characters at present. The node and deviceC specification may be up to 255 characters each - F file name and file types may be up to 39 charactersG each. File versions are from 1 through 32767, though/G 0 (latest version), -0 (oldest version) and -n (n'th I previous version) can be used in most contexts. A file E specification may not have more than 8 directoriesGF and subdirectories - while it is possible to createE subdirectories of greater depth, accessing them isDH problematic in most cases and this should be avoided.E Application developers should use OpenVMS-supplied J routines for parsing file specifications - this ensuresE that changes in what is allowable will not tend tooI break your application. Consider that various parts ofsI the file specification may contain quoted strings withcG embedded spaces and other punctuation! Some routinespH of interest are SYS$FILESCAN, SYS$PARSE and LIB$TRIM_E FILESPEC. For further information, see the OpenVMSi. Guide to File Applications.A Performance of larger directory files improvesoF (greatly) with OpenVMS V7.2 and later-operations onG directory files of 128 blocks and larger were rather H slower on earlier OpenVMS releases due to the smallerG size of the directory cache and due to the directoryf( I/O processing logic.J 9-3 t  FilesF For fastest directory deletions, consider a reverseI deletion-delete from the last file in the directory to I the first. This reversal speeds the deletion operation F by avoiding unnecessary directory I/O operations asH the files are deleted. Tools such as the Freeware DFUI can be used for this purpose, as can various available_9 reverse-DELETE DCL command procedures.aD __________________________________________________________G 9.5 What is the largest disk volume size OpenVMS can access? @ One Terabyte (TB; 2**31 blocks of 2**9 bytes;D 0x07FFFFFFF blocks). 255 volumes in a volume set.E The largest contiguous allocation possible for any9 particular file is 0x03FFFFFFF blocks. H Prior to the release of V6.0, the OpenVMS file systemH was limited to disk volumes of 8.38 GB (2**24 blocks,, 16777216 blocks) or less.I On some systems, there are restrictions in the consoleVJ program that limit the size of the OpenVMS system disk.C Note that data disks are not affected by console B program limits. For example, all members of theF VAXstation 3100 series are limited to a system diskH to 1.073 GB or less due to the console, though largerF data disks are possible. This limit due to the SCSII drivers used by and built into the console ROM to read J the OpenVMS bootstrap files, and these same drivers areF also used by OpenVMS to write the system crashdump.D There are numerous discussions of this VAXstationE 3100 in the comp.os.vms newsgroup archives. Please I use Google newsgroup search to search the archives foraG further details, for discussions of the workarounds,oG and for details of the potential for a simple failed D bootstrap and particularly for discussions of theB potential for severe system disk corruptions on crashes.AC Some SCSI disks with capacities larger than 8.58 H gigabytes (GB) will require the use of an OpenVMS ECOE kit (eg: ALPSCSI04_062 or later; see Section 14.26 G for details) for new SCSI device drivers. Failure toCG use this ECO can cause "rounding errors" on the SCSIaH disk device capacity-OpenVMS will not use nor display 9-4 o d FilesG the full capacity of the drive-and "%sysinit-e-errorxF mounting system device status equals 000008C4" (8C4G -> "%SYSTEM-?-FILESTRUCT, unsupported file structure G level") errors during bootstrap. (One workaround for H the bootstrap when the bitmap is located far into theI disk is the use of INIT/INDEX=BEGIN.) The problem heregI involves the particular extensions and fields used foraG larger capacity disks within the SCSI specificationsiA and within the various intepretations of same. - For ATA (IDE) disk drives: J o Versions of SYS$DQDRIVER *BEFORE* X-15 topped out at 8.455 GB. G Fixed drivers (equal or greater than "X-15") werea! shipped in:g7 o OpenVMS Alpha V7.2-1, and later 7 o V7.2 UPDATE V1.0 ECO, and laterr9 o V7.1-2 UPDATE V1.0 ECO, and laters9 o V7.1-2 UPDATE V3.0 ECO, and later H o The newer SYS$DQDRIVER driver operates to disks upH to 33 GB without (known) problems, and effectivelyE works with rather larger disks (up to circa 137aG GB) but is known to report an incorrect number of 9 "cylinders" with disks above 33 GB.oG See Section 14.4.4.2 for additional ATA SYS$DQDRIVERi information. E Be aware that a known restriction in certain older J versions of the Alpha SRM Console prevents booting mostF ATA (IDE) drives larger than 8.455 GB, depending onE exactly where the various files are located on theVD volume. Updated SRM consoles for systems with SRMG and ATA (IDE) drive support are (will be) available.hE (OpenVMS Engineering has successfully bootstrapped=I 20GB ATA (IDE) disks using the appropriate SRM consolen version.)1 Note A All disk-related listed in this section arenD stated in units of "disk (base ten) gigabytes"J 9-5   FilesG (1 GB = 10^9 bytes) and not in units of "software @ (base two) gigabytes" (1 GB = 2^30; 1 GB =F 1073741824.) bytes. Please see Section 14.26 forC details of the nomenclature and of the units. I Be aware that larger disks that are using an extension D of SCSI-2- disks that are using a mode page fieldG that the SCSI-2 specifications normally reserved for H tape devices-to permit a larger disk volume size willE require a SCSI driver update for OpenVMS, and this G change is part of V7.1-2 and later, and also part of/E ALPSCSI07_062 and later. (These larger disks diskswI will typically report a DRVERR, or will see the volumelH size "rounded down".) SCSI disks larger than 16777216J blocks cira 8.455 GB (base ten); 8GB (base two) requireJ this ECO, or require the use of OpenVMS Alpha V7.1-2 or later.rC Applications written in C can be limited to filerF sizes of two gigabytes and less, as a result of theG use of longword values within C file operations, andoD specifically off_t. This restriction is lifted inH OpenVMS V7.3-1 and later, and with the application ofJ the C ECO kits available for specific earlier releases.I The use of a longword for off_t restricts applicationsAG using native C I/O to file sizes of two gigabytes or I less, or these applications must use native RMS or XQP_1 calls for specific operations. 9 Also see Section 14.14, Section 14.26._D __________________________________________________________E 9.6 What is the maximum file size, and the RMS record sizee limit?E RMS can store individual files of a size up to theH maximum supported volume size. Under OpenVMS V6.0 andG later, the volume size and the RMS maximum file size B limit is 2**31 * 512 bytes-one terabyte (1 TB).D "Use a volume set to provide a large, homogeneousI public file space. You must use a volume set to create D files that are larger than a single physical diskH volume. (The file system attempts to balance the loadI on the volume sets, for example, by creating new fileseF on the volume that is the least full at the time.)" 9-6 H S FilesH "You can add volumes to an existing volume set at anyI time. The maximum number of volumes in a volume set is  255."E The RMS formats-sequential, relative, and indexed-mG are limited by the one terabyte maximum volume size.nH RMS relative files are further limited to a number ofF records that will fit in 32 bits-4 billion records.F Sequential and indexed formats do not have a record limit.x: Also see Section 2.17.1, Section 14.26.D __________________________________________________________D 9.7 How do I write CD-Recordable or DVD media on OpenVMS?F How to create CD-R, CD-RW, DVD-R, DVD+R, DVD-RW, or+ DVD+RW media on OpenVMS? F o Acquire a comparatively recent SCSI-based or ATAE (IDE) CD-R or DVD-R/RW or DVD+R/RW drive. Older H drives can be very problematic, while newer drivesI are readily available, and are cheap and very fast. J o Get LDDRIVER from the Freeware. Versions of LDDRIVERI are latent in OpenVMS Alpha V7.3-1 and later. (LookuC within SYS$MANAGER:CDRECORD.COM for details.) A Use of the current ECO kit for LDDRIVER (as E available), or of the version of LD distributed F with V8.2 (kitted on Freeware V7.0 as LD071), orD later is prefered. (If you are not running theH specified version, you will want to upgrade or youH will want to use the DCL command SET FILE/CACHING_E ATTRIBUTES=NO_CACHING on the LD partition file. G This is a workaround for an incompatibility found I between older LDDRIVER versions and the XFC cachingoG support.) Alternatively, you can acquire and loade9 the VD64 package from the Freeware. H o Get CDRECORD or CDWRITE or other similar recording tool. ? CDRECORD (part of CDRTOOLS), CDWRITE, andr< DVDRECORD (part of DVDRTOOLS) packagesB (DVDRECORD is a fork of CDRECORD) are freely= available, and versions of CDRECORD areMD available on the Freeware V6.0 distribution. (J 9-7 n c FilesI http://www.hp.com/go/openvms/freeware/ ) An OpenVMSYI port of the cmcd CD audio ripper is also reportedlyN9 available. http://www.amb.org/xmcd/ J Versions of CDRECORD (non-DVD) are latent in OpenVMSD Alpha V7.3-1 and later. Commercial versions ofH CDDRECORD-with DVD capabilities-are also availableJ for various platforms, and particularly a variant of8 CDRECORD known as CDRECORD-ProDVD.? Beware the tool chosen: some versions andiF configurations of CDRECORD can record DVD media,I as can the DVDRECORD package, as can the commercialOH DVDwrite package. Many versions of CDRECORD cannotI record DVD media, including the version of CDRECORD D latent within OpenVMS and the version found onE Freeware V6.0; these versions cannot record DVD  media.F o Build the contents of the disk on the LD or VD64' device partition.wJ o Use the chosen recording tool to record the contentsC of the LD or VD64 partition directly onto theC% optical medium. C Alternatively, consider the following command on 2 OpenVMS Alpha V7.3-1 and later:1 @SYS$MANAGER:CDRECORD.COM HELP H While folks have had success getting PC-based CD-R/RWE or DVD-R/RW or DVD+R/RW tools to work with OpenVMS H partitions, it is far easier and more reliable to useJ the OpenVMS-based versions of these tools and directly-I attached devices. If you use a Windows-based tool, yougG will want to specifically select its raw mode, imagedI mode, or block-copy mode, depending on the terminology_D within the particular tool. The transfer mode andG selections is variously refered to as a disk-at-once3H (DAO) 2048-byte block ISO Mode 1 raw/image/block data' disk recording mode.n 9-8   FilesA More details: Creation of CD recordable or DVD D recordable media under OpenVMS typically involvesF one of two approaches: the use of the optional CD-RJ (`Scribe') capabilities available for the InfoServer orG other "offline" hardware packages (PC-based packages H will be included in this), or the use of a host-basedI package such as the CDRECORD or CDWRITE13_VMS or otherFE utilities, including OpenVMS ports of common open-_F source tools made available by Dr. Eberhard Heuser-F Hofmann and various others. Commercial packages andE options are also available. Dr. Heuser-Hofmann has G DVDwrite , a commercial package which can record DVD.@ media. ( http://home.tiscali.de/dvd4openvms )E OpenVMS can read ODS-2, ODS-5, and ISO-9660 format_F CD-ROMs. (If you are very careful, you can create aH dual-format CD-R; a CD-R with both ODS-2 and ISO-96607 or both ODS-5 and ISO-9660 or both.) C InfoServer hardware configurations are no longerSE available from HP, but may potentially be acquiredRE through other means; as used equipment. InfoServer G support also has very specific CD-R recording device_D prerequisites, and these recording devices are no. longer generally available.H Packages related to the use of DVD archiving are alsoF available, see the multi-volume capabilities of the/ DVDarchive/restore Freeware. R http://www.geocities.com/SiliconValley/Lakes/9999/vmscdwri.htmlG Additional information is available at the followingn sites:c: o http://www.djesys.com/vms/cdrom.htmlJ o http://www.cd-info.com/CDIC/Technology/CD-R/vms.html8 o http://www.faqs.org/faqs/cdrom/cd-4 recordable/part1/preamble.html2 o http://www.tmesis.com/CDrom/3 o http://www.tditx.com/~odsiso/gJ 9-9 o : FilesG U.S. Design offers a package that includes the tools I necessary to create a CD or DVD-R with either ISO-9660sE or ODS-2 format, for standalone CD-R/RW, DVD-R, orsH DVD+R/RW drives, for recent OpenVMS versions. Details$ are available at:. o http://www.usdesign.com/B Also see Section 9.7.2 for details on access to9 recorded media on older CD-ROM drives. ' _____________________________e2 9.7.1 CD and DVD notation, terminology?D CD-ROM is pre-recorded Compact Disk media, and isE the original and oldest CD format. The original CDtI media was physically stamped, a recording process that F is now largely reserved to the highest-volume media- reproduction requirements. E CD-R is CD Recordable, a write-once storage medium G that can be read by all but the oldest of CD drives; H a format which can be read and often even recorded by% most CD-RW drives.tH CD-RW is CD ReWritable, a format which is readable byI many CD drives and by most CD-R drives, and with mediaH that can be recorded and re-recorded by CD-RW drives.G CD media recording speeds are listed as multiples of F 150 kilobytes per second, so a 10X drive records atH 1500 kilobytes (1.5 megabytes) per second. 600 MB (70H minutes) and 700 MB (80 minutes) recording capacitiesH are both widely available. The minutes designation isF derived from the traditional audio-format recording4 capacity of the particular media.H DVD-R/RW is the older of two common Digital VersatileF Disk recording formats, and the DVD-R Recordable orJ DVD-RW ReWritable media can be read by many DVD drives.E As with CD-R formats in older CD drives, older DVDiI and particularly first-generation DVD players may have 6 problems reading this media format. 9-10o   FilesB DVD+R/RW is the newer of the two common DigitalB Versatile Disk recording formats, and the DVD+RD Recordable or DVD+RW ReWritable media can be readD by many DVD drives. Akin to DVD-R/RW media, olderH and particularly first-generation DVD drives can have6 problems reading this media format.F The DVD Plus-series drives and media tend to recordD faster than Minus drives, as (as of this writing)F the Plus (+) drives do not require an initial mediaI formatting pass and the Minus (-) drives do. While theG appropriate Plus (+) or Minus (-) DVD raw media mustE be chosen for the particular DVD recorder (and DVD H recording drives that are compatible with and capableE of using both Plus and Minus media are available), E the resulting recorded media is generally readable G (playable) in all recent DVD drives and DVD players, H regardless of type. (Compatibility is best within theF same media-series devices of course, but be certainG to verify compatibility across devices regardless of F the particular device or particular recording media chosen.)sF Presently Plus (+) media is slightly more expensiveD than Minus (-), but with the prices of all CD andE all DVD media continuing to consistently fall, the I differences in DVD media costs are becoming irreleventwD for all but the production of huge volumes of DVD media. J The rated DVD recording speeds are in multiples of 1353G kilobytes per second, thus a DVD 1X drive is roughly F equivalent to a CD 9X drive in I/O requirements and" transfer speed.H DVD drive recording speed can and does vary. DVD diskJ drive recording speed is limited by the rated recordingG speed of the media used, so the slower (and cheaper)oI DVD media will not record any more quickly in a fastersD drive. A 2.4X DVD drive loaded with 1X media will record at 1X.J 9-11   Files' ______________________________I 9.7.2 Use of RRD42 and other older (embossed-media) CD drives?LI The RRD42 series SCSI CD-ROM drive is sufficiently old F that it can have problems processing CD-R and CD-RWF media. Other very old CD drives can have equivalentG media compatibility problems when attempting to readEI (much) newer CD media and newer CD media technologies.hG These older CD drives are generally intended for use F with the so-called embossed media, rather than withI non-embossed recorded (recordable) media now in commonr circulation. G Please consider using a slightly-less-ancient CD-ROMSH or CD-R or CD-RW drive when working with non-embossed% recorded CD media.hE To paraphrase one knowledgable-though deliberatelyaF nameless-storage engineer, "The RRD42 drive is just2 past the drooling idiot stage".' _____________________________ ? 9.7.3 Creating Bootable OpenVMS I64 CD or DVD Media?i SYS$SETBOOT? E If you are creating a bootable CD or DVD media forUE use with OpenVMS I64, you will want to specify theeI SYS$SETBOOT block size of 2048, and you will also wantdG a disk cluster factor that is a multiple of four viaiG INITIALIZE/CLUSTER=4 (or 8, or...), or you will want E to ensure that SYS$EFI.SYS and SYS$DIAGNOSTICS.SYSuF are aligned to a multiple of four blocks; to a 2048E byte boundary. This alignment and this blocking is I only necessary for OpenVMS I64, and only when creating < optical media OpenVMS I64 for bootstraps.I The default 512-byte block setting used by SYS$SETBOOTaI is the correct and expected value for traditional disk 5 bootstraps on OpenVMS I64 systems.iG Once the boot files are loaded, OpenVMS I64 operateslH with 512-byte blocks; as is the case with ATAPI disksG on OpenVMS Alpha, all application code will only seenC 512-byte blocks on optical media on OpenVMS I64.L 9-12  a  Files= OpenVMS I64 V8.2 and later are expected toiA have a version of SYS$SETBOOT that will flag a G misaligned SYS$EFI.SYS and (if present) a misalignedA, SYS$DIAGNOSTICS.SYS file.G For information on SYS$SETBOOT and the SET BOOTBLOCKeA command, please see Section 14.3.9 and see the G OpenVMS documentation. The purpose and intent of the[F SYS$SETBOOT.EXE image and the SET BOOTBLOCK commandF is analogous to the WRITEBOOT.EXE image on existing9 OpenVMS VAX and OpenVMS Alpha systems. H For information on CD and DVD optical media drives on5 OpenVMS, please see Section 14.30.D __________________________________________________________> 9.8 What I/O transfer size limits exist in OpenVMS?C The maximum transfer size is an attribute of the_? particular I/O device, controller and driver E combination; there is no inherent limit imposed bytH OpenVMS (other than the fact that, today, byte counts> and LBNs are generally limited to 32 bits).F The maximum size of a device I/O request is limitedE by the value in UCB$L_MAXBCNT, which is set by the J device driver based on various factors. (Also check theJ setting of the MAXBUF system parameter for buffered I/O< transfers, and check the process quotas.)J Currently, SCSI drivers limit I/O transfers to FE00(16)E bytes, 65024 bytes (decimal). The reasons for thisoC transfer size limitation are largely historical.oI Similarly, DSSI devices are limited to the same value,tG this for hardware-specific reasons. Transfers to HSCYD and HSJ device controllers via the CI are limitedE to 1,048,576 bytes. Client MSCP-served devices areeE limited to 65535 bytes-to help ensure that the I/O I fragmentation processing happens on the client and notE( on the server system.G Parts of the OpenVMS I/O subsystem are optimized forcE data transfers less than 64KB, because (obviously)eJ most I/O operations are (substantially) less than that.I OpenVMS can handle larger transfers, if the driver andr, the device can handle it.J 9-13 v  Files5 Also see Section 9.4, Section 9.5. D __________________________________________________________C 9.9 Can I use ODBC to connect to OpenVMS database files?iJ Yes, you can use various available third-party packagesJ that permit remote ODBC clients to access RMS files and@ various commercial databases via the network.B For RMS, consider acquiring one of the packagesF available from EasySoft, Attunity Connect (formerlyC known as ISG Navigator), Oracle (DB Integrator), E SolutionsIQ, OpenLink Software (OpenLink Universal . Data Access), and Synergex.4 The unixODBC package available atF http://www.unixodbc.org has variously been found to/ operate on OpenVMS, as well. E For specific commercial databases (other than RMS, G of course), contact the database vendor directly fora assistance.D __________________________________________________________I 9.10 If my disks are shown as VIOC Compatible, am I using XFC?i2 Yes, you are using XFC caching.I Disks that are using XFC caching use communication and F coordination protocols that are compatible with theF older VIOC caching implementation. With the initialD implementation of XFC on OpenVMS, you can use theE command SHOW MEMORY/CACHE to see no disks reported F in full XFC mode; all disks shown will be listed in* "VIOC Compatable Mode".I If you have the OpenVMS system parameter VCC_FLAGS settG to 2 and are using OpenVMS Alpha V7.3-1 or later, ortG are using OpenVMS Alpha V7.3 with the VMS73_XFC V2.0cJ ECO kit or later or with the UPDATE kits, you are using XFC.sD Another confusion: the XFC product version is andI remains V1.0 in all released configurations, please do J not confuse the internal XFC product version (displayedJ by various commands) with the version number associatedH with the various ECO kit(s). XFC V1.0 does not permitI volumes to enter full XFC caching, as displayed by theE 9-14  e  FilesJ "Vols in Full XFC mode" portion of the DCL command SHOW' MEMORY/CACHE output.iD __________________________________________________________> 9.11 RMS Sequential Files and Platform Portability?F When working with mixed platforms, you will want toI become familiar with the various RMS sequential recordyH formats, including Variable with Fixed Control (VFC),G stream, stream LF, and stream CR, among other recordu formats.< Switching formats uses CONVERT/FDL or SETB FILE/ATTRIBUTES. The former converts files, theH latter resets attributes. Text editors tend to selectE attributes when creating new files that may or mayhF not meet requirements. If the default attributes doG not match your requirements, create a stub file, SET H FILE/ATTR, then edit the existing file. (Most editorsA will preserve attributes on an existing file.)pH When working with Windows, stream is usually the bestC choice for sequential file operations. Stream LFdF is most commonly used with UNIX and C applications.H Windows and UNIX tend not to be able to directly readG files of "unexpected" sequential RMS record formats.eF VFC is a common OpenVMS format, encoding the recordI length into the record. It is this extra data that cannJ cause corruption-like problems when viewed without RMS;I either directly via $qio or via the file system API on3J other operating system platforms. You will want to lookF at the low-level record formats, and at the RMS andJ the Files and Applications documentation in the OpenVMS manuals. A If transfering through other platforms, use of A a current version of Zip (with the "-Vv" or "- E Vv9" option) and unzip, or use of a BACKUP saveset D will contain and maintain the RMS file and recordA attributes. (For BACKUP and its own attributes; requirements, see the restoration tool.) J 9-15 o J _______________________________________________________2 10 OpenVMS Programming InformationD __________________________________________________________I 10.1 Modular Programming, Facility Prefixes and Symbol Naming? G Please first review the OpenVMS Programming Concepts G Manual and the Guide to Modular Programming manuals.oF Both are available within the OpenVMS documentationE set, and provide details of the expected norms foro$ OpenVMS programs.D o Learn about the facility prefix, and use a theJ appropriate prefix uniformly throughout all externalG symbols, all logical names, and all files located F in shared directories. The prefix and the use ofI the dollar sign (<$>) and the underscore (<_>) helpsF avoid collisions with other products. Use of theE dollar sign is reserved to registered products.pG o Please consider use of tools such as the FreewarerH SDL package, and the GNM package. These permit youI to generate include files and message documentationaF akin to that of OpenVMS, providing users of your: product with a familiar environment.I o For product installations, consider use of the PCSI J installation utility, and provide a product-specificB configuration DCL command procedure (usuallyE SYS$MANAGER:prefix$CONFIG.COM) if configurations" is required.? o The product startup file is usually namedt= SYS$STARTUP:prefix$STARTUP.COM, and the : shutdown file (if needed) is usually6 SYS$STARTUP:prefix$SHUTDOWN.COM.D OpenVMS provides a registry for facility prefixesE and for MESSAGE message compiler codes. To request E a prefix and a message facility code for a product G you distributinng to other customer sites, send your J 10-1 t .2 OpenVMS Programming InformationF request in a mail message addressed to product[-at-J sign-]hylndr.sqp.zko.dec.com, requesting the submission@ form and details of the registration process.1 NotesA Please do not request facility prefixes forA@ products that local to your business, yourA site, or your system. Facility prefixes andeA message codes and the facility registrationcA process are intended solely for HP products A and Partner Products (and yes, even OpenVMSdA Freeware packages) that will be distributedf= across multiple OpenVMS customer sites.sC For a list of common coding bugs, please see the5H remainder of this section of the FAQ and specificallyJ Section 10.22, please also see the Ask The Wizard topicF (1661), and for information on debugging an OpenVMS8 application, please see topic (7552).: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availableoB ATW Wizard.zip archive, please see Section 3.9.D __________________________________________________________? 10.2 Can I have a source code example of calling...?lJ Please use the available SEARCH command on OpenVMS, andE please remember to search the available resources,sD including the support databases and the newsgroupI archives. Please also realize that most OpenVMS systemlJ services use similar calling sequences, meaning that anJ example of calling sys$getjpi can be used as an exampleI for sys$getsyi and sys$getdvi. Students: please do notEF expect folks to write your homework for you. As for$ search resources:4 o SEARCH SYS$EXAMPLES:*.* target6 o SEARCH TCPIP$EXAMPLES:*.* target- o http://askq.compaq.com/O= o http://www.openvms.compaq.com/freeware/n 10-2   2 OpenVMS Programming Information, o http://www.google.com/C OpenVMS programming documentation, including the H numerous example programs found in recent versions ofI the OpenVMS Programming Concepts manual, is available: 7 o http://www.hp.com/go/openvms/doc/ J As for details of argument passing, most OpenVMS systemE services and RTL routines pass string arguments bysD descriptor. Languages which support native stringE data types create descriptors automatically; thoseaE which do not (eg., C) require that you set them upvG explicitly. For further details on using descriptorscH and particularly for using descriptors from C, please% see Section 10.13. J There is extensive information available on how to callG OpenVMS system services and OpenVMS Run-Time Library F routines, including examples in numerous languages.; Among the best available references are: 1 o Your language's User Manual(< o OpenVMS Programming Environment Manual9 o OpenVMS Programming Concepts Manual F o OpenVMS Programming Interfaces: Calling a System Routine . o OpenVMS Calling StandardJ In addition, if you are a subscriber to the HP SoftwareJ Information Network (available to those with a softwareC support contract), the support database containssI hundreds of worked examples of calling system servicesI and RTL routines, including the one that seems to trip 7 up almost everyone, SMG$CREATE_MENU.uG Arne Vajhøj has put together a collection of OpenVMSa8 example programs. It can be found at:/ o ftp://ftp.hhs.dk/pub/vms/IJ 10-3 e t2 OpenVMS Programming InformationF Additional information and examples for OpenVMS are! available via:r: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablesF ATW Wizard.zip archive, please see Section 3.9. and via:C= o http://www.openvms.compaq.com/freeware/iD __________________________________________________________A 10.3 How do I get the arguments from the command line?iA If you're writing a program and want to accept I arguments from a foreign command, you can use LIB$GET_ I FOREIGN to get the command line and parse it yourself, J or if you're programming in C, use the normal argc/argv method.D To write an application which uses the normal DCLF verb/qualifier/parameter syntax for invocation, seeF the description of the CLI$ routines in the OpenVMS> Callable Utility Routines Reference Manual.F It is possible to write an application which can beE used both ways; if a DCL verb isn't used to invokeiE the image, the application parses the command lineyJ itself. One way to do this is to call CLI$GET_VALUE forI a required parameter. If it is not present (or you getcJ an error), call LIB$GET_FOREIGN to get the command line+ and do the manual parse. ( See also Section 8.1.D __________________________________________________________E 10.4 How do I get a formatted error message in a variable? C Use the SYS$PUTMSG system service with an action J routine that stores the message line(s) in the variableE of your choice. Be sure the action routine returns C a "false" (low bit clear) function value so thataE SYS$PUTMSG doesn't then try to display the messageeJ (unless you want it to.) See the description of $PUTMSGI in the System Services Reference Manual for an exampleb. of using an action routine. 10-4o t v2 OpenVMS Programming InformationD __________________________________________________________D 10.5 How do I link against SYS$SYSTEM:SYS.STB on an Alpha system? I LINK/SYSEXE is the OpenVMS Alpha equivalent of linkingWF against SYS.STB. This links against the base image:% SYS$BASE_IMAGE.EXE-G Also see Section 10.11, particularly for pointers toeF the details on shareable images and shareable image creation.D __________________________________________________________@ 10.6 How do I do a SET DEFAULT from inside a program?C The problem is that SYS$SETDDIR only changes theuH default directory - NOT the default disk. The defaultJ disk is determined by the logical SYS$DISK. If you wantI to change the default disk within a program, then call F LIB$SET_LOGICAL to change the logical SYS$DISK. YouI will need to call both LIB$SET_LOGICAL and SYS$SETDDIR I to change both default disk and the default directory! D __________________________________________________________I 10.7 How do I turn my Fortran COMMON into a shareable image on  Alpha?F You need to add SYMBOL_VECTOR=(=PSECT)G to your options file. On OpenVMS VAX all OVR/REL/GBLlH psects were automatically exported into the shareableI image's Global Symbol Table. On OpenVMS Alpha you havemF to tell the linker that you want this done by meansI of the PSECT keyword in the SYMBOL_VECTOR options filep statement. G This has several advantages over OpenVMS VAX. First, I you don't have to worry about the address of the psectvD when you try to create a new, upwardly compatibleJ version of the shareable image. Second, you can controlE which psects, if any, are made visible outside theo# shareable image. F By default, COMMON PSECTs in HP Fortran for OpenVMSH Alpha (as well as most other OpenVMS Alpha compilers)H are NOSHR. On VAX, the default was SHR which requiredE you to change the attribute to NOSHR if you wanted J 10-5  2 OpenVMS Programming InformationH your COMMON to be in a shareable image but not write-H shared by all processes on the system. If you do want& write-sharing, use:. CDEC$ PSECT common-name=SHRI in the Fortran source code (the CDEC$ must be begin inCJ column 1) or a linker options file PSECT_ATTR statement< to set the COMMON PSECT attribute to SHR.B For further information, see the Linker manual.D __________________________________________________________D 10.8 How do I convert between IEEE and VAX floating data?F In OpenVMS V6.1 and later, the routine CVT$CONVERT_C FLOAT is documented in the LIB$ Run-Time Library C Reference Manual, and can perform floating pointH conversions between any two of the following floatingH datatypes: VAX (F,D,G,H), little-endian IEEE (single,I double, quad), big-endian IEEE (single, double, quad),c0 CRAY and IBM System\370, etc.I HP Fortran (all OpenVMS platforms) has a feature whichiC will perform automatic conversion of unformattedeB data during input or output. See the HP FortranG documentation for information on "non-native data in @ I/O" and the CONVERT= OPEN statement keyword.B There are floating-point conversion source code< packages available for various platforms.G For further floating-point related information, see:tM o http://www.hhs.dk/anonymous/pub/vms/collection/ieee.zipD __________________________________________________________E 10.9 How do I get the argument count in a Fortran routine?rE On VAX, many programmers would use a MACRO routinelB which accessed the AP register of the caller toE get the address of the argument list and hence thebJ argument count. This was not guaranteed to work on VAX,F but usually did. However, it doesn't work at all onF OpenVMS Alpha, as there is no AP register. On AlphaJ systems, you must use a language's built-in function toJ retrieve the argument count, if any. In Fortran this is 10-6  r d2 OpenVMS Programming InformationG IARGCOUNT, which is also available in DEC Fortran onm OpenVMS VAX.rF Note that omitting arguments to Fortran routines isC non-standard and is unsupported. It will work inSF many cases - read the DEC Fortran release notes for* additional information.D __________________________________________________________H 10.10 How do I get a unique system ID for licensing purposes?B Many software developers desire to use a uniqueF hardware ID to "lock" a given copy of their productF to a specific system. Most VAX and Alpha systems doF not have a unique hardware-set "system ID" that canG be used for this purpose. HP OpenVMS products do not E use hardware IDs in the licensing methods, as manyeI users consider a hardware-based licensing scheme to behJ negative attribute when considering software purchases.E HP OpenVMS uses a software-based system called theeG License Management Facility (LMF). This provides forlE software keys (Product Authorization Keys or PAKS) J which support capacity and user-based license checking.D HP offers an LMF PAK Generator to CSA members-see Section 2.13.I For information on licensing, please see Section 12.5. G However, if a hardware-based method is required, the~E most common method is based on an Ethernet adaptor H hardware address. Sample source code for implementing( this is available at:: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablesB ATW Wizard.zip archive, please see Section 3.9.J 10-7  t2 OpenVMS Programming InformationD __________________________________________________________H 10.11 What is an executable, shareable, system or UWSS image?B Executable code in OpenVMS typically resides inD an image-an image is a file-the file extension isG typically .EXE-that contains this code. Common types I of images include executable images, shareable images, > system images, and protected (UWSS) images.F Executable images are programs that can be directlyH executed. These images can grant enhanced privileges,G with an INSTALL of the image with /PRIVILEGE, or canvD grant enhanced access with the specification of aF subsystem identifier on the ACL associated with the image. E Shareable images contain code executed indirectly, E these images are referenced from executable images G and/or from other shareable images. These images can F not grant enhanced privileges, even with the use ofE INSTALL with /PRIVILEGE or a subsystem identifier. F These shareable images can be dynamically activatedE (a LINK that occurs at run-time) via the LIB$FIND_ D IMAGE_SYMBOL run-time library (RTL) routine. (SeeD `protected images' for information on `privileged& shareable images'.)D System images are intended to run directly on theH VAX or Alpha hardware-these are normally used for theB kernel code that comprises an operating system.J Protected images-also refered to as User-Written SystemI Services (UWSS), or as privileged shareable images-aresH similiar in some ways to a standard shareable images,H but these images include a `change mode' handler, andI execute in an `inner' processor mode (privileged mode; J executive or kernel), and code executing in inner modesH has implicit SETPRV privilege. Must be INSTALLed withG /PROTECT. Note that inner-mode code has restrictionsuJ around calling library routines, around calling variousF system services, and around calling code located in7 other protected or shareable images.r 10-8d e o2 OpenVMS Programming InformationI Loadable images and device drivers are images that candG be used to add code into the OpenVMS kernel. Pseudo-hF device drivers are a particularly convenient way toF add executable code, with associated driver-definedF data structures, into the kernel. The pseudo-deviceI driver includes the UCB and DDB data structures, and asI calling interface with support for both privileged andeH unprivileged access to the driver code via sys$qio[w] calls. D A cookbook approach to creating OpenVMS shareable2 images is available at the URL:: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availableiB ATW Wizard.zip archive, please see Section 3.9.D __________________________________________________________8 10.12 How do I do a file copy from a program?H There are several options available for copying filesG from within a program. Obvious choices include using G lib$spawn(), system(), sys$sndjbc() or sys$creprc() J to invoke a DCL COPY command. Other common alternativesF include using the callable convert routines and theE BACKUP application programming interface (V7.1 and  later).D __________________________________________________________& 10.13 What is a descriptor?B A descriptor is a data structure that describesA a string or an array. Each descriptor contains H information that describes the type of the data beingD referenced, the size of the data, and the addressE of the data. It also includes a description of theJ storage used for the data, typically static or dynamic.7 Descriptors are passed by reference.qC The following are examples of creating and usingnG descriptors in C, with the use of the angle bracketse@ normally expected by the C include statements= deliberately altered in deference to HTML:oJ 10-9 e e2 OpenVMS Programming Information+ #include {descrip.h}c0 #include {lib$routines.h}* #include {stsdef.h}# int RetStat; * char TxtBuf[TXTSIZ]8 struct dsc$descriptor StaticDsc =C { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };r5 struct dsc$descriptor DynDsc =_C { 0, DSC$K_DTYPE_T, DSC$K_CLASS_D, NULL };d+ int DynDscLen = 255; C $DESCRIPTOR( ConstDsc, "This is a string" ); B /* finish setting up a static descriptor */< StaticDsc.dsc$w_length = TXTSIZ;E StaticDsc.dsc$a_pointer = (void *) TxtBuf; C /* finish setting up a dynamic descriptor */ E RetStat = lib$sget1_dd( &DynDscLen, &DynDsc );I= if ( !$VMS_STATUS_SUCCESS( RetStat ) ) ( return RetStat;8 /* release the dynamic storage */: RetStat = lib$sfree1_dd( &DynDsc );; if (!$VMS_STATUS_SUCCESS( RetStat ))o( return RetStat;F Static descriptors reference storage entirely underG application program control, and the contents of therH descriptor data structure can be modified as requiredG (by the application). OpenVMS routines do not modifyaI the contents of a static descriptor, nor do they alterpD the address or length values stored in the staticJ descriptor. (The term "static" refers to the descriptorE data structure, and not necessarily to the storagen1 referenced by the descriptor.) B Dynamic descriptors reference storage under theG control of the run-time library, and the contents ofNH a dynamic descriptor data structure-once initialized-I can only be modified under control of run-time librarynJ routines. The dynamic storage referenced by the dynamicI descriptor is allocated and maintained by the run-timemF library routines. Various OpenVMS routines do alterJ the contents of the descriptor data structure, changingJ the value for the amount and the address of the storage 10-10 c n2 OpenVMS Programming InformationG associated with the dynamic descriptor, as required.?J Routines can obviously access and alter the contents of< the storage referenced by the descriptor.E OpenVMS languages that include support for stringsD or arrays are expected to use descriptors for theE particular structure. Most OpenVMS languages, such A as Fortran and BASIC, use descriptors entirelydJ transparently. Some, like DEC C, require the programmerD to explicitly create and maintain the descriptor.E For further information on string descriptors, seedG the OpenVMS Programming Concepts manual, part of the - OpenVMS documentation set.OD Fortran defaults to passing integers by referenceD and characters by descriptor. The following sitesG discuss mixing Fortran and C source code in the samem application: I o http://www.hhs.dk/anonymous/pub/vms/misc/FORTRAN_C_  CALL.COMF o ftp://ftp.hhs.dk/pub/vms/misc/FORTRAN_C_CALL.COMD __________________________________________________________B 10.14 How do I create a process under another username?J Many server processes can operate within the context ofE the target user using privileges, using calls suchD as sys$chkpro and (more commonly in this context)J sys$check_access as needed to determine if access wouldI be permitted for the specified user within the currentr" security model.B With OpenVMS V6.2 and later, the persona systemE services (SYS$PERSONA_*) can be used to assume theJ persona of the specified user-these allow the server toJ operate as the specified user, in a controlled fashion.I The persona services can be used as a "wrapper" around H a sys$creprc process creation call, as well-this willG create a seperate process entirely under the assumedo persona.hJ 10-11  2 OpenVMS Programming InformationI Information on the persona system services is included B in the OpenVMS V6.2 new features documentation,D and in the OpenVMS V7.1 and later system servicesE documentation. These system services exist and areg@ supported in OpenVMS V6.2 and later releases.J Typical mechanisms for creating a process under another$ username include:E o personna services around a sys$creprc call. Seec above.= o via DECnet task-to-task, using explicitmF specification of username and password, or usingE a DECnet proxy. This creates a network-mode jobrG under the target user. The network-mode job mightoI do little more than a RUN/DETACH of an image passedhE in via task-to-task-task-to-task communications C are fully available using strictly DCL-to-DCLEG processing, or using a compiled language and DCL,; etc.)eB o SUBMIT/USER, or the username argument on theJ sys$sndjbc call. This creates a batch-mode job underI the specified username. The batch-mode job might doaI little more than a RUN/DETACH of an image passed inO& via a parameter.J o the UIC argument on the sys$creprc call. This mimicsJ the UIC of the target user, and is certainly not the7 prefered mechanism for this task.c- o Via pseudo-terminals...dD There are likely a few other mechanisms around...I There are various tools available from DECUS and othermJ sources that allow various forms of user impersonation,F as well. These tools will require version-dependentJ kernel code and enhanced privileges for some of (or all( of) their operations. 10-12 _ _2 OpenVMS Programming InformationD __________________________________________________________B 10.15 Why do lib$spawn, lib$set_symbol fail in detached processes? E The processing within run-time library (RTL) callsiH such as lib$attach, lib$disable_ctrl, lib$do_command,D lib$enable_ctrl, lib$get_symbol, lib$run_program,E lib$set_symbol, lib$set_logical, and lib$spawn, isRF dependent on and requires the presence of a commandI language interpreter (CLI), such as DCL. Without a CLInH present in the current process, these calls will failE with a "NOCLI, no CLI present to perform function"e error.iJ Detached processes typically do not have a CLI present.G In place of lib$spawn, sys$creprc can often be used.I The context of the parent process (symbols and logical I names) will not be propogated into the subprocess when J sys$creprc is used, though when there is no CLI presentE in the process this (lack of) propogation is moot. D To create a detached process with a CLI, you mustD specify LOGINOUT as the target image as discussedE elsewhere in the FAQ, or only use these calls (andH any other calls requiring a CLI) from images that areH running in an "interactive", "batch", or "other" mode process.oE Also note that the lib$spawn and the C system callhJ will fail in a CAPTIVE login environment. The lib$spawnJ call can be gotten to work in this environment with the5 specification of the TRUSTED flag.tD __________________________________________________________@ 10.16 Where can I obtain Bliss, and the libraries and" supporting files?E The Bliss language compilers and documentation aretC available on the OpenVMS Freeware distributions.iI Bliss language source code that contains the following  statement: 7 LIBRARY 'SYS$LIBRARY:STARLET.L32';_J 10-13 P r2 OpenVMS Programming Information@ or similar requires the presence of the BlissG libraries. These libraries are created on the targetiF system using the Bliss require files, and are built6 using the following Bliss commands:I STARLET.L32 contains the public interfaces to OpenVMS:tH $ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]STARLET.L32 -2 SYS$LIBRARY:STARLET.REQJ LIB.L32 contains both the public and private interfaces to OpenVMS:D $ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]LIB.L32 -F SYS$LIBRARY:LIB.REQ+SYS$LIBRARY:STARLET.REQE The equivilent files for Bliss64 are created with:sG $ BLISS/A64/LIBRARY=SYS$COMMON:[SYSLIB]LIB.L64 - F SYS$LIBRARY:LIB.R64+STARLET.REQ+STARLET.R64K $ BLISS/A64/LIBRARY=SYS$COMMON:[SYSLIB]STARLET.L64 - 2 SYS$LIBRARY:STARLET.R64C Some Bliss code may also require the OpenVMS VAXeF architecture flags. The following is the equivilent5 of the Alpha ARCH_DEFS.REQ module:h !J ! This is the OpenVMS VAX version of ARCH_DEFS.REQ, andM ! contains the architectural definitions for conditionallyL ! compiling OpenVMS Bliss sources for use on VAX systems.M ! (If you should encounter compilation errors here, please G ! seriously consider upgrading your Bliss compiler.)a !& MACRO VAXPAGE = 1%;& MACRO BIGPAGE = 0%; !N MACRO VAX = ! = 1 if compiled BLISS/VAXR %BLISS(BLISS32V)%; ! = 0 if not compiled BLISS/VAXb MACRO EVAX = ! = 1 if compiled BLISS/E* (Obsolete, old name)_ (%BLISS(BLISS32E) OR %BLISS(BLISS64E))%; ! = 0 if compiled /VAX /Inn ] MACRO ALPHA = ! = 1 if compiled BLISS/E* (New arch name) _ (%BLISS(BLISS32E) OR %BLISS(BLISS64E))%; ! = 0 if compiled /VAX /Inna] MACRO IA64 = ! = 1 if compiled BLISS/I* (New arch name)ib (%BLISS(BLISS32I) OR %BLISS(BLISS64I))%; ! = 0 if compiled /VAX or /Ann 10-14  2 OpenVMS Programming Information& MACRO ADDRESSBITS =V %BPADDR%; ! = 32 or 64 based on compiler usedG Some Bliss code may require the definition files for F the OpenVMS older LIBRTL routine lib$tparse, or the. newer lib$table_parse call:G $ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]TPAMAC.L32 - 1 SYS$LIBRARY:TPAMAC.REQtD __________________________________________________________9 10.17 How can I open a file for shared access?AJ When creating a file, it is often useful to allow otherH applications and utilities-such as TYPE-to share readF access to the file. This permits you to examine the8 contents of a log file, for instance.I A C source example that demonstrates how to do this isJ available in topic (2867) in the OpenVMS Ask The Wizard area:: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablesB ATW Wizard.zip archive, please see Section 3.9.F Depending on the environment, you may need to use CI calls such as fsync and fflush, and-in specific cases-., the setvbuf(_IONBF) call.D __________________________________________________________G 10.18 How can I have common sources for messages, constants?eD Use the GNM tools on the OpenVMS Freeware to haveB common sources for MSG (message) files and SDMLC (Document) documentation files. Use the DOCUMENT E command to convert the SDML documentation into theTG necessary formats (Text, Postscript, HTML, etc). UseOH the MESSAGE/SDL tool (latent in OpenVMS) to create anH SDL file based on the messages. Then use the SDL toolI (available on the OpenVMS Freeware) to convert the SDL J file into language-specific definitions. (There is alsoF a converter around to convert SDL into SDML, if youG want to get pictures of the data structures for your " documentation.)J 10-15  n2 OpenVMS Programming InformationD __________________________________________________________? 10.19 How do I activate the OpenVMS Debugger from ana application? , #include {lib$routines.h}% #include {ssdef.h}i& #include {string.h} main()d {6 char ascic_debug_commands[128];< char *dbgcmd = "*show calls;go;exit";> strcpy( ascic_debug_commands, dbgcmd );J ascic_debug_commands[0] = (char) strlen( dbgcmd ) - 1;D lib$signal(SS$_DEBUG,1,ascic_debug_commands); return 1; }D __________________________________________________________* 10.20 Dealing with Endian-ness?H OpenVMS on VAX, OpenVMS on Alpha and OpenVMS on IntelD IA-64 platforms (as well as all Microsoft WindowsE implementations and platforms) all support and alliE use the little-endian byte ordering. Certain AlphalG microprocessors and certain Intel Itanium processorspA can be configured to operate in big-endian andlJ potentially in bi-endian mode. HP-UX typically operates big-endian.G With little-endian byte order, the least significant H byte is always the first byte; the byte at the lowestC address. With big-endian byte ordering, the byte:J storage order in memory is dependent on the size of theH data (byte, word, longword) that is being referenced.F Endian-ness is a problem has been solved many times@ before. Some of the typical solutions include@ htonl/htons and ntohl/ntohs in the standard CE library and the TCP/IP Services XDR (eXternal Data F Representation) libraries. One of the more recentlyE introduced network formats, and one that is seeing B extensive press and marketing coverage, is XML. 10-16  _2 OpenVMS Programming InformationD __________________________________________________________7 10.21 How to resolve LINK-I-DATMISCH errors? D The message LINK-I-DATMISCH is informational, andH indicates that the version of the specified shareableF image found in the system shareable image directoryI does not match the version of the shareable image thataF was originally loaded into IMAGELIB.OLB, one of theF OpenVMS libraries typically searched by the LINKER.I From a privileged username, you can usually completelyR= repair this via the following DCL command:aT $ LIB/REPLACE/SHARE SYS$LIBRARY:IMAGELIB.OLB SYS$SHARE:LIBRTL.EXEE This command assumes that the shareable image thataH was found in the SYS$SHARE: area is valid and upward-I compatiable, and that the image has simply replaced ano@ older version without also updating IMAGELIB.D __________________________________________________________E 10.22 HP C and other OpenVMS C Programming Considerations?_E VAX C V3.2 was released for OpenVMS VAX systems inrI 1991. DEC C V4.0 replaced VAX C V3.2 in 1993 as the HPSG C compiler for OpenVMS VAX systems. HP C is the ANSItG C compiler for OpenVMS Alpha systems. VAX C predates G the ANSI C standards, and has various areas that arelJ not compliant with ANSI C requirements. HP C is an ANSIH C compiler, and can also compile most VAX C code whenI /STANDARD=VAXC is specified. Versions of this compilereI between V3.2 and V6.5 (exclusive) were known as DEC C,+ DIGITAL C, and Compaq C.J Both compilers can be installed at the same time on theI same OpenVMS VAX system, allowing a migration from VAXlJ C to DEC C, and allowing the same DEC C code to be used4 on OpenVMS VAX and OpenVMS Alpha.E The system manager can choose the system default CtJ compiler when HP C is installed on a system with VAX C,H and a C programmer can explicitly select the required= compiler for a any particular compilation. H A current "C" license PAK allows access to both VAX C; and HP C on the same OpenVMS VAX system.mJ 10-17 n 2 OpenVMS Programming InformationH Various HP C versions can be installed on OpenVMS VAXH V5.5-2 and later. OpenVMS VAX releases such as V5.5-2G and V6.0 will require the installation of a HP C RTLSF kit, a kit that is included with the HP C compiler.G OpenVMS VAX versions V6.1 and later do not require afH seperate RTL kit, but HP C RTL ECO kits are availableF to resolve problems found with the C RTL on various$ OpenVMS releases.H With HP C, for automatic resolution of the standard CJ library routines by the LINKER utility, use the /PREFIXJ qualifier, such as /PREFIX=ALL_ENTRIES. If a particularE application program replaces an existing C libraryvH routine, use /PREFIX=(ALL_ENTRIES,EXCEPT=(...)). (VAXH C required explicit specification of an RTL shareable> image or C object library during the link.)H When the /PREFIX is requested, the compiler generatesI a "decc$" prefix on the specified symbols. This prefix D allows the LINKER to resolve the external symbolsG against the symbols present in the DECC$SHR library.pG The DECC$SHR library is included in the IMAGELIB.OLBeG shareable image library, and IMAGELIB is searched byrH default when any program (written in any language) isG LINKed. Because the standard C library routine names H are very likely to match application routines writtenI in other languages, a prefix "decc$" is added to the C F symbol names to assure their uniqueness; to preventD symbol naming conflicts. C programs, however, canI sometimes have private libraries for various purposes,mD and the external routines share the same names asF the library routines. (This is not recommended, butJ there are applications around that use this technique.)H Thus the need to explicity specify whether or not theE "decc$" prefix should be prepended to the externala0 symbol names by the compiler.B The qualifiers, and most (all?) with associatedF pragmas, that may be of interest when migrating VAX* C code to HP C include:) o /PREFIX=ALL_ENTRIESt 10-18  2 OpenVMS Programming InformationC As mentioned above. Failure to specificy thisE qualifier can cause the compiler to not add the,F prefixes for the names of the C library routinesF into the references placed in the object module,D which can in turn cause problems resolving theE external symbols in the library when the object % code is linked.e6 o /ASSUME=WRITABLE_STRING_LITERALSI Some VAX C programs erroneously write to the stringEC literals. By default, HP C does not allow theo* constants to change.$ o /SHARE_GLOBALSF Enables sharing ("shr") of globals and of externC variables. HP C sets externs as non-shareablei0 ("noshr"), VAX C as "shr"./ o /EXTERN_MODE=COMMON_BLOCK C VAX C assumes common block model for external  linkages.l+ o /[NO]MEMBER_ALIGNMENThJ Refers to the padding placed between member elementsG within a struct. Disabling member alignment packsTA the data more tightly into memory, but thislE packaging has performance implications, both onAC OpenVMS VAX and particularly on OpenVMS Alphas systems.R o /WARN=ENABLE=(LEVEL4,QUESTCODE)/STANDARD=PORT/ACCEPT=NOVAXC_ KEYWORDSH Enables all manner of useful compiler diagnostics.E You can disable extraneous diagnostics with then following:J 10-19  2 OpenVMS Programming Information# #ifdef __DECCr* #pragma message saveK #pragma message disable /* insert message tag here */_ #endifC Permit structure members to be naturally aligned @ whenever possible, and avoid using /NOMEMBER_F ALIGNMENT. If you need to disable member alignment,G use the equivilent #pragma to designate the specific J structures. The alignment of structure members normallyD only comes into play with specific unaligned dataD structures-such as the sys$creprc quota itemlist-H and with data structures that are using data that wasG organized by a system using byte or other non-member alignment.sJ Versions of HP C such as V6.0 include the capability toH extract the contents of the standard header librariesF into directories such as SYS$SYSROOT:[DECC$LIB...],H and provide various logical names that can be definedG to control library searches. With HP C versions such H as V6.0, the default operations of the compiler matchH the expectations of most OpenVMS programmers, withoutF requiring any definitions of site-specific library-F related logical names. (And logical names left fromH older DEC C versions can sometimes cause the compiler3 troubles locating header files.)FD HP C V5.6 and later include a backport library, aC mechanism by which HP C running on older OpenVMS G releases can gain access to newer RTL routines added I to the RTL in later OpenVMS releases-the language RTLsH ship with OpenVMS itself, and not with the compilers.C Example C code is available in SYS$EXAMPLES:, in1B DECW$EXAMPLES (when the DECwindows examples areG installed), in TCPIP$SERVICES (or on older releases, J UCX$EXAMPLES) when HP TCP/IP Services is installed), onA the Freeware CD-ROMs, and at web sites such as : o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available B ATW Wizard.zip archive, please see Section 3.9. 10-20 A o2 OpenVMS Programming Information' _____________________________ ( 10.22.1 Other common C issuesH The localtime() function and various other functionsI maintain the number of years since 1900 in the "structeJ tm" structure member tm_year. This field will contain aI value of 100 in the year 2000, 101 for 2001, etc., andtI the yearly incrementation of this field is expected to  continue.H The C epoch typically uses a longword (known as time_E t) to contain the number of seconds since midnightIG on 1-Jan-1970. At the current rate of consumption ofeG seconds, this longword is expected to overflow (when F interpreted as a signed longword) circa 03:14:07 onF 19-Jan-2038 (GMT), as this time is circa 0x7FFFFFFFB seconds since the C base date. (The most commonE solution is to ensure that time_t is an unsigned.)iD If C does not correctly handle the display of theF local system time, then check the UTC configurationJ on OpenVMS-the most common symptom of this is a skew ofH one hour (or whatever the local daylight savings timeI change might be). This skew can be caused by incorrectuF handling of the "is_dst" setting in the applicationH program, or by an incorrect OpenVMS UTC configurationB on the local system. (See section Section 4.3.)G Floating point is prohibited in OpenVMS Alpha inner- F mode (privileged) code, and in any process or otherF execution context that does not have floating pointE enabled. C programmers developing and working withnI OpenVMS Alpha high-IPL kernel-mode code such as devicetI drivers will want to become familiar with the floatingsJ point processing available in the environment, and withJ the C compiler qualifier /INSTRUCTION_SET=[NO]FLOATING_H POINT. Device drivers and other similar kernel-mode CH code must be compiled with /INSTRUCTION_SET=FLOATING_9 POINT and /EXTERN_MODEL=STRICT_REFDEF.pF Additionally, the SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARYH parameter will be needed to be appended to the moduleI specification or declared via the C compiler's includelH library logical name mechanism when the C compiler isI resolving kernel-mode data structures and definitions.eF This library contains OpenVMS kernel-mode and otherJ 10-21  _2 OpenVMS Programming InformationC system declaractions, and particularly a mixtureeD of undocumented definitions and declarations, andE particularly definitions and declarations that are F subject to change (and that can accordingly lead toD requirements for the recompilation of application code).eH In addition to the user-mode C Run-Time Library (RTL)C mentioned in the OpenVMS C RTL documentation and I referenced over in Section 3.11, there is a second and1H parallel kernel-mode RTL accessable to device driversE and other kernel code on OpenVMS Alpha and OpenVMScE I64. The most common time this second C library iseF noticed is when C code is (erroneously) linked withH /SYSEXE/SYSLIB, and duplicate symbol errors typicallyI then arise. As code running in supervisor-, executive-tE or kernel-mode context cannot call out a user-modeqC RTL or other user-mode library, you will want tonG respecify the command as LINK /SYSEXE/NOSYSLIB. ThistI will eliminate the duplicate symbol errors, since only J the kernel-mode library will be referenced, and it willG also avoid calling out into the user-mode libraries.G When sharing variables with other languages, here is , some example HP C code... ...2 #pragma extern_model save; #pragma extern_model strict_refdefa4 extern int VMS$GL_FLAVOR;5 #pragma extern_model restore$ ...D and here is some associated example Bliss code... ...! EXTERNAL * VMS$GL_FLAVOR, ....o 10-22  2 OpenVMS Programming Information' _____________________________=* 10.22.2 Other common C++ issuesB HP C++ (a separate compiler from HP C) providesC both symbol mangling and symbol decoration. SometE of the details of working with longer symbol names$B and the resulting symbol name mangling in mixedD language environments are listed in the shareableG image cookbook, and in the C++ documentation. Symbol G name decoration permits the overloading of functionstC (by adding characters to the external symbol forgD the function to indicate the function return typeD and the argument data types involved), and mixed-H language external references can and often do need toI disable this decoration via the extern "C" declarationi mechanism: # extern "C"e {; extern int ExternSymbol(void *);c@ extern int OtherExternSymbol(void *); }I Also see Section 14.7 for information on /ARCHITECTUREr& and /OPTIMIZE=TUNE.H See Section 10.15 for information on the C system and> the lib$spawn call in CAPTIVE environments.D Constructs such as the order of incrementation orF decrementation and the order of argument processingJ within an argument list are all implementation-defined.? This means that C coding constructs such as:  i = i++;n" a[i] = i++;) foo( i, i++, --i);fI are undefined and can have (adverse) implications whenI porting the C code to another C compiler or to another I platform. In general, any combination of ++, -, =, +=, J -=, *=, etc operators that will cause the same value toJ be modified multiple times (between what the ANSI/ISO CJ standard calls "sequence points") produce undefined and3 implementation-specific results. J 10-23  2 OpenVMS Programming InformationE Within C, the following are the "sequence points": F the ";" at the end of a C statment, the ||, &&, ?:,F and comma operators, and a call to a function. NoteH specifically that = is NOT a sequence point, and thatG the individual arguments contained within a functionpJ argument list can be processed from right to left, from8 left to right, or at any random whim.E HP C for OpenVMS VAX (formerly DEC C) and VAX C do4 differ in the related processing.F So you are looking for OpenVMS-specific definitions# (include files)?O@ UCBDEF.H, PCBDEF.H and other OpenVMS-specificG definitions-these are considered part of OpenVMS andoF not part of the C compiler kit-are available on all1 recent OpenVMS Alpha releases. D To reference the version-dependent symbol libraryH sys$share:sys$lib_c.tlb, use a command similar to the- following for compilation: 9 $ CC sourcea+SYS$LIBRARY:SYS$LIB_C/LIBuI You can also define DECC$TEXT_LIBRARY to reference the  library.yC You will want to review the Programming Concepts H manual, and specifically take a quick look at Chapter 21.G And some general background: the STARLET definitions G (and thus the sys$starlet_c.tlb library) contain the F symbols and the definitions that are independent ofE the OpenVMS version. The LIB definitions (and thus F sys$lib_c) contain symbols and definitions that canI be dependent on the OpenVMS version. You won't need torI rebuild your code after an OpenVMS upgrade if you haveyH included definitions from STARLET. The same cannot beI said for some of the definitions in LIB-you might needsG to rebuild your code. (The UCB structure can and hasxB changed from release to release, for instance.)I Recent versions of C automatically search sys$starlet_dD c.tlb. Explicit specification of sys$lib_c.tlb is required. 10-24  2 OpenVMS Programming InformationE Also see the Ask The Wizard website topics (2486),o& (3803), and (1661):: o http://www.hp.com/go/openvms/wizard/D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available B ATW Wizard.zip archive, please see Section 3.9.A See Section 9.5 for information on the C off_t H limitations, resolved in OpenVMS V7.3-1 and later andG in ECO kits available for specific OpenVMS releases.eI The use of a longword for off_t restricts applicationscG using native C I/O to file sizes of two gigabytes or-I less, or these applications must use native RMS or XQPa1 calls for specific operations.aD __________________________________________________________< 10.23 Status of Programming Tools on OpenVMS VAX?G DECthreads V7.3 and the HP C compiler (also known asiE Compaq C and DEC C) V6.4 are presently expected to E be the last updates and the last releases of these H development packages for use on OpenVMS VAX. The run-G time support for both DECthreads (CMA$RTL) and for C G (DECC$CRTL) will continue to be maintained, and will E continue to be available on OpenVMS VAX. The VAX C H V3.2 compiler is the final VAX C compiler release forH OpenVMS VAX, and the VAX C Run-Time Library (VAXCRTL)6 will also continue to be available.? New development and new features and productiF enhancements continue for the OpenVMS Alpha and the< OpenVMS IA-64 DECthreads and C compilers.D __________________________________________________________@ 10.24 Choosing a Version Number for Application Code?J One of the common rules-of-thumb for choosing a versionC number for a new version of a layered product or E an application, and its expected effects on client 3 applications and users, follows:lG o No functional and no application-visible changes,nC bugfixes only-the edit number is incremented.eI These tend to be very small, very isolated, or ECO-bH level changes. These can also be distributions forJ 10-25 r g2 OpenVMS Programming InformationG specific hardware configurations or platforms, ashJ is the case with an OpenVMS Limited Hardware ReleaseG (LHR). Application rebuilds are not expected, andeG there is an assumption that general user-providednH application-related regression testing will not be required. B o Minimal functional and very few user-visibleJ changes-the maintenance number is incremented. TheseF tend to be very small or even ECO-level changes,G though somewhat larger than an edit-level change. I Application rebuilds are not expected, and there isEJ an assumption that user-provided application-related> regression testing will not be required.D o Various small and upward-compatible functionalF changes-the minor version number is incremented.J The changes are user-visible, and are intended to beJ user-visible. Application rebuilds are not expected.H Some application programmers may choose to perform' regression tests. D o Large and/or potentially incompatible changes-C the major version number is incremented. SometD applications might need to be rebuilt. VariousD application programmers will choose to performH regression tests of their respective applications.E For additional version-numbering materials and foraF information on assigning module generation numbers,G please see the OpenVMS (POLYCENTER) Software ProductH Installation Utility-variously refered to by acronymsE including PCSI and SPIA-reference manual availableI8 within the OpenVMS documentation set.A Of course, all of this is obviously subject to F interpretation, particularly around the distinctionF between large and small changes and such. The scaleE of the application is also a factor, as larger and E more complex applications will tend toward smaller I increments and will tend to see the maintenance number J incremented, while new releases of smaller applicationsJ will tend to see the minor version incremented somewhat# more frequently.! 10-26 t O2 OpenVMS Programming InformationI The goal of all this is to provide a guide to relativemF scale of changes and the associated effort involvedH in an upgrade for the user and/or for the application programmer.D __________________________________________________________4 10.25 Selecting a Process Dump Directory?E You can customize the device and directory for the I process dump by defining the logical names SYS$PROCDMPVD and SYS$PROTECTED_PROCDMP. The former is for non-E privileged dumps, while the latter is the location)@ where privileged image dumps are written, andI preferably an area protected against untrusted access.  For example:S5 $ define SYS$PROCDMP SYS$ERRORLOG:BE $ define /exec SYS$PROTECTED_PROCDMP SYS$ERRORLOG: I The abouve presumes that the SYS$ERRORLOG logical namec. points to a valid location.H There is presently no means to change the name of theF generated dump file from IMAGENAME.DMP to somethingD else. Accordingly, you will want to use differentD target directories for this purpose, particularlyC if there is more than one application or processo5 potentially writing process dumps.TD __________________________________________________________- 10.26 Access to Itanium Assembler?=@ If you are interested in accessing the nativeE Intel Itanium assembler within the OpenVMS I64 GNV_G environment-and since the iasi64 assembler is a UnixsI program and GNV is a Unix environment for OpenVMS I64-oE you can simply copy iasi64.ext into your gnu:[bin]r@ directory in place of "as.", and of "AS.EXE".I Alternately and probably also better, you can write an G "as." script to invoke the iasi64.exe image from its D particular prefered location on the local system.: A typical "as." script looks like this:1 path/iasi64.exe $1 $2 $3 $4 $5rJ 10-27 r aJ _______________________________________________________ 11 DECwindowsnD __________________________________________________________A 11.1 How do I let someone else display something on myt workstation?I On a workstation, you will want to use the "Customize" A menu of the session manager utility and select C "Security". When the pop-up box appears, you can I select the host node, username, and tranport that will F allow you to launch an application that targets the' workstation display.nB If this does not provide you with access to the: display, You need a checklist of sorts:C o Make sure that you've specified the X-windowsnC "display" correctly on the remote host. For anJ DECnet transport, the specification uses two colons,H while the TCP/IP transport typically uses one. TheF X Windows server and the X Windows screen followH the host specification, delimited by a period. For example:J ________________________________________________________________0 Table 11-1 X Windows Display CommandsJ _______________________________________________________J Shell_____Command______________________________________ csh< # setenv DISPLAY vms.domain:0.0 sh and kshnH # $ DISPLAY=vms.domain:0.0 ; export DISPLAY DCLC $ SET DISPLAY/CREATE/NODE=vms.domain -wJ ___________________/TRANSPORT=TCPIP/SERVER=server/SCREEN=screen_E o If you have verified the command is correct andbG things are still not working, ensure the SecuritysF settings on the OpenVMS host side will allow theJ 11-1 _  DECwindowsG incoming connection: Pull down the "Options" menu J in the Session Manager, and select "Security...". IfJ you do not find your host and username and transportI listed among the authorized users, you will need tom# add an entry.iI o There are various transports available, including F LOCAL, DECNET, LAT, and TCPIP. You must SelectA the transport appropriate to the incoming # connection.iD o If the transport is "DECnet", do NOT add the; double colon (::) to the node name.eD o If the transport is "TCPIP", "Username" mustG be an asterisk (*). Why? Because unlike DECnet,tG the TCP/IP protocol does not provide the remoteaH username information in the incoming connection.G o If the connection is "TCPIP", it is best to usenC a full domain name (e.g. Node.Subd.Domain).nC However, you may have to use the IP addressrC itself, if your host does not have a way toaD resolve the address via DNS. If you have theH luxury of fixed addresses (eg: you are not usingH DHCP), then it can be helpful to add two entriesI for each TCP/IP host, one that specifies the hostIE name and one that specifies the host address. F o There are various TCP/IP packages for OpenVMS,B and you must use syntax appropriate to the, transport installed.D o If a TCP/IP connection is still not working,C ensure that the transport you want has been > activated for use with DECwindows. SeeG Section 11.14 for details of configuring TCP/IP ' as a transport.iG o There is a log file created in SYS$MANAGER: whichEC can tell you which transports are loaded, andeH also tell you what connect attempts were rejected,F including showing what the presented credentialsC were. This file is SYS$MANAGER:DECW$SERVER_0_nG ERROR.LOG, although the 0 could be another number_H if you have multiple servers on the workstation. I 11-2_   DECwindowsrI have found this file to be very useful for trackingnF down what needs to be put in the Session Manager' Security entries.cD __________________________________________________________A 11.2 How do I create a display on another workstation? I To create a display from an OpenVMS host to a remote X J Windows display, use one of the following DCL commands:S $ SET DISPLAY /CREATE /TRANSPORT=net_transport /NODE=remote_node.I $ SET DISPLAY /CREATE /TRANSPORT=LAT /NODE=remote_node L $ SET DISPLAY /CREATE /TRANSPORT=DECnet /NODE=remote_nodeK $ SET DISPLAY /CREATE /TRANSPORT=TCPIP /NODE=remote_nodeiJ Note that LAT is typically used only for the VXT seriesD X Windows terminals, but it can also be used fromJ OpenVMS to OpenVMS systems on various OpenVMS releases,J such as on OpenVMS Alpha V6.1 and later. For details onG configuring the TCP/IP transport, see Section 11.14. H If you are interested in X Windows terminals and haveH an older VAXstation system around, please see the EWS, package on Freeware V5.0.D __________________________________________________________F 11.3 How can I get the information from SHOW DISPLAY into a symbol? E Use the undocumented SHOW DISPLAY/SYMBOL, and then I reference the symbols DECW$DISPLAY_NODE, DECW$DISPLAY_ C SCREEN, DECW$DISPLAY_SERVER and/or DECW$DISPLAY_  TRANSPORT.dA An example of calling the underlying (and also6F undocumented) sys$qio programming interface for the4 WSDRIVER (WSAn:) is available at:9 http://www.hp.com/go/openvms/freeware/ H Look in the Freeware V4.0 directory /srh_examples/DECUS_UNDOC_ CLINIC/.J 11-3   DECwindows=D __________________________________________________________8 11.4 How do I get a log of a DECterm session?E If you are working from a Decterm, you can use thexG AutoPrint feature. Choose the "Printer..." menu itembH from the "Options" menu, set the printing destinationH to the name of the file you want, and set "Auto Print7 Mode". You are now free to continue.lD It should be noted that all of the characters andH escape sequences are captured, but if you display theE resulting log file on a DECterm, then you will seea9 exactly what was originally displayed. D __________________________________________________________5 11.5 Why is DECwindows Motif not starting?tD First check to see if there is a graphics device,E usually a G* device. (eg: On a DEC 2000 model 300,sG use the command SHOW DEVICE GQ) If you do not find ae# graphics device:mD o OpenVMS has failed to find the appropriate IRQC information for an EISA graphics card (on the G DEC 2000 series) such as the HP (Compaq) QVision,eG and did not autoconfigure it. Run the correct ECUeF (for Tru64 UNIX and OpenVMS) and reboot. This is; necessary only on EISA-based systems. D o You have an EISA-based system (such as the DECC 2000 model 300) and do not have a HP (Compaq)aH QVision video card. This EISA graphics card shouldF have Compaq printed on it, and identifies itselfD as a CPQ3011 or a CPQ3111. If it is not one ofC these two EISA devices, then OpenVMS does notmD support it. (There are no other supported EISAJ graphics controllers, and EISA graphics are normallyF used with DECwindows only on the DEC 2000 series systems.) D o You have a PCI-based system, and do not have aI supported graphics controller-examples of supported 8 controllers include the following:' o PowerStorm 3D30 ' o PowerStorm 4D20E& o PowerStorm 300 11-4o e r DECwindowsd& o PowerStorm 350+ o ELSA GLoria Synergy ) o 3DLabs Oxygen VX1 I See Section 5.16 for further information on some ofb1 these graphics controllers. C o You have booted the system minimally, or have_E otherwise disabled the device autoconfigurationm process.< If there is a G* graphics device present:? o There may have been a severe error in them> DECwindows startup. Type the contents ofA SYS$MANAGER:DECW$SERVER_0_ERROR.LOG for anyl@ information on errors starting the server.F o The system parameter WINDOW_SYSTEM is not set toH 1. While this was a common way for system managersE to disable the DECwindows server startup, it isE not particularly reliable as DECwindows can nown- "correct" this setting. F If you really do not want an OpenVMS system withE workstation hardware to bootstrap and configure @ itself as a workstation, add the following3 definition to SYLOGICALS.COM: G $ DEFINE/SYSTEM/EXEC DECW$IGNORE_WORKSTATION TRUE G o You may not have a valid DECwindows Motif license G loaded. To check for the two most common types of F Motif product authorization keys (PAKs), use the- following DCL commands:T2 $ LICENSE LIST DW-MOTIF/FULL6 $ LICENSE LIST NET-APP-SUP*/FULLF and examine the information displayed. Make sureF that one of these licenses is present, valid and active.cE For information on registering software license @ product authorization keys (PAKs) when youE cannot log into the system directly, please see $ Section 5.6.2.J 11-5 t c DECwindowsE o Check that the DECW$PRIVATE_SERVER_SETUP.COM is E correct for the graphics controller in use. For  instance:eE The following is from the 9FX Vision 330 Owners G Guide, EK-V330G-OG pg 2-9. Place the following inmH DECW$PRIVATE_SERVER_SETUP.COM, creatibng .COM fromF .TEMPLATE if necessary. Locate the DECW$PRIVATE_G SERVER_SETUP.COM file in SYS$SPECIFIC:[SYSMGR] oraG in SYS$COMMON:[SYSMGR] as appropriate; the formereC file is used for this system within a clusterrC configuration, and the latter is used for alllH systems that do not also have a local copy of this4 file in SYS$SPECIFIC:[SYSMGR].6 $ DECW$XSIZE_IN_PIXELS == xvalue6 $ DECW$YSIZE_IN_PIXELS == yvalueI $ DEFINE/SYSTEM DECW$SERVER_REFRESH_RATE rate_in_Hz G Also see Section 11.11. Details of the PowerStorm I 3D30 and 4D20 settings are available in the OpenVMS * Ask The Wizard area.D __________________________________________________________; 11.6 How do I set the title on a DECterm window?sB If you are creating a new DECterm window, check= $ HELP CREATE /TERMINAL /WINDOW_ATTRIBUTESrI If you want to change the title of an existing window,tJ use the following control sequences, where is theJ ANSI escape code, value decimal 27, and "text label" is, what you want to display:G To set the DECterm title, send the escape character,J then the characters "]21;", then the text label string,G and then an escape character followed by a backslasha character.0I To set the icon label, send the escape character, thennE the characters "]2L;", then the icon label string,.G and then an escape character followed by a backslashm character.n 11-6s e d DECwindows E To set both the DECterm title and icon to the fullrG device name, you can use the following DCL commands:n# $ esc[0,7] = 27 X $ fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE")K $ write sys$output esc+ "]21;" + fulldevnam + esc + "\"nK $ write sys$output esc+ "]2L;" + fulldevnam + esc + "\"tG You can also change the title and the icon using thee* Options-Window... menu.: Also see Section 12.1 and Section 8.11.D __________________________________________________________J 11.7 How do I customize DECwindows, including the login screen?H To customize various DECwindows Motif characteristicsJ including the defaults used by the SET DISPLAY command,H the DECwindows login screen background logo used (theG default is the DIGITAL, Compaq, or HP logo), various H keymaps (also see Section 11.7.2 and Section 11.7.1),C the FileView defaults, session manager defaults, G the DECwindows login processing, DECwindows log file G processing, and various other DECwindows attributes, ( see the example file:A $ SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATEnI This example template file is typically copied over toRE the filename SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_oD SETUP.COM and then modified to meet site-specific requirements.I Additionally, various X tools such as xsetroot, bitmap G and xrdb-some these can be useful in customizing thepJ appearance of an application or of the DECwindows Motif@ display-are provided in the DECW$UTILS: area.D When using DECwindows V1.2-4 and later on OpenVMSC Alpha, the default desktop is the Common Desktop C Environment (CDE). You can select your preferredE desktop (CDE or DECwindows Motif) when logging in,-B or you can change the default to the DECwindowsE Motif desktop using the DCL symbol decw$start_new_ F desktop in the DECwindows private application setupH command procedure. See SYS$MANAGER:DECW$PRIVATE_APPS_J 11-7   DECwindowslH SETUP.TEMPLATE for further details, and how to create/ DECW$PRIVATE_APPS_SETUP.COM. D Note that with DECwindows CDE, the root window isC no longer visible by default. The root window is E hidden behind the "backdrop" window of the currentJ CDE workspace. To make the root window visible, use theG CDE style manager selection "backdrop none", and use I information such as that in the OpenVMS FAQ to set the  root window.i> To add a new backdrop to the DECwindows CDEC environment, the backdrop must first be in or bemE converted into X11 pixmap format. (This conversioneF is often possible using tools such as xv.) Then (ifC necessary) create the default backdrop directorymF SYS$COMMON:[CDE$DEFAULTS.USER.BACKDROPS]. Place theH X11 pixmap file containing the desired image into theE backdrops directory, ensure that it has a filename G extension of .PM. (The xv default filename extension E for the X11 pixmap file is .XPM, while CDE expects H only to see files with .PM.) Now invoke the CDE styleC manager and select a new backdrop. You will find$F your image will be placed at the end of the list of' backdrops available. F If you require a message be included on the initialG display-where the start session display and the logo J appears-you can use either of the following approaches:E If you require a message on the initial displayrG where the start session and logo appears, you can 3 use the following approaches. F The simplest approach requires OpenVMS V7.3-2 orC later, and the corresponding DECwindows V1.3-lD 1 kit or later. You will want to create a fileG named SYS$COMMON:[SYSMGR]DECW$GREET.TXT, and thismE will be displayed in a popup-with an OK button-dG when the login box is displayed. This is intendedrD specifically for applications requiring such a display. 11-8n o o DECwindows I The second approach involves copying the file file:l[ SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.SYSTEM.CONFIG.C]XRESOURCES.DATi] to SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.USER.CONFIG.C]XRESOURCES.DAT,eF and editing the copy. Specifically, look for the following:3 Dtlogin*greeting.labelString:oH The line is normally commented out, and by default* contains the string:, Welcome to %localhost%G You can change this text to something akin to the following:H Dtlogin*greeting.labelString: Welcome to Heck \n\X This is a Trusted System owned by the Rulers of the planet Zark\n\ \n\g) We Come In Peace\n\ \nL If you want Privacy, you've come to the wrong place\n\ \nA The lines of text will be centered for you. F In most DECwindows versions, you will be able toI onbtain only about eight (8) lines of text. Changes H have been implemented in DECwindows V1.3 and laterG that permit up to about twenty-five (25) lines of  text. F o The simplest approach requires OpenVMS V7.3-2 orC later, and the corresponding DECwindows V1.3-oD 1 kit or later. You will want to create a fileG named SYS$COMMON:[SYSMGR]DECW$GREET.TXT, and thisSE will be displayed in a popup-with an OK button-oG when the login box is displayed. This is intendedfD specifically for applications requiring such a display.C o The second approach involves copying the fileh[ SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.SYSTEM.CONFIG.C]XRESOURCES.DAT ] to SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.USER.CONFIG.C]XRESOURCES.DAT,rF and editing the copy. Specifically, look for the% following text: J 11-9  n DECwindows 3 Dtlogin*greeting.labelString: H The line is normally commented out, and by default* contains the string:, Welcome to %localhost%J You can change this text using the following syntax:U Dtlogin*greeting.labelString: Unauthorized Access Permitted\n\c5 Press OK to Crash the System\n\f \n\< The Rulers of Zark are Such Kidders\n\ \nG Each line of text will be automatically centered.aF In most DECwindows versions, you will be able toE obtain only about eight (8) lines of text here,aG regardless of the font or other settings. ChangesrF have been implemented within DECwindows V1.3 andJ later that permit up to about twenty-five (25) lines3 of text using this mechanism.OI The login logo is stored as an XPM bitmap image in the g text file SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.SYSTEM.APPCONFIG.ICONS.C]DECDTLOGO.PM,'ƒ and it can be changed. Copy the file to SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.USER.APPCONFIG.ICONS.C]DECDTLOGO.PM,SH as DECwindows upgrades can replace the system version of this file.I On DECwindows V1.3-1 and later (and possibly on V1.3), H both DECwindows CDE and DECwindows Motif displays useI this logo file. On older releases, only the DECwindows C CDE displays used this logo file, while the logo G used for the Motif login display was hard-coded into E the package and the only available override is thesH DECW$LOGINLOGO command procedure mechanism within theH customized, site-specific DECW$PRIVATE_APPS_SETUP.COM file.G Look at the contents of the DECDTLOGO.PM file and at F other *.XPM files and tools for additional details. 11-10 t  DECwindows5' _____________________________ ; 11.7.1 How do I customize DECwindows keymapping? J Various keymaps can be implemented on OpenVMS and otherD X Windows systems, allowing the implementation ofE a Dvorak-style or other alternate keymappings. For-E details, see the available X Windows documentation G (this is the documentation associated with X Windows_D itself, and not the product documentation for theB OpenVMS operating system nor for the DECwindowsC X Windows implementation) and see the DECwindows A *.DECW$KEYMAP (text-format) files found in the 5 DECwindows DECW$KEYMAP: directory.hH For other keymapping information, see Section 11.7.2.' _____________________________hC 11.7.2 Why does the DELETE key delete forward instead of  backward?dI See the SET TERMINAL/BACKSPACE command on OpenVMS V8.1  and later.lJ This behaviour involves the Motif virtual key bindings.J When a Motif application starts, it looks at the vendorH string returned in the display connection informationI and attempts to match the string to a table of virtuala bindings.@ You can override the default bindings in yourG decw$xdefaults.dat file. Here is the entry you would 8 make to get the default VMS bindings.J 11-11 a y DECwindowsp, *defaultVirtualBindings:\* osfCancel : \n\) osfLeft : \n\n& osfUp : \n\+ osfRight : \n\e) osfDown : \n\h0 osfEndLine :Alt \n\1 osfBeginLine :Alt \n\s, osfPageUp : \n\- osfPageDown : \n\ 2 osfDelete :Shift \n\. osfUndo :Alt \n\0 osfBackSpace : \n\/ osfAddMode :Shift \n\a) osfHelp : \n\ ' osfMenu : \n\ + osfMenuBar : \n\ - osfSelect :