? 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.H While this document is available in multiple formats,H the text-format version is far and away generally the, easiest format to search.= Revision/Update Information OpenVMS V8.3H Revision/Update Information: Revision Date/July 2006 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-4J 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-6B 2.6.1 Where can I download OpenVMS and LayeredJ Product Kits? 2-8J __________________________________________________________J 2.7 IN WHAT LANGUAGE IS OPENVMS WRITTEN? 2-9J __________________________________________________________J 2.8 OBTAINING AND TRANSFERING OPENVMS LICENSES? 2-9= 2.8.1 Questions asked by Hobbyist OpenVMSJ licensees? 2-10E 2.8.1.1 Vendors offering Hobbyist Licenses, 2-11J 2.8.2 OpenVMS Educational and CSLG licenses? 2-11> 2.8.3 What developer and partner licensingJ programs are available? 2-12@ 2.8.4 How do I obtain or transfer an OpenVMSJ license? 2-12J __________________________________________________________< 2.9 DOES OPENVMS SUPPORT THE EURO CURRENCYJ SYMBOL? 2-12J __________________________________________________________F 2.10 OPENVMS PORTS? ITANIUM? PORTS TO IA-32, EM64T ORJ AMD64 SYSTEMS? 2-13 iv   ContentsJ __________________________________________________________> 2.11 ARE THERE ANY NETWORK-ACCESSIBLE OPENVMSJ SYSTEMS? 2-16J __________________________________________________________J 2.12 WHAT VERSION OF OPENVMS DO I NEED? 2-18J __________________________________________________________J 2.13 HOW CAN I SUBMIT OPENVMS FREEWARE? 2-19J __________________________________________________________J 2.14 PORTING APPLICATIONS TO OPENVMS? 2-20J __________________________________________________________F 2.15 WHAT RESOURCES ARE AVAILABLE TO OPENVMS SOFTWAREJ DEVELOPERS? 2-21J __________________________________________________________E 2.16 MEMORY MANAGEMENT, RESOURCE MANAGEMENT, PROCESSJ SCHEDULING, ETC? 2-22J __________________________________________________________J 2.17 BASIC UNITS OF MEASUREMENT? 2-23J 2.17.1 How many bytes are in a disk block? 2-23J 2.17.2 How many bytes are in a memory page? 2-25@ 2.17.3 How do I convert? Disk Blocks? KB, MB,J GB, TB? 2-25J ________________________________________________________________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 __________________________________________________________H 3.3 HOW DO I EXTRACT THE CONTENTS OF A HELP TOPIC TO AJ TEXT FILE? 3-5J __________________________________________________________; 3.4 DOES OPENVMS MARKETING HAVE AN E-MAILJ ADDRESS? 3-5J v   ContentsJ __________________________________________________________? 3.5 WHERE CAN I LEARN ABOUT OPENVMS EXECUTIVEJ INTERNALS? 3-5J __________________________________________________________I 3.6 WHERE CAN NEW USERS FIND TUTORIAL INFORMATION ABOUTJ OPENVMS? 3-6J 3.6.1 Tutorial Websites? 3-6J 3.6.2 Books and Tutorials? 3-8J __________________________________________________________? 3.7 WHAT OPENVMS MAILING LISTS AND FORUMS AREJ AVAILABLE? 3-10J __________________________________________________________D 3.8 WHAT IS THIS ASK THE WIZARD WEBSITE I'VE HEARDJ ABOUT? 3-12J __________________________________________________________D 3.9 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-3F 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-4H 4.1.1.2 Alpha hardware time-keeping details..., 4-5G 4.1.1.2.1 Battery-Backed Watch (BB_WATCH) Chip, 4-51 4.1.1.2.2 EXE$GQ_SYSTIME, 4-67 4.1.1.2.3 EXE$GQ_SAVED_HWCLOCK, 4-6I 4.1.1.3 Why does VAX need a SET TIME at least once a' year?, 4-7> 4.1.2 How does OpenVMS VAX maintain systemJ time? 4-7 vi   ContentsJ __________________________________________________________J 4.2 KEEPING THE OPENVMS SYSTEM TIME SYNCHRONIZED? 4-9J __________________________________________________________J 4.3 EXTERNAL TIME-BASE HARDWARE? 4-11< 4.3.1 Why do my cluster batch jobs startJ early? 4-11J 4.3.2 Why does my OpenVMS system time drift? 4-12< 4.3.3 Resetting the system time into theJ past? 4-13< 4.3.4 How can I drift the OpenVMS systemJ time? 4-13A 4.3.5 How can I configure TCP/IP Services NTPJ as a time provider? 4-14J __________________________________________________________H 4.4 MANAGING TIMEZONES, TIMEKEEPING, UTC, AND DAYLIGHTJ SAVING TIME? 4-16B 4.4.1 Creating, Updating and Managing TimezoneJ Definitions? 4-19H 4.4.1.1 Customizing or Updating your TDF (Timezone)+ Setting?, 4-20> 4.4.1.2 US Daylight Time Changes Starting. 1-Mar-2007?, 4-22< 4.4.2 Timezones and Time-related LogicalJ Names? 4-22= 4.4.3 How to troubleshoot TDF problems onJ OpenVMS? 4-23J __________________________________________________________G 4.5 WHY DOES THE SET TIME COMMAND FAIL? HELP MANAGINGJ DTSS? 4-25J __________________________________________________________D 4.6 SETTING TIME ON ALPHASERVER ES47, ES80, GS1280J CONSOLE? 4-27J __________________________________________________________F 4.7 UTC VS GMT VS VS UT1/UT1/UT2 TDF? WHAT ARE THESEJ ACRONYMS? 4-29J __________________________________________________________J 4.8 USING W32TIME OR AN SNTP AS A TIME PROVIDER? 4-31J vii   ContentsJ ________________________________________________________________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 __________________________________________________________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-7C 5.6.1 I've forgotten the SYSTEM password - whatJ can I do? 5-11A 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-12J __________________________________________________________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-15J __________________________________________________________J 5.10 WHAT ARE THE OPENVMS VERSION UPGRADE PATHS? 5-16J 5.10.1 OpenVMS Alpha Upgrade (or Update) Paths 5-16J 5.10.2 OpenVMS I64 Upgrade Paths 5-19J 5.10.3 OpenVMS VAX Release Upgrade Paths 5-20J 5.10.4 OpenVMS Cluster Rolling Upgrade Paths 5-21J 5.10.5 OpenVMS VAX Manual Organization 5-22= 5.10.6 OpenVMS Product Version and SupportJ Information 5-227 5.10.7 OpenVMS Alpha and I64 UpgradeJ Terminology 5-23 viii   ContentsJ __________________________________________________________E 5.11 WHY DO I HAVE A NEGATIVE NUMBER IN THE PAGEFILEJ RESERVABLE PAGES? 5-25J __________________________________________________________H 5.12 DO I HAVE TO UPDATE LAYERED PRODUCTS WHEN UPDATINGJ OPENVMS? 5-26J __________________________________________________________J 5.13 HOW DO I CHANGE THE VOLUME LABEL OF A DISK? 5-27J __________________________________________________________J 5.14 HOW CAN I SET UP A SHARED DIRECTORY? 5-27J __________________________________________________________= 5.15 WHY DO I GET EXTRA BLANK PAGES ON MY HPJ PRINTER? 5-29J __________________________________________________________? 5.16 DRIVERS AND CONFIGURATION OF NEW GRAPHICSJ CONTROLLERS? 5-29J 5.16.1 The ELSA GLoria Synergy 5-29J 5.16.2 PowerStorm 300, PowerStorm 350 5-31J 5.16.3 PowerStorm 3D30, PowerStorm 4D20 5-31J 5.16.4 Radeon 7500 5-32J __________________________________________________________C 5.17 HOW CAN I ACQUIRE OPENVMS PATCHES, FIXES, ANDJ ECOS? 5-32J __________________________________________________________J 5.18 HOW DO I MOVE THE QUEUE MANAGER DATABASE? 5-33J __________________________________________________________H 5.19 HOW DO I DELETE AN UNDELETABLE/UNSTOPPABLE (RWAST)J PROCESS? 5-34J __________________________________________________________J 5.20 HOW DO I RESET THE ERROR COUNT(S)? 5-35J __________________________________________________________B 5.21 HOW DO I FIND OUT IF THE TAPE DRIVE SUPPORTSJ COMPRESSION? 5-37J __________________________________________________________F 5.22 CAN I COPY SYSUAF TO ANOTHER VERSION? TO VAX? TOJ ALPHA? 5-37J ix   ContentsJ __________________________________________________________J 5.23 HOW DO I DELETE (TIMEOUT) IDLE PROCESSES? 5-40J __________________________________________________________C 5.24 DO I NEED A PAK FOR THE DECEVENT (HP ANALYZE)J TOOL? 5-40J __________________________________________________________; 5.25 INITIALIZE ACCVIO AND ANSI TAPE LABELJ SUPPORT? 5-41J __________________________________________________________J 5.26 HOW DO I RECOVER FROM INSVIRMEM ERRORS? 5-41J __________________________________________________________C 5.27 HOW CAN I PREVENT A SERIAL TERMINAL LINE FROMJ INITIATING A LOGIN? 5-42J __________________________________________________________= 5.28 HOW DOES PCSI USE THE IMAGE BUILD_IDENTJ FIELD? 5-42J __________________________________________________________C 5.29 HOW CAN I TELL WHAT SOFTWARE (AND VERSION) ISJ INSTALLED? 5-44J __________________________________________________________@ 5.30 WHAT FILE CHECKSUM TOOLS ARE AVAILABLE FORJ OPENVMS? 5-45J __________________________________________________________@ 5.31 WHAT (AND WHERE) IS THE OPENVMS MANAGEMENTJ STATION? 5-46J __________________________________________________________A 5.32 HOW TO DETERMINE CURRENT DISK FRAGMENTATIONJ LEVEL? 5-46J __________________________________________________________< 5.33 SYSBOOT-I-FILENOTLOC, UNABLE TO LOCATEJ SYS$CPU_ROUTINES? 5-47J __________________________________________________________G 5.34 HOW CAN I CUSTOMIZE THE DCPS DEVICE CONTROL FOR AJ NEW PRINTER? 5-47 x   ContentsJ __________________________________________________________J 5.35 WHY DO $GETDEV MOUNTCNT AND SHOW DEVICE MOUNT COUNTSJ DIFFER? 5-49J __________________________________________________________< 5.36 WHAT SOFTWARE IS NEEDED FOR POSTSCRIPTJ PRINTERS? 5-49J __________________________________________________________B 5.37 HOW DO I REMOVE A PCSI-INSTALLED PATCH (ECO)J KIT? 5-49J __________________________________________________________> 5.38 SYSINIT-E, ERROR MOUNTING SYSTEM DEVICE,J STATUS=0072832C 5-50J __________________________________________________________J 5.39 RESOLVING LICENSE PAK PROBLEMS? 5-50J __________________________________________________________J 5.40 CHANGING THE OPENVMS VERSION NUMBER? 5-52J __________________________________________________________@ 5.41 HOW TO PREVENT USERS FROM CHOOSING OBVIOUSJ PASSWORDS? 5-53J __________________________________________________________< 5.42 PLEASE HELP ME WITH THE OPENVMS BACKUPJ UTILITY? 5-55J 5.42.1 Why isn't BACKUP/SINCE=BACKUP working? 5-55F 5.42.1.1 Why has OpenVMS gone through the agony of/ this change?, 5-55A 5.42.1.2 Can you get the old BACKUP behaviour( back?, 5-559 5.42.2 What can I do to improve BACKUPJ performance? 5-56J 5.42.3 Why is BACKUP not working as expected? 5-57J 5.42.4 How do I fix a corrupt BACKUP saveset? 5-59> 5.42.5 How do I write a BACKUP saveset to aJ remote tape? 5-60< 5.42.6 How to perform a DoD security diskJ erasure? 5-61J 5.42.7 How to enable telnet virtual terminals? 5-63J 5.42.7.1 Volume Shadowing MiniCopy vs MiniMerge?, 5-64. 5.42.7.1.1 Mini-Copy?, 5-64/ 5.42.7.1.2 Mini-Merge?, 5-65J xi   ContentsJ __________________________________________________________J 5.43 PLEASE EXPLAIN DELETE/ERASE AND FILE LOCKS? 5-66J __________________________________________________________J 5.44 MANAGING FILE VERSIONS? 5-66J __________________________________________________________J 5.45 HOST-BASED VOLUME SHADOWING AND RAID? 5-67J ________________________________________________________________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 HOW DO I READ IBM EBCDIC TAPES ON OPENVMS? 7-3J __________________________________________________________J 7.5 HOW CAN I PATCH AN OPENVMS ALPHA IMAGE? 7-4 xii   ContentsJ ________________________________________________________________J CHAPTER 8 DCL DETAILS 8-1J __________________________________________________________J 8.1 DCL SYMBOLS AND OPENVMS LOGICAL NAMES? 8-1J __________________________________________________________J 8.2 HOW DO I RUN A PROGRAM WITH ARGUMENTS? 8-3J __________________________________________________________J 8.3 HOW CAN I CLEAR THE SCREEN IN DCL? 8-5J __________________________________________________________A 8.4 USING REPLY/LOG FROM DCL? DISABLING CONSOLEJ OPCOMS? 8-5J __________________________________________________________J 8.5 HOW DO I GENERATE A RANDOM NUMBER IN DCL? 8-6J __________________________________________________________J 8.6 WHAT DOES THE MCR COMMAND DO? 8-7J __________________________________________________________J 8.7 HOW DO I CHANGE THE OPENVMS SYSTEM PROMPT? 8-7J __________________________________________________________E 8.8 CAN I DO DECNET TASK-TO-TASK COMMUNICATION WITHJ DCL? 8-8J __________________________________________________________: 8.9 HOW CAN I GET THE WIDTH SETTING OF AJ TERMINAL? 8-9J __________________________________________________________J 8.10 WHY DOESN'T DCL SYMBOL SUBSTITUTION WORK? 8-9J __________________________________________________________J 8.11 HOW CAN I SUBSTITUTE SYMBOLS IN A PIPE? 8-10J __________________________________________________________> 8.12 USE OF RUN/DETACH, LOGINOUT, AND LOGICALJ NAMES? 8-10J __________________________________________________________A 8.13 HOW TO USE ESCAPE AND CONTROL CHARACTERS INJ DCL? 8-11J xiii   ContentsJ ________________________________________________________________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 __________________________________________________________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-7J __________________________________________________________B 9.7 HOW DO I WRITE CD-RECORDABLE OR DVD MEDIA ONJ OPENVMS? 9-8J 9.7.1 CD and DVD notation, terminology? 9-116 9.7.2 Use of RRD42 and other olderJ (embossed-media) CD drives? 9-13A 9.7.3 Creating Bootable OpenVMS I64 CD or DVDJ Media? SYS$SETBOOT? 9-14J __________________________________________________________< 9.8 WHAT I/O TRANSFER SIZE LIMITS EXIST INJ OPENVMS? 9-15J __________________________________________________________C 9.9 CAN I USE ODBC TO CONNECT TO OPENVMS DATABASE J FILES? 9-15J __________________________________________________________J 9.10 IF MY DISKS ARE SHOWN AS VIOC COMPATIBLE, AM I USINGJ XFC? 9-16 xiv  y ContentseJ __________________________________________________________7 9.11 RMS SEQUENTIAL FILES AND PLATFORMnJ PORTABILITY? 9-16J __________________________________________________________J 9.12 HOW TO READ LOCKED FILES? 9-17J ________________________________________________________________J CHAPTER 10 OPENVMS PROGRAMMING INFORMATION 10-1J __________________________________________________________G 10.1 MODULAR PROGRAMMING, FACILITY PREFIXES AND SYMBOL_J NAMING? 10-1J __________________________________________________________9 10.2 CAN I HAVE A SOURCE CODE EXAMPLE OF J CALLING...? 10-2J __________________________________________________________A 10.3 HOW DO I GET THE ARGUMENTS FROM THE COMMAND J LINE? 10-4J __________________________________________________________A 10.4 HOW DO I GET A FORMATTED ERROR MESSAGE IN A J VARIABLE? 10-5J __________________________________________________________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 AUJ PROGRAM? 10-5J __________________________________________________________F 10.7 HOW DO I TURN MY FORTRAN COMMON INTO A SHAREABLEJ IMAGE ON ALPHA? 10-6J __________________________________________________________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-7J xv   Contents J __________________________________________________________C 10.10 HOW DO I GET A UNIQUE SYSTEM ID FOR LICENSING_J 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-10J __________________________________________________________J 10.13 WHAT IS A DESCRIPTOR? 10-10J __________________________________________________________= 10.14 HOW DO I CREATE A PROCESS UNDER ANOTHER_J USERNAME? 10-12J __________________________________________________________G 10.15 WHY DO LIB$SPAWN, LIB$SET_SYMBOL FAIL IN DETACHEDGJ PROCESSES? 10-13J __________________________________________________________E 10.16 WHERE CAN I OBTAIN BLISS, AND THE LIBRARIES ANDOJ SUPPORTING FILES? 10-14J __________________________________________________________J 10.17 HOW CAN I OPEN A FILE FOR SHARED ACCESS? 10-16J __________________________________________________________A 10.18 HOW CAN I HAVE COMMON SOURCES FOR MESSAGES,_J CONSTANTS? 10-16J __________________________________________________________D 10.19 HOW DO I ACTIVATE THE OPENVMS DEBUGGER FROM ANJ APPLICATION? 10-17J __________________________________________________________J 10.20 DEALING WITH ENDIAN-NESS? 10-17J __________________________________________________________J 10.21 HOW TO RESOLVE LINK-I-DATMISCH ERRORS? 10-18J __________________________________________________________: 10.22 HP C AND OTHER OPENVMS C PROGRAMMINGJ CONSIDERATIONS? 10-18J 10.22.1 Other common C issues 10-22J 10.22.2 Other common C++ issues 10-24 xvi T I Contents J __________________________________________________________J 10.23 STATUS OF PROGRAMMING TOOLS ON OPENVMS VAX? 10-26J __________________________________________________________? 10.24 CHOOSING A VERSION NUMBER FOR APPLICATION J CODE? 10-27J __________________________________________________________J 10.25 SELECTING A PROCESS DUMP DIRECTORY? 10-28J __________________________________________________________J 10.26 ACCESS TO ITANIUM ASSEMBLER? 10-29J __________________________________________________________J 10.27 KERNEL-MODE CODING RESTRICTIONS? 10-29J __________________________________________________________J 10.28 DECODING AN ACCESS VIOLATION (ACCVIO) ERROR? 10-30J __________________________________________________________J 10.29 GENERATING AN AUTODIN-II CRC32? 10-32J __________________________________________________________J 10.30 ENABLING BUILT-IN TRACING? 10-32J ________________________________________________________________J CHAPTER 11 DECWINDOWS 11-1J __________________________________________________________G 11.1 HOW DO I LET SOMEONE ELSE DISPLAY SOMETHING ON MY3J 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 xvii   Contents J __________________________________________________________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-10@ 11.7.2 Why does the DELETE key delete forwardJ instead of backward? 11-10J __________________________________________________________J 11.8 WHY DOESN'T XTAPPADDINPUT() WORK ON OPENVMS? 11-12J __________________________________________________________H 11.9 WHY DO THE KEYBOARD ARROW KEYS MOVE THE DECWINDOWSJ CURSOR? 11-13J __________________________________________________________J 11.10 WHY DOES HALF MY DECWINDOWS DISPLAY BLANK? 11-13J __________________________________________________________H 11.11 %DECW-W-NODEVICE, NO GRAPHICS DEVICE FOUND ON THISJ SYSTEM? 11-14J __________________________________________________________J 11.12 HOW CAN I RESET THE WARNING BELL VOLUME? 11-16J __________________________________________________________J 11.13 HOW CAN I ALTER THE DECWINDOWS CDE BACKDROP? 11-17J __________________________________________________________< 11.14 HOW CAN I ENABLE THE DECWINDOWS TCP/IPJ TRANSPORT 11-17J __________________________________________________________E 11.15 CAN I USE DECWINDOWS 1.2-* ON OPENVMS V7.3-2 OR J LATER? 11-17J __________________________________________________________J 11.16 HOW TO ADD FONTS INTO DECWINDOWS? 11-18 xviii L D ContentspJ ________________________________________________________________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 CORRECTLY USING LICENSE PAKS AND LMF? 12-4J ________________________________________________________________J CHAPTER 13 FINDING AND USING SOFTWARE 13-1J __________________________________________________________F 13.1 WHERE CAN I FIND FREEWARE/SHAREWARE/SOFTWARE FORJ OPENVMS? 13-1J __________________________________________________________J 13.2 WHERE CAN I FIND UNIX TOOLS FOR OPENVMS? 13-15J 13.2.1 C system and library routines 13-15J 13.2.2 X Windows utilities and routines 13-16J 13.2.3 TCP/IP Tools and Utilities for OpenVMS? 13-16J 13.2.4 The vi text editor 13-17J 13.2.5 The Emacs Text Editor 13-17J 13.2.6 GNV: Various GNU tools 13-170 13.2.6.1 GCC compiler, 13-18J __________________________________________________________J 13.3 WHAT IS THE STATUS OF PL/I ON OPENVMS? 13-19J __________________________________________________________J 13.4 WHERE CAN I GET THE MOZILLA WEB BROWSER? 13-19J __________________________________________________________J 13.5 WHERE CAN I GET JAVA FOR OPENVMS? 13-20J __________________________________________________________J 13.6 OBTAINING USER INPUT IN DCL CGI SCRIPT? 13-21J xix E  Contents J __________________________________________________________A 13.7 HOW CAN A BATCH JOB GET ITS OWN BATCH ENTRY J NUMBER? 13-22J __________________________________________________________J 13.8 HOW DO I CONVERT TO NEW CMS OR DTM LIBRARIES? 13-22J __________________________________________________________J 13.9 WHERE CAN I GET PERL FOR OPENVMS? 13-23J __________________________________________________________F 13.10 OBTAINING THE DECMIGRATE (AEST OR VEST, AND TIE)J TRANSLATOR? 13-25J __________________________________________________________F 13.11 WHERE CAN I GET ZIP, UNZIP, SELF-EXTRACTING ZIP,J ETC? 13-26J __________________________________________________________J 13.12 ARE VAX HARDWARE EMULATORS AVAILABLE? 13-27J ________________________________________________________________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-3J __________________________________________________________J 14.3 CONSOLE COMMANDS, SERIAL LINES, AND CONTROLS? 14-3B 14.3.1 What commands are available in the AlphaJ SRM console? 14-4J 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-5J 14.3.3.1 Which terminal device name is assigned to the- COM ports?, 14-5D 14.3.3.2 Which serial port is the console on the1 MicroVAX 3100?, 14-5EG 14.3.3.3 How can I set up an alternate console on a . VAXstation?, 14-6 xx_ _ _ Contents J 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-8J 14.3.5 What are the boot control flag values? 14-9I 14.3.5.1 What are the I64 IPB boot flag values?, 14-9o= 14.3.5.2 What are the Alpha APB boot flage+ values?, 14-10 J 14.3.5.3 What are the VAX VMB boot flag values?, 14-12? 14.3.6 How do I boot an AlphaStation withoutlJ monitor or keyboard? 14-15; 14.3.7 Downloading and using SRM console J Firmware? 14-16I 14.3.7.1 Where can I get updated console firmware for 2 Alpha systems?, 14-16I 14.3.7.2 How do I reload SRM firmware on a half-flash_1 Alpha system?, 14-17 J 14.3.7.3 How do I switch between AlphaBIOS/ARC and SRM- consoles?, 14-18 J 14.3.8 Console Management Options 14-21J 14.3.9 Why do my EFI Boot Aliases Fail? 14-22A 14.3.10 Can OpenVMS access the EFI console Boot J Aliases? 14-22; 14.3.11 Downloading and using EFI Console_J Firmware? 14-22J __________________________________________________________J 14.4 WHAT PLATFORMS WILL OPENVMS OPERATE ON? 14-24J 14.4.1 on the Alpha Multia? 14-26J 14.4.2 on AlphaPC 164LX? AlphaPC 164SX? 14-28B 14.4.2.1 on the NoName AXPpci33 system?, 14-28J 14.4.3 on the Alpha XL series? 14-29@ 14.4.4 OpenVMS on the Personal Workstation -aJ and -au series? 14-29H 14.4.4.1 OpenVMS on the Whitebox Windows-Only series* Alpha?, 14-31G 14.4.4.2 OpenVMS and Personal Workstation ATA (IDE) . bootstrap?, 14-32J 14.4.5 On the Intel Itanium IA-64 platform? 14-32: 14.4.5.1 Where can I get Intel Itanium0 information?, 14-33J xxi T E Contents J __________________________________________________________F 14.5 WHAT IS THE LEAST EXPENSIVE SYSTEM THAT WILL RUNJ OPENVMS? 14-34J __________________________________________________________? 14.6 WHERE CAN I GET MORE INFORMATION ON ALPHA J SYSTEMS? 14-35J __________________________________________________________J 14.7 DESCRIBE ALPHA INSTRUCTION EMULATION AND INSTRUCTIONJ SUBSETS? 14-36J __________________________________________________________J 14.8 SO HOW DO I OPEN UP THE DEC 3000 CHASSIS? 14-38J __________________________________________________________J 14.9 WHAT IS BYTE SWIZZLING? 14-38J __________________________________________________________B 14.10 WHAT IS THE LAYOUT OF THE VAX FLOATING POINTJ FORMAT? 14-40J __________________________________________________________J 14.11 WHERE CAN I FIND MORE INFO ABOUT VAX SYSTEMS? 14-41J __________________________________________________________D 14.12 WHERE CAN I FIND INFORMATION ON NETBSD FOR VAXJ SYSTEMS? 14-41J __________________________________________________________E 14.13 WHAT SYSTEM DISK SIZE LIMIT ON THE MICROVAX AND J VAXSTATION 3100? 14-41J __________________________________________________________J 14.14 WHAT ARE THE VAX PROCESSOR (CPU) CODES? 14-43J __________________________________________________________C 14.15 WHERE CAN I GET SOFTWARE AND HARDWARE SUPPORTEJ INFORMATION? 14-44J __________________________________________________________G 14.16 WHERE CAN I GET HARDWARE SELF-MAINTENANCE SUPPORTFJ ASSISTANCE? 14-45J __________________________________________________________D 14.17 WHY DOES MY SYSTEM HALT WHEN I POWER-CYCLE THEJ CONSOLE TERMINAL? 14-45 xxii_ _ _ Contents_J __________________________________________________________I 14.18 CAN I REUSE OLD KEYBOARDS, MICE AND MONITORS WITH A J PC? 14-46J __________________________________________________________C 14.19 WHICH VIDEO MONITOR WORKS WITH WHICH GRAPHICS_J CONTROLLER? 14-48J __________________________________________________________< 14.20 WHERE CAN I GET INFORMATION ON STORAGEJ HARDWARE? 14-49J __________________________________________________________= 14.21 WHY DOES MY LK401 KEYBOARD UNEXPECTEDLYNJ AUTOREPEAT? 14-50J __________________________________________________________I 14.22 PROBLEM - MY LK411 SENDS THE WRONG KEYCODES OR SOME J KEYS ARE DEAD 14-51J __________________________________________________________B 14.23 WHICH DE500 VARIANT WORKS WITH WHICH OPENVMSJ VERSION? 14-51J __________________________________________________________B 14.24 HOW DO I SET THE SPEED AND DUPLEX ON OPENVMSJ I64? 14-53J __________________________________________________________0 14.25 THIRD-PARTY OR UNSUPPORTEDJ DISK/TAPE/CONTROLLERS/SCSI/WIDGETS? 14-539 14.25.1 Lists of third-party widgets onRJ OpenVMS? 14-56A 14.25.2 Are the 2X-KZPCA-AA and SN-KZPCA-AA LVDTJ Ultra2 SCSI? 14-57J 14.25.3 Resolving DRVERR fatal device error? 14-57J __________________________________________________________J 14.26 LOOKING FOR CONNECTOR WIRING PIN-OUTS? 14-57J __________________________________________________________= 14.27 WHAT CONNECTORS AND WIRING ADAPTERS ARE J AVAILABLE? 14-60J __________________________________________________________J 14.28 WHAT IS FLOW CONTROL AND HOW DOES IT WORK? 14-63J xxiii  6 ContentsUJ __________________________________________________________J 14.29 CD AND DVD DEVICE REQUIREMENTS? 14-64J __________________________________________________________@ 14.30 OFFICE-FRIENDLY (QUIETER) INTEGRITY RX2620J SERIES? 14-66J __________________________________________________________@ 14.31 KVM SWITCHES FOR ALPHASERVER AND INTEGRITYJ SERVERS? 14-67J ________________________________________________________________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-2C 15.2.3 How do I connect a PostScript printer via_J TCP/IP? 15-3< 15.2.4 How do I set a default IP route orJ gateway on OpenVMS? 15-4? 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 __________________________________________________________J 15.3 OPENVMS AND DECNET NETWORKING? 15-5J 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-6> 15.3.4 How to flush the DECnet-Plus sessionJ cache? 15-6 xxivA S  Contents J __________________________________________________________; 15.4 HOW TO DETERMINE THE NETWORK HARDWARE_J ADDRESS? 15-7B 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 VMSNJ 7.1? 15-9J __________________________________________________________B 15.5 HOW CAN I SEND (RADIO) PAGES FROM MY OPENVMSJ SYSTEM? 15-11J __________________________________________________________J 15.6 OPENVMS, CLUSTERS, VOLUME SHADOWING? 15-11A 15.6.1 OpenVMS Cluster Communications ProtocolNJ Details? 15-12D 15.6.1.1 OpenVMS Cluster (SCS) over DECnet? Over' IP?, 15-12 B 15.6.1.2 Configuring Cluster SCS for path load. balancing?, 15-139 15.6.1.2.1 Cluster Terminology?, 15-13 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_VOTESD4 in a VMScluster?, 15-16H 15.6.2.1.1 Why no shadowing for a Quorum Disk?, 15-19D 15.6.2.2 Explain disk (or tape) allocation class- settings?, 15-19_E 15.6.2.2.1 How to configure allocation classes and 5 Multi-Path SCSI?, 15-20_< 15.6.3 Tell me about SET HOST/DUP and SETJ HOST/HSC 15-21J 15.6.4 How do I rename a DSSI disk (or tape?) 15-23? 15.6.5 Where can I get Fibre Channel Storage J (SAN) information? 15-24B 15.6.6 Which files must be shared in an OpenVMSJ Cluster? 15-24J 15.6.7 How can I split up an OpenVMS Cluster? 15-25J 15.6.8 Details on Volume Shadowing? 15-27E 15.6.8.1 Does volume shadowing require a non-zero_7 allocation classes?, 15-27 J xxv A ? Contents J ________________________________________________________________ INDEX J ________________________________________________________________ TABLESJ 1-1 Core Websites 1-1J 1-2 INFO-VAX Mail Server Commands 1-4J 2-1 OpenVMS Alpha Media Kits 2-6J 2-2 OpenVMS I64 Order Numbers 2-7J 2-3 OpenVMS I64 Media Suffix 2-7J 2-4 OpenVMS Source Listings Kits 2-8J 2-5 OpenVMS Alpha Version Rule-Of-Thumb 2-18J 3-1 OpenVMS Websites 3-2J 3-2 OpenVMS Tutorial and Documentation Websites 3-6J 3-3 DP Books 3-8J 3-4 OpenVMS Mailing Lists 3-10J 3-5 OpenVMS Discussion Forums 3-11J 5-1 PCSI Generation Number 5-44J 11-1 X Windows Display Commands 11-1J 14-1 I64 Conversational Bootstrap Flags 14-10J 14-2 Alpha Conversational Bootstrap Flags 14-11J 14-3 VAX Conversational Bootstrap Flags 14-12J 14-4 DE500 Speed and Duplex Settings 14-52J 14-5 DEC MMJ Pin-out 14-57J 14-6 PC DB9 Pin-out 14-59J 14-7 MicroVAX DB9 Pin-out 14-59J 14-8 DECconnect MMJ Connectors and Adapters 14-61J 15-1 Cluster Common Shared Files 15-24 xxvi  8 J ________________________________________________________________ PrefacedJ 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!T? Please send your suggestions for changes, F additions, or corrections directly to FAQ Editor1 (hoff{atsign}hp{period}com) = No Support Questions, PleaseIC Please do not send technical questions to the F FAQ Editor (hoff{atsign}hp{period}com) . The FAQD Editor (hoff{atsign}hp{period}com) is not in aB position to answer general questions, nor toE provide general product support. Rather, please G post your questions to the appropriate newsgroup,_F or please contact your preferred hardware and/or@ software support organization(s) directly.B Your understanding in this matter is greatly" 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..J Do note that the FAQ Editor (hoff{atsign}hp{period}com)F takes URL link continuity seriously, and strives toD maintain current links. This is, however, a largeD task, and it is only becoming more difficult. URLA link continuity is also something that you can D assist with, of course. If you should find a deadE link or a stale URL pointer, please notify the FAQ C Editor (hoff{atsign}hp{period}com) . If you have C or can find the current, correct or updated URL,AA of course, that greatly assists the FAQ Editor J iii _ _; OpenVMS Frequently Asked Questions (FAQ) F (hoff{atsign}hp{period}com) in maintaining the most( current set of links. Thank you! = Post to Newsgroups With Care! @ Please consider reading Section 1.3 before= posting to the comp.os.vms or any other_G newsgroups. (What you post can come back to hauntN you.) ' _____________________________  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 contentsC of and to the general improvements 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 haveEA participated in the FAQ and in the newsgroups. D Jim Agnew, Paul Anderson, Jason Armistead, ZoltanC Arpadffy, John AtoZ, Bailey, Gary Barclay, (The)BE Beav, Jeremy Begg, Colin Blake, Fabrice Blanquart, F Ken Blaylock, Kenneth Block, Bol, Craig Berry, MarkH Berryman, Jim Becker, Verell Boaen, Bol, Jim Brankin,H Richard Brodie, Colin Butcher, Robert Alan Byer, JeffC Campbell, Scott Campbell, Antonio Carlini, Keith_F Cayemberg, Ken Chaney, Cristy, John Croll, David J.I Dachtera, Robert Deininger, Dale Dellutri, Leo Demers,_G Sue Denham, Thomas Dickey, Eric Dittman, Mike Duffy,AJ Jim Dunham, Eric, Glenn Everhart, Ken Fairfield, Yaacov iv   1; OpenVMS Frequently Asked Questions (FAQ)_C Fenster, Gunther Froehlin, Harry Garonzik, Derek F Garson, John Gillings, Andy Goldstein, Clair Grant,G Hunter Goatley, Ruth Goldenberg, Vance Haemmerle, Ki_J Suk Hahn, SHarris, Rich Hearn, Fletcher Hearns, PhillipI Helbig, Hein van den Heuvel, Stephen Hoffman, Eberhard_J Heuser-Hofmann, Sue Holt, Mark Hopkins, Horn, Jaf, LeifG Jansson, Kevin Jenkins, Don R. Jones, Henry Juengst,_C inazu_k, Geoff Kingsmill, Fred Kleinsorge, FelixRI Kreisel, Veli Korkko, Ruslan R. Laishev, Peter "EPLAN" F Langstoeger, Norm Lastovica, p_lee, Jerry Leichter,C Richard Levitte, Tom Linden, Steve Lionel, Denis H Maillard, Kerry Main, John E. Malmberg, David Mathog,H Dale Miller, Ian Miller, Dick Munroe, Patrick Moreau,J Morrison, otis, George Pagliarulo, Keith Parris, Plass,F pvhp, David Rabahy, Stan Rabinowitz, Mike Raspuzzi,E Steve Reece, Neil Rieck, Ian Ring, Aaron Sakovich,IE Warren Sander, Mark Schafer, Brian Schenkenberger, E Atlant Schmidt, Wayne Sewell, Steven Shamlian, Sue_F Skonetski, Scott Snadow, Sue Sommer, Scott Squires,I stfp, Dave Sweeney, Mike Thompson, Arne Vajhøj, Martin_H Vorländer, Peter Weaver, 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) of_D any omissions, corrections, or updates that mightD be needed within this list. And thanks to each ofG these individuals for their assistance and for theirID 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.answers ' o news:news.answers * o http://www.faqs.org/J v  ; OpenVMS Frequently Asked Questions (FAQ) , o http://www.google.com/9 o http://eisner.decus.org/vms/faq.htm0 o http://www.hoffmanlabs.orgG 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, F 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 areL5 provided and maintained by others. I As the HTML-format FAQ is not a single monolithic (anddI accordingly large) HTML file, it is the most difficult1B 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.RD 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.1 viW I A; OpenVMS Frequently Asked Questions (FAQ)_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 by1& the section number.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._C While the information contained here is believedAG correct, the use of any and all information acquired_D 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.HB 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 theIH 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 vii M ; OpenVMS Frequently Asked Questions (FAQ) 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 feedbackOF involving the particular translated edition of this FAQ._ viii9  J _______________________________________________________ 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 in  Table 1-1: J ________________________________________________________________" Table 1-1 Core WebsitesJ ________________________________________________________________J URL_______Contents______________________________________________B Core OpenVMS Information, including roadmaps and release schedules 1 http://www.hp.com/go/openvms/_8 OpenVMS and Core Layered Product Documentation5 http://www.hp.com/go/openvms/doc/ G Core OpenVMS Support Search Engine URLs, the ITRC support and C discussion forums, and the ITRC FTP-accessable Patch Area D http://www2.itrc.hp.com/service/james/CPQhome.doI (formerly the NLSA Natural Language Search Assistant,' and formerly AskQ.),+ http://www.itrc.hp.com/ : ftp://ftp.itrc.hp.com/openvms_patches/ The OpenVMS Freeware: http://www.hp.com/go/openvms/freeware/. The OpenVMS Hobbyist License Program3 http://www.openvmshobbyist.org/_J 1-1   Introduction_J ________________________________________________________________* Table 1-1 (Cont.) Core WebsitesJ ________________________________________________________________J URL_______Contents______________________________________________G http://h71000.www7.hp.com/openvms/license_software_ J __________programs/index.html___________________________________D __________________________________________________________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 about3J 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' _____________________________a? 1.2.2 What newsgroups carry VMS-related information?4F 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 newsgroup " 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).l 1-2   Introduction3J Also of interest are resources and conferencing systemsH including Encompasserve (formerly known as DECUServe)7 and Ken Farmer's OpenVMS.Org forums: 0 o telnet://eisner.decus.org/- o http://www.openvms.org/B' _____________________________ 7 1.2.3 What newsgroup archives are available?3> Extensive archives of INFO-VAX mailings andI comp.os.vms postings are archived and available at SRI_H International: http://mvb.saic.com/freeware/info-vax/I Google also has extensive newsgroup archives available1 at?, o http://www.google.com/' _____________________________ 3 1.2.4 What is the INFO-VAX mailing list?aF INFO-VAX is a mailing list which is bidirectionallyJ gatewayed to the comp.os.vms newsgroup. This means thatJ postings to comp.os.vms get automatically sent to INFO-I VAX subscribers and messages sent to the INFO-VAX listn: are automatically posted to comp.os.vmsE INFO-VAX can be a useful way to participate in the G newsgroup if you can't access the newsgroup directly G through a newsreader. Note that INFO-VAX is a closed5F mailing list, which means that only subscribers mayI post to it. Please see Section 1.2.4.1 for information F on how to subscribe, and how you can subscribe suchF that you can post from multiple addresses but stillA receive no more than one copy of the mailings.TE Please remember that propogation delays can and do J vary, meaning that mailings and postings may be delayedC or even lost. It is quite possible that postingsIG 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. J 1-3   Introduction_' _____________________________DF 1.2.4.1 How do I subscribe to or unsubscribe from INFO-VAX?E The address for subscription requests is Info-VAX- E Request[at]Mvb.Saic.Com. Subscription requests are D 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 wellF as setting various parameters on your subscription, is:J ________________________________________________________________2 Table 1-2 INFO-VAX Mail Server CommandsJ _______________________________________________________J Command____________________Description_________________I HELP Acquire information on mail 4 serverF SUBSCRIBE INFO-VAX Join to the mailing listD UNSUBSCRIBE INFO-VAX Leave the mailing listE SET INFO-VAX DIGEST Select periodic omnibus_I mail messages from the mailOJ server, rather than multipleJ individual messages for each6 posting.G SET INFO-VAX NODIGEST Separate mail delivery ofIA each message posted H SET INFO-VAX NOMAIL Establish an email addressI for posting, though not for > receiving, mail.H SET INFO-VAX MAIL Establish an email addressF for both posting and forE receiving mail from theTJ ____________________________________mailing_list._______________A The mail server is not case-sensitive; case is_E irrelevant. Settings and policies can be retrievedH> from the mail server, typically using HELP.J The INFO-VAX moderator can be contacted directly at the? email address Mark.Berryman[at]Mvb.Saic.Com.O 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 OpenVMS_G manuals, the HELP, and the resources and information4I 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 allow J 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 do G not want your questions to be ignored in the future-PG 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.2> When posting, please consider the following suggestions: F 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 newseI servers, the entire text is effectively a permanent_E fixture of the network. And using the available F search engines, a fixture that is easy to locateH and to correlate. (Do not assume that all tools orF archives will honor the do-not-cache attributes,J either-postings marked as such can be among the most< interesting ones to cache, after all.)I For details on some of the many available archives, / please see Section 1.2.3._J 1-5 O N Introduction 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 are5H "trolling" and by folks that are spamming. (ThoughE to avoid spam-harvesting of your email address,iD 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 information G 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 the5H 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 replyJ 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,F you've possibly included too much. Never include? signatures and other irrelevant material. D o Please be polite. If the question isn't wordedE the way you think is correct or doesn't include C the information you want, try to imagine what F the problem might be if viewed from the poster'sC perspective. Requests for additional detailedFD 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.6 1-6 S f IntroductionbH 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 other D mechanisms that assume anyone reading the postH has the corresponding capability-use the text-onlyI option of your web browser, news reader, or mailer.iE Usenet is traditionally a text-only medium, andfG many comp.os.vms participants will use tools thataJ have this support disabled, or that do not have thisI support. If the message uses MIME or attachments or H such, the text of your message will be buried in aG large pile of gibberish, and some tools will send J 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, most I newsreaders include a filter or killfile mechanism, B and many mail clients have similar filteringE capabilities. Please do not "flame"-to email or G to post vitriol - any individual that might annoylF you, please enable and filter all of that user'sG postings. Posting of vitriol and of "flames" willoI eventually come back to haunt you; netizens and the J net itself have a very large and a very long memory.G Similarly, readers that decide that your postings_F are not worthy of reading will similarly tend toH filter or to killfile all of your postings. Please0 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: 4 widftp://rtfm.mit.edu/pub/usenet/6 news.answers/usenet/primer/part14 widftp://rtfm.mit.edu/pub/usenet/3 news.answers/usenet/faq/part14 widftp://rtfm.mit.edu/pub/usenet/> news.answers/usenet/emily-postnews/part1J 1-7   Introduction 4 widftp://rtfm.mit.edu/pub/usenet/= news.answers/usenet/writing-style/part1 4 widftp://rtfm.mit.edu/pub/usenet/= news.answers/usenet/posting-rules/part1oB 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 Note A 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 andF distribute a fix before other customer sites can" be affected.A Most folks in the newsgroups are honest and_> deserve to know about potential securityA problems, but a few folks can and will makeC nefarious use of this same information. Other ? sites will hopefully return the courtesy,_= and will not post information that will ? potentially compromise your site and yourt+ computer environment.D __________________________________________________________8 1.4 What OpenVMS user group(s) are available?C Encompass, the Enterprise Computing Association,eF is a user group comprised of information technologyG professionals that are interested in the Enterprise-hC oriented products, services, and technologies ofnE Compaq and of the former DIGITAL. Encompass offersoI newsletters, the Encompass website, and offers variousTF gatherings and related services, including symposia9 events and local users group meetings.tI Encompass is a descendent of the organization known aspG DECUS, the Digital Equipment Computer Users Society.g 1-8  p IntroductionrF For more information on Encompass, please visit the& Encompass web site:1 o http://www.encompassus.org/F 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/sB 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 andoI offerings. Please see the Interex website for details. D __________________________________________________________7 1.5 OpenVMS Support, Questions and Comments?iF The following section includes contacts for OpenVMSG Feedback, and information on how to obtain technicale' support information.L' _____________________________ @ 1.5.1 Corporate contacts for OpenVMS Business Issues?J The HP corporate contact for OpenVMS business issues isI Ann McQuaid, the HP General Manager directly in charge D of OpenVMS and OpenVMS Engineering, while featureF requests and other related matters should be routedE to MaryJane Vazquez, the OpenVMS Business Manager.tH Ann and MaryJane will quite obviously respond best toJ cogently-worded OpenVMS corporate-level business issuesE or requests. With all due respect to all involved, H neither Ann nor MaryJane are appropriate contacts forF technical support matters nor for technical supportJ requests, nor for any other non-corporate-related, non-J business-related issues-these questions are best routedG to the local or regional customer support center; to @ the support, technical and engineering teams.H To reach Ann or MaryJane via electronic mail, place aH dot between the first and the surname, and append the* expected HP.COM domain.J 1-9 r } Introduction ' _____________________________ % 1.5.2 OpenVMS Ambassadors?eG The OpenVMS Ambassadors are senior HP engineers withoH advanced technical knowledge and advanced training inI OpenVMS, with detailed knowledge of current and futurenH OpenVMS releases and product plans, and with contactsE directly with the HP and ISV hardware and softwaretC engineering organizations developing OpenVMS andcJ OpenVMS hardware platforms, as well as layered productsG and tools. Further, Ambassadors are experienced withlB 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.r' _____________________________rD 1.5.3 Contact for OpenVMS Marketing Issues and Questions?* Please see Section 3.4.' _____________________________ ; 1.5.4 Contact URLs for OpenVMS Technical Issues?.E For formal technical issues and technical support,sH please contact your software support organization, orH your local HP Customer Support Center or HP Reseller.B In North America, you can call 1-800-HP-INVENT.= For informal (free) support resources, see 9 the newsgroups including comp.os.vms ( > news://comp.os.vms/ comp.os.vms ), see the< ITRC discussion forums, the James supportC database search engine (search assistant tool) (tC http://www2.itrc.hp.com/service/james/CPQhome.do E ), and see sections of this document including the,H platform support information in Section 14.4, sourcesE of software and hardware support in Section 14.15,mE information on third-party devices and unsupportedRI hardware in Section 14.25, and the many other sectionso$ of this document. 1-10   d Introduction J Please remember to review and to bookmark the following support URLs:3 o http://www.hp.com/go/openvms/aF o http://www2.itrc.hp.com/service/james/CPQhome.doE o http://www.hp.com/go/openvms/wizard/ (reference > only; use ITRC forums for new questions)< o ftp://ftp.itrc.hp.com/openvms_patches/J 1-11  eJ _______________________________________________________& 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 ofsC computers, eventually named VAX (Virtual Addresse 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.w> OpenVMS was designed entirely within HP andC specifically within the former Digital EquipmentFH Corporation (DIGITAL). Two of the principal designersI were Dave Cutler and Dick Hustvedt, though with a wideG variety of other contributors. OpenVMS was conceivedOD 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 from 8 RSX-11M were carried over to OpenVMS.I OpenVMS VAX is a 32-bit, multitasking, multiprocessingF; virtual memory operating system. Current A implementations run on VAX systems from HP andoC other vendors, as well as on hardware emulators;fF for additional information on emulators, please see$ Section 13.12 andJ 2-1 r & General InformationJ OpenVMS Alpha is a 64-bit multitasking, multiprocessing; virtual memory operating system. CurrentsJ implementations run on Alpha systems from HP, and other vendors.tB OpenVMS has also been ported to the Intel IA-64A architecture, and specifically to HP Integrity G systems using microprocessors from the Intel ItaniumeF Processor Family. This implementation of OpenVMS isI officially known as "HP OpenVMS for Integrity Servers"oF and more commonly as "OpenVMS I64", and it operatesC in the native Itanium IA-64 architecture and 64-sD bit environment. OpenVMS I64 provides support forJ applications requiring 32- or 64-bit virtual addressingI capabilities entirely within the native 64-bit Itanium J execution environment. (For details on this and related; terminology, please see Section 14.4.5.) G For more details on OpenVMS and its features, please D read the OpenVMS Software Product Description at:9 o http://h18000.www1.hp.com/info/spd/oH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.ND 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- * release-history.htmlH Additional historical information-as well as picturesH and a variety of other trivia-is available in the VAX) 20th anniversary book:nL 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:eK o http://www.systella.fr/~bertrand/FreeVMS/indexGB.html : o http://en.wikipedia.org/wiki/FreeVMS5 o http://www.openvmshobbyist.org/r 2-2  & General Information0 o http://www.openvmsedu.com/H Also please see the related software licensing topicsF Section 2.8.4, Section 2.8.1, and Section 2.15, andI (for developers working on commercial applications for * OpenVMS) Section 2.8.3.D __________________________________________________________> 2.2 What is the difference between VMS and OpenVMS?G VMS and OpenVMS are two names for the same operatingiF 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 VAX G and Alpha (and for the Itanium Processor Family), inuJ part to signify the high degree of support for industryH standards such as POSIX, which provides many features# of UNIX systems. D For those versions with POSIX, an OpenVMS licenseE allows you to install and run POSIX for OpenVMS atlF no additional charge; all you need is the media andG documentation which can be found on the ConsolidatedoJ 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 callsfG from the API are being integrated more directly intoE OpenVMS. For more information on POSIX for VMS see! question SOFT2E What became confusing is that the OpenVMS name wasiD 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.J 2-3 _ _& General InformationD __________________________________________________________: 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".oH 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./G Somewhat confusing to long-time OpenVMS users, IntelAJ IA-32, IA-64, and EM64T, and AMD AMD64 are the names ofG various computing architectures and of architecturalnC extensions. Only. These are not the names of any 9 implementations, nor of any platforms.nJ 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. G I64 is the generic name for the various HP Integrity J 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.)_' _____________________________ 3 2.3.1 How do I port from VMS to OpenVMS?h@ You already did. Wasn't that easy? Please see+ Section 2.2 for details.D __________________________________________________________0 2.4 Which is better, OpenVMS or UNIX?H This question comes up periodically, usually asked byI new subscribers and new posters who are long-time UNIXeE or Linux users. Sometimes, the question is ignored E totally; other times, it leads to a long series ofnG repetitive messages that convince no one and usuallyuJ carry little if any new information. Please do everyoneJ a favor and avoid re-starting this perpetual, fruitless debate. 2-4 h & General InformationG That said, OpenVMS and the better implementations ofpE UNIX are all fine operating systems, each with its D 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 theiF expected cost-of-ownership over the lifetime of the' system installation.eD If you are asking this question, you are probablyC comparing OpenVMS to UNIX. It was once certainly C true that OpenVMS and UNIX were quite different.mF In more recent times, there are tools and C APIs onG OpenVMS that directly provide or that easily supportnD porting UNIX programs and commands, and there areH equivalent packages bringing various OpenVMS features4 and mechanisms to UNIX platforms.D If you seek UNIX tools on OpenVMS rather than theG more philosophical discussion found in this section,sG please see the GNV package and other GNU discussions D in Section 13.2.6, and please see the plethora ofC C calls currently available in the HP C Run-TimeFC Library documentation, briefly discussed over inv" Section 13.2.1.D __________________________________________________________@ 2.5 Is HP continuing funding and support for OpenVMS? Yes.J Active development of new OpenVMS releases is underway,: as well as the continuation of support.G Please see the following URLs for details, roadmaps,n+ and related information:p3 o http://www.hp.com/go/openvms/pJ 2-5 s d& General InformationD __________________________________________________________< 2.6 What OpenVMS distribution kits are available?7 Various distributions are available. I For the most current information on the available part E numbers and current products (OpenVMS distribution H kits, media, documentation, etc) and the most currentC associated licensing information, please see the E current OpenVMS Software Product Description (SPD) * document, available at:9 o http://h18000.www1.hp.com/info/spd/aH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx. C The CD-ROMs listed in Table 2-1 contain just the G OpenVMS Alpha operating system. The operating system I 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 Kits_J _______________________________________________________J Part______________Description__________________________D QA-MT1AG-H8 OpenVMS Alpha V6.2-1H3 hardwareF release CD-ROM; also requires QA-1 MT1AA-H8.6.2jE QA-MT1AR-H8 OpenVMS Alpha V7.1-2 maintenance 3 release CD-ROMbE QA-MT1AT-H8 OpenVMS Alpha V7.2-1 maintenancea3 release CD-ROME QA-MT1AU-H8 OpenVMS Alpha V7.2-2 maintenance_3 release CD-ROMsG 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 license  2-6  & General InformationG tiers based on the numbers of processor sockets that E can be present. Further, three general product and D licensing groupings are optionally available withD OpenVMS I64, the Foundation Operating EnvironmentI (FOE), the Enterprise Operating Environment (EOE), andFH (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. J ________________________________________________________________- Table 2-3 OpenVMS I64 Media Suffix J _______________________________________________________J Suffix____________Description__________________________C A18 OpenVMS I64 FOE V8.2 DVD media > AJR OE media kit on DVD mediaJ _________0D1_______________Factory_installation_________________H The OpenVMS VAX, OpenVMS Alpha and OpenVMS I64 sourceD listings sets referenced in Table 2-4 include theI source listings of most of OpenVMS, and these machine- F readable distributions are invaluable for any folksJ working directly with OpenVMS internals, as well as forI folks interested in seeing examples of various OpenVMS * programming interfaces.J 2-7 o & General InformationJ ________________________________________________________________1 Table 2-4 OpenVMS Source Listings KitsoJ _______________________________________________________J Part______________Description__________________________J QB-MT1AB-E8 OpenVMS Alpha Source Listings kit and, licenseJ QT-MT1AB-Q8 OpenVMS Alpha Source Listings UpdatesH BA422AA OpenVMS I64 Source Listings kit and, licenseH 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 includingtD NetBeans, XML, SOAP, UDDI, JDK, Perl, Tomcat, SSLG and such are discussed within the OpenVMS e-BusinessiI Infrastructure Package SPD 80.58.xx. Again, please seeoI the OpenVMS SPD and the documents and parts referencedo: there for the most current information.= For information on non-commercial softwareeF distributions for use by and for OpenVMS Hobbyists,, please see Section 2.8.1.' ______________________________G 2.6.1 Where can I download OpenVMS and Layered Product Kits? D HP customers with commercial licenses and supportG contracts can download software product distribution 6 kits from the following HP website:* o http://www1.sqp.com/E You can also find pointers to the Software RolloutrG Report and to the OpenVMS SPD listings via the aboves SQP website.  2-8 t l& General InformationD Information on obtaining and transfering licensesG is available in Section 2.6 and Section 2.8.4, while H information on the OpenVMS Hobbyist licensing programI and on obtaining hobbyist product distribution kits is $ in Section 2.8.1.D __________________________________________________________3 2.7 In what language is OpenVMS written?oE OpenVMS is written in a wide variety of languages.sA In no particular order, OpenVMS components areeH implemented using Bliss, Macro, Ada, PLI, VAX and DECG C, Fortran, UIL, VAX and Alpha SDL, Pascal, MDL, DECpI C++, DCL, Message, and Document. And this is certainlyrF not a complete list. However, the rumor is NOT trueI that an attempt was made to write pieces of OpenVMS inrJ every supported language so that the Run-Time LibrariesI could not be unbundled. (APL, BASIC, COBOL and RPG area? just some of the languages NOT represented!)uF There are a large variety of small and not-so-smallI tools and DCL command procedures that are used as partvI of the OpenVMS build, and a source code control systemiH capable of maintaining over a hundred thousand sourceG files across multiple parallel development projects,f, and overlapping releases.D __________________________________________________________: 2.8 Obtaining and Transfering OpenVMS licenses?? The following sections describe hobbyist and J educational license programs, as well as information on5 commercial licenses and transfers.aF For information on the available commercial OpenVMSE licenses and for information on license transfers, F please see Section 2.8.4. OpenVMS Hobbyist licensesB are discussed in Section 2.8.1. For informationC on the licensing implementation, troubleshooting G licensing problems, on the License Unit Requirements F Table (LURT), and other related details, please seeI Section 5.39. For configuring and troubleshooting LMF,s$ see Section 12.4.J 2-9  & General Information' _____________________________t? 2.8.1 Questions asked by Hobbyist OpenVMS licensees? E If you are a member of an HP-recognized user groupoG (eg: Encompass, Enterex, DECUS), and are consideringtJ 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,uC OpenVMS Alpha, and (reportedly) OpenVMS I64, and 2 layered products are available.C In addition to the license keys, OpenVMS VAX andsB Alpha distribution CD-ROM distribution kits areC available with OpenVMS, DECwindows Motif, DECnetfB 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 OpenVMSeH Hobbyist distribution do not differ from the standardJ distribution installation kits. The products are chosenE to reflect the most popular products and the spacee+ available on the media.) J If you have questions on what else is authorized by theI license agreement and on what other distribution mediarH is available to you, well, please read the applicable1 software license agreement(s).o; For further information, please link to:g5 o http://www.openvmshobbyist.org/ D On the OpenVMS Hobbyist license registration formD at the above website (as of August 2005), you areJ offered the choice of the "OpenVMS VAX" license(s), theI "OpenVMS Alpha" license(s), and the "Layered Products" G licenses. You will want the operating system licensesD 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. G For vendors wishing to license products specifically E for hobbyist use (and to not issue hobbyist PAKs), F the program provides hobbyists with the license PAK$ OPENVMS-HOBBYIST. 2-10e o n& General InformationB If you plan to use a hardware emulator (eg: VAXG emulator) on a Microsoft Windows platform, make sure C you have an OpenVMS distribution kit that can beiG installed and/or booted with the particular emulator I package you plan to use. For additional information oneG emulators, please see Section 13.12 and particularlyhA please see the emulator-related documentation. ' _____________________________ 5 2.8.1.1 Vendors offering Hobbyist Licensese) o GrayMatter Softwaree= http://www.graysoft.com/GSCHobbyPR.htmls= http://www.graysoft.com/GSCHobbyPR.htmlo% o Argent Softwarer@ http://jams.argent-software.com/hobby.html o Kednos, http://www.kednos.com/ o LJKe$ http://ljk.com& o Process SoftwareB http://www.process.com/openvms/hobbyist.html o Raxco4 http://www.raxco.com/hobbyist/< o Software Resources International (SRI)E http://www.softresint.com/charon-vax/Tools_and_A tips.htmF Hobbyist license product additions, and any updatesG for products already listed here are welcome. PleaseoE contact the FAQ Editor (hoff{atsign}hp{period}com)m' _____________________________f7 2.8.2 OpenVMS Educational and CSLG licenses?tF For information on OpenVMS licenses for educational? customers, please see the HP Campus SoftwarerG License Grant (CSLG) license program and the OpenVMSa/ Educational license program: 0 o http://www.openvmsedu.com/J 2-11  & General Information' _____________________________sB 2.8.3 What developer and partner licensing programs are available? F Commercial software developers can join the HP DSPPC program, and can (potentially) receive discountssD on various software product licenses and softwareC distributions, as well as on hardware purchases.e0 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.D One of the benefits available is a (free) licenseC product authorization key (PAK) that enables thefF generation of license PAKs-the so-called PAKGEN PAKI generator license PAK. An example of this is available_F on the OpenVMS Freeware V8.0 distribution. (And no,H you can't use the Freeware PAKGEN PAK to generate any/ license PAK you might want.)aI Please see Section 2.8.3 for additional details on the DSPP program.? For information on the OpenbVMS Hobbyist andbC OpenVMS Educational license programs, please sees! Section 2.8.1.n' _____________________________b@ 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, youoG can contact HP at regional sales office or reseller.lJ For information on the hobbyist license program, please% see Section 2.8.1.aD __________________________________________________________= 2.9 Does OpenVMS support the Euro currency symbol? H OpenVMS can generate the %xA4 character code used forG the Euro, and the DECwindows DECterm can display thetJ glyph. Please check with the vendor of your terminal or< terminal emulator for additional details. 2-121  & General InformationD __________________________________________________________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 first D 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 up E to 34-bit physical addressing. The Alpha and IA-64 D 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-bitaE VAX environment. For additional information on thee7 emulation, please see Section 13.12. 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 inpF 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 platformrJ (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 systemsdG 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 andiH the effort involved in porting a product from OpenVMSD VAX to OpenVMS Alpha, or the port to OpenVMS I64.E Platform ports of many of the various products can G be easy, and many of the ports of applications usingaF documented OpenVMS features are expected to requireH little more than a source rebuild. Other products canE and do depend on platform-specific or undocumented A features, and the associated ports can be more G involved. Regardless, ports of operating systems are:E very large and involved projects. The prerequisiteJ 2-13  & General InformationG product requirements for an OpenVMS operating system B 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 useduG cross-compilers and cross-tools operating on OpenVMSiJ Alpha systems, while V8.2 and later have various native' compilers available."E The OpenVMS I64 port was centrally built using theeI existing OpenVMS Alpha environment and around the workE and the knowledge from the OpenVMS Alpha port, andG OpenVMS Engineering fully expects that customers andG ISVs will use and will continue to use OpenVMS Alpha,I systems to assist with their own ports to OpenVMS I64.E OpenVMS Engineering fully expects to see customers J using mixed-architecture clusters and fully shared file$ systems, as well.E OpenVMS Engineering is well aware of the AMD AMD64sI (64-bit) platform and processors. (At least one of theaG available VAX emulators can reportedly utilize partscG of the AMD64 instruction set, please contact the VAXSE emulator vendor(s) or maintainer(s) for assistance F and details on their products.) OpenVMS EngineeringE is also well aware of the Intel EM64T platform and J processors. There are no plans to provide a native portG of HP OpenVMS for any systems based on the AMD AMD64 1 nor Intel EM64T architectures. J As part of the work leading to the Itanium port, seniorG engineers had extensively evaluated the products and I the architectures available across the high-end 64-bitSJ computing space, and chose to target Itanium for 64-bitI environments-this while under the Compaq organization.iH This included looking at IA-32. HP (a co-developer ofF Itanium with Intel) had seperately chosen to targetD Intel Itanium for its high-end computer products.F Compaq then announced plans for the future of AlphaD through EV7-series products and platforms, and HPD (entirely seperately) announced plans for PA-RISCF products and platforms. The Itanium target has beenE maintained consistently since the Itanium port wasn 2-14g y r& General InformationF 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.06E ready (internally) ahead of schedule-and with moreoF features available within the release than had beenG originally planned for the release. (For informationeC on and for schedules of future OpenVMS releases,rJ 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 applications E and addressing on Itanium, this is done with sign-lH 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 notl5 use the Itanium IA-32 environment..H 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 traditionalGI Linux preference for having a Linux port available for/E most (all?) computer architectures known, and evenoC for certain high-end refrigerators and toasters,1D and similar appliance-like devices. (The downsideC of this all-encompassing approach: this requires C near-infinite engineering and support costs from F 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 costs G are huge, and the benefits derived from the work are F 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 provideSJ 2-15 r e& General InformationI a native port of HP OpenVMS for systems based on Intel G IA-32 processors, nor for systems based on AMD AMD64t@ nor Intel EM64T architectures and processors.B All this material having been written, have youE looked at the system configurations and pricing ofrI the available HP Integrity Intel Itanium systems? Low-eH end computer hardware is clearly a commodity product,F and the systems are priced, serviced, upgraded, andE replaced accordingly. Intel Itanium is a commodity G microprocessor presently used in platforms available G from various hardware vendors, including (obviously) J from HP. Further, Itanium is a microprocessor availableF from and supported by Intel, a semiconductor vendorC known for exceedingly high-volume microprocessor C fabrication process and production capabilities.3I For information on supported platforms and processors,_F please see the OpenVMS Software Product Description (SPD) at:9 o http://h18000.www1.hp.com/info/spd/nH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx. > Please see Section 14.4.5 for Intel Itanium terminology.aD __________________________________________________________A 2.11 Are there any network-accessible OpenVMS systems?mE Yes, though various restrictions can and do apply.e 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 an > account on Hobbes, please see the FAQ at4 o http://www.hobbesthevax.com// o OpenVMS Galaxy Test-DriveAF HP currently offers an OpenVMS Galaxy Test-DriveA system, based on an AlphaServer 4100 seriesi 2-16   & General InformationJ 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 I64H installation on an HP Integrity rx2600 server. ForG details on the DSPP program and on the test-drive_J systems, please see section Section 2.8.3 and please visit:4 o http://www.testdrive.hp.com// o http://www.hp.com/dspp/aE The test-drive systems do require registration,.; though access to the systems is free.l# o EncompasserveiG Encompasserve offers free access an OpenVMS Alphas system.y2 o telnet://eisner.decus.org/ o OpenECSdH OpenECS offers free access to a VAX 6000 model 530: system. If interested, please visit:1 o http://vax6k.openecs.org/d* 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.5 o telnet://deathrow.vistech.neti; o The Preatorian Public OpenVMS ClusteroJ The maintainers of the Deathrow Cluster offer accessE to an OpenVMS Alpha cluster. Details are at theo+ website listed below: 1 o http://www.preatorian.net J 2-17 i O& General InformationD __________________________________________________________2 2.12 What version of OpenVMS do I need?E For information on supported platforms, please seerI the OpenVMS Software Product Description (SPD) for the : particular OpenVMS version of interest.9 o http://h18000.www1.hp.com/info/spd/mH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.cI 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 websitehJ and (as available) the following (potentially volatile;' intra-website) link:.; o http://h71000.www7.hp.com/openvms/hw__' supportchart.htmlu? For information on the Multia, related Alpha> single-board computers, or other officiallyE unsupported systems, please see Section 14.4.1 and$ Section 14.4.2.1.F The following is a rule-of-thumb for Alpha platformE support. The table Table 2-5 contains the earliestF OpenVMS Alpha release with support for a particular3 series of Alpha microprocessors:IJ ________________________________________________________________8 Table 2-5 OpenVMS Alpha Version Rule-Of-ThumbJ _______________________________________________________4 MicroprocessorOpenVMSJ Generic_____Generation____Version_____General_Comments_E EV4 21064 V1.0 few systems;hI most EV4 require G later; upgrade B availableC EV5 21164 V6.2 subsequentpJ upgrade available 2-18   & General InformationJ ________________________________________________________________@ Table 2-5 (Cont.) OpenVMS Alpha Version Rule-Of-ThumbJ _______________________________________________________4 MicroprocessorOpenVMSJ Generic_____Generation____Version_____General_Comments_C EV56 21164A V6.2-1H3 subsequent_H upgrade to V7.1B and laterC EV6 21264 V7.1-2 subsequent J upgrade typicallyE to V7.2-1 orO> laterC EV67 21264A V7.1-2 subsequentAJ upgrade typicallyE to V7.2-1 ora> laterK EV68 21264B, C V7.2-1 believed/probable; E and D currently an D unconfirmedJ _______________________________________________expectation______? Specific hardware present and various system J configurations can require OpenVMS Alpha releases later6 than those referenced in Table 2-5.D __________________________________________________________2 2.13 How can I submit OpenVMS Freeware?G For the guidelines and submission info, please visit  the URL:a< o http://www.hp.com/go/openvms/freeware/C To order the current OpenVMS Freeware CD-ROM kiteH (shipping and handling charges apply), please request+ part number QA-6KZAA-H8.wJ 2-19 . p& General InformationD __________________________________________________________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._I This section covers generic porting, and porting among_G OpenVMS VAX OpenVMS Alpha, and OpenVMS I64. (Porting?C 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,oJ 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 assembler D code to the Macro32 compiler on OpenVMS Alpha, onH management differences, on upgrading privileged code,- and application migration:n7 o http://www.hp.com/go/openvms/doc/rH 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_s index.htmlI Details on porting VAX C to HP C are are available at: G o http://www.openvms.compaq.com/commercial/c/index_ vax.htmI> An OpenVMS Porting Library is available at:M o http://www.openvms.compaq.com/ebusiness/Technology.htmlH Information on the Enterprise Toolkit, a Visual-basedJ development environment for developing applications forG OpenVMS using a Microsoft platform, is available at:tE o http://www.openvms.compaq.com/commercial/et/et_Q index.html 2-20   & General InformationC 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/ F A wide variety of programming development tools andG middleware are available as commercial products (eg:nC DECset, IBM WebSphere MQ-formerly MQseries), andSF various tools are also available as shareware or asG Freeware. Please see other sections of this FAQ, ands please see:7 o http://www.hp.com/go/dspp_catalog D __________________________________________________________@ 2.15 What resources are available to OpenVMS software developers?oG 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: - o http://www.hp.com/dspp/pJ DSPP provides members with various benefits, please see+ the website for details.G For those not familiar with the DSPP program or with G its history, the DIGITAL Association of Software and F Application Partners (ASAP) program and the DIGITALF Independent Software Vendors Network (ISVN) programI were incorporated into the Compaq CSA program, and theiJ CSA program has subsequently been incorporated into the# HP DSPP program.pI Please see Section 2.8.3 for additional details on thes DSPP program.J 2-21  & General InformationD __________________________________________________________? 2.16 memory management, resource management, process scheduling, etc?I So you have been instructed to write a school researchAC paper on OpenVMS, and you need technical contentaF on the OpenVMS Virtual Memory System, on any memoryG segmentation, on OpenVMS Resource Management, on themF OpenVMS File System, on the OpenVMS user interface, etc.hE Invariably, your professor/instructor/teacher willSD 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)u0 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 managementt+ o History of HP OpenVMS C o History of Compaq and/or of Digital Equipment ' Corporation (DEC) E Any particular presentation or research paper, andeC particularly a scholastic presentation, can havelF many different potential target audiences, and veryD different presentation levels. Further, the usualE underlying reason for scholastic presentations andrG scholastic research projects really has little to donE 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 knowsoG most of (all of?) the information that you have been $ asked to collect. 2-22  & General InformationD For very technical details on OpenVMS and OpenVMSI internals, the book you want is the Internals and DataeE Structures Manual (IDSM), available in your school)H or computing center library, and the IDSM can also beG purchased. Additional technical details of the Alpha)I microprocessor are available in the Alpha ArchitecturefG Reference Manual documentation that is available forVG download. (Pointers to Alpha technical documentation A are available in Section 14.6, and elsewhere.) I For higher-level (less technical) details, the OpenVMS J 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.MH 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 performdI at least basic research on your own, regardless of thet topic.pD __________________________________________________________+ 2.17 Basic Units of Measurement?hH OpenVMS and the underlying hardware use various unitsJ of measurement for disk and memory storage, and relatedC abbreviations also typically exist. This sectionmC covers the most common units, and the associatedo! abbreviations.w' _____________________________ 5 2.17.1 How many bytes are in a disk block? C A disk block is the minimum unit of disk storage ) allocation in OpenVMS.pG Under OpenVMS VAX and OpenVMS Alpha, the disk volumeaG block size is consistent, with each block containinge 512 bytes. C 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 theJ 2-23 t p& General InformationG total number blocks on the disk volume and the totalD size of the volume storage bitmap. The allocationE granularity is known as the volume cluster factor-oG the cluster factor is the number of blocks in a diskvH 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 ofaG the bitmap requires larger cluster factors as volumesH sizes increase. Starting with V7.2, the bitmap can beH larger, and cluster factors as small as one block can be used.rE The number of bytes in a file can be determined bysJ multiplying the number of blocks allocated for the fileG times the number of bytes in a block. For sequentialsG files (only), the FFB (XAB$W_FFB, in the File Header E XAB) value can be used to find out how much of the B 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 is" 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 ofnE one up to volumes of approximately 137 gigabytes.) A OpenVMS assumes that the device driver and theeI underlying storage device will present the file systemaJ 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 file G from DCL, one option uses the f$file_attributes item I EOF, multiplied by the size of a block in bytes (512). I This does not account for the unused space in the lastrH block of a sequential file, but it also does not haveF to differentiate sequential files from other files. 2-24   & General Information' _____________________________a6 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 size G matches the disk block size: it is always 512 bytes.gH 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 be H determined using the sys$getsyi or f$getsyi PAGE_SIZEI item. Programs with hardcoded constants for the memory G page size (or page alignment) should always assume a - page size of 64 kilobytes.eI 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).mI As with OpenVMS Alpha, sys$getsyi and f$getsyi and thenI PAGE_SIZE itemcode can and should be used to determineeH 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 memoryn; page-is often refered to as a "pagelet". ' _____________________________i@ 2.17.3 How do I convert? Disk Blocks? KB, MB, GB, TB?I The smallest granularity of disk storage addressing isaJ called a disk block, or sometimes a disk sector. GroupsE of disk blocks are usually organized together into_F the smallest unit of storage that can be allocated,E and this unit is called a disk cluster. The numberVG of blocks in a cluster is the cluster factor, and isiC 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 istI comprised of eight bits. A bit represents the smallestyJ unit of information, typically refered to as a one or a zero.J 2-25  & General InformationC OpenVMS tends to uses base two notation for disk3F storage, while disk storage capacity specificationsH from most storage vendors will generally use base ten notation.F 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.v? Base Ten Base Two P -------------------------------- -------------------------P Kilobyte (KB) 10**3 1000 2**10 1024P Megabyte (MB) 10**6 1000000 2**20 1048576P Gigabyte (GB) 10**9 1000000000 2**30 1073741824P Terabyte (TB) 10**12 1000000000000 2**40 1099511627776P Petabyte (PB) 10**15 1000000000000000 2**50 1125899906842624P Exabyte (EB) 10**18 1000000000000000000 2**60 1152921504606846976D 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 oreE hexadecimal, respectively) value, the value is far6D nicer. Specifically, the value is 10000000000 andF 40000000 when represented in octal and hexadecimal, respectively.5 FAQ Notation E Within the OpenVMS FAQ, a thousand bits (either E assuming base two or base ten, as determined by E the context) is refered to as a kilobit, and is F 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). 2-26o c i& General InformationI To convert OpenVMS disk blocks to (base two) kilobytes E (KB; 1024 bytes), simply divide by two. To convertaI blocks to (base two) megabytes, divide by 2048. BlocksiC to (base two) gigabytes (GB), divide by 2097152.oI These particular divisions can also be performed usingyH bitshifts: to divide a value by two, shift the binary7 value rightward by one bit position.tJ To convert OpenVMS disk blocks to (base ten) kilobytes,4 divide by approximately 1.953125.G For those folks with an interest in odd applications F for prefixes, and particularly for those folks alsoE rummaging around deep within the OpenVMS operatingoH system, a microfortnight is approximately one second.J 2-27 d sJ _______________________________________________________ 3 DocumentationD __________________________________________________________A 3.1 Where can I find online copies of OpenVMS manuals?oI The HP OpenVMS and HP Layered Product documentation isI( copyrighted material.E HTML format on-line product documentation sets for G specific HP OpenVMS products are presently available  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.)II ConOLD manuals are readable with BNU, a viewer that islH supplied with the documentation distribution. BNU canG display HTML, Bookreader, and documentation in other7 formats.sG 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 PDF E viewer, though this viewer is generally considered E to be both slower and more resource-intensive when / compared to the XPDF viewer.aJ 3-1  DocumentationD __________________________________________________________B 3.2 What online information and websites are available?G On your OpenVMS system, the HELP command can providelD a wealth of information, not only on DCL commandsD but on system services (HELP System_Services) andE Run-Time Library routines (HELP RTL_Routines). ThewH introduction displayed when you type the HELP commandI with no additional keywords provides further pointers.s9 OpenVMS Marketing runs a web server ate0 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 WebsiteseJ ________________________________________________________________J URL_______Sponsor_______________________________________________ HP OpenVMS Marketing1 http://www.hp.com/go/openvms/r Encompass DFWCUG3 http://www.openvmshobbyist.org// Arne Vajhøj 0 http://www.levitte.org/~ava/ Saiga Systemsh) http://www.saiga.com/  Wayne Sewell- http://www.tachysoft.com/  proGIS Software 4 http://www.progis.de/openvms.htm Jeff Cameron0 http://www.jcameron.com/vms/B David Mathog's (quite useful) information about OpenVMS.< http://saf.bio.caltech.edu/soft_doc.html Cracking 3-2  DocumentationJ ________________________________________________________________- Table 3-1 (Cont.) OpenVMS WebsitesaJ ________________________________________________________________J URL_______Sponsor_______________________________________________ "The Beave"nF Includes system cracking information that can be of interestI to OpenVMS System Managers, and to OpenVMS Network and SecuritySJ Managers. This information is available at the Deathrow cluster.B http://manson.vistech.net/ht_root/Hack-VMS-faq Undocumented Features  DECUS Deutschland H http://zinser.no-ip.info/www/eng/vms/qaa/undoc.htmlx Arne Vajhøjn= http://www.levitte.org/~ava/vms_tip.htmlx H The OpenVMS Freeware contains various examples of undocumented! features and interfacesi: http://www.hp.com/go/openvms/freeware/G Comparisons of UNIX and Linux shell commands and DCL Commands G http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.htmleC http://wwwvms.mppmu.mpg.de/vmsdoc/UNIX_VMS_CMD_m XREF.HTML ? Comparisons of emacs and OpenVMS text editor commands H http://www.unh.edu/cis/docs/vms-to-unix/Emacs/cheat- sheet.html Bibliographies? http://www.openvms.org/pages.php?page=Bookso> http://www.levitte.org/~ava/vms_book.htmlx IntroductoryI Please see Table 3-2 for listings of introductory web 0 sites and related materials. Programming $ An OpenVMS Programming FAQ@ http://www.pdv-systeme.de/users/martinv/VMS_( Programming_FAQ.html NetworkingJ 3-3 3 x DocumentationJ ________________________________________________________________- Table 3-1 (Cont.) OpenVMS Websites_J ________________________________________________________________J URL_______Sponsor_______________________________________________I Tutorial information and tips for connecting OpenVMS systems to0 the Internet3 http://www.tmesis.com/internet/nF Documentation and Specifications for DECnet Phase IV, DECnet: task-to-task DCL examples, and a whole lot more.8 http://www.hp.com/go/openvms/wizard/" HP OpenVMS DocumentationJ Please see Table 3-2 for listings of documentation web0 sites and related materials. System Performance% See Section 14.2.  Patch (ECO) KitsB For the HP Services FTP server hosting VariousG contract-access and non-contract access ECO (patch)e3 kits, see section Section 5.17.t Catalogs and Pricing7 HP Product QuickSpecs and product information 9 http://www.hp.com/go/productbulletin/h: The HP Systems and Options Catalog (SOC) archive3 http://www.compaq.com/products/ = quickspecs/soc_archives/SOC_Archives.html ( Hardware and Software ArchivesE The VAXarchive, including hardware and software information 8 http://vax.sevensages.org/index.html& A VAX to Alpha upgrade diaryJ http://www3.sympatico.ca/n.rieck/docs/alpha_diary.html= Scanned versions of old DIGITAL manuals from DFWCUG > http://www.montagar.com/~patj/dec/hcps.htmE A wide variety of HP VAX, Alpha, platform and other product ; documentation. Some introductory, some technical.vI http://www.compaq.com/support/techpubs/qrg/index.html  3-4 e e DocumentationJ ________________________________________________________________- Table 3-1 (Cont.) OpenVMS Websites J ________________________________________________________________J URL_______Sponsor_______________________________________________% dtrwiz's Datatrieve website J __________http://dtrwiz.home.netcom.com/________________________D __________________________________________________________F 3.3 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:eE $ HELP/OUT=filename.txt help-topic [help-subtopic] C If the help text you want is not in the standardiE help library (for example, it's help for a utility_C such as MAIL that has its own help library), add C /LIBRARY=libname after the HELP verb. To see the A names of help library files, do a directory of " SYS$HELP:*.HLB.D __________________________________________________________= 3.4 Does OpenVMS Marketing have an e-mail address?SB Yes - if you can't get the answers to marketingJ questions elsewhere, if you have comments or complaintsJ about OpenVMS, send mail to openvms-info{atsign}hp.com.G This address is not a support channel, and is solelyhE intended to provide informal method to communicatet> directly with members of OpenVMS Marketing.D __________________________________________________________C 3.5 Where can I learn about OpenVMS executive internals? B The OpenVMS Internals and Data Structure manualC (IDSM) explains how the OpenVMS executive works.1G The book covers the operating system kernel: processeH management; memory management; the I/O subsystem; andE the mechanisms that transfer control to, from, andVI among these. It gives an overview of a particular areafF of the system, followed by descriptions of the dataJ structures related to that area and details of the code, that implements the area.J 3-5 o c DocumentationH 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 itc implies._D The internals books are available through Digital) Press, see Section 3.6 D __________________________________________________________B 3.6 Where can new users find tutorial information about OpenVMS?VH 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-specificbJ things that are difficult or impossible for the general2 OpenVMS documentation to cover.' _____________________________ # 3.6.1 Tutorial Websites? @ Various websites with OpenVMS information areE available; Table 3-2 contains some suggested URLs. J ________________________________________________________________@ Table 3-2 OpenVMS Tutorial and Documentation WebsitesJ _______________________________________________________J URL_______Sponsor______________________________________ Introductoryt< http://www.levitte.org/~ava/vms_faq.htmlx< http://saf.bio.caltech.edu/vms_sheet.html 3-6 ? DocumentationJ ________________________________________________________________H Table 3-2 (Cont.) OpenVMS Tutorial and Documentation WebsitesJ _______________________________________________________J URL_______Sponsor______________________________________C http://seqaxp.bio.caltech.edu/www/vms_beginners_  faq.html; Various introductory materials_9 http://www.montagar.com/openvms_class/ E Members of the Encompass DFWCUG maintaingE a website with many materials available,nA including an Overview of OpenVMS, an D Introduction to DCL and the TPU Editor,E Advanced DCL Command Procedures, OpenVMS ? Operations: Batch, Print, Tape, an C Introduction to OpenVMS Management, to@ OpenVMS User Management, to OpenVMSG Network Management, and to OpenVMS ClusterhF Management. These training materials haveF been presented at various DECUS symposia.F http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.htmlH A comparison table of various command-levelJ tasks, with information on the UNIX and LinuxE shell command(s), and on the OpenVMS DCLO( command(s).+ HP OpenVMS Documentation,4 http://www.hp.com/go/openvms/doc/H Various introductory guides as well as moreJ advanced manuals are available in the OpenVMSC and layered product documentation set. & HP OpenVMS Training; http://www.compaq.com/training/home.htmlc? http://www.openvms.compaq.com/wbt/index.htmliI HP offers training information and TechnicaltH Resource Kits (TRKs) and other Training forH OpenVMS. An OpenVMS certification (testing)7 program is also available.s/ http://www.jcameron.com/vms/aJ 3-7 v n DocumentationJ ________________________________________________________________H Table 3-2 (Cont.) OpenVMS Tutorial and Documentation WebsitesJ _______________________________________________________J URL_______Sponsor______________________________________, An OpenVMS Quiz+ http://www.CCSScorp.com/ B CCSS Interactive Learning has OpenVMS/ training materialss+ http://www.acersoft.com/dG AcerSoft Training information, and Shannonv+ Knows Punditryw) http://www.mindiq.com/n8 MindIQ training information, http://www.quadratrix.be/G Quadratrix; OpenVMS training, products and G services; affiliated with Global Knowledge J ___________________and_KeyJob___________________________________' ______________________________% 3.6.2 Books and Tutorials?aF Some of the OpenVMS books that are now or that haveI been available from the Elsevier Digital Press imprint 7 o http://www.digitalpressbooks.com/ + are listed in Table 3-3:eJ ________________________________________________________________ Table 3-3 DP BookspJ ________________________________________________________________J Title_and_Author_____________________ISBN_______________________< Getting Started with OpenVMS 1-55558-279-6 Michael D. Duffy< Getting Started with OpenVMS System 1-55558-243-5! Management, 2nd EditionL$ David Donald Miller, et al 3-8 o m DocumentationJ ________________________________________________________________% Table 3-3 (Cont.) DP Books J ________________________________________________________________J Title_and_Author_____________________ISBN_______________________< Introduction to OpenVMS, 5th 1-55558-194-3 Edition  Lesley Ogilvie Ricea< Introduction to OpenVMS 1-878956-61-2 David W Bynon < OpenVMS Alpha Internals: Scheduling 1-55558-156-0 and Process Control < OpenVMS AXP Internals and Data 1-55558-120-X! Structures: Version 1.5o< OpenVMS System Management Guide 1-55558-143-9 Baldwin, et al< The OpenVMS User's Guide, Second 1-55558-203-6 Editiong Patrick Holmay< Using DECwindows Motif for OpenVMS 1-55558-114-5 Margie Sherlock < VAX/VMS Internals and Data 1-55558-059-9! Structures: Version 5.2s< Writing Real Programs in DCL, 1-55558-191-9 Second Edition% Hoffman and Anagnostopoulos < Writing OpenVMS Alpha Device 1-55558-133-1 Drivers in CJ Sherlock_and_Szubowicz__________________________________________F Within the above table, no attempt is made to trackG which books are currently in print, or are currently out of print.J For various featured OpenVMS books, also please see the5 books link at the OpenVMS website:p2 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 __________________________________________________________C 3.7 What OpenVMS mailing lists and forums are available?sI Various OpenVMS mailing lists are available, with some G of the available lists detailed in Table 3-4, as aree> the various discussion forums in Table 3-5.J ________________________________________________________________* Table 3-4 OpenVMS Mailing ListsJ ________________________________________________________________J Subscription____________________Interest_Area___________________> OpenVMS Freeware archive FSupdate@goatley.comI announcement list FSupdate-request@goatley.com[1] F Two-way echo of VMSnet-Internals@goatley.com; vmsnet.internals VMSnet-Internals- @ request@goatley.com[1]? OpenVMS Alpha Internals Alpha-IDS@goatley.comcJ discussions Alpha-IDS-request@goatley.com[1]? BLISS discussions BLISSters@goatley.com J BLISSters-request@goatley.com[1]C Process Software MultiNet Info-MultiNet@process.com 8 mailing list (news gateway) Info-MultiNet-@ request@process.com[1]B Process Software TCPware Info-TCPware@process.com7 mailing list (news gateway) Info-TCPware- @ request@process.com[1]? Process Software PMDF mailing Info-PMDF@process.com J list (news gateway) Info-PMDF-request@process.com[1]F The Software Resources CHARON-VAX-Users@process.com; International (SRI) CHARON-VAX CHARON-VAX-Users- @ VAX emulator package request@process.com[1]J ________________________________________________________________H [1]This is the subscription address. Usually, you will want toF send a mail message with no subject line, and a SUBSCRIBE or7 HELP command in the body of the mail message.r 3-10   DocumentationJ ________________________________________________________________2 Table 3-4 (Cont.) OpenVMS Mailing ListsJ ________________________________________________________________J Subscription____________________Interest_Area___________________: Info-Zip's Zip & UnZip Info-Zip@wku.eduE discussion list Info-Zip-Request@wku.edu[1] < RADIUS-VMS, a RADIUS server radius-vms@dls.netG for OpenVMS discussion forum radius-vms-request@dls.net[1]o: Internet Service Providers vms-isps@dls.netE (ISPs) running OpenVMS vms-isps-request@dls.net[1]sA Users of Mark Daniel's WASD http://wasd.vsm.com.au/s$ web server for OpenVMS VAX' and Alpha exists. Information $ about this list server and( details on how to subscribe to' the list are available at the  referenced website.oU VMS Forum http://www.neurophys.wisc.edu/comp/ava/vms_h5 forum.htmlxsJ ________________________________________________________________H [1]This is the subscription address. Usually, you will want toF send a mail message with no subject line, and a SUBSCRIBE or7 HELP command in the body of the mail message.MJ ________________________________________________________________H Various OpenVMS discussion forums are available, withE some of the available lists detailed in Table 3-5.uJ ________________________________________________________________. Table 3-5 OpenVMS Discussion ForumsJ ________________________________________________________________J DescriptioForum_Location________________________________________# The comp.os.vms newsgroup($ news:comp.os.vms HP ITRC ForumsW http://forums.itrc.hp.com/service/forums/familyhome.do?familyId=288c6 Hunter Goatley: The HG OpenVMS Message BoardD http://www.goatley.com/scripts/vmsboard/view.com- Computing.Net: OpenVMS Message Area J 3-11  t DocumentationJ ________________________________________________________________6 Table 3-5 (Cont.) OpenVMS Discussion ForumsJ ________________________________________________________________J DescriptioForum_Location________________________________________K http://www.computing.net/openvms/wwwboard/wwwboard.htmls2 Tek-Tips: DEC (HP/Compaq): OpenVMS Forum# http://www.tek-eE tips.com/gthreadminder.cfm/lev2/3/lev3/19/pid/951h OpenVMS.Org forums+ http://www.openvms.org/e$ OpenVMSHobbyist.Org forums3 http://www.openvmshobbyist.org/ 6 Encompasserve (DECUSserve) Notes ConferencesJ __________telnet://www.encompasserve.org/_______________________D __________________________________________________________D 3.8 What is this Ask The Wizard website I've heard about?E The HP OpenVMS Ask The Wizard (ATW) website was anFI informal area discussing OpenVMS, containing questionsi; and answers on a wide variety of topics. H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available_F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.sI To access a cited topic directly, use the URL filenamenI WIZ_topic-number.HTML, or use the topic search engine. D Cited topics are shown in parentheses, and act asG unique topic addresses. These should not be confused E with the relative topic numbers shown at the site.oI For example, the topic (1020) can be accessed directlyeH using the URL filename wiz_1020.html, at the web site8 that the following URL resolves into:: o http://www.hp.com/go/openvms/wizard/ 3-12o e u DocumentationE A zip archive (named wizard.zip) containing all ofpG the available topics and questions can be downloadeddD from the above URL. The wizard.zip zip archive isH completely regenerated when/if existing topics postedE out to the ATW website are updated. Copies of thislD wizard.zip archive also generally ship out on the- OpenVMS Freeware, as well.I New (informal) questions and discussions are now being_H directed away from the ATW area to the ITRC area, and> specifically to the ITRC discussion forums:- o http://www.itrc.hp.com/ D __________________________________________________________F 3.9 Where can I find the latest C run-time library manuals?G The C run-time library (RTL) reference documentation G has been moved from the C language documentation set H to the OpenVMS documentation set. For the most recentE version of the C RTL documentation and the OpenVMS F 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 triggered I when this library is referenced during an incorrectly-F 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/ J 3-13 e sJ _______________________________________________________' 4 Time and TimekeepinghC This chapter discusses time, timekeeping, system D time synchronization, clock skew and clock drift,I implications of using SUBMIT/AFTER=TOMORROW, and other ' time-related topics.D __________________________________________________________> 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 tracking6J 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 is J 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 wouldSH 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 18e$ bits of one word.I Eighteen bits allows the truncated Julian Day (the SAO G day) to grow as large as 262143, which from November H 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 the F possibility of representing negative time. The 1858I date preceded the oldest star catalogue in use at SAO,tH which also avoided having to use negative time in any: of the satellite tracking calculations.J 4-1  ' Time and TimekeepingvJ 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 isTG different from the Julian calendar that is named for 5 the Roman Emperor Julius Caesar!). E Why 4713 BC? Scaliger traced three time cycles and F 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 from . 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 start_G of the world as 3761 B.C. Today his numbering schemeeI is still used by astronomers to avoid the difficulties I of converting the months of different calendars in useg) during different eras.o+ 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/oA o http://www.tondering.dk/claus/calendar.html)L o http://es.rice.edu/ES/humsoc/Galileo/Things/gregorian_# calendar.html 0 o http://www.timeanddate.comI are all good time-related resources, with some generalt0 and some specific to OpenVMS. 4-2 k d' Time and Timekeepingi' _____________________________< 4.1.1__Details_of_the_OpenVMS system time-keeping?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 onlyhJ 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.J The VAX Time-Of-Year (TOY) clock (used to save the timeI over a reboot or power failure) is specified as havingDH an accuracy of 0.0025%. This is a drift of roughly 65% seconds per month.iJ The VAX Interval Time is used to keep the running time,G and this has a specified accuracy of .01%. This is ai? drift of approximately 8.64 seconds per day.yF Any high-IPL activity can interfere with the IPL 22E or IPL 24 (this depends on the VAX implementation) G clock interrupts-activities such as extensive devicetG driver interrupts or memory errors are known to slowM the clock.' _____________________________n# 4.1.1.1.2 EXE$GQ_SYSTIMEwF This is the OpenVMS VAX system time cell. This cellG contains the number of 100ns intervals since a knownwF 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 timeoE was last adjusted by EXE$SETTIME. It uses the sameSH 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.J 4-3  p' Time and Timekeeping ' _____________________________e 4.1.1.1.4 EXE$GL_TODRG This cell contains the time and date the system timehE was last adjusted by EXE$SETTIME. It uses the sametI format as the time of year clock. On adjustment of the G system time this cell gets saved back to both memory G and disk. The contents of this cell are used to test 1 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 validrH 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.qG o IF the TOY clock is within a day of EXE$GL_TODR F THEN the system time is calculated as follows: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 = 0dI THEN the time of year is the value of EXE$GL_TODRi + 10ms. - o IF TIMEPROMPTWAIT < 0 4 to proceed until they do so.G o THEN the user is prompted for the time and date " 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. 4-4  ' Time and Timekeeping G If either TIMEPROMPTWAIT or SETTIME are set to zero, E OpenVMS VAX will use the TOY clock to get the timeA of year, and the year will be fetched from the_D distribution medium. The value of the year on theG distribution medium (saved within the SYS.EXE image) I will most likely be that of when the kit was mastered, I and cannot be changed. Unless the current year happens H 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 theaE current year, there is a possibility that the daten0 could be incorrect, as well.)' _____________________________9 4.1.1.2__Alpha_hardware_time-keeping details... 9 4.1.1.2.1 Battery-Backed Watch (BB_WATCH) ChipvF 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.uF 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 tofG the value stored in the BB_WATCH. The running system.F time is written into the BB_WATCH when the SET TIME6 command is issued with a parameter.I The specification for maximum clock drift in the Alpha E hardware clock is 50 parts per million (ppm), thatvF is less than ±0.000050 seconds of drift per second,E less than ±0.000050 days of drift per day, or less/G than ±0.000050 years of drift per year, etc. (eg: An4J error of one second over a day-long interval is roughlyG 11ppm, or 1000000/(24*60*60).) Put another way, thislH is .005%, which is around 130 seconds per month or 26$ minutes per year.J The software-maintained system time can drift more thanH this, primarily due to other system activity. TypicalH causes of drift include extensive high-IPL code (softJ memory errors, heavy activity at device IPLs, etc) thatJ 4-5 T x' Time and Timekeeping H are causing the processing of the clock interrupts to be blocked.' _____________________________ # 4.1.1.2.2 EXE$GQ_SYSTIME H 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.T) 4.1.1.2.3 EXE$GQ_SAVED_HWCLOCKlJ 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, everye5 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 too* set the system time.- o IF TIMEPROMPTWAIT > 0G THEN the value of TIMEPROMPTWAIT determines how C 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. - o IF TIMEPROMPTWAIT = 0 C THEN the system time is calculated from theo= contents of EXE$GQ_SAVED_HWCLOCK + 1.v- o IF TIMEPROMPTWAIT < 0oG THEN the user is prompted for the time and daterG and unable to continue until the information ist 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.)d 4-6  ' Time and TimekeepingeF IA-64 (Itanium) hardware time-keeping details to be added...h' _____________________________E 4.1.1.3 Why does VAX need a SET TIME at least once a year?_I Because the VAX Time Of Year (TOY) has a resolution of I 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 OpenVMSJ VAX system, booting the standalone BACKUP image, an ECO/ that replaces SYS.EXE, etc).-C 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 (ifrG necessary) also updates the portion of the time (theeC current year) saved in the SYS.EXE system image._C This VAX TOY limit is the reason why OpenVMS VAXoE 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"G if a different SYS$SYSTEM:SYS.EXE is used (alternate_8 system disk, standalone BACKUP, etc).' _____________________________t; 4.1.2 How does OpenVMS VAX maintain system time?_I VAX systems maintain an interval clock, and a hardware_ 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").J 4-7 i i' Time and TimekeepingyH The TOY clock-as used-stores time relative to JanuaryI first of the current year, starting at at 00:00:00.00.oJ 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 dateE 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 datelI that is stored and retrieved from the system image, toiH 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 system G does not typically reference the TOY again, unless a H 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 drivernJ 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 have slowed down.)F When SET TIME is issued with no parameters, the TOYE clock is loaded into the system clock; the runningmD system clock is set to the time stored in the TOYE clock. This assumes the TOY clock is more accurate B than the system clock, as is normally the case.B 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 are_J quite commonly caused by a failed nickel-cadmium (NiCd)B or lithium battery, or by a failed Dallas chip. 4-8  ' Time and TimekeepinggD __________________________________________________________< 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 availablefH time-base servers on the Internet, then you could useI dial-up access to NIST or other authoritative site, or_I you can use a direct connection to a local authorativeO clock.rF There exists code around that processes the digitalC (ie: binary) format time that is available via amI modem call into the NIST clock (the Automated Computer_I Telephone Service (ACTS) service), and code that grabsDJ 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, or9 similar.yC Processing the serial or hardware time protocols I often involves little more than reading from an EIA232 H (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 atrG least one OpenVMS Freeware package. (See Section 4.3n9 for a few potential hardware options.)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 thetC current time in hours, minutes, seconds and daysE since the start of the current year. IRIG can alsonI contain the time of day as the number of seconds sinceMF midnight. HP Custom Systems and third-party vendorsE have variously offered IRIG-based reader/generator8/ modules for OpenVMS systems.AC One of the easiest approaches is a network-based F GPS or other similar receiver. Basically, this is aF network server box that provides an NTP server withG the necessary hardware for external synchronization. B In addition to the antenna and the receiver andJ 4-9 m ' Time and TimekeepingtI 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 configuration/F steps and no host software beyond NTP are required.J (See Section 4.3 for a few potential hardware options.)J Differing time servers (DECnet-Plus DTSS, DCE DTS, NTP,I etc) do not coexist particularly well, particularly ifeF 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 managementG 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 commentsn6 in the module DTSS$NTP_PROVIDER.C.)I Unlike DECnet-Plus, TCP/IP Services NTP is not capablecF of connecting to a time-base other than the networkG time base or the local system clock. Third-party andtD 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.htm ; o http://www.boulder.nist.gov/timefreq/* o http://www.time.gov/ 4-10t e g' Time and Timekeeping]D __________________________________________________________+ 4.3 External time-base hardware?RG Here are a few possibilities for providers of a GPS-oG based receiver with an embedded NTP server, strictly_F culled from the first few pages of a Google search.I Availability, pricing, OpenVMS compatibility and otherR) factors are not known.o0 o http://www.galleon.eu.com/5 o http://www.meinberg.de/english/ 1 o http://www.ntp-servers.com/_H For a direct-connected (local, non-IP, non-NTP) link,C there are serial options available. Google finds_F Spectracom Corporation has a NetClock that could beJ used here, based on a quick look-I do not know if thereG is OpenVMS host software, but that would be possible E to write for the ASCII data stream that the devicepF supports. (Such coding requires knowledge of serialH I/O, character processing, and knowledge of the clockH drift API mechanisms in OpenVMS-there exists FreewareH tools that could be used to learn how to tie into the9 clock drifting mechanisms of OpenVMS.)b4 o http://www.spectracomcorp.com/( http://www.spectracomcorp.com/I Information on, and experiences or recommendations for H or against these or other similar devices is welcome.' _____________________________ : 4.3.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 managementI 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 maximum J 4-11  h' Time and TimekeepingsH 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 inO- Section 4.2 and elsewhere. ' _____________________________ 7 4.3.2 Why does my OpenVMS system time drift?nE 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 clockd drift.5G When clock interrupts are blocked as a result of thesE activity of high-IPL code-such as extensive drivertJ 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 common G cause of system time loss, in other words. Heavy PCIw8 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 SynergyiF 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 haver: the current GRAPHICS ECO kit installed.G Clock drift can also be (deliberately) caused by thed8 activity of the DTSS or NTP packages.A Also see Section 4.1.1.2.1, Section 4.1.1, andd! Section 4.3.4.  4-12T  u' Time and Timekeepingt' _____________________________9 4.3.3 Resetting the system time into the past? G You can resynchronize system time using DCL commandshC such as SET TIME and SET TIME/CLUSTER, but theseeD 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,lF applications that assume time values will always beA unique and ascending values, and applications.rG 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 clock F events. (There is an ECO to repair problems seen inI the DECnet-Plus support for generating TDF events from I DTSS, and this applies to V7.3 (expected to be in ECO4 G and later) V7.3-1 (expected to be in ECO3 and later) G 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.3.4 and Section 4.3.1.e' _____________________________o9 4.3.4 How can I drift the OpenVMS system time?gG With DECdts and TCP/IP Services NTP, the system timePI value is "drifted" (rather than changed), to avoid theiH obvious problems that would arise with "negative timeG changes". The same basic clock drifting technique is I used by most (all?) time servers operating on OpenVMS, I typically using the support for this provided directly_" within OpenVMS.J 4-13 T ' Time and Timekeeping D An example of the technique used (on OpenVMS VAX)G to drift the system time is the SETCLOCK tool on the $ 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.gG 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 theD switch between DST and standard time. (Do look atE either not switching to daylight time, or (better) J using UTC as your time-base, if this change-over is not2 feasible for your environment.)7 See Section 4.3.4 and Section 4.3.3.K' _____________________________ B 4.3.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 systemsc* are NTP clients, but...D NTP has a heirarchy of layers, called strata. TheI further away from the actual NTP time source (InternetlG time servers are at stratum 1), the lower the stratasC (and the larger the number assigned the statum).aH 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 somen; locally-accessible external time source.dE 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 anydI 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.f 4-14J u a' Time and Timekeeping J 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 similar I time-related peripheral), you can configure NTP to use.F 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:s% server 127.127.1.0e. fudge 127.127.1.0 stratum 8G The difference between these two is the stratum, and.J 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 alldH 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 NTPiG client to an NTP server (on TCP/IP Services versions @ prior to V5.0), add the following line to the; sys$specific:[ucx$ntp]ucx$ntp.conf file:t! master-clock 1eG Also, for TCP/IP Services prior to V5.0, see the NTP ! template file: 9 SYS$SPECIFIC:[UCX$NTP]UCX$NTP.TEMPLATE.J 4-15  e' Time and TimekeepingeG Note that NTP does not provide for a Daylight Saving F Time (DST) switch-over, that switch must arise fromI the timezone rules on the local system and/or from the E SYS$EXAMPLES:DAYLIGHT_SAVINGS procedure. (Further, A there is a known bug in SYS$EXAMPLES:DAYLIGHT_oG SAVINGS.COM in V7.3, please obtain the available ECO  kit.)B For current TCP/IP Services and related OpenVMS- documentation, please see:u7 o http://www.hp.com/go/openvms/doc/ D __________________________________________________________H 4.4 Managing Timezones, Timekeeping, UTC, and Daylight Saving Time?> 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 BOTHaD option. This configures the OpenVMS TDF settings,E though it may or may not configure the TDF and the B 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  use J o SYS$MANAGER:UTC$TIMEZONE_SETUP.COM ! do not directly use 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 configurationm of the TDF. 4-16l e e' Time and TimekeepingTF DECnet-Plus in V7.3 and later uses the OpenVMS TDF,G UTC, and timezone support, and displays its timezone I prompts using UTC$TIME_SETUP.COM. Earlier versions use H 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 beeH 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 TDFXI mechanisms when the C code is compiled on OpenVMS V7.0cF 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 preprocessort: declaration _VMS_V6_SOURCE is declared.C DCE DTS TDF management details to be determined. 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 VAXtG V6.0 and later, SYS$SYSTEM:SYS$TIMEZONE.DAT containsnF 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.tE During OpenVMS Bootstrap, the SYSINIT module readsmE SYS$TIMEZONE.DAT to acquire the TDF for use in the H 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.EXEH 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 the C settings do not match (due to inconsistencies inaC timezone specification in UTC$TIME_SETUP.COM and J NET$CONFIGURE.COM), DTSS will reset the values to match$ its definitions.)J 4-17  ' Time and TimekeepingcD Prior to OpenVMS V7.3, daylight saving time (DST)H switchover is handled automatically only when DCE DTSI or DECnet-Plus DTSS is in use. In V7.3, OpenVMS can beuF configured to automatically switch over to daylightD time, and also generates an event that interestedI applications can use to detect the switch-over between3 standard time and daylight time.mB The manual switchover between daylight time andB standard time is correctly accomplished via theF SYS$EXAMPLES:DAYLIGHT_SAVINGS.COM command procedure procedure. 1 NotehD NTP (alone) does NOT provide automatic switch- over.s1 Note A The DST switch-over does NOT drift the time ? value; the switch-over applies the entire4G difference as a unit, as is standard and expectedh@ practice. (Do look at either not switching@ to daylight time, or (better) using UTC as@ your time-base, if this one-hour change isA not feasible within your environment.) (FornE information associated with drifting the systenc6 time, please see Section 4.3.4.)F If you switch the TDF or DST setting, you will alsoD want to restart or reconfigure any time-sensitiveF applications (those not using the time differentialB factor (TDF) change event available in V7.3 andE later). Examples of these applications can include F the need to restart the NFS client and NTP. (In theI case of NTP, will want to try to "drift" the time (seeeI Section 4.2 and see Section 4.3.4), and will find thatrJ the DST switch-over will exceed the NTP-defined maximumH threshold allowed for drifting. Hence the NTP restart* is presently required.) 4-18d  n' Time and Timekeepingl' _____________________________tF 4.4.1 Creating, Updating and Managing Timezone Definitions?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 thee6 C library and various applications.H This can be incompatible with a system or applicationG that requires manual modifications to the DST or TDF C settings, or that requires a local or customized A timezone definition. For such a site to ensure D the timekeeping is correct, the site must provideF procedure that sets the local time and the TDF when7 the SYS$TIMEZONE_RULE says to do it. I If a site requires a non-standard time switch-over, asoH in coordinating with a shift change or due to changesD in the local or regional timezone rules, the siteG will need to use the zic compiler to create a custom ! timezone rule.aF 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 is H 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.J For information on zic and related tools used to manageE the OpenVMS Timezone database, please see the HP CI Run-time Library Utilities Reference Manual-though theF 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).% documentation set. @ For related information, see Section 4.4.1.1.J 4-19 t a' Time and Timekeepingd' _____________________________uG 4.4.1.1 Customizing or Updating your TDF (Timezone) Setting?I Individual, local, and regional differences on the useI (or the lack of use) of Daylight Saving Time (DST) areSH quite common, as are occasional regulatory changes toH the particular applicable regional DST settings. (eg:F The United States Government is expecting to changeF its DST rules starting in March of 2007; please see0 Section 4.4.1.2 for details.)H DST-related ECO kits are now available for various ofJ the supported releases, please see the ECO FTP site for details.dC If you need or wish to add, modify or remove DST H rules for your area, or otherwise alter the rules forG your local area, you will probably end up creating anI variation to an existing timezone rule, or potentially B simply downloading a new set of DST rules. ThisE requirement can arise, for instance, if your local)I region changes its timezone rules, or if you are using G an OpenVMS release that does not have an ECO kit fort/ the US DST rules available.)_D The necessary zone line to add for support of theH hypothetical new WhereEverLand timezone will probably, look something like this:R # Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]L Zone WhereEver 2:00 - WhereEverF The OpenVMS source files for the timezone rules are stored here: ; SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES]eF You'll then want to use the zic compiler to compileH your own new timezone definition, or to compile a newE set of timezone definitions that have been freshlyc6 downloaded from a published source.@ The zic compiler is documented in the OpenVMSG Documentation Set, and specifically in the HP C Run-aF Time Library Reference Manual. (Despite the name ofG this manual, it is part of the OpenVMS documentationt1 set and not of the C manuals.)  4-20e m ,' Time and TimekeepingoD Once you have created and compiled a new timezoneI rule (or have downloaded and have compiled a whole new H set of timezone rules), use the SYS$MANAGER:UTC$TIME_I SETUP.COM to select the new timezone if necessary-withSH V7.3 and later, this tool will automically notice theG new timezone and will offer it, on earlier releases,eJ you may/will have to hack the code of the tool somewhatG to allow it to present the new timezone rule. (If anvG existing timezone rule is simply changing, you don'tr0 need this re-selection step.)1 NotelA As mentioned in Section 4.4.2, please don'thF modify or redefine the TZ logical name (found onE older configurations), or the SYS$TIMEZONE_NAME C logical name, or any other time- or timezone- F related logical names directly yourself. Rather,F please use the zic compiler and/or the UTC$TIME_* SETUP.COM procedure.E For various published timezone rules or updated toeD same, see the tar.gz files (these are gzipped tar* archives) available at:2 o ftp://elsie.nci.nih.gov/pub/G These are gzipped tar archives, and are the pubished H source used for the OpenVMS timezone rules on OpenVMSH V7.3 and later, and within the predecessor C run-timeE environment timezone support used on older OpenVMS_E releases. You'll need to first gunzip and then useB vmstar to unpack and access the contents of the archives.J The published timezone rules include the effective dateJ ranges for the individual rules, so you can reload yourH rules prior to a particular set of new rules becomingD effective. The effective dates for the particularI timezone rules are additionally necessary to allow thecJ appropriate translation of older dates and times withinG the appropriate historical context of the particular' date and time value.o> For related information, see Section 4.4.1.J 4-21 l ' Time and Timekeepingo' _____________________________D@ 4.4.1.2 US Daylight Time Changes Starting 1-Mar-2007?D The United States Federal Government is presentlyG expecting to change its DST rules starting in March,VE 2007. (The change-over date and the planned changesH itself has not come to pass as of this writing, hence& the phrasing used.)G As amended, US daylight time will be increased to behH effective from the second Sunday in March through theF first Sunday of November. Other countries, US localF political geographies and businesses may or may notG follow suite and implement these changes, obviously.oE For further regulatory details, see the US Uniform I Time Act of 1966 (15 U.S.C 260a(a)), as amended by the - Energy Policy Act of 2005.tI For details on how to create, customize or to downloadhE new rules and to update your local timezone rules,. please see Section 4.4.1.1.' _____________________________ : 4.4.2 Timezones and Time-related Logical Names?D Various logical names are used to manage time andF timezones, and you should avoid direct modificationD of these logical names as the implementations areF subtle and quick to change. As discussed in sectionD Section 4.4.3, you will want to use the followingA command procedure to maintain the time and the  timezone:4 o SYS$MANAGER:UTC$TIME_SETUP.COMH If you want to venture into uncharted territories andF modify the TDF used within older releases of TCP/IPI Services-within releases prior V5.0-you can attempt ton; use the following undocumented commands:rC SET TIME/DIFF=[positive or negative TDF integer]a GENERATE TIMEB to reset the value of the logical name UCX$TDF. 4-22  s k' Time and Timekeeping6 Prior to OpenVMS V7.3, the command:< $ SETTZ :== $SYS$SYSTEM:DTSS$SET_TIMEZONE! $ SETTZ MODIFY J 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.aD The following are other TDF-related logical namesB used/available on OpenVMS systems, with typicalF daylight time and standard time settings for the US. Eastern Time (ET) timezone." $daylight_time:> $ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EDTG $ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0400 EDT" Z $ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P true ! Not 'EDT'K $ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constantv $" $standard_time:> $ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE ESTG $ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0500 EST"oZ $ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P false ! Not 'EST'K $ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constantn $H $ DEFINE/SYSTEM/EXECUTIVE UCX$NFS_TIME_DIFFERENTIAL -U 'f$integer(f$element(0," ",f$logical("notes$timezone"))/-100)'wF For information on modifying these timezone logical@ names and on managing the timezone rules, see! Section 4.4.1.e' _____________________________ = 4.4.3 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.COM_J This is an OpenVMS system prior to V6.0, where there is4 no OpenVMS TDF nor UTC available.J 4-23  ' Time and TimekeepingaB The version of the application does not use theF OpenVMS TDF. This includes TCP/IP Services prior toF V5.0, applications using HP C built on or targetingG OpenVMS prior to V7.0, and systems using the DECnet- G Plus DTSS mechanisms prior to the release associated H with OpenVMS V7.3. (DCE DTS TDF management details to" be determined.)A If you should find either of the following twoa= timezone-related database files located inM) SYS$SPECIFIC:[SYSEXE]: ; o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE.DATe? o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE_SRC.DATdH These two files are in an erroneous location and must9 be recreated in the correct directory:V& 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.COMJ 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.)tF 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. 4-24r a h' Time and Timekeeping 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.7, Section 4.4 and Section 10.22.1. D __________________________________________________________F 4.5 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 requestr6 %SET-E-NOTSET, error modifying time> -SYSTEM-E-TIMENOTSET, time service enabled;D enter a time service command to update the timeA This occurs if the time on the local system is E controlled by a time service software, for example H 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 thewI local system time (for DECnet-Plus, there is a processkF 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 - youlH should be doing this through the time server - but if> you insist... you'll have to shutdown DTSS:' $ RUN SYS$SYSTEM:NCLe DISABLE DTSSe DELETE DTSSI This will shutdown DTSS$CLERK. You may then change thefF system time as usual. To restart the DTSS software, type. $ @SYS$STARTUP:DTSS$STARTUPJ 4-25  ' Time and Timekeeping E You will need a number of privileges to issue thisrG command, and you must also be granted the NET$MANAGES= identifer to shutdown and to restart DTSS.mH 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 present G and defined sufficiently early in the OpenVMS systemu: bootstrap sequence for it to function.)I If DTSS is running and no time servers are configured,tC you can (and will) see the following messages att% regular intervals:sK %%%%%%%%%%% OPCOM 2-SEP-1999 19:41:20.29 %%%%%%%%%%% 5 Message from user SYSTEM on UNHEDIaQ Event: Too Few Servers Detected from: Node LOCAL:.mynode DTSS,F@ 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 it3G and (if OPCOM is set to write to the log via via theaG logical names in SYLOGICALS.COM/SYLOGICALS.TEMPLATE)r4 clean out OPERATOR.LOG regularly.C You can also simply disable the display of these4 messages:' $ run sys$system:ncl H block event dispatcher outbound stream local_stream -& global filter -? ((Node, DTSS), Too Few Servers Detected)h 4-26   ' Time and TimekeepingtF If you wish to disable the automatic TDF adjustmentI for the daylight time switch-over (on OpenVMS versionsS; prior to V7.3), you can use the command:r' $ run sys$system:ncl 8 set dtss automatic TDF change = falseF or alternatively, you can set the local timezone toH one that does not include the automatic daylight time change-over. D OpenVMS V7.3 and later simplify time and timezone management.D __________________________________________________________F 4.6 Setting time on AlphaServer ES47, ES80, GS1280 console?B To set the base system time on an member of theD AlphaServer ES47, AlphaServer ES80 or AlphaServerC GS1280 series system family, you must access them@ Platform Management Utility (PMU). The PMU isH implemented within this family of related AlphaServerE systems, and is part of a layer providing servicesdD beyond those of the traditional Alpha SRM consoleH layer, and within a layer architecturally implementedF beneath the SRM console. In particular, the PMU andD related management components are used to provideF services across multiple vPars or nPars partitions.G In particular, the SRM obtains and manages the local F system time on these systems as a delta time offsetD from the underlying base system time. Neither theG SRM console nor OpenVMS directly accesses nor altershH the underlying base system time nor other information3 maintained within the PMU layer. A The PMU uses the System Management components, I centrally including the Backplane Manager (MBM) module D found in each drawer, user interface, PCI and CPUH management components, and the interconnections amongG these provided by the private system management LAN. J When the system has power applied and the main breakers/ are on, the MBMs are active.fJ 4-27  ' Time and Timekeeping.G The PMU offers a command line interface for a serial I communications or telnet connection and allows commandNI and control of the MBM, and of the server. The PMU andiG the MBM system management components are responsiblee+ for the following tasks: I o Show the system configuration and provide the basic1* debugging capabilityC o Initiate the firmware update or load the test0& firmware versionC o Power on or off, halt, or reset the system or  partitioneC o The system partitioning and cabling functionseE o Displays of the health of hardware environment,TG including such constructs as fans, power suppliest? and environmental and temperature values.r4 o Remote server management tasks? o The connection to the virtual SRM console 8 o Set and show the base system time.I You can use the MBM commands SHOW TIME and SET TIME to I view and to manipulate the base system time. The deltasH time value for the primary MBM will be indicated, andJ it is this value in conjunction with the base time thatH is used to generate the time available to OpenVMS viaH the SRM console. If you issue a SET TIME=time commandH from OpenVMS, the delta time will change, but not theJ MBM base system time. If you change the MBM base systemI time, the calculated time available to OpenVMS via theoG SRM console(s) will change. (Resetting the base timenH thus involves changing the base system time, and thenJ issuing SET TIME=time command(s) to each of the OpenVMSG vPars or nPars environments to adjust the respectiveiI delta time values.) Rebooting, resetting or issuing an ; MBM SET TIME will reset the system time.tE Typically, you will want to establish the MBM timeu@ value once, and probably setting it to UTC orF such, and you will then want to boot each partitionI conversationally, setting the SETTIME system parameter: 4-28t  ' Time and Timekeeping E to force the entry of the time within each bootinglG system environment. Once the MBM time value has beenD set once, you will typically not want to alter itF again. You will typically want to manage and modify> only the time values within each partition.E The time and data values stored in the primary MBM I and replicated in the zero or more secondary MBMs thatrF might be present within the system are coordinated.J To enter the PMU from the SRM console, and to exit back to SRM:; 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)_F The is the escape character. Use the citedF key sequences to enter the PMU. You can also accessJ the PMU through a modem, or from a terminal or terminalF emulator or terminal server connected to the serverC management LAN. Having the server management LAN F bridged to an untrusted LAN can be unwise, however,E and with risks analogous to those of configuring a J traditional VAX or Alpha console serial line to an open9 terminal server or to a dial-in modem. J See the AlphaServer GS1280 documentation for additional information. D __________________________________________________________I 4.7 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 "Temps F 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, according H to Ulysses T. Clockmeister, one of the diplomats thatB helped establish the international compromise.)J 4-29 s o' Time and TimekeepingpF Universal Time UT0 is solar time, UT1 is solar timeG corrected for a wobble in the Earth's orbit, and UT2cI is UT1 corrected for seasonal rotational variations ino; rotation due to the Earth's solar orbit.nB GMT-Greenwich Mean Time-is UT1. GMT is the timeC at the classic site of the since-disbanded Royal J 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 that I celebrate daylight saving time (DST) will see periodicI changes to the TDF value, when the switch-over between F daylight time and standard time occurs. The switch-E over itself is entirely left to local governmentalnH folks, and can and has varied by political entity andJ politics, and the switch-over has varied over the years- even at the same location.oB 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 sections 4 Section 4.4 and Section 10.22.1.)I Further discussions of history and politics, the Royal.H 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 andeH 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.htmln+ o http://nist.time.gov/  4-30t  U' Time and TimekeepingID __________________________________________________________; 4.8 Using w32time or an SNTP as a time provider? J No standards-compliant NTP or SNTP server is reportedlyF capable of synchronizing with the Microsoft Windows$ w32time services.D Further, NTP clients are not generally capable of5 synchronizing with an SNTP server. C Open Source (Free) NTP servers (qv: OpenNTP) are H available for Microsoft Windows platforms, and TCP/IPD Services and third-party packages all provide NTPD servers for OpenVMS, and NTP and SNTP clients can1 synchronize with these srvers.dJ 4-31 e 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.COMo? command procedure or the POLYCENTER SoftwareeE Installation (PCSI) utility (PRODUCT command). TheiC second meaning relates to the use of the INSTALLe; utility, which is what concerns us here.tE The INSTALL utility is used to identify to OpenVMSiD a specific copy of an image, either executable orG shareable, which is to be given some set of enhancedeB 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 to ( perform its function.G The other important attribute is /SHARED. This meanslI that shareable parts of the image (typically read-onlysJ 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 fort$ 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 privilegesEJ you specify will be ignored. To have a callable routineF run with enhanced privileges that are not availableE to its caller, you must construct your routines asoD "user-written system services" (UWSS) and installC the shareable image with the /PROTECT qualifier.iG See the OpenVMS Programming Concepts Manual for more I information on user-written system services. Note alsosH that in many cases the need to grant privileges to anJ 5-1 n 0 System Management InformationG image can be replaced with the use of the "Protected I Subsystems" feature that grants a rights identifier to I an image. See the OpenVMS Guide to System Security for 7 information on Protected Subsystems.D __________________________________________________________7 5.2 Are there any known viruses for OpenVMS?aE Viruses and worms are common on personal computerscB because the operating systems involved, such asC the Microsoft MS-DOS, Windows 95, Windows 98 and C 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 protectionseF for specific configurations and do implement memoryE protection models, but many users of these systemsuF choose to operate with full adminstrator access andG thus the available protections are entirely defeatedyF 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 beTH 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 a7F 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 partSF of received mail messages or web access; one of the 5-2  0 System Management InformationC central vulnerabilities of the Microsoft WindowsNF 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 asaH 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 noaE OpenVMS system security breaches (due to maliciousoF operator activity, OpenVMS errors, or errors withinD trusted and privileged product packages) there isG no of modifications to the operating system or othert> 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 onMG DECnet networks ("WANK" was one), but is aware of non? OpenVMS viruses that are loose in the field. C To protect against viruses and other attempts at C system interference or misuse, please follow the J 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 OpenVMS.E and OpenVMS products, and you will want to keep toaG OpenVMS releases with Prior Version Support (PVS) or$E with Current Version Support. (This is obviously aoI general system maintenance recommendation, in addition.E to being a good system security recommendation-newUH security features and capabilities are implemented inI more recent OpenVMS releases, for instance. Details onmF PVS releases are available over in Section 5.10.6.)B You may also want to consider optional softwareG products which can monitor your system for intrusionbI or infection attempts. Computer Associates (CA) offerseF various products in this area, as to other vendors.J 5-3  0 System Management InformationH Rocksoft offers the Veracity data integrity tool (forG info, send mail to demo@rocksoft.com). MD5 tools arelG also available; see Section 5.30 for details on MD5.sC Tools to scan OpenVMS file systems for MicrosoftrB Windows infections are and have been available,E including a commercial package from Sophos , and aiD port of the open source Clam Antivirus scanner atE http://www.clamav.net/ and with an OpenVMS port ata? http://fafner.dyndns.org/~alexey/clamav.zip. C These scanning tools are particularly useful fortH systems running Samba or Advanced Server (PATHWORKS),G as these servers tend to have a higher population ofoF files intended for Microsoft Windows systems users,D and as common virus and worm attacks can find andJ infect files on the file shares that these products canJ provide. These infections do not target OpenVMS itself,H though the OpenVMS server (and any other platform andH any other server capable of storing files for WindowsE systems) can silently host files containing commone0 Microsoft Windows infections.D __________________________________________________________7 5.3 Sources of OpenVMS security information?tJ 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/ D __________________________________________________________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 theI InfoServer area, or the F11CD ECO kit. (Upgrades to V6 7 and later are strongly recommended.)o 5-4 i 0 System Management InformationI By default, OpenVMS senses the specific type of media.SG If you are working with dual-format media-media thatiG uses both the ODS-2 and ISO-9660 formats on the sameoG CD-ROM-then MOUNT will first detect and then defaultaH to the ODS-2 format. If you wish to override this andE explicitly mount the media using ISO-9660, use the command:IL $ 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 wideoC variety of operating system platforms, and theseOE platforms do not necessarily support the semanticsdI needed for files containing predefined record formats..G The /UNDEFINED_FAT allows you to specify the defaultMG attributes for files accessed from volumes using theE# 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 causes$G any file whose file attributes are "undefined" to be J returned with "stream" attributes with a maximum record length 2048. B On OpenVMS, the ISO-9660 format is (internally)G considered to be the ODS-3 file structure, while the0H High Sierra extensions to the standard are consideredA to be the ODS-4 file structure. The Rock RidgesE extensions are not currently available on OpenVMS._J 5-5  0 System Management InformationF For details on ODS-1 and ODS-2 file specifications,E see Kirby McCoy's VMS File System Internals ManualpF (published by Digital Press, but potentially out of# print), and see: B 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/D __________________________________________________________; 5.5 How do I extract the contents of a PCSI kit?tJ A growing number of OpenVMS products are being providedH in PCSI (POLYCENTER Software Installation) kits whichI are installed using the PRODUCT INSTALL command. These H are alternatives to or replacement for VMSINSTAL kitsG which were BACKUP savesets. PCSI kits are not BACKUPaI savesets and are structured differently from VMSINSTAL  kits.C If you want to extract product files from a PCSIYG kit, create a directory into which the kit should ben: 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". PCSInC will expand the kit files into the directory youSG specify and subdirectories beneath such as [SYSEXE],tF [SYSLIB], etc., reflecting the eventual destinationC of files found there. Most of the actual productmF files (images, etc.) will be in the subdirectories.E In the top-level directory will be a file with the.J file type PCSI$DESCRIPTION that specifies where variousH files should go. For more details, see the POLYCENTERG Software Installation Developer's Guide for OpenVMS,DI which can be found in the OpenVMS documentation on theM< Consolidated Online Documentation CD-ROM. 5-6 T 0 System Management InformationD __________________________________________________________9 5.6 Emergency (Conversational) System Startup?sF 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 privileged F usernames are available, or one or more core systemD product authorization key (PAK) software licensesE are unavailable or expired-then you must perform aE8 conversational (emergency) bootstrap.& 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. E 2 At the console prompt, use a console command toeD boot into the SYSBOOT utility. (SYSBOOT allowsH conversational changes to system parameters.) (TheE console syntax for the conversational bootstrap H 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 commandsoE depending on the particular model of VAX systemu involved:e B/R5:1 B/1h @GENBOO On Alpha:u" b -flags 0,1E If your system has a non-zero system root (such G as root SYSE, shown here), you will have to use aE< console command such as the following:J 5-7  0 System Management Information On VAX: B/E0000001# B/R5:E0000001C @i On Alpha: " b -flags e,1J On the IA-64 architecture systems, you can establishG and manage an EFI boot alias for a conversational D bootstrap as discussed in Section 14.3.5.1 andG in Section 14.3.10, or you can use VMS_LOADER.EFI I interactively as shown here. Of the core mechanisms G discussed in Section 14.3.5.1, the following uses F an EFI Shell command to perform a conversationalE bootstrap of root SYSE via the partition device G fsn:. There are alternative mechanisms available. < fsn:\efi\vms\vms_loader.efi -flags e,1B If your Alpha system has a hardware passwordG (various systems support a password that prevents H unauthorized access to the console), you will needF to know theis password and will need to enter itH using the LOGIN or similar command at the console.G If you get an "Inv Cmd" error trying to perform a-G conversational bootstrap, and you do not have the0E hardware console password for the console LOGIN F command, you are stuck-you will need to call forF hardware service for assistance in resetting theG hardware console password. The implementation and H the syntax used for the console password mechanism2 does vary by implementation.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)G not be started, and that OpenVMS not record these H particular parameter changes for subsequent system reboots: 5-8 e -0 System Management Information' SET/STARTUP OPA0:) SET WINDOW_SYSTEM 0* SET WRITESYSPARAMS 0 CONTINUEG 4 At the $ prompt, the system will now be acceptingeJ startup commands directly from the console. Type the1 following two DCL commands:  $ SPAWN + $ @SYS$SYSTEM:STARTUPfF 5 You should now see the dollar ($) prompt of DCL.I The result of these two commands will be the normaleD 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, you E would be logged out when the startup completes. E Perform the task(s) required, such as resetting F the password on the SYSTEM username as describedI in Section 5.6.1 or registering one or more license G product authorization keys (PAKs) as described ine$ Section 5.6.2.G 6 Once you log out of this session, the system williH 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 usingnD 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 thatyF 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. J 5-9  0 System Management InformationG The UAFALTERNATE system parameter is used to triggerpG what is sometimes known as the console backdoor. TherH 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 notdI registered, expired or disabled (NOLICENSE errors), orvI in various other cases of system failures. All this isrH 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 istF equivalent to direct access to the system hardware.C When LOGINOUT detects an error (such as a SYSUAFmC corruption, by a missing SYSUAF, missing productyF licenses, or other trigger), it will prevent accessF to the OpenVMS system from all terminals except theC system console. The OPA0: system console will benD allowed access, and the resulting process will beF fully privileged. Resetting the UAFALTERNATE systemI parameter-in the absence of an alternate SYSUAF systemmI authorization database-will cause the console backdoor E to be opened simply because LOGINOUT cannot locateeC SYS$SYSTEM:SYSUAFALT.DAT. When the authorizationbE database cannot be located, access will be grantedt) from the console only. C For further information on emergency startup andt@ 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 ClassTF C2 appendix of the Guide to OpenVMS System SecurityA manual, also in the OpenVMS documentation set.dJ You can also use the conversational bootstrap techniqueG shown earlier (the steps until SET/STARTUP) to alteroE various system parameters, as well. At the SYSBOOTa? prompt, you can enter new parameters values:u 5-10h r i0 System Management Information% SHOW MAXPROCESSCNT SET . 64  CONTINUED The <.> is a shorthand notation used for the last@ parameter examined within SYSGEN and SYSBOOT.' _____________________________,D 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:AUTHORIZEa6 MODIFY SYSTEM /PASSWORD=newpassword EXIT}@ You have now reset the password on the SYSTEM username.' _____________________________SB 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 OpenVMSeF 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.eI For systems that are not configured with an accessableF 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 tosI halt the system and perform a conversational bootstrapaC as described in Section 5.6. You must then enterUE licensing-related commands once the conversationalh? bootstrap has reached the dollar ($) prompt.iJ 5-11 a n0 System Management InformationF 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.17.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 disk H backup procedures as documented in the OpenVMS SystemG Management Manual, making sure to use the procedures@ and commands appropriate for the system disk.H 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 run D 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'syE host system. See the command INIT/QUEUE/ON=nodetE for information.) Site-specific startup commandcE procedures can explicitly specify the (local or G even the current) node on the /ON parameter in an 3 INIT/QUEUE/START/ON= command.w 5-12P e r0 System Management InformationC o Modify the node name saved in any application I databases, or any local node-conditional operationsfG present in the site-specific system startup, etc. H (SEARCH for the node name, specifying all types of files.)iI o Use the AUTHORIZE utility command RENAME/IDENTIFIERmC to rename the SYS$NODE_oldnodename rightslist_D identifier to match the new node name. (Do notE change the binary value of this identifier, andT4 do not delete the identifier.)F If you have erroneously deleted or duplicate theG identifier, you can locate existing references to H the binary identifier value using the Freeware DFUG package, and specifically the commands SEARCH/ACE I and /OWNER. You must (re)create the correctly-named E identifier using the binary value that is oftensG stored in various Access Control List Entry (ACE)hH 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. F o Reboot the node or-if in a VMScluster-reboot theG whole VMScluster. (This tends to catch any errorss# immediately.)H o Modify the IP node name. (The TCP/IP Services toolF is UCX$CONFIG prior to V5.0, and is TCPIP$CONFIGC in V5.0 and later releases.) Note that TCP/IP C Services ties the IP host name to the current G SCSNODE value within its UCX$CONFIGURATION.DAT or G TCPIP$CONFIGURATION.DAT database. Thus if SCSNODE G is changed, the IP host name reconfiguration mustsG occur, and the required reconfiguration can occurpD only after a system reboot. Accordingly, it isC best to perform the TCP/IP Services host namer< reconfiguration step after the reboot.J 5-13 u i0 System Management InformationH 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 systemEI name loaded in the operator control panel via the OCP_aI TEXT console environment variable available at the SRMa; prompt on some Alpha systems is another.sF If the system is configured in a VMScluster and youG change either the SCSNODE or the SCSSYSTEMID-but notTF both values-then you will have to reboot the entireD VMScluster. (The VMScluster remembers the mappingC between these two values, and will assume that aeD configuration problem has occured if a mismatchedE pair appears, and will refuse to let a node with aS8 mismatched pair join the VMScluster.)G To calculate the correct SCSSYSTEMID value, multiplyCC the DECnet Phase IV area number by 1024, and addtD the DECnet Phase IV node number. For example, theI SCSSYSTEMID value for a DECnet node with address 19.22 7 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 nodeSJ 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.D __________________________________________________________C 5.8 Why doesn't OpenVMS see the new memory I just added? F When adding memory to an OpenVMS system, you shouldH check for an existing definition of the PHYSICALPAGESC (OpenVMS VAX) or PHYSICAL_MEMORY (OpenVMS Alpha)sF parameter in the SYS$SYSTEM:MODPARAMS.DAT parameterH database, use a text editor to reset the value in theF file to the new correct value as required, and then1 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. 5-14e e 0 System Management InformationH 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 aoH particular (lower) amount of system memory available.I PHYSICALPAGES and PHYSICAL_MEMORY can be set to -1 (onfJ 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.oD __________________________________________________________C 5.9 How do I change the text in a user's UIC identifier?t< The text translations of the numeric UserE Identification Code (UIC) are based on identifiers F 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, use $ commands such as:- $ RUN SYS$SYSTEM:AUTHORIZE: UAF> rename/ident oldgroupid newgroupid9 UAF> rename/ident olduserid newuseridtH 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:aB 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 thisoH identifier is [groupnumber, 177777]. To add a missing@ group identifier, use an asterisk as follows:J 5-15 k s0 System Management Information@ UAF> add/ident/value=uic=[group,*] newgroupidI You may find cases where an identifier is missing fromdF time to time, as there are cases where the creationE of a UIC group name identifier might conflict with C an existing username, or a user identifier mighteI conflict with an existing group identifier. When thesesI conflicts arise, the AUTHORIZE utility will not createH the conflicting group and/or user identifier when the' username is created.lI You can can add and remove user-specified identifiers,oC but you should avoid changing the numeric valuesnG associated with any existing identifiers. You shoulddF also avoid reusing UICs or identifiers when you addG new users, as any existing identifiers that might bepJ 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.rD __________________________________________________________; 5.10__What_are_the_OpenVMS_version upgrade paths? 9 5.10.1 OpenVMS Alpha Upgrade (or Update) Paths)1 NotetD Upgrade path information here has occasionallyC been found to be wrong. Information here doesAG not reflect cluster rolling upgrade requirements; D see Section 5.10.4 for related rolling upgradeC information; versions permissible for rollingSE upgrades can be and often are more constrained.sB When upgrade information here conflicts withD the official documentation, please assume thatD the information here is wrong. Corrections and; updates to this material are welcome.  5-16e e v0 System Management Information From V1.0, / you can upgrade to V1.5.t* From V1.5, or V1.5-1H1,/ you can upgrade to V6.1.h From V6.1,// you can upgrade to V6.2. & From V6.1, or V6.2,/ you can upgrade to V7.0.S< From V6.1, V6.2, V6.2-1H(1,2,3), or V7.0,/ you can upgrade to V7.1.  From V6.2,iI you can update to V6.2-1H1, V6.2-1H2, or V6.2-1H3.kJ From V6.2, V6.2-1H(1,2,3), V7.1, V7.1-1H(1,2), or V7.2,! to V7.2-1.p* 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.A From 7.2, 7.2-1, 7.2-1H1, 7.2-2, 7.3 or 7.3-1,o0 you can upgrade to V7.3-2C From V7.3, V7.2-2, V7.2-1H1, V7.2-1, and V7.1-2,_0 you can upgrade to V7.3-1 From V7.3-1, < you can upgrade to V7.3-2 or to V8.2.) From V7.3-1 or V7.3-2,e/ you can upgrade to V8.2.k' From V7.3-2 or V8.2,v/ you can upgrade to V8.3._G Some typical OpenVMS Alpha upgrade (or update) paths  are: J 5-17  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)t# V6.2 -> V6.2-1H3v! V6.2 -> V7.2-1  V6.2 -> V7.3r) V6.2-1H(1,2,3) -> V7.1r+ V6.2-1H(1,2,3) -> V7.2-1 9 V6.2 through 7.1-1H2 inclusive -> V7.3 ! V7.1 -> V7.1-2 ! V7.1 -> V7.2-1I) V7.1-1H(1,2) -> V7.1-2e) V7.1-1H(1,2) -> V7.2-1m# V7.1-2 -> V7.3-1 # V7.2 -> V7.2-1H1t) V7.2 -> V7.3 -> V7.3-12+ V7.2-1 -> (V7.3, V7.3-1) 3 V7.2-2 -> (V7.3, V7.3-1, V7.3-2) + V7.3 -> (V7.3-1, V7.3-2)m+ V7.3-1 -> (V7.3-2, V8.2) ) V7.3-2 -> (V8.2, V8.3) 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 must; upgrade to OpenVMS Alpha V7.1, or later.sC One cannot update directly to a V6.2-1Hx Limited G Hardware Release (LHR) from any release prior to the D 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, andaF does not produce the expected results. The LHR kitsG can, however, be directly booted and can be directlyuI installed, without regard to any operating system thati7 might be present on the target disk.AI Users of OpenVMS Alpha V7.1-1H1, V7.1-1H2, V7.2-1H1 or G other hardware are encouraged to upgrade to the nextH available non-hardware-release, and should preferablyI upgrade to the current or to a supported OpenVMS AlphaA release.  5-18  e t0 System Management InformationD OpenVMS Alpha updates for LHRs (through V7.1-1Hx)E require the use of VMSINSTAL for the update. These J LHR releases use PCSI for the installation, but not forI the update. Non-LHR releases use PCSI for installs andO upgrades.C OpenVMS Alpha V7.1-2 and later use PCSI for LHRsrC and for OpenVMS upgrades and for all OpenVMS ECOsG 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 fort OpenVMS. ' _____________________________i+ 5.10.2 OpenVMS I64 Upgrade Pathsr1 Note D Upgrade path information here has occasionallyC been found to be wrong. Information here doesrG not reflect cluster rolling upgrade requirements;rD see Section 5.10.4 for related rolling upgradeC information; versions permissible for rolling_E upgrades can be and often are more constrained.CB When upgrade information here conflicts withD the official documentation, please assume thatD the information here is wrong. Corrections and; updates to this material are welcome.i From V8.2,A8 you can upgrade to V8.2-1 or V8.3 From V8.2-1, . you can upgrade to V8.3J Some typical OpenVMS I64 upgrade (or update) paths are:) V8.2 -> V8.2-1 -> V8.3 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.J 5-19  0 System Management InformationG To utilize OpenVMS I64 V8.2, you must perform a fulleE installation of V8.2. No supported upgrade path torH V8.2 is available from previous releases; there is noF upgrade from OpenVMS I64 E8.2, nor from the earlier) V8.1 or V8.0 releases.h' _____________________________ 3 5.10.3 OpenVMS VAX Release Upgrade Pathst1 Note D Upgrade path information here has occasionallyC been found to be wrong. Information here does G not reflect cluster rolling upgrade requirements;nD see Section 5.10.4 for related rolling upgradeC information; versions permissible for rollingeE upgrades can be and often are more constrained.B When upgrade information here conflicts withD the official documentation, please assume thatD the information here is wrong. Corrections and; updates to this material are welcome. O From V5.0 through V5.4-3 inclusive, one can upgrade to V5.5.tM From V5.5, V5.5-1, or V5.5-2HW, one can upgrade to V5.5-2. I From V5.5, V5.5-1, or V5.5-2, one can upgrade to V6.0.bK From V5.5-2, V5.5-2H4, or V6.0, one can upgrade to V6.1.(? From V6.0, or V6.1, one can upgrade to V6.2.i? From V6.1, or V6.2, one can upgrade to V7.0.eE From V6.1, V6.2, or V7.0, one can upgrade to V7.1. R From V6.1, one can upgrade to V7.3 (with VAXBACK ECO for V6.1).> 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-2nG V5.5-2, or V5.5-2H4 -> V6.1 -> (V6.2, V7.0, or V7.1) @ V6.1 -> V6.1 with VAXBACK ECO -> (V7.2, V7.3) V6.2 -> V7.2o V6.2 -> V7.3BJ 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. 5-20  n X0 System Management InformationH 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 set C and the upgrade will fail. Acquire and apply the I VAXBACK ECO kit for OpenVMS VAX V6.1. OpenVMS VAX V6.2 H 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 Paths5F Rolling Upgrades permit the OpenVMS Cluster and theD applications to remain available while individualG systems are being upgraded to a new OpenVMS release.uB Rolling Upgrades require multiple system disks.? OpenVMS Cluster Rolling Upgrades for OpenVMS @ Alpha, OpenVMS I64 and OpenVMS VAX may (will)D have architecture-specific, or additional upgradeG requirements or prerequisites, and have requirementscI around which versions and architectures of OpenVMS canaH coexist within a OpenVMS Cluster than what are listed here.G For specific details on Rolling Upgrades, please see F the OpenVMS Upgrade and Installation Manual for theG particular release, and the OpenVMS Software Product C Descriptions for OpenVMS and for OpenVMS Cluster  software:9 o http://h18000.www1.hp.com/info/spd/oH OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx.lF for further details on the Rolling Upgrade, and for' support information.bJ 5-21  0 System Management Information' _____________________________ 1 5.10.5 OpenVMS VAX Manual OrganizationtF The documentation for older releases of OpenVMS VAXF was comprised of various platform-specific manuals,F manuals that include instructions that are specificD to installing and upgrading on the particular VAXB platform. These older manuals can be useful forD learning platform- or console-specific operationsE or requirements for the particular (and older) VAX platform.H There is far less console command syntax, and consoleI storage media variability, among the more recent AlphaaH and Integrity processors. The newer platform operatorD and management interfaces are far more consistent- across the platform lines.' _____________________________sA 5.10.6 OpenVMS Product Version and Support InformationsE For information on Prior Version Support (PVS) and C Mature Product Support (including information on D support end dates for OpenVMS and various layeredC products), please see the support resources linkhH available at the main OpenVMS website or the services@ links available at the main services website:3 o http://www.hp.com/go/openvms/ 3 o http://www.hp.com/go/servicesoH And see the following links, with the caveat that theC direct "/hps" links shown here may become stale:n: o http://www.hp.com/hps/os/os_pvs.html; o http://www.hp.com/hps/os/os_ovms.htmlrI For information on the supported and required versionsAH of layered products, and the minimum required layeredJ product versions for various configurations, please seeF the Software Rollout Report (SWROLL), available at:B o http://h71000.www7.hp.com/openvms/os/swroll/I For additional related information, see Section 2.6.1.t 5-22   0 System Management InformationE For information on the release history of OpenVMS, E including information on the code names of various 3 releases and the major features:sG o http://www.openvms.compaq.com/openvms/os/openvms- * release-history.htmlG Additional release history information, as well as aSH variety of other trivia, is available in the VAX 20th$ anniversary book:L o http://www.openvms.compaq.com/openvms/20th/vmsbook.pdf' _____________________________ ; 5.10.7 OpenVMS Alpha and I64 Upgrade Terminology C OpenVMS Alpha and OpenVMS I64 use the POLYCENTERnJ Software Product Install Utility, occasionly refered toG as SPIU and rather more commonly known as PCSI. PCSIrI is a component of the OpenVMS operating system, and istG available on OpenVMS VAX, OpenVMS Alpha, and OpenVMSt I64.SD The following terms apply to OpenVMS Alpha and toE OpenVMS I64 Upgrades and Installations using PCSI:rJ o UPDATE: Typically used for Limited Hardware ReleasesF (LHR) releases. Performed via VMSINSTAL. AppliesG only to the OpenVMS release that the LHR is based J on, or to an intermediate LHR. (eg: V7.1-1H2 appliesD only to V7.1-1H1 and to V7.1, not to any otherE releases.) LHRs within a series are cumulative, H containing all files and features of previous LHRs) in the same series.cE VMSINSTAL-based Updates and VMSINSTAL-based ECOsG kits are not generally used to upgrade OpenVMS onI releases of OpenVMS Alpha V7.1-2 and later, nor are H thse used on OpenVMS I64; only PCSI-based UpgradesH and Installs are used. VMSINSTAL remains availableI for other uses and other products; for upgrades and J installations of products other than OpenVMS itself.J 5-23 S E0 System Management InformationI o UPGRADE: Performed via PCSI. Upgrades can typicallyoE be applied directly to a release-specific range F of earlier OpenVMS releases. The product releaseI documentation specifies the prior OpenVMS releases;rA if your release is not one of the specifiedtD releases, you will have to perform one or moreG additional upgrades (through intermediate OpenVMSaJ releases) to reach one of the prerequisite releases.H o INSTALL: Performed via PCSI. With an installation,D no existing version of the operating system isI assumed present, nor are any files from any copy ofvJ the operating system might be present preserved, andJ the entire contents of the target disk are destroyed0 via a disk initialization.E o PRESERVE: Performed via PCSI. Otherwise similarD to an installation, this option skips the diskE reinitialization. User files on the target diskH are preserved. Any existing operating system files7 on the target disk are clobbered.eI o LHR: Limited Hardware Release. LHRs are specific to,J and are targeted at new hardware configurations, andJ are not shipped to customers with support contracts.H At least one LHR kit must be specifically acquiredE when purchasing new hardware, new hardware that F is not (yet) supported by any mainline (non-LHR)F release. LHRs have an "H" in the OpenVMS version> string, 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. 5-24   0 System Management InformationD __________________________________________________________J 5.11 Why do I have a negative number in the pagefile reservable pages?C Seeing a negative number in the reservable pagessH 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 assumingoI that every process with reserved pages does not try tolH occupy all of the reserved pagefile space at the same time.E To understand how the pagefile reservation processaJ works, think about how a traditional bank operates whenI accepting customer deposits and making loans. It's the I same idea with the pagefile space. There is less money J in the bank vault than the total deposits, because muchF of the money has been loaned out to other customersG of the bank. And the behaviour parallels that of the I pagefile down to the problems that a "run on the bank" G can cause for banking customers. (Though there is no C deposit insurance available for pagefile users.)fD 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 pagefilenJ 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, E and multiple pagefiles are generally configured on G separate disk spindles to spread the paging I/O load C across the available disk storage. When multipleeI pagefiles are present on recent OpenVMS versions, eachEJ 5-25  0 System Management InformationI 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.oF With OpenVMS V7.3 and later, the displays have beenB changed and these negative values are no longer visible.fD __________________________________________________________B 5.12 Do I have to update layered products when updating OpenVMS?G The Software Public Rollout Reports for OpenVMS list E the current and future availability of HP software E products shipping on the OpenVMS Software Products H Library kits (CDROM consolidations) for OpenVMS AlphaI and/or OpenVMS VAX. Specifically, the required minimumh; versions for product support are listed.nD Comprehensive Public Rollout Information, listingJ previous product versions as well as currently shippingE versions, has been compiled into a separate set ofnF 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 processoriE mode-typically either executive or kernel mode-may D or may not be compatible with more recent OpenVMS versions.F These Software Rollout (SWROLL) Reports are updated) regularly. Please see:oB o http://h71000.www7.hp.com/openvms/os/swroll/> For related information, see Section 2.6.1. 5-26   0 System Management InformationD __________________________________________________________; 5.13 How do I change the volume label of a disk?VI Dismount the disk, and mount it privately. If the diskeJ is mounted by more than one node in an OpenVMS Cluster,G dismount it from all other nodes. If this disk is anOJ OpenVMS system disk, shut down all other nodes that are/ bootstrapped from this disk. I Issue the SET VOLUME/LABEL command, specifying the new  label. F On OpenVMS V6.0 and later, issue the following PCSIG command to reset the label information stored withinoJ the PCSI database to reflect the new disk volume label:= $ PRODUCT REGISTER VOLUME old-label devicerI Locate any references in the system startup (typicallyhH 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.e2 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 createdED in the directory are accessible to the members ofI specified group of users-you can use an access controlo0 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.nJ 5-27  0 System Management InformationA Add an identifier using the AUTHORIZE utility:uD ADD/IDENTIFER/ATTRIBUTES=RESOURCE groupidentifierG Grant the identifier to each user in the group using AUTHORIZE: < GRANT/IDENTIFIER groupidentifier usernameI If disk quotas are in use, add an entry via SYSMAN fort each disk:d2 DISKQUOTA ADD groupidentifier -< /PERMQUOTA=pq/OVERDRAFT=od/DEVICE=ddcu:I Set the shared directory to have an ACL similar to thesG following using the SET SECURITY (V6.0 and later) orA< SET ACL (versions prior to V6.0) command:9 (DEFAULT_PROTECTION,S:RWED,O:RWED,G,W)I@ (IDENTIFIER=groupidentifier,OPTIONS=DEFAULT,-6 ACCESS=READ+WRITE+EXECUTE+DELETE)1 (IDENTIFIER=groupidentifier, - 6 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,t@ DEFAULT_PROTECTION, and CREATOR ACEs apply to directories.)C The default protection mask is used to establish G the default file protection mask, this mask does not J 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 on B ACLs and identifiers, and resource identifiers. 5-28  n 0 System Management InformationD __________________________________________________________@ 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, andeJ for ways of dealing with the extra blank pages that canG arise on various HP printers, please see the OpenVMS H Ask The Wizard area, starting particularly with topic (1020):H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.eD There are a variety of discussions of this and ofF related printing topics in the Ask The Wizard area,/ in addition to topic (1020).c) Also see Section 5.34. D __________________________________________________________F 5.16 Drivers and Configuration of New Graphics Controllers?? This section contains information on various G graphics controllers supported by OpenVMS Alpha, andF 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. ' _____________________________ ) 5.16.1 The ELSA GLoria Synergy I On OpenVMS Alpha V7.1-2, V7.2, and V7.2-1, acquire the F appropriate GRAPHICS PCSI kit, and all prerequisite$ OpenVMS ECO kits:4 o VMS712_GRAPHICS-V0300 or later3 o VMS72_GRAPHICS-V0100 or later J 5-29 n d0 System Management Information4 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;rG check for and install the current GRAPHICS kit. (See_H Section 4.3.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. C An earlier kit (ALP4D20T01_071) (for V7.1, V7.1-oF 1H1, and V7.1-1H2) was once available, but has beenC superceded and is not recommended. Use of V7.1-2nF 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.G Additional information is available in topics (3419) 9 and (5448) in the Ask The Wizard area:sH o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference. I Support for the ELSA GLoria Synergy is integrated into.6 all current OpenVMS Alpha releases. 5-30r . 0 System Management Information' _____________________________70 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 3503J graphics controllers, acquire and install the following& available ECO kits:, For OpenVMS Alpha V7.1-2:= o DEC-AXPVMS-VMS712_P350-V0100-4 or later A o DEC-AXPVMS-VMS712_GRAPHICS-V0300-4 or latera, 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.' _____________________________>2 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):H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.2J 5-31 2 80 System Management Information' _____________________________t 5.16.4 Radeon 7500 I 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 OpenVMS H fixes (ECOs) for various releases, as well as relatedD support information, via the ITRC support center:- o http://www.itrc.hp.com/ < o ftp://ftp.itrc.hp.com/openvms_patches/E Some systems with Internet firewalls may/will have E to use passive mode FTP to access the above sites. J 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 thes ITRC site.aH For a list of OpenVMS ECO kits recently released, you can use:fJ o http://Eisner.DECUS.org/conferences/OpenVMS-patches_ new_1.HTMLE Examples and ECO kit installation instructions areCB included in the cover letter. For ECO kit emailD notifications, lists of available ECO kits, coverG letters and other associated documentation, look in:e- o http://www.itrc.hp.com/L< o ftp://ftp.itrc.hp.com/openvms_patches/G For additional information, please see Section 5.17.  5-32   0 System Management InformationF Do NOT attempt to install a VMSINSTAL-based OpenVMSC ECO kit on OpenVMS Alpha V7.1-2 and later. WhilelE VMSINSTAL itself remains available, it is not usedeG for OpenVMS Alpha ECO kits starting in OpenVMS AlphaoF 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? B 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.d. 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 78, 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]D 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 foruF the queue manager is "/ON=(*)", the disk must be; available to all nodes in the cluster 3 $ CREATE/DIR fast_disk:[qman] J 5-33  0 System Management InformationJ 5 Copy the .QMAN$QUEUES and .QMAN$JOURNAL files to the# new directory Z $ 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" forcG a reason-this can track back to insufficient process.H quotas, to a kernel-mode error in OpenVMS or a third-A party device driver, or to other odd problems.>F 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 when E working with old firmware. (That, and the infamous G "MUA4224" firmware bug.) If this device has a driver D ECO kit available, acquire and apply it... If theI particular relevant host component has an ECO, acquireX and apply it.G Useful tools include SDA (to see what might be goingeG on) and DECamds (which increase and thus potentiallyhF fix quota-related problems). (nb: Applications with> quota leaks will obviously not stay fixed.)J If the stuck application is BACKUP, ensure you have theI current BACKUP ECO and are directly following the V7.1J or (better) V7.2 or later process quota recommendationsI for operator BACKUP accounts. Quota details are in the 3 OpenVMS System Manager's Manual.  5-34_ _ 0 System Management InformationG If the firmware and ECO levels are current, the best J 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.)rI There was some kernel-mode code (typically for OpenVMSnF 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"u- this particular process...sD __________________________________________________________2 5.20 How do I reset the error count(s)?I The system reboot is the only supported approach priorF to V7.3-2, but a reboot is obviously undesirable inE various situations-there is presently no supportedrI mechanism to reset error counts once the error(s) havefE been logged on these older releases. On V7.3-2 and 6 later, you can use the DCL command:1 $ SET DEVICE/RESET=ERROR_COUNT_E As for an unsupported approach-and be aware of theoD potential for triggering a system crash, you needE to determine the system address of the error countaG field. For a device, this is at an offset within thecE device's UCB structure. On VAX, the field is at anVI offset symbolically defined as UCB$W_ERRCNT. On Alpha, H this field's offset is symbolically defined as UCB$L_H ERRCNT. The former is a word in size; the latter is a longword.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 H used on the VAX and the second item should be used on. an Alpha. (ie. {VAX/Alpha})J 5-35 u r0 System Management Information# $ ANALYZE/SYSTEMpE SDA> READ SYS${SYSTEM/LOADABLE_IMAGES}:SYSDEF.STBuC SDA> ! SHOW DEVICE the device with the error(s)l, SDA> SHOW DEVICE 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:o1 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 and J only one error message-Eh? (Well, for sake of argument,J there might be another error produced on the console ifI you're not careful. This second error is more commonly , known as a system crash.)= If you are on a VAX, enter the command: [Wi= If you are on Alpha, enter the command: [L E These set the prevailing mode to word and longwordr@ respectively. Remem- ber the UCB${W/L)_ERRCNT differences?o, Now issue the command 1;M3 DELTA will respond with 00000001nI You are now poised to ZAP the error count field. To dolI so you need to en- ter the system address and view its G contents. The format of the command to do this is of  the form:! IPID:hhhhhhhh/nJ For an IPID, use the IPID of the SWAPPER process. It is# always: 00010001 A Thus, to ZAP the error count, you would enter: % 00010001:hhhhhhhh/  5-36   0 System Management InformationF When you enter the / SDA will return the content ofG the address hhhhhhhh. This should be the error countpG (in hexadecimal) of the device in question. If it isiJ not, you did something wrong and I'd suggest you type aI carriage return and then enter the command EXIT to getIH 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.nD 00010001:80D9C6C8/0001 ! output on VAX, 1 errorJ 00010001:80D9C6C8/00000001 ! output on Alpha, 1 errorI You can now ZAP the error count by entering a zero and 9 typing a carriage return. For example:SN 00010001:80D9C6C8/0001 0 ! output on VAX. 1 errorT 00010001:80D9C6C8/00000001 0 ! output on Alpha, 1 errorC Now type the command EXIT and a carriage return. 4 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:aE $ 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" D $ IF (Devdepend2.AND.Comp_ena).EQ.Comp_ena THEN -= WRITE SYS$OUTPUT "Compression enabled"oD __________________________________________________________G 5.22 Can I copy SYSUAF to another version? To VAX? To Alpha?r@ The format of the SYSUAF.DAT, RIGHTSLIST, andI associated files are upward-compatible, and compatibleeD across OpenVMS VAX, OpenVMS Alpha and OpenVMS I64H systems. (This compatibility is a a basic requirementF of mixed-version OpenVMS Cluster configurations andE OpenVMS upgrades-for specific support information,iJ 5-37 a 0 System Management InformationE please see the OpenVMS Cluster rolling upgrade andC mixed-version requirements.) That said, it's thefH contents of the SYSUAF and RIGHTSLIST files that will. make this more interesting.G The same basic steps necessary for moving RIGHTSLISTcF 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 mightaJ 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.)o" Considerations:H o applications often hold SYSUAF or RIGHTSLIST open,F meaning a system reboot is often the best way to) activate new files. F 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 OpenVMSD Alpha V6.2 upgrade. This file is maintained in1 parallel with NETPROXY.DAT.cJ o the RIGHTSLIST identifier values and UIC values thatG end up scattered around the target system must beeJ rationalized with the contents of the new RIGHTSLIST' and SYSUAF files.rG The lattermost case-resolving the identifier values-lG is often the most interesting and difficult part. IfI 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 musthE 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".g 5-38t  r0 System Management InformationE If you encounter a collision, changing both of thefB identifier binary values (or names) involved inE the collision to new and unique values can prevent C security problems if you should miss a couple ofoF 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 forpE the identifier displayed, and no particular accessvE will be granted. And any DCL commands or such thatrH 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 OpenVMSmC Cluster and that can be involved when relocatingpF 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 (potentiallyIF corrupt) queue database are provided on the OpenVMSE Freeware (V5) and can be used to combine two queuetC databases together while shuffling files betweeng) OpenVMS Cluster hosts.lJ 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 the ' Ask The Wizard area: H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablecF ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCJ 5-39 i i0 System Management InformationD discussion forums; the area remains available for reference. D __________________________________________________________9 5.23 How do I delete (timeout) idle processes?hF 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 providesl? 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 processcI killers" (IPK) or "terminal timeout" programs, as welldJ 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.tI Also available is the XLNperformance system managementd, utility, from XLNsystems.A A related package (for DECwindows sessions) ist xtermlock._D If the forgetful users are in an application menuG environment, the menu can potentially be extended too+ provide this capability.dD __________________________________________________________C 5.24 Do I need a PAK for the DECevent (HP Analyze) tool?sD DECevent and HP (Compaq) Analyze are available toH customers with support contracts. The PAK is requiredI only for the advanced functions of DECevent, the basic E bits-to-text translation of the error log does not E 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 andy> notification capabilities within DECevent.)C Please see the following website for details andp& downloads: Analyze)= o http://www.compaq.com/support/svctools/s 5-40h  f0 System Management InformationD Also see the tool that is available on V7.3-2 and later. & $ ANALYZE/ERROR/ELVD __________________________________________________________> 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 theaH ANSI HDR1 record permits dates only as far as the endI of Year 1999. With ANSI X3.27-1987, dates through Year H 1999 and dates from Years 2000 to 2099 are permitted.C Versions of INIT.EXE and MTAACP.EXE from VAX/VMS J 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 is G known to encounter access violation (ACCVIO) errors. G The available solutions include upgrades, or settingaH the date back. Direct initialization of the tape withG the new headers (via $qio) is also clearly possible,J though the limitation within the old MTAACP.EXE magtape= ACP image is not nearly so easy to bypass. D __________________________________________________________7 5.26 How do I recover from INSVIRMEM errors?sE Prior to OpenVMS Alpha V7.0 and on all OpenVMS VAXEJ releases, VIRTUALPAGECNT and PGFLQUOTA limit the amountE of virtual address space that is available to each  process.pF Further limiting the amount of address space is theE size of system space (S0 and S1 space). On OpenVMStF Alpha versions prior to V7.0 and on all OpenVMS VAXF releases, VIRTUALPAGECNT and MAXPROCESSCNT togetherG determine the size of the page table data structures D 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-paged H pool, and various other structures-then the values ofH VIRTUALPAGECNT and MAXPROCESSCNT cannot be increased.J 5-41 D U0 System Management InformationG In OpenVMS Alpha V7.0 and later, the page table datalH 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 intoG 64-bit space, thus freeing up room in non-paged poolrH and in S0 and S1 space (where non-paged pool resides)E while also permitting much larger data structures. D __________________________________________________________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: F 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. Once E LOGINOUT starts up on the serial line, you can see H 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 terminal  line.D __________________________________________________________> 5.28 How does PCSI use the image BUILD_IDENT field?E The (undocumented) build ident field in an OpenVMSdF 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) G and was originally introduced to provide information J for use by VMSINSTAL patch kits to determine whether an3 image should be replaced or not._J 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 (aSF 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 andnI resolution. When a product is installed, PCSI modifiesiH 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 images 5-42n  h0 System Management InformationJ to obtain the generation information for those files asI input to the file conflict processing algorithm. (Only 6 images have this field, obviously.)H 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 tenoH 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 kitvH 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?oI For an image that has been built as part of an OpenVMSeE 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.aF During the installation of V7.2-1, PCSI will modifyC the image header to have a build ident string ofiC "X6TE-0050120000". During installation of an ECOuE kit containing this image with a generation number F 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.SH Ranges of PCSI generation numbers for various OpenVMSF releases are included in Table 5-1. The use of xxxxF indicates a range of generations is available, fromI 0000 to 9999, inclusive. The format of, the particularoJ 5-43 i a0 System Management InformationF operation of, and the assignment of PCSI generation? numbers is subject to change without notice.SJ ________________________________________________________________+ Table 5-1 PCSI Generation Number2J _______________________________________________________ Generation J Number____________Generation_Source____________________+ 0040100000 V7.1-2 0 004011xxxx V7.1-2 ECOs) 0050100000 V7.2. 005011xxxx V7.2 ECOs+ 0050120000 V7.2-1A0 005013xxxx V7.2-1 ECOs- 0050140000 V7.2-1H12 005015xxxx V7.2-1H1 ECOs+ 0050160000 V7.2-2r0 005017xxxx V7.2-2 ECOs) 0060000000 V7.3t. 006001xxxx V7.3 ECOs+ 0060020000 V7.3-1l0 006003xxxx V7.3-1 ECOs+ 0060100000 V7.3-2b0 006011xxxx V7.3-2 ECOs) 0070040000 V8.2m. 007005xxxx V8.2 ECOs+ 0070060000 V8.2-1 J _________007007xxxx________V8.2-1_ECOs__________________________D __________________________________________________________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. 5-44   0 System Management InformationF On OpenVMS Alpha, you can use VMSINSTAL.HISTORY andG PRODUCT SHOW PRODUCT to determine what packages have C been installed via the VMSINSTAL and PCSI tools, respectively.I To see which OpenVMS Alpha ECO kits have been applied,wF 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 andhH (for software that is installed via VMSINSTAL on V7.33 and later) in VMSINSTAL.HISTORY.sF For products installed on OpenVMS VAX prior to V7.3I using VMSINSTAL, there is no reliable way to determine D 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 DIRECTORYiH SYS$HELP:*.RELEASE_NOTES. Again, this approach is NOTI reliable: some kits do not provide release notes, some.G 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 command D __________________________________________________________C 5.30 What file checksum tools are available for OpenVMS? H The undocumented (prior to V8.2) DCL command CHECKSUMJ is the usual means, and provides a rather simple-mindedF checksum suitable to detect basic file corruptions.G Starting with V8.2, additional algorithms beyond theO4 classic XOR scheme are available.J 5-45 e a0 System Management InformationE One of the most common schemes beyond the CHECKSUMEG XOR scheme is MD5, and information and a source codesC example are available via the MD5 RFC. Pre-builthH versions of MD5 are available at the OpenVMS FreewareF website ( http://www.hp.com/go/openvms/freeware/ ),J and on the OpenVMS Freeware V8.0 distribution. Also seeJ the CHECKSUM/ALGORITHM=MD5 command available on OpenVMS" V8.2 and later.H 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_axpexep2 $ 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? C For information and current kits for the OpenVMS I 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/ D __________________________________________________________B 5.32 How to determine current disk fragmentation level?; The HP OpenVMS Disk File Optimizer (DFO) C defragmentation package provides a fragmentation G monitoring tool, and a DFO product authorization key H (PAK) is not required for the fragmentation reporting tool:- $ DEFRAG SHOW/VOLUME ddcu:eE The DFU tool available on the OpenVMS Freeware canS? generate a report on the disk fragmentation:h$ DFU> REPORT ddcu: 5-46n  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 thee following:a: %SYSBOOT-I-FILENOTLOC, Unable to locate. SYS$CPU_ROUTINES_1C02.EXE= %SYSBOOT-E-LDFAIL, failed to load execlet, & status = 00000910F indicates that the particular OpenVMS Alpha releaseG does not contain support for the target platform. In(H 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 files $) $ x = f$message(%x910)a" $ show symbol x= X = "%SYSTEM-W-NOSUCHFILE, no such file"f $- Also see Section 14.4.4.1. D __________________________________________________________E 5.34 How can I customize the DCPS device control for a newq 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 modulesI? from the existing device control library,vF DCPS$DEVCTL.TLB. (For instance, you can probablyA extract and use the HP LaserJet 4000 series G definitions for the HP LaserJet 4050 series. EachrC printer will vary, please consult the printertD documentation for specifics and requirements.)J 5-47  a0 System Management Information= o rename each extracted setup module to as$ 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, ( 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 parametertA in the queue startup for this printer, thistB is the P3 parameter to the command procedure; SYS$STARTUP:DCPS$EXECUTION_QUEUE.COM.eC o The HP4050_DEVCTL library may/will need to bedG 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.tD o To customize the processing of file extensionsG within DCPS (to enable or disable graybar output,iF for instance), use the information available in:K SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT_DEFAULTt4 to create your own site-specific:@ SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT) Also see Section 5.15.  5-48e t f0 System Management InformationD __________________________________________________________D 5.35 Why do $GETDEV MOUNTCNT and SHOW DEVICE mount counts differ?IE MOUNTCNT returns the local mount count, while SHOW ? DEVICE returns the cluster-wide mount count.fD __________________________________________________________@ 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.html A You may also require the installation of an IP # transport stack.gE Also please see Section 15.2.2 and Section 15.2.3.tD __________________________________________________________A 5.37 How do I remove a PCSI-installed patch (ECO) kit?aD You cannot PRODUCT REMOVE a PCSI patch (ECO) kit.I In order to remove an ECO kit, PCSI would have to have D 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.rG The following is the supported mechanism to remove a " 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.eI This will remove all patch kits, setting to productc3 back to "original" condition. J 5-49  c0 System Management InformationI 4 Re-install all the patches in the list from step 1, H except those patches which you have determined you" do not want.E The above information also applies to PCSI PARTIALo kits.D __________________________________________________________H 5.38 SYSINIT-E, error mounting system device, status=0072832CB This message can arise during an OpenVMS system bootstrap...tV %MOUNT-F-DIFVOLMNT, different volume already mounted on this deviceC For details and further information, use the DCL  command:2 $ HELP/MESSAGE /STATUS=%X72832CD __________________________________________________________/ 5.39 Resolving License PAK Problems?_F 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.0F 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.)_D The PAK version indicates the most recent product< version that is permitted by the license.G Having multiple license PAKs registered (and active) I can also cause problems if an expired PAK gets loaded. H 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-fH disk cluster, with a consistent set of /INCLUDE lists@ specified across each of the duplicated PAKs. 5-50   0 System Management InformationF Additionally, you could have an invalid LMF$LICENSEC logical name defined. (If no LMF$LICENSE logical G name is defined, the standard license database named < 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 TRUEO= Enable your terminal as a license operatoreB (REPLY/ENABLE=LICENSE), define the LMF$DISPLAY_G OPCOM_MESSAGE logical name, and then try the failingmD operation again. You should see one or more OPCOM& messages displayed.I If you have the LMF$DISPLAY_OPCOM_MESSAGE logical name F 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. Once I you figure out which license has failed, you will want 1 to deassign this logical name.R1 Note G That there are no license check failures does notaG indicate that the particular product or operationOD or use is permissible per applicable licensing? agreements. Please consult the applicablehD agreement(s) for licensing-related information' and requirements. C To register a license PAK on a DECwindows systemeF 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 userF of the AUTHORIZE command. In place of the AUTHORIZEI command, use the console to register the license PAKs.iJ Also see Section 12.4 for licensing and troubleshooting information.E For information on licensing and on the numbers of J license units required for various products and variousH platforms, the License Unit Requirements Table (LURT)# is available at:IJ 5-51 h 0 System Management InformationC o http://www.compaq.com/products/software/info/rD __________________________________________________________4 5.40 Changing the OpenVMS Version Number?J Fool your friends, baffle your enemies, run the OpenVMSH version of your choice! Instantly back-port all thoseD useful new OpenVMS features to an ancient OpenVMS version! , On OpenVMS Alpha systems:5 $ SET DEFAULT SYS$COMMON:[SYS$LDR]  $ RUN SYSVER  REPLACE V9.9u WRITE $ EXIT C How does SYSVER work? SYSVER looks for SYS$BASE_ > IMAGE.EXE within the default directory, andE updates the version string stored within. And yes, I obviously, SYS$BASE_IMAGE.EXE resides in the directory ( SYS$COMMON:[SYS$LDR].* On OpenVMS VAX systems:5 $ set default SYS$COMMON:[SYS$LDR]e8 $ copy SYS.EXE SYS.EXE_IN-CASE-I-FAIL" $ patch SYS.EXE1 define sys$gq_version=800044b8m! set mode ascii * !examine sys$gq_version, !examine sys$gq_version+44 deposit sys$gq_version = "V9.9"4 deposit sys$gq_version+4 = " " updatet exita $ Exitr: Then reboot the system at your leisure. 5-52s t o0 System Management InformationD __________________________________________________________E 5.41 How to prevent users from choosing obvious passwords?oG To prevent users from selecting obvious passwords on,F OpenVMS, you will want to use the reserved passwordI (password screening) mechanism. Effectively, you mergepD 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 password G database (VMS$PASSWORD_DICTIONARY.DATA), and detailsaD of how to merge your list of prohibited passwordsG into the database, please see the associated chapter_E in the OpenVMS security manual. For details of thelC password expiration mechanism, see the AUTHORIZE 1 command qualifier /PWDEXPIRED. I You can also implement a site-specific password filterrC with the information provided in the back of the D OpenVMS Programming Concepts manual. The passwordG filter permits you to establish particular and site- F specific password requirements. For details, pleaseC see the system parameter LOAD_PWD_POLICY and the G programming concepts manual, and see the examples in E SYS$EXAMPLES:. (Examples and documentation on V7.3 E and later reflect both platforms, the examples are F 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 "dictionaryJ 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,oG 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 notJ 5-53 u r0 System Management InformationG know nor have access to the (cleartext) passwords of  other users.D Accordingly, OpenVMS does not store the cleartestE password. Further, OpenVMS uses a password hashingwJ algorithm, not an encryption algorithm. This means thatJ storage of a cleartext password is deliberated avoided,I and the cleartext value is deliberately very difficulttF to obtain. The hash is based on a Purdy Polynomial,G and the hash itself includes user-specific values inEI addition to the password, values that make the resultse< of the password hash unique to each user.I Regardless of the use of a password hashing scheme, if J 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. E If you should require a user to verify a password, F 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 hashedeE value (using a call to $hash_password) against the H 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 dooG not maintain the cleartext password in memory longereH than required. (Use of sys$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-r. party products is expected.A External authentication is available in V7.3-1 D and later, with support for user-written external6 authentication in V7.3-2 and later.C If you are simply looking for OpenVMS access andmD the SYSTEM and all other privileged passwords areI forgotten or otherwise unavailable, please see sectionnD Section 5.6 and/or the OpenVMS documentation set.H Also please see the NCSC C2 guidelines in the OpenVMS# security manual.  5-54c y r0 System Management InformationD __________________________________________________________? 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 toDJ ensure BACKUP can perform an incrementation restorationC of the files. In particular, if a directory filelI modification date changes, all files underneath it areI included in the BACKUP, in order to permit incrementalC restoration should a directory file get renamed.o' _____________________________ J 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 theiI directory and its contents, and the restoration should_G not result in the restoration of the older directorytJ 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 wascB latent with the old BACKUP selection scheme-theB old incremental BACKUP scheme would have missedG restoring any files under a renamed directory. HenceaF the change to the selection mechanisms mentioned in" Section 5.42.1.' ______________________________> 5.42.1.2 Can you get the old BACKUP behaviour back?I Yes, please see the /NOINCREMENTAL qualifier availablelD 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 aroundi1 incremental disk restorations. J 5-55  I0 System Management Information' _____________________________ > 5.42.2 What can I do to improve BACKUP performance?@ Use the documented commands in the manual forE performing incremental BACKUPs. Use the documenteduG incremental procedures. Don't try to use incrementaln9 commands in a non-incremental context.aG Also consider understanding and then using /NOALIAS,eJ 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.H See the OpenVMS documentation for additional details.H Ignoring hardware performance and process quotas, theJ performance of BACKUP during a disk saveset creation is6 typically limited by three factors:) 1 Default extend sizeaE The default behavior can have poor performance,C as the extend operation can involve extensiveoH additional processing and I/O operations. ConsiderI changing the default extend value on the volume, or 8 change the extend for the process:, $ set rms/extend=65000$ 2 Output IO sizeG The default IO size for writing an RMS sequentialoF file is 32 blocks, an increase from the value ofI 16 blocks used on earlier versions. Setting this to H the maximum of 127 can reduce the number of IOs by+ almost a factor of 4: ) $ set rms/block=127eG Note that the performance might be better on some I controllers if the block count is a multiple of 4 -s e.g. 1247 3 Synchronous writes to the saveset F Starting with OpenVMS V7.3, you can now persuadeF RMS to turn on write-behind for sequential filesI opened unshared. (Please see the V7.3 release notesuI or more recent documentation for details.) EnablingoF the write-behind operations involves setting theD dynamic system parameter RMS_SEQFILE_WBH to 1. 5-56s  l0 System Management InformationF This parameter is dynamic, and it can be enabledG and disabled without a reboot, and changes in itsyF setting can and will directly effect the runningJ system. In order to get the full benefit from write-F behind operations, you also need to increase theG RMS local buffer count from the default of 2 to a J larger number. Raising the value to 10 is probably a? reasonable first estimate for this value.- $ run sys$system:sysmank+ PARAMETERS USE ACTIVEe6 PARAMETERS SET RMS_SEQFILE_WBH 1- PARAMETERS WRITE ACTIVEx EXIT@ $ SET RMS/BUFFER=10/EXTEND=65000/BLOCK=127N $ BACKUP source-specification ddcu:[dir]saveset.bck/SAVE' _____________________________ 8 5.42.3 Why is BACKUP not working as expected?C First, please take the time to review the BACKUPaE documentation, and particularly the BACKUP commandcF examples. Then please download and install the mostI current BACKUP eco kit. Finally, please please set theJ process quotas per the System Management documentation.B These steps tend to resolve most problems seen.A BACKUP has a very complex interface, and there0C are numerous command examples and extensive usersH documentation available. For a simpler user interfaceC for BACKUP, please see the documentation for theA' BACKUP$MANAGER tool.VE As for recent BACKUP changes, oddities, bugs, etc: I o A change made in OpenVMS V6.2 WILL cause more files E to be included into a file-based BACKUP saveset E using /SINCE=BACKUP as all files underneath any E directory with a sufficiently recent (selected) G date will be included in the saveset. This change0F was deliberate and intentional, and was mandatedE by the need to provide a functional incrementalx" restoration.J 5-57 C _0 System Management InformationE Without the inclusion of these apparently-extraaG files, an incremental saveset can NOT be reliablyl 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?)r* 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.eJ o Get the current BACKUP ECO kit and install it BEFORE? you attempt to troubleshoot any problems.LG o Learn about the /NOINCREMENTAL (new) and /NOALIASrE (V6.2 and later) command qualifiers. The formertH qualifier returns to the pre-V6.2 behaviour of theG /SINCE file selection mechanism, while the latteryE (specified with /IMAGE) reduces the replicationRH 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 selecteds9 and thus included into the saveset.eF Learn what /IGNORE=INTERLOCK means. This commandG probably does not provide what you think it does-eG those file system interlocks that this command istH ignoring were implemented for a reason, after all.G Ignoring these interlocks can lead to missed dataoH and potentially to corruptions to individual filesH stored within the output saveset, corruptions thatE may or may not be reported. For details on this_F BACKUP command qualifier, please see the Ask The* Wizard topic (2467). 5-582 C o0 System Management Information= When working with the BACKUP callable API: J 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 repairedaI via a BACKUP ECO kit. Do NOT build your applicationCF 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.e' _____________________________,8 5.42.4 How do I fix a corrupt BACKUP saveset?I BACKUP savesets can be corrupted by FTP file transfersiF 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 OpenVMSH file attributes; use the zip "-V" option), as well as2 via other means of corruptions.H If you have problems (eg: NOTSAVESET errors) with theG BACKUP savesets after unzipping them or after an FTP_G file transfer, you can try restoring the appropriaten5 saveset attributes using the tool: 1 $ BACKUP/LIST saveset.bck/SAVEp) Listing of save set(s)oR %BACKUP-F-NOTSAVESET, saveset.bck/SAVE is not a BACKUP save setT $ @SRH:[UTIL]RESET_BACKUP_SAVESET_FILE_ATTRIBUTES.COM saveset.bck1 $ BACKUP/LIST saveset.bck/SAVE_) Listing of save set(s) 1 Save set: saveset.bcke. Written by: username ...E This tool is available on the OpenVMS Freeware (in G the [000TOOLS] directory). The Freeware is available F at various sites-see the Freeware location listingsH elsewhere in the FAQ-and other similar tools are also2 available from various sources.J 5-59 h 0 System Management InformationF 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 oraF ascii FTP transfer modes) are notorious for causingG RMS file corruptions and particularly BACKUP savesetlD corruptions. You can sometimes help encourage theG browser to select the correct FTP transfer type code ! (via RFC1738):pA o ftp://host/urlname.ext;type=i ! request ftp + image/binary transferiA o ftp://host/urlname.ext;type=a ! request ftp ) ascii/text transferiJ 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 ahI customization menu available in most web browsers. YouH can select that the specific file extentions involvedJ use the FTP binary transfer mode, which will reduce the. number of corruptions seen.' ______________________________C 5.42.5 How do I write a BACKUP saveset to a remote tape?eG How to do this correctly was described at DECUS long G ago. On the OpenVMS host with the tape drive, createi3 the following SAVE-SET.FDL file:t RECORDu8 FORMAT fixed7 SIZE 8192  5-60   0 System Management Information1 Then create BACKUP_SERVER.COM:e $ !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.s, $ dismount/unload tapedev $ stop/id=0G On the node where you want to do the backup, use the  DCL command:b $ backup - $ srcfilespec -K node"user pwd"::"task=backup_server"/block=8192/saveLF 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. I BACKUP likely will not be able to perform an XOR-based @ recovery across reel or cartridge boundaries.I Unfortunately BACKUP can't read tapes over the network D because the RMS file attributes on a network taskE access look wrong; the attributes reported includea+ variable length records. ' _____________________________e= 5.42.6 How to perform a DoD security disk erasure?o? Sometimes refered to as disk, tape, or mediatG declassification, as formatting, as pattern erasure,nC or occasionally by the generic reference of data,G remanence. Various references to the US Deparment ofCJ Defence (DoD) or NCSC "Rainbow Books" documentation are- also seen in this context.LJ 5-61 . 0 System Management InformationG While this erasure task might initially appear quite_G easy, basic characteristics of the storage media andnF 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 centralpH factors in this discussion and in the decision of theI appropriate resolution, as is the value of the storagec% hardware involved. C 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 (and E potentially in conjunction with the $erapat system C service) and OpenVMS Ask The Wizard (ATW) topics G including (841), (3926), (4286), (4598), and (7320).uD 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. D For the prevention of casual disk data exposures,C a generic INITIALIZE/ERASE operation is probably ? sufficient. This is not completely reliable, E particularly if the data is valuable, or if legal, A administrative or contractual restrictions areE 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 overwrite_ 5-62_ _ _0 System Management InformationH operation is likely sufficient to prevent the typical+ information disclosures.pC You will want to consult with your site security I officer, your corporate security or legal office, withaE HP Services or your prefered service organization,$E or with a firm that specializes in erasure or data_I declassification tasks. HP Services does traditionallye@ offer a secure disk declassification service.' _____________________________r9 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:TB $ DEFINE/SYSTEM/EXECUTIVE TCPIP$RLOGIN_VTA TRUEB $ DEFINE/SYSTEM/EXECUTIVE TCPIP$TELNET_VTA TRUEI See SYS$STARTUP:SYLOGICALS.TEMPLATE for details on thed6 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.EXEcJ 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:s) TTY_DEFCHAR2 = %X20000 2 This value is TT2$M_DISCONNECT.F 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=VIRTUALJ 5-63  $0 System Management Information' _____________________________ ; 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 asLH 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 webpagee7 and the information available there:SB o http://www.openvms.compaq.com/openvms/fibre/C Mini-Merge support was originally intended to be F 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 volumecI shadowing-to most other (all other?) supported storage  devices. E The following sections describe both Mini-Copy and G Mini-Merge, and can provide a basis for discussions. ' _____________________________T 5.42.7.1.1 Mini-Copy?I A Shadowing Full Copy occurs when you add a disk to annG existing shadowset using a MOUNT command; the entiretE contents of the disk are effectively copied to the F 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 theC read step, until the data is equal for that 127- F 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.) 5-64_ _ _0 System Management InformationG If you warn OpenVMS ahead of time (at dismount time)eI that you're planning to remove a disk from a shadowsetlB 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-eG map indicates are now out-of-date. OpenVMS does thiswH with a read source / write target algorithm, which isG much faster than the shenanigans the Full Copy does,AI so even if all of the disk has changed, a Mini-Copy is+ faster than a Full Copy.' _____________________________O! 5.42.7.1.2 Mini-Merge?cF A Shadowing Merge is initiated when an OpenVMS nodeI in the cluster (which had a shadowset mounted) crashesdH 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' contents_H 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 theoH area containing the read data, then allow the read to occur.sB 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,H 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 a & regular full Merge.J 5-65  0 System Management InformationD __________________________________________________________; 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 the F 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 with D multiple overwrite erase patterns in use; for anyH systems where the DELETE/ERASE erasure operation will take a while.D __________________________________________________________' 5.44 Managing File Versions?iA Some applications will automatically roll fileeE version numbers over, and some will require manual"J intervention. Some will continue to operate without theI ability to update the version, and some will be unableSI to continue. Some sites will specifically (attempt to)aH create a file with a version of ;32767 to prevent the5 creation of additional files, too. D To monitor and resolve file versions, you can use& commands including:6 $ SET FILE/VERSION_LIMIT=n filename> $ SET DIRECTORY/VERSION_LIMIT=n [directory]E And you can also monitor file version numbers, and I can report problems with ever-increasing file versions G to the organization(s) supporting the application(s)H generating files with ever-increasing version numbersA for details on potential problems, and for any G recommendations on resetting the version numbers fornE the particular product or package. If required, ofs course.F The following pair of DCL commands-though obviouslyC subject to timing windows- can be used to renameeG all the versions of a file back down to a contiguousc6 sequence of versions starting at 1:4 $ RENAME file.typ;* RENAME.TMP;2 $ RENAME RENAME.TMP;* file.typ; 5-66w , l0 System Management InformationH The key to the success of this RENAME sequence is theH specification of (only) the trailing semicolon on theC second parameter of each of the RENAME commands.wE You may also see the numbers of files reduced withdF DELETE commands, with multiple directories, or withA PURGE commands such as the following examples:l' $ PURGE/BEFORE="-2-"r, $ PURGE/BEFORE="TODAY-2-"# $ PURGE/KEEP=10"dH You can use DFU (Freeware) to quickly and efficientlyD scan for all files with large(r) version numbers:2 DFU SEARCH/VERSION=MINIMUM=nnnnD If you are creating or supporting an application,G selecting temporary or log file filenames from amongtH a set of filenames-selecting filenames based on time,E on process id, on the day of week, week number, orrJ month, on the f$unique lexical (V7.3-2 and later), etc-H is often useful, as this approach more easily permitsG on-line adjustments to the highest file versions andiC easily permits on-line version compression using D techniques shown above. With differing filenames,D you are less likely to encounter errors resultingE from files that are currently locked. You can also G detect the impending version number limit within the H application, and can clean up older versions and roll@ the next file version creation to ;1 or such.( Also see Section 9.4.D __________________________________________________________5 5.45 Host-based Volume Shadowing and RAID? J Host-based Volume Shadowing (HBVS) is Disk Mirroring is RAID Level 1.D HBVS is capable of shadowing devices of different> geometries, of different block counts (withE dissimilar device shadowing; allowing for mixturesgD of hardware) and-with dynamic volume expansion-ofE growing volumes on the fly, and HBVS is capable of G shadowing/mirroring/raid-1 operations across clusterhD configurations up to the full span-please see theJ 5-67 n e0 System Management InformationB Cluster SPD for the current supported span; theF supported span limit is currently multiple hundredsG of kilometers-of a cluster. HBVS can be layered onto 7 controller (hardware) RAID, as well.eI For information on host-based striping, please see thee- StorageWorks RAID product.  5-68f c eJ _______________________________________________________& 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, thenUD 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 counteF 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 mailsG messages. Then enter the command one more time. This 3 will resynchronize the counters. G If you are operating in a cluster and find your mail C counts inconsistent across cluster members, your_J customer is likely missing a definition of the VMSMAIL_D PROFILE logical name-and is probably also missingE definitions of other logical names associated withuE other shared files-or has one or more inconsistentaI definitions of this and likely of other logical names. C For details on the configuration data files that > must be shared within a cluster, please seeE SYS$STARTUP:SYLOGICALS.TEMPLATE on V7.2 and later. D __________________________________________________________= 6.2 How do I send or read attachments in VMS MAIL?dF Is there any way to send or read mail with files as( attachments from VMS?J 6-1 m d& Information on MailI Not directly with the OpenVMS MAIL facility, but theren- 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 theo4 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/G o If you are working from an X Windows display, youtJ can use the OpenVMS version of Netscape Navigator orJ Mozilla. The mail download protocol chosen to accessH the mail server from the Navigator or Mozilla mailH client can be POP or IMAP, with the former causingH messages to be downloaded while the latter permitsF messages to be retained on the mail server. Most8 folks prefer IMAP for this reason.G o MPACK/MUNPACK. To send a MIME mail, construct the H message with attachments manually using MPACK. YouJ cannot send the resulting file directly through MAILI because an extra blank header line will be inserted H 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 provideI a work around for this problem, and if that doesn't E 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:aQ o http://saf.bio.caltech.edu/pub/software/openvms/mmail.com C 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. G MPACK/MUNPACK tools are also available on OpenVMSS$ Freeware V5.0.D o With OpenVMS V7.2 and later, use the MIME tool, supplied with OpenVMS. 6-2 P u& Information on MailD __________________________________________________________4 6.3 How can I block SMTP mail relay spam?G Use the anti-spam capabilities present in the TCP/IPn8 Services V5.1 and later SMTP servers." Use a firewall.G On earlier TCP/IP Services releases, some simple DCLsF can reportedly prevent relay SMTP spam. Use the UCXG command SHOW SERVICE SMTP/FULL to find the directoryeE containing the UCX$SMTP_RECV_STARTUP.COM file, and , insert the following DCL: $ !e $ ! Block spam.n $ ! P $ MY_ADDRESS_LONG[0,32]=F$INTEGER(F$TRNLNM("SYS$REM_NODE")-"::")R $ MY_ADDRESS=F$FAO("!UB.!UB.!UB.!UB",F$CVUI(0,8,MY_ADDRESS_LONG),-M F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),-m2 F$CVUI(24,8,MY_ADDRESS_LONG))'"> $ MY_ADDRESS_REVERSE=F$FAO("!UB.!UB.!UB.!UB",-N F$CVUI(24,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),-M F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(0,8,MY_ADDRESS_LONG))'" S $ WRITE SYS$OUTPUT F$TIME()+" "+F$TRNLNM("SYS$REM_NODE")+MY_ADDRESSeD $ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.INPUTS.ORBS.ORG! $ IF $STATUS.EQ.1r $ THEN? $ WRITE SYS$OUTPUT "SPAM from relay rejected"  $ EXIT $ ENDIFI $ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.SPAMSOURCES.ORBS.ORG ! $ IF $STATUS.EQ.1a $ THENA $ WRITE SYS$OUTPUT "SPAM source relay rejected" $ EXIT $ ENDIF  $ !O! $ ! Run receiver.  $ !m6 $ run sys$system:ucx$smtp_receiver.exe $ goto exitmJ 6-3 n mJ _______________________________________________________+ 7 Information on Utilities D __________________________________________________________; 7.1 How do I play an audio CD on my workstation? F 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 DIAGNOSEuF privileges, and run the .EXE. (These privileges areG required, as the access to the CD-related extensions G will require the use of the privilege-protected IO$_lD 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 applicableu/ (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.eE The standard OpenVMS ATA (IDE) SYS$DQDRIVER devicenA driver does not support the necessary does notiC support the necessary IO$_DIAGNOSE function codea@ 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 audioF 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 ECO2C kits containing newer versions of the driver are1E available. Freeware V6.0 has a version of DQDRIVERpF that is newer than that of the OpenVMS Alpha V7.3-2J 7-1 d + Information on UtilitiesiJ 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 fromn OpenVMS?eG The HP Advanced Server (formerly known as PATHWORKS)eB for OpenVMS product includes an unsupported andH undocumented utility called PCDISK, and this tool canH read and write various Microsoft MS-DOS and MicrosoftG Windows FAT-format diskettes, and can usually access I FAT-format volumes written by other operating systems. 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 VAKSATRH which will read, write, and erase files on MS-DOS FATG diskettes. Available for both VAX and Alpha. Contacte; ed@cityscape.co.uk for more information. E MadGoat PC Exchange (PCX) is a utility for copyingiG files to and from MS-DOS and Microsoft Windows (FAT)eH 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.S- o http://www.madgoat.com/ F The Freeware package WINFX is available on Freeware? V6.0, and can read the FAT volume structure. < o http://www.hp.com/go/openvms/freeware/ 7-2 a i+ Information on UtilitiesSD __________________________________________________________E 7.3 How do I play sound files on an AlphaStation? DECsoundb doesn't work.F Various of the more recent AlphaStation systems useH a different sound board (Microsoft Sound System) thanE the earlier DEC 3000 series systems, and DECsound,oC as supplied by DECwindows Motif, doesn't supporttG this board nor this interface. HP offers an optional C product, Multimedia Services (MMOV) for OpenVMS:F9 o http://h18000.www1.hp.com/info/spd/=H OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,' and SPD 82.35.xx. J which provides a replacement for DECsound for this cardJ as well as many other features (an AVI and MPEG player,/ video capture support, etc.)a; Ensoniq sound support is also available.sD __________________________________________________________9 7.4 How do I read IBM EBCDIC tapes on OpenVMS?iJ 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 bewI used to transfer fixed-record-size text files out onto G tape media, or to read from fixed-record tape media.fG Please consult the IBM documentation for the details J 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,CG 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.k0 o http://www.encompassus.orgB OpenVMS does not include an integrated tool forG EBCDIC tape processing, but does provide a characterpE conversion API useful within application programs.wJ 7-3  + Information on Utilitiesp+ One source for ETAPE is:c< o http://www.ualr.edu/ftp/vms/ETAPE_SRC/G The OpenVMS Freeware V5.0 distribution included thise' ETAPE tool, as well. D __________________________________________________________6 7.5 How can I patch an OpenVMS Alpha image?7 Using the OpenVMS Freeware tool ZAP:pH 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 informationRG based on the virtual block number (VBN), using X fordG 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 Wt6 command to write the updated block. 7-4  gJ _______________________________________________________ 8 DCL DetailsD __________________________________________________________5 8.1 DCL Symbols and OpenVMS Logical Names?nJ DCL symbols are programming-style variables implementedD within the DCL command interpreter, and these areC used both for programming and to provide commandaB verb synonyms. Symbols are local to the commandE interpreter operating within a particular process,J and are not shared. Lists of symbols can be copied intoG subprocesses during a subprocess creation operation, E but these symbols are neither copied back into the D parent process when the subprocess exits, nor are8 symbols ever shared across processes.D Symbols can be specified in and utilized in basicH mathematical operations, and bit-level operations areF available with the f$cvsi and f$cvui bit extractionB lexical functions, and with the square-bracketsF notation for bit insertion (see Section 8.13 for anG example), and with bitwise operators. Symbols are ofrH two basic types, STRING and INTEGER, and these (or anJ undefined symbol) can be differentiated with the f$typeF lexical function. DCL symbols can also be used as aI mechanism to abbreviate a DCL command verb, or an easye9 way to invoke a DCL command procedure.tB Symbols can have local or global scope within aE process, and scope is affected by nested procedureaG calls and DCL constructs such as CALL and SET SCOPE,bD but such discussions are beyond the scope of this section.G OpenVMS Logical names can store device names, device E and directory specifications, rooted or searchlist H specifications, and full filenames. Logical names canE also store arbitrary data, but there are no native I mathematical or bitwise operators available. Analogous E to DCL symbols, process-local logical names can be H copied into subprocesses during a subprocess creationJ 8-1 e p DCL DetailsG operation, but these process-local logical names are G neither copied back into the parent process when the E subprocess exits, nor are these logical names ever  shared.H Logical names are implemented deep within the OpenVMSI executive, and are organized into logical name tables.vE Logical names can be stored in tables private to alG process( LNM$PROCESS, the process-local logical nameoJ table) , that can be shared among processes in the sameH job tree ( LNM$JOB, the job logical name table) or inJ logical name tables that are shared among larger groupsE of processes (eg: LNM$GROUP, the UIC group logicalsJ name table and LNM$SYSTEM, the system-wide logical nameJ table). Logical names are centrally intended to provideE various I/O-related capabilities, including deviceaJ independence and configuration customization-correctly-H written application programs can use logical names toJ avoid embedding specific device or device and directoryJ specifications, and to allow filename and configuration" customizations.I One of the most powerful capabilities of logical namessG beyond the device independence provided involves the_C defaulting capabilities; you can use RMS parsingD (directly, or with mechanisms such as the f$parseH lexical function) to provide a filename and a defaultH filename. To provide the mechanism that allows SYSUAFD to be located in an arbitrary position or even anA arbitrary filename, a construct similar to theS% following is used:i> $ UAF = F$PARSE("SYSUAF","SYS$SYSTEM:.DAT")C This design allows the logical name SYSUAF to belH optionally defined, and - when present-to specify theE particular location and name of the file. PortionsIF of the full file specification that are omitted areI retrieved using the default translation of SYS$SYSTEM:v- and the file type of .DAT.EG Logical names also have assigned processor modes, asaH some translations must be trustworthy. In the exampleI above, only trusted and privileged system users shouldSI be able to redirect the SYSUAF authorization database,  8-2   DCL DetailsG so any definition of the SYSUAF logical name must be J made in EXECUTIVE mode in a trusted logical name table.G As for common OpenVMS terminology, logical names are H "defined" and the associated processing is refered toH as "translation", while symbols are "equated" and theI associated processing is refered to as "substitution". D "Lexical functions" are processing routines builtH into DCL, and typically prefixed with f$. Many of theI lexical functions are built upon correspondingly-namedm3 system services, though not all.eG Symbol substitution occurs only when the DCL commandaD interpreter is reading and processing the commandI input; for information on DCL symbol substitution, seetI Section 8.10. For program access, see the RTL routines86 lib$set_symbol and lib$get_symbol.)J For information on logical name translation, please seeH f$trnlnm lexical function and the DCL commands DEFINEF and DEASSIGN, as well as underlying system servicesF such as sys$trnlnm. Logical name translation occursE when requested, or as the file or I/O operation is started.tE Please see the OpenVMS User's Guide in the OpenVMS H documentation set for a far more detailed description' of these constructs.pE For related materials, please see Section 8.10 and_ Section 8.11.D __________________________________________________________5 8.2 How do I run a program with arguments? E The RUN command does not accept arguments. To passfF arguments to a program, you must use what is calledF a "foreign command", and either an explicit commandF as shown here, or an automatic foreign command. For example: 3 $ unzip :== $disk:[dir]unzip.exeb $ unzip -?rJ 8-3 n ( DCL DetailsG 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 automatic B foreign command definition via the logical nameG DCL$PATH. An example of a definition of this logicalo name is: M $ 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 is H 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, I the DCL$PATH support will cause a command procedure to E be activated in preference to an executable image. A For more information on foreign commands or on E automatic foreign command support, see the OpenVMS_! User's Manual.i) 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) (typicallytF DCL). This is done by placing the command line in aH file, specifying SYS$SYSTEM:LOGINOUT.EXE as the imageI to run and the command file as the input. For example:g2 $ OPEN/WRITE CMD TEMP_INPUT.COM6 $ WRITE CMD "$ MYCOMMAND arguments" $ CLOSE CMDK $ RUN/DETACHED SYS$SYSTEM:LOGINOUT /INPUT=TEMP_INPUT.COMdF 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 asnI DCL to perform requested actions, and will not operateg- if a CLI is not available.  8-4   DCL DetailsE When a CLI is not available, these calls typicallydF 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.tJ 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.e) Also see Section 8.12._D __________________________________________________________1 8.3 How can I clear the screen in DCL? C The simplest way is the TYPE/PAGE NLA0: command. F You can set up a symbol to clear the screen in your LOGIN.COM:o, $ CLS :== TYPE/PAGE NLA0:D __________________________________________________________B 8.4 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 thiskG work, use the following sequence to enable the OPA0:_G console as the operator terminal, then the REPLY/LOGS, command will be accepted:3 $ DEFINE/USER SYS$COMMAND _OPA0:l $ REPLY/LOG3 $ DEFINE/USER SYS$COMMAND _OPA0:o! $ REPLY/ENABLEtG To disable the system console terminal (OPA0:) as ann@ operator terminal, use the following command:3 $ DEFINE/USER SYS$COMMAND _OPA0:" $ REPLY/DISABLEJ 8-5 u n DCL DetailsH Also see SYLOGICALS.COM (and SYLOGICALS.TEMPLATE) forE information on configuring the behaviour of OPCOM,uD including the (default) use of the system consoleD (OPA0:) as an operator terminial and the specificI contents and behaviour of the system operator log fileg OPERATOR.LOG.D __________________________________________________________8 8.5 How do I generate a random number in DCL?@ With V7.3-2 and later, f$unique can be usefulF here. Alternatively, here is a pseudo-random numberH generator, just do a GOSUB RAND and the global symbolG RANDOM will contain a randomly generated number. You H can feed the generator a ceiling value (__CEIL) or a% new seed (__SEED). M $! RAND - returns a positive random number ("RANDOM") between 0 andR $! __CEIL - 1. - $! sharris-at-sdsdmvax.fb3.noaa.gov  $ RAND: $f& $ IF F$TYPE(__SEED) .EQS. "" $ THEN7 $ ! seed the random number generator, ...i" $ __NOW = F$CVTIME()0 $ __HOUR = 'F$EXTRACT(11,2,__NOW)'2 $ __MINUTE = 'F$EXTRACT(14,2,__NOW)'2 $ __SECOND = 'F$EXTRACT(17,2,__NOW)'0 $ __TICK = 'F$EXTRACT(20,2,__NOW)' $eK $ __SEED == __TICK + (100 * __SECOND) + (6000 * __MINUTE) + -l$ (360000 * __HOUR)N $ ! the generator tends to do better with a large, odd seed, ...) $ __SEED == (__SEED .OR. 1)e $ ! clean up, ...f$ $ DELETEX/SYMBOL __NOW% $ DELETEX/SYMBOL __HOUR:' $ DELETEX/SYMBOL __MINUTE=' $ DELETEX/SYMBOL __SECOND % $ DELETEX/SYMBOL __TICKo $ ENDIF $t? $ IF F$TYPE(__CEIL) .EQS. "" THEN __CEIL = %X3FFFFFFFs 8-6 e e DCL Details $o( $ __SEED == __SEED * 69069 + 1 $tA $ RANDOM == (__SEED.AND.%X3FFFFFFF)/(%X40000000/__CEIL) $  $ RETURND __________________________________________________________, 8.6 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 iseI intended to activate RSX compatibility mode utilities.eE When used on OpenVMS, the command is most commonly G used to run the specified image and-because the toolnG detects the image is not a compatibility-mode image- D 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 similar 8 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 thexH DCL$PATH mechanism is preferred. For details on this,# see Section 8.2.gD __________________________________________________________9 8.7 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, yousD will need to establish a tie-in that provides theE information to the SET PROMPT command as required. C If you wish to display the default directory forrE instance, you will have to establish a tie betweenaJ the SET DEFAULT command and the SET PROMPT commands, asI there is no direct way to get the default directory asJ 8-7   DCL DetailsI the DCL prompt. You can easily acquire or create a setII of DCL command procedures that perform the SET DEFAULTdG and SET PROMPT for you. These DCL command proceduress/ often use a command such as:i: $ 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.iB (This approach likely involves some kernel-modeD programming, and requires write access to various9 undocumented OpenVMS data structures.)EJ There are related tools available from various sources,5 including the following web sites: 6 o ftp://ftp.hhs.dk/pub/vms/setpmt/? o ftp://ftp.tmesis.com/sys_service_hook.src J 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 tosE perform this task. Visit the newsgroup archivesw3 for information and examples.eD __________________________________________________________C 8.8 Can I do DECnet task-to-task communication with DCL?o1 Yes, you can do this with DCL. H The OpenVMS DECnet documentation shows various simpleI examples using the task object and the TYPE command to_H 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:H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums) 8-8 r  DCL DetailsD For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablehF ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.iH 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 avoidJ 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.9 How can I get the width setting of a terminal?A; $ width = f$getdvi(terminal,"DEVBUFSIZ")lD __________________________________________________________9 8.10 Why doesn't DCL symbol substitution work?eE The DCL symbol substitution processing occurs onlyrD at the DCL prompt, not within data and not withinG files. If you wish to perform symbol substitution inhE this environment, you typically write a small fileeD containing the command(s) and data to be invoked-D potentially only the data-and you then invoke theE created procedure or reference the specified data. D In this case, use of a file containing nolinemodeH commands or other techniques might be useful-you willG want to ensure that the text editor you use does notlH attempt to use screen mode or similar, as this is notE generally considered adventageous within a command  procedure.tA Tools such as FTP have alternatives: COPY/FTP. J 8-9 _ _ DCL DetailsF DCL symbol substitution occurs in two passes, usingH the ampersand and the apostrophe. In most cases, onlyJ the apostrophe is necessary. In a few cases-such as theJ DCL PIPE command-you will may need to use the ampersandI to get the substitution to work. The following exampleVJ uses ampersand substitution to transfer the contents of2 the header into a logical name:W $ PIPE CC/VERSION | (READ SYS$PIPE hdr ; DEFINE/JOB/NOLOG hdr &hdr ) H A logical name (in the job logical name table; sharedG by all processes in the current job) was used as DCL"I symbols cannot be returned back out from a DCL PIPE orN, other spawned subprocess.D For related materials, please see Section 8.1 and Section 8.11.D __________________________________________________________7 8.11 How can I substitute symbols in a PIPE?CE Use DCL ampersand substitution, and not apostrophe+ substitution.M $ pipe show system | search sys$input opcom | (read sys$input pid ; F pid=f$element(0," ",pid) ; define/system opcom_pid &pid) $ show log opcom_pid9 "OPCOM_PID" = "0000020B" (LNM$SYSTEM_TABLE) D __________________________________________________________? 8.12 Use of RUN/DETACH, LOGINOUT, and logical names? G 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,$B /OUTPUT or /ERROR on a RUN/DETACH command, thenE you must translate the logical name specifications3E 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.  8-10  b h DCL DetailsE (If you want to see these particular logical names H 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,lF 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-creatediH detached process. Shared tables include the group (ifG the process is in the same UIC group) and the system H 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 theV3 other group logical name table.)tD When in doubt, create a short DCL command file asE input, and use a SHOW LOGICAL and similar commandstG to examine the context. (And use physical device andtI directory references on the RUN/DETACH of the LOGINOUTrG image, when specifying this command file as /INPUT.) D Also remember to check both security auditing andG system accounting when troubleshooting problems with " the RUN/DETACH.( Also see Section 8.2.D __________________________________________________________@ 8.13 How to use escape and control characters in DCL?G To write a message and then the bell character, use: " $ 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.J 8-11 l J _______________________________________________________ 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 youdJ can guarantee that no new files get created or existingE files extended, your data is still on the disk andoF 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 onp< 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"tE subdirectory before issuing a "real" DELETE on the)H 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 and/ other similar DCL commands.)sD __________________________________________________________I 9.2 Why does SHOW QUOTA give a different answer than DIR/SIZE?wG DIRECTORY/SIZE doesn't take into account the size ofIF file headers which are charged to your quota. Also,G unless you use DIRECTORY/SIZE:ALL, you will see only F the "used" size of the file, not the allocated sizeG which is what gets charged against your quota. Also, ; you may have files in other directories. J 9-1   Files; $ DIRECTORY/SIZE=ALL/GRAND [username...]PI Grand total of D1 directories, F1 files, B1/B2 blocks.)= $ DIRECTORY/SIZZ=ALL/GRAND [-]username.DIRoD Grand total of 1 directory, 1 file, B3/B4 blocks. $ SHOW QUOTA C User [username] has B5 blocks used, B6 availablelP 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 potentially F drift from the actual use over time, and a periodicE rebuild can be performed at appropriate intervals. D 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 betF alias entries and which are not. (In other words, aG DIRECTORY/SIZE of an entire OpenVMS system disk willnF report a disk useage value larger than the (usuallyC more accurate) value reported by the SHOW DEVICESI command. This as a result of the alias entries linkingoH each SYS$SYSDEVICE:[SYSCOMMON]SYS*.DIR directory fileD and the SYS$SYSDEVICE:[000000]VMS$COMMON.DIR file together.) D __________________________________________________________I 9.3 How do I make sure that my data is safely written to disk? E If your application must absolutely guarantee thatOG data is available, no matter what, there's really noEI 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, checko 9-2 o t FilesI that language's documentation to see if you can accessuI the RMS control blocks for the open file. In C you cant0 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).H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available_F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference. D __________________________________________________________J 9.4 What are the limits on file specifications and directories?H A file specification has an aggregate maximum size ofE 255 characters (NAM$C_MAXRSS) at present, assumingbC ODS-2 limits and traditional DCL process parsing C settings (SET PROCESS/PARSE_STYLE). The node and I device specification may be up to 255 characters each-mF file name and file types may be up to 39 charactersG each. File versions are from 1 through 32767, thoughtG 0 (latest version), -0 (oldest version) and -n (n'th I previous version) can be used in most contexts. A file I specification may not have more than 8 directories andeI subdirectories or-with a rooted directory, two sets ofrH eight are possible-and while it is possible to createH subdirectories of greater depth, accessing them underH ODS-2 is somewhat problematic in most cases, and thus% should be avoided.m= Under ODS-5 with extended DCL parsing (SET C PROCESS/PARSE_STYLE), the filename length limits F are up around 4,095 (NAML$C_MAXRSS) characters, and= directories can be around 255 levels deep. J 9-3 c i FilesE Application developers should use OpenVMS-suppliednJ routines for parsing file specifications - this ensuresE that changes in what is allowable will not tend toiI break your application. Consider that various parts ofuI the file specification may contain quoted strings withsG embedded spaces and other punctuation! Some routineslH of interest are SYS$FILESCAN, SYS$PARSE and LIB$TRIM_E FILESPEC. For further information, see the OpenVMS . Guide to File Applications.A Performance of larger directory files improvesuF (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 directory ( I/O processing logic.F For fastest directory deletions, consider a reverseI deletion-delete from the last file in the directory topI the first. This reversal speeds the deletion operationaF 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 availableO9 reverse-DELETE DCL command procedures.n) Also see Section 5.44. D __________________________________________________________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 anye9 particular file is 0x03FFFFFFF blocks.lH 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 consolesJ program that limit the size of the OpenVMS system disk.C Note that data disks are not affected by consoleaB 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 SCSI 9-4 S S FilesI drivers used by and built into the console ROM to readeJ 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. PleaseyI use Google newsgroup search to search the archives foroG further details, for discussions of the workarounds,nG and for details of the potential for a simple failedmD bootstrap and particularly for discussions of theB potential for severe system disk corruptions on crashes.C 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.25iG for details) for new SCSI device drivers. Failure togG use this ECO can cause "rounding errors" on the SCSIqH disk device capacity-OpenVMS will not use nor displayG the full capacity of the drive-and "%sysinit-e-erroroF mounting system device status equals 000008C4" (8C4G -> "%SYSTEM-?-FILESTRUCT, unsupported file structuresG level") errors during bootstrap. (One workaround forH the bootstrap when the bitmap is located far into theI disk is the use of INIT/INDEX=BEGIN.) The problem here I involves the particular extensions and fields used for G larger capacity disks within the SCSI specifications A 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.AG Fixed drivers (equal or greater than "X-15") weres! shipped in:c7 o OpenVMS Alpha V7.2-1, and laterI7 o V7.2 UPDATE V1.0 ECO, and later 9 o V7.1-2 UPDATE V1.0 ECO, and later9 o V7.1-2 UPDATE V3.0 ECO, and laterdJ 9-5 l d FilesH 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 137nG GB) but is known to report an incorrect number oft9 "cylinders" with disks above 33 GB.hG See Section 14.4.4.2 for additional ATA SYS$DQDRIVERo 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 theaD volume. Updated SRM consoles for systems with SRMG and ATA (IDE) drive support are (will be) available.rE (OpenVMS Engineering has successfully bootstrapped I 20GB ATA (IDE) disks using the appropriate SRM console  version.)1 Note.A All disk-related listed in this section are D stated in units of "disk (base ten) gigabytes"G (1 GB = 10^9 bytes) and not in units of "softwarei@ (base two) gigabytes" (1 GB = 2^30; 1 GB =F 1073741824.) bytes. Please see Section 14.25 forC details of the nomenclature and of the units. I Be aware that larger disks that are using an extensioniD of SCSI-2- disks that are using a mode page fieldG that the SCSI-2 specifications normally reserved foriH tape devices-to permit a larger disk volume size willE require a SCSI driver update for OpenVMS, and thisoG change is part of V7.1-2 and later, and also part ofdE ALPSCSI07_062 and later. (These larger disks disks I will typically report a DRVERR, or will see the volumerH 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. C Applications written in C can be limited to fileeF sizes of two gigabytes and less, as a result of theG use of longword values within C file operations, and D specifically off_t. This restriction is lifted inH OpenVMS V7.3-1 and later, and with the application of 9-6   FilesJ 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 orrI less, or these applications must use native RMS or XQP81 calls for specific operations.s9 Also see Section 14.13, Section 14.25.sD __________________________________________________________E 9.6 What is the maximum file size, and the RMS record size  limit? E RMS can store individual files of a size up to the H maximum supported volume size. Under OpenVMS V6.0 andG later, the volume size and the RMS maximum file sizemB 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 files F on the volume that is the least full at the time.)"H "You can add volumes to an existing volume set at anyI time. The maximum number of volumes in a volume set is I 255." Further, with a 255 member bound-volume set, theYF theoretical maximum limit of files is 4,261,478,145B files, less the directories and reserved files.E The RMS formats-sequential, relative, and indexed- G are limited by the one terabyte maximum volume size. H 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. : Also see Section 2.17.1, Section 14.25.J 9-7 n e FilesD __________________________________________________________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?LH For information on CD and DVD optical media drives onH OpenVMS, please see Section 14.29. For information onH the creation of OpenVMS media and of OpenVMS bootableG media, a full step-by-step sequence is documented incJ the OpenVMS Ask The Wizard topic (9820). An abbreviated< version of the sequence is included here.B Recording (writing) of CD and DVD optical mediaF requires a recording or media mastering applicationJ or tool, and both commercial and non-commercial optionsE are available. For OpenVMS V8.3 and later, see theOI COPY/RECORDABLE_MEDIA command available within OpenVMSnH itself. Alternatively, please see CDRECORD (both non-G DVD and DVD versions are available, and at least one J commercial version is available), and also see DVDwriteE (commercial) or DVDRECORD (open source). A port of3C CDRECORD is present in OpenVMS V7.3-1 and later._H o Acquire a comparatively recent SCSI-based or ATAPIE (IDE) CD-R or DVD-R/RW or DVD+R/RW drive. OlderOH drives can be very problematic, while newer drivesI are readily available, and are cheap and very fast, E and tend to have better compliance with current=H standards. Use of older drives is not recommended.J Related device requirements information is available' in Section 14.29.EC o Get the most recent LDDRIVER available on the I Freeware, or activate and use the LD version latent J in OpenVMS Alpha V7.3-1 and V7.3-2 by loading the LDH command verb (look within SYS$MANAGER:CDRECORD.COMJ for related details), or use the integrated LD found0 in OpenVMS V8.2 and later.I In particular, you will want to use the current ECO H kit for LDDRIVER (as available), or the version ofH LD distributed with V8.2. The OpenVMS V8.2 versionE of LDDRIVER was also kitted on Freeware V7.0 asc LD071. 9-8 R c FilesH If you are not running OpenVMS V8.2, the specifiedC LD071 kit or later, or a current ECO with the H update, you will want to upgrade, or you will want- to use the DCL command:m< SET FILE/CACHING_ATTRIBUTES=NO_CACHING? on the LD partition file. This is a workaround for anpG incompatibility found between older LDDRIVER versions and then XFC caching support.C As an alternative to LD and LDDRIVER, you can J acquire and load the VD64 package from the Freeware.E o Use the COPY/RECORDABLE_MEDIA command availableR? within OpenVMS V8.3 and later, or use the C version of CDRECORD built in V7.3-1 or later, B or obtain and utilize one of the open sourceE or commercial versions of the CDRTOOLS/CDRECORD C or DVDRTOOLS/CDRECORD tools, or other similar_D recording tools. Freeware V6.0 distribution. (I http://www.hp.com/go/openvms/freeware/ ) An OpenVMSoI port of the cmcd CD audio ripper is also reportedly 9 available. http://www.amb.org/xmcd/tJ 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 ofI CDRECORD known as CDRECORD-ProDVD. COPY/RECORDABLE_tA MEDIA is built into OpenVMS V8.3 and later.a? Beware the tool chosen: some versions and F configurations of CDRECORD can record DVD media,I as can the DVDRECORD package, as can the commercialeH 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.eJ o Use the chosen recording tool to record the contentsC of the LD or VD64 partition directly onto the% optical medium.uJ 9-9 u . FilesC Alternatively, consider the following command one2 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 OpenVMSwH 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, image I 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-onceeH (DAO) 2048-byte block ISO Mode 1 raw/image/block data' disk recording mode.aA More details: Creation of CD recordable or DVDcD 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 packageseH will be included in this), or the use of a host-basedH package such as the CDRECORD or COPY/RECORDABLE_MEDIAI (V8.3 and later) or other utilities, including OpenVMSzJ ports of common open-source tools made available by Dr.I Eberhard Heuser-Hofmann and various others. Commercial G packages and options are also available. Dr. Heuser- H Hofmann has DVDwrite , a commercial package which canI record DVD media. ( http://home.tiscali.de/dvd4openvms  )I OpenVMS can read ODS-2, ODS-5, and ISO-9660 format CD-dH ROMs and DVD-ROMs directly. (If you are very careful,F you can create a dual-format CD-R; a CD-R with bothJ ODS-2 and ISO-9660 or both ODS-5 and ISO-9660 or both.)I OpenVMS does not support ISO-9660:1999, nor the JolietrH or Rock Ridge extensions to ISO-9660, nor can OpenVMS5 decrypt copy-protected video DVDs. C InfoServer hardware configurations are no longer E available from HP, but may potentially be acquired E through other means; as used equipment. InfoServer G support also has very specific CD-R recording device  9-10l E F FilesD 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 followingt sites:y: 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/mG U.S. Design offers a package that includes the toolswI necessary to create a CD or DVD-R with either ISO-9660sE or ODS-2 format, for standalone CD-R/RW, DVD-R, or H 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.s' _____________________________ 2 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 thatmF is now largely reserved to the highest-volume media- reproduction requirements.lE CD-R is CD Recordable, a write-once storage medium G that can be read by all but the oldest of CD drives;mH a format which can be read and often even recorded by% most CD-RW drives. J 9-11 i 8 FilesH CD-RW is CD ReWritable, a format which is readable byI many CD drives and by most CD-R drives, and with medianH 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 DVDtI and particularly first-generation DVD players may havet6 problems reading this media format.B 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 theoG appropriate Plus (+) or Minus (-) DVD raw media must E be chosen for the particular DVD recorder (and DVDlH recording drives that are compatible with and capableE of using both Plus and Minus media are available),cE the resulting recorded media is generally readable G (playable) in all recent DVD drives and DVD players,eH 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.) 9-12u  a FilesF 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 irrelevent D for all but the production of huge volumes of DVD media.iJ 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) I DVD media will not record any more quickly in a fasterD drive. A 2.4X DVD drive loaded with 1X media will record at 1X.' _____________________________ I 9.7.2 Use of RRD42 and other older (embossed-media) CD drives?I 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.tG These older CD drives are generally intended for usetF with the so-called embossed media, rather than withI non-embossed recorded (recordable) media now in common  circulation. G Please consider using a slightly-less-ancient CD-ROM H or CD-R or CD-RW drive when working with non-embossed% recorded CD media.tE To paraphrase one knowledgable-though deliberatelybF nameless-storage engineer, "The RRD42 drive is just2 past the drooling idiot stage".J 9-13 :  Files' _____________________________D? 9.7.3 Creating Bootable OpenVMS I64 CD or DVD Media?n SYS$SETBOOT?tE If you are creating a bootable CD or DVD media for"E use with OpenVMS I64, you will want to specify theEI SYS$SETBOOT block size of 2048, and you will also wanteG a disk cluster factor that is a multiple of four viaoG INITIALIZE/CLUSTER=4 (or 8, or...), or you will wanteE to ensure that SYS$EFI.SYS and SYS$DIAGNOSTICS.SYSGF 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$SETBOOT I is the correct and expected value for traditional disk 5 bootstraps on OpenVMS I64 systems.oG Once the boot files are loaded, OpenVMS I64 operatesaH with 512-byte blocks; as is the case with ATAPI disksG on OpenVMS Alpha, all application code will only see1C 512-byte blocks on optical media on OpenVMS I64. = OpenVMS I64 V8.2 and later are expected toGA 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 BOOTBLOCKBA command, please see Section 14.3.9 and see thenG OpenVMS documentation. The purpose and intent of thesF SYS$SETBOOT.EXE image and the SET BOOTBLOCK commandF is analogous to the WRITEBOOT.EXE image on existing9 OpenVMS VAX and OpenVMS Alpha systems. E For information on CD and DVD optical media drives G on OpenVMS, please see Section 14.29. For additional J related information on creating bootable OpenVMS media,: please see Ask The Wizard topic (9820). 9-14e t p FilesD __________________________________________________________> 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 by H 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 theJ 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 this C transfer size limitation are largely historical._I Similarly, DSSI devices are limited to the same value,aG this for hardware-specific reasons. Transfers to HSCmD and HSJ device controllers via the CI are limitedE to 1,048,576 bytes. Client MSCP-served devices areME limited to 65535 bytes-to help ensure that the I/OiI fragmentation processing happens on the client and notg( on the server system.G Parts of the OpenVMS I/O subsystem are optimized for E data transfers less than 64KB, because (obviously)oJ most I/O operations are (substantially) less than that.I OpenVMS can handle larger transfers, if the driver ands, the device can handle it.5 Also see Section 9.4, Section 9.5.fD __________________________________________________________C 9.9 Can I use ODBC to connect to OpenVMS database files?pJ 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),dE SolutionsIQ, OpenLink Software (OpenLink Universals. Data Access), and Synergex.J 9-15 _ _ Files4 The unixODBC package available atF http://www.unixodbc.org has variously been found to/ operate on OpenVMS, as well.sE For specific commercial databases (other than RMS,nG of course), contact the database vendor directly for assistance.D __________________________________________________________I 9.10 If my disks are shown as VIOC Compatible, am I using XFC?e2 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 reportedF in full XFC mode; all disks shown will be listed in* "VIOC Compatable Mode".I If you have the OpenVMS system parameter VCC_FLAGS set G to 2 and are using OpenVMS Alpha V7.3-1 or later, or G are using OpenVMS Alpha V7.3 with the VMS73_XFC V2.0 J ECO kit or later or with the UPDATE kits, you are using XFC.5D Another confusion: the XFC product version is andI remains V1.0 in all released configurations, please doJ 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 the J "Vols in Full XFC mode" portion of the DCL command SHOW' MEMORY/CACHE output.pD __________________________________________________________> 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 recordoH formats, including Variable with Fixed Control (VFC),G stream, stream LF, and stream CR, among other recorde formats.  9-16   t Files< 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 mayaF not meet requirements. If the default attributes doG not match your requirements, create a stub file, SETdH FILE/ATTR, then edit the existing file. (Most editorsA will preserve attributes on an existing file.)TH When working with Windows, stream is usually the bestC choice for sequential file operations. Stream LFF 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. F VFC is a common OpenVMS format, encoding the recordI length into the record. It is this extra data that canrJ cause corruption-like problems when viewed without RMS;I either directly via $qio or via the file system API on J 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. C If transfering through other platforms, use of a I current version of Zip (with the "-Vv" or "-V" option)tE and unzip, or use of a BACKUP saveset will contain H and maintain the RMS file and record attributes. (ForF BACKUP and its own attributes requirements, see the% restoration tool.) D __________________________________________________________) 9.12 How to read locked files? C Files can be locked by applications, and various H approaches including CONVERT/SHARE and DUMP/ALLOCATEDF can be used, as can the following command sequence:; $ open/read/share=write x lockedfile.txt  $ type xoJ If you can rebuild the application from source, details@ related to file sharing are in Section 10.17.J 9-17 m sJ _______________________________________________________2 10 OpenVMS Programming InformationD __________________________________________________________I 10.1 Modular Programming, Facility Prefixes and Symbol Naming? G Please first review the OpenVMS Programming ConceptsaG Manual and the Guide to Modular Programming manuals.tF Both are available within the OpenVMS documentationE set, and provide details of the expected norms form$ 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 locatedF in shared directories. The prefix and the use ofI the dollar sign (<$>) and the underscore (<_>) helpoF avoid collisions with other products. Use of theE dollar sign is reserved to registered products. G o Please consider use of tools such as the Freeware H SDL package, and the GNM package. These permit youI to generate include files and message documentation"F 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 configuration " is required.? o The product startup file is usually namedw= 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 requestE a prefix and a message facility code for a productkG you distributinng to other customer sites, send yourpJ 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 NoteTA Please do not request facility prefixes forv@ products that local to your business, yourA site, or your system. Facility prefixes andA message codes and the facility registration"A process are intended solely for HP productsfA and Partner Products (and yes, even OpenVMS A Freeware packages) that will be distributed1= across multiple OpenVMS customer sites. C For a list of common coding bugs, please see theeH 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).H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.rD __________________________________________________________? 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, D including the support databases and the newsgroupI archives. Please also realize that most OpenVMS systemsJ 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 nottF expect folks to write your homework for you. As for$ search resources:4 o SEARCH SYS$EXAMPLES:*.* target6 o SEARCH TCPIP$EXAMPLES:*.* target 10-2_ _ _2 OpenVMS Programming Information< o http://www.hp.com/go/openvms/freeware/, o http://www.google.com/C OpenVMS programming documentation, including thedH numerous example programs found in recent versions ofI the OpenVMS Programming Concepts manual, is available: 7 o http://www.hp.com/go/openvms/doc/nJ As for details of argument passing, most OpenVMS systemE services and RTL routines pass string arguments bykD descriptor. Languages which support native stringE data types create descriptors automatically; thoseeE which do not (eg., C) require that you set them upeG explicitly. For further details on using descriptors H and particularly for using descriptors from C, please% see Section 10.13.FJ There is extensive information available on how to callG OpenVMS system services and OpenVMS Run-Time LibrarysF routines, including examples in numerous languages.; Among the best available references are:e1 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 StandardH In addition, you can also locate answers, source codeG examples and related discussions in the James SearchFD Assistant (formerly NLSA (Natural Language SearchJ Assistant), itself formerly known as Ask Compaq (AskQ)) database:F o http://www2.itrc.hp.com/service/james/CPQhome.doA In this area, you will find the source code ofD@ programming examples for calls to many of theH OpenVMS system services (and from various programming? languages), including calls to core servicesuG sys$getjpi[w], sys$getsyi[w] and sys$qio[w], as wellSJ 10-3 e n2 OpenVMS Programming InformationI as source code examples for calls to many other systemeJ services and run-time library routines, and examples ofH one of the more difficult calling interfaces found onH OpenVMS systems, that of the smg$create_menu routine.G Arne Vajhøj has put together a collection of OpenVMSC8 example programs. It can be found at:/ o ftp://ftp.hhs.dk/pub/vms/cF Additional information and examples for OpenVMS are! available via:uH o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for& reference. and via:< o http://www.hp.com/go/openvms/freeware/D __________________________________________________________A 10.3 How do I get the arguments from the command line? A If you're writing a program and want to acceptiI arguments from a foreign command, you can use LIB$GET_dI FOREIGN to get the command line and parse it yourself,EJ 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 invokelE the image, the application parses the command linetJ itself. One way to do this is to call CLI$GET_VALUE forI a required parameter. If it is not present (or you get J an error), call LIB$GET_FOREIGN to get the command line+ and do the manual parse.  10-4  e h2 OpenVMS Programming Information( See also Section 8.2.D __________________________________________________________E 10.4 How do I get a formatted error message in a variable?aC Use the SYS$PUTMSG system service with an actionLJ 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 thateE SYS$PUTMSG doesn't then try to display the messageOJ (unless you want it to.) See the description of $PUTMSGI in the System Services Reference Manual for an example(. of using an action routine.D __________________________________________________________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 linking F against SYS.STB. This links against the base image:% SYS$BASE_IMAGE.EXEpG Also see Section 10.11, particularly for pointers toaF the details on shareable images and shareable imageH creation, and see Section 10.22 for details of inner-G mode floating point requirements, of data alignment,nG requirements for use of /NOSYSLIB, and other relatednH inner-mode programming details, and see Section 10.111 for image-related information.eD __________________________________________________________@ 10.6 How do I do a SET DEFAULT from inside a program?C The problem is that SYS$SETDDIR only changes the H 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$SETDDIRaI to change both default disk and the default directory! J 10-5 t a2 OpenVMS Programming InformationD __________________________________________________________I 10.7 How do I turn my Fortran COMMON into a shareable image ons Alpha?F You need to add SYMBOL_VECTOR=(=PSECT)G to your options file. On OpenVMS VAX all OVR/REL/GBL H psects were automatically exported into the shareableI image's Global Symbol Table. On OpenVMS Alpha you have F to tell the linker that you want this done by meansI of the PSECT keyword in the SYMBOL_VECTOR options file  statement.tG This has several advantages over OpenVMS VAX. First,rI you don't have to worry about the address of the psect D 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 the # 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 H 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 inrJ 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 point H 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),l0 CRAY and IBM System\370, etc. 10-6h m s2 OpenVMS Programming InformationI HP Fortran (all OpenVMS platforms) has a feature whichC will perform automatic conversion of unformattedsB 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:oM o http://www.hhs.dk/anonymous/pub/vms/collection/ieee.zip D __________________________________________________________E 10.9 How do I get the argument count in a Fortran routine? E On VAX, many programmers would use a MACRO routine1B which accessed the AP register of the caller toE get the address of the argument list and hence the J 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 isG IARGCOUNT, which is also available in DEC Fortran on  OpenVMS VAX.oF Note that omitting arguments to Fortran routines isC non-standard and is unsupported. It will work inOF 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 manylI users consider a hardware-based licensing scheme to beaJ negative attribute when considering software purchases.J 10-7 . 2 OpenVMS Programming InformationE HP OpenVMS uses a software-based system called the C License Management Facility (LMF). This provides C for software keys (Product Authorization Keys or F PAKS) which support capacity and user-based licenseC checking. HP offers an LMF PAK Generator to DSPPoG (formerly CSA) members-see Section 2.8.3 for general J details on the DSPP offerings, and on the DSPP-providedG Freeware PAKGEN PAK that is available for those that G are interested in details. (Sorry, no; you can't use H the Freeware PAKGEN PAK to generate any PAK you mightD want. Folks at HP also thought of that one, too.)I For information on licensing, please see Section 12.4.DG However, if a hardware-based method is required, theeE most common method is based on an Ethernet adaptorrH hardware address. Sample source code for implementing( this is available at:H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availablerF ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference. D __________________________________________________________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 can D grant enhanced access with the specification of aF subsystem identifier on the ACL associated with the image.a 10-8D m a2 OpenVMS Programming InformationE Shareable images contain code executed indirectly,lE these images are referenced from executable imagesG and/or from other shareable images. These images can3F not grant enhanced privileges, even with the use ofE INSTALL with /PRIVILEGE or a subsystem identifier.sF These shareable images can be dynamically activatedE (a LINK that occurs at run-time) via the LIB$FIND_rD 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-arepH 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;CJ executive or kernel), and code executing in inner modesH has implicit SETPRV privilege. Must be INSTALLed withG /PROTECT. Note that inner-mode code has restrictions J around calling library routines, around calling variousF system services, and around calling code located in7 other protected or shareable images.I Loadable images and device drivers are images that caneG be used to add code into the OpenVMS kernel. Pseudo-nF 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 aoI calling interface with support for both privileged and H unprivileged access to the driver code via sys$qio[w] calls.MD A cookbook approach to creating OpenVMS shareable2 images is available at the URL:H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)J 10-9 G T2 OpenVMS Programming InformationD For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference. 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 andS later).D __________________________________________________________& 10.13 What is a descriptor?B A descriptor is a data structure that describesA a string or an array. Each descriptor containsdH 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 thecJ storage used for the data, typically static or dynamic.7 Descriptors are passed by reference. C The following are examples of creating and using G descriptors in C, with the use of the angle brackets@ normally expected by the C include statements= deliberately altered in deference to HTML:r+ #include {descrip.h} 0 #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 =TC { 0, DSC$K_DTYPE_T, DSC$K_CLASS_D, NULL }; + int DynDscLen = 255;bC $DESCRIPTOR( ConstDsc, "This is a string" );l 10-10  t2 OpenVMS Programming InformationB /* 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 ); = if ( !$VMS_STATUS_SUCCESS( RetStat ) ) ( return RetStat;8 /* release the dynamic storage */: RetStat = lib$sfree1_dd( &DynDsc );; if (!$VMS_STATUS_SUCCESS( RetStat )) ( return RetStat;F Static descriptors reference storage entirely underG application program control, and the contents of theH descriptor data structure can be modified as requiredG (by the application). OpenVMS routines do not modifyI the contents of a static descriptor, nor do they alterD the address or length values stored in the staticJ descriptor. (The term "static" refers to the descriptorE data structure, and not necessarily to the storaget1 referenced by the descriptor.)sB Dynamic descriptors reference storage under theG control of the run-time library, and the contents of H a dynamic descriptor data structure-once initialized-I can only be modified under control of run-time libraryeJ routines. The dynamic storage referenced by the dynamicI descriptor is allocated and maintained by the run-timeiF 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 storageG associated with the dynamic descriptor, as required.nJ Routines can obviously access and alter the contents of< the storage referenced by the descriptor.E OpenVMS languages that include support for stringsbD or arrays are expected to use descriptors for theE particular structure. Most OpenVMS languages, such.A as Fortran and BASIC, use descriptors entirely J transparently. Some, like DEC C, require the programmerD to explicitly create and maintain the descriptor.J 10-11 O a2 OpenVMS Programming InformationE For further information on string descriptors, see G the OpenVMS Programming Concepts manual, part of thed- OpenVMS documentation set. D Fortran defaults to passing integers by referenceD and characters by descriptor. The following sitesG discuss mixing Fortran and C source code in the sameO application:XI o http://www.hhs.dk/anonymous/pub/vms/misc/FORTRAN_C_e 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 such D 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 current_" security model.B With OpenVMS V6.2 and later, the persona systemE services (SYS$PERSONA_*) can be used to assume theoJ 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" aroundhH a sys$creprc process creation call, as well-this willG create a seperate process entirely under the assumedi persona.rI 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 are @ 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. Seei above. 10-12 o 2 OpenVMS Programming Information= o via DECnet task-to-task, using explicit F specification of username and password, or usingE a DECnet proxy. This creates a network-mode job G under the target user. The network-mode job might I do little more than a RUN/DETACH of an image passed E in via task-to-task-task-to-task communications C are fully available using strictly DCL-to-DCL G 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 do I little more than a RUN/DETACH of an image passed in & 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. - o Via pseudo-terminals..._D There are likely a few other mechanisms around...I There are various tools available from DECUS and other J 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.D __________________________________________________________B 10.15 Why do lib$spawn, lib$set_symbol fail in detached processes? E The processing within run-time library (RTL) calls_H 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, isFF dependent on and requires the presence of a commandI language interpreter (CLI), such as DCL. Without a CLI H present in the current process, these calls will failE with a "NOCLI, no CLI present to perform function"d error.oJ Detached processes typically do not have a CLI present.J 10-13 x i2 OpenVMS Programming InformationG In place of lib$spawn, sys$creprc can often be used.tI The context of the parent process (symbols and logical>I names) will not be propogated into the subprocess whentJ sys$creprc is used, though when there is no CLI presentE in the process this (lack of) propogation is moot.fD 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 (andtH any other calls requiring a CLI) from images that areH running in an "interactive", "batch", or "other" mode process. E Also note that the lib$spawn and the C system callJ 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.dD __________________________________________________________@ 10.16 Where can I obtain Bliss, and the libraries and" supporting files?E The Bliss language compilers and documentation areoC available on the OpenVMS Freeware distributions.SI Bliss language source code that contains the followinge statement:c7 LIBRARY 'SYS$LIBRARY:STARLET.L32';s@ or similar requires the presence of the BlissG libraries. These libraries are created on the targetPF system using the Bliss require files, and are built6 using the following Bliss commands:I STARLET.L32 contains the public interfaces to OpenVMS:nH $ 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.REQ 10-14 l o2 OpenVMS Programming InformationE The equivilent files for Bliss64 are created with:tG $ 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 VAXuF architecture flags. The following is the equivilent5 of the Alpha ARCH_DEFS.REQ module:s !eA ! This is the OpenVMS VAX version of ARCH_DEFS.REQ, andrD ! contains the architectural definitions for conditionallyC ! compiling OpenVMS Bliss sources for use on VAX systems. D ! (If you should encounter compilation errors here, please> ! seriously consider upgrading your Bliss compiler.) !s MACRO VAXPAGE = 1%;s MACRO BIGPAGE = 0%; !rE MACRO VAX = ! = 1 if compiled BLISS/VAX_I %BLISS(BLISS32V)%; ! = 0 if not compiled BLISS/VAX Y MACRO EVAX = ! = 1 if compiled BLISS/E* (Obsolete, old name)sV (%BLISS(BLISS32E) OR %BLISS(BLISS64E))%; ! = 0 if compiled /VAX /InnT MACRO ALPHA = ! = 1 if compiled BLISS/E* (New arch name)V (%BLISS(BLISS32E) OR %BLISS(BLISS64E))%; ! = 0 if compiled /VAX /InnT MACRO IA64 = ! = 1 if compiled BLISS/I* (New arch name)Y (%BLISS(BLISS32I) OR %BLISS(BLISS64I))%; ! = 0 if compiled /VAX or /Annp MACRO ADDRESSBITS =fM %BPADDR%; ! = 32 or 64 based on compiler usedEG 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.REQ J 10-15 m 2 OpenVMS Programming InformationD __________________________________________________________9 10.17 How can I open a file for shared access? J 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 iseJ available in topic (2867) in the OpenVMS Ask The Wizard area:H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availableeF ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.rF Depending on the environment, you may need to use CI calls such as fsync and fflush, and-in specific cases- , the setvbuf(_IONBF) call.A For related materials around commands that can G potentially be used to override file locking-to view E the file contents as currently written to disk-see Section 9.12.D __________________________________________________________G 10.18 How can I have common sources for messages, constants? D 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 the G necessary formats (Text, Postscript, HTML, etc). Use H 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.) 10-16 M 2 OpenVMS Programming InformationD __________________________________________________________? 10.19 How do I activate the OpenVMS Debugger from ana application? , #include {lib$routines.h}% #include {ssdef.h}f& #include {string.h} main()S {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; }H Also see Section 10.28 for another related discussionH of the OpenVMS Debugger, and of a technique that uses( the SS$_DEBUG signal.D __________________________________________________________* 10.20 Dealing with Endian-ness?F OpenVMS VAX, OpenVMS Alpha and OpenVMS I64 (as wellH as all Microsoft Windows implementations) all supportG and all use the little-endian byte ordering. Certain/B Alpha microprocessors and certain Intel ItaniumH processors can be configured to operate in big-endianE and potentially in bi-endian mode. HP-UX typicallys' operates big-endian.eG 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 byterJ 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 recentlyJ 10-17  u2 OpenVMS Programming InformationE introduced network formats, and one that is seeing B extensive press and marketing coverage, is XML.D __________________________________________________________7 10.21 How to resolve LINK-I-DATMISCH errors?MD 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 thatF was originally loaded into IMAGELIB.OLB, one of theF OpenVMS libraries typically searched by the LINKER.I From a privileged username, you can usually completely = repair this via the following DCL command: K $ LIB/REPLACE/SHARE SYS$LIBRARY:IMAGELIB.OLB SYS$SHARE:LIBRTL.EXEoE This command assumes that the shareable image thatlH was found in the SYS$SHARE: area is valid and upward-I compatiable, and that the image has simply replaced and@ older version without also updating IMAGELIB.D __________________________________________________________E 10.22 HP C and other OpenVMS C Programming Considerations?LE VAX C V3.2 was released for OpenVMS VAX systems inTI 1991. DEC C V4.0 replaced VAX C V3.2 in 1993 as the HPuG C compiler for OpenVMS VAX systems. HP C is the ANSIlG C compiler for OpenVMS Alpha systems. VAX C predateshG the ANSI C standards, and has various areas that areeJ 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 compiler I between V3.2 and V6.5 (exclusive) were known as DEC C,V+ 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 VAXhJ 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 CeJ 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.t 10-18  2 OpenVMS Programming InformationH A current "C" license PAK allows access to both VAX C; and HP C on the same OpenVMS VAX system.oH 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 RTLaF kit, a kit that is included with the HP C compiler.G OpenVMS VAX versions V6.1 and later do not require apH 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 library H 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 prefixnD allows the LINKER to resolve the external symbolsG against the symbols present in the DECC$SHR library.eG The DECC$SHR library is included in the IMAGELIB.OLBbG shareable image library, and IMAGELIB is searched byAH default when any program (written in any language) isG LINKed. Because the standard C library routine namesBH are very likely to match application routines writtenI in other languages, a prefix "decc$" is added to the CoF symbol names to assure their uniqueness; to preventD symbol naming conflicts. C programs, however, canI sometimes have private libraries for various purposes,aD 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 externaln0 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:J 10-19 e o2 OpenVMS Programming InformationD o Failure to specify the prefixing qualifier (onH certain and usually older versions of C) can causeH the compiler to not add the prefixes for the namesC of the C library routines into the referencesfD placed in the object module, which can in turnF cause problems resolving the external symbols inA the library when the object code is linked:  /PREFIX=ALL_ENTRIEStI o Some VAX C programs erroneously write to the string C literals. By default, HP C does not allow then* constants to change.* /ASSUME=WRITABLE_STRING_LITERALSF o Enables sharing ("shr") of globals and of externC variables. HP C sets externs as non-shareablen0 ("noshr"), VAX C as "shr". /SHARE_GLOBALSC o VAX C assumes common block model for externalc linkages.m# /EXTERN_MODE=COMMON_BLOCKqJ o Refers to the padding placed between member elementsG within a struct. Disabling member alignment packstA the data more tightly into memory, but this E packaging has performance implications, both onrC OpenVMS VAX and particularly on OpenVMS Alpha  systems. /[NO]MEMBER_ALIGNMENTG o Enable all manner of useful compiler diagnostics: N /WARN=ENABLE=(LEVEL4,QUESTCODE)/STANDARD=PORT/ACCEPT=NOVAXC_KEYWORDSE You can disable extraneous diagnostics with thew following:# #ifdef __DECCs* #pragma message saveK #pragma message disable /* insert message tag here */  #endif 10-20  2 OpenVMS Programming InformationC Permit structure members to be naturally alignedt@ 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./J 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.)aD HP C V5.6 and later include a backport library, aC mechanism by which HP C running on older OpenVMSnG releases can gain access to newer RTL routines addedoI to the RTL in later OpenVMS releases-the language RTLsrH ship with OpenVMS itself, and not with the compilers.C Example C code is available in SYS$EXAMPLES:, in B 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 aseH o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the availableAF ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.)J 10-21 g 2 OpenVMS Programming Information' _____________________________e( 10.22.1 Other common C issuesH The localtime() function and various other functionsI maintain the number of years since 1900 in the "structdJ 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 toa continue.H The C epoch typically uses a longword (known as time_E t) to contain the number of seconds since midnight G on 1-Jan-1970. At the current rate of consumption of G 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.) D 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 ofG one hour (or whatever the local daylight saving time I change might be). This skew can be caused by incorrect F 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.4.)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 withI OpenVMS Alpha high-IPL kernel-mode code such as device I drivers will want to become familiar with the floatingzJ 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._F 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 include H library logical name mechanism when the C compiler isI resolving kernel-mode data structures and definitions. F This library contains OpenVMS kernel-mode and other 10-22  g2 OpenVMS Programming InformationC system declaractions, and particularly a mixture D of undocumented definitions and declarations, andE particularly definitions and declarations that areEF subject to change (and that can accordingly lead toD requirements for the recompilation of application code).H In addition to the user-mode C Run-Time Library (RTL)C mentioned in the OpenVMS C RTL documentation and.H referenced over in Section 3.9, there is a second andH parallel kernel-mode RTL accessable to device driversE and other kernel code on OpenVMS Alpha and OpenVMS E I64. The most common time this second C library isdF noticed is when C code is (erroneously) linked withH /SYSEXE/SYSLIB, and duplicate symbol errors typicallyI then arise. As code running in supervisor-, executive- E or kernel-mode context cannot call out a user-moderC RTL or other user-mode library, you will want toTG respecify the command as LINK /SYSEXE/NOSYSLIB. ThistI will eliminate the duplicate symbol errors, since onlyUJ the kernel-mode library will be referenced, and it willG also avoid calling out into the user-mode libraries.0G When sharing variables with other languages, here is, some example HP C code... ...2 #pragma extern_model save; #pragma extern_model strict_refdefd4 extern int VMS$GL_FLAVOR;5 #pragma extern_model restoreR ...D and here is some associated example Bliss code... ...! EXTERNAL * VMS$GL_FLAVOR, ....=J 10-23  2 OpenVMS Programming Information' _____________________________r* 10.22.2 Other common C++ issuesB HP C++ (a separate compiler from HP C) providesC both symbol mangling and symbol decoration. SomeaE 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. SymboltG name decoration permits the overloading of functionsrC (by adding characters to the external symbol forrD 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" declarationm mechanism:n# extern "C"a {; extern int ExternSymbol(void *);V@ extern int OtherExternSymbol(void *); }I Also see Section 14.7 for information on /ARCHITECTURE& 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 = i++; " a[i] = i++;) foo( i, i++, --i); I are undefined and can have (adverse) implications when I porting the C code to another C compiler or to anotherI 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.t 10-24 g t2 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 function?J 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 dot4 differ in the related processing.F So you are looking for OpenVMS-specific definitions# (include files)?@ UCBDEF.H, PCBDEF.H and other OpenVMS-specificG definitions-these are considered part of OpenVMS andRF 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/LIBeI You can also define DECC$TEXT_LIBRARY to reference the  library.nC You will want to review the Programming ConceptsnH 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 thuseF sys$lib_c) contain symbols and definitions that canI be dependent on the OpenVMS version. You won't need togI rebuild your code after an OpenVMS upgrade if you haveeH included definitions from STARLET. The same cannot beI said for some of the definitions in LIB-you might needoG to rebuild your code. (The UCB structure can and hashB changed from release to release, for instance.)I Recent versions of C automatically search sys$starlet_iD c.tlb. Explicit specification of sys$lib_c.tlb is required.J 10-25  2 OpenVMS Programming InformationE Also see the Ask The Wizard website topics (2486), & (3803), and (1661):H o http://www.hp.com/go/openvms/wizard/ (retired; use" ITRC forums)D For additional information on the OpenVMS Ask TheG Wizard (ATW) area and for a pointer to the available F ATW Wizard.zip archive, please see Section 3.8. ATWF has been superceded (for new questions) by the ITRCD discussion forums; the area remains available for reference.TA 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. I The use of a longword for off_t restricts applications G 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. D __________________________________________________________< 10.23 Status of Programming Tools on OpenVMS VAX?G DECthreads V7.3 and the HP C compiler (also known asaE Compaq C and DEC C) V6.4 are presently expected toiE be the last updates and the last releases of theseaH 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 willnE 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 product F enhancements continue for the OpenVMS Alpha and the< OpenVMS IA-64 DECthreads and C compilers. 10-26 r s2 OpenVMS Programming InformationD __________________________________________________________@ 10.24 Choosing a Version Number for Application Code?G One of the common rules-of-thumb used for choosing asI displayed version number string for a new version of ahG layered product or an application, its implications,gF and its expected effects on client applications and" users, follows:G o No functional and no application-visible changes, C bugfixes only-the edit number is incremented.aI These tend to be very small, very isolated, or ECO-iH level changes. These can also be distributions forG specific hardware configurations or platforms, asdJ is the case with an OpenVMS Limited Hardware ReleaseG (LHR). Application rebuilds are not expected, andaG there is an assumption that general user-providediH 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.BI Application rebuilds are not expected, and there isaJ 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.lD o Large and/or potentially incompatible changes-C the major version number is incremented. SomeLD 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 foriF information on assigning module generation numbers,G please see the OpenVMS (POLYCENTER) Software ProductSH Installation Utility-variously refered to by acronymsJ 10-27  2 OpenVMS Programming InformationE including PCSI and SPIA-reference manual available 8 within the OpenVMS documentation set.A Of course, all of this is obviously subject tocF 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. I The goal of all this is to provide a guide to relativepF 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 theAI process dump by defining the logical names SYS$PROCDMP D 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: 5 $ define SYS$PROCDMP SYS$ERRORLOG:aE $ define /exec SYS$PROTECTED_PROCDMP SYS$ERRORLOG:sI The abouve presumes that the SYS$ERRORLOG logical namef. 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 process 5 potentially writing process dumps.l 10-28 i r2 OpenVMS Programming InformationD __________________________________________________________- 10.26 Access to Itanium Assembler? @ If you are interested in accessing the nativeE Intel Itanium assembler within the OpenVMS I64 GNVdG environment-and since the iasi64 assembler is a UnixcI program and GNV is a Unix environment for OpenVMS I64-E you can simply copy iasi64.ext into your gnu:[bin] @ 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 itsnD particular prefered location on the local system.: A typical "as." script looks like this:1 path/iasi64.exe $1 $2 $3 $4 $5 D __________________________________________________________1 10.27 Kernel-mode coding restrictions?tG Floating point is prohibited in OpenVMS Alpha inner- J mode (privileged) code, and within any process or otherF execution context that does not have floating point) enabled and available.OH Programmers developing and working with OpenVMS AlphaE high-IPL kernel-mode code, such as device drivers,oJ will further want to become familiar with the floating-E point processing and the instruction set emulationE available in the particular target environment (ifSI any). When working with C, inner-mode programmers will_H want to become familiar with the C compiler qualifier7 /INSTRUCTION_SET=[NO]FLOATING_POINT. F Device drivers and other similar kernel-mode C codeH must be compiled with /INSTRUCTION_SET=FLOATING_POINT3 and /EXTERN_MODEL=STRICT_REFDEF.aG Additionally, inner-mode code cannot call out to thecF user-mode language run-time libraries nor to any ofH the OpenVMS system run-time libraries. In particular,J this prohibition prevents pages of inner-mode-protectedJ memory from being allocated and interspersed within theJ user-mode heap or other such user-mode data structures.J 10-29  2 OpenVMS Programming InformationH The prohibtion on user libraries also generally meansI that such code must be linked with LINK /NOSYSLIB, andaF quite probably also with /SYSEXE. The former causesE the linker to avoid searching the system shareablegG image libraries (via IMAGELIB.OLB), while the latteraI brings in symbols typically only known to or otherwisei9 accessable from the OpenVMS executuve.PD To include kernel-mode C programming definitions,F macros and system constants within a C compilation,E include SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY on the C E compilation. (Constructs defined within the system C macro library LIB.MLB or within its C equivalent A SYS$LIB_C.TLB tend to be version-dependent, or.? undocumented, or both.) As an example of theaJ compilation, the following is a typical C device driver' compilation command:nV $ CC /STANDARD=RELAXED_ANSI89/INSTRUCTION=NOFLOATING_POINT/EXTERN=STRICT -P 'DEBUG_CC_DQ_OPT' 'ARCH_CC_OPT' 'CHECK_CC_OPT' 'SHOW_CC_OPT' -E /LIS=LIS$:xxDRIVER/MACHINE_CODE/OBJ=OBJ$:xxDRIVER -7C SRC$:xxDRIVER.C+SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARYnI Additionally, code running in executive mode in an ASTnJ or in kernel mode cannot call RMS services, or routines9 which directly or indirectly call RMS._D For related kernel-mode programming materials andG driver documentation, please see the Writing OpenVMS E Alpha Device Driversin C book, ISBN 1-55558-133-1. D __________________________________________________________= 10.28 Decoding an Access Violation (ACCVIO) Error?tH To decode the virtual addresses returned by an accessG violation or by another similar OpenVMS display, youE need to have created and retained a listings file-tJ preferably one with machine code generation enabled-and# a full link map.:D Starting with the virtual address reported by theB error, use the link map to find the module thatI contributed the code that contains the virtual address J range. Calculate the offset from the base of the range,H by subtracting the base of the range from teh failingF virtual address. Then use the compiler listings for 10-30  2 OpenVMS Programming InformationH the particular component that contributed the code to@ locate the offset of the failing instruction.J If the map and listings information was not maintained,J working backwards is far more difficult-you are left toH use the binary instruction data around the failure toI locate the associated source code, and this process ishG far more involved. This usually involves matching upiJ blocks of decoded instructions around the failing code,G or the direct analog involving matching up ranges ofBH decoded instructions. Keep the maps and listing files* around, in other words.J Rather easier than an approach based on virtual addressH arithmetic and far easier than working backwards fromI the instruction stream is to use integrated debugging- G this inclusion is arguably an essential component of E any non-trivial application-and to use the OpenVMS  Debugger.D The OpenVMS Debugger in particular can be used toI examine the source code, to examine the stack, and can I even be programmed to wait patiently for the incidence E of a particular value or failure or condition, andoE this is far easier than working backwards from the.E instruction stream is to use integrated debugging-aG this inclusion is arguably an essential component ofkE any non-trivial application-and to use the OpenVMSOD Debugger. The debugger can also be activated fromD within a signal handler, and commands to generateD a traceback can be generated directly, or throughG the invocation of a procedure containing a series of % debugger commands. F Details on the debugger are in the OpenVMS DebuggerE Manual, and also see the discussion of dyanmically < activating the Debugger in Section 10.19.J 10-31  2 OpenVMS Programming InformationD __________________________________________________________0 10.29 Generating an AUTODIN-II CRC32?I The following code can be used to generate an AUTODIN-eJ II 32-bit Cyclic Redundency Check (CRC32) value from anJ input string descriptor, similar to that used by the HPH C compiler for its /NAMES=SHORTENED mechanism, and by@ various other applications requiring a CRC32.H The routine uses the OpenVMS library routine lib$crc_J table to generate a sixteen longword array of data fromI the specified encoded polynomial coefficient (AUTODIN-F II, in this case), and then lib$crc to generate theA CRC32 value from the array and the input data.pH static int CreateCRC32( struct dsc$descriptor *InputDataDesc ) {  uint32 AUTODIN2; uint32 Seed = ~0UL; / uint32 Coefficient = 0x0EDB88320UL;t uint32 CRCArray[16];, lib$establish( lib$sig_to_ret );F lib$crc_table( (void *) &Coefficient, (void *) CRCArray );S AUTODIN2 = lib$crc( (void *) CRCArray, (void *) &Seed, InputDataDesc );  AUTODIN2 ^= Seed;  return AUTODIN2; } D __________________________________________________________+ 10.30 Enabling built-in tracing? * $ RUN SYS$SYSTEM:SYSMAN? SYSMAN> SYS_LOAD ADD TR$DEBUG TR$DEBUG/LOAD_  STEP=INIT/LOG  SYSMAN> Exit 6 $ @SYS$UPDATE:VMS$SYSTEM_IMAGES.COM8 To stop it from loading early in boot+ $ RUN SYS$SYSTEM:SYSMAN @ SYSMAN> SYS_LOAD REMOVE TR$DEBUG TR$DEBUG/LOG SYSMAN> Exito6 $ @SYS$UPDATE:VMS$SYSTEM_IMAGES.COM 10-32 u e2 OpenVMS Programming InformationF The first occurance of the name TR$DEBUG within theE command is considered the "product" and the secondcE is considered the "image" that should exist within ' SYS$LOADABLE_IMAGES.tA When TR$DEBUG loads in the init phase, it wille1 automatically turn on tracing.o1 Also see the SDA TR extension.SJ 10-33  J _______________________________________________________ 11 DECwindowsrD __________________________________________________________A 11.1 How do I let someone else display something on mye 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.aB 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-windowsC "display" correctly on the remote host. For a J 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 ksh H # $ DISPLAY=vms.domain:0.0 ; export DISPLAY DCLC $ SET DISPLAY/CREATE/NODE=vms.domain -J ___________________/TRANSPORT=TCPIP/SERVER=server/SCREEN=screen_E o If you have verified the command is correct andG things are still not working, ensure the Security F settings on the OpenVMS host side will allow theJ 11-1   DECwindows G incoming connection: Pull down the "Options" menurJ 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 tor# add an entry.gI o There are various transports available, including F LOCAL, DECNET, LAT, and TCPIP. You must SelectA the transport appropriate to the incomingr# connection. D o If the transport is "DECnet", do NOT add the; double colon (::) to the node name. D o If the transport is "TCPIP", "Username" mustG be an asterisk (*). Why? Because unlike DECnet, G the TCP/IP protocol does not provide the remote H username information in the incoming connection.G o If the connection is "TCPIP", it is best to use C a full domain name (e.g. Node.Subd.Domain). C However, you may have to use the IP addressoC itself, if your host does not have a way torD 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 host E 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 beenu> activated for use with DECwindows. SeeG Section 11.14 for details of configuring TCP/IP ' as a transport.dG o There is a log file created in SYS$MANAGER: whicheC can tell you which transports are loaded, and H also tell you what connect attempts were rejected,F including showing what the presented credentialsC were. This file is SYS$MANAGER:DECW$SERVER_0_ G ERROR.LOG, although the 0 could be another number1H if you have multiple servers on the workstation. I 11-2  e s DECwindowstI have found this file to be very useful for trackingyF down what needs to be put in the Session Manager' Security entries. D __________________________________________________________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_nodehI $ SET DISPLAY /CREATE /TRANSPORT=LAT /NODE=remote_nodeoL $ SET DISPLAY /CREATE /TRANSPORT=DECnet /NODE=remote_nodeK $ SET DISPLAY /CREATE /TRANSPORT=TCPIP /NODE=remote_nodeaJ 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.eH 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 thentI reference the symbols DECW$DISPLAY_NODE, DECW$DISPLAY_ C SCREEN, DECW$DISPLAY_SERVER and/or DECW$DISPLAY_  TRANSPORT. A An example of calling the underlying (and alsoF 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 n c DECwindowsiD __________________________________________________________8 11.4 How do I get a log of a DECterm session?H If you are working from a DECwindows DECterm terminalF emulator, you can use the AutoPrint feature. ChooseJ the "Printer..." menu item from the "Options" menu, setG the printing destination to the name of the file youpG want, and set "Auto Print Mode". You are now free toy continue.D 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 seeo9 exactly what was originally displayed. E You can also use the "Print Screen" screen capture H available in the DECwindows session manager menus, ifJ you simply wish to snapshot a particular portion of the% X Windows display.rI If you are using the Freeware VTstar terminal emulatoreH package, you will find a similar logging mechanism is* available in the menus.D __________________________________________________________5 11.5 Why is DECwindows Motif not starting? D First check to see if there is a graphics device,E usually a G* device. (eg: On a DEC 2000 model 300,eG use the command SHOW DEVICE GQ) If you do not find am# graphics device:D o OpenVMS has failed to find the appropriate IRQC information for an EISA graphics card (on theG DEC 2000 series) such as the HP (Compaq) QVision, G and did not autoconfigure it. Run the correct ECUrF (for Tru64 UNIX and OpenVMS) and reboot. This is; necessary only on EISA-based systems.pD o You have an EISA-based system (such as the DECC 2000 model 300) and do not have a HP (Compaq)fH 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 notrD support it. (There are no other supported EISAJ graphics controllers, and EISA graphics are normally 11-4e   DECwindowsiF 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 Radeon 7500 8 o PowerStorm 3D30, PowerStorm 4D20) o 3DLabs Oxygen VX1tI See Section 5.16 for further information on some ofT1 these graphics controllers.fC o You have booted the system minimally, or haveCE otherwise disabled the device autoconfiguration  process.< If there is a G* graphics device present:? o There may have been a severe error in thei> DECwindows startup. Type the contents ofA SYS$MANAGER:DECW$SERVER_0_ERROR.LOG for anya@ 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 now - "correct" this setting.eF If you really do not want an OpenVMS system withE workstation hardware to bootstrap and configurec@ 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: 2 $ LICENSE LIST DW-MOTIF/FULL6 $ LICENSE LIST NET-APP-SUP*/FULLJ 11-5   DECwindows F and examine the information displayed. Make sureF that one of these licenses is present, valid and active..E For information on registering software licensee@ product authorization keys (PAKs) when youE cannot log into the system directly, please see $ Section 5.6.2.E o Check that the DECW$PRIVATE_SERVER_SETUP.COM is E correct for the graphics controller in use. For  instance:,E The following is from the 9FX Vision 330 Owners G Guide, EK-V330G-OG pg 2-9. Place the following in H DECW$PRIVATE_SERVER_SETUP.COM, creatibng .COM fromF .TEMPLATE if necessary. Locate the DECW$PRIVATE_G SERVER_SETUP.COM file in SYS$SPECIFIC:[SYSMGR] orsG in SYS$COMMON:[SYSMGR] as appropriate; the former C file is used for this system within a clustersC configuration, and the latter is used for all H 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 PowerStormeI 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?B If you are creating a new DECterm window, check= $ HELP CREATE /TERMINAL /WINDOW_ATTRIBUTES I If you want to change the title of an existing window, J 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 backslash  character.p 11-6   DECwindowsuI To set the icon label, send the escape character, thenbE the characters "]2L;", then the icon label string,nG and then an escape character followed by a backslasho character.rE To set both the DECterm title and icon to the fullsG device name, you can use the following DCL commands:a $ esc[0,7] = 27O $ fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE")hB $ write sys$output esc+ "]21;" + fulldevnam + esc + "\"B $ write sys$output esc+ "]2L;" + fulldevnam + esc + "\"G You can also change the title and the icon using theo* Options-Window... menu.: Also see Section 12.1 and Section 8.13.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), variousVH 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 fileeG processing, and various other DECwindows attributes,e( see the example file:A $ SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE I This example template file is typically copied over toIE the filename SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS__D SETUP.COM and then modified to meet site-specific requirements.I Additionally, various X tools such as xsetroot, bitmaplG and xrdb-some these can be useful in customizing theyJ 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 DesktopmC Environment (CDE). You can select your preferredlE desktop (CDE or DECwindows Motif) when logging in,cB or you can change the default to the DECwindowsJ 11-7 n  DECwindows E 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_H SETUP.TEMPLATE for further details, and how to create/ DECW$PRIVATE_APPS_SETUP.COM.eD Note that with DECwindows CDE, the root window isC no longer visible by default. The root window iswE hidden behind the "backdrop" window of the currentoJ CDE workspace. To make the root window visible, use theG CDE style manager selection "backdrop none", and useiI information such as that in the OpenVMS FAQ to set the  root window. > To add a new backdrop to the DECwindows CDEC environment, the backdrop must first be in or bedE converted into X11 pixmap format. (This conversiontF is often possible using tools such as xv.) Then (ifC necessary) create the default backdrop directory F 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 extensioneE for the X11 pixmap file is .XPM, while CDE expectsFH only to see files with .PM.) Now invoke the CDE styleC manager and select a new backdrop. You will findpF your image will be placed at the end of the list of' backdrops available.oF If you require a message be included on the initialG display-where the start session display and the logogJ appears-you can use either of the following approaches:F o The simplest approach requires OpenVMS V7.3-2 orC later, and the corresponding DECwindows V1.3-cD 1 kit or later. You will want to create a fileG named SYS$COMMON:[SYSMGR]DECW$GREET.TXT, and thiseE will be displayed in a popup-with an OK button-(G when the login box is displayed. This is intendedD specifically for applications requiring such a display. 11-8l  l DECwindows C o The second approach involves copying the filey) XRESOURCES.DAT fromiM SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.SYSTEM.CONFIG.C]  into the directoryK SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.USER.CONFIG.C] E and editing the copy. Specifically, look for the following:_3 Dtlogin*greeting.labelString:sH 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:< Dtlogin*greeting.labelString: Welcome to Heck \n\L This is a Trusted System owned by the Rulers of the planet Zark\n\ \n\r We Come In Peace\n\ \n@ 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 ofo text.I 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,eƒ and it can be changed. Copy the file to SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.USER.APPCONFIG.ICONS.C]DECDTLOGO.PM,_H 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 the J 11-9 " r DECwindowstH 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.' _____________________________S; 11.7.1 How do I customize DECwindows keymapping?dJ Various keymaps can be implemented on OpenVMS and otherD X Windows systems, allowing the implementation ofE a Dvorak-style or other alternate keymappings. ForaE details, see the available X Windows documentationoG (this is the documentation associated with X WindowsnD itself, and not the product documentation for theB OpenVMS operating system nor for the DECwindowsC X Windows implementation) and see the DECwindowsoA *.DECW$KEYMAP (text-format) files found in the 5 DECwindows DECW$KEYMAP: directory.EH For other keymapping information, see Section 11.7.2.' _____________________________sC 11.7.2 Why does the DELETE key delete forward instead of  backward?DJ Some operating systems use as ; as theH character back-delete key. Most OpenVMS applications,I VT-series terminals (check the terminal settings, manyF can have this configured within the terminal set-upH menus), and DECterm terminals all use as theJ character back-delete, and use as a request to= move to the beginning of the command line. A The Integrity EFI console does use asr> ; as the character back-delete key.H Also see the SET TERMINAL/BACKSPACE command available- on OpenVMS V8.2 and later. J 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. 11-10 T n DECwindowsn@ You can override the default bindings in yourG decw$xdefaults.dat file. Here is the entry you would< make to get the default OpenVMS bindings., *defaultVirtualBindings:\* osfCancel : \n\) osfLeft : \n\e& osfUp : \n\+ osfRight : \n\ ) osfDown : \n\t0 osfEndLine :Alt \n\1 osfBeginLine :Alt \n\D, osfPageUp : \n\- osfPageDown : \n\C2 osfDelete :Shift \n\. osfUndo :Alt \n\0 osfBackSpace : \n\/ osfAddMode :Shift \n\ ) osfHelp : \n\e' osfMenu : \n\n+ osfMenuBar : \n\t- osfSelect :