Discussion:
OpenVMS Frequently Asked Questions (FAQ), Part 1/11
(too old to reply)
Hoff Hoffman
2005-09-04 19:50:09 UTC
Permalink
Archive-name: dec-faq/vms/part1
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-01.TXT



















The OpenVMS Frequently Asked Questions (FAQ)




ABSTRACT

This document contains answers to many common questions
on the OpenVMS operating system, and covers OpenVMS,
and OpenVMS running on Itanium, Alpha, and VAX
hardware.

This document is available in various formats, and
the text-format version of this FAQ is generally the
easiest format to search.




Revision/Update Information OpenVMS V8.2-1

Revision/Update Information: Revision Date/September
2005










FAQ
















________________________________________________________________

Contents

__________________________________________________________
PREFACE i

__________________________________________________________
OPENVMS FREQUENTLY ASKED QUESTIONS (FAQ) iii

________________________________________________________________
CHAPTER 1 INTRODUCTION 1-1

__________________________________________________________
1.1 WHAT CORE OPENVMS URLS DO YOU NEED TO KNOW? 1-1

__________________________________________________________
1.2 WHAT ARE THE OPENVMS USENET NEWSGROUPS? 1-2
1.2.1 What is the scope of the comp.os.vms
newsgroup? 1-2
1.2.1.1 Using the Natural Language Search Assistant
(AskQ)?, 1-2
1.2.2 What newsgroups carry VMS-related
information? 1-4
1.2.3 What newsgroup archives are available? 1-5
1.2.4 What is the INFO-VAX mailing list? 1-5
1.2.4.1 How do I subscribe to or unsubscribe from
INFO-VAX?, 1-5

__________________________________________________________
1.3 WHAT IS [N]ETIQUETTE? 1-7

__________________________________________________________
1.4 WHAT OPENVMS USER GROUP(S) ARE AVAILABLE? 1-10

__________________________________________________________
1.5 OPENVMS SUPPORT, QUESTIONS AND COMMENTS? 1-11
1.5.1 Corporate contacts for OpenVMS Business
Issues? 1-11
1.5.2 OpenVMS Ambassadors? 1-12
1.5.3 Contact for OpenVMS Marketing Issues and
Questions? 1-12
1.5.4 Contact URLs for OpenVMS Technical
Issues? 1-12

iii







Contents




________________________________________________________________
CHAPTER 2 GENERAL INFORMATION 2-1

__________________________________________________________
2.1 WHAT IS OPENVMS? WHAT IS ITS HISTORY? 2-1

__________________________________________________________
2.2 WHAT IS THE DIFFERENCE BETWEEN VMS AND
OPENVMS? 2-3

__________________________________________________________
2.3 WHAT'S IN A NAME? TERMINOLOGY AND PRODUCTS? 2-3
2.3.1 How do I port from VMS to OpenVMS? 2-4

__________________________________________________________
2.4 WHICH IS BETTER, OPENVMS OR UNIX? 2-4

__________________________________________________________
2.5 IS HP CONTINUING FUNDING AND SUPPORT FOR
OPENVMS? 2-5

__________________________________________________________
2.6 WHAT OPENVMS DISTRIBUTION KITS ARE AVAILABLE? 2-5
2.6.1 Where can I download OpenVMS and Layered
Product Kits? 2-8

__________________________________________________________
2.7 IN WHAT LANGUAGE IS OPENVMS WRITTEN? 2-8

__________________________________________________________
2.8 OBTAINING AND TRANSFERING OPENVMS LICENSES? 2-9
2.8.1 Questions asked by Hobbyist OpenVMS
licensees? 2-9
2.8.1.1 Vendors offering Hobbyist Licenses, 2-10
2.8.2 OpenVMS Educational and CSLG licenses? 2-11
2.8.3 What developer and partner licensing
programs are available? 2-11
2.8.4 How do I obtain or transfer an OpenVMS
license? 2-12

__________________________________________________________
2.9 DOES OPENVMS SUPPORT THE EURO CURRENCY
SYMBOL? 2-12

__________________________________________________________
2.10 OPENVMS PORTS? ITANIUM? PORTS TO IA-32, EM64T OR
AMD64 SYSTEMS? 2-12

iv







Contents




__________________________________________________________
2.11 ARE THERE ANY NETWORK-ACCESSIBLE OPENVMS
SYSTEMS? 2-16

__________________________________________________________
2.12 WHAT VERSION OF OPENVMS DO I NEED? 2-17

__________________________________________________________
2.13 HOW CAN I SUBMIT OPENVMS FREEWARE? 2-19

__________________________________________________________
2.14 PORTING APPLICATIONS TO OPENVMS? 2-19

__________________________________________________________
2.15 WHAT RESOURCES ARE AVAILABLE TO OPENVMS SOFTWARE
DEVELOPERS? 2-20

__________________________________________________________
2.16 MEMORY MANAGEMENT, RESOURCE MANAGEMENT, PROCESS
SCHEDULING, ETC? 2-21

__________________________________________________________
2.17 BASIC UNITS OF MEASUREMENT? 2-22
2.17.1 How many bytes are in a disk block? 2-23
2.17.2 How many bytes are in a memory page? 2-24
2.17.3 How do I convert? Disk Blocks? KB, MB,
GB, TB? 2-25

________________________________________________________________
CHAPTER 3 DOCUMENTATION 3-1

__________________________________________________________
3.1 WHERE CAN I FIND ONLINE COPIES OF OPENVMS
MANUALS? 3-1

__________________________________________________________
3.2 WHAT ONLINE INFORMATION AND WEBSITES ARE
AVAILABLE? 3-2

__________________________________________________________
3.3 HOW DO I EXTRACT THE CONTENTS OF A HELP TOPIC TO A
TEXT FILE? 3-5

__________________________________________________________
3.4 DOES OPENVMS MARKETING HAVE AN E-MAIL
ADDRESS? 3-5

v







Contents




__________________________________________________________
3.5 WHERE CAN I LEARN ABOUT OPENVMS EXECUTIVE
INTERNALS? 3-5

__________________________________________________________
3.6 WHERE CAN NEW USERS FIND TUTORIAL INFORMATION ABOUT
OPENVMS? 3-6
3.6.1 Tutorial Websites? 3-6
3.6.2 Books and Tutorials? 3-8

__________________________________________________________
3.7 WHAT OPENVMS MAILING LISTS ARE AVAILABLE? 3-10

__________________________________________________________
3.8 WHAT IS THIS ASK THE WIZARD WEBSITE I'VE HEARD
ABOUT? 3-11

__________________________________________________________
3.9 WHERE CAN I FIND THE LATEST C RUN-TIME LIBRARY
MANUALS? 3-12

________________________________________________________________
CHAPTER 4 TIME AND TIMEKEEPING 4-1

__________________________________________________________
4.1 A BRIEF HISTORY OF OPENVMS TIMEKEEPING,
PLEASE? 4-1
4.1.1 Details of the OpenVMS system
time-keeping? 4-2
4.1.1.1 VAX hardware time-keeping details..., 4-3
4.1.1.1.1 TOY clock, 4-3
4.1.1.1.2 EXE$GQ_SYSTIME, 4-3
4.1.1.1.3 EXE$GQ_TODCBASE, 4-3
4.1.1.1.4 EXE$GL_TODR, 4-4
4.1.1.2 Alpha hardware time-keeping details..., 4-5
4.1.1.2.1 Battery-Backed Watch (BB_WATCH) Chip, 4-5
4.1.1.2.2 EXE$GQ_SYSTIME, 4-6
4.1.1.2.3 EXE$GQ_SAVED_HWCLOCK, 4-6
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 system
time? 4-7


vi







Contents




__________________________________________________________
4.2 KEEPING THE OPENVMS SYSTEM TIME SYNCHRONIZED? 4-9

__________________________________________________________
4.3 EXTERNAL TIME-BASE HARDWARE? 4-11
4.3.1 Why do my cluster batch jobs start
early? 4-11
4.3.2 Why does my OpenVMS system time drift? 4-12
4.3.3 Resetting the system time into the
past? 4-13
4.3.4 How can I drift the OpenVMS system
time? 4-13
4.3.5 How can I configure TCP/IP Services NTP
as a time provider? 4-14

__________________________________________________________
4.4 MANAGING TIMEZONES, TIMEKEEPING, UTC, AND DAYLIGHT
SAVING TIME? 4-16
4.4.1 Creating, Updating and Managing Timezone
Definitions? 4-19
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 Logical
Names? 4-22
4.4.3 How to troubleshoot TDF problems on
OpenVMS? 4-23

__________________________________________________________
4.5 WHY DOES THE SET TIME COMMAND FAIL? HELP MANAGING
DTSS? 4-25

__________________________________________________________
4.6 SETTING TIME ON ALPHASERVER ES47, ES80, GS1280
CONSOLE? 4-27

__________________________________________________________
4.7 UTC VS GMT VS VS UT1/UT1/UT2 TDF? WHAT ARE THESE
ACRONYMS? 4-29

__________________________________________________________
4.8 USING W32TIME OR AN SNTP AS A TIME PROVIDER? 4-30

vii







Contents




________________________________________________________________
CHAPTER 5 SYSTEM MANAGEMENT INFORMATION 5-1

__________________________________________________________
5.1 WHAT IS AN INSTALLED IMAGE? 5-1

__________________________________________________________
5.2 ARE THERE ANY KNOWN VIRUSES FOR OPENVMS? 5-2

__________________________________________________________
5.3 SOURCES OF OPENVMS SECURITY INFORMATION? 5-4

__________________________________________________________
5.4 HOW DO I MOUNT AN ISO-9660 CD ON OPENVMS? 5-4

__________________________________________________________
5.5 HOW DO I EXTRACT THE CONTENTS OF A PCSI KIT? 5-6

__________________________________________________________
5.6 EMERGENCY (CONVERSATIONAL) SYSTEM STARTUP? 5-7
5.6.1 I've forgotten the SYSTEM password - what
can I do? 5-11
5.6.2 My product licenses have expired - what
can I do? 5-11

__________________________________________________________
5.7 HOW DO I CHANGE THE NODE NAME OF AN OPENVMS
SYSTEM? 5-12

__________________________________________________________
5.8 WHY DOESN'T OPENVMS SEE THE NEW MEMORY I JUST
ADDED? 5-14

__________________________________________________________
5.9 HOW DO I CHANGE THE TEXT IN A USER'S UIC
IDENTIFIER? 5-15

__________________________________________________________
5.10 WHAT ARE THE OPENVMS VERSION UPGRADE PATHS? 5-16
5.10.1 OpenVMS Alpha Upgrade (or Update) Paths 5-16
5.10.2 OpenVMS I64 Upgrade Paths 5-19
5.10.3 OpenVMS VAX Release Upgrade Paths 5-20
5.10.4 OpenVMS Cluster Rolling Upgrade Paths 5-21
5.10.5 OpenVMS VAX Manual Organization 5-21
5.10.6 OpenVMS Product Version and Support
Information 5-22
5.10.7 OpenVMS Alpha and I64 Upgrade
Terminology 5-23

viii







Contents




__________________________________________________________
5.11 WHY DO I HAVE A NEGATIVE NUMBER IN THE PAGEFILE
RESERVABLE PAGES? 5-24

__________________________________________________________
5.12 DO I HAVE TO UPDATE LAYERED PRODUCTS WHEN UPDATING
OPENVMS? 5-26

__________________________________________________________
5.13 HOW DO I CHANGE THE VOLUME LABEL OF A DISK? 5-26

__________________________________________________________
5.14 HOW CAN I SET UP A SHARED DIRECTORY? 5-27

__________________________________________________________
5.15 WHY DO I GET EXTRA BLANK PAGES ON MY HP
PRINTER? 5-28

__________________________________________________________
5.16 DRIVERS AND CONFIGURATION OF NEW GRAPHICS
CONTROLLERS? 5-29
5.16.1 The ELSA GLoria Synergy 5-29
5.16.2 PowerStorm 300, PowerStorm 350 5-30
5.16.3 PowerStorm 3D30, PowerStorm 4D20 5-31
5.16.4 Radeon 7500 5-31

__________________________________________________________
5.17 HOW CAN I ACQUIRE OPENVMS PATCHES, FIXES, AND
ECOS? 5-31

__________________________________________________________
5.18 HOW DO I MOVE THE QUEUE MANAGER DATABASE? 5-32

__________________________________________________________
5.19 HOW DO I DELETE AN UNDELETABLE/UNSTOPPABLE (RWAST)
PROCESS? 5-33

__________________________________________________________
5.20 HOW DO I RESET THE ERROR COUNT(S)? 5-34

__________________________________________________________
5.21 HOW DO I FIND OUT IF THE TAPE DRIVE SUPPORTS
COMPRESSION? 5-37

__________________________________________________________
5.22 CAN I COPY SYSUAF TO ANOTHER VERSION? TO VAX? TO
ALPHA? 5-37

ix







Contents




__________________________________________________________
5.23 HOW DO I DELETE (TIMEOUT) IDLE PROCESSES? 5-39

__________________________________________________________
5.24 DO I NEED A PAK FOR THE DECEVENT (HP ANALYZE)
TOOL? 5-40

__________________________________________________________
5.25 INITIALIZE ACCVIO AND ANSI TAPE LABEL
SUPPORT? 5-40

__________________________________________________________
5.26 HOW DO I RECOVER FROM INSVIRMEM ERRORS? 5-41

__________________________________________________________
5.27 HOW CAN I PREVENT A SERIAL TERMINAL LINE FROM
INITIATING A LOGIN? 5-41

__________________________________________________________
5.28 HOW DOES PCSI USE THE IMAGE BUILD_IDENT
FIELD? 5-42

__________________________________________________________
5.29 HOW CAN I TELL WHAT SOFTWARE (AND VERSION) IS
INSTALLED? 5-44

__________________________________________________________
5.30 WHAT FILE CHECKSUM TOOLS ARE AVAILABLE FOR
OPENVMS? 5-45

__________________________________________________________
5.31 WHAT (AND WHERE) IS THE OPENVMS MANAGEMENT
STATION? 5-46

__________________________________________________________
5.32 HOW TO DETERMINE CURRENT DISK FRAGMENTATION
LEVEL? 5-46

__________________________________________________________
5.33 SYSBOOT-I-FILENOTLOC, UNABLE TO LOCATE
SYS$CPU_ROUTINES? 5-46

__________________________________________________________
5.34 HOW CAN I CUSTOMIZE THE DCPS DEVICE CONTROL FOR A
NEW PRINTER? 5-47

x







Contents




__________________________________________________________
5.35 WHY DO $GETDEV MOUNTCNT AND SHOW DEVICE MOUNT COUNTS
DIFFER? 5-48

__________________________________________________________
5.36 WHAT SOFTWARE IS NEEDED FOR POSTSCRIPT
PRINTERS? 5-49

__________________________________________________________
5.37 HOW DO I REMOVE A PCSI-INSTALLED PATCH (ECO)
KIT? 5-49

__________________________________________________________
5.38 SYSINIT-E, ERROR MOUNTING SYSTEM DEVICE,
STATUS=0072832C 5-50

__________________________________________________________
5.39 RESOLVING LICENSE PAK PROBLEMS? 5-50

__________________________________________________________
5.40 CHANGING THE OPENVMS VERSION NUMBER? 5-52

__________________________________________________________
5.41 HOW TO PREVENT USERS FROM CHOOSING OBVIOUS
PASSWORDS? 5-52

__________________________________________________________
5.42 PLEASE HELP ME WITH THE OPENVMS BACKUP
UTILITY? 5-54
5.42.1 Why isn't BACKUP/SINCE=BACKUP working? 5-54
5.42.1.1 Why has OpenVMS gone through the agony of
this change?, 5-55
5.42.1.2 Can you get the old BACKUP behaviour
back?, 5-55
5.42.2 What can I do to improve BACKUP
performance? 5-55
5.42.3 Why is BACKUP not working as expected? 5-57
5.42.4 How do I fix a corrupt BACKUP saveset? 5-59
5.42.5 How do I write a BACKUP saveset to a
remote tape? 5-60
5.42.6 How to perform a DoD security disk
erasure? 5-61
5.42.7 How to enable telnet virtual terminals? 5-62
5.42.7.1 Volume Shadowing MiniCopy vs MiniMerge?, 5-63
5.42.7.1.1 Mini-Copy?, 5-64
5.42.7.1.2 Mini-Merge?, 5-64

xi







Contents




__________________________________________________________
5.43 PLEASE EXPLAIN DELETE/ERASE AND FILE LOCKS? 5-65

__________________________________________________________
5.44 MANAGING FILE VERSIONS? 5-65

__________________________________________________________
5.45 HOST-BASED VOLUME SHADOWING AND RAID? 5-67

________________________________________________________________
CHAPTER 6 INFORMATION ON MAIL 6-1

__________________________________________________________
6.1 MAIL KEEPS SAYING I HAVE NEW MESSAGES, BUT I DON'T.
WHAT DO I DO? 6-1

__________________________________________________________
6.2 HOW DO I SEND OR READ ATTACHMENTS IN VMS
MAIL? 6-1

__________________________________________________________
6.3 HOW CAN I BLOCK SMTP MAIL RELAY SPAM? 6-3

________________________________________________________________
CHAPTER 7 INFORMATION ON UTILITIES 7-1

__________________________________________________________
7.1 HOW DO I PLAY AN AUDIO CD ON MY WORKSTATION? 7-1

__________________________________________________________
7.2 HOW DO I ACCESS A MICROSOFT WINDOWS FLOPPY DISK FROM
OPENVMS? 7-2

__________________________________________________________
7.3 HOW DO I PLAY SOUND FILES ON AN ALPHASTATION?
DECSOUND DOESN'T WORK. 7-3

__________________________________________________________
7.4 HOW DO I READ IBM EBCDIC TAPES ON OPENVMS? 7-3

__________________________________________________________
7.5 HOW CAN I PATCH AN OPENVMS ALPHA IMAGE? 7-4


xii







Contents




________________________________________________________________
CHAPTER 8 DCL DETAILS 8-1

__________________________________________________________
8.1 DCL SYMBOLS AND OPENVMS LOGICAL NAMES? 8-1

__________________________________________________________
8.2 HOW DO I RUN A PROGRAM WITH ARGUMENTS? 8-3

__________________________________________________________
8.3 HOW CAN I CLEAR THE SCREEN IN DCL? 8-5

__________________________________________________________
8.4 USING REPLY/LOG FROM DCL? DISABLING CONSOLE
OPCOMS? 8-5

__________________________________________________________
8.5 HOW DO I GENERATE A RANDOM NUMBER IN DCL? 8-6

__________________________________________________________
8.6 WHAT DOES THE MCR COMMAND DO? 8-7

__________________________________________________________
8.7 HOW DO I CHANGE THE OPENVMS SYSTEM PROMPT? 8-7

__________________________________________________________
8.8 CAN I DO DECNET TASK-TO-TASK COMMUNICATION WITH
DCL? 8-8

__________________________________________________________
8.9 HOW CAN I GET THE WIDTH SETTING OF A
TERMINAL? 8-9

__________________________________________________________
8.10 WHY DOESN'T DCL SYMBOL SUBSTITUTION WORK? 8-9

__________________________________________________________
8.11 HOW CAN I SUBSTITUTE SYMBOLS IN A PIPE? 8-10

__________________________________________________________
8.12 USE OF RUN/DETACH, LOGINOUT, AND LOGICAL
NAMES? 8-10

__________________________________________________________
8.13 HOW TO USE ESCAPE AND CONTROL CHARACTERS IN
DCL? 8-11

xiii







Contents




________________________________________________________________
CHAPTER 9 FILES 9-1

__________________________________________________________
9.1 HOW CAN I UNDELETE A FILE? 9-1

__________________________________________________________
9.2 WHY DOES SHOW QUOTA GIVE A DIFFERENT ANSWER THAN
DIR/SIZE? 9-1

__________________________________________________________
9.3 HOW DO I MAKE SURE THAT MY DATA IS SAFELY WRITTEN TO
DISK? 9-2

__________________________________________________________
9.4 WHAT ARE THE LIMITS ON FILE SPECIFICATIONS AND
DIRECTORIES? 9-3

__________________________________________________________
9.5 WHAT IS THE LARGEST DISK VOLUME SIZE OPENVMS CAN
ACCESS? 9-4

__________________________________________________________
9.6 WHAT IS THE MAXIMUM FILE SIZE, AND THE RMS RECORD
SIZE LIMIT? 9-7

__________________________________________________________
9.7 HOW DO I WRITE CD-RECORDABLE OR DVD MEDIA ON
OPENVMS? 9-7
9.7.1 CD and DVD notation, terminology? 9-11
9.7.2 Use of RRD42 and other older
(embossed-media) CD drives? 9-13
9.7.3 Creating Bootable OpenVMS I64 CD or DVD
Media? SYS$SETBOOT? 9-13

__________________________________________________________
9.8 WHAT I/O TRANSFER SIZE LIMITS EXIST IN
OPENVMS? 9-14

__________________________________________________________
9.9 CAN I USE ODBC TO CONNECT TO OPENVMS DATABASE
FILES? 9-15

__________________________________________________________
9.10 IF MY DISKS ARE SHOWN AS VIOC COMPATIBLE, AM I USING
XFC? 9-15

xiv







Contents




__________________________________________________________
9.11 RMS SEQUENTIAL FILES AND PLATFORM
PORTABILITY? 9-16


________________________________________________________________
CHAPTER 10 OPENVMS PROGRAMMING INFORMATION 10-1

__________________________________________________________
10.1 MODULAR PROGRAMMING, FACILITY PREFIXES AND SYMBOL
NAMING? 10-1

__________________________________________________________
10.2 CAN I HAVE A SOURCE CODE EXAMPLE OF
CALLING...? 10-2

__________________________________________________________
10.3 HOW DO I GET THE ARGUMENTS FROM THE COMMAND
LINE? 10-4

__________________________________________________________
10.4 HOW DO I GET A FORMATTED ERROR MESSAGE IN A
VARIABLE? 10-5

__________________________________________________________
10.5 HOW DO I LINK AGAINST SYS$SYSTEM:SYS.STB ON AN ALPHA
SYSTEM? 10-5

__________________________________________________________
10.6 HOW DO I DO A SET DEFAULT FROM INSIDE A
PROGRAM? 10-5

__________________________________________________________
10.7 HOW DO I TURN MY FORTRAN COMMON INTO A SHAREABLE
IMAGE ON ALPHA? 10-5

__________________________________________________________
10.8 HOW DO I CONVERT BETWEEN IEEE AND VAX FLOATING
DATA? 10-6

__________________________________________________________
10.9 HOW DO I GET THE ARGUMENT COUNT IN A FORTRAN
ROUTINE? 10-7

__________________________________________________________
10.10 HOW DO I GET A UNIQUE SYSTEM ID FOR LICENSING
PURPOSES? 10-7

xv







Contents




__________________________________________________________
10.11 WHAT IS AN EXECUTABLE, SHAREABLE, SYSTEM OR UWSS
IMAGE? 10-8

__________________________________________________________
10.12 HOW DO I DO A FILE COPY FROM A PROGRAM? 10-9

__________________________________________________________
10.13 WHAT IS A DESCRIPTOR? 10-10

__________________________________________________________
10.14 HOW DO I CREATE A PROCESS UNDER ANOTHER
USERNAME? 10-12

__________________________________________________________
10.15 WHY DO LIB$SPAWN, LIB$SET_SYMBOL FAIL IN DETACHED
PROCESSES? 10-13

__________________________________________________________
10.16 WHERE CAN I OBTAIN BLISS, AND THE LIBRARIES AND
SUPPORTING FILES? 10-14

__________________________________________________________
10.17 HOW CAN I OPEN A FILE FOR SHARED ACCESS? 10-15

__________________________________________________________
10.18 HOW CAN I HAVE COMMON SOURCES FOR MESSAGES,
CONSTANTS? 10-16

__________________________________________________________
10.19 HOW DO I ACTIVATE THE OPENVMS DEBUGGER FROM AN
APPLICATION? 10-16

__________________________________________________________
10.20 DEALING WITH ENDIAN-NESS? 10-17

__________________________________________________________
10.21 HOW TO RESOLVE LINK-I-DATMISCH ERRORS? 10-17

__________________________________________________________
10.22 HP C AND OTHER OPENVMS C PROGRAMMING
CONSIDERATIONS? 10-18
10.22.1 Other common C issues 10-21
10.22.2 Other common C++ issues 10-23

__________________________________________________________
10.23 STATUS OF PROGRAMMING TOOLS ON OPENVMS VAX? 10-25

xvi







Contents




__________________________________________________________
10.24 CHOOSING A VERSION NUMBER FOR APPLICATION
CODE? 10-26

__________________________________________________________
10.25 SELECTING A PROCESS DUMP DIRECTORY? 10-27

__________________________________________________________
10.26 ACCESS TO ITANIUM ASSEMBLER? 10-28

__________________________________________________________
10.27 KERNEL-MODE CODING RESTRICTIONS? 10-28

__________________________________________________________
10.28 DECODING AN ACCESS VIOLATION (ACCVIO) ERROR? 10-29

__________________________________________________________
10.29 GENERATING AN AUTODIN-II CRC32? 10-31

__________________________________________________________
10.30 ENABLING BUILT-IN TRACING? 10-31

________________________________________________________________
CHAPTER 11 DECWINDOWS 11-1

__________________________________________________________
11.1 HOW DO I LET SOMEONE ELSE DISPLAY SOMETHING ON MY
WORKSTATION? 11-1

__________________________________________________________
11.2 HOW DO I CREATE A DISPLAY ON ANOTHER
WORKSTATION? 11-3

__________________________________________________________
11.3 HOW CAN I GET THE INFORMATION FROM SHOW DISPLAY INTO
A SYMBOL? 11-3

__________________________________________________________
11.4 HOW DO I GET A LOG OF A DECTERM SESSION? 11-4

__________________________________________________________
11.5 WHY IS DECWINDOWS MOTIF NOT STARTING? 11-4

__________________________________________________________
11.6 HOW DO I SET THE TITLE ON A DECTERM WINDOW? 11-6

xvii







Contents




__________________________________________________________
11.7 HOW DO I CUSTOMIZE DECWINDOWS, INCLUDING THE LOGIN
SCREEN? 11-7
11.7.1 How do I customize DECwindows
keymapping? 11-10
11.7.2 Why does the DELETE key delete forward
instead of backward? 11-10

__________________________________________________________
11.8 WHY DOESN'T XTAPPADDINPUT() WORK ON OPENVMS? 11-12

__________________________________________________________
11.9 WHY DO THE KEYBOARD ARROW KEYS MOVE THE DECWINDOWS
CURSOR? 11-13

__________________________________________________________
11.10 WHY DOES HALF MY DECWINDOWS DISPLAY BLANK? 11-13

__________________________________________________________
11.11 %DECW-W-NODEVICE, NO GRAPHICS DEVICE FOUND ON THIS
SYSTEM? 11-14

__________________________________________________________
11.12 HOW CAN I RESET THE WARNING BELL VOLUME? 11-16

__________________________________________________________
11.13 HOW CAN I ALTER THE DECWINDOWS CDE BACKDROP? 11-17

__________________________________________________________
11.14 HOW CAN I ENABLE THE DECWINDOWS TCP/IP
TRANSPORT 11-17

__________________________________________________________
11.15 CAN I USE DECWINDOWS 1.2-* ON OPENVMS V7.3-2 OR
LATER? 11-17

__________________________________________________________
11.16 HOW TO ADD FONTS INTO DECWINDOWS? 11-18

________________________________________________________________
CHAPTER 12 MISCELLANEOUS INFORMATION 12-1

__________________________________________________________
12.1 WHERE CAN I FIND INFORMATION ON ESCAPE AND CONTROL
SEQUENCES? 12-1

xviii







Contents




__________________________________________________________
12.2 DOES DECPRINT (DCPS) WORK WITH THE LRA0 PARALLEL
PORT? 12-3

__________________________________________________________
12.3 HOW DO I CHECK FOR FREE SPACE ON A (BACKUP)
TAPE? 12-3

__________________________________________________________
12.4 CORRECTLY USING LICENSE PAKS AND LMF? 12-4

________________________________________________________________
CHAPTER 13 FINDING AND USING SOFTWARE 13-1

__________________________________________________________
13.1 WHERE CAN I FIND FREEWARE/SHAREWARE/SOFTWARE FOR
OPENVMS? 13-1

__________________________________________________________
13.2 WHERE CAN I FIND UNIX TOOLS FOR OPENVMS? 13-15
13.2.1 C system and library routines 13-15
13.2.2 X Windows utilities and routines 13-16
13.2.3 TCP/IP Tools and Utilities for OpenVMS? 13-16
13.2.4 The vi text editor 13-17
13.2.5 The Emacs Text Editor 13-17
13.2.6 GNV: Various GNU tools 13-17
13.2.6.1 GCC compiler, 13-18

__________________________________________________________
13.3 WHAT IS THE STATUS OF PL/I ON OPENVMS? 13-19

__________________________________________________________
13.4 WHERE CAN I GET THE MOZILLA WEB BROWSER? 13-19

__________________________________________________________
13.5 WHERE CAN I GET JAVA FOR OPENVMS? 13-20

__________________________________________________________
13.6 OBTAINING USER INPUT IN DCL CGI SCRIPT? 13-21

__________________________________________________________
13.7 HOW CAN A BATCH JOB GET ITS OWN BATCH ENTRY
NUMBER? 13-22

__________________________________________________________
13.8 HOW DO I CONVERT TO NEW CMS OR DTM LIBRARIES? 13-22

xix







Contents




__________________________________________________________
13.9 WHERE CAN I GET PERL FOR OPENVMS? 13-23

__________________________________________________________
13.10 OBTAINING THE DECMIGRATE (AEST OR VEST, AND TIE)
TRANSLATOR? 13-25

__________________________________________________________
13.11 WHERE CAN I GET ZIP, UNZIP, SELF-EXTRACTING ZIP,
ETC? 13-26

__________________________________________________________
13.12 ARE VAX HARDWARE EMULATORS AVAILABLE? 13-27

________________________________________________________________
CHAPTER 14 HARDWARE INFORMATION 14-1

__________________________________________________________
14.1 WHAT ARE THE OPENVMS DIFFERENCES AMONG VAX, ALPHA,
AND IA-64? 14-1

__________________________________________________________
14.2 SEEKING PERFORMANCE INFORMATION FOR ALPHA (AND VAX)
SYSTEMS? 14-3

__________________________________________________________
14.3 CONSOLE COMMANDS, SERIAL LINES, AND CONTROLS? 14-3
14.3.1 What commands are available in the Alpha
SRM console? 14-4
14.3.2 What does SRM mean? What is PALcode? 14-4
14.3.3 Alpha COM ports and VAX console serial
line information? 14-5
14.3.3.1 Which terminal device name is assigned to the
COM ports?, 14-5
14.3.3.2 Which serial port is the console on the
MicroVAX 3100?, 14-5
14.3.3.3 How can I set up an alternate console on a
VAXstation?, 14-6
14.3.3.4 Please explain the back panel of the MicroVAX
II, 14-6
14.3.4 What are Alpha console environment
variables? 14-8


xx







Contents




14.3.5 What are the boot control flag values? 14-9
14.3.5.1 What are the I64 IPB boot flag values?, 14-9
14.3.5.2 What are the Alpha APB boot flag
values?, 14-10
14.3.5.3 What are the VAX VMB boot flag values?, 14-12
14.3.6 How do I boot an AlphaStation without
monitor or keyboard? 14-15
14.3.7 Downloading and using SRM console
Firmware? 14-16
14.3.7.1 Where can I get updated console firmware for
Alpha systems?, 14-16
14.3.7.2 How do I reload SRM firmware on a half-flash
Alpha system?, 14-17
14.3.7.3 How do I switch between AlphaBIOS/ARC and SRM
consoles?, 14-18
14.3.8 Console Management Options 14-21
14.3.9 Why do my EFI Boot Aliases Fail? 14-22
14.3.10 Can OpenVMS access the EFI console Boot
Aliases? 14-22
14.3.11 Downloading and using EFI Console
Firmware? 14-22

__________________________________________________________
14.4 WHAT PLATFORMS WILL OPENVMS OPERATE ON? 14-24
14.4.1 on the Alpha Multia? 14-26
14.4.2 on AlphaPC 164LX? AlphaPC 164SX? 14-28
14.4.2.1 on the NoName AXPpci33 system?, 14-28
14.4.3 on the Alpha XL series? 14-29
14.4.4 OpenVMS on the Personal Workstation -a
and -au series? 14-29
14.4.4.1 OpenVMS on the Whitebox Windows-Only series
Alpha?, 14-31
14.4.4.2 OpenVMS and Personal Workstation ATA (IDE)
bootstrap?, 14-32
14.4.5 On the Intel Itanium IA-64 platform? 14-32
14.4.5.1 Where can I get Intel Itanium
information?, 14-33

__________________________________________________________
14.5 WHAT IS THE LEAST EXPENSIVE SYSTEM THAT WILL RUN
OPENVMS? 14-34



xxi







Contents




__________________________________________________________
14.6 WHERE CAN I GET MORE INFORMATION ON ALPHA
SYSTEMS? 14-35

__________________________________________________________
14.7 DESCRIBE ALPHA INSTRUCTION EMULATION AND INSTRUCTION
SUBSETS? 14-36

__________________________________________________________
14.8 SO HOW DO I OPEN UP THE DEC 3000 CHASSIS? 14-38

__________________________________________________________
14.9 WHAT IS BYTE SWIZZLING? 14-38

__________________________________________________________
14.10 WHAT IS THE LAYOUT OF THE VAX FLOATING POINT
FORMAT? 14-40

__________________________________________________________
14.11 WHERE CAN I FIND MORE INFO ABOUT VAX SYSTEMS? 14-41

__________________________________________________________
14.12 WHERE CAN I FIND INFORMATION ON NETBSD FOR VAX
SYSTEMS? 14-41

__________________________________________________________
14.13 WHAT SYSTEM DISK SIZE LIMIT ON THE MICROVAX AND
VAXSTATION 3100? 14-41

__________________________________________________________
14.14 WHAT ARE THE VAX PROCESSOR (CPU) CODES? 14-43

__________________________________________________________
14.15 WHERE CAN I GET SOFTWARE AND HARDWARE SUPPORT
INFORMATION? 14-44

__________________________________________________________
14.16 WHERE CAN I GET HARDWARE SELF-MAINTENANCE SUPPORT
ASSISTANCE? 14-45

__________________________________________________________
14.17 WHY DOES MY SYSTEM HALT WHEN I POWER-CYCLE THE
CONSOLE TERMINAL? 14-45

__________________________________________________________
14.18 CAN I REUSE OLD KEYBOARDS, MICE AND MONITORS WITH A
PC? 14-46

xxii







Contents




__________________________________________________________
14.19 WHICH VIDEO MONITOR WORKS WITH WHICH GRAPHICS
CONTROLLER? 14-48

__________________________________________________________
14.20 WHERE CAN I GET INFORMATION ON STORAGE
HARDWARE? 14-49

__________________________________________________________
14.21 WHY DOES MY LK401 KEYBOARD UNEXPECTEDLY
AUTOREPEAT? 14-50

__________________________________________________________
14.22 PROBLEM - MY LK411 SENDS THE WRONG KEYCODES OR SOME
KEYS ARE DEAD 14-51

__________________________________________________________
14.23 WHICH DE500 VARIANT WORKS WITH WHICH OPENVMS
VERSION? 14-51

__________________________________________________________
14.24 HOW DO I SET THE SPEED AND DUPLEX ON OPENVMS
I64? 14-53

__________________________________________________________
14.25 THIRD-PARTY OR UNSUPPORTED
DISK/TAPE/CONTROLLERS/SCSI/WIDGETS? 14-53
14.25.1 Lists of third-party widgets on
OpenVMS? 14-56
14.25.2 Are the 2X-KZPCA-AA and SN-KZPCA-AA LVD
Ultra2 SCSI? 14-57
14.25.3 Resolving DRVERR fatal device error? 14-57

__________________________________________________________
14.26 LOOKING FOR CONNECTOR WIRING PIN-OUTS? 14-57

__________________________________________________________
14.27 WHAT CONNECTORS AND WIRING ADAPTERS ARE
AVAILABLE? 14-60

__________________________________________________________
14.28 WHAT IS FLOW CONTROL AND HOW DOES IT WORK? 14-63

__________________________________________________________
14.29 CD AND DVD DEVICE REQUIREMENTS? 14-64

xxiii







Contents




________________________________________________________________
CHAPTER 15 INFORMATION ON NETWORKS AND CLUSTERS 15-1

__________________________________________________________
15.1 HOW TO CONNECT OPENVMS TO A MODEM? 15-1

__________________________________________________________
15.2 OPENVMS AND IP NETWORKING? 15-1
15.2.1 How to connect OpenVMS to the Internet? 15-1
15.2.2 Connecting to an IP Printer? 15-1
15.2.3 How do I connect a PostScript printer via
TCP/IP? 15-2
15.2.4 How do I set a default IP route or
gateway on OpenVMS? 15-3
15.2.5 How can I set up reverse telnet (like
reverse LAT)? 15-4
15.2.6 Why can't I use PPP and RAS to connect to
OpenVMS Alpha? 15-4

__________________________________________________________
15.3 OPENVMS AND DECNET NETWORKING? 15-4
15.3.1 Can DECnet-Plus operate over IP? 15-5
15.3.2 What does "failure on back translate
address request" mean? 15-5
15.3.3 Performing SET HOST/MOP in DECnet-Plus? 15-6
15.3.4 How to flush the DECnet-Plus session
cache? 15-6

__________________________________________________________
15.4 HOW TO DETERMINE THE NETWORK HARDWARE
ADDRESS? 15-6
15.4.1 How do I reset the LAN (DECnet-Plus NCL)
error counters? 15-9
15.4.2 How do I install DECnet Phase IV on VMS
7.1? 15-9

__________________________________________________________
15.5 HOW CAN I SEND (RADIO) PAGES FROM MY OPENVMS
SYSTEM? 15-11





xxiv







Contents




__________________________________________________________
15.6 OPENVMS, CLUSTERS, VOLUME SHADOWING? 15-11
15.6.1 OpenVMS Cluster Communications Protocol
Details? 15-12
15.6.1.1 OpenVMS Cluster (SCS) over DECnet? Over
IP?, 15-12
15.6.1.2 Configuring Cluster SCS for path load
balancing?, 15-13
15.6.1.2.1 Cluster Terminology?, 15-13
15.6.1.2.2 Cluster Communications Control?, 15-14
15.6.1.2.3 Cluster Communications Control Tools and
Utilities?, 15-15
15.6.2 Cluster System Parameter Settings? 15-16
15.6.2.1 What is the correct value for EXPECTED_VOTES
in a VMScluster?, 15-16
15.6.2.1.1 Why no shadowing for a Quorum Disk?, 15-19
15.6.2.2 Explain disk (or tape) allocation class
settings?, 15-19
15.6.2.2.1 How to configure allocation classes and
Multi-Path SCSI?, 15-20
15.6.3 Tell me about SET HOST/DUP and SET
HOST/HSC 15-21
15.6.4 How do I rename a DSSI disk (or tape?) 15-23
15.6.5 Where can I get Fibre Channel Storage
(SAN) information? 15-24
15.6.6 Which files must be shared in an OpenVMS
Cluster? 15-24
15.6.7 How can I split up an OpenVMS Cluster? 15-25
15.6.8 Details on Volume Shadowing? 15-27
15.6.8.1 Does volume shadowing require a non-zero
allocation classes?, 15-27


________________________________________________________________
INDEX









xxv







Contents




________________________________________________________________
TABLES

1-1 Core Websites 1-1

1-2 INFO-VAX Mail Server Commands 1-6

2-1 OpenVMS Alpha Media Kits 2-6

2-2 OpenVMS I64 Order Numbers 2-7

2-3 OpenVMS I64 Media Suffix 2-7

2-4 OpenVMS Source Listings Kits 2-7

2-5 OpenVMS Alpha Version Rule-Of-Thumb 2-18

3-1 OpenVMS Websites 3-2

3-2 OpenVMS Tutorial and Documentation Websites 3-6

3-3 DP Books 3-8

3-4 OpenVMS Mailing Lists 3-10

5-1 PCSI Generation Number 5-43

11-1 X Windows Display Commands 11-1

14-1 I64 Conversational Bootstrap Flags 14-10

14-2 Alpha Conversational Bootstrap Flags 14-11

14-3 VAX Conversational Bootstrap Flags 14-12

14-4 DE500 Speed and Duplex Settings 14-52

14-5 DEC MMJ Pin-out 14-57

14-6 PC DB9 Pin-out 14-59

14-7 MicroVAX DB9 Pin-out 14-59

14-8 DECconnect MMJ Connectors and Adapters 14-61

15-1 Cluster Common Shared Files 15-24

xxvi











________________________________________________________________

Preface










































i











________________________________________________________________

OpenVMS Frequently Asked Questions (FAQ)


This is the OpenVMS Frequently Asked Questions (FAQ)
posting for the comp.os.vms and comp.sys.dec usenet
newsgroups.

Suggestions and Updates Welcome!

Please send your suggestions for changes,
additions, or corrections directly to FAQ Editor
(hoff{atsign}hp{period}com)

No Support Questions, Please

Please do not send technical questions to the
FAQ Editor (hoff{atsign}hp{period}com) . The FAQ
Editor (hoff{atsign}hp{period}com) is not in a
position to answer general questions, nor to
provide general product support. Rather, please
post your questions to the appropriate newsgroup,
or please contact your preferred hardware and/or
software support organization(s) directly.

Your understanding in this matter is greatly
appreciated.

If you believe any particular discussion worthy
of inclusion in a future edition of the FAQ and
particularly once you have or know both the question
and the answer, please then send the entire discussion
along to the FAQ Editor (hoff{atsign}hp{period}com) for
potential inclusion.

Do note that the FAQ Editor (hoff{atsign}hp{period}com)
takes URL link continuity seriously, and strives to
maintain current links. This is, however, a large
task, and it is only becoming more difficult. URL
link continuity is also something that you can
assist with, of course. If you should find a dead
link or a stale URL pointer, please notify the FAQ
Editor (hoff{atsign}hp{period}com) . If you have
or can find the current, correct or updated URL,
of course, that greatly assists the FAQ Editor

iii







OpenVMS Frequently Asked Questions (FAQ)




(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
newsgroups. (What you post can come back to haunt
you.)

_____________________________
Contributors

Many people have contributed to this FAQ, directly
and/or indirectly. In many cases, part or all of
an answer included in the FAQ has been adapted from
one or more postings from the comp.os.vms or other
newsgroup-this though individual citations and specific
quotations are generally not included in this FAQ.
(The FAQ Editor (hoff{atsign}hp{period}com) wishes to
thank to all of those folks who post answers to the
newsgroups, and that have contributed to the contents
of and to the general improvements of this FAQ.)

The following is an incomplete list of the folks that
have contributed directly or indirectly to the contents
of the OpenVMS FAQ. Additions, corrections, and updates
to this list of contributors and to the contents of
the FAQ itself are welcome, and all omissions and
misspellings are unintentional. Thanks to each of the
contributors here, and to all of the folks that have
participated in the FAQ and in the newsgroups.

Jim Agnew, Paul Anderson, Jason Armistead, Zoltan
Arpadffy, John AtoZ, Bailey, (The) Beav, Jeremy Begg,
Colin Blake, Fabrice Blanquart, Ken Blaylock, Kenneth
Block, Bol, Craig Berry, Mark Berryman, Jim Becker,
Verell Boaen, Bol, Jim Brankin, Richard Brodie, Robert
Alan Byer, Jeff Campbell, Scott Campbell, Antonio
Carlini, Keith Cayemberg, Ken Chaney, Cristy, John
Croll, David J. Dachtera, Robert Deininger, Dale
Dellutri, Leo Demers, Sue Denham, Thomas Dickey,
Eric Dittman, Jim Dunham, Eric, Glenn Everhart, Ken
Fairfield, Yaacov Fenster, Gunther Froehlin, Harry

iv







OpenVMS Frequently Asked Questions (FAQ)




Garonzik, Derek Garson, John Gillings, Andy Goldstein,
Clair Grant, Hunter Goatley, Ruth Goldenberg, Vance
Haemmerle, Ki Suk Hahn, SHarris, Fletcher Hearns,
Phillip Helbig, Hein van den Heuvel, Stephen Hoffman,
Eberhard Heuser-Hofmann, Sue Holt, Mark Hopkins,
Horn, Jaf, Leif Jansson, Kevin Jenkins, Don R.
Jones, Henry Juengst, inazu_k, Geoff Kingsmill,
Fred Kleinsorge, Felix Kreisel, Veli Korkko, Ruslan
R. Laishev, Norm Lastovica, p_lee, Jerry Leichter,
Richard Levitte, Steve Lionel, Denis Maillard, Kerry
Main, John E. Malmberg, David Mathog, Dale Miller,
Dick Munroe, Patrick Moreau, Morrison, otis, George
Pagliarulo, Keith Parris, Plass, pvhp, David Rabahy,
Stan Rabinowitz, Mike Raspuzzi, Steve Reece, Ian Ring,
Aaron Sakovich, Warren Sander, Mark Schafer, Brian
Schenkenberger, Atlant Schmidt, Wayne Sewell, Steven
Shamlian, Sue Skonetski, Scott Snadow, Sue Sommer,
Scott Squires, stfp, Dave Sweeney, Mike Thompson, Arne
Vajhøj, Martin Vorländer, Peter Weaver, William Webb,
Williams, Paul Winalski, Uwe Zinser.

Again, any omission from this list and any errors
or misspellings are entirely unintentional. Please
notify the FAQ Editor (hoff{atsign}hp{period}com) of
any omissions, corrections, or updates that might
be needed within this list. And thanks to each of
these individuals for their assistance and for their
contributions, and particularly for sharing their
expertise.

__________________________________________________________
FAQ Archives and FAQ Locations

The OpenVMS FAQ is archived in (at least) the following
locations:

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/

o http://www.google.com/

v







OpenVMS Frequently Asked Questions (FAQ)




o http://www.kjsl.com/vmsfaq

o http://eisner.decus.org/vms/faq.htm

o http://www.hoffmanlabs.org

Other internet FAQs are generally available in these
locations:

o news://comp.answers

o news://news.answers

o ftp://rtfm.mit.edu/pub/usenet/

o http://www.faqs.org/

o http://www.google.com/

__________________________________________________________
FAQ File Formats and Production Information

This FAQ is available in ASCII text, Postscript,
Bookreader, and HTML, and potentially in other file
formats. Certain formats, such as the Adobe Acrobat PDF
conversion from the Postscript format, are provided
downstream from the FAQ text formatting, and are
provided and maintained by others.

As the HTML-format FAQ is not a single monolithic (and
accordingly large) HTML file, it is the most difficult
format to search using the most common standard
(platform-local) tools. Accordingly, the FAQ Editor
(hoff{atsign}hp{period}com) recommends downloading,
using and searching the ASCII text FAQ format.

The OpenVMS FAQ is maintained in DECdocument SDML
format and all FAQ maintenance and the primary output
file format conversions are performed on OpenVMS
systems. For information on the DECdocument product,
please contact Touch Technologies.



vi







OpenVMS Frequently Asked Questions (FAQ)



__________________________________________________________
Old FAQ Section Notations Available in Index

For the folks that are familiar with older editions of
this FAQ and specifically for those folks looking for
the older section name keywords, please see the index
entries located under FAQ Sections (Old). These older
section names include the prefixes DCL, DECW, DOC,
FILES, MISC, MGMT, INTRO, SOFT, VMS, etc., followed by
the section number.

__________________________________________________________
The Fine Print

Corrections and suggestions are welcome. Should you
believe you can provide better stewardship of this FAQ,
or should you have strong feelings over the content,
structure, organization or implementation of the FAQ,
do realize you may be offered the editorship. The
editor maintains this document as a free service to
the OpenVMS community.

While the information contained here is believed
correct, the use of any and all information acquired
from this document is entirely at the risk of the
user(s). If your system should crash or your data
should become corrupted or the answer(s) found here
should be found erroneous, that is solely your risk and
your responsibility.

Though the editor of this FAQ is an employee of
Hewlett-Packard Company (HP), this posting and the
information contained within this FAQ are is not an
official statement of HP, nor a commitment by HP. All
information, comments or opinions included, cited or
otherwise referenced here may or may not reflect the
stated opinions of HP, of the editor, or of any other
entity.

All trademarks, registered trademarks, servicemarks and
registered servicemarks used or referenced here are the
properties of their respective owner(s) or holders.
Please route any corrections, requests or related
updates to the FAQ Editor (hoff{atsign}hp{period}com)

vii







OpenVMS Frequently Asked Questions (FAQ)




The redistribution, reposting and/or the web-serving of
complete and unaltered copies of this FAQ document is
permitted. Other uses only with prior permission.

The master copy of this FAQ is posted at

o http://www.hp.com/go/openvms/faq

Translations of this FAQ into various languages may
be available, please contact the maintainer(s) of
any translated document for assistance or feedback
involving the particular translated edition of this
FAQ.































viii












_______________________________________________________

1 Introduction



__________________________________________________________
1.1 What core OpenVMS URLs do you need to know?

If you have no other OpenVMS URLs bookmarked, you
will want to be familiar with the URLs listed in
Table 1-1:

________________________________________________________________
Table 1-1 Core Websites

________________________________________________________________
URL_______Contents______________________________________________

Core OpenVMS Information, including roadmaps and release
schedules

http://www.hp.com/go/openvms/

OpenVMS and Core Layered Product Documentation

http://www.hp.com/go/openvms/doc/

Core OpenVMS Support Search Engine URLs, the ITRC support and
discussion forums, and the ITRC FTP-accessable Patch Area

http://askq.compaq.com/ (Natural Language Search
Assistant)

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 Program

http://www.openvmshobbyist.org/

http://h71000.www7.hp.com/openvms/license_software_
__________programs/index.html___________________________________

1-1







Introduction



__________________________________________________________
1.2 What are the OpenVMS Usenet Newsgroups?

There are a huge number of newsgroups available, some
of which discuss topics of interest to folks using
OpenVMS operating system. Key among these are the
comp.os.vms newsgroup and the vmsnet.* heirarchy of
newsgroups.

_____________________________
1.2.1 What is the scope of the comp.os.vms newsgroup?

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

_____________________________
1.2.1.1 Using the Natural Language Search Assistant (AskQ)?

Keith Cayemberg has performed some some experimentation
on the HP Natural Language Search Assistant, and
reports the following formula for easing the effort
of locating OpenVMS Support content within NLSA.

http://hp.ciber.net/hp/match.asp?query=Example+VMS&source=1000

You can replace the "Example+VMS" with the keywords you
wish to search for. Important for selecting the OpenVMS
content content is the "&source=1000" at the end.

Here is an extract from Keith Cayemberg's Programming
Examples links:

ACMS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+ACMS&source=1000

ADA Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+ADA&source=1000

APL Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+APL&source=1000

ALL-IN-1 Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+ALL%20IN%201&source=1000

1-2







Introduction




BASIC Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+BASIC&source=1000

BLISS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+BLISS&source=1000

C++ Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+C%2B%2B&source=1000

CMS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+CMS&source=1000

COBOL Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+COBOL&source=1000

Datatrieve Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+Datatrieve&source=1000

DCL Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+DCL&source=1000

DECforms Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+DECforms&source=1000

FMS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+FMS&source=1000

Fortran Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+Fortran&source=1000

GKS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+GKS&source=1000

Lexical Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+Lexical&source=1000

LISP Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+LISP&source=1000

LSE Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+LSE&source=1000

MACRO Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+MACRO&source=1000

Motif Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+Motif&source=1000

OPS5 Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+OPS5&source=1000

1-3







Introduction




Pascal Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+Pascal&source=1000

PHIGS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+PHIGS&source=1000

SORT Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+SORT&source=1000

TDMS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+TDMS&source=1000

TPU Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+TPU&source=1000

_____________________________
1.2.2 What newsgroups carry VMS-related information?

The vmsnet.* hierarchy is operated by the Encompass
users group (formerly known as DECUS), and contains
various newsgroups of interest, including vmsnet.misc
and vmsnet.alpha.

Sprechen Sie Deutsch? Besuchen Sie bitte den newsgroup
de.comp.os.vms.

The comp.sys.dec newsgroup carries general discussions
about various HP computer systems, and specifically
systems that were acquired by HP as part of the
acquisition of Compaq, systems which had previously
been acquired by Compaq as part of the acquisition of
Digital Equipment Corporation (DIGITAL).

Also of interest are resources and conferencing systems
including Encompasserve (formerly known as DECUServe)
and Ken Farmer's OpenVMS.Org forums:

o telnet://eisner.decus.org/

o http://www.openvms.org/




1-4







Introduction



_____________________________
1.2.3 What newsgroup archives are available?

Extensive archives of INFO-VAX mailings and
comp.os.vms postings are archived and available at
SRI International: ftp://crvax.sri.com/info-vax/

Google also has extensive newsgroup archives available
at

o http://www.google.com/

_____________________________
1.2.4 What is the INFO-VAX mailing list?

INFO-VAX is a mailing list which is bidirectionally
gatewayed to the comp.os.vms newsgroup. This means that
postings to comp.os.vms get automatically sent to INFO-
VAX subscribers and messages sent to the INFO-VAX list
are automatically posted to comp.os.vms

INFO-VAX can be a useful way to participate in the
newsgroup if you can't access the newsgroup directly
through a newsreader. Note that INFO-VAX is a closed
mailing list, which means that only subscribers may
post to it. Please see Section 1.2.4.1 for information
on how to subscribe, and how you can subscribe such
that you can post from multiple addresses but still
receive no more than one copy of the mailings.

Please remember that propogation delays can and do
vary, meaning that mailings and postings may be delayed
or even lost. It is quite possible that postings
may not be delivered for several days, and that some
postings will appear out of the expected order.

For details on the available archives, please see
Section 1.2.3.

_____________________________
1.2.4.1 How do I subscribe to or unsubscribe from INFO-VAX?

The address for subscription requests is Info-VAX-
Request[at]Mvb.Saic.Com. Subscription requests are
handled automatically by a mail server. This mail
server ignores the subject line and processes each
line of the message as a command.

1-5







Introduction




The syntax for subscribing and unsubscribing, as well
as setting various parameters on your subscription,
is:

________________________________________________________________
Table 1-2 INFO-VAX Mail Server Commands

_______________________________________________________
Command____________________Description_________________

HELP Acquire information on mail
server

SUBSCRIBE INFO-VAX Join to the mailing list

UNSUBSCRIBE INFO-VAX Leave the mailing list

SET INFO-VAX DIGEST Select periodic omnibus
mail messages from the mail
server, rather than multiple
individual messages for each
posting.

SET INFO-VAX NODIGEST Separate mail delivery of
each message posted

SET INFO-VAX NOMAIL Establish an email address
for posting, though not for
receiving, mail.

SET INFO-VAX MAIL Establish an email address
for both posting and for
receiving mail from the
____________________________________mailing_list._______________

The mail server is not case-sensitive; case is
irrelevant. Settings and policies can be retrieved
from the mail server, typically using HELP.

The INFO-VAX moderator can be contacted directly at the
email address Mark.Berryman[at]Mvb.Saic.Com.



1-6


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 19:53:32 UTC
Permalink
Archive-name: dec-faq/vms/part2
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-02.TXT







Introduction



__________________________________________________________
1.3 What is [n]etiquette?

Before posting or emailing a question, please use
the available local resources, such as the OpenVMS
manuals, the HELP, and the resources and information
in and referenced by this FAQ. Please use these first.
Also please specifically read the release notes and
(if appropriate) the cover letter for the product you
are using. (The release notes are generally placed in
SYS$HELP:.) Quite often, these simple steps will allow
you to quickly find the answer to your own question-and
more quickly than waiting for a response to question
posted to a newsgroup, too. These steps will save
you time, and will also help ensure you have a good
reputation with the folks that might be included to
answer one of your future questions, a question not
covered in these resources. Put another way, if you do
not want your questions to be ignored in the future-
and please remember that the folks in the newsgroups
do not have to answer your questions-you won't want
to "annoy the natives" by asking a question that has
already been answered far more times more than you
might have realized, or a question whose answer is
readily available had you made a small effort.

When posting, please consider the following
suggestions:

o There is no particularly reliable way to recall,
erase, delete, or otherwise hide a message once it
is emailed or once posted. Once your message has
reached an external email server or multiple news
servers, the entire text is effectively a permanent
fixture of the network. And using the available
search engines, a fixture that is easy to locate
and to correlate. (Do not assume that all tools or
archives will honor the do-not-cache attributes,
either-postings marked as such can be among the most
interesting ones to cache, after all.)

For details on some of the many available archives,
please see Section 1.2.3.


1-7







Introduction




o Include a valid e-mail address in the text of your
posting or in a "signature" appended to the end.
Reply-to addresses in headers often get garbled.
Anonymous addresses can also simply be ignored, as
fake addresses are regularly used by folks that are
"trolling" and by folks that are spamming. (Though
to avoid spam-harvesting of your email address,
consider adding characters or a field into the
address-but remember to include details around which
characters or fields should be removed or altered if
you decide to be particularly clever here.)

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

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

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

o If you have a problem with HP (or any other
vendor's) product, please use the appropriate
support channel. Do not assume that newsgroup
postings will get read, will be responded to by the
appropriate developers, or will be later followed up
upon.

1-8







Introduction




o If you are posting from a web browser, news reader
or if you are posting via email sent to INFO-VAX,
please turn off MIME, vcard, attachments, and other
mechanisms that assume anyone reading the post
has the corresponding capability-use the text-only
option of your web browser, news reader, or mailer.
Usenet is traditionally a text-only medium, and
many comp.os.vms participants will use tools that
have this support disabled, or that do not have this
support. If the message uses MIME or attachments or
such, the text of your message will be buried in a
large pile of gibberish, and some tools will send
multiple copies of the text within a single posting.

o If you find that the postings of a particular user
are uninteresting, annoying, or off-topic, most
newsreaders include a filter or killfile mechanism,
and many mail clients have similar filtering
capabilities. Please do not "flame"-to email or
to post vitriol - any individual that might annoy
you, please enable and filter all of that user's
postings. Posting of vitriol and of "flames" will
eventually come back to haunt you; netizens and the
net itself have a very large and a very long memory.
Similarly, readers that decide that your postings
are not worthy of reading will similarly tend to
filter or to killfile all of your postings. Please
play nice, in other words.

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

widftp://rtfm.mit.edu/pub/usenet/
news.answers/usenet/primer/part1

widftp://rtfm.mit.edu/pub/usenet/
news.answers/usenet/faq/part1

widftp://rtfm.mit.edu/pub/usenet/
news.answers/usenet/emily-postnews/part1

1-9







Introduction




widftp://rtfm.mit.edu/pub/usenet/
news.answers/usenet/writing-style/part1

widftp://rtfm.mit.edu/pub/usenet/
news.answers/usenet/posting-rules/part1

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

Note

Please do not post security holes or system
crashers

Rather, please report these problems directly to
HP. Why? So that HP has a chance to resolve and
distribute a fix before other customer sites can
be affected.

Most folks in the newsgroups are honest and
deserve to know about potential security
problems, but a few folks can and will make
nefarious use of this same information. Other
sites will hopefully return the courtesy,
and will not post information that will
potentially compromise your site and your
computer environment.

__________________________________________________________
1.4 What OpenVMS user group(s) are available?

Encompass, the Enterprise Computing Association,
is a user group comprised of information technology
professionals that are interested in the Enterprise-
oriented products, services, and technologies of
Compaq and of the former DIGITAL. Encompass offers
newsletters, the Encompass website, and offers various
gatherings and related services, including symposia
events and local users group meetings.

Encompass is a descendent of the organization known as
DECUS, the Digital Equipment Computer Users Society.

1-10







Introduction




For more information on Encompass, please visit the
Encompass web site:

o http://www.encompassus.org/

The organization comprised of customers of Hewlett-
Packard Company (HP) that is probably most analogous to
the Encompass organization is Interex:

o http://www.interex.org/

Like Encompass, Interex offers various services
and events of interest to folks that presently work
with and/or that wish to learn about HP products and
offerings. Please see the Interex website for details.

__________________________________________________________
1.5 OpenVMS Support, Questions and Comments?

The following section includes contacts for OpenVMS
Feedback, and information on how to obtain technical
support information.

_____________________________
1.5.1 Corporate contacts for OpenVMS Business Issues?

The HP corporate contact for OpenVMS business issues is
Ann McQuaid, the HP General Manager directly in charge
of OpenVMS and OpenVMS Engineering, while feature
requests and other related matters should be routed
to MaryJane Vazquez, the OpenVMS Business Manager.

Ann and MaryJane will quite obviously respond best to
cogently-worded OpenVMS corporate-level business issues
or requests. With all due respect to all involved,
neither Ann nor MaryJane are appropriate contacts for
technical support matters nor for technical support
requests, nor for any other non-corporate-related, non-
business-related issues-these questions are best routed
to the local or regional customer support center; to
the support, technical and engineering teams.

To reach Ann or MaryJane via electronic mail, place a
dot between the first and the surname, and append the
expected HP.COM domain.

1-11







Introduction



_____________________________
1.5.2 OpenVMS Ambassadors?

The OpenVMS Ambassadors are senior HP engineers with
advanced technical knowledge and advanced training in
OpenVMS, with detailed knowledge of current and future
OpenVMS releases and product plans, and with contacts
directly with the HP and ISV hardware and software
engineering organizations developing OpenVMS and
OpenVMS hardware platforms, as well as layered products
and tools. Further, Ambassadors are experienced with
integrating HP OpenVMS and application-specific
products and ISV applications to solve specific
business requirements.

OpenVMS Ambassadors are based throughout the world.

Your HP sales representative or HP reseller will be
able connect you with your local OpenVMS Ambassador.

_____________________________
1.5.3 Contact for OpenVMS Marketing Issues and Questions?

Please see Section 3.4.

_____________________________
1.5.4 Contact URLs for OpenVMS Technical Issues?

For technical issues and technical support, please
contact your software support organization, or your
local HP Customer Support Center or HP Reseller. In
North America, you can call 1-800-HP-INVENT.

Please remember to review and to bookmark the following
support URLs:

o http://www.hp.com/go/openvms/

o http://askq.compaq.com/

o http://www.hp.com/go/openvms/wizard/

o ftp://ftp.itrc.hp.com/openvms_patches/


1-12












_______________________________________________________

2 General Information



__________________________________________________________
2.1 What is OpenVMS? What is its history?

OpenVMS, originally called VMS (Virtual Memory System),
was first conceived in 1976 as a new operating system
for the then-new, 32-bit, virtual memory line of
computers, eventually named VAX (Virtual Address
eXtension).

The first VAX model, the 11/780, was code-named "Star",
hence the code name for the VMS operating system,
"Starlet", a name that remains to this day the name
for the system library files (STARLET.OLB, etc.).

VMS version X0.5 was the first released to customers,
in support of the hardware beta test of the VAX-11/780,
in 1977. VAX/VMS Version V1.0 shipped in 1978, along
with the first revenue-ship 11/780s.

OpenVMS was designed entirely within HP and
specifically within the former Digital Equipment
Corporation (DIGITAL). Two of the principal designers
were Dave Cutler and Dick Hustvedt, though with a wide
variety of other contributors. OpenVMS was conceived
as a 32-bit, virtual memory successor to the RSX-
11M operating system for the PDP-11. Many of the
original designers and programmers of OpenVMS had
worked previously on RSX-11M, and many concepts from
RSX-11M were carried over to OpenVMS.

OpenVMS VAX is a 32-bit, multitasking, multiprocessing
virtual memory operating system. Current
implementations run on VAX systems from HP and
other vendors, as well as on hardware emulators;
for additional information on emulators, please see
Section 13.12 and


2-1







General Information




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

OpenVMS has also been ported to the Intel IA-64
architecture, and specifically to HP Integrity
systems using microprocessors from the Intel Itanium
Processor Family. This implementation of OpenVMS is
officially known as "HP OpenVMS for Integrity Servers"
and more commonly as "OpenVMS I64", and it operates
in the native Itanium IA-64 architecture and 64-
bit environment. OpenVMS I64 provides support for
applications requiring 32- or 64-bit virtual addressing
capabilities entirely within the native 64-bit Itanium
execution environment. (For details on this and related
terminology, please see Section 14.4.5.)

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

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

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

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

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

o http://www.openvms.compaq.com/openvms/20th/vmsbook.pdf

For information on the FreeVMS project, and on hobbyist
and educational versions of OpenVMS, please see:

o http://www.free-vms.org/

o http://www.openvmshobbyist.org/

2-2







General Information




o http://www.openvmsedu.com/

Also please see the related software licensing topics
Section 2.8.4, Section 2.8.1, and Section 2.15.

__________________________________________________________
2.2 What is the difference between VMS and OpenVMS?

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

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

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

__________________________________________________________
2.3 What's in a Name? Terminology and Products?

The proper names for OpenVMS on the various platforms
are "OpenVMS VAX", "OpenVMS Alpha", and "OpenVMS I64".
Use of "OpenVMS AXP" and of "VAX/VMS" are deprecated.

2-3







General Information




The VAX and Alpha terms are largely interchangeably
used as the names of platforms, of processor or
microprocessor implementations, and of the respective
computing architectures.

Somewhat confusing to long-time OpenVMS users, Intel
IA-32, IA-64, and EM64T, and AMD AMD64 are the names of
various computing architectures and of architectural
extensions. Only. These are not the names of any
implementations, nor of any platforms.

Intel Itanium is the name of a family of microprocessor
implementations of the Intel IA-64 architecture, as
Intel Pentium and Xeon are the names of families of
microprocessor implementations of Intel IA-32 and
(potentially) of the EM64T extensions.

I64 is the generic name for the various HP Integrity
platforms supported by HP OpenVMS for Integrity Servers
(and more commonly as "OpenVMS I64"); for the platforms
supported by OpenVMS I64. (For additional related
terminology, please see Section 14.4.5.)

_____________________________
2.3.1 How do I port from VMS to OpenVMS?

You already did. Wasn't that easy? Please see
Section 2.2 for details.

__________________________________________________________
2.4 Which is better, OpenVMS or UNIX?

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

That said, OpenVMS and the better implementations of
UNIX are all fine operating systems, each with its
strengths and weaknesses. If you're in a position
where you need to choose, select the one that best
fits your own requirements, considering, for example,

2-4







General Information




whether or not the layered products or specific OS
features you want are available, and considering the
expected cost-of-ownership over the lifetime of the
system installation.

If you are asking this question, you are probably
comparing OpenVMS to UNIX. It was once certainly
true that OpenVMS and UNIX were quite different.
In more recent times, there are tools and C APIs on
OpenVMS that directly provide or that easily support
porting UNIX programs and commands, and there are
equivalent packages bringing various OpenVMS features
and mechanisms to UNIX platforms.

If you seek UNIX tools on OpenVMS rather than the
more philosophical discussion found in this section,
please see the GNV package and other GNU discussions
in Section 13.2.6, and please see the plethora of
C calls currently available in the HP C Run-Time
Library documentation, briefly discussed over in
Section 13.2.1.

__________________________________________________________
2.5 Is HP continuing funding and support for OpenVMS?

Yes.

Active development of new OpenVMS releases is underway,
as well as the continuation of support.

Please see the following URLs for details, roadmaps,
and related information:

o http://www.hp.com/go/openvms/

__________________________________________________________
2.6 What OpenVMS distribution kits are available?

Various distributions are available.

For the most current information on the available part
numbers and current products (OpenVMS distribution
kits, media, documentation, etc) and the most current
associated licensing information, please see the
current OpenVMS Software Product Description (SPD)
document, available at:

o http://h18000.www1.hp.com/info/spd/

2-5







General Information




OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

The CD-ROMs listed in Table 2-1 contain just the
OpenVMS Alpha operating system. The operating system
distribution kits are bootable, and can be used to run
BACKUP from the optical media, as well as performing an
installation or upgrade.

________________________________________________________________
Table 2-1 OpenVMS Alpha Media Kits

_______________________________________________________
Part______________Description__________________________

QA-MT1AG-H8 OpenVMS Alpha V6.2-1H3 hardware
release CD-ROM; also requires QA-
MT1AA-H8.6.2

QA-MT1AR-H8 OpenVMS Alpha V7.1-2 maintenance
release CD-ROM

QA-MT1AT-H8 OpenVMS Alpha V7.2-1 maintenance
release CD-ROM

QA-MT1AU-H8 OpenVMS Alpha V7.2-2 maintenance
release CD-ROM

QA-MT3AA-H8 OpenVMS Alpha and VAX products and
documentation on CD-ROM

QA-MT3AE-H8 OpenVMS Alpha and VAX documentation
___________________________on_CD-ROM____________________________

OpenVMS I64 is distributed on DVD-ROM media, and is
bootable. OpenVMS I64 licensing is implemented on a
per-processor-socket basis, with the classic license
tiers based on the numbers of processor sockets that
can be present. Further, three general product and
licensing groupings are optionally available with
OpenVMS I64, the Foundation Operating Environment
(FOE), the Enterprise Operating Environment (EOE), and
(as/when/if available) the Mission Critical Operating
Environment (MCOE). Seperate per-product licenses are
generally also available for various of the products
within the Operating Environment groups.

2-6







General Information




________________________________________________________________
Table 2-2 OpenVMS I64 Order Numbers

_______________________________________________________
Part______________Description__________________________

BA322AA#??? OpenVMS I64 FOE Product

BA323AA#??? OpenVMS I64 EOE Product

_________BA324AA#???_______OpenVMS_I64_MCOE_Product_____________

The product suffix required for the order numbers
listed in Table 2-2 can be found in Table 2-3.

________________________________________________________________
Table 2-3 OpenVMS I64 Media Suffix

_______________________________________________________
Suffix____________Description__________________________

A18 OpenVMS I64 FOE V8.2 DVD media

AJR OE media kit on DVD media

_________0D1_______________Factory_installation_________________

The OpenVMS VAX, OpenVMS Alpha and OpenVMS I64 source
listings sets referenced in Table 2-4 include the
source listings of most of OpenVMS, and these machine-
readable distributions are invaluable for any folks
working directly with OpenVMS internals, as well as for
folks interested in seeing examples of various OpenVMS
programming interfaces.

________________________________________________________________
Table 2-4 OpenVMS Source Listings Kits

_______________________________________________________
Part______________Description__________________________

QB-MT1AB-E8 OpenVMS Alpha Source Listings kit and
license

QT-MT1AB-Q8 OpenVMS Alpha Source Listings Updates

BA422AA OpenVMS I64 Source Listings kit and
license

QB-001AB-E8 OpenVMS VAX Source Listings kit and
license

2-7







General Information



________________________________________________________________
Table 2-4 (Cont.) OpenVMS Source Listings Kits

_______________________________________________________
Part______________Description__________________________

QT-001AB-Q8 OpenVMS VAX Source Listings Updates

BA422AA OpenVMS I64 source listings kit and
___________________________license______________________________

Additional OpenVMS packages and technologies including
NetBeans, XML, SOAP, UDDI, JDK, Perl, Tomcat, SSL
and such are discussed within the OpenVMS e-Business
Infrastructure Package SPD 80.58.xx. Again, please see
the OpenVMS SPD and the documents and parts referenced
there for the most current information.

_____________________________
2.6.1 Where can I download OpenVMS and Layered Product Kits?

HP customers with commercial licenses and support
contracts can download software product distribution
kits from the following HP website:

o http://www1.sqp.com/

You can also find pointers to the Software Rollout
Report and to the OpenVMS SPD listings via the above
SQP website.

Information on obtaining and transfering licenses
is available in Section 2.6 and Section 2.8.4, while
information on the OpenVMS Hobbyist licensing program
and on obtaining hobbyist product distribution kits is
in Section 2.8.1.

__________________________________________________________
2.7 In what language is OpenVMS written?

OpenVMS is written in a wide variety of languages.

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

2-8







General Information




could not be unbundled. (APL, BASIC, COBOL and RPG are
just some of the languages NOT represented!)

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

__________________________________________________________
2.8 Obtaining and Transfering OpenVMS licenses?

The following sections describe hobbyist and
educational license programs, as well as information on
commercial licenses and transfers.

For information on the available commercial OpenVMS
licenses and for information on license transfers,
please see Section 2.8.4. OpenVMS Hobbyist licenses
are discussed in Section 2.8.1. For information
on the licensing implementation, troubleshooting
licensing problems, on the License Unit Requirements
Table (LURT), and other related details, please see
Section 5.39. For configuring and troubleshooting LMF,
see Section 12.4.

_____________________________
2.8.1 Questions asked by Hobbyist OpenVMS licensees?

If you are a member of an HP-recognized user group
(eg: Encompass, Enterex, DECUS), and are considering
acquiring and using a VAX, Alpha or (soon) IA-64 system
for hobbyist (non-commercial) use, (free) license
product authorization keys (PAKs) for OpenVMS VAX,
OpenVMS Alpha, and (reportedly) OpenVMS I64, and
layered products are available.

In addition to the license keys, OpenVMS VAX and
Alpha distribution CD-ROM distribution kits are
available with OpenVMS, DECwindows Motif, DECnet
and TCP/IP networking, compilers, and a variety
of layered products. (A hobbyist distribution for
OpenVMS I64 is expected.) (While the hobbyist CD-
ROM distributions are intended for and tailored for
OpenVMS Hobbyists, the contents and capabilities of the

2-9







General Information




Hobbyist installation kits included within the OpenVMS
Hobbyist distribution do not differ from the standard
distribution installation kits. The products are chosen
to reflect the most popular products and the space
available on the media.)

If you have questions on what else is authorized by the
license agreement and on what other distribution media
is available to you, well, please read the applicable
software license agreement(s).

For further information, please link to:

o http://www.openvmshobbyist.org/

On the OpenVMS Hobbyist license registration form
at the above website (as of August 2005), you are
offered the choice of the "OpenVMS VAX" license(s), the
"OpenVMS Alpha" license(s), and the "Layered Products"
licenses. You will want the operating system license
for your particular OpenVMS platform and you will
want the "Layered Products" licenses. You will want
to select and to acquire two sets of license PAKs.

For vendors wishing to license products specifically
for hobbyist use (and to not issue hobbyist PAKs),
the program provides hobbyists with the license PAK
OPENVMS-HOBBYIST.

If you plan to use a hardware emulator (eg: VAX
emulator) on a Microsoft Windows platform, make sure
you have an OpenVMS distribution kit that can be
installed and/or booted with the particular emulator
package you plan to use. For additional information on
emulators, please see Section 13.12 and particularly
please see the emulator-related documentation.

_____________________________
2.8.1.1 Vendors offering Hobbyist Licenses

o GrayMatter Software
http://www.graysoft.com/GSCHobbyPR.html
http://www.graysoft.com/GSCHobbyPR.html

o Argent Software
http://jams.argent-software.com/hobby.html

2-10







General Information




o Kednos
http://www.kednos.com/

o LJK
http://ljk.com

o Process Software
http://www.process.com/openvms/hobbyist.html

o Raxco
http://www.raxco.com/hobbyist/

o Software Resources International (SRI)
http://www.softresint.com/charon-vax/Tools_and_
tips.htm

Hobbyist license product additions, and any updates
for products already listed here are welcome. Please
contact the FAQ Editor (hoff{atsign}hp{period}com)

_____________________________
2.8.2 OpenVMS Educational and CSLG licenses?

For information on OpenVMS licenses for educational
customers, please see the HP Campus Software
License Grant (CSLG) license program and the OpenVMS
Educational license program:

o http://www.openvmsedu.com/

_____________________________
2.8.3 What developer and partner licensing programs are
available?

Commercial software developers can join the HP DSPP
program, and can (potentially) receive discounts
on various software product licenses and software
distributions, as well as on hardware purchases.

o http://www.hp.com/go/dspp/

The DSPP program is the descendent of the DIGITAL ISVN
and DIGITAL ASAP programs and the Compaq CSA program,
and the analogous developer and partner programs at HP.

Please see Section 2.15 for additional details on the
DSPP program.

2-11







General Information




For information on the OpenbVMS Hobbyist and
OpenVMS Educational license programs, please see
Section 2.8.1.

_____________________________
2.8.4 How do I obtain or transfer an OpenVMS license?

To transfer a commercial OpenVMS license from one owner
to another, or to purchase a commercial license, you
can contact HP at regional sales office or reseller.

For information on the hobbyist license program, please
see Section 2.8.1.

__________________________________________________________
2.9 Does OpenVMS support the Euro currency symbol?

OpenVMS can generate the %xA4 character code used for
the Euro, and the DECwindows DECterm can display the
glyph. Please check with the vendor of your terminal or
terminal emulator for additional details.

__________________________________________________________
2.10 OpenVMS Ports? Itanium? Ports to IA-32, EM64T or AMD64
systems?

OpenVMS has been ported to and is operational on four
architectures: VAX, Alpha, IA-64, and IA-32. The first
three have available native ports of OpenVMS, the
fourth is available via emulation. VAX is the oldest
architecture, and limited to 32-bit virtual and up
to 34-bit physical addressing. The Alpha and IA-64
architectures are both 64-bit architectures, with
64-bit virtual addressing available. The available
IA-32 emulation is provided for the OpenVMS VAX and
other VAX operating systems, and provides a 32-bit
VAX environment. For additional information on the
emulation, please see Section 13.12.

As for (the lack of) a native port for IA-32, OpenVMS
Engineering presently and continues to believe that
there would be insufficient market (read: profit,
customer interest) to justify the cost involved in
a native port of OpenVMS to systems using the Intel
IA-32 architecture. In addition to the direct costs
involved in any port and in addition to the substantial
effort involved in moving backwards from a 64-bit

2-12







General Information




environment on Alpha and on IA-64 to a 32-bit platform
(such as IA-32), and the exceedingly non-trivial device
qualification costs and the costs in moving backwards
into older PCI and I/O environments (IA-32 systems
more than a few years old have equivalently aged I/O
support and buses), each organization and each person
maintaining a product or a package for OpenVMS will
have to justify a port to "OpenVMS IA-32", "OpenVMS
EM64T" or "OpenVMS AMD64", akin to the decisions and
the effort involved in porting a product from OpenVMS
VAX to OpenVMS Alpha, or the port to OpenVMS I64.

Platform ports of many of the various products can
be easy, and many of the ports of applications using
documented OpenVMS features are expected to require
little more than a source rebuild. Other products can
and do depend on platform-specific or undocumented
features, and the associated ports can be more
involved. Regardless, ports of operating systems are
very large and involved projects. The prerequisite
product requirements for an OpenVMS operating system
port are also non-trivial, as well-compilers in
particular are obviously required, and the suite of
compilers provided must maintain a very high degree of
source-level compatibility across the platforms. In the
case of the HP Integrity port, OpenVMS I64 V8.0 used
cross-compilers and cross-tools operating on OpenVMS
Alpha systems, while V8.2 and later have various native
compilers available.

The OpenVMS I64 port was centrally built using the
existing OpenVMS Alpha environment and around the work
and the knowledge from the OpenVMS Alpha port, and
OpenVMS Engineering fully expects that customers and
ISVs will use and will continue to use OpenVMS Alpha
systems to assist with their own ports to OpenVMS I64.
OpenVMS Engineering fully expects to see customers
using mixed-architecture clusters and fully shared file
systems, as well.

OpenVMS Engineering is well aware of the AMD AMD64
(64-bit) platform and processors. (At least one of the
available VAX emulators can reportedly utilize parts
of the AMD64 instruction set, please contact the VAX

2-13







General Information




emulator vendor(s) or maintainer(s) for assistance
and details on their products.) OpenVMS Engineering
is also well aware of the Intel EM64T platform and
processors. There are no plans to provide a native port
of HP OpenVMS for any systems based on the AMD AMD64
nor Intel EM64T architectures.

As part of the work leading to the Itanium port, senior
engineers had extensively evaluated the products and
the architectures available across the high-end 64-bit
computing space, and chose to target Itanium for 64-bit
environments-this while under the Compaq organization.
This included looking at IA-32. HP (a co-developer of
Itanium with Intel) had seperately chosen to target
Intel Itanium for its high-end computer products.
Compaq then announced plans for the future of Alpha
through EV7-series products and platforms, and HP
(entirely seperately) announced plans for PA-RISC
products and platforms. The Itanium target has been
maintained consistently since the Itanium port was
announced by Compaq, and has also been consistently
maintained by HP and by the combined company. For those
folks prefering to follow the schedules and the product
deliveries, OpenVMS Engineering had OpenVMS I64 V8.0
ready (internally) ahead of schedule-and with more
features available within the release than had been
originally planned for the release. (For information
on and for schedules of future OpenVMS releases,
please see the roadmap that is available at the OpenVMS
website.)

OpenVMS I64 itself does not require and does not plan
to utilize the Itanium IA-32 32-bit environment for
the operation of OpenVMS itself. OpenVMS I64 V8.0 and
later run natively on the Itanium processor family,
with no use of IA-32 instructions. While OpenVMS
can and does support 32-bit OpenVMS applications
and addressing on Itanium, this is done with sign-
extension addressing techniques entirely analogous to
what was done with 32-bit applications operating in
the 64-bit Alpha environment. Both OpenVMS 32-bit and
64-bit applications operate within the native Itanium
instruction set and run-time environment, and do not
use the Itanium IA-32 environment.

2-14







General Information




But yes, a native IA-32 port or a native AMD AMD64 or
Intel EM64T port of OpenVMS would certainly be nice
to have-this, of course, following the traditional
Linux preference for having a Linux port available for
most (all?) computer architectures known, and even
for certain high-end refrigerators and toasters,
and similar appliance-like devices. (The downside
of this all-encompassing approach: this requires
near-infinite engineering and support costs from
the various vendors involved, and the qualification
efforts and costs of most everything-everywhere. Or
reduced or eliminated testing and support efforts. Or
an unfortunate combination of these two. These costs
are huge, and the benefits derived from the work are
comparatively small when given the comparable costs
of more targeted (and thus supported and supportable)
hardware configurations-the platform targets are and
must be carefully selected and considered by each
vendor. Put another way, there are no plans to provide
a native port of HP OpenVMS for systems based on Intel
IA-32 processors, nor for systems based on AMD AMD64
nor Intel EM64T architectures and processors.

All this material having been written, have you
looked at the system configurations and pricing of
the available HP Integrity Intel Itanium systems? Low-
end computer hardware is clearly a commodity product,
and the systems are priced, serviced, upgraded, and
replaced accordingly. Intel Itanium is a commodity
microprocessor presently used in platforms available
from various hardware vendors, including (obviously)
from HP. Further, Itanium is a microprocessor available
from and supported by Intel, a semiconductor vendor
known for exceedingly high-volume microprocessor
fabrication process and production capabilities.

For information on supported platforms and processors,
please see the OpenVMS Software Product Description
(SPD) at:

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

2-15







General Information




Please see Section 14.4.5 for Intel Itanium
terminology.

__________________________________________________________
2.11 Are there any network-accessible OpenVMS systems?

Yes, though various restrictions can and do apply.

o Hobbes
Hobbes is a MicroVAX 3100 Model 40 for which
free access and accounts are available to OpenVMS
enthusiasts. This system has BASIC, Pascal, Fortran,
and C compilers installed. If you would like an
account on Hobbes, please see the FAQ at

o http://www.hobbesthevax.com/

o OpenVMS Galaxy Test-Drive
HP currently offers an OpenVMS Galaxy Test-Drive
system, based on an AlphaServer 4100 series
configured as two instances of the OpenVMS operating
system. For details, please visit:

o http://www.testdrive.hp.com/

o HP DSPP Test-Drive
The HP DSPP program offers various test-drive
systems, including an HP Integrity Itanium
development system and an HP OpenVMS I64
installation on an HP Integrity rx2600 server.
(The DSPP program can offers discount, LMF PAKGEN
PAK generation support, and other benefits for
developers.) For details on the DSPP program and
on the test-drive systems, please see section
Section 2.8.3 and please visit:

o http://www.testdrive.hp.com/

o http://www.hp.com/dspp/

The test-drive systems do require registration,
though access to the systems is free.

o Encompasserve
Encompasserve offers free access an OpenVMS Alpha
system.

o telnet://eisner.decus.org/

2-16







General Information




o OpenECS
OpenECS offers free access to a VAX 6000 model 530
system. If interested, please visit:

o http://vax6k.openecs.org/

o The Deathrow Cluster
The maintainers of the Deathrow Cluster offer access
to an OpenVMS VAX and an OpenVMS Alpha system,
configured in a cluster.

o telnet://deathrow.vistech.net

o The Preatorian Public OpenVMS Cluster
The maintainers of the Deathrow Cluster offer access
to an OpenVMS Alpha cluster. Details are at the
website listed below:

o http://www.preatorian.net

__________________________________________________________
2.12 What version of OpenVMS do I need?

For information on supported platforms, please see
the OpenVMS Software Product Description (SPD) for the
particular OpenVMS version of interest.

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

For a table of the minimum and (as applicable) maximum
OpenVMS versions required for various platforms, please
see the hardware support chart at HP OpenVMS website
and (as available) the following (potentially volatile;
intra-website) link:

o http://h71000.www7.hp.com/openvms/hw_
supportchart.html

For information on the Multia, related Alpha
single-board computers, or other officially
unsupported systems, please see Section 14.4.1 and
Section 14.4.2.1.

2-17







General Information




The following is a rule-of-thumb for Alpha platform
support. The table Table 2-5 contains the earliest
OpenVMS Alpha release with support for a particular
series of Alpha microprocessors:

________________________________________________________________
Table 2-5 OpenVMS Alpha Version Rule-Of-Thumb

_______________________________________________________
MicroprocessorOpenVMS
Generic_____Generation____Version_____General_Comments_

EV4 21064 V1.0 few systems;
most EV4 require
later; upgrade
available

EV5 21164 V6.2 subsequent
upgrade available

EV56 21164A V6.2-1H3 subsequent
upgrade to V7.1
and later

EV6 21264 V7.1-2 subsequent
upgrade typically
to V7.2-1 or
later

EV67 21264A V7.1-2 subsequent
upgrade typically
to V7.2-1 or
later

EV68 21264B, C V7.2-1 believed/probable;
and D currently an
unconfirmed
_______________________________________________expectation______

Specific hardware present and various system
configurations can require OpenVMS Alpha releases later
than those referenced in Table 2-5.


2-18







General Information



__________________________________________________________
2.13 How can I submit OpenVMS Freeware?

For the guidelines and submission info, please visit
the URL:

o http://www.hp.com/go/openvms/freeware/

To order the current OpenVMS Freeware CD-ROM kit
(shipping and handling charges apply), please request
part number QA-6KZAA-H8.

__________________________________________________________
2.14 Porting applications to OpenVMS?

Porting can range from simple to rather complex, and
depends on the features used on the original platform.

This section covers generic porting, and porting among
OpenVMS VAX OpenVMS Alpha, and OpenVMS I64. (Porting
among OpenVMS VAX, OpenVMS Alpha and OpenVMS I64
is often quite simple and involves little more than
rebuilding from source, though a few applications using
features specific to the platform or the architecture,
or using undocumented or unsupported interfaces can and
likely will require some additional effort to port.)

Several manuals on porting from OpenVMS VAX to OpenVMS
Alpha are available in the OpenVMS documentation set,
including information on porting VAX Macro32 assembler
code to the Macro32 compiler on OpenVMS Alpha, on
management differences, on upgrading privileged code,
and application migration:

o http://www.hp.com/go/openvms/doc/

Documentation on porting to OpenVMS I64 is available,
as well.

Details on the C programming environment are available
at:

o http://www.openvms.compaq.com/commercial/c/c_
index.html

2-19







General Information




Details on porting VAX C to HP C are are available at:

o http://www.openvms.compaq.com/commercial/c/index_
vax.htm

An OpenVMS Porting Library is available at:

o http://www.openvms.compaq.com/ebusiness/Technology.html

Information on the Enterprise Toolkit, a Visual-based
development environment for developing applications for
OpenVMS using a Microsoft platform, is available at:

o http://www.openvms.compaq.com/commercial/et/et_
index.html

Details on DCE, CORBA, BridgeWorks, and COM/DCOM
middleware is available at:

o http://www.openvms.compaq.com/commercial/middleware.html

Information on the COE standards is available at:

o http://diicoe.disa.mil/coe/

A wide variety of programming development tools and
middleware are available as commercial products (eg:
DECset, IBM WebSphere MQ-formerly MQseries), and
various tools are also available as shareware or as
Freeware. Please see other sections of this FAQ, and
please see:

o http://www.hp.com/go/dspp_catalog

__________________________________________________________
2.15 What resources are available to OpenVMS software
developers?

The HP Developer and Software Product Partner (DSPP)
program is open to and intended to support and to
assist HP OpenVMS software partners, consultants, and
service providers:

o http://www.hp.com/dspp/

DSPP provides members with various benefits, please see
the website for details.

2-20







General Information




For those not familiar with the DSPP program or with
its history, the DIGITAL Association of Software and
Application Partners (ASAP) program and the DIGITAL
Independent Software Vendors Network (ISVN) program
were incorporated into the Compaq CSA program, and the
CSA program has subsequently been incorporated into the
HP DSPP program.

Please see Section 2.8.3 for additional details on the
DSPP program.

__________________________________________________________
2.16 memory management, resource management, process
scheduling, etc?

So you have been instructed to write a school research
paper on OpenVMS, and you need technical content
on the OpenVMS Virtual Memory System, on any memory
segmentation, on OpenVMS Resource Management, on the
OpenVMS File System, on the OpenVMS user interface,
etc.

Invariably, your professor/instructor/teacher will
ask you a series of questions. Most commonly, the
questions will request descriptions of one or more of
the following items, and at varying levels of detail:

o process scheduling algorithm(s)

o Interprocess comunications

o Process or system synchronization constructs

o Memory management and/or virtual memory
implementation

o RMS or XQP file structures

o Resource management

o History of HP OpenVMS

o History of Compaq and/or of Digital Equipment
Corporation (DEC)

2-21







General Information




Any particular presentation or research paper, and
particularly a scholastic presentation, can have
many different potential target audiences, and very
different presentation levels. Further, the usual
underlying reason for scholastic presentations and
scholastic research projects really has little to do
with the subject matter, it is a task specifically
intended to teach the student(s) (eg: you) how to
perform the research. The instructor already knows
most of (all of?) the information that you have been
asked to collect.

For very technical details on OpenVMS and OpenVMS
internals, the book you want is the Internals and Data
Structures Manual (IDSM), available in your school
or computing center library, and the IDSM can also be
purchased. Additional technical details of the Alpha
microprocessor are available in the Alpha Architecture
Reference Manual documentation that is available for
download. (Pointers to Alpha technical documentation
are available in Section 14.6, and elsewhere.)

For higher-level (less technical) details, the OpenVMS
documentation set is available on-line. The Programming
Concepts and the File Systems manual are probably the
best manuals to start with, depending on the particular
level of detail the research requires.

And please understand the hesitation of various folks
to provide you with a completely-written research
report on your topic. Why? We might have to work with
you after you graduate-you need to know how to perform
at least basic research on your own, regardless of the
topic.

__________________________________________________________
2.17 Basic Units of Measurement?

OpenVMS and the underlying hardware use various units
of measurement for disk and memory storage, and related
abbreviations also typically exist. This section
covers the most common units, and the associated
abbreviations.

2-22







General Information



_____________________________
2.17.1 How many bytes are in a disk block?

A disk block is the minimum unit of disk storage
allocation in OpenVMS.

Under OpenVMS VAX and OpenVMS Alpha, the disk volume
block size is consistent, with each block containing
512 bytes.

The minimum disk allocation granularity actually
permissible (in the ODS-2 and ODS-5 volume structures
commonly used on OpenVMS) is determined on a per-volume
basis, and is typically based on a combination of the
total number blocks on the disk volume and the total
size of the volume storage bitmap. The allocation
granularity is known as the volume cluster factor-
the cluster factor is the number of blocks in a disk
cluster, and it is the smallest number of blocks that
can be allocated on a particular disk volume.

Prior to OpenVMS V7.2, the maximum permissible size of
the bitmap requires larger cluster factors as volume
sizes increase. Starting with V7.2, the bitmap can be
larger, and cluster factors as small as one block can
be used.

The number of bytes in a file can be determined by
multiplying the number of blocks allocated for the file
times the number of bytes in a block. For sequential
files (only), the FFB (XAB$W_FFB, in the File Header
XAB) value can be used to find out how much of the
last (XAB$L_EBK) block is used. FFB and EBK are
meaningful only for sequential files, and only in
a limited context-partial block allocations are not
permitted. For other file formats, the EOF marker is
not meaningful.

Disk allocations always occur only in units of the
cluster factors, which can be from one block up to
(potentially) clusters of eighteen blocks or more,
depending on the volume cluster factor. (OpenVMS V7.2
and later optionally provide for a cluster factor of
one up to volumes of approximately 137 gigabytes.)

2-23







General Information




OpenVMS assumes that the device driver and the
underlying storage device will present the file system
with addressable units of storage of 512 bytes in size,
or the appearance of same. Various third-party CD-ROM
devices, for instance, support only 2048 byte blocks,
and such devices are incompatible with the standard
OpenVMS device drivers.

To determine the number of bytes required for a file
from DCL, one option uses the f$file_attributes item
EOF, multiplied by the size of a block in bytes (512).
This does not account for the unused space in the last
block of a sequential file, but it also does not have
to differentiate sequential files from other files.

_____________________________
2.17.2 How many bytes are in a memory page?

A memory page is the minimum unit of memory allocation
in OpenVMS. With OpenVMS VAX, the memory page size
matches the disk block size: it is always 512 bytes.

With OpenVMS Alpha, the memory page size is variable,
and it can range from 8192 bytes (8 kilobytes) up
to 64 kilobytes. The current system page size can be
determined using the sys$getsyi or f$getsyi PAGE_SIZE
item. Programs with hardcoded constants for the memory
page size (or page alignment) should always assume a
page size of 64 kilobytes.

On OpenVMS I64, the memory page size is also variable,
ranging from 4096 bytes (4 kilobytes) up to 256
megabytes (MB) and potentially up to 4 gigabytes (GB).
As with OpenVMS Alpha, sys$getsyi and f$getsyi and the
PAGE_SIZE itemcode can and should be used to determine
the current system page size. In general, OpenVMS I64
will use a page size of 8 kilobytes, or larger.

On OpenVMS Alpha and on OpenVMS I64, a 512 byte area
of memory- equivalent in size to an OpenVMS VAX memory
page-is often refered to as a "pagelet".



2-24







General Information



_____________________________
2.17.3 How do I convert? Disk Blocks? KB, MB, GB, TB?

The smallest granularity of disk storage addressing is
called a disk block, or sometimes a disk sector. Groups
of disk blocks are usually organized together into
the smallest unit of storage that can be allocated,
and this unit is called a disk cluster. The number
of blocks in a cluster is the cluster factor, and is
established when the disk volume is initialized.

Each individual disk block is composed of five hundred
twelve (512) bytes, or one-half kilobyte. Each byte is
comprised of eight bits. A bit represents the smallest
unit of information, typically refered to as a one or a
zero.

OpenVMS tends to uses base two notation for disk
storage, while disk storage capacity specifications
from most storage vendors will generally use base ten
notation.

An OpenVMS disk block is 512 bytes in size; this is
one-half kilobyte in base two notation.

The following table describes the prefix, the
abbreviation, and the associated base ten (as used by
marketing and by storage vendors) and base two (OpenVMS
and various other operating systems) values.

Base Ten Base Two
-------------------------------- -------------------------
Kilobyte (KB) 10**3 1000 2**10 1024
Megabyte (MB) 10**6 1000000 2**20 1048576
Gigabyte (GB) 10**9 1000000000 2**30 1073741824
Terabyte (TB) 10**12 1000000000000 2**40 1099511627776
Petabyte (PB) 10**15 1000000000000000 2**50 1125899906842624
Exabyte (EB) 10**18 1000000000000000000 2**60 1152921504606846976

The base ten representation of the 2**40 value is
1099511627776, which is obviously rather ugly. When
viewed as a base eight or base sixteen (octal or
hexadecimal, respectively) value, the value is far
nicer. Specifically, the value is 10000000000 and
40000000 when represented in octal and hexadecimal,
respectively.

2-25







General Information




FAQ Notation

Within the OpenVMS FAQ, a thousand bits (either
assuming base two or base ten, as determined by
the context) is refered to as a kilobit, and is
always represented by the appreviation Kb, while
a thousand bytes is refered to as a kilobyte and
is always abbreviated as KB. Similar notational
usage also holds for Megabits (Mb) and Megabytes
(MB), and for the various other units.

OpenVMS operating system references to system and
storage are generally to the base-two version (eg:
1024, in the case of a kilobyte or kilobit) while
storage hardware references and hardware specifications
are generally to the base-ten version (eg: 1000).

To convert OpenVMS disk blocks to (base two) kilobytes
(KB; 1024 bytes), simply divide by two. To convert
blocks to (base two) megabytes, divide by 2048. Blocks
to (base two) gigabytes (GB), divide by 2097152.
These particular divisions can also be performed using
bitshifts: to divide a value by two, shift the binary
value rightward by one bit position.

To convert OpenVMS disk blocks to (base ten) kilobytes,
divide by approximately 1.953125.

For those folks with an interest in odd applications
for prefixes, and particularly for those folks also
rummaging around deep within the OpenVMS operating
system, a microfortnight is approximately one second.












2-26












_______________________________________________________

3 Documentation



__________________________________________________________
3.1 Where can I find online copies of OpenVMS manuals?

The HP OpenVMS and HP Layered Product documentation is
copyrighted material.

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

o http://www.hp.com/go/openvms/doc/

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

MGBOOK, a viewer for Bookreader-format documentation
is available for character-cell terminals (eg. VTxxx)
via the WKU VMS Freeware file server - see question
Section 13.1 for details.

Information on the XPDF DECwindows PDF viewer for
OpenVMS is available in Section 13.1, and XPDF kits
are available on various Freeware distributions. An
alternative on OpenVMS Alpha uses the Adobe Java PDF
viewer, though this viewer is generally considered
to be both slower and more resource-intensive when
compared to the XPDF viewer.






3-1







Documentation



__________________________________________________________
3.2 What online information and websites are available?

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

OpenVMS Marketing runs a web server at
http://www.hp.com/go/openvms/

Here, you will find product information, strategy
documents, product roadmaps, the contents of the latest
OpenVMS Freeware CD-ROM and more.

________________________________________________________________
Table 3-1 OpenVMS Websites

________________________________________________________________
URL_______Sponsor_______________________________________________

HP OpenVMS Marketing

http://www.hp.com/go/openvms/

Encompass DFWCUG

http://www.openvmshobbyist.org/

Arne Vajhøj

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

Saiga Systems

http://www.saiga.com/

Wayne Sewell

http://www.tachysoft.com/

proGIS Software

http://www.progis.de/openvms.htm

Jeff Cameron

http://www.jcameron.com/vms/

David Mathog's (quite useful) information about OpenVMS.

http://saf.bio.caltech.edu/soft_doc.html

Cracking

3-2







Documentation



________________________________________________________________
Table 3-1 (Cont.) OpenVMS Websites

________________________________________________________________
URL_______Sponsor_______________________________________________

"The Beave"
Includes system cracking information that can be of interest
to OpenVMS System Managers, and to OpenVMS Network and Security
Managers. This information is available at the Deathrow cluster.

http://manson.vistech.net/ht_root/Hack-VMS-faq

Undocumented Features

DECUS Deutschland

http://zinser.no-ip.info/www/eng/vms/qaa/undoc.htmlx

Arne Vajhøj

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

The OpenVMS Freeware contains various examples of undocumented
features and interfaces

http://www.hp.com/go/openvms/freeware/

Comparisons of UNIX and Linux shell commands and DCL Commands

http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.html

http://wwwvms.mppmu.mpg.de/vmsdoc/UNIX_VMS_CMD_
XREF.HTML

Comparisons of emacs and OpenVMS text editor commands

http://www.unh.edu/cis/docs/vms-to-unix/Emacs/cheat-
sheet.html

Bibliographies

http://www.openvms.org/pages.php?page=Books

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

Introductory

Please see Table 3-2 for listings of introductory web
sites and related materials.

Programming

An OpenVMS Programming FAQ

http://www.pdv-systeme.de/users/martinv/VMS_
Programming_FAQ.html

Networking

3-3







Documentation



________________________________________________________________
Table 3-1 (Cont.) OpenVMS Websites

________________________________________________________________
URL_______Sponsor_______________________________________________

Tutorial information and tips for connecting OpenVMS systems to
the Internet

http://www.tmesis.com/internet/

Documentation and Specifications for DECnet Phase IV, DECnet
task-to-task DCL examples, and a whole lot more.

http://www.hp.com/go/openvms/wizard/

HP OpenVMS Documentation

Please see Table 3-2 for listings of documentation web
sites and related materials.

System Performance

See Section 14.2.

Patch (ECO) Kits

For the HP Services FTP server hosting Various
contract-access and non-contract access ECO (patch)
kits, see section Section 5.17.

Catalogs and Pricing

HP Product QuickSpecs and product information

http://www.hp.com/go/productbulletin/

The HP Systems and Options Catalog (SOC) archive

http://www.compaq.com/products/
quickspecs/soc_archives/SOC_Archives.html

Hardware and Software Archives

The VAXarchive, including hardware and software information

http://vax.sevensages.org/index.html

A VAX to Alpha upgrade diary

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.htm

A wide variety of HP VAX, Alpha, platform and other product
documentation. Some introductory, some technical.

http://www.compaq.com/support/techpubs/qrg/index.html

3-4







Documentation



________________________________________________________________
Table 3-1 (Cont.) OpenVMS Websites

________________________________________________________________
URL_______Sponsor_______________________________________________

dtrwiz's Datatrieve website

__________http://dtrwiz.home.netcom.com/________________________

__________________________________________________________
3.3 How do I extract the contents of a HELP topic to a text
file?

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

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

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

__________________________________________________________
3.4 Does OpenVMS Marketing have an e-mail address?

Yes - if you can't get the answers to marketing
questions elsewhere, if you have comments or complaints
about OpenVMS, send mail to openvms-info{atsign}hp.com.
This address is not a support channel, and is solely
intended to provide informal method to communicate
directly with members of OpenVMS Marketing.

__________________________________________________________
3.5 Where can I learn about OpenVMS executive internals?

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

3-5







Documentation




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

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

The internals books are available through Digital
Press, see Section 3.6

__________________________________________________________
3.6 Where can new users find tutorial information about
OpenVMS?

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

_____________________________
3.6.1 Tutorial Websites?

Various websites with OpenVMS information are
available; Table 3-2 contains some suggested URLs.

________________________________________________________________
Table 3-2 OpenVMS Tutorial and Documentation Websites

_______________________________________________________
URL_______Sponsor______________________________________

Introductory

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

http://saf.bio.caltech.edu/vms_sheet.html

3-6







Documentation



________________________________________________________________
Table 3-2 (Cont.) OpenVMS Tutorial and Documentation Websites

_______________________________________________________
URL_______Sponsor______________________________________

http://seqaxp.bio.caltech.edu/www/vms_beginners_
faq.html

Various introductory materials

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

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

http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.html

A comparison table of various command-level
tasks, with information on the UNIX and Linux
shell command(s), and on the OpenVMS DCL
command(s).

HP OpenVMS Documentation

http://www.hp.com/go/openvms/doc/

Various introductory guides as well as more
advanced manuals are available in the OpenVMS
and layered product documentation set.

HP OpenVMS Training

http://www.compaq.com/training/home.html
http://www.openvms.compaq.com/wbt/index.html

HP offers training information and Technical
Resource Kits (TRKs) and other Training for
OpenVMS. An OpenVMS certification (testing)
program is also available.

http://www.jcameron.com/vms/

3-7



---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 19:55:43 UTC
Permalink
Archive-name: dec-faq/vms/part3
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-03.TXT







Documentation



________________________________________________________________
Table 3-2 (Cont.) OpenVMS Tutorial and Documentation Websites

_______________________________________________________
URL_______Sponsor______________________________________

An OpenVMS Quiz

http://www.CCSScorp.com/

CCSS Interactive Learning has OpenVMS
training materials

http://www.acersoft.com/

AcerSoft Training information, and Shannon
Knows Punditry

http://www.mindiq.com/

MindIQ training information

http://www.quadratrix.be/

Quadratrix; OpenVMS training, products and
services; affiliated with Global Knowledge
___________________and_KeyJob___________________________________

_____________________________
3.6.2 Books and Tutorials?

Some of the OpenVMS books that are or have been
available from the Digital Press imprint

o http://www.bh.com/

are listed in Table 3-3:

________________________________________________________________
Table 3-3 DP Books

________________________________________________________________
Title_and_Author_____________________ISBN_______________________

Getting Started with OpenVMS System 1-55558-243-5
Management, 2nd Edition
David Donald Miller, et al

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

3-8







Documentation



________________________________________________________________
Table 3-3 (Cont.) DP Books

________________________________________________________________
Title_and_Author_____________________ISBN_______________________

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.5

OpenVMS System Management Guide 1-55558-143-9
Baldwin, et al

The OpenVMS User's Guide, Second 1-55558-203-6
Edition
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.2

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

Writing OpenVMS Alpha Device 1-55558-133-1
Drivers in C
Sherlock_and_Szubowicz__________________________________________

For various featured OpenVMS books, also please see the
books link at the OpenVMS website:

o http://www.hp.com/go/openvms

For a bibliography of various OpenVMS books, please
see:

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

3-9







Documentation



__________________________________________________________
3.7 What OpenVMS mailing lists are available?

Various OpenVMS mailing lists are available, with some
of the available lists detailed in Table 3-4.

________________________________________________________________
Table 3-4 OpenVMS Mailing Lists

________________________________________________________________
Subscription____________________Interest_Area___________________

OpenVMS Freeware archive ***@goatley.com
announcement list FSupdate-***@goatley.com[1]

Two-way echo of VMSnet-***@goatley.com
vmsnet.internals VMSnet-Internals-
***@goatley.com[1]

OpenVMS Alpha Internals Alpha-***@goatley.com
discussions Alpha-IDS-***@goatley.com[1]

BLISS discussions ***@goatley.com
BLISSters-***@goatley.com[1]

Process Software MultiNet Info-***@process.com
mailing list (news gateway) Info-MultiNet-
***@process.com[1]

Process Software TCPware Info-***@process.com
mailing list (news gateway) Info-TCPware-
***@process.com[1]

Process Software PMDF mailing Info-***@process.com
list (news gateway) Info-PMDF-***@process.com[1]

The Software Resources CHARON-VAX-***@process.com
International (SRI) CHARON-VAX CHARON-VAX-Users-
VAX emulator package ***@process.com[1]

Info-Zip's Zip & UnZip Info-***@wku.edu
discussion list Info-Zip-***@wku.edu[1]

RADIUS-VMS, a RADIUS server radius-***@dls.net
for OpenVMS discussion forum radius-vms-***@dls.net[1]

Internet Service Providers vms-***@dls.net
(ISPs) running OpenVMS vms-isps-***@dls.net[1]

________________________________________________________________
[1]This is the subscription address. Usually, you will want to
send a mail message with no subject line, and a SUBSCRIBE or
HELP command in the body of the mail message.

3-10







Documentation



________________________________________________________________
Table 3-4 (Cont.) OpenVMS Mailing Lists

________________________________________________________________
Subscription____________________Interest_Area___________________

Users of Mark Daniel's WASD http://wasd.vsm.com.au/
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.

VMS Forum http://www.neurophys.wisc.edu/comp/ava/vms_
________________________________forum.htmlx_____________________

__________________________________________________________
3.8 What is this Ask The Wizard website I've heard about?

The HP OpenVMS Ask The Wizard (ATW) website was an
informal area discussing OpenVMS, containing questions
and answers on a wide variety of topics.

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

To access a cited topic directly, use the URL filename
WIZ_topic-number.HTML, or use the topic search engine.
Cited topics are shown in parentheses, and act as
unique topic addresses. These should not be confused
with the relative topic numbers shown at the site.
For example, the topic (1020) can be accessed directly
using the URL filename wiz_1020.html, at the web site
that the following URL resolves into:

o http://www.hp.com/go/openvms/wizard/

A zip archive (named wizard.zip) containing all of
the available topics and questions can be downloaded
from the above URL. The wizard.zip zip archive is
completely regenerated when/if existing topics posted
out to the ATW website are updated. Copies of this
wizard.zip archive also generally ship out on the
OpenVMS Freeware, as well.

3-11







Documentation




New (informal) questions and discussions are now being
directed away from the ATW area to the ITRC area, and
specifically to the ITRC discussion forums:

o http://www.itrc.hp.com/

__________________________________________________________
3.9 Where can I find the latest C run-time library manuals?

The C run-time library (RTL) reference documentation
has been moved from the C language documentation set
to the OpenVMS documentation set. For the most recent
version of the C RTL documentation and the OpenVMS
standard C library, please see the OpenVMS manuals.

In addition to the user-mode C RTL, there is a second
kernel-mode RTL accessable to drivers on OpenVMS Alpha
and OpenVMS I64. For details on this second library and
on the duplicate symbol errors that can be triggered
when this library is referenced during an incorrectly-
specified LINK command, please see Section 10.22.1.
For general information on this kernel RTL, see the
Digital Press book Writing OpenVMS Device Drivers in C.
For details, please see the associated OpenVMS source
listings distribution.

o http://www.hp.com/go/openvms/doc/

















3-12












_______________________________________________________

4 Time and Timekeeping



This chapter discusses time, timekeeping, system
time synchronization, clock skew and clock drift,
implications of using SUBMIT/AFTER=TOMORROW, and other
time-related topics.

__________________________________________________________
4.1 A brief history of OpenVMS Timekeeping, please?

Why does OpenVMS regards November 17, 1858 as the
beginning of time...

The modified Julian date adopted by the Smithsonian
Astrophysical Observatory (SAO) for satellite tracking
is Julian Day 2400000.5, which turns out to be midnight
on November 17, 1858.

SAO started tracking satellites with an 8K (nonvirtual)
36-bit IBM 704 in 1957 when Sputnik went into orbit.
The Julian day was 2435839 on January 1, 1957. This is
11225377 octal, which was too big to fit into an 18-bit
field. With only 8K of memory, the 14 bits left over by
keeping the Julian date in its own 36-bit word would
have been wasted. SAO also needed the fraction of the
current day (for which 18 bits gave enough accuracy),
so it was decided to keep the number of days in the
left 18 bits and the fraction of a day in the right 18
bits of one word.

Eighteen bits allows the truncated Julian Day (the SAO
day) to grow as large as 262143, which from November
17, 1858, allowed for 7 centuries. Possibly, the date
could only grow as large as 131071 (using 17 bits),
but this still covers 3 centuries and leaves the
possibility of representing negative time. The 1858
date preceded the oldest star catalogue in use at SAO,
which also avoided having to use negative time in any
of the satellite tracking calculations.

4-1







Time and Timekeeping




The original Julian Day (JD) is used by astronomers and
expressed in days since noon January 1, 4713 B.C. This
measure of time was introduced by Joseph Scaliger in
the 16th century. It is named in honor of his father,
Julius Caesar Scaliger (note that this Julian Day is
different from the Julian calendar that is named for
the Roman Emperor Julius Caesar!).

Why 4713 BC? Scaliger traced three time cycles and
found that they were all in the first year of their
cyle in 4713 B.C. The three cycles are 15, 19, and 28
years long. By multiplying these three numbers (15 * 19
* 28 = 7980), he was able to represent any date from
4713 B.C. through 3267 A.D.

The starting year was before any historical event known
to him. In fact, the Jewish calendar marks the start
of the world as 3761 B.C. Today his numbering scheme
is still used by astronomers to avoid the difficulties
of converting the months of different calendars in use
during different eras.

The following web sites:

o http://www.openvms.compaq.com/openvms/products/year-
2000/leap.html

o http://www.eecis.udel.edu/~ntp/

o http://www.nist.gov/

o http://www.boulder.nist.gov/timefreq/

o http://www.tondering.dk/claus/calendar.html

o http://es.rice.edu/ES/humsoc/Galileo/Things/gregorian_
calendar.html

are all good time-related resources, some general and
some specific to OpenVMS.

_____________________________
4.1.1 Details of the OpenVMS system time-keeping?

4-2







Time and Timekeeping



_____________________________
4.1.1.1__VAX_hardware_time-keeping details...

4.1.1.1.1 TOY clock

This is battery backed up hardware timing circuitry
used to keep the correct time of year during rebooting,
power failures, and system shutdown. This clock only
keeps track of months, days, and time. The time is kept
relative to January 1st, at 00:00:00.00 of the year the
clock was initiailized.
The VAX Time-Of-Year (TOY) clock (used to save the time
over a reboot or power failure) is specified as having
an accuracy of 0.0025%. This is a drift of roughly 65
seconds per month.

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

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

_____________________________
4.1.1.1.2 EXE$GQ_SYSTIME

This is the OpenVMS VAX system time cell. This cell
contains the number of 100ns intervals since a known
reference. This cell is incremented by 100000 every
_________10ms_by_an_hardware_interval timer.

4.1.1.1.3 EXE$GQ_TODCBASE

This cell contains the time and date the system time
was last adjusted by EXE$SETTIME. It uses the same
format as EXE$GQ_SYSTIME. On adjustment of the system
time a copy of EXE$GQ_SYSTIME is stored in this cell in
both memory and on disk. This cell is used to get the
year for the system time.



4-3







Time and Timekeeping



_____________________________
4.1.1.1.4 EXE$GL_TODR

This cell contains the time and date the system time
was last adjusted by EXE$SETTIME. It uses the same
format as the time of year clock. On adjustment of the
system time this cell gets saved back to both memory
and disk. The contents of this cell are used to test
the validity of the TOY clock.
The system parameters SETTIME and TIMEPROMPTWAIT
determine how the system time will be set.

o IF SETTIME = 0 and the TOY clock is valid
THEN the contents of the TOY clock are compared to
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.

o IF the TOY clock is within a day of EXE$GL_TODR
THEN the system time is calculated as follows:

o EXE$GQ_SYSTIME = EXE$GQ_TODCBASE + ((TOY_CLOCK -
EXE$GL_TODR) * 100000)

o IF SETTIME = 1 or the TOY clock is invalid
THEN the value of TIMEPROMPTWAIT determines how to
reset the time of year. IF TIMEPROMPTWAIT > 0
THEN the user is prompted for the time and date,
for a length of time equal to TIMEPROMPTWAIT
microfortnights.

o IF TIMEPROMPTWAIT = 0
THEN the time of year is the value of EXE$GL_TODR
+ 10ms.

o IF TIMEPROMPTWAIT < 0
to proceed until they do so.

o THEN the user is prompted for the time and date
and unable

When booting a CD-ROM containing an OpenVMS VAX system,
the system will typically be deliberately configured
prompt the user to input the time - this is necessary
in order to boot with the correct time.

4-4







Time and Timekeeping




If either TIMEPROMPTWAIT or SETTIME are set to zero,
OpenVMS VAX will use the TOY clock to get the time
of year, and the year will be fetched from the
distribution medium. The value of the year on the
distribution medium (saved within the SYS.EXE image)
will most likely be that of when the kit was mastered,
and cannot be changed. Unless the current year happens
to be the same year as that on the distribution, most
likely the year will be incorrect. (Further, with the
calculation of Leap Year also being dependent on the
current year, there is a possibility that the date
could be incorrect, as well.)

_____________________________
4.1.1.2__Alpha_hardware_time-keeping details...

4.1.1.2.1 Battery-Backed Watch (BB_WATCH) Chip

This is battery backed up hardware timing circuitry
used to keep the correct time of year during rebooting,
power failures, and system shutdown. This clock keeps
track of date and time in 24 hour binary format.
The BB_WATCH time is used to initialize the running
system time during bootstrap, and the BB_WATCH time
is read when the SET TIME command is issued with no
parameters; when the running system time is reset to
the value stored in the BB_WATCH. The running system
time is written into the BB_WATCH when the SET TIME
command is issued with a parameter.

The specification for maximum clock drift in the Alpha
hardware clock is 50 parts per million (ppm), that
is less than ±0.000050 seconds of drift per second,
less than ±0.000050 days of drift per day, or less
than ±0.000050 years of drift per year, etc. (eg: An
error of one second over a day-long interval is roughly
11ppm, or 1000000/(24*60*60).) Put another way, this
is .005%, which is around 130 seconds per month or 26
minutes per year.

The software-maintained system time can drift more than
this, primarily due to other system activity. Typical
causes of drift include extensive high-IPL code (soft
memory errors, heavy activity at device IPLs, etc) that

4-5







Time and Timekeeping




are causing the processing of the clock interrupts to
be blocked.

_____________________________
4.1.1.2.2 EXE$GQ_SYSTIME

This is the OpenVMS Alpha system time cell. This cell
contains the number of 100ns intervals since November
17, 1858 00:00:00.00. This cell is incremented by
_________100000_every_10ms_by an hardware interval timer.

4.1.1.2.3 EXE$GQ_SAVED_HWCLOCK

This cell is used by OpenVMS Alpha to keep track of the
last time and date that EXE$GQ_SYSTIME was adjusted. It
keeps the same time format as EXE$GQ_SYSTIME. The value
in this cell gets updated in memory and on disk, every
time EXE$GQ_SYSTIME gets adjusted.

o The system parameters SETTIME and TIMEPROMPTWAIT
determine how the system time will be set.

o If SETTIME = 0
then EXE$INIT_HWCLOCK reads the hardware clock to
set the system time.

o IF TIMEPROMPTWAIT > 0
THEN the value of TIMEPROMPTWAIT determines how
long the user is prompted to enter the time
and date. If time expires and no time has been
entered the system acts as if TIMEPROMPTWAIT = 0.

o IF TIMEPROMPTWAIT = 0
THEN the system time is calculated from the
contents of EXE$GQ_SAVED_HWCLOCK + 1.

o IF TIMEPROMPTWAIT < 0
THEN the user is prompted for the time and date
and unable to continue until the information is
entered.

Unlike the VAX, the Alpha hardware clock tracks the
full date and time, not just the time of year. This
means it is possible to boot from the CD-ROM media
without entering the time at the CD-ROM bootstrap.
(This provided that the time and date have been
initialized, of course.)

4-6







Time and Timekeeping




IA-64 (Itanium) hardware time-keeping details to be
added...

_____________________________
4.1.1.3 Why does VAX need a SET TIME at least once a year?

Because the VAX Time Of Year (TOY) has a resolution of
497 days, the VAX system time is stored using both the
TOY and the OpenVMS VAX system image SYS.EXE. Because
of the use of the combination of the TOY and SYS.EXE,
you need to issue a SET TIME command (with the time
parameter specified) at least once between January 1st
and about April 11th of each year, and whenever you
change system images (due to booting another OpenVMS
VAX system, booting the standalone BACKUP image, an ECO
that replaces SYS.EXE, etc).

The SET TIME command (with the current time as a
parameter) is automatically issued during various
standard OpenVMS procedures such as SHUTDOWN, and it
can also obviously be issued directly by a suitably
privileged user. Issuing the SET TIME command (with a
parameter) resets the value stored in the TOY, and (if
necessary) also updates the portion of the time (the
current year) saved in the SYS.EXE system image.

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

_____________________________
4.1.2 How does OpenVMS VAX maintain system time?

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

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

4-7







Time and Timekeeping




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

OpenVMS (on the VAX platform) stores system date
information-and in particular, the current year-in
the system image, SYS$SYSTEM:SYS.EXE.

The TOY is used, in conjunction with the base date
that is stored and retrieved from the system image, to
initialize the interval clock value that is stored in
EXE$GQ_SYSTIME.

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

When SET TIME is issued with no parameters, the TOY
clock is loaded into the system clock; the running
system clock is set to the time stored in the TOY
clock. This assumes the TOY clock is more accurate
than the system clock, as is normally the case.

On most (all?) VAX systems, the battery that is
associated with the TOY clock can be disconnected and
replaced if (when) it fails-TOY clock failures are
quite commonly caused by a failed nickel-cadmium (NiCd)
or lithium battery, or by a failed Dallas chip.






4-8







Time and Timekeeping



__________________________________________________________
4.2 Keeping the OpenVMS system time synchronized?

To help keep more accurate system time or to keep
your system clocks synchronized, TCP/IP Services NTP,
DECnet-Plus DTSS (sometimes known as DECdtss), DCE
DTS, and other techniques are commonly used. If you do
not or cannot have IP access to one of the available
time-base servers on the Internet, then you could use
dial-up access to NIST or other authoritative site, or
you can use a direct connection to a local authorative
clock.

There exists code around that processes the digital
(ie: binary) format time that is available via a
modem call into the NIST clock (the Automated Computer
Telephone Service (ACTS) service), and code that grabs
the time off a GPS receiver digital link, or a receiver
(effectively a radio and a codec) that processes the
time signals from radio stations WWV, WWVH, WWVB, or
similar.

Processing the serial or hardware time protocols
often involves little more than reading from an EIA232
(RS232) serial line from the receiver, something that
is possible from most any language. Information on
correctly drifting the OpenVMS system clock to match
the time-base time is available within the logic of at
least one OpenVMS Freeware package. (See Section 4.3
for a few potential hardware options.)

One example of acquring a time-base through local
integrated hardware involves the IRIG time format
(IRIG-A, -B, -G), a binary signal containing the
current time in hours, minutes, seconds and days
since the start of the current year. IRIG can also
contain the time of day as the number of seconds since
midnight. HP Custom Systems and third-party vendors
have variously offered IRIG-based reader/generator
modules for OpenVMS systems.

One of the easiest approaches is a network-based
GPS or other similar receiver. Basically, this is a
network server box that provides an NTP server with
the necessary hardware for external synchronization.
In addition to the antenna and the receiver and

4-9







Time and Timekeeping




processing components, these devices provide a network
interface (NIC) and support for an NTP time server,
and applications including the NTP support within
TCP/IP Services and within various third-party IP
stacks can then be used to synchronize with the the NTP
information provided by time-base receivers. No other
host software is required, and no host configuration
steps and no host software beyond NTP are required.
(See Section 4.3 for a few potential hardware options.)

Differing time servers (DECnet-Plus DTSS, DCE DTS, NTP,
etc) do not coexist particularly well, particularly if
you try to use all these together on the same node.
Please pick and use just one. (If needed, you can
sometimes configure one package to acquire its timebase
from another protocol, but one and only one time server
package should have direct control over the management
of and drifting of the local OpenVMS system time. In
the specific case of DECnet-Plus DTSS, older product
versions and versions V7.3 and later provide a provider
module, a module which permits DTSS to acquire its time
from NTP. For details on this, please see the comments
in the module DTSS$NTP_PROVIDER.C.)

Unlike DECnet-Plus, TCP/IP Services NTP is not capable
of connecting to a time-base other than the network
time base or the local system clock. Third-party and
open source NTP implementations are available for
OpenVMS, as well.

Useful URLs:

o http://www.boulder.nist.gov/timefreq/service/nts.htm

o http://www.boulder.nist.gov/timefreq/service/acts.htm

o http://www.boulder.nist.gov/timefreq/

o http://www.time.gov/





4-10







Time and Timekeeping



__________________________________________________________
4.3 External time-base hardware?

Here are a few possibilities for providers of a GPS-
based receiver with an embedded NTP server, strictly
culled from the first few pages of a Google search.
Availability, pricing, OpenVMS compatibility and other
factors are not known.

o http://www.galleon.eu.com/

o http://www.meinberg.de/english/

o http://www.ntp-servers.com/

For a direct-connected (local, non-IP, non-NTP) link,
there are serial options available. Google finds
Spectracom Corporation has a NetClock that could be
used here, based on a quick look-I do not know if there
is OpenVMS host software, but that would be possible
to write for the ASCII data stream that the device
supports. (Such coding requires knowledge of serial
I/O, character processing, and knowledge of the clock
drift API mechanisms in OpenVMS-there exists Freeware
tools that could be used to learn how to tie into the
clock drifting mechanisms of OpenVMS.)

o http://www.spectracomcorp.com/

http://www.spectracomcorp.com/

Information on, and experiences or recommendations for
or against these or other similar devices is welcome.

_____________________________
4.3.1 Why do my cluster batch jobs start early?

Your system time is skewed across your cluster members,
and the cluster member performing the queue management
tasks has a system time set later than the system time
of the member running the batch job.

This behaviour is most noticable when using
SUBMIT/AFTER=TOMORROW and similar constructs, and
use of /AFTER="TOMMOROW+00:01:00" or such is often
recommended as a way to avoid this. The combination
time value specified should be larger than the maximum

4-11







Time and Timekeeping




expected time skew. In the example shown, the maximum
cluster clock skew is assumed less than 1:00.

You can also maintain your system times in better
synchronization, with available tools described in
Section 4.2 and elsewhere.

_____________________________
4.3.2 Why does my OpenVMS system time drift?

Memory errors, hardware problems, or most anything
operating at or above IPL 22 or IPL 24 (clock IPL is
system family dependent; code executing at or above
the clock IPL will block the processing of clock
interrupts), can cause the loss of system time. Clock
drift can also be caused by normal (thermal) clock
variations and even by the expected level of clock
drift.

When clock interrupts are blocked as a result of the
activity of high-IPL code-such as extensive driver
interrupt activity or a hardware error or a correctable
(soft) memory error-the clock will "loose" time, and
the time value reported to the user with appear to have
slowed down. Correctable memory errors can be a common
cause of system time loss, in other words. Heavy PCI
bus traffic can also cause lost time.

One bug in this area involved the behaviour of certain
graphics controllers including the ELSA GLoria Synergy
PBXGK-BB; the PowerStorm 3D10T effectively stalling
the PCI bus. See Section 5.16 for details on the ELSA
GLoria Synergy controller, and make certain you have
the current GRAPHICS ECO kit installed.

Clock drift can also be (deliberately) caused by the
activity of the DTSS or NTP packages.

Also see Section 4.1.1.2.1, Section 4.1.1, and
Section 4.3.4.




4-12







Time and Timekeeping



_____________________________
4.3.3 Resetting the system time into the past?

You can resynchronize system time using DCL commands
such as SET TIME and SET TIME/CLUSTER, but these
commands can and obviously will cause the current
system time to be set backwards when the specified time
predates the current system time. This time-resetting
operation can cause application problems, and can
adversely effect applications using absolute timers,
applications that assume time values will always be
unique and ascending values, and applications.

Setting the time backwards by values of even an hour
has caused various run-time problems for applications
and layered products. For this reason, this technique
was not considered supported during the Year 2000 (Y2K)
testing; a system or cluster reboot was strongly
recommended as the correct means to avoid these
problems.

Application programmers are encouraged to use the time-
related and TDF-related events that are available with
the $set_system_event system service, and/or to use
UTC or similar time, as these techniques can permit
the application to better survive retrograde clock
events. (There is an ECO to repair problems seen in
the DECnet-Plus support for generating TDF events from
DTSS, and this applies to V7.3 (expected to be in ECO4
and later) V7.3-1 (expected to be in ECO3 and later)
and V7.3-2 (expected to be in ECO1 and later). Apply
the most current DECnet-Plus ECO kits for these OpenVMS
releases, for best TDF event support from DECnet-Plus.)

See Section 4.3.4 and Section 4.3.1.

_____________________________
4.3.4 How can I drift the OpenVMS system time?

With DECdts and TCP/IP Services NTP, the system time
value is "drifted" (rather than changed), to avoid the
obvious problems that would arise with "negative time
changes". The same basic clock drifting technique is
used by most (all?) time servers operating on OpenVMS,
typically using the support for this provided directly
within OpenVMS.

4-13







Time and Timekeeping




An example of the technique used (on OpenVMS VAX)
to drift the system time is the SETCLOCK tool on the
OpenVMS Freeware.

For information on the use of the EXE$GL_TIMEADJUST and
EXE$GL_TICKLENGTH cells on OpenVMS Alpha, see OpenVMS
AXP Internal and Data Structures, located on page 348.

For those areas which switch between daylight saving
time (DST) and standard time, the time value is not
drifted. The time is adjusted by the entire interval.
This procedure is inherent in the definition of the
switch between DST and standard time. (Do look at
either not switching to daylight time, or (better)
using UTC as your time-base, if this change-over is not
feasible for your environment.)

See Section 4.3.4 and Section 4.3.3.

_____________________________
4.3.5 How can I configure TCP/IP Services NTP as a time
provider?

An NTP time provider provides its idea of the current
time to NTP clients via the NTP protocol. Most systems
are NTP clients, but...

NTP has a heirarchy of layers, called strata. The
further away from the actual NTP time source (Internet
time servers are at stratum 1), the lower the strata
(and the larger the number assigned the statum).

NTP explicity configured at stratum one provides time
to NTP operating at lower strata, and the provided time
is acquired based on the local system time or via some
locally-accessible external time source.

NTP at other (lower) strata both receive time from
higher strata and can provide time to lower strata,
and automatically adjust the local stratum. The highest
stratum is one, and the lowest available stratum is
fifteen.

The TCP/IP Services NTP package can operate at any
stratum, and can be configured as a peer, as a client,
or as a broadcast server. NTP can also provide time to
a DECnet-Plus DTSS network, see Section 4.2.

4-14







Time and Timekeeping




With TCP/IP Services V5.0 and later, the only supported
reference clock is the LCL (local system clock). If
your system has an excellent clock or if the system
time is being controlled by some other time service
or peripheral (such as DTSS services, GPS services,
a cesium clock, a GPIB controller or other similar
time-related peripheral), you can configure NTP to use
the system clock as its reference source. This will
mimic the master-clock functionality, and will configre
NTP as a stratum 1 time server. To do this, enter the
following commands in TCPIP$NTP.CONF:

server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 0

For local-master functionality, the commands are very
similiar. Use:

server 127.127.1.0
fudge 127.127.1.0 stratum 8

The difference between these two is the stratum, and
the omission of the prefer keyword. Specifying a higher
stratum allows the node to act as a backup NTP server,
or potentially as the sole time server on an isolated
network. The server will become active only when all
other normal synchronization sources are unavailable.
The use of "prefer" causes NTP to always use the
specified clock as the time synchronization source.

With the TCP/IP Services versions prior to V5.0,
the NTP management is rather more primitive. To
configure the local OpenVMS system from an NTP
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:

master-clock 1

Also, for TCP/IP Services prior to V5.0, see the NTP
template file:

SYS$SPECIFIC:[UCX$NTP]UCX$NTP.TEMPLATE

4-15







Time and Timekeeping




Note that NTP does not provide for a Daylight Saving
Time (DST) switch-over, that switch must arise from
the timezone rules on the local system and/or from the
SYS$EXAMPLES:DAYLIGHT_SAVINGS procedure. (Further,
there is a known bug in SYS$EXAMPLES:DAYLIGHT_
SAVINGS.COM in V7.3, please obtain the available ECO
kit.)

For current TCP/IP Services and related OpenVMS
documentation, please see:

o http://www.hp.com/go/openvms/doc/

__________________________________________________________
4.4 Managing Timezones, Timekeeping, UTC, and Daylight Saving
Time?

You will want to use the command procedure:

o SYS$MANAGER:UTC$TIME_SETUP.COM

to configure the OpenVMS Timezone Differential Factor
(TDF) on OpenVMS V6.0 and later. Select the BOTH
option. This configures the OpenVMS TDF settings,
though it may or may not configure the TDF and the
timezone rules needed or used by other software
packages. Please do NOT directly invoke the following
command procedures:

o SYS$MANAGER:UTC$CONFIGURE_TDF.COM ! do not directly
use

o SYS$MANAGER:UTC$TIMEZONE_SETUP.COM ! do not directly
use

TCP/IP Services V5.0 and later use the OpenVMS TDF,
UTC, and timezone support. Earlier versions use a TDF
mechanism and timezone database that is internal to the
TCP/IP Services package. Also on the earlier versions,
the TDF must be manually configured within TCP/IP
Services, in addition to the OpenVMS configuration
of the TDF.


4-16







Time and Timekeeping




DECnet-Plus in V7.3 and later uses the OpenVMS TDF,
UTC, and timezone support, and displays its timezone
prompts using UTC$TIME_SETUP.COM. Earlier versions use
a TDF TDF mechanism, timezone database, and automatic
switch-over that is internal to the DECnet-Plus
package. Also on earlier versions, the TDF must be
configured within the DECnet-Plus DECdtss package, in
addition to the OpenVMS configuration of the TDF.

Application code using HP C (formerly Compaq C,
formerly DEC C) will use the OpenVMS UTC and TDF
mechanisms when the C code is compiled on OpenVMS V7.0
and later (and when the macro _VMS_V6_SOURCE is NOT
defined). HP C does NOT use the OpenVMS UTC and TDF
mechanisms when the C code is compiled on OpenVMS
releases prior to V7.0, or when the preprocessor
declaration _VMS_V6_SOURCE is declared.

DCE DTS TDF management details to be determined.

In OpenVMS Alpha V6 releases (V6.1, V6.2, V6.2-1Hx,
etc), the TDF value is written to SYS$BASE_IMAGE.EXE.
With OpenVMS Alpha V7.0 and later and with OpenVMS VAX
V6.0 and later, SYS$SYSTEM:SYS$TIMEZONE.DAT contains
the TDF. This means that OpenVMS Alpha systems will
need to have the TDF value reset manually-usually
within SYSTARTUP_VMS.COM-on reboots prior to V7.0.

During OpenVMS Bootstrap, the SYSINIT module reads
SYS$TIMEZONE.DAT to acquire the TDF for use in the
system global cell EXE$GQ_TDF. This is done to ensure
that the system boots with a valid TDF (a value which
may be zero). The UTC system services get the TDF
from this cell. These services, as well as the HP C
RTL, must have a valid TDF. (Prior to OpenVMS V7.3,
if either DECnet-Plus or DECnet/VAX Extensions is
configured and run, the image DTSS$SET_TIMEZONE.EXE
is invoked and can override the TDF and timezone rule
settings from SYSINIT or from UTC$TIME_SETUP.COM-
this image runs even if DTSS is disabled. If the
settings do not match (due to inconsistencies in
timezone specification in UTC$TIME_SETUP.COM and
NET$CONFIGURE.COM), DTSS will reset the values to match
its definitions.)

4-17







Time and Timekeeping




Prior to OpenVMS V7.3, daylight saving time (DST)
switchover is handled automatically only when DCE DTS
or DECnet-Plus DTSS is in use. In V7.3, OpenVMS can be
configured to automatically switch over to daylight
time, and also generates an event that interested
applications can use to detect the switch-over between
standard time and daylight time.

The manual switchover between daylight time and
standard time is correctly accomplished via the
SYS$EXAMPLES:DAYLIGHT_SAVINGS.COM command procedure
procedure.

Note

NTP (alone) does NOT provide automatic switch-
over.

Note

The DST switch-over does NOT drift the time
value; the switch-over applies the entire
difference as a unit, as is standard and expected
practice. (Do look at either not switching
to daylight time, or (better) using UTC as
your time-base, if this one-hour change is
not feasible within your environment.) (For
information associated with drifting the systen
time, please see Section 4.3.4.)

If you switch the TDF or DST setting, you will also
want to restart or reconfigure any time-sensitive
applications (those not using the time differential
factor (TDF) change event available in V7.3 and
later). Examples of these applications can include
the need to restart the NFS client and NTP. (In the
case of NTP, will want to try to "drift" the time (see
Section 4.2 and see Section 4.3.4), and will find that
the DST switch-over will exceed the NTP-defined maximum
threshold allowed for drifting. Hence the NTP restart
is presently required.)



4-18







Time and Timekeeping



_____________________________
4.4.1 Creating, Updating and Managing Timezone Definitions?

One issue with the UTC implementation on OpenVMS is
the behaviour of C functions and other programs that
use SYS$TIMEZONE_RULE; the OpenVMS mechanism assumes
all control over the timezone and the daylight time
switchover. This allows calculation of the time by the
C library and various applications.

This can be incompatible with a system or application
that requires manual modifications to the DST or TDF
settings, or that requires a local or customized
timezone definition. For such a site to ensure
the timekeeping is correct, the site must provide
procedure that sets the local time and the TDF when
the SYS$TIMEZONE_RULE says to do it.

If a site requires a non-standard time switch-over, as
in coordinating with a shift change or due to changes
in the local or regional timezone rules, the site
will need to use the zic compiler to create a custom
timezone rule.

Additionally, applications may need to have special
actions taken or actions queued just before the time
change takes effect. If the application source code is
available, one of the best ways to handle this is via
the TDF and time-change notification events available
via the OpenVMS sys$set_system_event system service.

For information on zic and related tools used to manage
the OpenVMS Timezone database, please see the HP C
Run-time Library Utilities Reference Manual-though the
title would imply otherwise, this particular manual
is part of the OpenVMS documentation set, and not
part of the HP C (formerly Compaq C, formerly DEC C)
documentation set.

For related information, see Section 4.4.1.1.





4-19







Time and Timekeeping



_____________________________
4.4.1.1 Customizing or Updating your TDF (Timezone) Setting?

Individual, local, and regional differences on the
use (or the lack of use) of Daylight Saving Time (DST)
are quite common, as are occasional regulatory changes
to the particular applicable regional DST settings.
(eg: The United States Government is expecting to
change its DST rules starting 1-Mar-2007; please see
Section 4.4.1.2 for details.)

If you need to add, modify or remove DST rules for
your area, or otherwise alter the rules for your local
area, you will probably end up creating a variation
to an existing timezone rule, or potentially simply
downloading a new set of DST rules. This requirement
can arise, for instance, if your local region changes
its timezone rules.

The necessary zone line to add for support of the
hypothetical new WhereEverLand timezone will probably
look something like this:

# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone WhereEver 2:00 - WhereEver

The OpenVMS source files for the timezone rules are
stored here:

SYS$COMMON:[SYS$ZONEINFO.SYSTEM.SOURCES]

You'll then want to use the zic compiler to compile
your own new timezone definition, or to compile a new
set of timezone definitions that have been freshly
downloaded from a published source.

The zic compiler is documented in the OpenVMS
Documentation Set, and specifically in the HP C Run-
Time Library Reference Manual. (Despite the name of
this manual, it is part of the OpenVMS documentation
set and not of the C manuals.)

Once you have created and compiled a new timezone
rule (or have downloaded and have compiled a whole new
set of timezone rules), use the SYS$MANAGER:UTC$TIME_
SETUP.COM to select the new timezone if necessary-with
V7.3 and later, this tool will automically notice the
new timezone and will offer it, on earlier releases,

4-20







Time and Timekeeping




you may/will have to hack the code of the tool somewhat
to allow it to present the new timezone rule. (If an
existing timezone rule is simply changing, you don't
need this re-selection step.)

Note

As mentioned in Section 4.4.2, please don't
modify or redefine the TZ logical name (found on
older configurations), or the SYS$TIMEZONE_NAME
logical name, or any other time- or timezone-
related logical names directly yourself. Rather,
please use the zic compiler and/or the UTC$TIME_
SETUP.COM procedure.

For various published timezone rules or updated to
same, see the tar.gz files (these are gzipped tar
archives) available at:

o ftp://elsie.nci.nih.gov/pub/

These are gzipped tar archives, and are the pubished
source used for the OpenVMS timezone rules on OpenVMS
V7.3 and later, and within the predecessor C run-time
environment timezone support used on older OpenVMS
releases. You'll need to first gunzip and then use
vmstar to unpack and access the contents of the
archives.

The published timezone rules include the effective date
ranges for the individual rules, so you can reload your
rules prior to a particular set of new rules becoming
effective. The effective dates for the particular
timezone rules are additionally necessary to allow the
appropriate translation of older dates and times within
the appropriate historical context of the particular
date and time value.

For related information, see Section 4.4.1.





4-21







Time and Timekeeping



_____________________________
4.4.1.2 US Daylight Time Changes Starting 1-Mar-2007?

The United States Federal Government is presently
expecting to change its DST rules starting with 1-
Mar-2007.

As amended, US daylight time will be increased to
run from the second Sunday in March through the first
Sunday of October, inclusive. Other countries, US local
political geographies and businesses may or may not
follow suite and implement these changes, obviously.

For further regulatory details, see the US Uniform
Time Act of 1966 (15 U.S.C 260a(a)), as amended by the
Energy Policy Act of 2005.

For details on how to create, customize or to download
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?

Various logical names are used to manage time and
timezones, and you should avoid direct modification
of these logical names as the implementations are
subtle and quick to change. As discussed in section
Section 4.4.3, you will want to use the following
command procedure to maintain the time and the
timezone:

o SYS$MANAGER:UTC$TIME_SETUP.COM

If you want to venture into uncharted territories and
modify the TDF used within older releases of TCP/IP
Services-within releases prior V5.0-you can attempt to
use the following undocumented commands:

SET TIME/DIFF=[positive or negative TDF integer]
GENERATE TIME

to reset the value of the logical name UCX$TDF.

Prior to OpenVMS V7.3, the command:

$ SETTZ :== $SYS$SYSTEM:DTSS$SET_TIMEZONE
$ SETTZ MODIFY

4-22







Time and Timekeeping




can be used to modify the settings of the SYS$TIMEZONE_
DAYLIGHT_SAVING, SYS$TIMEZONE_DIFFERENTIAL, and
SYS$TIMEZONE_NAME system logical names based on the
SYS$TIMEZONE_RULE.

The following are other TDF-related logical names
used/available on OpenVMS systems, with typical
daylight time and standard time settings for the US
Eastern Time (ET) timezone.

$daylight_time:
$ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EDT
$ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0400 EDT"
$ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P true ! Not 'EDT'
$ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constant
$
$standard_time:
$ DEFINE/SYSTEM/EXECUTIVE MAIL$TIMEZONE EST
$ DEFINE/SYSTEM/EXECUTIVE NOTES$TIMEZONE "-0500 EST"
$ DEFINE/SYSTEM/EXECUTIVE LISP$DAYLIGHT_SAVING_TIME_P false ! Not 'EST'
$ DEFINE/SYSTEM/EXECUTIVE LISP$TIME_ZONE 05 ! Constant
$
$ DEFINE/SYSTEM/EXECUTIVE UCX$NFS_TIME_DIFFERENTIAL -
'f$integer(f$element(0," ",f$logical("notes$timezone"))/-100)'

For information on modifying these timezone logical
names and on managing the timezone rules, see
Section 4.4.1.

_____________________________
4.4.3 How to troubleshoot TDF problems on OpenVMS?

This is an OpenVMS Alpha system prior to V7.0 and the
startup is not invoking the procedure:

SYS$MANAGER:UTC$TIME_SETUP.COM

This is an OpenVMS system prior to V6.0, where there is
no OpenVMS TDF nor UTC available.

The version of the application does not use the
OpenVMS TDF. This includes TCP/IP Services prior to
V5.0, applications using HP C built on or targeting
OpenVMS prior to V7.0, and systems using the DECnet-
Plus DTSS mechanisms prior to the release associated

4-23







Time and Timekeeping




with OpenVMS V7.3. (DCE DTS TDF management details to
be determined.)

If you should find either of the following two
timezone-related database files located in
SYS$SPECIFIC:[SYSEXE]:

o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE.DAT

o SYS$SPECIFIC:[SYSEXE]SYS$TIMEZONE_SRC.DAT

These two files are in an erroneous location and must
be recreated in the correct directory:

SYS$COMMON:[SYSEXE]

If the DCL command:

$ DIRECTORY SYS$SYSTEM:SYS$TIMEZONE*.DAT

shows these files in SYS$SPECIFIC:[SYSEXE], then delete
them and use SYS$MANAGER:UTC$TIME_SETUP.COM to recreate
them.

On OpenVMS versions prior to V7.3, if the file:

$ SYS$STARTUP:DTSS$UTC_STARTUP.COM

is present on your system, then you may need to invoke:

$ @SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM

to recreate the timezone files correctly. Invoke
this command immediately after [re]executing
SYS$MANAGER:UTC$TIME_SETUP.COM.)

If SYS$UPDATE:DTSS$INSTALL_TIMEZONE_RULE.COM is not
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.

If your system time is being reported as being off by
one hour (or whatever the local DST change), please see
sections Section 4.7, Section 4.4 and Section 10.22.1.

4-24







Time and Timekeeping



__________________________________________________________
4.5 Why does the SET TIME command fail? Help managing DTSS?

If you try to set the system time with the SET TIME
command, and see one of the following messages:

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

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

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

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

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

$ RUN SYS$SYSTEM:NCL
DISABLE DTSS
DELETE DTSS

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

$ @SYS$STARTUP:DTSS$STARTUP

You will need a number of privileges to ussue this
command, and you must also be granted the NET$MANAGE
identifer to shutdown and to restart DTSS.

4-25







Time and Timekeeping




If you wish to "permanently" disable DTSS on a system
running DECnet-Plus, the above NCL sequence must be
performed each time the system is bootstrapped. (On
DECnet-Plus V7.3 and later, you can define the logical
name NET$DISABLE_DTSS to disable the DTSS startup. This
logical name must be defined in the command procedure
SYLOGICALS.COM, as this logical name must be present
and defined sufficiently early in the OpenVMS system
bootstrap sequence for it to function.)

If DTSS is running and no time servers are configured,
you can (and will) see the following messages at
regular intervals:

%%%%%%%%%%% OPCOM 2-SEP-1999 19:41:20.29 %%%%%%%%%%%
Message from user SYSTEM on UNHEDI
Event: Too Few Servers Detected from: Node LOCAL:.mynode DTSS,
at: 1999-09-02-19:41:20.296-04:00Iinf
Number Detected=0,
Number Required=1
eventUid 5FA70F4F-616E-11D3-A80E-08002BBEDB0F
entityUid DE9E97DE-6135-11D3-8004-AA000400BD1B
streamUid D6513A46-6135-11D3-8003-AA000400BD1B

You can either configure the appropriate number of time
servers, or you can disable DTSS, or you can ignore it
and (if OPCOM is set to write to the log via via the
logical names in SYLOGICALS.COM/SYLOGICALS.TEMPLATE)
clean out OPERATOR.LOG regularly.

You can also simply disable the display of these
messages:

$ run sys$system:ncl
block event dispatcher outbound stream local_stream -
global filter -
((Node, DTSS), Too Few Servers Detected)

If you wish to disable the automatic TDF adjustment
for the daylight time switch-over (on OpenVMS versions
prior to V7.3), you can use the command:

$ run sys$system:ncl
set dtss automatic TDF change = false

4-26







Time and Timekeeping




or alternatively, you can set the local timezone to
one that does not include the automatic daylight time
change-over.

OpenVMS V7.3 and later simplify time and timezone
management.

__________________________________________________________
4.6 Setting time on AlphaServer ES47, ES80, GS1280 console?

To set the base system time on an member of the
AlphaServer ES47, AlphaServer ES80 or AlphaServer
GS1280 series system family, you must access the
Platform Management Utility (PMU). The PMU is
implemented within this family of related AlphaServer
systems, and is part of a layer providing services
beyond those of the traditional Alpha SRM console
layer, and within a layer architecturally implemented
beneath the SRM console. In particular, the PMU and
related management components are used to provide
services across multiple vPars or nPars partitions.
In particular, the SRM obtains and manages the local
system time on these systems as a delta time offset
from the underlying base system time. Neither the
SRM console nor OpenVMS directly accesses nor alters
the underlying base system time nor other information
maintained within the PMU layer.

The PMU uses the System Management components,
centrally including the Backplane Manager (MBM) module
found in each drawer, user interface, PCI and CPU
management components, and the interconnections among
these provided by the private system management LAN.
When the system has power applied and the main breakers
are on, the MBMs are active.

The PMU offers a command line interface for a serial
communications or telnet connection and allows command
and control of the MBM, and of the server. The PMU and
the MBM system management components are responsible
for the following tasks:

o Show the system configuration and provide the basic
debugging capability

4-27







Time and Timekeeping




o Initiate the firmware update or load the test
firmware version

o Power on or off, halt, or reset the system or
partition

o The system partitioning and cabling functions

o Displays of the health of hardware environment,
including such constructs as fans, power supplies
and environmental and temperature values.

o Remote server management tasks

o The connection to the virtual SRM console

o Set and show the base system time.

You can use the MBM commands SHOW TIME and SET TIME to
view and to manipulate the base system time. The delta
time value for the primary MBM will be indicated, and
it is this value in conjunction with the base time that
is used to generate the time available to OpenVMS via
the SRM console. If you issue a SET TIME=time command
from OpenVMS, the delta time will change, but not the
MBM base system time. If you change the MBM base system
time, the calculated time available to OpenVMS via the
SRM console(s) will change. (Resetting the base time
thus involves changing the base system time, and then
issuing SET TIME=time command(s) to each of the OpenVMS
vPars or nPars environments to adjust the respective
delta time values.) Rebooting, resetting or issuing an
MBM SET TIME will reset the system time.

Typically, you will want to establish the MBM time
value once, and probably setting it to UTC or
such, and you will then want to boot each partition
conversationally, setting the SETTIME system parameter
to force the entry of the time within each booting
system environment. Once the MBM time value has been
set once, you will typically not want to alter it
again. You will typically want to manage and modify
only the time values within each partition.

The time and data values stored in the primary MBM
and replicated in the zero or more secondary MBMs that
might be present within the system are coordinated.

4-28







Time and Timekeeping




To enter the PMU from the SRM console, and to exit back
to SRM:

MBM - (PMU, Platform Management Utility)

From SRM P00> enter {Esc} {Esc} MBM
CTRL/[ CTRL/[ MBM (MBM must be uppercase)
MBM> connect (to exit to SRM)

The <CTRL/[> is the escape character. Use the cited
key sequences to enter the PMU. You can also access
the PMU through a modem, or from a terminal or terminal
emulator or terminal server connected to the server
management LAN. Having the server management LAN
bridged to an untrusted LAN can be unwise, however,
and with risks analogous to those of configuring a
traditional VAX or Alpha console serial line to an open
terminal server or to a dial-in modem.

See the AlphaServer GS1280 documentation for additional
information.

__________________________________________________________
4.7 UTC vs GMT vs vs UT1/UT1/UT2 TDF? What are these acronyms?

The results of an international compromise-though
some would say an international attempt to increase
confusion-UTC is refered to as "Coordinated Universal
Time" (though not as CUT) in English and as "Temps
Universel Coordinné" (though not as TUC) in French.
(No particular information exists to explain why UTC
was chosen over the equally nonsensical TCU, according
to Ulysses T. Clockmeister, one of the diplomats that
helped establish the international compromise.)

Universal Time UT0 is solar time, UT1 is solar time
corrected for a wobble in the Earth's orbit, and UT2
is UT1 corrected for seasonal rotational variations in
rotation due to the Earth's solar orbit.

GMT-Greenwich Mean Time-is UT1. GMT is the time
at the classic site of the since-disbanded Royal
Greenwich Observatory; at the most widely-known tourist
attraction of Greenwich, England.

4-29







Time and Timekeeping




UTC is based on an average across multiple atomic
clocks, and is kept within 0.9 seconds of GMT, through
the insertion (or removal) of seconds. In other words,
UTC matches GMT plus or minus up to 0.9 seconds, but
UTC is not GMT.

TDF is the Timezone Differential Factor, the interval
of time between the local time and UTC. Areas that
celebrate daylight saving time (DST) will see periodic
changes to the TDF value, when the switch-over between
daylight time and standard time occurs. The switch-
over itself is entirely left to local governmental
folks, and can and has varied by political entity and
politics, and the switch-over has varied over the years
even at the same location.

If your local OpenVMS system time is off by one
hour (or whatever the local DST change) for some or
all applications, you probably need to reset your
local TDF. (For related details, please see sections
Section 4.4 and Section 10.22.1.)

Further discussions of history and politics, the Royal
Observers' outbuildings, and the compromise that left
the English with the Time Standard (the Prime Meridian)
and the French with the standards for Distance and
Weight (the Metric System) are left to other sources.
Some of these other sources include the following URLs:

o ftp://elsie.nci.nih.gov/pub/

o http://physics.nist.gov/GenInt/Time/time.html

o http://nist.time.gov/

__________________________________________________________
4.8 Using w32time or an SNTP as a time provider?

No standards-compliant NTP or SNTP server is reportedly
capable of synchronizing with the Microsoft Windows
w32time services.

Further, NTP clients are not generally capable of
synchronizing with an SNTP server.

4-30







Time and Timekeeping




Open Source (Free) NTP servers (qv: OpenNTP) are
available for Microsoft Windows platforms, and TCP/IP
Services and third-party packages all provide NTP
servers for OpenVMS, and NTP and SNTP clients can
synchronize with these srvers.







































4-31












_______________________________________________________

5 System Management Information



__________________________________________________________
5.1 What is an installed image?

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

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

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

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

5-1







System Management Information




image can be replaced with the use of the "Protected
Subsystems" feature that grants a rights identifier to
an image. See the OpenVMS Guide to System Security for
information on Protected Subsystems.

__________________________________________________________
5.2 Are there any known viruses for OpenVMS?

Viruses and worms are common on personal computers
because the operating systems involved, such as
the Microsoft MS-DOS, Windows 95, Windows 98 and
Windows ME variants, do not particularly protect
the operating system or the file system against
hostile action by programs. Microsoft Windows NT,
Windows 2000 and Windows XP do implement protections
for specific configurations and do implement memory
protection models, but many users of these systems
choose to operate with full adminstrator access and
thus the available protections are entirely defeated
and entirely not relevent, and any program that can
activate itself or can cause the user to activate the
code can subvert the operating system and take over the
hardware, at which point the malicious code can do most
anything it wishes, including hiding copies of itself
in other programs or in the file system, redistributing
itself via mail, IM, or network connections, or can be
used as a zombie in staging attacks on other systems.

This is less likely with multi-user systems such as
OpenVMS, Unix, Linux, MVS and other platforms for
various reasons. First, the operating system runs in a
privileged mode in memory that is protected against
modification by normal user programs. Any program
cannot simply take over the hardware as it can on
operating systems without security and particularly
without memory page protections. Secondly, multi-
user systems can be set up so that non-privileged
programs cannot modify system programs and files on
disk, and this is normal for most installations. Both
of these protection schemes mean that traditional viral
infections don't work on these OSes. Third, typical
applications and configurations tend to prevent the
uncontrolled execution of untrusted code as part
of received mail messages or web access; one of the

5-2







System Management Information




central vulnerabilities of the Microsoft Windows
platform involves its intentionally easy ability to
dynamically (and transparently) activate code and
macros that are embedded within mail messages and
within data files.

It is possible for OpenVMS and other multi-user systems
to become infected by viruses or worms, but to do so,
the program containing the virus must be run from a
user account that has amplified privileges. So long as
the system administrator is careful that only trusted
applications are run from such accounts (and this
is generally the case) and so long as there are no
OpenVMS system security breaches (due to malicious
operator activity, OpenVMS errors, or errors within
trusted and privileged product packages) there is
no of modifications to the operating system or other
protected files from the virus or the worm.

The FAQ maintainer is aware of a few (and very old)
DECnet worms that have affected OpenVMS systems on
DECnet networks ("WANK" was one), but is aware of no
OpenVMS viruses that are loose in the field.

To protect against viruses and other attempts at
system interference or misuse, please follow the
security recommendations in the OpenVMS Guide to System
Security. Additionally, you will want to keep your
OpenVMS ECOs current and you will want to apply all
mandatory ECO kits and any security MUPs for OpenVMS
and OpenVMS products, and you will want to keep to
OpenVMS releases with Prior Version Support (PVS) or
with Current Version Support. (This is obviously a
general system maintenance recommendation, in addition
to being a good system security recommendation-new
security features and capabilities are implemented in
more recent OpenVMS releases, for instance. Details on
PVS releases are available over in Section 5.10.6.)
You may also want to consider optional software
products which can monitor your system for intrusion
or infection attempts. Computer Associates (CA) offers
various products in this area, as to other vendors.


5-3



---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 19:57:20 UTC
Permalink
Archive-name: dec-faq/vms/part4
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-04.TXT







System Management Information




Rocksoft offers the Veracity data integrity tool (for
info, send mail to ***@rocksoft.com). MD5 tools are
also available.

Tools to scan OpenVMS file systems for Microsoft
Windows infections are and have been available,
including a commercial package from Sophos , and a
port of the open source Clam Antivirus scanner at
http://www.clamav.net/ and with an OpenVMS port at
http://fafner.dyndns.org/~alexey/clamav.zip.

These scanning tools are particularly useful for
systems running Samba or Advanced Server (PATHWORKS),
as these servers tend to have a higher population of
files intended for Microsoft Windows systems users,
and as common virus and worm attacks can find and
infect files on the file shares that these products can
provide. These infections do not target OpenVMS itself,
though the OpenVMS server (and any other platform and
any other server capable of storing files for Windows
systems) can silently host files containing common
Microsoft Windows infections.

__________________________________________________________
5.3 Sources of OpenVMS security information?

Where can I get information on OpenVMS system security?

o http://www.hp.com/go/openvms/doc

o http://www.blacksheepnetworks.com/security/resources/openvms/

__________________________________________________________
5.4 How do I mount an ISO-9660 CD on OpenVMS?

ISO-9660 support was added in the following releases:

o OpenVMS VAX V6.0

o OpenVMS AXP V1.5

An add-on ISO-9660 kit was also available for OpenVMS
VAX V5.5, V5.5-1, V5.5-2, and V5.5-2H4. This requires
the installation of the F11CD kit from the InfoServer
CD, from the Consolidated Distribution CD under the
InfoServer area, or the F11CD ECO kit. (Upgrades to V6
and later are strongly recommended.)

5-4







System Management Information




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

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

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

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

An example which works for most CD-ROMs is:

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

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

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


5-5







System Management Information




For details on ODS-1 and ODS-2 file specifications,
see Kirby McCoy's VMS File System Internals Manual
(published by Digital Press, but potentially out of
print), and see:

o http://pdp-11.trailing-edge.com/www/ods1.txt

o Look for the Freeware V5.0 directory ODS2 at
http://www.hp.com/go/openvms/freeware/

__________________________________________________________
5.5 How do I extract the contents of a PCSI kit?

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

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

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

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

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

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

5-6







System Management Information



__________________________________________________________
5.6 Emergency (Conversational) System Startup?

If you need to perform system management operations
on an OpenVMS system and cannot access the system
through normal means-the password on the SYSTEM
username was forgetten and no other privileged
usernames are available, or one or more core system
product authorization key (PAK) software licenses
are unavailable or expired-then you must perform a
conversational (emergency) bootstrap.

Here are the steps:

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

2 At the console prompt, use a console command to
boot into the SYSBOOT utility. (SYSBOOT allows
conversational changes to system parameters.) (The
console syntax for the conversational bootstrap
varies by system model and by system architecture-
this typically involves specifying a flag with
the lowest bit set. See Section 14.3.5 for related
details.) For example:

On VAX, use one of the following three commands
depending on the particular model of VAX system
involved:

B/R5:1
B/1
@GENBOO

On Alpha:

b -flags 0,1

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

5-7







System Management Information




On VAX:

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

On Alpha:

b -flags e,1

On the IA-64 architecture systems, you can establish
and manage an EFI boot alias for a conversational
bootstrap as discussed in Section 14.3.5.1 and
in Section 14.3.10, or you can use VMS_LOADER.EFI
interactively as shown here. Of the core mechanisms
discussed in Section 14.3.5.1, the following uses
an EFI Shell command to perform a conversational
bootstrap of root SYSE via the partition device
fsn:. There are alternative mechanisms available.

fsn:\efi\vms\vms_loader.efi -flags e,1

If your Alpha system has a hardware password
(various systems support a password that prevents
unauthorized access to the console), you will need
to know theis password and will need to enter it
using the LOGIN or similar command at the console.
If you get an "Inv Cmd" error trying to perform a
conversational bootstrap, and you do not have the
hardware console password for the console LOGIN
command, you are stuck-you will need to call for
hardware service for assistance in resetting the
hardware console password. The implementation and
the syntax used for the console password mechanism
does vary by implementation.

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


5-8







System Management Information




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

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

$ SPAWN
$ @SYS$SYSTEM:STARTUP

5 You should now see the dollar ($) prompt of DCL.

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

Perform the task(s) required, such as resetting
the password on the SYSTEM username as described
in Section 5.6.1 or registering one or more license
product authorization keys (PAKs) as described in
Section 5.6.2.

6 Once you log out of this session, the system will
complete the startup and can be used normally. You
can choose to reboot the system, but that is not
necessary.

Some system managers will suggest a method using
the UAFALTERNATE system parameter rather than the
SET/STARTUP OPA0: command shown. This approach is
not always available and is accordingly less commonly
recommended, as there can easily be an alternate user
authorization database (SYS$SYSTEM:SYSUAFALT.DAT)
configured on the system. With a system manager that
has configured an alternate SYSUAFALT.DAT file, the
UAFALTERNATE method will fail-well, assuming you do
not know the password of a privileged username stored
within SYSUAFALT.DAT, of course.


5-9







System Management Information




The UAFALTERNATE system parameter is used to trigger
what is sometimes known as the console backdoor. The
OPA0: system console is critical to system operations
and system security, and will allow access when the
SYSUAF system authorization database is unavailable
or corrupted, when core product license PAKs are not
registered, expired or disabled (NOLICENSE errors), or
in various other cases of system failures. All this is
in addition to the role of the console in the display
of certain system-critical event messages. Access
to the OPA0: console has a security exposure that is
equivalent to direct access to the system hardware.

When LOGINOUT detects an error (such as a SYSUAF
corruption, by a missing SYSUAF, missing product
licenses, or other trigger), it will prevent access
to the OpenVMS system from all terminals except the
system console. The OPA0: system console will be
allowed access, and the resulting process will be
fully privileged. Resetting the UAFALTERNATE system
parameter-in the absence of an alternate SYSUAF system
authorization database-will cause the console backdoor
to be opened simply because LOGINOUT cannot locate
SYS$SYSTEM:SYSUAFALT.DAT. When the authorization
database cannot be located, access will be granted
from the console only.

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

For information and recommendations on setting up
OpenVMS system security, please see the NCSC Class
C2 appendix of the Guide to OpenVMS System Security
manual, also in the OpenVMS documentation set.

You can also use the conversational bootstrap technique
shown earlier (the steps until SET/STARTUP) to alter
various system parameters, as well. At the SYSBOOT
prompt, you can enter new parameters values:

5-10







System Management Information




SHOW MAXPROCESSCNT
SET . 64
CONTINUE

The <.> is a shorthand notation used for the last
parameter examined within SYSGEN and SYSBOOT.

_____________________________
5.6.1 I've forgotten the SYSTEM password - what can I do?

If you have forgotten or do not have the password
for the SYSTEM username, you must perform the
conversational bootstrap as described in Section 5.6,
and must enter the following commands once you have
reached the dollar ($) prompt:

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

You have now reset the password on the SYSTEM
username.

_____________________________
5.6.2 My product licenses have expired - what can I do?

If you have a system with no licenses for OpenVMS or
for OpenVMS users and thus cannot log into the OpenVMS
system normally, you should be able to log into the
console serial terminal-this is the terminal device
known as OPA0:-and perform the commands necessary.

For systems that are not configured with an accessable
console serial terminal-as can be the case with how
some DECwindows workstations are configured-you
must log in over the network or from a local serial
connection. If you cannot log in over a network
connection (SET HOST, telnet, etc) or from another
local serial terminal connection, you will have to
halt the system and perform a conversational bootstrap
as described in Section 5.6. You must then enter
licensing-related commands once the conversational
bootstrap has reached the dollar ($) prompt.

5-11







System Management Information




Use the following DCL command to invoke a menu that
allows you to manage and to register new or replacement
license PAKs:

$ @SYS$UPDATE:VMSLICENSE

You have now registered the license PAKs. Direct use of
the DCL commands LICENSE and SHOW LICENSE and such is
also obviously available.

If you wish to connect a serial console on your
DECwindows workstation, please see Section 14.3.3.3,
Section 14.3.6, Section 11.10, and Section 14.17.

For information on troubleshooting DECwindows, please
see Section 11.5.

__________________________________________________________
5.7 How do I change the node name of an OpenVMS System?

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

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

o Update the SCSNODE in MODPARAMS.DAT, and then run
AUTOGEN as far as the SETPARAMS phase. (Do not
reboot yet.)

o Modify the DECnet node name. (NETCONFIG is the
DECnet Phase IV tool, and NET$CONFIGURE is the
DECnet-Plus tool.)

o Modify the host node name on the various queues in
the queue database. (each queue has a host name,
and it defaults to the SCS node name of the queue's
host system. See the command INIT/QUEUE/ON=node
for information.) Site-specific startup command
procedures can explicitly specify the (local or
even the current) node on the /ON parameter in an
INIT/QUEUE/START/ON= command.

5-12







System Management Information




o Modify the node name saved in any application
databases, or any local node-conditional operations
present in the site-specific system startup, etc.
(SEARCH for the node name, specifying all types of
files.)

o Use the AUTHORIZE utility command RENAME/IDENTIFIER
to rename the SYS$NODE_oldnodename rightslist
identifier to match the new node name. (Do not
change the binary value of this identifier, and
do not delete the identifier.)

If you have erroneously deleted or duplicate the
identifier, you can locate existing references to
the binary identifier value using the Freeware DFU
package, and specifically the commands SEARCH/ACE
and /OWNER. You must (re)create the correctly-named
identifier using the binary value that is often
stored in various Access Control List Entry (ACE)
structures and object owner fields associated with
files and objects present in the OpenVMS system.

o Reset any license PAKs that are restricted to the
old node name to the new node name.

o If the node name is part of a disk volume label, see
Section 5.13.

o Reboot the node or-if in a VMScluster-reboot the
whole VMScluster. (This tends to catch any errors
immediately.)

o Modify the IP node name. (The TCP/IP Services tool
is UCX$CONFIG prior to V5.0, and is TCPIP$CONFIG
in V5.0 and later releases.) Note that TCP/IP
Services ties the IP host name to the current
SCSNODE value within its UCX$CONFIGURATION.DAT or
TCPIP$CONFIGURATION.DAT database. Thus if SCSNODE
is changed, the IP host name reconfiguration must
occur, and the required reconfiguration can occur
only after a system reboot. Accordingly, it is
best to perform the TCP/IP Services host name
reconfiguration step after the reboot.

5-13







System Management Information




There are likely a few other areas where the nodename
will be stored. Local procedures and data files are one
such example, and various sites will have the system
name loaded in the operator control panel via the OCP_
TEXT console environment variable available at the SRM
prompt on some Alpha systems is another.

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

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

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

Also see Section 15.6.3 and Section 15.6.4.

__________________________________________________________
5.8 Why doesn't OpenVMS see the new memory I just added?

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

$ @SYS$UPDATE:AUTOGEN GETDATA REBOOT FEEDBACK

This AUTOGEN command will reset various system
parameters based on recent system usage (FEEDBACK),
and it will reset the value for the PHYSICALPAGES
parameter to the new value. It will also reboot the
OpenVMS system.

5-14







System Management Information




PHYSICALPAGES and PHYSICAL_MEMORY can also be used to
deliberately lower the amount of memory available for
use by OpenVMS. This ability can be useful in a few
specific circumstances, such as testing the behaviour
of an application in a system environment with a
particular (lower) amount of system memory available.

PHYSICALPAGES and PHYSICAL_MEMORY can be set to -1 (on
OpenVMS Alpha) or (better and simpler) the entry can be
removed from the MODPARAMS.DAT file, to indicate that
all available memory should be used.

__________________________________________________________
5.9 How do I change the text in a user's UIC identifier?

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

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

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

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

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

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

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

5-15







System Management Information




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

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

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

__________________________________________________________
5.10__What_are_the_OpenVMS_version upgrade paths?

5.10.1 OpenVMS Alpha Upgrade (or Update) Paths

Note

Upgrade path information here has occasionally
been found to be wrong. Information here does
not reflect cluster rolling upgrade requirements;
see Section 5.10.4 for related rolling upgrade
information; versions permissible for rolling
upgrades can be and often are more constrained.
When upgrade information here conflicts with
the official documentation, please assume that
the information here is wrong. Corrections and
updates to this material are welcome.







5-16







System Management Information




From V1.0,
you can upgrade to V1.5.
From V1.5, or V1.5-1H1,
you can upgrade to V6.1.
From V6.1,
you can upgrade to V6.2.
From V6.1, or V6.2,
you can upgrade to V7.0.
From V6.1, V6.2, V6.2-1H(1,2,3), or V7.0,
you can upgrade to V7.1.
From V6.2,
you can update to V6.2-1H1, V6.2-1H2, or V6.2-1H3.
From V6.2, V6.2-1H(1,2,3), V7.1, V7.1-1H(1,2), or V7.2,
to V7.2-1.
From V6.2, ... or V7.2,
to V7.2-1H1, to 7.3.
From V7.1, you can update to V7.1-1H(1,2), ...
to V7.2-1H1, to 7.3.
From 7.2, 7.2-1, 7.2-1H1, 7.2-2, 7.3 or 7.3-1,
you can upgrade to V7.3-2
From V7.3, V7.2-2, V7.2-1H1, V7.2-1, and V7.1-2,
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,
you can upgrade to V8.2.

Some typical OpenVMS Alpha upgrade (or update) paths
are:















5-17







System Management Information




V1.0 -> V1.5 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2, V7.3)
V1.5-1H1 -> V6.1 -> (V6.2, V7.0, V7.1, V7.2, V7.3)
V6.2 -> V6.2-1H3
V6.2 -> V7.2-1
V6.2 -> V7.3
V6.2-1H(1,2,3) -> V7.1
V6.2-1H(1,2,3) -> V7.2-1
V6.2 through 7.1-1H2 inclusive -> V7.3
V7.1 -> V7.1-2
V7.1 -> V7.2-1
V7.1-1H(1,2) -> V7.1-2
V7.1-1H(1,2) -> V7.2-1
V7.1-2 -> V7.3-1
V7.2 -> V7.2-1H1
V7.2 -> V7.3 -> V7.3-1
V7.2-1 -> (V7.3, V7.3-1)
V7.2-2 -> (V7.3, V7.3-1, V7.3-2)
V7.3 -> (V7.3-1, V7.3-2)
V7.3-1 -> (V7.3-2, V8.2)
V7.3-2 -> V8.2

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

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

Users of OpenVMS Alpha V7.1-1H1, V7.1-1H2, V7.2-1H1 or
other hardware are encouraged to upgrade to the next
available non-hardware-release, and should preferably
upgrade to the current or to a supported OpenVMS Alpha
release.



5-18







System Management Information




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

OpenVMS Alpha V7.1-2 and later use PCSI for LHRs
and for OpenVMS upgrades and for all OpenVMS ECO
kit installations; V7.1-2 and later use upgrades and
not updates. VMSINSTAL OpenVMS ECO kits (updates) are
not used on OpenVMS Alpha V7.1-2 and later; prior to
V7.1-2, VMSINSTAL-based ECO (update) kits are used for
OpenVMS.

_____________________________
5.10.2 OpenVMS I64 Upgrade Paths

Note

Upgrade path information here has occasionally
been found to be wrong. Information here does
not reflect cluster rolling upgrade requirements;
see Section 5.10.4 for related rolling upgrade
information; versions permissible for rolling
upgrades can be and often are more constrained.
When upgrade information here conflicts with
the official documentation, please assume that
the information here is wrong. Corrections and
updates to this material are welcome.

From V8.2
you can upgrade to V8.2-1

Some typical OpenVMS I64 upgrade (or update) paths are:

V8.2 -> V8.2-1

OpenVMS I64 V8.2 is the first production release.
OpenVMS I64 V8.0 and V8.1 were intended for early
adopters of OpenVMS on Integrity servers, and are not
considered to be production releases.

To utilize OpenVMS I64 V8.2, you must perform a full
installation of V8.2. No supported upgrade path to
V8.2 is available from previous releases; there is no
upgrade from OpenVMS I64 E8.2, nor from the earlier
V8.1 or V8.0 releases.

5-19







System Management Information



_____________________________
5.10.3 OpenVMS VAX Release Upgrade Paths

Note

Upgrade path information here has occasionally
been found to be wrong. Information here does
not reflect cluster rolling upgrade requirements;
see Section 5.10.4 for related rolling upgrade
information; versions permissible for rolling
upgrades can be and often are more constrained.
When upgrade information here conflicts with
the official documentation, please assume that
the information here is wrong. Corrections and
updates to this material are welcome.

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

Some typical OpenVMS VAX upgrade paths are:

V5.x -> V5.5 -> V6.0 -> V6.2 -> (V7.1, V7.2, V7.3)
V5.5-2HW -> V5.5-2
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.2
V6.2 -> V7.3

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

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

If you attempt a direct upgrade from OpenVMS VAX V6.1
to V7.2 or later without having first applied the
VAXBACK ECO kit to your V6.1 system, you will receive
an error message:

%BACKUP-E-INVRECTYP, invalid record type in save set

5-20







System Management Information




and the upgrade will fail. Acquire and apply the
VAXBACK ECO kit for OpenVMS VAX V6.1. OpenVMS VAX V6.2
and later do not require an application of an ECO for
an upgrade to V7.2 and later.

_____________________________
5.10.4 OpenVMS Cluster Rolling Upgrade Paths

Rolling Upgrades permit the OpenVMS Cluster and the
applications to remain available while individual
systems are being upgraded to a new OpenVMS release.

Rolling Upgrades require multiple system disks.

OpenVMS Cluster Rolling Upgrades for OpenVMS
Alpha, OpenVMS I64 and OpenVMS VAX may (will)
have architecture-specific, or additional upgrade
requirements or prerequisites, and have requirements
around which versions and architectures of OpenVMS can
coexist within a OpenVMS Cluster than what are listed
here.

For specific details on Rolling Upgrades, please see
the OpenVMS Upgrade and Installation Manual for the
particular release, and the OpenVMS Software Product
Descriptions for OpenVMS and for OpenVMS Cluster
software:

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

for further details on the Rolling Upgrade, and for
support information.

_____________________________
5.10.5 OpenVMS VAX Manual Organization

The documentation for older releases of OpenVMS VAX
was comprised of various platform-specific manuals,
manuals that include instructions that are specific
to installing and upgrading on the particular VAX
platform. These older manuals can be useful for
learning platform- or console-specific operations
or requirements for the particular (and older) VAX
platform.

5-21







System Management Information




There is far less console command syntax, and console
storage media variability, among the more recent Alpha
and Integrity processors. The newer platform operator
and management interfaces are far more consistent
across the platform lines.

_____________________________
5.10.6 OpenVMS Product Version and Support Information

For information on Prior Version Support (PVS) and
Mature Product Support (including information on
support end dates for OpenVMS and various layered
products), please see the support resources link
available at the main OpenVMS website or the services
links available at the main services website:

o http://www.hp.com/go/openvms/

o http://www.hp.com/go/services

And see the following links, with the caveat that the
direct "/hps" links shown here may become stale:

o http://www.hp.com/hps/os/os_pvs.html

o http://www.hp.com/hps/os/os_ovms.html

For information on the supported and required versions
of layered products, and the minimum required layered
product versions for various configurations, please see
the Software Rollout Report (SWROLL), available at:

o http://h71000.www7.hp.com/openvms/os/swroll/

For additional related information, see Section 2.6.1.

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

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


5-22







System Management Information




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

o http://www.openvms.compaq.com/openvms/20th/vmsbook.pdf

_____________________________
5.10.7 OpenVMS Alpha and I64 Upgrade Terminology

OpenVMS Alpha and OpenVMS I64 use the POLYCENTER
Software Product Install Utility, occasionly refered to
as SPIU and rather more commonly known as PCSI. PCSI
is a component of the OpenVMS operating system, and is
available on OpenVMS VAX, OpenVMS Alpha, and OpenVMS
I64.

The following terms apply to OpenVMS Alpha and to
OpenVMS I64 Upgrades and Installations using PCSI:

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

VMSINSTAL-based Updates and VMSINSTAL-based ECO
kits are not generally used to upgrade OpenVMS on
releases of OpenVMS Alpha V7.1-2 and later, nor are
thse used on OpenVMS I64; only PCSI-based Upgrades
and Installs are used. VMSINSTAL remains available
for other uses and other products; for upgrades and
installations of products other than OpenVMS itself.

o UPGRADE: Performed via PCSI. Upgrades can typically
be applied directly to a release-specific range
of earlier OpenVMS releases. The product release
documentation specifies the prior OpenVMS releases;
if your release is not one of the specified
releases, you will have to perform one or more
additional upgrades (through intermediate OpenVMS
releases) to reach one of the prerequisite releases.

5-23







System Management Information




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

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

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

You will not generally want to continue using an LHR
once a subsequent OpenVMS release is available; you
will want to upgrade off the LHR at your earliest
convenience.

For minimum OpenVMS versions for various platforms, see
Section 2.12.

__________________________________________________________
5.11 Why do I have a negative number in the pagefile reservable
pages?

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


5-24







System Management Information




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

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

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

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

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

With OpenVMS V7.3 and later, the displays have been
changed and these negative values are no longer
visible.

5-25







System Management Information



__________________________________________________________
5.12 Do I have to update layered products when updating
OpenVMS?

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

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

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

These Software Rollout (SWROLL) Reports are updated
regularly. Please see:

o http://h71000.www7.hp.com/openvms/os/swroll/

For related information, see Section 2.6.1.

__________________________________________________________
5.13 How do I change the volume label of a disk?

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

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

5-26







System Management Information




On OpenVMS V6.0 and later, issue the following PCSI
command to reset the label information stored within
the PCSI database to reflect the new disk volume label:

$ PRODUCT REGISTER VOLUME old-label device

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

If this is a system disk (for the host or for a
satellite), also check the DECnet MOP or LANCP boot
database, as well as any references to the disk created
by CLUSTER_CONFIG*.COM.

If Compaq Analyze is in use, check the system startup
procedures for the Compaq Analyze tool. Certain
versions of Compaq Analyze will record specific disk
volume labels within the startup procedures.

Remount the disk appropriately.

__________________________________________________________
5.14 How can I set up a shared directory?

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

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

Add an identifier using the AUTHORIZE utility:

ADD/IDENTIFER/ATTRIBUTES=RESOURCE groupidentifier

Grant the identifier to each user in the group using
AUTHORIZE:

GRANT/IDENTIFIER groupidentifier username

5-27







System Management Information




If disk quotas are in use, add an entry via SYSMAN for
each disk:

DISKQUOTA ADD groupidentifier -
/PERMQUOTA=pq/OVERDRAFT=od/DEVICE=ddcu:

Set the shared directory to have an ACL similar to the
following using the SET SECURITY (V6.0 and later) or
SET ACL (versions prior to V6.0) command:

(DEFAULT_PROTECTION,S:RWED,O:RWED,G,W)
(IDENTIFIER=groupidentifier,OPTIONS=DEFAULT,-
ACCESS=READ+WRITE+EXECUTE+DELETE)
(IDENTIFIER=groupidentifier, -
ACCESS=READ+WRITE+EXECUTE+DELETE)
(CREATOR,ACCESS=READ+WRITE+ACCESS+DELETE)

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

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

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

__________________________________________________________
5.15 Why do I get extra blank pages on my HP Printer?

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

o http://www.hp.com/go/openvms/wizard/

5-28







System Management Information




For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

There are a variety of discussions of this and of
related printing topics in the Ask The Wizard area,
in addition to topic (1020).

Also see Section 5.34.

__________________________________________________________
5.16 Drivers and Configuration of New Graphics Controllers?

This section contains information on various
graphics controllers supported by OpenVMS Alpha, and
specifically information on where and how to obtain
device drivers for specific early OpenVMS releases-
device drivers for controllers are integrated into
and shipped with OpenVMS Alpha, but versions of
these device drivers are sometimes made available for
specific earlier OpenVMS releases.

_____________________________
5.16.1 The ELSA GLoria Synergy

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

o VMS712_GRAPHICS-V0300 or later

o VMS72_GRAPHICS-V0100 or later

o VMS712_GRAPHICS-V0300 or later

The ELSA GLoria Synergy is the PBXGK-BB; the PowerStorm
3D10T. Please ensure you have the most current ECOs
for this and other graphics controllers installed;
check for and install the current GRAPHICS kit. (See
Section 4.3.2 for some unexpectedly related details.)

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

DISK$ALPHA0721:[ELSA.KIT]

Also check for any available (later) ECO kits.

5-29







System Management Information




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

OpenVMS V7.2-2 and later mainline releases directly
support the controller.

Additional information is available in topics (3419)
and (5448) in the Ask The Wizard area:

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

Support for the ELSA GLoria Synergy is integrated into
all current OpenVMS Alpha releases.

_____________________________
5.16.2 PowerStorm 300, PowerStorm 350

The PowerStorm 300 is the PBXGD-AC, while the
PowerStorm 350 is the PBXGD-AE.

For support of the PowerStorm 300 and PowerStorm 350
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

o DEC-AXPVMS-VMS712_GRAPHICS-V0300-4 or later

For OpenVMS Alpha V7.2-1:

o DEC-AXPVMS-VMS721_P350-V0100-4 or later

o DEC-AXPVMS-VMS721_GRAPHICS-V0300-4 or later

Support for the PowerStorm 300 and PowerStorm 350
series graphics controllers is integrated into current
OpenVMS Alpha releases.

5-30







System Management Information



_____________________________
5.16.3 PowerStorm 3D30, PowerStorm 4D20

PowerStorm 3D30 (PBXGB-AA), PowerStorm 4D20 (PBXGB-
CA) information is available in Ask The Wizard topics
including topic (2041):

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

_____________________________
5.16.4 Radeon 7500

Install the current GRAPHICS ECO kit for OpenVMS Alpha
V7.2-2 or V7.3-1 for support of the Radeon 7500 series
PCI and AGP graphics controllers.

Support for this controller (without an ECO kit) is
first integrated into and available in OpenVMS Alpha
V7.3-2. (Please do always install the most current
GRAPHICS ECO kit whenever one is available, however.)

__________________________________________________________
5.17 How can I acquire OpenVMS patches, fixes, and ECOs?

You can acquire and download kits containing OpenVMS
fixes (ECOs) for various releases, as well as related
support information, via the ITRC support center:

o http://www.itrc.hp.com/

o ftp://ftp.itrc.hp.com/openvms_patches/

Some systems with Internet firewalls may/will have
to use passive mode FTP to access the above sites.
Assuming recent/current versions of the TCP/IP Services
package, the DCL FTP command necessary is:

$ DIRECTORY/FTP/ANONYMOUS/PASSIVE ftp.itrc.hp.com::

You can subscribe to an email notification list at the
ITRC site.

5-31







System Management Information




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

o http://Eisner.DECUS.org/conferences/OpenVMS-patches_
new_1.HTML

Examples and ECO kit installation instructions are
included in the cover letter. For ECO kit email
notifications, lists of available ECO kits, cover
letters and other associated documentation, look in:

o http://www.itrc.hp.com/

o ftp://ftp.itrc.hp.com/openvms_patches/

For additional information, please see Section 5.17.

Do NOT attempt to install a VMSINSTAL-based OpenVMS
ECO kit on OpenVMS Alpha V7.1-2 and later. While
VMSINSTAL itself remains available, it is not used
for OpenVMS Alpha ECO kits starting in OpenVMS Alpha
V7.1-2. OpenVMS Alpha V7.1-2 and later use PCSI for
OpenVMS ECO kits.

See Section 5.30 for information on ECO kit checksums.

__________________________________________________________
5.18 How do I move the queue manager database?

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

To move the queue database:

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

$ RUN SYS$SYSTEM:JBC$COMMAND
JBC$COMMAND> DIAG 0 7

2 Stop the queue manager

$ STOP/QUEUE/MANAGER/CLUSTER

5-32







System Management Information




3 Backup the .QMAN$QUEUES and .QMAN$JOURNAL files from
the present location for safety.

$ backup SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* DISK:[DIR]

4 Create a new directory for the queue database.
Insure that this disk is accessible to all nodes
that can run the queue manager. If the /ON list for
the queue manager is "/ON=(*)", the disk must be
available to all nodes in the cluster

$ CREATE/DIR fast_disk:[qman]

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

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

6 Delete the old queue database.

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

7 Restart the queue manager pointing to the new
location

$ START/QUEUE/MANAGER fast_disk:[qman]

__________________________________________________________
5.19 How do I delete an undeletable/unstoppable (RWAST)
process?

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

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

5-33







System Management Information




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

If the stuck application is BACKUP, ensure you have the
current BACKUP ECO and are directly following the V7.1
or (better) V7.2 or later process quota recommendations
for operator BACKUP accounts. Quota details are in the
OpenVMS System Manager's Manual.

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

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

__________________________________________________________
5.20 How do I reset the error count(s)?

The system reboot is the only supported approach prior
to V7.3-2, but a reboot is obviously undesirable in
various situations-there is presently no supported
mechanism to reset error counts once the error(s) have
been logged on these older releases. On V7.3-2 and
later, you can use the DCL command:

$ SET DEVICE/RESET=ERROR_COUNT

As for an unsupported approach-and be aware of the
potential for triggering a system crash, you need
to determine the system address of the error count
field. For a device, this is at an offset within the
device's UCB structure. On VAX, the field is at an
offset symbolically defined as UCB$W_ERRCNT. On Alpha,
this field's offset is symbolically defined as UCB$L_

5-34







System Management Information




ERRCNT. The former is a word in size; the latter is a
longword.

You now need to locate the system address of the UCB$%_
ERRCNT field of the device you wish to reset. Enter
SDA. In the following, you will see designations in
{} separated by a /. The first item in braces is to be
used on the VAX and the second item should be used on
an Alpha. (ie. {VAX/Alpha})

$ ANALYZE/SYSTEM
SDA> READ SYS${SYSTEM/LOADABLE_IMAGES}:SYSDEF.STB
SDA> ! SHOW DEVICE the device with the error(s)
SDA> SHOW DEVICE <ddnc:>
SDA> EVALUATE UCB+UCB${W/L}_ERRCNT
Hex = hhhhhhhh Decimal = -dddddddddd UCB+offset

Record the hexadecimal value 'hhhhhhhh' returned.

You can now exit from SDA and $ RUN SYS$SHARE:DELTA or
do what I prefer to do, issue the following:

SDA> SPAWN RUN SYS$SHARE:DELTA

On both VAX and Alpha, the DELTA debugger will be
invoked and will ident- ify itself. On Alpha, there
will be an Alpha instruction decoded. For those
unfamiliar with DELTA, it does not have a prompt and
only one error message-Eh? (Well, for sake of argument,
there might be another error produced on the console if
you're not careful. This second error is more commonly
known as a system crash.)

If you are on a VAX, enter the command: [W

If you are on Alpha, enter the command: [L

These set the prevailing mode to word and longword
respectively. Remem- ber the UCB${W/L)_ERRCNT
differences?

Now issue the command 1;M

DELTA will respond with 00000001

5-35







System Management Information




You are now poised to ZAP the error count field. To do
so you need to en- ter the system address and view its
contents. The format of the command to do this is of
the form:

IPID:hhhhhhhh/

For an IPID, use the IPID of the SWAPPER process. It is
always: 00010001

Thus, to ZAP the error count, you would enter:

00010001:hhhhhhhh/

When you enter the / SDA will return the content of
the address hhhhhhhh. This should be the error count
(in hexadecimal) of the device in question. If it is
not, you did something wrong and I'd suggest you type a
carriage return and then enter the command EXIT to get
out of DELTA. Regroup and see where your session went
awry.

If you entered your address correctly and the error
count was returned as in the following example, you can
proceed.

00010001:80D9C6C8/0001 ! output on VAX, 1 error

00010001:80D9C6C8/00000001 ! output on Alpha, 1 error

You can now ZAP the error count by entering a zero and
typing a carriage return. For example:

00010001:80D9C6C8/0001 0<return> ! output on VAX. 1 error

00010001:80D9C6C8/00000001 0<return> ! output on Alpha, 1 error

Now type the command EXIT and a carriage return.

Alternatively, reboot the system.




5-36







System Management Information



__________________________________________________________
5.21 How do I find out if the tape drive supports compression?

For various SCSI-based MK-class magnetic tape devices:

$ Devdepend2 = F$GETDVI("$n$MKcxxx:","DEVDEPEND2")
$ Comp_sup = %X00200000
$ Comp_ena = %X00400000
$ IF (Devdepend2.AND.Comp_sup).EQ.Comp_sup THEN -
WRITE SYS$OUTPUT "Compression supported"
$ IF (Devdepend2.AND.Comp_ena).EQ.Comp_ena THEN -
WRITE SYS$OUTPUT "Compression enabled"

__________________________________________________________
5.22 Can I copy SYSUAF to another version? To VAX? To Alpha?

The format of the SYSUAF.DAT, RIGHTSLIST, and
associated files are upward-compatible, and compatible
across OpenVMS VAX, OpenVMS Alpha and OpenVMS I64
systems. (This compatibility is a a basic requirement
of mixed-version OpenVMS Cluster configurations and
OpenVMS upgrades-for specific support information,
please see the OpenVMS Cluster rolling upgrade and
mixed-version requirements.) That said, it's the
contents of the SYSUAF and RIGHTSLIST files that will
make this more interesting.

The same basic steps necessary for moving RIGHTSLIST
and SYSUAF files to another node are rather similar
to the steps involved in merging these files in an
OpenVMS Cluster-see the appendix of the OpenVMS Cluster
documentation for details of merging files. (You might
not be merging the contents of two (or more) files, but
you are effectively merging the contents of the files
into the target system environment.)

Considerations:

o applications often hold SYSUAF or RIGHTSLIST open,
meaning a system reboot is often the best way to
activate new files.

o the meanings of the RESTRICTED and CAPTIVE flags
settings on the UAF entries have changed over time.

5-37







System Management Information




o the new NET$PROXY.DAT file that is initially created
based on the contents of the NETPROXY.DAT during the
OpenVMS VAX V6.1 upgrade and during the OpenVMS
Alpha V6.2 upgrade. This file is maintained in
parallel with NETPROXY.DAT.

o the RIGHTSLIST identifier values and UIC values that
end up scattered around the target system must be
rationalized with the contents of the new RIGHTSLIST
and SYSUAF files.

The lattermost case-resolving the identifier values-
is often the most interesting and difficult part. If
you find that an identifier value (or identifier name)
from the source RIGHTSLIST collides with that of an
identifier existing on the target system, you must
first determine if the two identifiers perform the
same function. In most cases, they will not. As such,
you will have to find and chance all references to
the identifier value(s) (or name(s)) to resolve the
"collision".

If you encounter a collision, changing both of the
identifier binary values (or names) involved in
the collision to new and unique values can prevent
security problems if you should miss a couple of
identifiers embedded somewhere on the target system
during the whole conversion process-rather than the
wrong alphanumeric value for the identifier being
displayed, you'll simply see the binary format for
the identifier displayed, and no particular access
will be granted. And any DCL commands or such that
reference the old alphanumeric name will fail, rather
than silently (and potentially erroneously) succeeding.

Similar requirements exist for UIC values, as these too
tend to be scattered all over the system environment.
Like the binary identifier values, you will find UIC
values associated with disks, ACLs, queues, and various
other structures.




5-38







System Management Information




For a list of the various files shared in an OpenVMS
Cluster and that can be involved when relocating
an environment from one node to another (or merging
environments into an OpenVMS Cluster), please see the
SYLOGICALS.TEMPLATE file included in OpenVMS V7.2 and
later releases.

Procedures to extract the contents of a (potentially
corrupt) queue database are provided on the OpenVMS
Freeware (V5) and can be used to combine two queue
databases together while shuffling files between
OpenVMS Cluster hosts.

For related discussions of splitting a cluster into two
or for removing a node from cluster (political divorce,
etc), see topics (203), (767), (915) and others in the
Ask The Wizard area:

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

__________________________________________________________
5.23 How do I delete (timeout) idle processes?

There is no such command integrated within OpenVMS,
though there are (optional) timers available within
certain terminal servers and similar devices, and there
is an integrated time-of-day mechanism that provides
control over when a user can access OpenVMS.

As for available tools, there are DECUS, freeware,
and third-party tools known variously as "idle process
killers" (IPK) or "terminal timeout" programs, as well
as various other names. Examples include: Saiga Systems
Hitman, Watchdog, MadGoat Watcher (via the MadGoat
site or the OpenVMS Freeware), Kblock, the Networking
Dynamics tool known as Assassin, and the Zap tool.
Also available is the XLNperformance system management
utility, from XLNsystems.

A related package (for DECwindows sessions) is
xtermlock.

5-39







System Management Information




If the forgetful users are in an application menu
environment, the menu can potentially be extended to
provide this capability.

__________________________________________________________
5.24 Do I need a PAK for the DECevent (HP Analyze) tool?

DECevent and HP (Compaq) Analyze are available to
customers with support contracts. The PAK is required
only for the advanced functions of DECevent, the basic
bits-to-text translation of the error log does not
require a license PAK. Ignore the prompt, in other
words. (The PAK should be available to you if you have
a hardware support contract or warrantee, and the PAK
enables the use of the advanced error analysis and
notification capabilities within DECevent.)

Please see the following website for details and
downloads: Analyze)

o http://www.compaq.com/support/svctools/

Also see the tool that is available on V7.3-2 and
later.

$ ANALYZE/ERROR/ELV

__________________________________________________________
5.25 INITIALIZE ACCVIO and ANSI tape label support?

A change was made (back in 1988) to (as it was then
known) VAX/VMS V5.1-1 that added support for the then-
new ANSI X3.27-1987 magnetic tape label standard. Prior
to the ANSI X3.27-1987 standard, the date field in the
ANSI HDR1 record permits dates only as far as the end
of Year 1999. With ANSI X3.27-1987, dates through Year
1999 and dates from Years 2000 to 2099 are permitted.

Versions of INIT.EXE and MTAACP.EXE from VAX/VMS
releases prior to V5.1-1 will potentially have problems
properly processing ANSI magnetic tapes when Y2K and
later dates are involved-the DCL INITIALIZE command is
known to encounter access violation (ACCVIO) errors.

5-40







System Management Information




The available solutions include upgrades, or setting
the date back. Direct initialization of the tape with
the new headers (via $qio) is also clearly possible,
though the limitation within the old MTAACP.EXE magtape
ACP image is not nearly so easy to bypass.

__________________________________________________________
5.26 How do I recover from INSVIRMEM errors?

Prior to OpenVMS Alpha V7.0 and on all OpenVMS VAX
releases, VIRTUALPAGECNT and PGFLQUOTA limit the amount
of virtual address space that is available to each
process.

Further limiting the amount of address space is the
size of system space (S0 and S1 space). On OpenVMS
Alpha versions prior to V7.0 and on all OpenVMS VAX
releases, VIRTUALPAGECNT and MAXPROCESSCNT together
determine the size of the page table data structures
that occupy large tracts of system space. When no
system virtual address space is available for the stuff
that needs it-this includes the page tables, non-paged
pool, and various other structures-then the values of
VIRTUALPAGECNT and MAXPROCESSCNT cannot be increased.

In OpenVMS Alpha V7.0 and later, the page table data
structures have been moved out of S0 and S1 space and
into page table space. In OpenVMS Alpha V7.2 and later,
certain large data structures found in non-paged pool
(eg: lock management structures) have been moved into
64-bit space, thus freeing up room in non-paged pool
and in S0 and S1 space (where non-paged pool resides)
while also permitting much larger data structures.

__________________________________________________________
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:

This will prevent any unsolicited terminal input on
ddcu:, and this unsolicited input is what triggers
JOB_CONTROL to start up LOGINOUT on the terminal. Once
LOGINOUT starts up on the serial line, you can see
interesting behaviour (eg: audits, process creations,

5-41







System Management Information




etc) as LOGINOUT tries to "chat" with whatever device
is hooked onto the remote end of the serial terminal
line.

__________________________________________________________
5.28 How does PCSI use the image BUILD_IDENT field?

The (undocumented) build ident field in an OpenVMS
Alpha image header is 16 bytes long, and is used as
a counted string of 0-15 characters (ie, as an .ASCIC
string, a string with the character count in byte 0)
and was originally introduced to provide information
for use by VMSINSTAL patch kits to determine whether an
image should be replaced or not.

Starting with OpenVMS Alpha V7.1-2, OpenVMS Engineering
uses the PCSI utility to package and install ECO kits
for OpenVMS. PCSI uses the generation attribute (a
32-bit unsigned integer) specified for files in the
product description file (PDF) of a PCSI kit as the
basis for performing file conflict detection and
resolution. When a product is installed, PCSI modifies
the build ident field of Alpha image headers to store
an encoded form of the generation number. It also looks
at the build ident field of previously installed images
to obtain the generation information for those files as
input to the file conflict processing algorithm. (Only
images have this field, obviously.)

PCSI interprets the build ident field of a previously
installed image as follows:

o if the string length is 15, the 5th character is
a hyphen, and the last ten characters are a ten
digit number with leading zeros, then the last ten
characters are treated as a valid generation number.

o for V7.1-2 through V7.2-1, inclusive, if the above
test fails, the information is obtained from the
PCSI product database.

o in releases after V7.2-1 and with current PCSI ECO
kits, if the above test fails, an invalid generation
number is treated as 0000000000 so that the ECO kit
will simply replace the image rather than assuming
the PCSI database is in error.

5-42







System Management Information




So, what will you see in the image identification
displayed via the ANALYZE/IMAGE command?

For an image that has been built as part of an OpenVMS
Engineering system build, you will generally see a
build ID string in the format "X6TE-SSB-0000"-X6TE is
the build number for the OpenVMS Alpha V7.2-1 release.
This id format is used within the OpenVMS system build,
and can generally only be seen associated with images
that have not yet been processed via PCSI.

During the installation of V7.2-1, PCSI will modify
the image header to have a build ident string of
"X6TE-0050120000". During installation of an ECO
kit containing this image with a generation number
of 50130052, for example, PCSI would determine that
50130052 is greater than 50120000, and will replace the
existing image on the target disk with the version of
the image included in the ECO kit.

Ranges of PCSI generation numbers for various OpenVMS
releases are included in Table 5-1. The use of xxxx
indicates a range of generations is available, from
0000 to 9999, inclusive. The format of, the particular
operation of, and the assignment of PCSI generation
numbers is subject to change without notice.

________________________________________________________________
Table 5-1 PCSI Generation Number

_______________________________________________________
Generation
Number____________Generation_Source____________________

0040100000 V7.1-2

004011xxxx V7.1-2 ECOs

0050100000 V7.2

005011xxxx V7.2 ECOs

0050120000 V7.2-1

005013xxxx V7.2-1 ECOs

0050140000 V7.2-1H1

005015xxxx V7.2-1H1 ECOs

5-43


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 19:59:10 UTC
Permalink
Archive-name: dec-faq/vms/part5
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-05.TXT







System Management Information



________________________________________________________________
Table 5-1 (Cont.) PCSI Generation Number

_______________________________________________________
Generation
Number____________Generation_Source____________________

0050160000 V7.2-2

005017xxxx V7.2-2 ECOs

0060000000 V7.3

006001xxxx V7.3 ECOs

0060020000 V7.3-1

006003xxxx V7.3-1 ECOs

0060100000 V7.3-2

006011xxxx V7.3-2 ECOs

0070040000 V8.2

007005xxxx V8.2 ECOs

0070060000 V8.2-1

_________007007xxxx________V8.2-1_ECOs__________________________

__________________________________________________________
5.29 How can I tell what software (and version) is installed?

There is unfortunately no consistent nor single way to
make this determination-this is one of the reasons that
a move to PCSI installations is underway.

On OpenVMS Alpha, you can use VMSINSTAL.HISTORY and
PRODUCT SHOW PRODUCT to determine what packages have
been installed via the VMSINSTAL and PCSI tools,
respectively.

To see which OpenVMS Alpha ECO kits have been applied,
look in VMSINSTAL.HISTORY on OpenVMS Alpha prior to
V7.1-2, and use PRODUCT SHOW PRODUCT/FULL on OpenVMS
Alpha V7.1-2 and later.

On OpenVMS VAX, you can use PRODUCT SHOW PRODUCT and
(for software that is installed via VMSINSTAL on V7.3
and later) in VMSINSTAL.HISTORY.

5-44







System Management Information




For products installed on OpenVMS VAX prior to V7.3
using VMSINSTAL, there is no reliable way to determine
what products have been installed. If the product
provides a RELEASE_NOTES file (as many do), you
can look for the list of these files via DIRECTORY
SYS$HELP:*.RELEASE_NOTES. Again, this approach is NOT
reliable: some kits do not provide release notes, some
system managers will install only the release notes,
some system managers will delete release notes, and
release notes for multiple versions can be present.

On most packages, you can generally use ANALYZE/IMAGE
on one of the core images, looking at the image
identification area. Some of the product-specific
mechanisms available are:

o DQS DQS$VERSION logical name

o C CC/VERSION

o C++ CXX/VERSION

o TCP/IP TCPIP SHOW VERSION command

__________________________________________________________
5.30 What file checksum tools are available for OpenVMS?

The undocumented (prior to V8.2) DCL command CHECKSUM
is the usual means, and provides a rather simple-minded
checksum suitable to detect basic file corruptions.
Starting with V8.2, additional algorithms beyond the
classic XOR scheme are available.

One of the most common schemes beyond the CHECKSUM
XOR scheme is MD5, and information and a source code
example are available via the MD5 RFC. As of this
writing, pre-built versions of MD5 are expected to be
made available at or via the OpenVMS Freeware website
( http://www.hp.com/go/openvms/freeware/ ), and MD5 is
expected to be made available on an OpenVMS Freeware
release after V7.0. Also see the CHECKSUM/ALGORITHM=MD5
command on OpenVMS V8.2 and later.


5-45







System Management Information




The OpenVMS Alpha ECO (patch) kit checksums available
at the ECO website are determined using the following
DCL command sequence:

$ CHECKSUM kitname.pcsi-dcx_axpexe
$ SHOW SYMBOL CHECKSUM$CHECKSUM

See Section 5.17 for information on acquiring OpenVMS
ECO (patch) kits.

__________________________________________________________
5.31 What (and where) is the OpenVMS Management Station?

For information and current kits for the OpenVMS
Management Station (OMS), a PC-based tool that permits
you to manage an OpenVMS system, please see:

o http://www.openvms.compaq.com/openvms/products/argus/

__________________________________________________________
5.32 How to determine current disk fragmentation level?

The HP OpenVMS Disk File Optimizer (DFO)
defragmentation package provides a fragmentation
monitoring tool, and a DFO product authorization key
(PAK) is not required for the fragmentation reporting
tool:

$ DEFRAG SHOW/VOLUME ddcu:

The DFU tool available on the OpenVMS Freeware can
generate a report on the disk fragmentation:

DFU> REPORT ddcu:

__________________________________________________________
5.33 SYSBOOT-I-FILENOTLOC, Unable to locate SYS$CPU_ROUTINES?

A message at the OpenVMS Alpha bootstrap such as the
following:

%SYSBOOT-I-FILENOTLOC, Unable to locate
SYS$CPU_ROUTINES_1C02.EXE
%SYSBOOT-E-LDFAIL, failed to load execlet,
status = 00000910

5-46







System Management Information




indicates that the particular OpenVMS Alpha release
does not contain support for the target platform. In
this case, OpenVMS does not recognize Alpha family 1C
member 02 as a supported platform. A later version of
OpenVMS might support the platform, or there might be
no support on any release. Ensure that you have the
most current firmware, and review the minimum version
requirements for the platform.

The execlet load failure and other similar bootstrap
status values can often be decoded using either of the
following techniques:

$ exit %x910
%SYSTEM-W-NOSUCHFILE, no such file
$

$ x = f$message(%x910)
$ show symbol x
X = "%SYSTEM-W-NOSUCHFILE, no such file"
$

Also see Section 14.4.4.1.

__________________________________________________________
5.34 How can I customize the DCPS device control for a new
printer?

To customize DCPS for an otherwise unsupported printer,
you can try the following sequence:

o Extract the most closely-associated setup modules
from the existing device control library,
DCPS$DEVCTL.TLB. (For instance, you can probably
extract and use the HP LaserJet 4000 series
definitions for the HP LaserJet 4050 series. Each
printer will vary, please consult the printer
documentation for specifics and requirements.)

o rename each extracted setup module to a
corresponding:

LPS$$UNRECOGNIZED_*

5-47







System Management Information




o Insert all of the above-renamed setup modules into a
newly-created device control library specific to the
new printer:

$ LIBRARY/TEXT/CREATE -
SYS$COMMON:[SYSLIB]HP4050_DEVCTL.TLB
LPS$$UNRECOGNIZED*

The above assumes the filename HP4050_DEVCTL.TLB,
alter as required.

o Set up your DCPS startup procedures to include a
search-list logical name such as:

$ DEFINE/SYSTEM/EXECUTIVE DCPS_HP4050_LIB -
SYS$LIBRARY:HP4050_DEVCTL.TLB, -
SYS$LIBRARY:DCPS$DEVCTL.TLB

o Supply DCPS_HP4050_LIB as the library parameter
in the queue startup for this printer, this
is the P3 parameter to the command procedure
SYS$STARTUP:DCPS$EXECUTION_QUEUE.COM.

o The HP4050_DEVCTL library may/will need to be
recreated and modules re-edited and replaced with
each DCPS upgrade, particularly if any modules
are updated in the original library. You will also
want to determine if the upgraded version of DCPS
directly supports the particular printer.

o To customize the processing of file extensions
within DCPS (to enable or disable graybar output,
for instance), use the information available in:

SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT_DEFAULT

to create your own site-specific:

SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT

Also see Section 5.15.

__________________________________________________________
5.35 Why do $GETDEV MOUNTCNT and SHOW DEVICE mount counts
differ?

MOUNTCNT returns the local mount count, while SHOW
DEVICE returns the cluster-wide mount count.

5-48







System Management Information



__________________________________________________________
5.36 What software is needed for Postscript printers?

The NorthLake PrintKit (www.nls.com) and DECprint
Supervisor (DCPS) are common choices for support of
Postscript printers on OpenVMS.

o http://www.nls.com/

o http://www.openvms.compaq.com/openvms/Print/print_
sw_prods.html

You may also require the installation of an IP
transport stack.

Also please see Section 15.2.2 and Section 15.2.3.

__________________________________________________________
5.37 How do I remove a PCSI-installed patch (ECO) kit?

You cannot PRODUCT REMOVE a PCSI patch (ECO) kit.

In order to remove an ECO kit, PCSI would have to have
copies of all the other version of the files from
all other patches and products that previously were
installed. This can clearly involve a large number of
files and a large archive of old file versions and a
substantial quantity of disk space. While removal is
clearly theoretically possible, it is not currently
implemented.

The following is the supported mechanism to remove a
PCSI patch kit.

1 Execute a PRODUCT SHOW PRODUCT product-name. /FULL
command. The "maintenance" column (132 column width)
shows the patches that have been installed. Keep a
copy of this listing.

2 Acquire kits for all of the maintenance kits listed.

3 Re-install the prior FULL version of the product.
This will remove all patch kits, setting to product
back to "original" condition.

4 Re-install all the patches in the list from step 1,
except those patches which you have determined you
do not want.

5-49







System Management Information




The above information also applies to PCSI PARTIAL
kits.

__________________________________________________________
5.38 SYSINIT-E, error mounting system device, status=0072832C

This message can arise during an OpenVMS system
bootstrap...

%MOUNT-F-DIFVOLMNT, different volume already mounted on this device

For details and further information, use the DCL
command:

$ HELP/MESSAGE /STATUS=%X72832C

__________________________________________________________
5.39 Resolving License PAK Problems?

The PAK release date, the PAK termination date, and
the PAK version are the usual culprits when a license
product authorization key (PAK) check failure occurs.

The PAK termination date is the date when the license
PAK will expire.

The PAK release date is the date of the most recent
release date of the software package that will be
permitted by the particular license PAK. (The release
date check is analogous to a product version check.)
The PAK version indicates the most recent product
version that is permitted by the license.

Having multiple license PAKs registered (and active)
can also cause problems if an expired PAK gets loaded.
You will want to DISABLE license PAKs you do not wish
to have loaded.

Other problems include a failure to register each PAK
in all license databases throughout a multiple-system-
disk cluster, with a consistent set of /INCLUDE lists
specified across each of the duplicated PAKs.

Additionally, you could have an invalid LMF$LICENSE
logical name defined. (If no LMF$LICENSE logical
name is defined, the standard license database named
SYS$SYSTEM:LMF$LICENSE.LDB will be used.)

5-50







System Management Information




You can display license failures by defining the
following logical name:

$ DEFINE/SYS/EXEC LMF$DISPLAY_OPCOM_MESSAGE TRUE

Enable your terminal as a license operator
(REPLY/ENABLE=LICENSE), define the LMF$DISPLAY_
OPCOM_MESSAGE logical name, and then try the failing
operation again. You should see one or more OPCOM
messages displayed.

If you have the LMF$DISPLAY_OPCOM_MESSAGE logical name
defined, you can (will?) see spurious license check
failures-various products will check for multiple
licenses, and a few products will check for PAKs that
either have not yet been or will not be issued. Once
you figure out which license has failed, you will want
to deassign this logical name.

Note

That there are no license check failures does not
indicate that the particular product or operation
or use is permissible per applicable licensing
agreements. Please consult the applicable
agreement(s) for licensing-related information
and requirements.

To register a license PAK on a DECwindows system
when DECwindows cannot start (because of an expired
license or other licensing problem), follow the steps
outlined in section Section 5.6 up through the use
of the AUTHORIZE command. In place of the AUTHORIZE
command, use the console to register the license PAKs.
Also see Section 12.4 for licensing and troubleshooting
information.

For information on licensing and on the numbers of
license units required for various products and various
platforms, the License Unit Requirements Table (LURT)
is available at:

o http://www.compaq.com/products/software/info/

5-51







System Management Information



__________________________________________________________
5.40 Changing the OpenVMS Version Number?

Fool your friends, baffle your enemies, run the OpenVMS
version of your choice!

On OpenVMS Alpha systems:

$ SET DEFAULT SYS$COMMON:[SYS$LDR]
$ RUN SYSVER
REPLACE V9.9
WRITE
$ EXIT

On OpenVMS VAX systems:

$ set default SYS$COMMON:[SYS$LDR]
$ copy SYS.EXE SYS.EXE_IN-CASE-I-FAIL
$ patch SYS.EXE
define sys$gq_version=800044b8
set mode ascii
!examine sys$gq_version
!examine sys$gq_version+4
deposit sys$gq_version = "V9.9"
deposit sys$gq_version+4 = " "
update
exit
$ Exit

Then reboot the system at your leisure.

__________________________________________________________
5.41 How to prevent users from choosing obvious passwords?

To prevent users from selecting obvious passwords on
OpenVMS, you will want to use the reserved password
(password screening) mechanism. Effectively, you merge
your list of reserved passwords into the existing
reserved words database maintained by OpenVMS. (You can
also then require all users to reset their passwords-
via the pre-expired password mechanism-thus forcing
users to select new passwords.) For details on the
password screening mechanism, of the reserved password
database (VMS$PASSWORD_DICTIONARY.DATA), and details
of how to merge your list of prohibited passwords
into the database, please see the associated chapter
in the OpenVMS security manual. For details of the

5-52







System Management Information




password expiration mechanism, see the AUTHORIZE
command qualifier /PWDEXPIRED.

You can also implement a site-specific password filter
with the information provided in the back of the
OpenVMS Programming Concepts manual. The password
filter permits you to establish particular and site-
specific password requirements. For details, please
see the system parameter LOAD_PWD_POLICY and the
programming concepts manual, and see the examples in
SYS$EXAMPLES:. (Examples and documentation on V7.3
and later reflect both platforms, the examples are
found only on OpenVMS VAX kits on earlier releases.
The capabilities have existed on both the VAX and Alpha
platforms for some time now.)

To verify current passwords, you can also use a
technique known to system crackers as the "dictionary
attack" - the mechanism that makes this attack somewhat
more difficult on OpenVMS is the hashing scheme used on
OpenVMS, and the file protections used for the SYSUAF
authorization database. Given a dictionary of words and
the unprotected contents of the SYSUAF file, a search
for obvious passwords can be performed. Interestingly,
a "dictionary attack" also has the unfortunate side-
effect of exposing the password to the user-while this
is clearly the goal of a system cracker, authorized
privileged and non-privileged system users should not
know nor have access to the (cleartext) passwords of
other users.

Accordingly, OpenVMS does not store the cleartest
password. Further, OpenVMS uses a password hashing
algorithm, not an encryption algorithm. This means that
storage of a cleartext password is deliberated avoided,
and the cleartext value is deliberately very difficult
to obtain. The hash is based on a Purdy Polynomial,
and the hash itself includes user-specific values in
addition to the password, values that make the results
of the password hash unique to each user.

Regardless of the use of a password hashing scheme, if
a copy of your password file should become available to
a system cracker, you will want to force all users to
use new passwords immediately.

5-53







System Management Information




If you should require a user to verify a password,
use the username, the user's salt value (this value
is acquired via $getuai) and the user's specified
cleartext password, and compare the resulting hashed
value (using a call to $hash_password) against the
saved hashed password value (this value also acquired
via $getqui). For reasons of security, avoid saving
a cleartext password value in any data files, and do
not maintain the cleartext password in memory longer
than required. (Use of sys$acm on V7.3-1 and later is
recommended.)

Kerberos authentication (client and server) is
available on OpenVMS V7.3 and later. Integration of
Kerberos support into various Compaq and into third-
party products is expected.

External authentication is available in V7.3-1
and later, with support for user-written external
authentication in V7.3-2 and later.

If you are simply looking for OpenVMS access and
the SYSTEM and all other privileged passwords are
forgotten or otherwise unavailable, please see section
Section 5.6 and/or the OpenVMS documentation set.

Also please see the NCSC C2 guidelines in the OpenVMS
security manual.

__________________________________________________________
5.42__Please_help_me_with_the OpenVMS BACKUP utility?

5.42.1 Why isn't BACKUP/SINCE=BACKUP working?

If you are seeing more files backed up than previously,
you are seeing the result of a change that was made to
ensure BACKUP can perform an incrementation restoration
of the files. In particular, if a directory file
modification date changes, all files underneath it are
included in the BACKUP, in order to permit incremental
restoration should a directory file get renamed.



5-54







System Management Information



_____________________________
5.42.1.1 Why has OpenVMS gone through the agony of this change?

When a directory is renamed, the modified date is
changed. When the restoration needs to restore the
directory and its contents, and the restoration should
not result in the restoration of the older directory
name when a series of incremental BACKUPs are restored.
Thus an incremental BACKUP operation needs to pick up
all of the changes.

Consider performing an incremental restoration, to
test the procedures. This testing was how OpenVMS
Engineering found out about the problem that was
latent with the old BACKUP selection scheme-the
old incremental BACKUP scheme would have missed
restoring any files under a renamed directory. Hence
the change to the selection mechanisms mentioned in
Section 5.42.1.

_____________________________
5.42.1.2 Can you get the old BACKUP behaviour back?

Yes, please see the /NOINCREMENTAL qualifier available
on recent OpenVMS versions (and ECO kits). Use of
this qualifier informs BACKUP that you are aware of
the limitations of the old BACKUP behaviour around
incremental disk restorations.

_____________________________
5.42.2 What can I do to improve BACKUP performance?

Use the documented commands in the manual for
performing incremental BACKUPs. Use the documented
incremental procedures. Don't try to use incremental
commands in a non-incremental context.

Also consider understanding and then using /NOALIAS,
which will likely be a bigger win than will anything to
do with the incremental BACKUPs, particularly on system
disks and any other disks with directory aliases.

See the OpenVMS documentation for additional details.


5-55







System Management Information




Ignoring hardware performance and process quotas, the
performance of BACKUP during a disk saveset creation is
typically limited by three factors:

1 Default extend size

The default behavior can have poor performance,
as the extend operation can involve extensive
additional processing and I/O operations. Consider
changing the default extend value on the volume, or
change the extend for the process:

$ set rms/extend=65000

2 Output IO size

The default IO size for writing an RMS sequential
file is 32 blocks, an increase from the value of
16 blocks used on earlier versions. Setting this to
the maximum of 127 can reduce the number of IOs by
almost a factor of 4:

$ set rms/block=127

Note that the performance might be better on some
controllers if the block count is a multiple of 4 -
e.g. 124

3 Synchronous writes to the saveset

Starting with OpenVMS V7.3, you can now persuade
RMS to turn on write-behind for sequential files
opened unshared. (Please see the V7.3 release notes
or more recent documentation for details.) Enabling
the write-behind operations involves setting the
dynamic system parameter RMS_SEQFILE_WBH to 1.
This parameter is dynamic, and it can be enabled
and disabled without a reboot, and changes in its
setting can and will directly effect the running
system. In order to get the full benefit from write-
behind operations, you also need to increase the
RMS local buffer count from the default of 2 to a
larger number. Raising the value to 10 is probably a
reasonable first estimate for this value.

5-56







System Management Information




$ run sys$system:sysman
PARAMETERS USE ACTIVE
PARAMETERS SET RMS_SEQFILE_WBH 1
PARAMETERS WRITE ACTIVE
EXIT
$ SET RMS/BUFFER=10/EXTEND=65000/BLOCK=127
$ BACKUP source-specification ddcu:[dir]saveset.bck/SAVE

_____________________________
5.42.3 Why is BACKUP not working as expected?

First, please take the time to review the BACKUP
documentation, and particularly the BACKUP command
examples. Then please download and install the most
current BACKUP eco kit. Finally, please please set the
process quotas per the System Management documentation.
These steps tend to resolve most problems seen.

BACKUP has a very complex interface, and there
are numerous command examples and extensive user
documentation available. For a simpler user interface
for BACKUP, please see the documentation for the
BACKUP$MANAGER tool.

As for recent BACKUP changes, oddities, bugs, etc:

o A change made in OpenVMS V6.2 WILL cause more files
to be included into a file-based BACKUP saveset
using /SINCE=BACKUP as all files underneath any
directory with a sufficiently recent (selected)
date will be included in the saveset. This change
was deliberate and intentional, and was mandated
by the need to provide a functional incremental
restoration.

Without the inclusion of these apparently-extra
files, an incremental saveset can NOT be reliably
restored.

o As part of the OpenVMS V6.2 change, the /SINCE
command-without the specification of the =BACKUP
keyword-selected more files than it should have.
This is a bug. This bug has been remedied in the
OpenVMS BACKUP source code and in some of (all of?)
the BACKUP ECO kits.

5-57







System Management Information




When working with BACKUP, you will want to:

o Ensure you have your process quotas set per the
recommendations in the OpenVMS System Management
documentation. Deviation from these values can and
will lead to access violation (ACCVIO) and other
untoward behaviour.

o Get the current BACKUP ECO kit and install it BEFORE
you attempt to troubleshoot any problems.

o Learn about the /NOINCREMENTAL (new) and /NOALIAS
(V6.2 and later) command qualifiers. The former
qualifier returns to the pre-V6.2 behaviour of the
/SINCE file selection mechanism, while the latter
(specified with /IMAGE) reduces the replication
of files on system disks and other disks with file
alias and directory alias entries. Both of these can
reduce the numbers of files that will be selected
and thus included into the saveset.

Learn what /IGNORE=INTERLOCK means. This command
probably does not provide what you think it does-
those file system interlocks that this command is
ignoring were implemented for a reason, after all.
Ignoring these interlocks can lead to missed data
and potentially to corruptions to individual files
stored within the output saveset, corruptions that
may or may not be reported. For details on this
BACKUP command qualifier, please see the Ask The
Wizard topic (2467).

When working with the BACKUP callable API:

o Build your applications with the most current BACKUP
API available. Changes made to the V7.1-2 and V7.2
API were incompatible with the V7.1 and V7.2-1 and
later APIs, and this incompatibility was repaired
via a BACKUP ECO kit. Do NOT build your application
with the versions of the BACKUP API that shipped
with V7.1-2 and V7.2, as these are incompatible with
the BACKUP API constants that were used on other
versions.

5-58







System Management Information



_____________________________
5.42.4 How do I fix a corrupt BACKUP saveset?

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

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

$ @RESET_BACKUP_SAVESET_FILE_ATTRIBUTES.COM

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

In various cases, a SET FILE/ATTRIBUTES command can
also be used. As the parameters of this command must be
varied as the target BACKUP saveset attributes vary,
this approach is not recommended.

Also see the "SITE VMS", /FDL, and various other file-
attributes options available in various FTP tools. (Not
all available FTP tools support any or all of these
options.)

Browser downloads (via FTP) and incorrect (binary or
ascii FTP transfer modes) are notorious for causing
RMS file corruptions and particularly BACKUP saveset
corruptions. You can sometimes help encourage the
browser to select the correct FTP transfer type code
(via RFC1738):

o ftp://host/urlname.ext;type=i ! request ftp
image/binary transfer

o ftp://host/urlname.ext;type=a ! request ftp
ascii/text transfer

5-59







System Management Information




You can also often configure the particular web browser
to choose the appropriate transfer mode by default,
based on the particular file extensions, using a
customization menu available in most web browsers. You
can select that the specific file extentions involved
use the FTP binary transfer mode, which will reduce the
number of corruptions seen.

_____________________________
5.42.5 How do I write a BACKUP saveset to a remote tape?

How to do this correctly was described at DECUS long
ago. On the OpenVMS host with the tape drive, create
the following SAVE-SET.FDL file:

RECORD
FORMAT fixed
SIZE 8192

Then create BACKUP_SERVER.COM:

$ !
$ ! BACKUP_SERVER.COM - provide remote tape service for BACKUP.
$ !
$ set noon
$ set rms/network=16
$ allocate mka500 tapedev
$ mount/nounload/over:id/block=8192/assist tapedev
$ convert/fdl=SAVE-SET sys$net tapedev:save-set.
$ dismount/unload tapedev
$ stop/id=0

On the node where you want to do the backup, use the
DCL command:

$ backup -
srcfilespec -
node"user pwd"::"task=backup_server"/block=8192/save

One area which does not function here is the volume
switch; multi-reel or multi-cartridge savesets. Since
the tape is being written through DECnet and RMS and
the magtape ACP, BACKUP won't see the media switch
and will split an XOR group across the reel boundary.
BACKUP might well be willing to read such a multi-
reel or multi-cartridge saveset (directly, not over

5-60







System Management Information




the net) as the XOR blocks are effectively ignored
until and unless needed for error recovery operations.
BACKUP likely will not be able to perform an XOR-based
recovery across reel or cartridge boundaries.

Unfortunately BACKUP can't read tapes over the network
because the RMS file attributes on a network task
access look wrong; the attributes reported include
variable length records.

_____________________________
5.42.6 How to perform a DoD security disk erasure?

Sometimes refered to as disk, tape, or media
declassification, as formatting, as pattern erasure,
or occasionally by the generic reference of data
remanence. Various references to the US Deparment of
Defence (DoD) or NCSC "Rainbow Books" documentation are
also seen in this context.

While this erasure task might initially appear quite
easy, basic characteristics of the storage media and
of the device error recovery and bad block handling
can make this effort far more difficult than it might
initially appear.

Obviously, data security and sensitivity, the costs
of exposure, applicable legal or administrative
requirements (DoD, HIPPA or otherwise), and the
intrinsic value of the data involved are all central
factors in this discussion and in the decision of the
appropriate resolution, as is the value of the storage
hardware involved.

With data of greater value or with data exposure
(sometimes far) more costly than the residual value
of the disk storage involved, the physical destruction
of the platters may well be the most expedient,
economical, and appropriate approach. The unintended
exposure of a bad block containing customer healthcare
data or of credit card numbers can quite be costly,
of course, both in terms of the direct loss, and the
longer-term and indirect costs of such exposures.

5-61







System Management Information




Other potential options include the Freeware RZDISK
package, the OpenVMS INITIALIZE/ERASE command (and
potentially in conjunction with the $erapat system
service) and OpenVMS Ask The Wizard (ATW) topics
including (841), (3926), (4286), (4598), and (7320).
For additional information on sys$erapat, see the
OpenVMS Programming Concepts manual and the OpenVMS
VAX examples module SYS$EXAMPLES:DOD_ERAPAT.MAR. Some
disk controllers and even a few disks contain support
for data erasure. Some DSSI Disk ISEs, for instance.

For the prevention of casual disk data exposures,
a generic INITIALIZE/ERASE operation is probably
sufficient. This is not completely reliable,
particularly if the data is valuable, or if legal,
administrative or contractual restrictions are
stringent-there may well be revectored blocks that
are not overwritten or not completely overwritten by
this erasure, as discussed above, and these blocks can
obviously contain at least part of most any data that
was stored on the disk - but this basic disk overwrite
operation is likely sufficient to prevent the typical
information disclosures.

You will want to consult with your site security
officer, your corporate security or legal office, with
HP Services or your prefered service organization,
or with a firm that specializes in erasure or data
declassification tasks. HP Services does traditionally
offer a secure disk declassification service.

_____________________________
5.42.7 How to enable telnet virtual terminals?

To enable virtual terminal support for telnet and
rlogin devices, add the following logical name
definitions into SYLOGICALS.COM:

$ DEFINE/SYSTEM/EXECUTIVE TCPIP$RLOGIN_VTA TRUE
$ DEFINE/SYSTEM/EXECUTIVE TCPIP$TELNET_VTA TRUE

See SYS$STARTUP:SYLOGICALS.TEMPLATE for details on the
typical contents of SYLOGICALS.COM.

5-62







System Management Information




In SYSTARTUP_VMS.COM, ensure that a command similar to
the following is invoked:

$ SYSMAN IO CONNECT VTA0/NOADAPTER/DRIVER=SYS$LOADABLE_IMAGES:SYS$TTDRIVER.EXE

In MODPARAMS.DAT, add the following line or (if already
present) mask the specified hexidecimal value into an
existing TTY_DEFCHAR2, and perform a subsequent AUTOGEN
with an eventual reboot:

TTY_DEFCHAR2 = %X20000

This value is TT2$M_DISCONNECT.

On older TCP/IP Services-versions prior to V5.0-you
will have to perform the following UCX command:

$ UCX
UCX> SET CONF COMM/REMOTE=VIRTUAL

_____________________________
5.42.7.1 Volume Shadowing MiniCopy vs MiniMerge?

MiniMerge support has been available for many years
with OpenVMS host-based volume shadowing, so long as
you had MSCP controllers (eg: HSC, HSJ, or HSD) which
supported the Volume Shadowing Assist known as "Write
History Logging".

If you are interested in mini-merge and similar
technologies, please see the Fibre Channel webpage
and the information available there:

o http://www.openvms.compaq.com/openvms/fibre/

Mini-Merge support was originally intended to be
controller-based and was expected with HSG80 series
storage controllers and was expected to require ACS 8.7
and OpenVMS Alpha V7.3-1.

Host-based Mini-Merge (HBMM) is now available for
specific OpenVMS releases via a shadowing ECO kit,
and is also present in OpenVMS V8.2 and later. HBMM
applies to the HSG80 series and-like host-based volume
shadowing-to most other (all other?) supported storage
devices.

5-63







System Management Information




The following sections describe both Mini-Copy and
Mini-Merge, and can provide a basis for discussions.

_____________________________
5.42.7.1.1 Mini-Copy?

A Shadowing Full Copy occurs when you add a disk to an
existing shadowset using a MOUNT command; the entire
contents of the disk are effectively copied to the
new member (using an algorithm that goes through in
127-block increments and reads one member, compares
with the target disk, and if the data differs, writes
the data to the target disk and loops back to the
read step, until the data is equal for that 127-
block section). (This is one of the reasons why the
traditional recommendation for adding new volumes to
a shadowset was to use a BACKUP/PHYSICAL copy of an
existing shadowset volume, simply because the reads
then usually matched and thus shadowing usually avoided
the need for the writes.)

If you warn OpenVMS ahead of time (at dismount time)
that you're planning to remove a disk from a shadowset
but re-add it later, OpenVMS will keep a bitmap
tracking what areas of the disk have been modified
while the disk was out of the shadowset, and when you
re-add it later with a MOUNT command OpenVMS only has
to update the areas of the returned disk that the bit-
map indicates are now out-of-date. OpenVMS does this
with a read source / write target algorithm, which is
much faster than the shenanigans the Full Copy does,
so even if all of the disk has changed, a Mini-Copy is
faster than a Full Copy.

_____________________________
5.42.7.1.2 Mini-Merge?

A Shadowing Merge is initiated when an OpenVMS node
in the cluster (which had a shadowset mounted) crashes
or otherwise leaves unexpectedly, without dismounting
the shadowset first. In this case, OpenVMS must ensure
that the data is identical, since Shadowing guarantees
that the data on the disks in a shadowset will be
identical. In a regular Merge operation, Shadowing uses

5-64







System Management Information




an algorithm similar to the Full Copy algorithm (except
that it can choose either of the members' contents
as the source data, since both are considered equally
valid), and scans the entire disk. Also, to make things
worse, for any read operations in the area ahead of
what has been merged, Shadowing will first merge the
area containing the read data, then allow the read to
occur.

A Merge can be very time-consuming and very I/O
intensive. If a node crashes, the surviving nodes can
query to determine what exact areas of the disk the
departed node was writing to just before the crash,
and thus Shadowing only needs to merge just those few
areas, so this tends to take seconds, as opposed to
potentially requiring many minutes or even hours for a
regular full Merge.

__________________________________________________________
5.43 Please explain DELETE/ERASE and File Locks?

DELETE/ERASE holds the file lock and also holds a
lock on the parent directory for the duration of the
erasure. This locking can obviously cause an access
conflict on either the file or on the directory-
it might well pay to rename files into a temporary
directory location before issuing the DELETE/ERASE,
particularly for large files and/or for systems with
multiple overwrite erase patterns in use; for any
systems where the DELETE/ERASE erasure operation will
take a while.

__________________________________________________________
5.44 Managing File Versions?

Some applications will automatically roll file
version numbers over, and some will require manual
intervention. Some will continue to operate without the
ability to update the version, and some will be unable
to continue. Some sites will specifically (attempt to)
create a file with a version of ;32767 to prevent the
creation of additional files, too.


5-65







System Management Information




To monitor and resolve file versions, you can use
commands including:

$ SET FILE/VERSION_LIMIT=n filename
$ SET DIRECTORY/VERSION_LIMIT=n [directory]

And you can also monitor file version numbers, and
can report problems with ever-increasing file versions
to the organization(s) supporting the application(s)
generating files with ever-increasing version numbers
for details on potential problems, and for any
recommendations on resetting the version numbers for
the particular product or package. If required, of
course.

The following pair of DCL commands-though obviously
subject to timing windows- can be used to rename
all the versions of a file back down to a contiguous
sequence of versions starting at 1:

$ RENAME file.typ;* RENAME.TMP;
$ RENAME RENAME.TMP;* file.typ;

The key to the success of this RENAME sequence is the
specification of (only) the trailing semicolon on the
second parameter of each of the RENAME commands.

You may also see the numbers of files reduced with
DELETE commands, with multiple directories, or with
PURGE commands such as the following examples:

$ PURGE/BEFORE="-2-"
$ PURGE/BEFORE="TODAY-2-"
$ PURGE/KEEP=10"

You can use DFU (Freeware) to quickly and efficiently
scan for all files with large(r) version numbers:

DFU SEARCH/VERSION=MINIMUM=nnnn

If you are creating or supporting an application,
selecting temporary or log file filenames from among
a set of filenames-selecting filenames based on time,
on process id, on the day of week, week number, or
month, on the f$unique lexical (V7.3-2 and later), etc-
is often useful, as this approach more easily permits
on-line adjustments to the highest file versions and
easily permits on-line version compression using

5-66







System Management Information




techniques shown above. With differing filenames,
you are less likely to encounter errors resulting
from files that are currently locked. You can also
detect the impending version number limit within the
application, and can clean up older versions and roll
the next file version creation to ;1 or such.

Also see Section 9.4.

__________________________________________________________
5.45 Host-based Volume Shadowing and RAID?

Host-based Volume Shadowing (HBVS) is Disk Mirroring is
RAID Level 1.

HBVS is capable of shadowing devices of different
geometries, of different block counts (with
dissimilar device shadowing; allowing for mixtures
of hardware) and-with dynamic volume expansion-of
growing volumes on the fly, and HBVS is capable of
shadowing/mirroring/raid-1 operations across cluster
configurations up to the full span-please see the
Cluster SPD for the current supported span; the
supported span limit is currently multiple hundreds
of kilometers-of a cluster. HBVS can be layered onto
controller (hardware) RAID, as well.

For information on host-based striping, please see the
StorageWorks RAID product.















5-67












_______________________________________________________

6 Information on Mail



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

if you see the %MAIL-W-NONEWMAIL, no new messages error
reported when MAIL indicates you have messages, then
the NEWMAIL count has become skewed from reality.

The count of new mail messages is kept separately
from your mail folder, and is stored in VMSMAIL_
PROFILE.DATA. It sometimes happens that this count
differs from what is stored in your mail folder. If
this arises, invoke MAIL and repeatedly enter the
READ/NEW command (or press the keypad hyphen key on
an LK-compatible keyboard) until you see no new mail
messages. Then enter the command one more time. This
will resynchronize the counters.

If you are operating in a cluster and find your mail
counts inconsistent across cluster members, your
customer is likely missing a definition of the VMSMAIL_
PROFILE logical name-and is probably also missing
definitions of other logical names associated with
other shared files-or has one or more inconsistent
definitions of this and likely of other logical names.

For details on the configuration data files that
must be shared within a cluster, please see
SYS$STARTUP:SYLOGICALS.TEMPLATE on V7.2 and later.

__________________________________________________________
6.2 How do I send or read attachments in VMS MAIL?

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



6-1







Information on Mail




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

o Install PINE, available commercially from Innosoft
or free from Andy Harper. With PINE you can both
send and receive MIME messages, if you have the
appropriate viewers available.

o http://www.process.com/

o http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/

o ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/

o If you are working from an X Windows display, you
can use the OpenVMS version of Netscape Navigator or
Mozilla. The mail download protocol chosen to access
the mail server from the Navigator or Mozilla mail
client can be POP or IMAP, with the former causing
messages to be downloaded while the latter permits
messages to be retained on the mail server. Most
folks prefer IMAP for this reason.

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

o http://saf.bio.caltech.edu/pub/software/openvms/mmail.com

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

MPACK/MUNPACK tools are also available on OpenVMS
Freeware V5.0.

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

6-2







Information on Mail



__________________________________________________________
6.3 How can I block SMTP mail relay spam?

Use the anti-spam capabilities present in the TCP/IP
Services V5.1 and later SMTP servers.

Use a firewall.

On earlier TCP/IP Services releases, some simple DCL
can reportedly prevent relay SMTP spam. Use the UCX
command SHOW SERVICE SMTP/FULL to find the directory
containing the UCX$SMTP_RECV_STARTUP.COM file, and
insert the following DCL:

$ !
$ ! Block spam.
$ !
$ MY_ADDRESS_LONG[0,32]=F$INTEGER(F$TRNLNM("SYS$REM_NODE")-"::")
$ MY_ADDRESS=F$FAO("!UB.!UB.!UB.!UB",F$CVUI(0,8,MY_ADDRESS_LONG),-
F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),-
F$CVUI(24,8,MY_ADDRESS_LONG))'"
$ MY_ADDRESS_REVERSE=F$FAO("!UB.!UB.!UB.!UB",-
F$CVUI(24,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),-
F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(0,8,MY_ADDRESS_LONG))'"
$ WRITE SYS$OUTPUT F$TIME()+" "+F$TRNLNM("SYS$REM_NODE")+MY_ADDRESS
$ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.INPUTS.ORBS.ORG
$ IF $STATUS.EQ.1
$ THEN
$ WRITE SYS$OUTPUT "SPAM from relay rejected"
$ EXIT
$ ENDIF
$ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.SPAMSOURCES.ORBS.ORG
$ IF $STATUS.EQ.1
$ THEN
$ WRITE SYS$OUTPUT "SPAM source relay rejected"
$ EXIT
$ ENDIF
$ !
$ ! Run receiver.
$ !
$ run sys$system:ucx$smtp_receiver.exe
$ goto exit



6-3












_______________________________________________________

7 Information on Utilities



__________________________________________________________
7.1 How do I play an audio CD on my workstation?

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

There's also SYS$EXAMPLES:CDROM_AUDIO.C and .EXE,
a non-Motif program, available on OpenVMS VAX, and
DECW$EXAMPLES:DECW$CDPLAYER.* on OpenVMS VAX and
OpenVMS Alpha.

The standard OpenVMS ATA (IDE) SYS$DQDRIVER device
driver does not support the necessary does not
support the necessary IO$_DIAGNOSE function code
that is required for access to audio CD media
commands (on OpenVMS versions prior to V7.3), but
an updated SYS$DQDRIVER device driver (source
code and all) with this capability and with the
source code of an updated DECW$CDPLAYER CD audio
player is available on the OpenVMS Freeware website
(www.hp.com/go/openvms/freeware/, look for the
directory /dqdriver/), and these updates are also
included on OpenVMS Freeware V5.0, and OpenVMS ECO
kits containing newer versions of the driver are
available. Freeware V6.0 has a version of DQDRIVER
that is newer than that of the OpenVMS Alpha V7.3-2

7-1







Information on Utilities




release, with additional capabilities and with improved
error diagnostics.

OpenVMS Alpha V7.3 and later include a version of
SYS$DQDRIVER with the necessary IO$_DIAGNOSE support.

__________________________________________________________
7.2 How do I access a Microsoft Windows floppy disk from
OpenVMS?

The HP Advanced Server (formerly known as PATHWORKS)
for OpenVMS product includes an unsupported and
undocumented utility called PCDISK, and this tool can
read and write various Microsoft MS-DOS and Microsoft
Windows FAT-format diskettes, and can usually access
FAT-format volumes written by other operating systems.

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

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

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

o http://www.madgoat.com/

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







Information on Utilities



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

Various of the more recent AlphaStation systems use
a different sound board (Microsoft Sound System) than
the earlier DEC 3000 series systems, and DECsound,
as supplied by DECwindows Motif, doesn't support
this board nor this interface. HP offers an optional
product, Multimedia Services (MMOV) for OpenVMS:

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

which provides a replacement for DECsound for this card
as well as many other features (an AVI and MPEG player,
video capture support, etc.)

Ensoniq sound support is also available.

__________________________________________________________
7.4 How do I read IBM EBCDIC tapes on OpenVMS?

Most (all?) IBM EBCDIC-based systems can read and write
ANSI-labeled ASCII magtapes. Fixed-length records
(MOUNT /FOREIGN /BLOCKSIZE=512 /RECORDSIZE=512, for
one-block records) and the DCL COPY command can be
used to transfer fixed-record-size text files out onto
tape media, or to read from fixed-record tape media.
Please consult the IBM documentation for the details
and command syntax needed when reading and writing ANSI
media using IBM JCL or other applicable IBM command
language.

There exists various freeware around (TAPECOPY, ETAPE,
TCOPY, MTEXCH) that can read and write EBCDIC tapes.
Visit the Encompasserve (DECUS) website software
archives search engine and search for "EBCDIC" for
details.

o http://www.encompassus.org

OpenVMS does not include an integrated tool for
EBCDIC tape processing, but does provide a character
conversion API useful within application programs.

7-3







Information on Utilities




One source for ETAPE is:

o http://www.ualr.edu/ftp/vms/ETAPE_SRC/

The OpenVMS Freeware V5.0 distribution included this
ETAPE tool, as well.

__________________________________________________________
7.5 How can I patch an OpenVMS Alpha image?

Using the OpenVMS Freeware tool ZAP:

o Look for the RMS_TOOLS directory on Freeware V5.0:
http://www.hp.com/go/openvms/freeware/

tell ZAP to read a block (bucket) of information
based on the virtual block number (VBN), using X for
hexadecimal. Dump yourself into the OpenVMS debugger
with R2 pointing into the buffer, EXAMINE/INSTRUCTION
as needed, alter the buffer as required, GO to get out
of the debugger and back into ZAP, and use the ZAP W
command to write the updated block.






















7-4












_______________________________________________________

8 DCL Details



__________________________________________________________
8.1 DCL Symbols and OpenVMS Logical Names?

DCL symbols are programming-style variables implemented
within the DCL command interpreter, and these are
used both for programming and to provide command
verb synonyms. Symbols are local to the command
interpreter operating within a particular process,
and are not shared. Lists of symbols can be copied into
subprocesses during a subprocess creation operation,
but these symbols are neither copied back into the
parent process when the subprocess exits, nor are
symbols ever shared across processes.

Symbols can be specified in and utilized in basic
mathematical operations, and bit-level operations are
available with the f$cvsi and f$cvui bit extraction
lexical functions, and with the square-brackets
notation for bit insertion (see Section 8.13 for an
example), and with bitwise operators. Symbols are of
two basic types, STRING and INTEGER, and these (or an
undefined symbol) can be differentiated with the f$type
lexical function. DCL symbols can also be used as a
mechanism to abbreviate a DCL command verb, or an easy
way to invoke a DCL command procedure.

Symbols can have local or global scope within a
process, and scope is affected by nested procedure
calls and DCL constructs such as CALL and SET SCOPE,
but such discussions are beyond the scope of this
section.

OpenVMS Logical names can store device names, device
and directory specifications, rooted or searchlist
specifications, and full filenames. Logical names can
also store arbitrary data, but there are no native
mathematical or bitwise operators available. Analogous
to DCL symbols, process-local logical names can be
copied into subprocesses during a subprocess creation

8-1







DCL Details




operation, but these process-local logical names are
neither copied back into the parent process when the
subprocess exits, nor are these logical names ever
shared.

Logical names are implemented deep within the OpenVMS
executive, and are organized into logical name tables.
Logical names can be stored in tables private to a
process( LNM$PROCESS, the process-local logical name
table) , that can be shared among processes in the same
job tree ( LNM$JOB, the job logical name table) or in
logical name tables that are shared among larger groups
of processes (eg: LNM$GROUP, the UIC group logical
name table and LNM$SYSTEM, the system-wide logical name
table). Logical names are centrally intended to provide
various I/O-related capabilities, including device
independence and configuration customization-correctly-
written application programs can use logical names to
avoid embedding specific device or device and directory
specifications, and to allow filename and configuration
customizations.

One of the most powerful capabilities of logical names
beyond the device independence provided involves the
defaulting capabilities; you can use RMS parsing
(directly, or with mechanisms such as the f$parse
lexical function) to provide a filename and a default
filename. To provide the mechanism that allows SYSUAF
to be located in an arbitrary position or even an
arbitrary filename, a construct similar to the
following is used:

$ UAF = F$PARSE("SYSUAF","SYS$SYSTEM:.DAT")

This design allows the logical name SYSUAF to be
optionally defined, and - when present-to specify the
particular location and name of the file. Portions
of the full file specification that are omitted are
retrieved using the default translation of SYS$SYSTEM:
and the file type of .DAT.

Logical names also have assigned processor modes, as
some translations must be trustworthy. In the example
above, only trusted and privileged system users should
be able to redirect the SYSUAF authorization database,

8-2







DCL Details




so any definition of the SYSUAF logical name must be
made in EXECUTIVE mode in a trusted logical name table.

As for common OpenVMS terminology, logical names are
"defined" and the associated processing is refered to
as "translation", while symbols are "equated" and the
associated processing is refered to as "substitution".
"Lexical functions" are processing routines built
into DCL, and typically prefixed with f$. Many of the
lexical functions are built upon correspondingly-named
system services, though not all.

Symbol substitution occurs only when the DCL command
interpreter is reading and processing the command
input; for information on DCL symbol substitution, see
Section 8.10. For program access, see the RTL routines
lib$set_symbol and lib$get_symbol.)

For information on logical name translation, please see
f$trnlnm lexical function and the DCL commands DEFINE
and DEASSIGN, as well as underlying system services
such as sys$trnlnm. Logical name translation occurs
when requested, or as the file or I/O operation is
started.

Please see the OpenVMS User's Guide in the OpenVMS
documentation set for a far more detailed description
of these constructs.

For related materials, please see Section 8.10 and
Section 8.11.

__________________________________________________________
8.2 How do I run a program with arguments?

The RUN command does not accept arguments. To pass
arguments to a program, you must use what is called
a "foreign command", and either an explicit command
as shown here, or an automatic foreign command. For
example:

$ unzip :== $disk:[dir]unzip.exe
$ unzip -?

8-3







DCL Details




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

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

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

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

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

See also Section 10.3.

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

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

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

8-4







DCL Details




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

For examples of how TCP/IP Services sets up its foreign
commands (which includes tools such as uuencode
and uudecode), please see the DCL command procedure
SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM.

Also see Section 8.12.

__________________________________________________________
8.3 How can I clear the screen in DCL?

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

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

$ CLS :== TYPE/PAGE NLA0:

__________________________________________________________
8.4 Using REPLY/LOG from DCL? Disabling Console OPCOMs?

Your terminal must be enabled as an operator terminal
before the REPLY/LOG command can be used, but a DCL
procedure (batch command file, system startup, etc)
does not have an associated terminal. To make this
work, use the following sequence to enable the OPA0:
console as the operator terminal, then the REPLY/LOG
command will be accepted:

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

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

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

8-5







DCL Details




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

__________________________________________________________
8.5 How do I generate a random number in DCL?

With V7.3-2 and later, f$unique can be useful
here. Alternatively, here is a pseudo-random number
generator, just do a GOSUB RAND and the global symbol
RANDOM will contain a randomly generated number. You
can feed the generator a ceiling value (__CEIL) or a
new seed (__SEED).

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

8-6







DCL Details




$
$ __SEED == __SEED * 69069 + 1
$
$ RANDOM == (__SEED.AND.%X3FFFFFFF)/(%X40000000/__CEIL)
$
$ RETURN

__________________________________________________________
8.6 What does the MCR command do?

The MCR is an artifact of RSX compatibility mode, the
operating system from which OpenVMS is descended. MCR
is the Monitor Console Routine, and the command is
intended to activate RSX compatibility mode utilities.
When used on OpenVMS, the command is most commonly
used to run the specified image and-because the tool
detects the image is not a compatibility-mode image-
it acts as a form of RUN command with the default
file specification of SYS$SYSTEM:.EXE. MCR passes any
(optional) command line arguments in a fashion similar
to a foreign command. In other words:

$ MCR FOO BAR

is equivalent to:

$ FOO :== $FOO
$ FOO BAR

MCR is not documented. Use of a foreign command or the
DCL$PATH mechanism is preferred. For details on this,
see Section 8.2.

__________________________________________________________
8.7 How do I change the OpenVMS system prompt?

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

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

If you wish to display the default directory for
instance, you will have to establish a tie between
the SET DEFAULT command and the SET PROMPT commands, as
there is no direct way to get the default directory as

8-7







DCL Details




the DCL prompt. You can easily acquire or create a set
of DCL command procedures that perform the SET DEFAULT
and SET PROMPT for you. These DCL command procedures
often use a command such as:

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

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

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

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

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

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

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

__________________________________________________________
8.8 Can I do DECnet task-to-task communication with DCL?

Yes, you can do this with DCL.

The OpenVMS DECnet documentation shows various simple
examples using the task object and the TYPE command to
trigger the execution of a DCL command procedure on a
remote node. An example DCL command procedure that is
rather more advanced than using the TYPE command as a
trigger is included in the Ask The Wizard area:

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

8-8


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 20:02:25 UTC
Permalink
Archive-name: dec-faq/vms/part6
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-06.TXT







DCL Details




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

__________________________________________________________
8.9 How can I get the width setting of a terminal?

$ width = f$getdvi(terminal,"DEVBUFSIZ")

__________________________________________________________
8.10 Why doesn't DCL symbol substitution work?

The DCL symbol substitution processing occurs only
at the DCL prompt, not within data and not within
files. If you wish to perform symbol substitution in
this environment, you typically write a small file
containing the command(s) and data to be invoked-
potentially only the data-and you then invoke the
created procedure or reference the specified data.

In this case, use of a file containing nolinemode
commands or other techniques might be useful-you will
want to ensure that the text editor you use does not
attempt to use screen mode or similar, as this is not
generally considered adventageous within a command
procedure.

Tools such as FTP have alternatives: COPY/FTP.

DCL symbol substitution occurs in two passes, using
the ampersand and the apostrophe. In most cases, only
the apostrophe is necessary. In a few cases-such as the
DCL PIPE command-you will may need to use the ampersand
to get the substitution to work. The following example
uses ampersand substitution to transfer the contents of
the header into a logical name:

$ PIPE CC/VERSION | (READ SYS$PIPE hdr ; DEFINE/JOB/NOLOG hdr &hdr )

8-9







DCL Details




A logical name (in the job logical name table; shared
by all processes in the current job) was used as DCL
symbols cannot be returned back out from a DCL PIPE or
other spawned subprocess.

For related materials, please see Section 8.1 and
Section 8.11.

__________________________________________________________
8.11 How can I substitute symbols in a PIPE?

Use DCL ampersand substitution, and not apostrophe
substitution.

$ pipe show system | search sys$input opcom | (read sys$input pid ;
pid=f$element(0," ",pid) ; define/system opcom_pid &pid)
$ show log opcom_pid
"OPCOM_PID" = "0000020B" (LNM$SYSTEM_TABLE)

__________________________________________________________
8.12 Use of RUN/DETACH, LOGINOUT, and logical names?

With a command to create a detached process such as:

$ RUN/DETACHED SYS$SYSTEM:LOGINOUT /INPUT=TEMP_INPUT.COM

If you are trying to use a logical name as the /INPUT,
/OUTPUT or /ERROR on a RUN/DETACH command, then
you must translate the logical name specifications
to physical references before passing them, or the
definitions must reside in a logical name table that is
visible to the newly-created process.

Also note that LOGINOUT only creates the SYS$LOGIN,
SYS$LOGIN_DEVICE, and SYS$SCRATCH logical names if it
is processing a login that is based on the contents of
a SYSUAF record-without access to the associated SYSUAF
record, this information is not available to LOGINOUT.
(If you want to see these particular logical names
created, then please specify the /AUTHORIZE qualifier
on the RUN/DETACHED command.)

If you do not specify LOGINOUT as the image, then
there is no easy way to get these logical names. Also,
any logical names that are used in the target image
file specification must also be in a logical name
table accessible (by default) by the newly-created

8-10







DCL Details




detached process. Shared tables include the group (if
the process is in the same UIC group) and the system
table. (If the target process is to be in another UIC
group, a suitablly privileged user or application can
create the necessary logical name(s) directly in the
other group logical name table.)

When in doubt, create a short DCL command file as
input, and use a SHOW LOGICAL and similar commands
to examine the context. (And use physical device and
directory references on the RUN/DETACH of the LOGINOUT
image, when specifying this command file as /INPUT.)
Also remember to check both security auditing and
system accounting when troubleshooting problems with
the RUN/DETACH.

Also see Section 8.2.

__________________________________________________________
8.13 How to use escape and control characters in DCL?

To write a message and then the bell character, use:

$ bell[0,7] = 7
$ write sys$output "Hello''bell'"

To write blinking text, use:

$ esc[0,7] = 27
$ text = "Blinking Text"
$ write sys$output "''esc'[5m''text'''esc'[m"

Also see sections Section 11.6, Section 12.1.











8-11












_______________________________________________________

9 Files



__________________________________________________________
9.1 How can I undelete a file?

OpenVMS doesn't have an "undelete" function. However,
if you are quick to write-protect the disk or if you
can guarantee that no new files get created or existing
files extended, your data is still on the disk and
it may be possible to retrieve it. The FLORIAN tool
available from various websites can potentially recover
the file, see question Section 13.1 for pointers. Other
alternatives here include the DFU tool, available on
the OpenVMS Freeware CD-ROM distribution.

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

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

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

__________________________________________________________
9.2 Why does SHOW QUOTA give a different answer than DIR/SIZE?

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

9-1







Files




$ DIRECTORY/SIZE=ALL/GRAND [username...]
Grand total of D1 directories, F1 files, B1/B2 blocks.
$ DIRECTORY/SIZZ=ALL/GRAND [-]username.DIR
Grand total of 1 directory, 1 file, B3/B4 blocks.
$ SHOW QUOTA
User [username] has B5 blocks used, B6 available
of B7 authorized and permitted overdraft of B8 blocks on disk

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

B5=B2+B4+F1+1

If the diskquota has drifted out of synchronization,
then the system-manager can force a quota rebuild-due
to various factors, the quota file can potentially
drift from the actual use over time, and a periodic
rebuild can be performed at appropriate intervals.

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

__________________________________________________________
9.3 How do I make sure that my data is safely written to disk?

If your application must absolutely guarantee that
data is available, no matter what, there's really no
substitute for RMS Journaling and host- or controller-
based shadowing. However, you can achieve a good degree
of data integrity by issuing a SYS$FLUSH RMS call at
appropriate times (if you're using RMS, that is.) If
you're using a high-level language's I/O system, check

9-2







Files




that language's documentation to see if you can access
the RMS control blocks for the open file. In C you can
use fflush followed by fsync.

For details on disk bad block handling on MSCP and
on SCSI disk devices, please see Ask The Wizard (ATW)
topic (6926).

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

__________________________________________________________
9.4 What are the limits on file specifications and directories?

A file specification has an aggregate maximum size of
255 characters (NAM$C_MAXRSS) at present, assuming
ODS-2 limits and traditional DCL process parsing
settings (SET PROCESS/PARSE_STYLE). The node and
device specification may be up to 255 characters each-
file name and file types may be up to 39 characters
each. File versions are from 1 through 32767, though
0 (latest version), -0 (oldest version) and -n (n'th
previous version) can be used in most contexts. A file
specification may not have more than 8 directories and
subdirectories or-with a rooted directory, two sets of
eight are possible-and while it is possible to create
subdirectories of greater depth, accessing them under
ODS-2 is somewhat problematic in most cases, and thus
should be avoided.

Under ODS-5 with extended DCL parsing (SET
PROCESS/PARSE_STYLE), the filename length limits
are up around 4,095 (NAML$C_MAXRSS) characters, and
directories can be around 255 levels deep.

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

9-3







Files




FILESPEC. For further information, see the OpenVMS
Guide to File Applications.

Performance of larger directory files improves
(greatly) with OpenVMS V7.2 and later-operations on
directory files of 128 blocks and larger were rather
slower on earlier OpenVMS releases due to the smaller
size of the directory cache and due to the directory
I/O processing logic.

For fastest directory deletions, consider a reverse
deletion-delete from the last file in the directory to
the first. This reversal speeds the deletion operation
by avoiding unnecessary directory I/O operations as
the files are deleted. Tools such as the Freeware DFU
can be used for this purpose, as can various available
reverse-DELETE DCL command procedures.

Also see Section 5.44.

__________________________________________________________
9.5 What is the largest disk volume size OpenVMS can access?

One Terabyte (TB; 2**31 blocks of 2**9 bytes;
0x07FFFFFFF blocks). 255 volumes in a volume set.
The largest contiguous allocation possible for any
particular file is 0x03FFFFFFF blocks.

Prior to the release of V6.0, the OpenVMS file system
was limited to disk volumes of 8.38 GB (2**24 blocks,
16777216 blocks) or less.

On some systems, there are restrictions in the console
program that limit the size of the OpenVMS system disk.
Note that data disks are not affected by console
program limits. For example, all members of the
VAXstation 3100 series are limited to a system disk
to 1.073 GB or less due to the console, though larger
data disks are possible. This limit due to the SCSI
drivers used by and built into the console ROM to read
the OpenVMS bootstrap files, and these same drivers are
also used by OpenVMS to write the system crashdump.


9-4







Files




There are numerous discussions of this VAXstation
3100 in the comp.os.vms newsgroup archives. Please
use Google newsgroup search to search the archives for
further details, for discussions of the workarounds,
and for details of the potential for a simple failed
bootstrap and particularly for discussions of the
potential for severe system disk corruptions on
crashes.

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

For ATA (IDE) disk drives:

o Versions of SYS$DQDRIVER *BEFORE* X-15 topped out at
8.455 GB.

Fixed drivers (equal or greater than "X-15") were
shipped in:

o OpenVMS Alpha V7.2-1, and later

o V7.2 UPDATE V1.0 ECO, and later

o V7.1-2 UPDATE V1.0 ECO, and later

o V7.1-2 UPDATE V3.0 ECO, and later

o The newer SYS$DQDRIVER driver operates to disks up
to 33 GB without (known) problems, and effectively
works with rather larger disks (up to circa 137
GB) but is known to report an incorrect number of
"cylinders" with disks above 33 GB.

9-5







Files




See Section 14.4.4.2 for additional ATA SYS$DQDRIVER
information.

Be aware that a known restriction in certain older
versions of the Alpha SRM Console prevents booting most
ATA (IDE) drives larger than 8.455 GB, depending on
exactly where the various files are located on the
volume. Updated SRM consoles for systems with SRM
and ATA (IDE) drive support are (will be) available.
(OpenVMS Engineering has successfully bootstrapped
20GB ATA (IDE) disks using the appropriate SRM console
version.)

Note

All disk-related listed in this section are
stated in units of "disk (base ten) gigabytes"
(1 GB = 10^9 bytes) and not in units of "software
(base two) gigabytes" (1 GB = 2^30; 1 GB =
1073741824.) bytes. Please see Section 14.25 for
details of the nomenclature and of the units.

Be aware that larger disks that are using an extension
of SCSI-2- disks that are using a mode page field
that the SCSI-2 specifications normally reserved for
tape devices-to permit a larger disk volume size will
require a SCSI driver update for OpenVMS, and this
change is part of V7.1-2 and later, and also part of
ALPSCSI07_062 and later. (These larger disks disks
will typically report a DRVERR, or will see the volume
size "rounded down".) SCSI disks larger than 16777216
blocks cira 8.455 GB (base ten); 8GB (base two) require
this ECO, or require the use of OpenVMS Alpha V7.1-2 or
later.

Applications written in C can be limited to file
sizes of two gigabytes and less, as a result of the
use of longword values within C file operations, and
specifically off_t. This restriction is lifted in
OpenVMS V7.3-1 and later, and with the application of
the C ECO kits available for specific earlier releases.
The use of a longword for off_t restricts applications
using native C I/O to file sizes of two gigabytes or
less, or these applications must use native RMS or XQP
calls for specific operations.

9-6







Files




Also see Section 14.13, Section 14.25.

__________________________________________________________
9.6 What is the maximum file size, and the RMS record size
limit?

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

"Use a volume set to provide a large, homogeneous
public file space. You must use a volume set to create
files that are larger than a single physical disk
volume. (The file system attempts to balance the load
on the volume sets, for example, by creating new files
on the volume that is the least full at the time.)"

"You can add volumes to an existing volume set at any
time. The maximum number of volumes in a volume set is
255."

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

Also see Section 2.17.1, Section 14.25.

__________________________________________________________
9.7 How do I write CD-Recordable or DVD media on OpenVMS?

How to create CD-R, CD-RW, DVD-R, DVD+R, DVD-RW, or
DVD+RW media on OpenVMS?

For information on CD and DVD optical media drives on
OpenVMS, please see Section 14.29. For information on
the creation of OpenVMS media and of OpenVMS bootable
media, a full step-by-step sequence is documented in
the OpenVMS Ask The Wizard topic (9820). An abbreviated
version of the sequence is included here.

9-7







Files




Recording (writing) of CD and DVD optical media
requires a recording or media mastering application
or tool, and both commercial and non-commercial
options are available. Please see CDRECORD (both non-
DVD and DVD versions are available, and at least one
commercial version is available), and also see DVDwrite
(commercial) or DVDRECORD (open source). A port of
CDRECORD is present in OpenVMS V7.3-1 and later.

o Acquire a comparatively recent SCSI-based or ATAPI
(IDE) CD-R or DVD-R/RW or DVD+R/RW drive. Older
drives can be very problematic, while newer drives
are readily available, and are cheap and very fast,
and tend to have better compliance with current
standards. Use of older drives is not recommended.
Related device requirements information is available
in Section 14.29.

o Get the most recent LDDRIVER available on the
Freeware, or activate and use the LD version latent
in OpenVMS Alpha V7.3-1 and V7.3-2 by loading the LD
command verb (look within SYS$MANAGER:CDRECORD.COM
for related details), or use the integrated LD found
in OpenVMS V8.2 and later.

In particular, you will want to use the current ECO
kit for LDDRIVER (as available), or the version of
LD distributed with V8.2. The OpenVMS V8.2 version
of LDDRIVER was also kitted on Freeware V7.0 as
LD071.

If you are not running OpenVMS V8.2, the specified
LD071 kit or later, or a current ECO with the
update, you will want to upgrade, or you will want
to use the DCL command:

SET FILE/CACHING_ATTRIBUTES=NO_CACHING

on the LD partition file. This is a workaround for an
incompatibility found between older LDDRIVER versions and the
XFC caching support.

As an alternative to LD and LDDRIVER, you can
acquire and load the VD64 package from the Freeware.

o Get CDRECORD or CDWRITE or other similar recording
tool.

9-8







Files




CDRECORD (part of CDRTOOLS), CDWRITE, and
DVDRECORD (part of DVDRTOOLS) packages
(DVDRECORD is a fork of CDRECORD) are freely
available, and versions of CDRECORD are
available on the Freeware V6.0 distribution. (
http://www.hp.com/go/openvms/freeware/ ) An OpenVMS
port of the cmcd CD audio ripper is also reportedly
available. http://www.amb.org/xmcd/

Versions of CDRECORD (non-DVD) are latent in OpenVMS
Alpha V7.3-1 and later. Commercial versions of
CDDRECORD-with DVD capabilities-are also available
for various platforms, and particularly a variant of
CDRECORD known as CDRECORD-ProDVD.

Beware the tool chosen: some versions and
configurations of CDRECORD can record DVD media,
as can the DVDRECORD package, as can the commercial
DVDwrite package. Many versions of CDRECORD cannot
record DVD media, including the version of CDRECORD
latent within OpenVMS and the version found on
Freeware V6.0; these versions cannot record DVD
media.

o Build the contents of the disk on the LD or VD64
device partition.

o Use the chosen recording tool to record the contents
of the LD or VD64 partition directly onto the
optical medium.

Alternatively, consider the following command on
OpenVMS Alpha V7.3-1 and later:

@SYS$MANAGER:CDRECORD.COM HELP

While folks have had success getting PC-based CD-R/RW
or DVD-R/RW or DVD+R/RW tools to work with OpenVMS
partitions, it is far easier and more reliable to use
the OpenVMS-based versions of these tools and directly-
attached devices. If you use a Windows-based tool, you
will want to specifically select its raw mode, image
mode, or block-copy mode, depending on the terminology
within the particular tool. The transfer mode and
selections is variously refered to as a disk-at-once

9-9







Files




(DAO) 2048-byte block ISO Mode 1 raw/image/block data
disk recording mode.

More details: Creation of CD recordable or DVD
recordable media under OpenVMS typically involves
one of two approaches: the use of the optional CD-R
(`Scribe') capabilities available for the InfoServer or
other "offline" hardware packages (PC-based packages
will be included in this), or the use of a host-based
package such as the CDRECORD or CDWRITE13_VMS or other
utilities, including OpenVMS ports of common open-
source tools made available by Dr. Eberhard Heuser-
Hofmann and various others. Commercial packages and
options are also available. Dr. Heuser-Hofmann has
DVDwrite , a commercial package which can record DVD
media. ( http://home.tiscali.de/dvd4openvms )

OpenVMS can read ODS-2, ODS-5, and ISO-9660 format
CD-ROMs. (If you are very careful, you can create a
dual-format CD-R; a CD-R with both ODS-2 and ISO-9660
or both ODS-5 and ISO-9660 or both.)

InfoServer hardware configurations are no longer
available from HP, but may potentially be acquired
through other means; as used equipment. InfoServer
support also has very specific CD-R recording device
prerequisites, and these recording devices are no
longer generally available.

Packages related to the use of DVD archiving are also
available, see the multi-volume capabilities of the
DVDarchive/restore Freeware.

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

Additional information is available at the following
sites:

o http://www.djesys.com/vms/cdrom.html

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

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

o http://www.tmesis.com/CDrom/

9-10







Files




o http://www.tditx.com/~odsiso/

U.S. Design offers a package that includes the tools
necessary to create a CD or DVD-R with either ISO-9660
or ODS-2 format, for standalone CD-R/RW, DVD-R, or
DVD+R/RW drives, for recent OpenVMS versions. Details
are available at:

o http://www.usdesign.com/

Also see Section 9.7.2 for details on access to
recorded media on older CD-ROM drives.

_____________________________
9.7.1 CD and DVD notation, terminology?

CD-ROM is pre-recorded Compact Disk media, and is
the original and oldest CD format. The original CD
media was physically stamped, a recording process that
is now largely reserved to the highest-volume media
reproduction requirements.

CD-R is CD Recordable, a write-once storage medium
that can be read by all but the oldest of CD drives;
a format which can be read and often even recorded by
most CD-RW drives.

CD-RW is CD ReWritable, a format which is readable by
many CD drives and by most CD-R drives, and with media
that can be recorded and re-recorded by CD-RW drives.

CD media recording speeds are listed as multiples of
150 kilobytes per second, so a 10X drive records at
1500 kilobytes (1.5 megabytes) per second. 600 MB (70
minutes) and 700 MB (80 minutes) recording capacities
are both widely available. The minutes designation is
derived from the traditional audio-format recording
capacity of the particular media.

DVD-R/RW is the older of two common Digital Versatile
Disk recording formats, and the DVD-R Recordable or
DVD-RW ReWritable media can be read by many DVD drives.
As with CD-R formats in older CD drives, older DVD
and particularly first-generation DVD players may have
problems reading this media format.

9-11







Files




DVD+R/RW is the newer of the two common Digital
Versatile Disk recording formats, and the DVD+R
Recordable or DVD+RW ReWritable media can be read
by many DVD drives. Akin to DVD-R/RW media, older
and particularly first-generation DVD drives can have
problems reading this media format.

The DVD Plus-series drives and media tend to record
faster than Minus drives, as (as of this writing)
the Plus (+) drives do not require an initial media
formatting pass and the Minus (-) drives do. While the
appropriate Plus (+) or Minus (-) DVD raw media must
be chosen for the particular DVD recorder (and DVD
recording drives that are compatible with and capable
of using both Plus and Minus media are available),
the resulting recorded media is generally readable
(playable) in all recent DVD drives and DVD players,
regardless of type. (Compatibility is best within the
same media-series devices of course, but be certain
to verify compatibility across devices regardless of
the particular device or particular recording media
chosen.)

Presently Plus (+) media is slightly more expensive
than Minus (-), but with the prices of all CD and
all DVD media continuing to consistently fall, the
differences in DVD media costs are becoming irrelevent
for all but the production of huge volumes of DVD
media.

The rated DVD recording speeds are in multiples of 1353
kilobytes per second, thus a DVD 1X drive is roughly
equivalent to a CD 9X drive in I/O requirements and
transfer speed.

DVD drive recording speed can and does vary. DVD disk
drive recording speed is limited by the rated recording
speed of the media used, so the slower (and cheaper)
DVD media will not record any more quickly in a faster
drive. A 2.4X DVD drive loaded with 1X media will
record at 1X.



9-12







Files



_____________________________
9.7.2 Use of RRD42 and other older (embossed-media) CD drives?

The RRD42 series SCSI CD-ROM drive is sufficiently old
that it can have problems processing CD-R and CD-RW
media. Other very old CD drives can have equivalent
media compatibility problems when attempting to read
(much) newer CD media and newer CD media technologies.
These older CD drives are generally intended for use
with the so-called embossed media, rather than with
non-embossed recorded (recordable) media now in common
circulation.

Please consider using a slightly-less-ancient CD-ROM
or CD-R or CD-RW drive when working with non-embossed
recorded CD media.

To paraphrase one knowledgable-though deliberately
nameless-storage engineer, "The RRD42 drive is just
past the drooling idiot stage".

_____________________________
9.7.3 Creating Bootable OpenVMS I64 CD or DVD Media?
SYS$SETBOOT?

If you are creating a bootable CD or DVD media for
use with OpenVMS I64, you will want to specify the
SYS$SETBOOT block size of 2048, and you will also want
a disk cluster factor that is a multiple of four via
INITIALIZE/CLUSTER=4 (or 8, or...), or you will want
to ensure that SYS$EFI.SYS and SYS$DIAGNOSTICS.SYS
are aligned to a multiple of four blocks; to a 2048
byte boundary. This alignment and this blocking is
only necessary for OpenVMS I64, and only when creating
optical media OpenVMS I64 for bootstraps.

The default 512-byte block setting used by SYS$SETBOOT
is the correct and expected value for traditional disk
bootstraps on OpenVMS I64 systems.

Once the boot files are loaded, OpenVMS I64 operates
with 512-byte blocks; as is the case with ATAPI disks
on OpenVMS Alpha, all application code will only see
512-byte blocks on optical media on OpenVMS I64.

9-13







Files




OpenVMS I64 V8.2 and later are expected to
have a version of SYS$SETBOOT that will flag a
misaligned SYS$EFI.SYS and (if present) a misaligned
SYS$DIAGNOSTICS.SYS file.

For information on SYS$SETBOOT and the SET BOOTBLOCK
command, please see Section 14.3.9 and see the
OpenVMS documentation. The purpose and intent of the
SYS$SETBOOT.EXE image and the SET BOOTBLOCK command
is analogous to the WRITEBOOT.EXE image on existing
OpenVMS VAX and OpenVMS Alpha systems.

For information on CD and DVD optical media drives
on OpenVMS, please see Section 14.29. For additional
related information on creating bootable OpenVMS media,
please see Ask The Wizard topic (9820).

__________________________________________________________
9.8 What I/O transfer size limits exist in OpenVMS?

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

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

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


9-14







Files




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

Also see Section 9.4, Section 9.5.

__________________________________________________________
9.9 Can I use ODBC to connect to OpenVMS database files?

Yes, you can use various available third-party packages
that permit remote ODBC clients to access RMS files and
various commercial databases via the network.

For RMS, consider acquiring one of the packages
available from EasySoft, Attunity Connect (formerly
known as ISG Navigator), Oracle (DB Integrator),
SolutionsIQ, OpenLink Software (OpenLink Universal
Data Access), and Synergex.

The unixODBC package available at
http://www.unixodbc.org has variously been found to
operate on OpenVMS, as well.

For specific commercial databases (other than RMS,
of course), contact the database vendor directly for
assistance.

__________________________________________________________
9.10 If my disks are shown as VIOC Compatible, am I using XFC?

Yes, you are using XFC caching.

Disks that are using XFC caching use communication and
coordination protocols that are compatible with the
older VIOC caching implementation. With the initial
implementation of XFC on OpenVMS, you can use the
command SHOW MEMORY/CACHE to see no disks reported
in full XFC mode; all disks shown will be listed in
"VIOC Compatable Mode".

If you have the OpenVMS system parameter VCC_FLAGS set
to 2 and are using OpenVMS Alpha V7.3-1 or later, or
are using OpenVMS Alpha V7.3 with the VMS73_XFC V2.0
ECO kit or later or with the UPDATE kits, you are using
XFC.

9-15







Files




Another confusion: the XFC product version is and
remains V1.0 in all released configurations, please do
not confuse the internal XFC product version (displayed
by various commands) with the version number associated
with the various ECO kit(s). XFC V1.0 does not permit
volumes to enter full XFC caching, as displayed by the
"Vols in Full XFC mode" portion of the DCL command SHOW
MEMORY/CACHE output.

__________________________________________________________
9.11 RMS Sequential Files and Platform Portability?

When working with mixed platforms, you will want to
become familiar with the various RMS sequential record
formats, including Variable with Fixed Control (VFC),
stream, stream LF, and stream CR, among other record
formats.

Switching formats uses CONVERT/FDL or SET
FILE/ATTRIBUTES. The former converts files, the
latter resets attributes. Text editors tend to select
attributes when creating new files that may or may
not meet requirements. If the default attributes do
not match your requirements, create a stub file, SET
FILE/ATTR, then edit the existing file. (Most editors
will preserve attributes on an existing file.)

When working with Windows, stream is usually the best
choice for sequential file operations. Stream LF
is most commonly used with UNIX and C applications.
Windows and UNIX tend not to be able to directly read
files of "unexpected" sequential RMS record formats.

VFC is a common OpenVMS format, encoding the record
length into the record. It is this extra data that can
cause corruption-like problems when viewed without RMS;
either directly via $qio or via the file system API on
other operating system platforms. You will want to look
at the low-level record formats, and at the RMS and
the Files and Applications documentation in the OpenVMS
manuals.



9-16







Files




If transfering through other platforms, use of a
current version of Zip (with the "-Vv" or "-V" option)
and unzip, or use of a BACKUP saveset will contain
and maintain the RMS file and record attributes. (For
BACKUP and its own attributes requirements, see the
restoration tool.)






































9-17












_______________________________________________________

10 OpenVMS Programming Information



__________________________________________________________
10.1 Modular Programming, Facility Prefixes and Symbol Naming?

Please first review the OpenVMS Programming Concepts
Manual and the Guide to Modular Programming manuals.
Both are available within the OpenVMS documentation
set, and provide details of the expected norms for
OpenVMS programs.

o Learn about the facility prefix, and use a the
appropriate prefix uniformly throughout all external
symbols, all logical names, and all files located
in shared directories. The prefix and the use of
the dollar sign (<$>) and the underscore (<_>) help
avoid collisions with other products. Use of the
dollar sign is reserved to registered products.

o Please consider use of tools such as the Freeware
SDL package, and the GNM package. These permit you
to generate include files and message documentation
akin to that of OpenVMS, providing users of your
product with a familiar environment.

o For product installations, consider use of the PCSI
installation utility, and provide a product-specific
configuration DCL command procedure (usually
SYS$MANAGER:prefix$CONFIG.COM) if configuration
is required.

o The product startup file is usually named
SYS$STARTUP:prefix$STARTUP.COM, and the
shutdown file (if needed) is usually
SYS$STARTUP:prefix$SHUTDOWN.COM.

OpenVMS provides a registry for facility prefixes
and for MESSAGE message compiler codes. To request
a prefix and a message facility code for a product
you distributinng to other customer sites, send your

10-1







OpenVMS Programming Information




request in a mail message addressed to product[-at-
sign-]hylndr.sqp.zko.dec.com, requesting the submission
form and details of the registration process.

Note

Please do not request facility prefixes for
products that local to your business, your
site, or your system. Facility prefixes and
message codes and the facility registration
process are intended solely for HP products
and Partner Products (and yes, even OpenVMS
Freeware packages) that will be distributed
across multiple OpenVMS customer sites.

For a list of common coding bugs, please see the
remainder of this section of the FAQ and specifically
Section 10.22, please also see the Ask The Wizard topic
(1661), and for information on debugging an OpenVMS
application, please see topic (7552).

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

__________________________________________________________
10.2 Can I have a source code example of calling...?

Please use the available SEARCH command on OpenVMS, and
please remember to search the available resources,
including the support databases and the newsgroup
archives. Please also realize that most OpenVMS system
services use similar calling sequences, meaning that an
example of calling sys$getjpi can be used as an example
for sys$getsyi and sys$getdvi. Students: please do not
expect folks to write your homework for you. As for
search resources:

o SEARCH SYS$EXAMPLES:*.* target

o SEARCH TCPIP$EXAMPLES:*.* target

o http://askq.compaq.com/

o http://www.hp.com/go/openvms/freeware/

10-2







OpenVMS Programming Information




o http://www.google.com/

OpenVMS programming documentation, including the
numerous example programs found in recent versions of
the OpenVMS Programming Concepts manual, is available:

o http://www.hp.com/go/openvms/doc/

As for details of argument passing, most OpenVMS system
services and RTL routines pass string arguments by
descriptor. Languages which support native string
data types create descriptors automatically; those
which do not (eg., C) require that you set them up
explicitly. For further details on using descriptors
and particularly for using descriptors from C, please
see Section 10.13.

There is extensive information available on how to call
OpenVMS system services and OpenVMS Run-Time Library
routines, including examples in numerous languages.
Among the best available references are:

o Your language's User Manual

o OpenVMS Programming Environment Manual

o OpenVMS Programming Concepts Manual

o OpenVMS Programming Interfaces: Calling a System
Routine

o OpenVMS Calling Standard

In addition, you can also locate answers, source
code examples and related discussions in the Natural
Language Search Assistant (AskQ) database:

o http://askq.compaq.com/ (Also see Section 1.2.1.1.)

In this area, you will find the source code of
programming examples for calls to many of the
OpenVMS system services (and from various programming
languages), including calls to core services
sys$getjpi[w], sys$getsyi[w] and sys$qio[w], as well
as source code examples for calls to many other system
services and run-time library routines, and examples of

10-3







OpenVMS Programming Information




one of the more difficult calling interfaces found on
OpenVMS systems, that of the smg$create_menu routine.

Arne Vajhøj has put together a collection of OpenVMS
example programs. It can be found at:

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

Additional information and examples for OpenVMS are
available via:

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8. and
via:

o http://www.hp.com/go/openvms/freeware/

__________________________________________________________
10.3 How do I get the arguments from the command line?

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

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

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

See also Section 8.2.

10-4







OpenVMS Programming Information



__________________________________________________________
10.4 How do I get a formatted error message in a variable?

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

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

LINK/SYSEXE is the OpenVMS Alpha equivalent of linking
against SYS.STB. This links against the base image:
SYS$BASE_IMAGE.EXE

Also see Section 10.11, particularly for pointers to
the details on shareable images and shareable image
creation, and see Section 10.22 for details of inner-
mode floating point requirements, of data alignment,
requirements for use of /NOSYSLIB, and other related
inner-mode programming details, and see Section 10.11
for image-related information.

__________________________________________________________
10.6 How do I do a SET DEFAULT from inside a program?

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

__________________________________________________________
10.7 How do I turn my Fortran COMMON into a shareable image on
Alpha?

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

10-5







OpenVMS Programming Information




of the PSECT keyword in the SYMBOL_VECTOR options file
statement.

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

By default, COMMON PSECTs in HP Fortran for OpenVMS
Alpha (as well as most other OpenVMS Alpha compilers)
are NOSHR. On VAX, the default was SHR which required
you to change the attribute to NOSHR if you wanted
your COMMON to be in a shareable image but not write-
shared by all processes on the system. If you do want
write-sharing, use:

CDEC$ PSECT common-name=SHR

in the Fortran source code (the CDEC$ must be begin in
column 1) or a linker options file PSECT_ATTR statement
to set the COMMON PSECT attribute to SHR.

For further information, see the Linker manual.

__________________________________________________________
10.8 How do I convert between IEEE and VAX floating data?

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

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

There are floating-point conversion source code
packages available for various platforms.

10-6







OpenVMS Programming Information




For further floating-point related information, see:

o http://www.hhs.dk/anonymous/pub/vms/collection/ieee.zip

__________________________________________________________
10.9 How do I get the argument count in a Fortran routine?

On VAX, many programmers would use a MACRO routine
which accessed the AP register of the caller to
get the address of the argument list and hence the
argument count. This was not guaranteed to work on VAX,
but usually did. However, it doesn't work at all on
OpenVMS Alpha, as there is no AP register. On Alpha
systems, you must use a language's built-in function to
retrieve the argument count, if any. In Fortran this is
IARGCOUNT, which is also available in DEC Fortran on
OpenVMS VAX.

Note that omitting arguments to Fortran routines is
non-standard and is unsupported. It will work in
many cases - read the DEC Fortran release notes for
additional information.

__________________________________________________________
10.10 How do I get a unique system ID for licensing purposes?

Many software developers desire to use a unique
hardware ID to "lock" a given copy of their product
to a specific system. Most VAX and Alpha systems do
not have a unique hardware-set "system ID" that can
be used for this purpose. HP OpenVMS products do not
use hardware IDs in the licensing methods, as many
users consider a hardware-based licensing scheme to be
negative attribute when considering software purchases.

HP OpenVMS uses a software-based system called the
License Management Facility (LMF). This provides for
software keys (Product Authorization Keys or PAKS)
which support capacity and user-based license checking.
HP offers an LMF PAK Generator to CSA members-see
Section 2.13.

For information on licensing, please see Section 12.4.

10-7







OpenVMS Programming Information




However, if a hardware-based method is required, the
most common method is based on an Ethernet adaptor
hardware address. Sample source code for implementing
this is available at:

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

__________________________________________________________
10.11 What is an executable, shareable, system or UWSS image?

Executable code in OpenVMS typically resides in
an image-an image is a file-the file extension is
typically .EXE-that contains this code. Common types
of images include executable images, shareable images,
system images, and protected (UWSS) images.

Executable images are programs that can be directly
executed. These images can grant enhanced privileges,
with an INSTALL of the image with /PRIVILEGE, or can
grant enhanced access with the specification of a
subsystem identifier on the ACL associated with the
image.

Shareable images contain code executed indirectly,
these images are referenced from executable images
and/or from other shareable images. These images can
not grant enhanced privileges, even with the use of
INSTALL with /PRIVILEGE or a subsystem identifier.
These shareable images can be dynamically activated
(a LINK that occurs at run-time) via the LIB$FIND_
IMAGE_SYMBOL run-time library (RTL) routine. (See
`protected images' for information on `privileged
shareable images'.)

System images are intended to run directly on the
VAX or Alpha hardware-these are normally used for the
kernel code that comprises an operating system.

Protected images-also refered to as User-Written System
Services (UWSS), or as privileged shareable images-are
similiar in some ways to a standard shareable images,
but these images include a `change mode' handler, and

10-8







OpenVMS Programming Information




execute in an `inner' processor mode (privileged mode;
executive or kernel), and code executing in inner modes
has implicit SETPRV privilege. Must be INSTALLed with
/PROTECT. Note that inner-mode code has restrictions
around calling library routines, around calling various
system services, and around calling code located in
other protected or shareable images.

Loadable images and device drivers are images that can
be used to add code into the OpenVMS kernel. Pseudo-
device drivers are a particularly convenient way to
add executable code, with associated driver-defined
data structures, into the kernel. The pseudo-device
driver includes the UCB and DDB data structures, and a
calling interface with support for both privileged and
unprivileged access to the driver code via sys$qio[w]
calls.

A cookbook approach to creating OpenVMS shareable
images is available at the URL:

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

__________________________________________________________
10.12 How do I do a file copy from a program?

There are several options available for copying files
from within a program. Obvious choices include using
lib$spawn(), system(), sys$sndjbc() or sys$creprc()
to invoke a DCL COPY command. Other common alternatives
include using the callable convert routines and the
BACKUP application programming interface (V7.1 and
later).







10-9







OpenVMS Programming Information



__________________________________________________________
10.13 What is a descriptor?

A descriptor is a data structure that describes
a string or an array. Each descriptor contains
information that describes the type of the data being
referenced, the size of the data, and the address
of the data. It also includes a description of the
storage used for the data, typically static or dynamic.
Descriptors are passed by reference.

The following are examples of creating and using
descriptors in C, with the use of the angle brackets
normally expected by the C include statements
deliberately altered in deference to HTML:

#include {descrip.h}
#include {lib$routines.h}
#include {stsdef.h}
int RetStat;
char TxtBuf[TXTSIZ]
struct dsc$descriptor StaticDsc =
{ 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
struct dsc$descriptor DynDsc =
{ 0, DSC$K_DTYPE_T, DSC$K_CLASS_D, NULL };
int DynDscLen = 255;
$DESCRIPTOR( ConstDsc, "This is a string" );

/* finish setting up a static descriptor */
StaticDsc.dsc$w_length = TXTSIZ;
StaticDsc.dsc$a_pointer = (void *) TxtBuf;

/* finish setting up a dynamic descriptor */
RetStat = lib$sget1_dd( &DynDscLen, &DynDsc );
if ( !$VMS_STATUS_SUCCESS( RetStat ) )
return RetStat;

/* release the dynamic storage */
RetStat = lib$sfree1_dd( &DynDsc );
if (!$VMS_STATUS_SUCCESS( RetStat ))
return RetStat;

Static descriptors reference storage entirely under
application program control, and the contents of the
descriptor data structure can be modified as required
(by the application). OpenVMS routines do not modify
the contents of a static descriptor, nor do they alter

10-10







OpenVMS Programming Information




the address or length values stored in the static
descriptor. (The term "static" refers to the descriptor
data structure, and not necessarily to the storage
referenced by the descriptor.)

Dynamic descriptors reference storage under the
control of the run-time library, and the contents of
a dynamic descriptor data structure-once initialized-
can only be modified under control of run-time library
routines. The dynamic storage referenced by the dynamic
descriptor is allocated and maintained by the run-time
library routines. Various OpenVMS routines do alter
the contents of the descriptor data structure, changing
the value for the amount and the address of the storage
associated with the dynamic descriptor, as required.
Routines can obviously access and alter the contents of
the storage referenced by the descriptor.

OpenVMS languages that include support for strings
or arrays are expected to use descriptors for the
particular structure. Most OpenVMS languages, such
as Fortran and BASIC, use descriptors entirely
transparently. Some, like DEC C, require the programmer
to explicitly create and maintain the descriptor.

For further information on string descriptors, see
the OpenVMS Programming Concepts manual, part of the
OpenVMS documentation set.

Fortran defaults to passing integers by reference
and characters by descriptor. The following sites
discuss mixing Fortran and C source code in the same
application:

o http://www.hhs.dk/anonymous/pub/vms/misc/FORTRAN_C_
CALL.COM

o ftp://ftp.hhs.dk/pub/vms/misc/FORTRAN_C_CALL.COM






10-11







OpenVMS Programming Information



__________________________________________________________
10.14 How do I create a process under another username?

Many server processes can operate within the context of
the target user using privileges, using calls such
as sys$chkpro and (more commonly in this context)
sys$check_access as needed to determine if access would
be permitted for the specified user within the current
security model.

With OpenVMS V6.2 and later, the persona system
services (SYS$PERSONA_*) can be used to assume the
persona of the specified user-these allow the server to
operate as the specified user, in a controlled fashion.
The persona services can be used as a "wrapper" around
a sys$creprc process creation call, as well-this will
create a seperate process entirely under the assumed
persona.

Information on the persona system services is included
in the OpenVMS V6.2 new features documentation,
and in the OpenVMS V7.1 and later system services
documentation. These system services exist and are
supported in OpenVMS V6.2 and later releases.

Typical mechanisms for creating a process under another
username include:

o personna services around a sys$creprc call. See
above.

o via DECnet task-to-task, using explicit
specification of username and password, or using
a DECnet proxy. This creates a network-mode job
under the target user. The network-mode job might
do little more than a RUN/DETACH of an image passed
in via task-to-task-task-to-task communications
are fully available using strictly DCL-to-DCL
processing, or using a compiled language and DCL,
etc.)

o SUBMIT/USER, or the username argument on the
sys$sndjbc call. This creates a batch-mode job under
the specified username. The batch-mode job might do
little more than a RUN/DETACH of an image passed in
via a parameter.

10-12







OpenVMS Programming Information




o the UIC argument on the sys$creprc call. This mimics
the UIC of the target user, and is certainly not the
prefered mechanism for this task.

o Via pseudo-terminals...

There are likely a few other mechanisms around...
There are various tools available from DECUS and other
sources that allow various forms of user impersonation,
as well. These tools will require version-dependent
kernel code and enhanced privileges for some of (or all
of) their operations.

__________________________________________________________
10.15 Why do lib$spawn, lib$set_symbol fail in detached
processes?

The processing within run-time library (RTL) calls
such as lib$attach, lib$disable_ctrl, lib$do_command,
lib$enable_ctrl, lib$get_symbol, lib$run_program,
lib$set_symbol, lib$set_logical, and lib$spawn, is
dependent on and requires the presence of a command
language interpreter (CLI), such as DCL. Without a CLI
present in the current process, these calls will fail
with a "NOCLI, no CLI present to perform function"
error.

Detached processes typically do not have a CLI present.

In place of lib$spawn, sys$creprc can often be used.
The context of the parent process (symbols and logical
names) will not be propogated into the subprocess when
sys$creprc is used, though when there is no CLI present
in the process this (lack of) propogation is moot.

To create a detached process with a CLI, you must
specify LOGINOUT as the target image as discussed
elsewhere in the FAQ, or only use these calls (and
any other calls requiring a CLI) from images that are
running in an "interactive", "batch", or "other" mode
process.

Also note that the lib$spawn and the C system call
will fail in a CAPTIVE login environment. The lib$spawn
call can be gotten to work in this environment with the
specification of the TRUSTED flag.

10-13







OpenVMS Programming Information



__________________________________________________________
10.16 Where can I obtain Bliss, and the libraries and
supporting files?

The Bliss language compilers and documentation are
available on the OpenVMS Freeware distributions.

Bliss language source code that contains the following
statement:

LIBRARY 'SYS$LIBRARY:STARLET.L32';

or similar requires the presence of the Bliss
libraries. These libraries are created on the target
system using the Bliss require files, and are built
using the following Bliss commands:

STARLET.L32 contains the public interfaces to OpenVMS:

$ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]STARLET.L32 -
SYS$LIBRARY:STARLET.REQ

LIB.L32 contains both the public and private interfaces
to OpenVMS:

$ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]LIB.L32 -
SYS$LIBRARY:LIB.REQ+SYS$LIBRARY:STARLET.REQ

The equivilent files for Bliss64 are created with:

$ BLISS/A64/LIBRARY=SYS$COMMON:[SYSLIB]LIB.L64 -
SYS$LIBRARY:LIB.R64+STARLET.REQ+STARLET.R64
$ BLISS/A64/LIBRARY=SYS$COMMON:[SYSLIB]STARLET.L64 -
SYS$LIBRARY:STARLET.R64

Some Bliss code may also require the OpenVMS VAX
architecture flags. The following is the equivilent
of the Alpha ARCH_DEFS.REQ module:







10-14







OpenVMS Programming Information




!
! This is the OpenVMS VAX version of ARCH_DEFS.REQ, and
! contains the architectural definitions for conditionally
! compiling OpenVMS Bliss sources for use on VAX systems.
! (If you should encounter compilation errors here, please
! seriously consider upgrading your Bliss compiler.)
!
MACRO VAXPAGE = 1%;
MACRO BIGPAGE = 0%;
!
MACRO VAX = ! = 1 if compiled BLISS/VAX
%BLISS(BLISS32V)%; ! = 0 if not compiled BLISS/VAX

MACRO EVAX = ! = 1 if compiled BLISS/E* (Obsolete, old name)
(%BLISS(BLISS32E) OR %BLISS(BLISS64E))%; ! = 0 if compiled /VAX /Inn

MACRO ALPHA = ! = 1 if compiled BLISS/E* (New arch name)
(%BLISS(BLISS32E) OR %BLISS(BLISS64E))%; ! = 0 if compiled /VAX /Inn

MACRO IA64 = ! = 1 if compiled BLISS/I* (New arch name)
(%BLISS(BLISS32I) OR %BLISS(BLISS64I))%; ! = 0 if compiled /VAX or /Ann

MACRO ADDRESSBITS =
%BPADDR%; ! = 32 or 64 based on compiler used

Some Bliss code may require the definition files for
the OpenVMS older LIBRTL routine lib$tparse, or the
newer lib$table_parse call:

$ BLISS /LIBRARY=SYS$COMMON:[SYSLIB]TPAMAC.L32 -
SYS$LIBRARY:TPAMAC.REQ

__________________________________________________________
10.17 How can I open a file for shared access?

When creating a file, it is often useful to allow other
applications and utilities-such as TYPE-to share read
access to the file. This permits you to examine the
contents of a log file, for instance.

A C source example that demonstrates how to do this is
available in topic (2867) in the OpenVMS Ask The Wizard
area:

o http://www.hp.com/go/openvms/wizard/

10-15







OpenVMS Programming Information




For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

Depending on the environment, you may need to use C
calls such as fsync and fflush, and-in specific cases-
the setvbuf(_IONBF) call.

__________________________________________________________
10.18 How can I have common sources for messages, constants?

Use the GNM tools on the OpenVMS Freeware to have
common sources for MSG (message) files and SDML
(Document) documentation files. Use the DOCUMENT
command to convert the SDML documentation into the
necessary formats (Text, Postscript, HTML, etc). Use
the MESSAGE/SDL tool (latent in OpenVMS) to create an
SDL file based on the messages. Then use the SDL tool
(available on the OpenVMS Freeware) to convert the SDL
file into language-specific definitions. (There is also
a converter around to convert SDL into SDML, if you
want to get pictures of the data structures for your
documentation.)

__________________________________________________________
10.19 How do I activate the OpenVMS Debugger from an
application?

#include {lib$routines.h}
#include {ssdef.h}
#include {string.h}

main()
{
char ascic_debug_commands[128];
char *dbgcmd = "*show calls;go;exit";

strcpy( ascic_debug_commands, dbgcmd );
ascic_debug_commands[0] = (char) strlen( dbgcmd ) -
1;

lib$signal(SS$_DEBUG,1,ascic_debug_commands);

return 1;
}

10-16







OpenVMS Programming Information




Also see Section 10.28 for another related discussion
of the OpenVMS Debugger, and of a technique that uses
the SS$_DEBUG signal.

__________________________________________________________
10.20 Dealing with Endian-ness?

OpenVMS VAX, OpenVMS Alpha and OpenVMS I64 (as well
as all Microsoft Windows implementations) all support
and all use the little-endian byte ordering. Certain
Alpha microprocessors and certain Intel Itanium
processors can be configured to operate in big-endian
and potentially in bi-endian mode. HP-UX typically
operates big-endian.

With little-endian byte order, the least significant
byte is always the first byte; the byte at the lowest
address. With big-endian byte ordering, the byte
storage order in memory is dependent on the size of the
data (byte, word, longword) that is being referenced.

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 C
library and the TCP/IP Services XDR (eXternal Data
Representation) libraries. One of the more recently
introduced network formats, and one that is seeing
extensive press and marketing coverage, is XML.

__________________________________________________________
10.21 How to resolve LINK-I-DATMISCH errors?

The message LINK-I-DATMISCH is informational, and
indicates that the version of the specified shareable
image found in the system shareable image directory
does not match the version of the shareable image that
was originally loaded into IMAGELIB.OLB, one of the
OpenVMS libraries typically searched by the LINKER.

From a privileged username, you can usually completely
repair this via the following DCL command:

$ LIB/REPLACE/SHARE SYS$LIBRARY:IMAGELIB.OLB SYS$SHARE:LIBRTL.EXE

This command assumes that the shareable image that
was found in the SYS$SHARE: area is valid and upward-
compatiable, and that the image has simply replaced an
older version without also updating IMAGELIB.

10-17







OpenVMS Programming Information



__________________________________________________________
10.22 HP C and other OpenVMS C Programming Considerations?

VAX C V3.2 was released for OpenVMS VAX systems in
1991. DEC C V4.0 replaced VAX C V3.2 in 1993 as the HP
C compiler for OpenVMS VAX systems. HP C is the ANSI
C compiler for OpenVMS Alpha systems. VAX C predates
the ANSI C standards, and has various areas that are
not compliant with ANSI C requirements. HP C is an ANSI
C compiler, and can also compile most VAX C code when
/STANDARD=VAXC is specified. Versions of this compiler
between V3.2 and V6.5 (exclusive) were known as DEC C,
DIGITAL C, and Compaq C.

Both compilers can be installed at the same time on the
same OpenVMS VAX system, allowing a migration from VAX
C to DEC C, and allowing the same DEC C code to be used
on OpenVMS VAX and OpenVMS Alpha.

The system manager can choose the system default C
compiler when HP C is installed on a system with VAX C,
and a C programmer can explicitly select the required
compiler for a any particular compilation.

A current "C" license PAK allows access to both VAX C
and HP C on the same OpenVMS VAX system.

Various HP C versions can be installed on OpenVMS VAX
V5.5-2 and later. OpenVMS VAX releases such as V5.5-2
and V6.0 will require the installation of a HP C RTL
kit, a kit that is included with the HP C compiler.
OpenVMS VAX versions V6.1 and later do not require a
seperate RTL kit, but HP C RTL ECO kits are available
to resolve problems found with the C RTL on various
OpenVMS releases.

With HP C, for automatic resolution of the standard C
library routines by the LINKER utility, use the /PREFIX
qualifier, such as /PREFIX=ALL_ENTRIES. If a particular
application program replaces an existing C library
routine, use /PREFIX=(ALL_ENTRIES,EXCEPT=(...)). (VAX
C required explicit specification of an RTL shareable
image or C object library during the link.)


10-18







OpenVMS Programming Information




When the /PREFIX is requested, the compiler generates
a "decc$" prefix on the specified symbols. This prefix
allows the LINKER to resolve the external symbols
against the symbols present in the DECC$SHR library.
The DECC$SHR library is included in the IMAGELIB.OLB
shareable image library, and IMAGELIB is searched by
default when any program (written in any language) is
LINKed. Because the standard C library routine names
are very likely to match application routines written
in other languages, a prefix "decc$" is added to the C
symbol names to assure their uniqueness; to prevent
symbol naming conflicts. C programs, however, can
sometimes have private libraries for various purposes,
and the external routines share the same names as
the library routines. (This is not recommended, but
there are applications around that use this technique.)
Thus the need to explicity specify whether or not the
"decc$" prefix should be prepended to the external
symbol names by the compiler.

The qualifiers, and most (all?) with associated
pragmas, that may be of interest when migrating VAX
C code to HP C include:

o Failure to specify the prefixing qualifier (on
certain and usually older versions of C) can cause
the compiler to not add the prefixes for the names
of the C library routines into the references
placed in the object module, which can in turn
cause problems resolving the external symbols in
the library when the object code is linked:

/PREFIX=ALL_ENTRIES

o Some VAX C programs erroneously write to the string
literals. By default, HP C does not allow the
constants to change.

/ASSUME=WRITABLE_STRING_LITERALS

o Enables sharing ("shr") of globals and of extern
variables. HP C sets externs as non-shareable
("noshr"), VAX C as "shr".

/SHARE_GLOBALS

10-19







OpenVMS Programming Information




o VAX C assumes common block model for external
linkages.

/EXTERN_MODE=COMMON_BLOCK

o Refers to the padding placed between member elements
within a struct. Disabling member alignment packs
the data more tightly into memory, but this
packaging has performance implications, both on
OpenVMS VAX and particularly on OpenVMS Alpha
systems.

/[NO]MEMBER_ALIGNMENT

o Enable all manner of useful compiler diagnostics:

/WARN=ENABLE=(LEVEL4,QUESTCODE)/STANDARD=PORT/ACCEPT=NOVAXC_KEYWORDS

You can disable extraneous diagnostics with the
following:

#ifdef __DECC
#pragma message save
#pragma message disable /* insert message tag here */
#endif

Permit structure members to be naturally aligned
whenever possible, and avoid using /NOMEMBER_
ALIGNMENT. If you need to disable member alignment,
use the equivilent #pragma to designate the specific
structures. The alignment of structure members normally
only comes into play with specific unaligned data
structures-such as the sys$creprc quota itemlist-
and with data structures that are using data that was
organized by a system using byte or other non-member
alignment.

Versions of HP C such as V6.0 include the capability to
extract the contents of the standard header libraries
into directories such as SYS$SYSROOT:[DECC$LIB...],
and provide various logical names that can be defined
to control library searches. With HP C versions such
as V6.0, the default operations of the compiler match
the expectations of most OpenVMS programmers, without
requiring any definitions of site-specific library-
related logical names. (And logical names left from

10-20



---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 20:04:04 UTC
Permalink
Archive-name: dec-faq/vms/part7
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-07.TXT







OpenVMS Programming Information




older DEC C versions can sometimes cause the compiler
troubles locating header files.)

HP C V5.6 and later include a backport library, a
mechanism by which HP C running on older OpenVMS
releases can gain access to newer RTL routines added
to the RTL in later OpenVMS releases-the language RTLs
ship with OpenVMS itself, and not with the compilers.

Example C code is available in SYS$EXAMPLES:, in
DECW$EXAMPLES (when the DECwindows examples are
installed), in TCPIP$SERVICES (or on older releases,
UCX$EXAMPLES) when HP TCP/IP Services is installed), on
the Freeware CD-ROMs, and at web sites such as

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

_____________________________
10.22.1 Other common C issues

The localtime() function and various other functions
maintain the number of years since 1900 in the "struct
tm" structure member tm_year. This field will contain a
value of 100 in the year 2000, 101 for 2001, etc., and
the yearly incrementation of this field is expected to
continue.

The C epoch typically uses a longword (known as time_
t) to contain the number of seconds since midnight
on 1-Jan-1970. At the current rate of consumption of
seconds, this longword is expected to overflow (when
interpreted as a signed longword) circa 03:14:07 on
19-Jan-2038 (GMT), as this time is circa 0x7FFFFFFF
seconds since the C base date. (The most common
solution is to ensure that time_t is an unsigned.)

If C does not correctly handle the display of the
local system time, then check the UTC configuration
on OpenVMS-the most common symptom of this is a skew of
one hour (or whatever the local daylight saving time
change might be). This skew can be caused by incorrect
handling of the "is_dst" setting in the application

10-21







OpenVMS Programming Information




program, or by an incorrect OpenVMS UTC configuration
on the local system. (See section Section 4.4.)

Floating point is prohibited in OpenVMS Alpha inner-
mode (privileged) code, and in any process or other
execution context that does not have floating point
enabled. C programmers developing and working with
OpenVMS Alpha high-IPL kernel-mode code such as device
drivers will want to become familiar with the floating
point processing available in the environment, and with
the C compiler qualifier /INSTRUCTION_SET=[NO]FLOATING_
POINT. Device drivers and other similar kernel-mode C
code must be compiled with /INSTRUCTION_SET=FLOATING_
POINT and /EXTERN_MODEL=STRICT_REFDEF.

Additionally, the SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY
parameter will be needed to be appended to the module
specification or declared via the C compiler's include
library logical name mechanism when the C compiler is
resolving kernel-mode data structures and definitions.
This library contains OpenVMS kernel-mode and other
system declaractions, and particularly a mixture
of undocumented definitions and declarations, and
particularly definitions and declarations that are
subject to change (and that can accordingly lead to
requirements for the recompilation of application
code).

In addition to the user-mode C Run-Time Library (RTL)
mentioned in the OpenVMS C RTL documentation and
referenced over in Section 3.9, there is a second and
parallel kernel-mode RTL accessable to device drivers
and other kernel code on OpenVMS Alpha and OpenVMS
I64. The most common time this second C library is
noticed is when C code is (erroneously) linked with
/SYSEXE/SYSLIB, and duplicate symbol errors typically
then arise. As code running in supervisor-, executive-
or kernel-mode context cannot call out a user-mode
RTL or other user-mode library, you will want to
respecify the command as LINK /SYSEXE/NOSYSLIB. This
will eliminate the duplicate symbol errors, since only
the kernel-mode library will be referenced, and it will
also avoid calling out into the user-mode libraries.

10-22







OpenVMS Programming Information




When sharing variables with other languages, here is
some example HP C code...

...
#pragma extern_model save
#pragma extern_model strict_refdef
extern int VMS$GL_FLAVOR;
#pragma extern_model restore
...

and here is some associated example Bliss code...

...
EXTERNAL
VMS$GL_FLAVOR,
....

_____________________________
10.22.2 Other common C++ issues

HP C++ (a separate compiler from HP C) provides
both symbol mangling and symbol decoration. Some
of the details of working with longer symbol names
and the resulting symbol name mangling in mixed
language environments are listed in the shareable
image cookbook, and in the C++ documentation. Symbol
name decoration permits the overloading of functions
(by adding characters to the external symbol for
the function to indicate the function return type
and the argument data types involved), and mixed-
language external references can and often do need to
disable this decoration via the extern "C" declaration
mechanism:

extern "C"
{
extern int ExternSymbol(void *);
extern int OtherExternSymbol(void *);
}

Also see Section 14.7 for information on /ARCHITECTURE
and /OPTIMIZE=TUNE.

See Section 10.15 for information on the C system and
the lib$spawn call in CAPTIVE environments.

10-23







OpenVMS Programming Information




Constructs such as the order of incrementation or
decrementation and the order of argument processing
within an argument list are all implementation-defined.
This means that C coding constructs such as:

i = i++;
a[i] = i++;
foo( i, i++, --i);

are undefined and can have (adverse) implications when
porting the C code to another C compiler or to another
platform. In general, any combination of ++, -, =, +=,
-=, *=, etc operators that will cause the same value to
be modified multiple times (between what the ANSI/ISO C
standard calls "sequence points") produce undefined and
implementation-specific results.

Within C, the following are the "sequence points":
the ";" at the end of a C statment, the ||, &&, ?:,
and comma operators, and a call to a function. Note
specifically that = is NOT a sequence point, and that
the individual arguments contained within a function
argument list can be processed from right to left, from
left to right, or at any random whim.

HP C for OpenVMS VAX (formerly DEC C) and VAX C do
differ in the related processing.

So you are looking for OpenVMS-specific definitions
(include files)?

UCBDEF.H, PCBDEF.H and other OpenVMS-specific
definitions-these are considered part of OpenVMS and
not part of the C compiler kit-are available on all
recent OpenVMS Alpha releases.

To reference the version-dependent symbol library
sys$share:sys$lib_c.tlb, use a command similar to the
following for compilation:

$ CC sourcea+SYS$LIBRARY:SYS$LIB_C/LIB

You can also define DECC$TEXT_LIBRARY to reference the
library.

You will want to review the Programming Concepts
manual, and specifically take a quick look at Chapter
21.

10-24







OpenVMS Programming Information




And some general background: the STARLET definitions
(and thus the sys$starlet_c.tlb library) contain the
symbols and the definitions that are independent of
the OpenVMS version. The LIB definitions (and thus
sys$lib_c) contain symbols and definitions that can
be dependent on the OpenVMS version. You won't need to
rebuild your code after an OpenVMS upgrade if you have
included definitions from STARLET. The same cannot be
said for some of the definitions in LIB-you might need
to rebuild your code. (The UCB structure can and has
changed from release to release, for instance.)

Recent versions of C automatically search sys$starlet_
c.tlb. Explicit specification of sys$lib_c.tlb is
required.

Also see the Ask The Wizard website topics (2486),
(3803), and (1661):

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

See Section 9.5 for information on the C off_t
limitations, resolved in OpenVMS V7.3-1 and later and
in ECO kits available for specific OpenVMS releases.
The use of a longword for off_t restricts applications
using native C I/O to file sizes of two gigabytes or
less, or these applications must use native RMS or XQP
calls for specific operations.

__________________________________________________________
10.23 Status of Programming Tools on OpenVMS VAX?

DECthreads V7.3 and the HP C compiler (also known as
Compaq C and DEC C) V6.4 are presently expected to
be the last updates and the last releases of these
development packages for use on OpenVMS VAX. The run-
time support for both DECthreads (CMA$RTL) and for C
(DECC$CRTL) will continue to be maintained, and will
continue to be available on OpenVMS VAX. The VAX C
V3.2 compiler is the final VAX C compiler release for
OpenVMS VAX, and the VAX C Run-Time Library (VAXCRTL)
will also continue to be available.

10-25







OpenVMS Programming Information




New development and new features and product
enhancements continue for the OpenVMS Alpha and the
OpenVMS IA-64 DECthreads and C compilers.

__________________________________________________________
10.24 Choosing a Version Number for Application Code?

One of the common rules-of-thumb used for choosing a
displayed version number string for a new version of a
layered product or an application, its implications,
and its expected effects on client applications and
users, follows:

o No functional and no application-visible changes,
bugfixes only-the edit number is incremented.
These tend to be very small, very isolated, or ECO-
level changes. These can also be distributions for
specific hardware configurations or platforms, as
is the case with an OpenVMS Limited Hardware Release
(LHR). Application rebuilds are not expected, and
there is an assumption that general user-provided
application-related regression testing will not be
required.

o Minimal functional and very few user-visible
changes-the maintenance number is incremented. These
tend to be very small or even ECO-level changes,
though somewhat larger than an edit-level change.
Application rebuilds are not expected, and there is
an assumption that user-provided application-related
regression testing will not be required.

o Various small and upward-compatible functional
changes-the minor version number is incremented.
The changes are user-visible, and are intended to be
user-visible. Application rebuilds are not expected.
Some application programmers may choose to perform
regression tests.

o Large and/or potentially incompatible changes-
the major version number is incremented. Some
applications might need to be rebuilt. Various
application programmers will choose to perform
regression tests of their respective applications.

10-26







OpenVMS Programming Information




For additional version-numbering materials and for
information on assigning module generation numbers,
please see the OpenVMS (POLYCENTER) Software Product
Installation Utility-variously refered to by acronyms
including PCSI and SPIA-reference manual available
within the OpenVMS documentation set.

Of course, all of this is obviously subject to
interpretation, particularly around the distinction
between large and small changes and such. The scale
of the application is also a factor, as larger and
more complex applications will tend toward smaller
increments and will tend to see the maintenance number
incremented, while new releases of smaller applications
will tend to see the minor version incremented somewhat
more frequently.

The goal of all this is to provide a guide to relative
scale of changes and the associated effort involved
in an upgrade for the user and/or for the application
programmer.

__________________________________________________________
10.25 Selecting a Process Dump Directory?

You can customize the device and directory for the
process dump by defining the logical names SYS$PROCDMP
and SYS$PROTECTED_PROCDMP. The former is for non-
privileged dumps, while the latter is the location
where privileged image dumps are written, and
preferably an area protected against untrusted access.
For example:

$ define SYS$PROCDMP SYS$ERRORLOG:
$ define /exec SYS$PROTECTED_PROCDMP SYS$ERRORLOG:

The abouve presumes that the SYS$ERRORLOG logical name
points to a valid location.

There is presently no means to change the name of the
generated dump file from IMAGENAME.DMP to something
else. Accordingly, you will want to use different
target directories for this purpose, particularly
if there is more than one application or process
potentially writing process dumps.

10-27







OpenVMS Programming Information



__________________________________________________________
10.26 Access to Itanium Assembler?

If you are interested in accessing the native
Intel Itanium assembler within the OpenVMS I64 GNV
environment-and since the iasi64 assembler is a Unix
program and GNV is a Unix environment for OpenVMS I64-
you can simply copy iasi64.ext into your gnu:[bin]
directory in place of "as.", and of "AS.EXE".

Alternately and probably also better, you can write an
"as." script to invoke the iasi64.exe image from its
particular prefered location on the local system.

A typical "as." script looks like this:

path/iasi64.exe $1 $2 $3 $4 $5

__________________________________________________________
10.27 Kernel-mode coding restrictions?

Floating point is prohibited in OpenVMS Alpha inner-
mode (privileged) code, and within any process or other
execution context that does not have floating point
enabled and available.

Programmers developing and working with OpenVMS Alpha
high-IPL kernel-mode code, such as device drivers,
will further want to become familiar with the floating-
point processing and the instruction set emulation
available in the particular target environment (if
any). When working with C, inner-mode programmers will
want to become familiar with the C compiler qualifier
/INSTRUCTION_SET=[NO]FLOATING_POINT.

Device drivers and other similar kernel-mode C code
must be compiled with /INSTRUCTION_SET=FLOATING_POINT
and /EXTERN_MODEL=STRICT_REFDEF.

Additionally, inner-mode code cannot call out to the
user-mode language run-time libraries nor to any of
the OpenVMS system run-time libraries. In particular,
this prohibition prevents pages of inner-mode-protected
memory from being allocated and interspersed within the
user-mode heap or other such user-mode data structures.

10-28







OpenVMS Programming Information




The prohibtion on user libraries also generally means
that such code must be linked with LINK /NOSYSLIB, and
quite probably also with /SYSEXE. The former causes
the linker to avoid searching the system shareable
image libraries (via IMAGELIB.OLB), while the latter
brings in symbols typically only known to or otherwise
accessable from the OpenVMS executuve.

To include kernel-mode C programming definitions,
macros and system constants within a C compilation,
include SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY on the C
compilation. (Constructs defined within the system
macro library LIB.MLB or within its C equivalent
SYS$LIB_C.TLB tend to be version-dependent, or
undocumented, or both.) As an example of the
compilation, the following is a typical C device driver
compilation command:

$ CC /STANDARD=RELAXED_ANSI89/INSTRUCTION=NOFLOATING_POINT/EXTERN=STRICT -
'DEBUG_CC_DQ_OPT' 'ARCH_CC_OPT' 'CHECK_CC_OPT' 'SHOW_CC_OPT' -
/LIS=LIS$:xxDRIVER/MACHINE_CODE/OBJ=OBJ$:xxDRIVER -
SRC$:xxDRIVER.C+SYS$LIBRARY:SYS$LIB_C.TLB/LIBRARY

Additionally, code running in executive mode in an AST
or in kernel mode cannot call RMS services, or routines
which directly or indirectly call RMS.

For related kernel-mode programming materials and
driver documentation, please see the Writing OpenVMS
Alpha Device Driversin C book, ISBN 1-55558-133-1.

__________________________________________________________
10.28 Decoding an Access Violation (ACCVIO) Error?

To decode the virtual addresses returned by an access
violation or by another similar OpenVMS display, you
need to have created and retained a listings file-
preferably one with machine code generation enabled-and
a full link map.

Starting with the virtual address reported by the
error, use the link map to find the module that
contributed the code that contains the virtual address
range. Calculate the offset from the base of the range,
by subtracting the base of the range from teh failing
virtual address. Then use the compiler listings for

10-29







OpenVMS Programming Information




the particular component that contributed the code to
locate the offset of the failing instruction.

If the map and listings information was not maintained,
working backwards is far more difficult-you are left to
use the binary instruction data around the failure to
locate the associated source code, and this process is
far more involved. This usually involves matching up
blocks of decoded instructions around the failing code,
or the direct analog involving matching up ranges of
decoded instructions. Keep the maps and listing files
around, in other words.

Rather easier than an approach based on virtual address
arithmetic and far easier than working backwards from
the instruction stream is to use integrated debugging-
this inclusion is arguably an essential component of
any non-trivial application-and to use the OpenVMS
Debugger.

The OpenVMS Debugger in particular can be used to
examine the source code, to examine the stack, and can
even be programmed to wait patiently for the incidence
of a particular value or failure or condition, and
this is far easier than working backwards from the
instruction stream is to use integrated debugging-
this inclusion is arguably an essential component of
any non-trivial application-and to use the OpenVMS
Debugger. The debugger can also be activated from
within a signal handler, and commands to generate
a traceback can be generated directly, or through
the invocation of a procedure containing a series of
debugger commands.

Details on the debugger are in the OpenVMS Debugger
Manual, and also see the discussion of dyanmically
activating the Debugger in Section 10.19.







10-30







OpenVMS Programming Information



__________________________________________________________
10.29 Generating an AUTODIN-II CRC32?

The following code can be used to generate an AUTODIN-
II 32-bit Cyclic Redundency Check (CRC32) value from an
input string descriptor, similar to that used by the HP
C compiler for its /NAMES=SHORTENED mechanism, and by
various other applications requiring a CRC32.

The routine uses the OpenVMS library routine lib$crc_
table to generate a sixteen longword array of data from
the specified encoded polynomial coefficient (AUTODIN-
II, in this case), and then lib$crc to generate the
CRC32 value from the array and the input data.

static int CreateCRC32( struct dsc$descriptor *InputDataDesc )
{
uint32 AUTODIN2;
uint32 Seed = ~0UL;
uint32 Coefficient = 0x0EDB88320UL;
uint32 CRCArray[16];

lib$establish( lib$sig_to_ret );

lib$crc_table( (void *) &Coefficient, (void *) CRCArray );
AUTODIN2 = lib$crc( (void *) CRCArray, (void *) &Seed, InputDataDesc );
AUTODIN2 ^= Seed;

return AUTODIN2;
}

__________________________________________________________
10.30 Enabling built-in tracing?

$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SYS_LOAD ADD TR$DEBUG TR$DEBUG/LOAD_
STEP=INIT/LOG
SYSMAN> Exit
$ @SYS$UPDATE:VMS$SYSTEM_IMAGES.COM

To stop it from loading early in boot

$ RUN SYS$SYSTEM:SYSMAN
SYSMAN> SYS_LOAD REMOVE TR$DEBUG TR$DEBUG/LOG
SYSMAN> Exit
$ @SYS$UPDATE:VMS$SYSTEM_IMAGES.COM

10-31







OpenVMS Programming Information




The first occurance of the name TR$DEBUG within the
command is considered the "product" and the second
is considered the "image" that should exist within
SYS$LOADABLE_IMAGES.

When TR$DEBUG loads in the init phase, it will
automatically turn on tracing.

Also see the SDA TR extension.



































10-32












_______________________________________________________

11 DECwindows



__________________________________________________________
11.1 How do I let someone else display something on my
workstation?

On a workstation, you will want to use the "Customize"
menu of the session manager utility and select
"Security". When the pop-up box appears, you can
select the host node, username, and tranport that will
allow you to launch an application that targets the
workstation display.

If this does not provide you with access to the
display, You need a checklist of sorts:

o Make sure that you've specified the X-windows
"display" correctly on the remote host. For a
DECnet transport, the specification uses two colons,
while the TCP/IP transport typically uses one. The
X Windows server and the X Windows screen follow
the host specification, delimited by a period. For
example:

________________________________________________________________
Table 11-1 X Windows Display Commands

_______________________________________________________
Shell_____Command______________________________________

csh

# setenv DISPLAY vms.domain:0.0

sh and ksh

# $ DISPLAY=vms.domain:0.0 ; export DISPLAY

DCL

$ SET DISPLAY/CREATE/NODE=vms.domain -
___________________/TRANSPORT=TCPIP/SERVER=server/SCREEN=screen_

o If you have verified the command is correct and
things are still not working, ensure the Security
settings on the OpenVMS host side will allow the

11-1







DECwindows




incoming connection: Pull down the "Options" menu
in the Session Manager, and select "Security...". If
you do not find your host and username and transport
listed among the authorized users, you will need to
add an entry.

o There are various transports available, including
LOCAL, DECNET, LAT, and TCPIP. You must Select
the transport appropriate to the incoming
connection.

o If the transport is "DECnet", do NOT add the
double colon (::) to the node name.

o If the transport is "TCPIP", "Username" must
be an asterisk (*). Why? Because unlike DECnet,
the TCP/IP protocol does not provide the remote
username information in the incoming connection.

o If the connection is "TCPIP", it is best to use
a full domain name (e.g. Node.Subd.Domain).
However, you may have to use the IP address
itself, if your host does not have a way to
resolve the address via DNS. If you have the
luxury of fixed addresses (eg: you are not using
DHCP), then it can be helpful to add two entries
for each TCP/IP host, one that specifies the host
name and one that specifies the host address.

o There are various TCP/IP packages for OpenVMS,
and you must use syntax appropriate to the
transport installed.

o If a TCP/IP connection is still not working,
ensure that the transport you want has been
activated for use with DECwindows. See
Section 11.14 for details of configuring TCP/IP
as a transport.

o There is a log file created in SYS$MANAGER: which
can tell you which transports are loaded, and
also tell you what connect attempts were rejected,
including showing what the presented credentials
were. This file is SYS$MANAGER:DECW$SERVER_0_
ERROR.LOG, although the 0 could be another number
if you have multiple servers on the workstation. I

11-2







DECwindows




have found this file to be very useful for tracking
down what needs to be put in the Session Manager
Security entries.

__________________________________________________________
11.2 How do I create a display on another workstation?

To create a display from an OpenVMS host to a remote X
Windows display, use one of the following DCL commands:

$ SET DISPLAY /CREATE /TRANSPORT=net_transport /NODE=remote_node
$ SET DISPLAY /CREATE /TRANSPORT=LAT /NODE=remote_node
$ SET DISPLAY /CREATE /TRANSPORT=DECnet /NODE=remote_node
$ SET DISPLAY /CREATE /TRANSPORT=TCPIP /NODE=remote_node

Note that LAT is typically used only for the VXT series
X Windows terminals, but it can also be used from
OpenVMS to OpenVMS systems on various OpenVMS releases,
such as on OpenVMS Alpha V6.1 and later. For details on
configuring the TCP/IP transport, see Section 11.14.

If you are interested in X Windows terminals and have
an older VAXstation system around, please see the EWS
package on Freeware V5.0.

__________________________________________________________
11.3 How can I get the information from SHOW DISPLAY into a
symbol?

Use the undocumented SHOW DISPLAY/SYMBOL, and then
reference the symbols DECW$DISPLAY_NODE, DECW$DISPLAY_
SCREEN, DECW$DISPLAY_SERVER and/or DECW$DISPLAY_
TRANSPORT.

An example of calling the underlying (and also
undocumented) sys$qio programming interface for the
WSDRIVER (WSAn:) is available at:

http://www.hp.com/go/openvms/freeware/

Look in the Freeware V4.0 directory /srh_examples/DECUS_UNDOC_
CLINIC/.


11-3







DECwindows



__________________________________________________________
11.4 How do I get a log of a DECterm session?

If you are working from a DECwindows DECterm terminal
emulator, you can use the AutoPrint feature. Choose
the "Printer..." menu item from the "Options" menu, set
the printing destination to the name of the file you
want, and set "Auto Print Mode". You are now free to
continue.

It should be noted that all of the characters and
escape sequences are captured, but if you display the
resulting log file on a DECterm, then you will see
exactly what was originally displayed.

You can also use the "Print Screen" screen capture
available in the DECwindows session manager menus, if
you simply wish to snapshot a particular portion of the
X Windows display.

If you are using the Freeware VTstar terminal emulator
package, you will find a similar logging mechanism is
available in the menus.

__________________________________________________________
11.5 Why is DECwindows Motif not starting?

First check to see if there is a graphics device,
usually a G* device. (eg: On a DEC 2000 model 300,
use the command SHOW DEVICE GQ) If you do not find a
graphics device:

o OpenVMS has failed to find the appropriate IRQ
information for an EISA graphics card (on the
DEC 2000 series) such as the HP (Compaq) QVision,
and did not autoconfigure it. Run the correct ECU
(for Tru64 UNIX and OpenVMS) and reboot. This is
necessary only on EISA-based systems.

o You have an EISA-based system (such as the DEC
2000 model 300) and do not have a HP (Compaq)
QVision video card. This EISA graphics card should
have Compaq printed on it, and identifies itself
as a CPQ3011 or a CPQ3111. If it is not one of
these two EISA devices, then OpenVMS does not
support it. (There are no other supported EISA
graphics controllers, and EISA graphics are normally

11-4







DECwindows




used with DECwindows only on the DEC 2000 series
systems.)

o You have a PCI-based system, and do not have a
supported graphics controller-examples of supported
controllers include the following:

o Radeon 7500

o PowerStorm 3D30, PowerStorm 4D20

o 3DLabs Oxygen VX1

See Section 5.16 for further information on some of
these graphics controllers.

o You have booted the system minimally, or have
otherwise disabled the device autoconfiguration
process.

If there is a G* graphics device present:

o There may have been a severe error in the
DECwindows startup. Type the contents of
SYS$MANAGER:DECW$SERVER_0_ERROR.LOG for any
information on errors starting the server.

o The system parameter WINDOW_SYSTEM is not set to
1. While this was a common way for system managers
to disable the DECwindows server startup, it is
not particularly reliable as DECwindows can now
"correct" this setting.

If you really do not want an OpenVMS system with
workstation hardware to bootstrap and configure
itself as a workstation, add the following
definition to SYLOGICALS.COM:

$ DEFINE/SYSTEM/EXEC DECW$IGNORE_WORKSTATION TRUE

o You may not have a valid DECwindows Motif license
loaded. To check for the two most common types of
Motif product authorization keys (PAKs), use the
following DCL commands:

$ LICENSE LIST DW-MOTIF/FULL
$ LICENSE LIST NET-APP-SUP*/FULL

11-5







DECwindows




and examine the information displayed. Make sure
that one of these licenses is present, valid and
active.

For information on registering software license
product authorization keys (PAKs) when you
cannot log into the system directly, please see
Section 5.6.2.

o Check that the DECW$PRIVATE_SERVER_SETUP.COM is
correct for the graphics controller in use. For
instance:

The following is from the 9FX Vision 330 Owners
Guide, EK-V330G-OG pg 2-9. Place the following in
DECW$PRIVATE_SERVER_SETUP.COM, creatibng .COM from
.TEMPLATE if necessary. Locate the DECW$PRIVATE_
SERVER_SETUP.COM file in SYS$SPECIFIC:[SYSMGR] or
in SYS$COMMON:[SYSMGR] as appropriate; the former
file is used for this system within a cluster
configuration, and the latter is used for all
systems that do not also have a local copy of this
file in SYS$SPECIFIC:[SYSMGR].

$ DECW$XSIZE_IN_PIXELS == xvalue
$ DECW$YSIZE_IN_PIXELS == yvalue
$ DEFINE/SYSTEM DECW$SERVER_REFRESH_RATE rate_in_Hz

Also see Section 11.11. Details of the PowerStorm
3D30 and 4D20 settings are available in the OpenVMS
Ask The Wizard area.

__________________________________________________________
11.6 How do I set the title on a DECterm window?

If you are creating a new DECterm window, check

$ HELP CREATE /TERMINAL /WINDOW_ATTRIBUTES

If you want to change the title of an existing window,
use the following control sequences, where <esc> is the
ANSI escape code, value decimal 27, and "text label" is
what you want to display:

To set the DECterm title, send the escape character,
then the characters "]21;", then the text label string,
and then an escape character followed by a backslash
character.

11-6







DECwindows




To set the icon label, send the escape character, then
the characters "]2L;", then the icon label string,
and then an escape character followed by a backslash
character.

To set both the DECterm title and icon to the full
device name, you can use the following DCL commands:

$ esc[0,7] = 27
$ fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE")
$ write sys$output esc+ "]21;" + fulldevnam + esc + "\"
$ write sys$output esc+ "]2L;" + fulldevnam + esc + "\"

You can also change the title and the icon using the
Options-Window... menu.

Also see Section 12.1 and Section 8.13.

__________________________________________________________
11.7 How do I customize DECwindows, including the login screen?

To customize various DECwindows Motif characteristics
including the defaults used by the SET DISPLAY command,
the DECwindows login screen background logo used (the
default is the DIGITAL, Compaq, or HP logo), various
keymaps (also see Section 11.7.2 and Section 11.7.1),
the FileView defaults, session manager defaults,
the DECwindows login processing, DECwindows log file
processing, and various other DECwindows attributes,
see the example file:

$ SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE

This example template file is typically copied over to
the filename SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_
SETUP.COM and then modified to meet site-specific
requirements.

Additionally, various X tools such as xsetroot, bitmap
and xrdb-some these can be useful in customizing the
appearance of an application or of the DECwindows Motif
display-are provided in the DECW$UTILS: area.

When using DECwindows V1.2-4 and later on OpenVMS
Alpha, the default desktop is the Common Desktop
Environment (CDE). You can select your preferred
desktop (CDE or DECwindows Motif) when logging in,
or you can change the default to the DECwindows

11-7







DECwindows




Motif desktop using the DCL symbol decw$start_new_
desktop in the DECwindows private application setup
command procedure. See SYS$MANAGER:DECW$PRIVATE_APPS_
SETUP.TEMPLATE for further details, and how to create
DECW$PRIVATE_APPS_SETUP.COM.

Note that with DECwindows CDE, the root window is
no longer visible by default. The root window is
hidden behind the "backdrop" window of the current
CDE workspace. To make the root window visible, use the
CDE style manager selection "backdrop none", and use
information such as that in the OpenVMS FAQ to set the
root window.

To add a new backdrop to the DECwindows CDE
environment, the backdrop must first be in or be
converted into X11 pixmap format. (This conversion
is often possible using tools such as xv.) Then (if
necessary) create the default backdrop directory
SYS$COMMON:[CDE$DEFAULTS.USER.BACKDROPS]. Place the
X11 pixmap file containing the desired image into the
backdrops directory, ensure that it has a filename
extension of .PM. (The xv default filename extension
for the X11 pixmap file is .XPM, while CDE expects
only to see files with .PM.) Now invoke the CDE style
manager and select a new backdrop. You will find
your image will be placed at the end of the list of
backdrops available.

If you require a message be included on the initial
display-where the start session display and the logo
appears-you can use either of the following approaches:

o The simplest approach requires OpenVMS V7.3-2 or
later, and the corresponding DECwindows V1.3-
1 kit or later. You will want to create a file
named SYS$COMMON:[SYSMGR]DECW$GREET.TXT, and this
will be displayed in a popup-with an OK button-
when the login box is displayed. This is intended
specifically for applications requiring such a
display.



11-8







DECwindows




o The second approach involves copying the file
XRESOURCES.DAT from

SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.SYSTEM.CONFIG.C]

into the directory

SYS$SYSDEVICE:[VMS$COMMON.CDE$DEFAULTS.USER.CONFIG.C]

and editing the copy. Specifically, look for the following:

Dtlogin*greeting.labelString:

The line is normally commented out, and by default
contains the string:

Welcome to %localhost%

You can change this text to something akin to the
following:

Dtlogin*greeting.labelString: Welcome to Heck \n\
This is a Trusted System owned by the Rulers of the planet Zark\n\
\n\
We Come In Peace\n\
\n
If you want Privacy, you've come to the wrong place\n\
\n

The lines of text will be centered for you.

In most DECwindows versions, you will be able to
onbtain only about eight (8) lines of text. Changes
have been implemented in DECwindows V1.3 and later
that permit up to about twenty-five (25) lines of
text.

The login logo is stored as an XPM bitmap image in the
text file SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.SYSTEM.APPCONFIG.ICONS.C]DECDTLOGO.PM,
and it can be changed. Copy the file to SYS$SYSROOT:[SYSCOMMON.CDE$DEFAULTS.USER.APPCONFIG.ICONS.C]DECDTLOGO.PM,
as DECwindows upgrades can replace the system version
of this file.

On DECwindows V1.3-1 and later (and possibly on V1.3),
both DECwindows CDE and DECwindows Motif displays use
this logo file. On older releases, only the DECwindows
CDE displays used this logo file, while the logo
used for the Motif login display was hard-coded into
the package and the only available override is the

11-9







DECwindows




DECW$LOGINLOGO command procedure mechanism within the
customized, site-specific DECW$PRIVATE_APPS_SETUP.COM
file.

Look at the contents of the DECDTLOGO.PM file and at
other *.XPM files and tools for additional details.

_____________________________
11.7.1 How do I customize DECwindows keymapping?

Various keymaps can be implemented on OpenVMS and other
X Windows systems, allowing the implementation of
a Dvorak-style or other alternate keymappings. For
details, see the available X Windows documentation
(this is the documentation associated with X Windows
itself, and not the product documentation for the
OpenVMS operating system nor for the DECwindows
X Windows implementation) and see the DECwindows
*.DECW$KEYMAP (text-format) files found in the
DECwindows DECW$KEYMAP: directory.

For other keymapping information, see Section 11.7.2.

_____________________________
11.7.2 Why does the DELETE key delete forward instead of
backward?

See the SET TERMINAL/BACKSPACE command on OpenVMS V8.2
and later.

This behaviour involves the Motif virtual key bindings.
When a Motif application starts, it looks at the vendor
string returned in the display connection information
and attempts to match the string to a table of virtual
bindings.

You can override the default bindings in your
decw$xdefaults.dat file. Here is the entry you would
make to get the default VMS bindings.





11-10







DECwindows




*defaultVirtualBindings:\
osfCancel : <F11> \n\
osfLeft : <Left> \n\
osfUp : <Up> \n\
osfRight : <Right> \n\
osfDown : <Down> \n\
osfEndLine :Alt <Right> \n\
osfBeginLine :Alt <Left> \n\
osfPageUp : <Prior> \n\
osfPageDown : <Next> \n\
osfDelete :Shift <Delete> \n\
osfUndo :Alt <Delete> \n\
osfBackSpace : <Delete> \n\
osfAddMode :Shift <F8> \n\
osfHelp : <Help> \n\
osfMenu : <F4> \n\
osfMenuBar : <F10> \n\
osfSelect : <Select> \n\
osfActivate : <KP_Enter> \n\
osfCopy :Shift <DRemove> \n\
osfCut : <DRemove> \n\
osfPaste : <Insert>

To merge:

$ xrdb :== $decw$utils:xrdb.exe
$ xrdb -nocpp -merge decw$xdefaults.dat

Also note that the DECW$UTILS:DECW$DEFINE_UTILS.COM
procedure can be used to establish the xrdb and other
symbols.

Also see the DECxterm directory of Freeware V5.0 for
details on connecting to OpenVMS from various UNIX
platforms.

For other keymapping information, see Section 11.7.1.







11-11







DECwindows



__________________________________________________________
11.8 Why doesn't XtAppAddInput() work on OpenVMS?

Yes, XtAppAddInput() does work on OpenVMS. The MIT
definition of the X Windows call XtAppAddInput()
includes platform-specific arguments.

On platforms where C is the typically the primary
programming language for the platform, the file
descriptor mask is one of the arguments to the
XtAppAddInput() call.

On OpenVMS, the platform-specific arguments to this
call include an event flag and an IOSB, as these are
the traditional OpenVMS constructs used to synchronize
the completion of asynchronous operations. While it
would be easier to port non-OpenVMS C code that calls
XtAppAddInput() over to OpenVMS if the arguments
included the C file descriptor, this would make the
call unusable from other OpenVMS languages, and would
make it extremely difficult to use OpenVMS features
such as ASTs and sys$qio calls.

One restriction on the event flag: the event flag
chosen must be from event flag cluster zero. When using
the traditional lib$get_ef and lib$free_ef calls to
allocate and deallocate event flags, you must first
explicitly call lib$free_ef to free up some event flags
in event flag cluster zero. Please see the event flag
documentation for specific details on these calls and
for specific event flags that can be freed in event
flag cluster zero.

Here is some example code that covers calling this
routine on OpenVMS:










11-12







DECwindows




m->InputID = XtAppAddInput(
m->AppCtx,
m->InputEF,
m->InputIosb,
the_callback, 1 );
if ( !((int) m->InputID ))
{
XtAppErrorMsg(
m->AppCtx,
"invalidDevice",
"XtAppAddInput",
"XtToolkitError",
"Can't Access Device",
(String *) NULL,
(Cardinal *) NULL );
...

__________________________________________________________
11.9 Why do the keyboard arrow keys move the DECwindows cursor?

Congratulations, you have just stumbled into "dead
rodent" mode. This DECwindows environment-where the
keyboard arrow keys move the mouse cursor and where
the [SELECT], [PREV], and [NEXT] keys emulate the three
mouse buttons-allows rudimentary system operations when
the mouse is among the casualties.

To enter or exit "dead rodent" mode, enter the
following: <CTRL/SHIFT/F3>

__________________________________________________________
11.10 Why does half my DECwindows display blank?

This is likely a result of receiving an OPCOM or other
console message on a system that shares the system
console with the DECwindows graphics workstation
display.

You can toggle off the console display window using
<CTRL/F2> and you can enable a serial console per
Section 14.3.6 or Section 14.3.3.3.



11-13







DECwindows




Also see the console message window application
available with recent DECwindows versions-DECwindows
versions V1.2-3 and later will enable this window
by default. For details on this console message
window, see the DECW$CONSOLE_SELECTION option in
SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE.

On older releases, you can disable output using the
following:

$ SET TERMINAL/PERMANENT/NOBROADCAST OPA0:
$ DEFINE/USER SYS$COMMAND OPA0:
$ REPLY/DISABLE

Also see Section 14.3.3.2, Section 14.17, and Also see
Section 8.4,

__________________________________________________________
11.11 %DECW-W-NODEVICE, No graphics device found on this
system?

To resolve the following error:

%DECW-W-NODEVICE, No graphics device found on this system
-DECW-I-NODECW, DECwindows graphics drivers will not be loaded

o Ensure that the system parameter WINDOW_SYSTEM is
set to 1. If it is not set to a value of 1, issue
the commands:

$ run sys$system:sysgen
USE CURRENT
SET WINDOW_SYSTEM 1
WRITE ACTIVE
WRITE CURRENT
EXIT

Then reboot the system.

o On OpenVMS Alpha, ensure the SYSMAN IO PREFIX LIST
is set correctly, and specifically ensure the DECW$
prefix is included in the existing list. If it is
not, you will need to add it:

11-14







DECwindows




$ run sys$system:sysman
IO SHOW PREFIX
IO SET PREFIX=(DECW$,*) * = list returned by the show command
IO AUTO/LOG
EXIT

o Ensure that the image SYS$SHARE:DECW$ICBM.EXE is
installed in memory. If it is not installed, then
install it:

$ INSTALL LIST/FULL SYS$SHARE:DECW$ICBM
$ INSTALL REPLACE SYS$SHARE:DECW$ICBM
$ EDIT SYS$MANAGER:SYCONFIG.COM

$! The following line was added to install
$! support for the Mach64 Graphics Card
$!
$ INSTALL REPLACE SYS$SHARE:DECW$ICBM
$ ^Z

Then reboot the system.

The ICBM mechanism is not used on and not needed by
more recent DECwindows versions.

o If the system still complains "%DECW-W-NODEVICE, No
graphics device found on this system", then:

o Boot the system as normal

o Login as SYSTEM.

o Create the file SYS$COMMON:[SYSMGR]DECW$USER_
AUTOCONFIG.DAT. Protection must permit world read
access.

o Add the following string on the very first line:

CLEAR_PFLAG = ISA_4BYTE

o Save the file

o Set the file protections

$ SET PROTECTION=W:RE SYS$MANAGER:DECW$USER_AUTOCONFIG.DAT

o Reboot the system

Also see Section 11.5.

11-15







DECwindows



__________________________________________________________
11.12 How can I reset the warning bell volume?

With DECwindows CDE drivers and ECOs starting with ECOs
for the DECwindows keyboard driver SYS$IKBDRIVER.EXE
in OpenVMS Alpha V7.1-2 and V7.2-1 and with the
SYS$IKBDRIVER.EXE included in OpenVMS V7.2-1H1 and
later, the DECwindows CDE controls will now correctly
manage the setting of the warning bell volume.

Unfortunately, the equivalent controls in the older
DECwindows Motif interface are not compatible and can
no longer manage the warning bell volume.

If you need to manage the volume with DECwindows Motif,
consider using the following approach:

$ @decw$utils:decw$define_utils
$ xset b 1 100 100

The numerics are the volume, pitch, and duration,
respectively.

Why? When OpenVMS first started supporting the PC-style
keyboards, the X Windows Server and the keyboard driver
interface did not support the pitch and duration, and
neither did DECwindows Motif. The DECwindows keyboard
driver was accordingly changed to use the volume from
the keyclick setting (keyclick is not available in
a PC-style keyboard) and the bell volume setting to
control the pitch and duration.

DECwindows CDE does provide sliders for setting pitch
and duration, so the keyboard driver and X Windows
Server were modified to provide all of the information,
and now the DECwindows CDE sliders work. This change is
unfortunately incompatible with the old scheme used on
the pre-CDE desktops, and the volume controls are now
incompatible with the current keyboard drivers. Hence
the use of xset.





11-16







DECwindows



__________________________________________________________
11.13 How can I alter the DECwindows CDE backdrop?

To select a separate backdrop to be displayed on each
screen using DECwindows CDE:

o Click on the Application Manager. This is the drawer
icon on the CDE toolbar.

o Click on Desktop Tools

o Click on Set Default Screen and select the required
screen

o Click on the Style Manager. This is the one
containing the mouse and ttt on the CDE toolbar

o Now change the background.

__________________________________________________________
11.14 How can I enable the DECwindows TCP/IP Transport

To configure the TCP/IP transport for DECwindows,
first ensure that a TCP/IP package is installed and
configured. Then set the DCL symbol DECW$SERVER_
TRANSPORTS in SYS$MANAGER:DECW$PRIVATE_SERVER_
SETUP.COM to the appropriate local value, based on
the comments in that file. If you do not have a copy of
SYS$STARTUP:DECW$PRIVATE_SERVER_SETUP.COM, the use the
following COPY command to create this file based on the
provided template file:

$ COPY SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.TEMPLATE -
$_ SYS$COMMON:[SYSMGR]DECW$PRIVATE_SERVER_SETUP.COM

__________________________________________________________
11.15 Can I use DECwindows 1.2-* on OpenVMS V7.3-2 or later?

The short answer is no.

OpenVMS Alpha V7.3-2 only supports DECwindows Motif
V1.3 and later. If you require DECwindows V1.2-6 or
earlier, then you are limited to operations on OpenVMS
Alpha V7.3-1 and earlier releases.

The central technical reason involves depdendencies
among the parts of the X11 subsystem that are delivered
with the base OpenVMS operating system including the X
Windows display server and the transport images, and

11-17







DECwindows




the parts of the DECwindows product that are delivered
within the DECwindows installation kits including the
client libraries and the DECwindows applications.

DECwindows V1.3 and later made substantial changes to
the transport layer, and these required corresponding
changes to both the associated client and server code.
OpenVMS Alpha V7.3-2 includes the server and transport
with the V1.3 modifications. These changes were in
support of the upgrade of Xlib from X11R5 to X11R6.6,
and transport-level changes associated with support of
the Kerberos and LBX features.

If you attempt to load DECwindows V1.2-6 images onto an
OpenVMS Alpha V7.3-2 or later system, the DECwindows
libraries will not function with with system images
and will particularly not function with the transport
layer.

__________________________________________________________
11.16 How to add Fonts into DECwindows?

The following assumes DECwindows V1.3-1 and OpenVMS
Alpha V7.3-2 and later unless stated otherwise, and can
permit fonts of various formats to be added into the
DECwindows environment.

The recommended location for user font files is to
place them in the directories which are reserved
for this purpose, typically located below the
SYS$COMMON:[SYSFONT.DECW] directory.

SYS$COMMON:[SYSFONT.DECW.USER_100DPI]
SYS$COMMON:[SYSFONT.DECW.USER_75DPI]

The above are recommended for PCF files of 100 Dots Per
Inch (DPI) and of 75 DPI resolution, respectively.

SYS$COMMON:[SYSFONT.DECW.USER_COMMON]

The above is recommended for other PCF files, such
as terminal (character cell) fonts, and fonts used by
specific applications.

SYS$COMMON:[SYSFONT.DECW.USER_CURSOR16]
SYS$COMMON:[SYSFONT.DECW.USER_CURSOR32]

11-18







DECwindows




The above are recommended for cursors.

SYS$COMMON:[SYSFONT.DECW.USER_SPEEDO]

SPEEDO is recommended for SPD files.

SYS$COMMON:[SYSFONT.DECW.USER_TRUETYPE]

USER_TRUETYPE is recommended for TrueType (TTF)
fonts. Fonts placed in this directory should be in
the "Windows / Linux" format.

The directory will contain the font files themselves,
and a data file that describes each font in the
directory. This file is named DECW$FONT_DIRECTORY.DAT
or DECW$FONT_DIRECTORY_extension.DAT, where "extension"
is replaced by the type of font (100DPI, SPEEDO,
TRUETYPE, TYPE1, etc.)

Make sure that the file protection on the font files is
set to allow world access to the fonts.

For example: to add TrueType fonts to DECwindows,
place the font files in SYS$COMMON:[SYSFONT.DECW.USER_
TRUETYPE]

A directory listing might look like this:

Directory SYS$COMMON:[SYSFONT.DECW.USER_TRUETYPE]

ARKOI8N.TTF;1 46KB/48KB 5-MAR-1995 04:00:00.00
backstage.ttf;1 55KB/56KB 19-JUL-2004 09:42:20.92
IDAutomationHC39M_Free.ttf;1 27KB/32KB 29-JUL-2003 11:25:48.00
...
texsi.ttf;1 133KB/136KB 25-MAY-2003 15:31:11.00
texw.ttf;1 150KB/152KB 25-MAY-2003 15:32:33.00

Total of 37 files, 3.09MB/3.23MB

The case of the filename is not important.

TrueType fonts should be in Stream_LF file format.

To generate the appropriate DECW$FONT_DIRECTORY.DAT
file for most font formats, issue the command:

$ FONTCOMPILER /DIRECTORY

11-19







DECwindows




The above may or may not operate with TrueType files,
and you will likely have to generate the DECW$FONT_
DIRECTORY_TRUETYPE.DAT file manually. A sample file
follows:

37
BACKSTAGE.ttf -Grfonts-Backstage-bold-r-normal--0-0-0-0-p-0-iso8859-1
IDAutomationHC39M_Free.ttf -IDAutomation-HC39M-medium-r-normal--0-0-0-0-m-0-misc-Barcode39
SUSESerif-Bold.ttf -Suse-Suse-bold-r-normal--0-0-0-0-p-0-iso8859-1
SUSESerif-Roman.ttf -Suse-Suse-medium-r-normal--0-0-0-0-p-0-iso8859-1
SUSESans-Bold.ttf -Suse-Suse-bold-r-normal-sans-0-0-0-0-p-0-iso8859-1
SUSESans-BoldOblique.ttf -Suse-Suse-bold-o-normal-sans-0-0-0-0-p-0-iso8859-1
SUSESans-Oblique.ttf -Suse-Suse-medium-o-normal-sans-0-0-0-0-p-0-iso8859-1
SUSESans-Roman.ttf -Suse-Suse-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1
SUSESansMono-Bold.ttf -Suse-Suse Mono-bold-r-normal-sans-0-0-0-0-m-0-iso8859-1
...
MCTIMEBI.TTF -UOregon-MAC C Times-bold-i-normal--0-0-0-0-p-0-macedonian-0
MCTIMEI.TTF -UOregon-MAC C Times-medium-i-normal--0-0-0-0-p-0-macedonian-0

The first line of this data file is the number of
font file entries which follow. Each entry consists
of the font file name, and a font description. There
are fourteen fields in the description, separated by
hyphens (dashes, "-"). Fields may contain embedded
spaces. The fields are

o Foundry: the name of the company or person which
produced the font.

o Family: the name of the Typeface (what most people
will call the "font").

o Weight: How "heavy" the type appears. Normal fonts
are "medium" or "regular", variations include
"bold", "demi", "light", etc.

o Slant: "r" for regular, "i" for italic, or "o" for
oblique.

o Width: "normal", "wide", "narrow", "condensed", etc.

o Style: normally left empty, it can also identify
variations on a basic family such as "sans" (sans
serifs; without the serif, the ending and usually
pointed portion of the stroke). Fonts of different
styles can be grouped in the same family.

11-20







DECwindows




o Sizes: the next four fields identify the size and
scale of individual characters for fonts that have
fixed point sizes. For fonts which scale (such as
TrueType), the four fields are all zero.

o Spacing: "p" for proportional, "m" for monospaced,
or "c" for character cell.

Note: although DECwindows can identify different
spacings within a family, the author has found that
mixing monospaced and proportional fonts in the same
family may cause some proportional font options to
not appear in a font selection menu within Notepad
(only). (A fix for this is expected in DECwindows
V1.5 and later.)

o The next field is always zero for TrueType fonts.

o Character Set: the last two fields identify the name
and version number of the character set represented
within the font. For many applications, these fields
are informational only.

The next step is to update the list of fonts known to
DECwindows, using the xset utility.

$ mc decw$utils:xset fp rehash

It is also possible to reset the font list to the
default:

$ mc decw$utils:xset fp default

This is useful if you need to recover from errors.

The Notepad utility, normally available through the
"Applications" menu in Session Manager, is a convenient
way to see if the font is available. Start the
application, select "Options", then select "Font...".
In the "Family (Foundry)" window, you will see the
list of fonts available. User-added TrueType fonts will
normally be at the end of this list. Select the desired
font family, then select the Size (dpi) (which will
always be 0(0) for TrueType fonts), and the various
font options (Weight, Slant, Width, etc.) should appear
in the next window. You should then be able to select
the desired font and click <OK> or <Apply> to use it,
or <Cancel> to exit without changing the font.

11-21







DECwindows




If you don't see all of the fonts you added, check to
see that the number at the beginning of the DECW$FONT_
DIRECTORY*.DAT file is correct, that the files are set
to world (or appropriate) access, and that TrueType
fonts are in Stream_LF format.

Some applications require entering a full font name,
which will look like the font description entry.

Please keep in mind that not all applications can use
every font which may be available on your system.
For example, DECterm is designed to use families
of fonts specifically designed for character cell
applications. Other fonts (specifically TrueType)
may work erratically, and may result in an unusable
display. It is best to use only monospaced fonts
specifically intended for DECterm with DECterm.

The SYS$COMMON:[SYSFONT.DECW.USER_TRUETYPE] doesn't
exist on OpenVMS VAX V7.3 with DECwindows V1.2-6,
but the procedure above does appear to work if the
directory is created and the instructions above are
followed.





















11-22












_______________________________________________________

12 Miscellaneous Information



__________________________________________________________
12.1 Where can I find information on escape and control
sequences?

Information on escape and control sequences can be
found in the OpenVMS I/O User's Reference Manual, in
the chapter on the terminal driver. The chapter also
includes details on the general format and content of
these sequences.

Specific details on the escape and control sequences
supported by a particular serial device are typically
found in the documentation provided with the specific
device. Information on the sequences supported by
DECwindows DECterm terminal emulator are included in
the DECwindows documentation.

Examples of common escape and control sequences-
those typically used by the OpenVMS screen management
package-can be found in the OpenVMS system file
SYS$SYSTEM:SMGTERMS.TXT. (This file can be queried
under program control using SMG$GET_TERM_DATA, and you
don't need to use all of SMG to use this call.)

The following refers to the function keys on the LK-
series keyboards found on the VT-series terminals such
as the VT220 and VT510, and the LK-series keyboards
found on the OpenVMS workstations, and the keyboards
found on compatible terminals. (Though note that the
keyboard itself does not generate the sequence, the
terminal or terminal emulator generates the sequence
in response to user input.) In the following, {CSI} is
decimal code 155 and can be replaced by the sequence
"{ESC}[" (without the quotes) particularly for seven-
bit operations, SS3 is decimal code 143 and can be
replaced by "{ESC}O" particularly for seven-bit
operations. Older VT1xx series terminals and any
other terminals operating with seven-bit characters

12-1







Miscellaneous Information




should not be sent eight-bit operators such as {CSI}
and {SS3}.

PF1={SS3}P PF2={SS3}Q PF3={SS3}R PF4={SS3}S
KP0={SS3}p KP1={SS3}q KP2={SS3}r KP3={SS3}s KP4={SS3}t KP5={SS3}u
KP6={SS3}v KP7={SS3}w KP8={SS3}x KP9={SS3}y KPCOMMA={SS3}l KPMINUS={SS3}m
KPPERIOD={SS3}n ENTER={SS3}M DNARROW={CSI}B UPARROW={CSI}A LFARROW={CSI}D
RTARROW={CSI}C FIND={CSI}1~ INSERT={CSI}2~ REMOVE={CSI}3~ SELECT={CSI}4~
PREV={CSI}5~ NEXT={CSI}6~ F6={CSI}17~ F7={CSI}18~ F8={CSI}19~ F9={CSI}20~
F10={CSI}21~ F11={CSI}23~ F12={CSI}24~ F13={CSI}25~ F14={CSI}26~
HELP={CSI}28~ DO={CSI}29~ F17={CSI}31~ F18={CSI}32~ F19={CSI}33~ F20={CSI}34~

An example of working with escape sequences (in DCL)
follows:

$ esc5m = "*[5m"
$ esc5m[0,8] = 27
$ esc0m = "*[0m"
$ esc0m[0,8] = 27
$ write sys$output esc5m + "blinking text" + esc0m

Documentation on an ANSI terminal relatively similar to
the VT525 series is available at:

o ftp://ftp.boundless.com/pub/text/adds/docs/260_prog/

o ftp://ftp.boundless.com/pub/text/adds/docs/260_user/

Also see the various documentation and manuals
available at:

o http://www.vt100.net/

Information on the ReGIS graphics character set is
available at:

o http://www.cs.utk.edu/~shuford/terminal/dec_regis_
news.txt

Also:

o http://www.boundless.com/Text_Terminals/VT/

Also see Section 11.6, Section 8.13.

12-2







Miscellaneous Information



__________________________________________________________
12.2 Does DECprint (DCPS) work with the LRA0 parallel port?

No.

The parallel printing port LRA0: found on many
OpenVMS Alpha systems is capable of some bidirectional
communications, with enough for basic operations with
most parallel printers.

DECprint (DCPS) requires more than just the simple
handshaking provided by the LRA0: port, therefore DCPS
does not work with the LRA0: port.

__________________________________________________________
12.3 How do I check for free space on a (BACKUP) tape?

You cannot know for certain, though you can certainly
estimate the remaining capacity.

Tape media is different than disk media, as disks
have a known and pre-determined fixed capacity. Modern
disks also appear logically perfect, based on bad block
revectoring support and the extra blocks hidden within
the disk structure for these bad block replacements.

The capacity of tape media is not nearly as pre-
determined, and the capacity can vary across different
tape media (slightly different media lengths or
different foil markers or other variations, for
instance) and even on the same media over time (as bad
spots in the media arise). Tapes can vary the amount of
recording media required, depending on the remaining
length of the tape, the numbers of correctable and
uncorrectable media errors that might occur, the
numbers and sizes of the inter-record gaps and related
tape structure overhead, the particular media error
recovery chosen, the tape density, the efficiently of
any data compression in use, and the storage overhead
required by BACKUP, tar, and other similar commands.

BACKUP using with the default settings results in
approximately 15% overhead, in terms of saveset size.
(eg: Assuming a 500 KB input, the total size would be
575 KB.)

Assuming no compression:
4 GB media / 575 KB saveset = 7294 savesets

12-3







Miscellaneous Information




Assuming 1:2 compression:
8 GB media / 575 KB saveset = 14588 savesets

Note

There are no inter-record gaps on DAT tapes. When
determining media capacity, you have to consider
these gaps with nine-track magtape media and
other formats with gaps. This is not the case
with DAT (DDS), as the format has no recording
gaps. However, the block structure underneath
the variable length record recording is based on
a block size of circa 124 KB. Further, writing
doubles filemarks and such can cause a loss of
up to the underlying block size. Thus even though
there are no inter-record gaps on DAT, larger
savesets are still usually best.

The compression algorithms used on various devices are
generally not documented-further, there is no way to
calculate the effective data compression ratio, the
tape mark overhead, and similar given just the data
to be stored on tape-short of actually trying it, of
course.

A typical compression ratio found with "everyday" data
is somewhere around 1:1.8 to 1:2.

Note

OpenVMS often uses the term COMPACTION for
compression control, as in the qualifier /MEDIA_
FORMAT=COMPACTION.

__________________________________________________________
12.4 Correctly using license PAKs and LMF?

If you have multiple LMF$LICENSE.LDB databases in
your OpenVMS Cluster, then each and every PAK must
be installed in each and every license database present
in an OpenVMS Cluster. Even if you use /EXCLUDE or
/INCLUDE, you need to have a consistent set of PAKs
registered across all licensing databases present in
the OpenVMS Cluster.

12-4







Miscellaneous Information




If your software license permits it, you can use the
following two commands to transfer license PAKs:

$ LICENSE COPY...
$ LICENSE ISSUE/PROCEDURE/OUTPUT=file product,...

To display the particular license(s) required (such as
when you receive a NOLICENSE error), use the following
DCL sequence:

$ SET PROCESS/PRIVILEGE=ALL
$ REPLY/ENABLE
$ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE

This logical name will cause all license failures
to generate OPCOM messages, and this will hopefully
show which license(s) you need- there may well also
be additional license failures displayed, as various
products can check for and can be enabled by multiple
license PAKs. You will want to deassign this logical
name when done.

Some of the more common license PAKs:

DECnet Phase IV: DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP*
DECnet-Plus: DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP*
TCP/IP Services: UCX, or NET-APP-SUP*
OpenVMS Alpha: OPENVMS-ALPHA and OPENVMS-ALPHA-USER
OpenVMS VAX: VAX-VMS
OpenVMS Galaxy: OPENVMS-GALAXY
Cluster (Alpha): VMSCLUSTER, NET-APP-SUP*
Cluster (VAX): VAXCLUSTER, NET-APP-SUP*

Various NET-APP-SUP (NAS) license packages are
available, each with differing collections of products
authorized. See the various NAS Software Product
Description (SPD) documents for specific details.

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

To determine which license PAK is failing (via a
license check failure OPCOM message), use the command:

$ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE TRUE

12-5


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 20:06:09 UTC
Permalink
Archive-name: dec-faq/vms/part8
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-08.TXT







Miscellaneous Information




Realize that defining this logical name will
cause license checks that are otherwise hidden
(unimplemented, latent, or part of a check for any
of a series of licenses) to become visible. In other
words, expect to see zero or more spurious license
check calls when you define this, in addition to the
check for the particular license.

For information on PAKGEN and on generating license
PAKs, please see Section 10.10. For information on
obtaining commercial and hobbyist licenses, and for
additional adminstrative information on LMF, please see
Section 2.8.4 and Section 2.8.1.































12-6












_______________________________________________________

13 Finding and Using Software



For information on programming on OpenVMS, see
Chapter 10.

__________________________________________________________
13.1 Where can I find freeware/shareware/software for OpenVMS?

o Details on many commercial OpenVMS products are
available in the catalog located at:

o http://www.hp.com/go/dspp_catalog

o The OpenVMS Freeware is is distributed with OpenVMS,
and is also available for download at various sites,
including the following:

o http://www.hp.com/go/openvms/freeware/

o ftp://ftp.montagar.com/

o ftp://mvb.saic.com/freewarev40/

and at various other sites. The website also
includes various updates and new packages that
become available after the CD-ROM distributions
are created.

Submissions to the OpenVMS Freeware can be made
via:

o http://www.hp.com/go/openvms/freeware/

To acquire the OpenVMS Freeware CD-ROM distribution,
you can order an OpenVMS distribution from HP (the
Freeware is included)(see the OpenVMS SPD for part
numbers), or you can specifically order a Freeware
distribution from HP under part number:

o QA-6KZAA-H8

The Freeware CD-ROM set contains a large assortment
of freeware, and is a good starting point if looking
for utilities. Many of the packages listed below
are also on the Freeware CD. Some of the most oft-
requested OpenVMS tools on the Freeware CD include

13-1







Finding and Using Software




ZIP and UNZIP and GZIP (please see Section 13.11,
MMK (make), PINE, PERL, TAR, UUENCODE and UUDECODE.
Many other tools are available on the Freeware.

o The UUENCODE and UUDECODE tools and various
other tools are also available as part of TCP/IP
Services package. (Use the DCL command procedure
SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM available on
V5.0 and later to set up the necessary DCL foreign
command symbols used for these and for various other
tools provided by TCP/IP Services.)

o OpenVMS software (formerly at Western Kentucky
University (WKU) is now available via Madgoat and
via Process Software archives:

o http://www.process.com/openvms/index.html

o http://www.madgoat.com/

o The FILESERV packages are also available via
anonymous FTP from:

o ftp://ftp.process.com/vms-freeware/

o ftp.process.com, under [.WKU.VMS.FILESERV].

o ftp.vms.stacken.kth.se, under
[.MIRRORS.WKU.VMS.FILESERV].

o ftp.ctrl-c.liu.se, under [.WKU.VMS.FILESERV].

o ftp.riken.go.jp

o ftp.vsm.com.au, under kits and kits/decwindows.

o ftp.vsm.com.au, via the WWW instead of FTP.

The packages are also available via e-mail from
***@PROCESS.COM. Send the commands HELP and
DIR ALL in the body of a mail message to this email
address for further information on retrieving the
files.

o Arne Vajhøj operates an OpenVMS website, with
software and other pointers, at:

o http://www.levitte.org/~ava/

13-2







Finding and Using Software




o Jouk maintains a summary of various public-domain
and open-source software ports, and specifically
ports of packages for use on OpenVMS, at:

o http://nchrem.tnw.tudelft.nl/openvms/

o The Kermit file transfer package is available at:

o http://www.columbia.edu/kermit/

o ftp://kermit.columbia.edu/

o ZMODEM is available at:

o ftp://ftp.cs.pdx.edu/pub/zmodem

See the FILES file in that directory for further
details. Note that this freeware version of ZMODEM
will interoperate only with ZMODEM software that is
licensed from Omen Technology. (This package is also
available on various of the Freeware distributions.)

o A good source of software for OpenVMS systems
and for various other platforms is the Encompass
(formerly known as DECUS) library. Online catalogs
are available as well as some software via

o ftp://ftp.decus.org

o gopher://gopher.decus.org/

o http://www.decus.org/

o DECUS SIG Tape collections are available on Mark
Berryman's system,

o ftp://mvb.saic.com/

o David Jones's DECthreads-based HTTP_SERVER World-
Wide Web server for OpenVMS, often known as the OSU
webserver:

o http://kcgl1.eng.ohio-
state.edu/www/doc/serverinfo.html

o Secure Shell (SSH) support for OpenVMS is available.
Use of SSH V2 with current updates is recommended,

13-3







Finding and Using Software




as the security of older SSH releases have been
compromised. Server for OpenVMS:

o Secure Shell (SSH) Server for OpenVMS:

o http://kcgl1.eng.ohio-
state.edu/~JONESD/ssh/DOC/

Secure Shell (SSH) FISH Client for OpenVMS:

o http://www.free.lp.se/fish/

SSH V2 support is included with TCP/IP Services
V5.4 and later, and support is likely also
available within available third-party IP stacks.

For information on the SSH key file
configuration, see topic 151.22 and following in
the VMS notes conference on the Deathrow Cluster
(deathrow.vistech.net and openvms-rocks.com).
You can telnet into the host, and an announced
anonymous login is/was available; username DEMO,
password USER.

Information on OpenSSL (SSLeay) for OpenVMS:

o http://www.free.lp.se/openssl/

o http://www.free.lp.se/fish/

Information on OpenSSL (SSLeay) and OSU Web server
interoperation:

o http://www.ourservers.net/openvms_ports/

OpenSSL is included with OpenVMS V7.3-1 and later.

o DECwindows Motif V1.2-3 includes NCSA Mosaic 2.4
built for TCP/IP Services (UCX). V1.2-4 includes
Spyglass Enhanced Mosaic, which supports many of
the Netscape enhancements. Versions of the Netscape
Navigator and particularly the Mozilla Web Browser
are also available for OpenVMS. The Compaq Secure
Web Browser (CSWB) kit is a packaged version of the
Mozilla.org Mozilla Web Browser.

o A port of the NCSA Mosaic web browser that supports
TCP/IP Services, Multinet and SOCKETSHR/NETLIB is
available from:

o ftp://wvnvms.wvnet.edu/mosaic/

13-4







Finding and Using Software




Versions of the Mosaic web browser are also
available on the Freeware.

o Lynx (a character-cell World-Wide-Web web browser)
is available from

o ftp://ftp2.cc.ukans.edu/pub/lynx

Versions of Lynx, a character-cell web browser, are
also available on the OpenVMS Freeware.

o The Netscape Navigator and Mozilla web browsers are
available at:

o http://www.openvms.compaq.com/ebusiness/Technology.html

o http://www.mozilla.org/

o PGP (Phil Zimmerman's "Pretty Good Privacy") is
available from various distribution sites, including
those listed in the PGP FAQ. Information on PGP and
on OpenVMS downloads of PGP is available. Relevant
URLs include:

o http://www.ipgpp.org/

o http://web.mit.edu/network/pgp.html

o http://www.pgpi.com/

o http://www.yrl.co.uk/~phil/pds/pds.html

o http://www.nai.com/

o GNU Privacy Guard (GPG, GnuPG) is available.

Search the comp.os.vms newsgroup archives for
information regarding GnuPG; the source code,
binaries for various platforms, and documentation
are all available at:

o http://www.gnupg.org/

The OpenVMS source code and OpenVMS Alpha images can
be found at:

o http://saf.bio.caltech.edu/pub/SOFTWARE/openvms/

o ftp://ftp.process.com/vms-freeware/mathog/

As of this writing, the port only runs on OpenVMS
Alpha, but an investigation of an OpenVMS VAX port
is reportedly under consideration.

13-5







Finding and Using Software




o An archive of the CENA DECwindows, X Windows, and
VMS software packages can be found at the following
sites:

o http://decwarch.free.fr/

o ftp://ftp2.cnam.fr/decwindows/

o ftp://ftp.ctrl-c.liu.se/decwindows/

o ftp://ftp.vms.stacken.kth.se/mirrors/decwindows/

o http://www.multimania.com/pmoreau/decw/

Other FTP mirror sites for the DECwindows archive
include:

o axp.psl.ku.dk (Multinet)

o ftp2.cnam.fr (MadGoat)

ftp.x.org (in /contrib/vms) is effectively not a
mirror, but it does have various OpenVMS packages
from the DECwindows archive.

A list of the http mirror sites for the DECwindows
archive is available at:

o http://axp616.gsi.de:8080/wwwar/cena/decwindows/cena.html

Various of these packages are also available on the
Freeware.

o ImageMagick is an X11 package for display and
interactive manipulation of images. The package
includes tools for image conversion, annotation,
compositing, animation, and creating montages.
ImageMagick can read and write many of the more
popular image formats (e.g. JPEG, TIFF, PNM, XPM,
Photo CD, etc.).

o http://www.imagemagick.org/

Versions of ImageMagick are also included on the
Freeware.

o XV is a image viewing and editing tool and is
available from:

o ftp://ftp.cis.upenn.edu/pub/xv

o http://www.sanface.com/

13-6







Finding and Using Software




o ftp://www-pi.physics.uiowa.edu/~dyson/xv/

o Many software packages are available for displaying
various bitmap files (.JPG, .GIF, .BMP, etc) on
OpenVMS. Xloadimage, Xli, Xv, ImageMagick are the
most common tools used under OpenVMS. Various web
browsers such as Mozilla (qv) can also display
various file formats on OpenVMS. You can find some
of these tools at the DECwindows Archive:

o http://www.multimania.com/pmoreau/decw/index.html

o http://www.multimania.com/pmoreau/decw/images.html

o GHOSTSCRIPT (gs) and GHOSTVIEW (gv) are available
from the Freeware V5.0 and Freeware V6.0
distributions:

o http://www.hp.com/go/openvms/freeware/

Versions are also available on the Freeware.

Also see:

o http://www.cs.wisc.edu/~ghost/gnu/

o XPDF, a DECwindows viewer for PDF (Adobe Acrobat)
files, is available from:

o http://www.foolabs.com/xpdf/

Software and installation kits for XPDF are also
available on the Freeware.

Beware: the XPDF tool included on OpenVMS Freeware
V4.0 is dated, and has been found to have various
bugs. Use the Freeware V5.0 version of the XPDF kit,
or (better) later.

A Java-based PDF viewer is available from Adobe,
and is known to operate on recent OpenVMS Alpha
releases:

o http://www.adobe.com/

o Various OpenVMS-related tools-both freeware and
shareware-such as txt2pdf-are available from at:

o http://www.sanface.com/

13-7







Finding and Using Software




o The MPEG library version 1.1 is available for
OpenVMS VAX and Alpha at

o ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.readme

o ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.zip

Various MPEG players and related tools are available
on the Freeware.

o An Archie clone is available at INFO.CS.PUB.RO.
Telnet to that machine, and login as VMSARCI. It
contains now listings for over 30 ftp servers with
over 14 gigabytes of OpenVMS software.

The most useful commands are LIST, which generates a
list of scanned ftp servers, and FIND string, whichs
looks for a file containing "string" in the name;
the search modes are only "substring" [default] and
"exact", and regex search is not supported (so FIND
EMACS will work, but FIND *EMACS* or FIND *EMACS*.*
will not). The search is case-insensitive.

The maintainer of the site (***@roipb.cs.ipb.ro)
requests that anyone submit notifications of FTP
servers with OpenvMS software that are not listed on
the site.

o The Levitte (extended :-) Family (and OpenVMS)
website:

o http://www.levitte.org/

o http://www.levitte.org/~ava/

o Robert Alan Byer's OpenVMS Hobbyist Systems,
including OpenVMS public domain software and various
ports:

o http://www.ourservers.net/

o CalTech Software Archives:

o http://saf.bio.caltech.edu/pub/software/openvms/aaa_
contents.txt

o DJE Systems Website (David J. Dachtera)

o http://www.djesys.com/freeware/vms/

o Web Servers:

13-8







Finding and Using Software




Apache Web server (HP Secure Web Server (SWS,
formerly CSWS)):

o http://www.openvms.compaq.com/ebusiness/Technology.html

o http://www.er6.eng.ohio-
state.edu/~jonesd/apache/1_3_9/

The SOAP Toolkit is available at the OpenVMS
website.

OSU Web server

o http://www.er6.eng.ohio-
state.edu/www/doc/serverinfo.html

o http://www.kjsl.com/archives/

o email list: VMS-WEB-daemon-***@KJSL.COM

WASD Web server

o http://wasd.vsm.com.au/wasd/

Purveyor Web server:

o email list: ***@cjis.ci.lincoln.ne.us, no
subject, one line message: SUBSCRIBE PURVEYOR

FastCGI software is available from:

o http://www.DigitalSynergyInc.com/

o CD-R (CD-Recordable) media tools are available,
please see Section 9.7.

o Grace (WYSIWYG 2D plotting tool)

o http://plasma-gate.weizmann.ac.il/Grace/

o The POV-Ray ("Persistance of Vision" Raytracer) ray-
tracing graphics package is available on the OpenVMS
Freeware.

o Majordomo mailing list handler:

o http://www.openvms.compaq.com/ebusiness/Technology.html

o PINE (OpenVMS tools for sending and receiving MIME
mail):

o ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/

o http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/

13-9







Finding and Using Software




A MIME tool is available in OpenVMS V7.2 and later.

Also see the mmencode base64 encode and decode
available at:

o http://nucwww.chem.sunysb.edu/htbin/software_
list.cgi

o Menufinder (menu-driven system management
environment):

o http://www.itre.com/mf/download.html

o SYSLOGCLIENT (a client for processing SYSLOG
requests) has been provided for download by Mark
Hemker at:

o http://home.insightbb.com/~hemker/vms.html

o tcgmsg, pvm, mpi, linda:

o ftp://v36.chemie.uni-konstanz.de/tcgmsg_
vms/tcgmsg_vms.zip

o OpenVMS software that can control a Tripp-Lite
Uninterruptable Power Supply (UPS) is available
from:

o http://saf.bio.caltech.edu/pub/software/openvms/tcontrol.zip

UPShot web-based software for controlling a UPS is
available from:

o http://www.tmesis.com/apc/beta.htmlx

OpenVMS software for controlling Liebert UPS devices
are available from the Liebert website:

o http://www.liebert.com/apc/beta.htmlx

o Examples of using the OpenVMS Foreign MAIL interface
are available at:

o http://www.hhs.dk/anonymous/pub/vms/collection/foreignmail.zip

o http://www.hhs.dk/anonymous/pub/vms/nbl/nbl.zip

o For tools to manage or to search your OpenVMS MAIL
file, see:

o http://vms.process.com/scripts/fileserv/fileserv.com?MLSEARCH

13-10







Finding and Using Software




o AscToHTM attempts to convert any plain text file to
HTML, while AscToTab restricts itself to files that
are plain text tables. (Versions are also availabe
on the OpenVMS Freeware).

o http://www.jafsoft.com/asctohtm/index.html

o http://www.jafsoft.com/asctotab/index.html

o Information on the SAMBA package, a package that
provides SMB-based Microsoft Windows PC disk and
print services for OpenVMS, is available at:

o http://ifn03.ifn.ing.tu-bs.de/ifn/sonst/samba-
vms.html

o http://www.samba.org/

o http://www.hp.com/go/openvms/freeware/

To subscribe to the SAMBA-VMS mailing list e-mail
***@samba.org with no subject line and the
following single line of text:

subscribe samba-vms Your Full Name

Also see:

o http://lists.samba.org/

o The Perl language is available for OpenVMS, see
Section 13.9 for details.

o XML is available for OpenVMS.

Source code of an XML Parser is available from
Oracle.

Also see:

o http://www.python.org/sigs/xml-sig/

An XML parser is available as part of OpenVMS V7.3
and later.

o Python kit, and resource, and documentation sites
include:

o http://www.pi-net.dyndns.org/anonymous/kits/

o http://vmspython.dyndns.org/

o http://www.python.org/

13-11







Finding and Using Software




o GTK+ (The GIMP GUI Tookit) for OpenVMS:

o http://www.openvms.compaq.com/ebusiness/Technology.html

o The OpenVMS Porting Library now available, and
is intended to permit easier porting of C and C++
applications from UNIX systems to OpenVMS:

o http://www.openvms.compaq.com/ebusiness/Technology.html

GTK is also available.

o Mlucas (specialized FFT):

o ftp://hogranch.com/pub/mayer/README.html

o Tools to monitor the terminals and the activity
of other OpenVMS users (in addition to existing
auditing capabilities in OpenVMS) are available.
Peek and Spy (Networking Dynamics) and Contrl
(Raxco) are two of the commercial packages, while
the freeware Supervisor package is available on
OpenVMS VAX.

o http://www.networkingdynamics.com/

o http://www.raxco.com/

o Python for OpenVMS:

o http://www.python.org/

Also see the OpenVMS Freeware.

o Various packages for OpenVMS:

o http://richj.home.mindspring.com/richware/index.html

o http://www3.sympatico.ca/n.rieck/links/cool_vax_
vms.html

o TSM (Terminal Server Manager) is available via:

o http://www.compaq.com/support/digital_networks_
archive/servers/tsm/index.html

o Look at Freeware V5.0 at
http://www.hp.com/go/openvms/freeware/

13-12







Finding and Using Software




o Beware: The TSM saveset shipped on the Freeware
V5.0 disk media is known to be corrupted.
Download a new copy of the saveset from the
Freeware V5.0 FTP server or from the Freeware
V5.0 website.

o TCL for OpenVMS:

o ftp://sapodilla.rsmas.miami.edu/pub/VMS-tcl/

o make, gmake, mmk and other build tools are available
on the Freeware.

o An OpenVMS port of the ht://Dig web search engine is
available at:

o ftp://ftp.pdv-systeme.de/vms/

o A mySQL database client is available at:

o http://mysql.holywar.net/Downloads/MySQL-
3.22/mysql-3.22.25-clients-vms.zip

o http://mysql.holywar.net/Downloads/MySQL-
3.22/mysql-3.22.25-clients-vms.readme

For additional information related to the mySQL
port, please search the comp.os.vms newsgroup
archives. A MySQL port is also available on the
OpenVMS Freeware.

o http://www.hp.com/go/openvms/freeware/

o If you need to change the file modification date
and are looking for a utility such as the UNIX touch
tool, look at DFU on the OpenVMS Freeware (DFU SET
or simular), or use an existing DCL commands such
as:

$ SET FILE/PROTECT=(current_protection_mask) [...]*.*

o A table listing translations between UNIX shell and
OpenVMS DCL commands was posted to comp.os.vms by
Christopher Smith some time ago. This page should be
available from the google newsgroup archives.

For information on and the status of the OpenOffice
port for OpenVMS, please see:

o http://www.oooovms.dyndns.org

13-13







Finding and Using Software




o The UNIX touch tool is available via various means:

$ RENAME filename.ext;version *

o http://nucwww.chem.sunysb.edu/helplib/@hvmsapps/TOUCH

MadGoat FILE tool (see the MadGoat archives)

o use /REVISION_DATE or /CREATION_DATE

o The DFU tool (see the OpenVMS Freeware)

o The pair:

$ set file 'p1' /acl=(ident=[system],access=none)
$ set file 'p1' /acl=(ident=[system],access=none) /delete

$ SET FILE/VERSION=0

o The following touch hack:

$! Command procedure SETDATE.COM
$!
$! Changes the DATES for an input file to a
$! file named OUTFILE.
$!
$assign/nolog 'p1' outfile
$convert/fdl=sys$input 'p1' outfile:
date
creation 01-apr-2010
expiration 01-Apr-2012
revision 01-Apr-2011
backup
...

o The following RMS system service sequence:

o sys$open(), with the XABRDT XAB structure
chained.

o set the desired values within the XABRDT XAB.

o sys$close()

Various OpenVMS tools and utilities are available at:

o http://wwwvms.mppmu.mpg.de/vmssig/src/

OpenVMS ports of the xmcd and MPlayer tools have also
been reported as available.

13-14







Finding and Using Software



__________________________________________________________
13.2 Where can I find UNIX tools for OpenVMS?

There are OpenVMS DCL and UNIX shell command comparison
tables posted at:

o http://wwwvms.mppmu.mpg.de/vmsdoc/UNIX_VMS_CMD_
XREF.HTML

o http://www.mcsr.olemiss.edu/unixhelp/VMStoUNIX.html

The GNV package (Section 13.2.6) and the various C
library calls available in current/recent libraries are
the replacement for the POSIX package.

_____________________________
13.2.1 C system and library routines

Common C system and library routines are present in the
DEC C run-time library, which is available for V5.5 and
later, and is shipped in V6.1 and later. DEC C is the
upgrade for VAX C, DEC C and VAX C can coexist on the
same system OpenVMS VAX system, and both compilers can
be enabled via the "C" license PAK.

Also see SYS$EXAMPLES:, and (if either is installed)
the DECW$EXAMPLES: and TCPIP$EXAMPLES (or prior to
V5.0, UCX$EXAMPLES:) areas.

The HP C Run-Time Library documentation is now part
of the OpenVMS Operating System Documentation, and
separate from the HP C compiler documentation.

o http://www.hp.com/go/openvms/doc/

Additionally, there have been large-scale increases to
the capabilities and features available within recent
HP C compilers. If you have not taken the opportunity
to skim the current C compiler documentation, you
may well be surprised with the sheer volume of new
C capabilities discussed there.




13-15







Finding and Using Software



_____________________________
13.2.2 X Windows utilities and routines

Various X Windows utilities are available for
DECwindows. DECwindows is an implementation of the X
Windows environment and libraries, and provides various
libraries, and provides various desktop interfaces,
including COE, Motif, and XUI.

xwd, xev, mosaic web browser, xrdb, bmtoa and atobm,
xpr, ico, etc. are available. Look in DECW$UTILS:
in DECwindows Motif V1.2-3 and later. Also see
DECW$EXAMPLES: for example X and C programs.

Miscellaneous tools and examples are also available.
Examples include the older DWAUTH (X Windows SYSUAF
authorize-like tool) tool, various versions of grep,
fgrep, yacc, vmstar, uuencode, gawk, etc. html tools,
the mx SMTP mail exchange package, X windows flight
simulator, the mxrn X windows news reader, the
OSU HTTPD WWW server, a WWW gopher browser, Castle
Wolfenstein (Wolf3D), etc. are all on the various
OpenVMS Freeware distributions. (Also see the GNV
package (Section 13.2.6) for related materials, APIs,
and tools.)

_____________________________
13.2.3 TCP/IP Tools and Utilities for OpenVMS?

TCP/IP Services (formerly known as UCX) contains tools
such as ping, uuencode, smtp, snmp, rcp, nfs, tnfs,
etc.

OpenVMS V6.2 and later includes DCL-integrated support
for various IP tools, with commands such as SET
HOST/TELNET, and COPY/FTP. This interface requires
the installation of an IP stack, and TCP/IP Services
(UCX) V3.3 and later as well as any then-current or
now-current third-party IP stack can be used. Once the
IP stack is installed and configured, the DCL command
qualifiers such as /FTP, /RCP, /RLOGIN, /TELNET, and
/TN3270 are available on various DCL commands including
DIRECTORY.

Various C programming examples in TCPIP$EXAMPLES and
(on releases prior to V5.0) in UCX$EXAMPLES:.

13-16







Finding and Using Software



_____________________________
13.2.4 The vi text editor

vile, vim and elvis are all clones of the vi text
editor, and all operate on OpenVMS.

Versions of vile are available on the Freeware and at:

o http://www.clark.net/pub/dickey/vile/vile.html

vim: vi improved

o http://www.polarfox.com/vim/

_____________________________
13.2.5 The Emacs Text Editor

OpenVMS ports of versions of the Emacs text editor can
be found on various OpenVMS Freeware distributions (eg:
OpenVMS Freeware V7.0 has a port of Emacs 21.2), and at
various web sites including:

o http://www.glug.org/people/ttn/software/emacs-for-
vms/

"Emacs isn't a text editor, it's a way of life."

For comparisions of OpenVMS text editors and UNIX, see
the following:

o http://www.unh.edu/cis/docs/vms-to-unix/Emacs/cheat-
sheet.html

_____________________________
13.2.6 GNV: Various GNU tools

Information on the GNU on VMS (GNV; "GNU's Not VMS")
Project, which aims to port and provide GNU software
(bash, flex, bison, tar, grep, gcc emulation, etc) to
OpenVMS, is available at:

o http://gnv.sourceforge.net/

Software info:

o http://vms.gnu.ai.mit.edu/software/

Software archive:

o ftp://vms.gnu.ai.mit.edu/gnu-vms/software/

13-17







Finding and Using Software




Various GNU tools are also available on the Freeware.

_____________________________
13.2.6.1 GCC compiler

Yes, gcc is available for OpenVMS Alpha and OpenVMS
I64.

o gcc compilation compatibility for OpenVMS Alpha
and I64 is available as a component of the GNV
package. This causes the HP C compiler to emulate
the interface and compilation behaviours of gcc.

http://h71000.www7.hp.com/opensource/opensource.html#gnv

o GNV Home Page

http://gnv.sourceforge.net/

o GCC Home Page - GNU Project - Free Software
Foundation (FSF)

http://gcc.gnu.org/

o GNU/FSF

ftp://ftp.tmk.com/vms-freeware/gcc-for-alpha/

o Help GCC - SUNY NCSB

http://nucwww.chem.sunysb.edu/helplib/@hvmsapps/GCC

o Redhat's gcc Archive

ftp://ftp.mirror.ac.uk/sites/sources.redhat.com/ftp/gcc/releases

o Malmberg's Ftp Service - gcc281_u

ftp://ftp.qsl.net/pub/wb8tyw/gcc281_u/

o updated header-files for GNU C 2.8

ftp://ftp.qsl.net/pub/wb8tyw/gcc281_u/

In addition to gcc, the HP C compiler and other
development tools are part of the OpenVMS Hobbyist
licensing program for non-commercial users, and these
and other tools are available to commercial developers
via the HP DSPP partner program. (See Section 2.15 for
information on DSPP.)

13-18







Finding and Using Software



__________________________________________________________
13.3 What is the status of PL/I on OpenVMS?

Kednos now owns and supports the former DIGITAL PL/I
compiler and run-time support on OpenVMS, and is the
contact for product status, support and associated
plans.

As of this writing, (older) versions of the PL/I
run-time library and associated supporting images
remain available on OpenVMS VAX and on OpenVMS Alpha,
including the DECmigrate VEST translated images run-
time support on OpenVMS Alpha, though neither the PL/I
shareable image nor the DECmigrate (AEST) translated
image support for the PL/I run-time are available
(from HP) on nor present on OpenVMS I64 systems.
Newer versions of the PL/I run-time library may be
(are?) available from Kednos for various OpenVMS
platforms; please contact Kednos for product details
and availability.

o http://www.kednos.com

__________________________________________________________
13.4 Where can I get the Mozilla Web Browser?

Mozilla.org is an open source organization providing
HTML-related tools; software that is the basis for
various utilities including the Mozilla web browser and
the Secure Web Browser (SWB) package.

OpenVMS Engineering is continuously porting
Mozilla.org's web browser to OpenVMS, and OpenVMS ports
of the current Mozilla baselevels and releases are
available. The OpenVMS Mozilla port includes the web
browser, the mail client, the Composer HTML editor, an
IRC chat client, a netnews (NNTP) reader, and various
other tools.

The Mozilla web browser download and the development
and release schedules for this and for other Mozilla-
related tools are available at:

o http://www.mozilla.org/

13-19







Finding and Using Software




The available Secure Web Browser (SWB) kit is a
packaged version of the Mozilla Web Browser, and
typically the SWB version number matches the underlying
Mozilla version.

A hardware configuration appropriate for Mozilla
generally involves an OpenVMS Alpha system with an
EV56 Alpha microprocessor, or an EV6 or more recent
processor, and with 256 megabytes of system memory.
The performance of Mozilla on EV5-based and earlier
Alpha microprocessor systems is generally viewed as
inadequate, this due to the extensive use of an Alpha
instruction subset that is first available with the
EV56 microprocessor generation.

Mozilla is not available for OpenVMS VAX.

Various versions of the Netscape Navigator web browser
are based on the Mozilla code-base.

__________________________________________________________
13.5 Where can I get Java for OpenVMS?

Java is available on and is included with OpenVMS
Alpha, starting with the OpenVMS Alpha V7.2 and later
releases. Java download kits are available for OpenVMS
Alpha V7.1 and later releases.

Java is not available on OpenVMS VAX. As for why: the
Java language definition requires a floating point
format (IEEE) that is not native to VAX, and this would
require the emulation of all floating point operations
within Java applications. Further, the C source code
used to implement for Java itself is heavily dependent
on passing IEEE floating point values around among the
many internal subroutines, and adding support for VAX
would entail changes to the HP C compiler for OpenVMS
VAX-and specifically to the VAX VCG code generator that
is used by HP C on OpenVMS VAX systems-in order to add
support for passing IEEE-format floating point doubles
around. Alternatively, extensive changes to the Java
source code to remove the assumption that the double is
an IEEE floating point value.

13-20







Finding and Using Software




There are currently no plans to make a version of Java
available for OpenVMS VAX. (A prototype version of Java
was created for OpenVMS VAX, and performance was found
to be inadequate. At best.)

If Java2 or other environment lifts the requirements
for IEEE floating point as part of the language
definition, this decision may be revisited.

If you are having problems with Display Postscript, you
need to upgrade your Java kit-1.2.2-3 and later remove
the requirement for Display Postcript extensions, and
Java 1.2.2-3 is required with DECwindows V1.2-6 and
later.

For additional information on Java for Alpha systems,
please see the OpenVMS documentation (V7.2 and later),
and the following site:

o http://www.compaq.com/java/alpha/index.html

HP Secure Web Server (SWS, formerly CSWS) includes
CSWS_JAVA, which provides the following Apache Tomcat
technologies: JavaServer Pages 1.1, Java Servlet
2.2, and MOD_JK. Also available is CSWS_PHP, a PHP
implementation. (SWS is based on the Apache web server.
See SOFT1.)

__________________________________________________________
13.6 Obtaining user input in DCL CGI script?

If you choose to use the GET method, then the form
data is available in the DCL symbol QUERY_STRING, in
URL-encoded format.

If you use the POST method, then you need to read the
form data from stdin. For a DCL CGI script running
under the Netscape FastTrack web server, you can read
the data using the following READ command:

$ READ SYS$COMMAND postdata

to read the information in.

The following describes the use of DCL command
procedures as CGI scripts with the OSU web server:

o http://www.levitte.org/~ava/cgiscripts_other.htmlx

13-21







Finding and Using Software




DCL CGI is also discussed in the Writing Real Programs
in DCL book, and in the Ask The Wizard website.

__________________________________________________________
13.7 How can a batch job get its own batch entry number?

To have a batch procedure retrieve its own batch entry
number, use the following:

$ Entry = F$GETQUI("DISPLAY_ENTRY", -
"entry_number","display_entry","this_job")

Remember that the entry numbers issued by the OpenVMS
Job Controller are always opaque longword values. Do
not assume you know the format of the entry number,
nor the range of entry numbers you might see, nor the
algorithm that is used to assign enty numbers. You
should simply assume opaque longword.

__________________________________________________________
13.8 How do I convert to new CMS or DTM libraries?

A change was made to the format of the CMS database
for CMS libraries starting with V3.5-03-to ensure
that earlier versions of CMS are unable to access the
database once the "conversion" to V3.5-05 and later is
made, you must issue the following two commands when
upgrading from V3.5-03 and prior. (The only differences
between CMS version V3.5-03 and CMS version V3.5-05
involve changes to ensure that no earlier version of
CMS can access the "converted" database, and corrupt
it.)

To perform the "conversion", issue the following
commands for each CMS library present:

$ RENAME disk:[directory]00CMS.* 01CMS.*
$ COPY NLA0: disk:[directory]00CMS.CMS

The new file 00CMS.CMS must have the same security
settings as the 01CMS.CMS file, and is created solely
to ensure continued compatibility with tools that
expect to find a 00CMS.CMS file (eg: various versions
of the Language-Sensitive text editor LSEDIT).

13-22







Finding and Using Software




If you choose to install and use the longer variant
names support that is available with CMS V4.1 or later,
you cannot mix earlier CMS versions within a cluster.
If you attempt to mix older and newer versions, you
will typically see the following BADLIB and BADTYPSTR
error sequence when accessing the CMS library from the
older CMS versions:

%CMS-F-BADLIB, there is something wrong with your library
-CMS-F-BADTYPSTR, header block type is 145; it should be 17

Please see the CMS V4.1 release notes for additional
details on this.

To perform the equivalent "conversion" for DEC Test
Manager (DTM) V3.5 and prior versions to V3.6 and later
versions, issue the following DCL commands for each DTM
library present:

$ RENAME disk:[directory]00DTM.* 01DTM.*
$ COPY NLA0: disk:[directory]00DTM.DTM

Like CMS, this change is intended to prevent older
versions of DTM from accessing newer libraries, and
corrupting the contents. Like CMS, once the libraries
are renamed, they cannot and should not be renamed
back to the older names; like CMS, the changes are not
downward-compatible.

To convert version 1 (ancient) DTM and CMS libraries
forward, please see the DTM CONVERT and the CMS CONVERT
commands.

__________________________________________________________
13.9 Where can I get Perl for OpenVMS?

OpenVMS support is included in the standard
distribution of Perl, the popular scripting language
created by Larry Wall. In addition to nearly all
of the functionality available under Unix, OpenVMS-
specific Perl modules provide interfaces to many native
features, as well as access to Oracle, Ingres, and
Sybase databases via the Perl DBI available on OpenVMS.

13-23







Finding and Using Software




A website useful for getting started with Perl on
OpenVMS-where you will find such things as download
links, instructions, auxiliary tools, and sample
scripts-is available at:

o http://www.sidhe.org/vmsperl

If you have a C compiler, the best way to obtain
Perl is to download and build it yourself. The latest
production quality source kit is available from:

o http://www.perl.com/CPAN/src/stable.tar.gz

You will need GUNZIP and VMSTAR (both available from
the OpenVMS Freeware CD, or from other sites) to
unpack the archive; once you've done that, read the
instructions in the README.vms file.

Binary distributions for most Alpha and VAX
environments are available on the OpenVMS Freeware CD-
ROM and from various websites, including the following:

o http://www.sidhe.org/vmsperl/prebuilt.html

o http://www.hp.com/go/openvms/freeware/

During active Perl development cycles, test kits are
sometimes found at: from:

o ftp://ftp.sidhe.org/

Watch the mailing list (see below) for details on
experimental releases.

Charles Lane maintains pages on how to write CGI
scripts in Perl for the OSU HTTP server, as well as
more general tips, tricks, and patches for building and
running Perl on OpenVMS:

o http://www.crinoid.com/crinoid.htmlx

There are OpenVMS-specific Perl modules that implement
interfaces to a subset of the VMS System Services.
With these modules, you can get (and often set) device,
job, queue, user, system, and performance information.
The lock manager, RMS indexed files, screen management
utilities, and Intracluster Communication Services are

13-24







Finding and Using Software




also accessible via Perl. The relevant modules are all
available from:

o http://www.perl.com/CPAN/modules/by-module/VMS

To subscribe to the OpenVMS Perl mailing list (a
discussion forum for both user support and new
development), send an email message to vmsperl-
***@perl.org

The mailing list archives may be searched at:

o http://www.xray.mpe.mpg.de/mailing-lists/vmsperl

__________________________________________________________
13.10 Obtaining the DECmigrate (AEST or VEST, and TIE)
translator?

The DECmigrate image translation family provides tools
that translate OpenVMS VAX images for use on OpenVMS
Alpha, and OpenVMS Alpha images for use on OpenVMS I64,
Details are available at:

o http://h71000.www7.hp.com/openvms/products/omsva/omsva.html

VEST is the name sometimes given to the DECmigrate
translation tool for VAX images, AEST is the name
given to the Alpha translation tools, and TIE names
the DECmigrate run-time environment within OpenVMS.
(If you've ever noticed images with filenames ending
with _TV and wondered what this meant, these images are
part of TIE.) And yes, you can use AEST to re-translate
images that were translated using VEST; you can perform
a second translation of a VAX image.

Please see Section 13.12 for related information.
Please see the website for the most current details
on availability and plans and status of translations
for OpenVMS I64 platforms.





13-25







Finding and Using Software



__________________________________________________________
13.11 Where can I get Zip, Unzip, self-extracting zip, etc?

Many packages are provided in ZIP, GZIP, or BZIP2
format, which requires you to acquire the associated
unzip tool to unpack it. You can get ZIP and UNZIP and
related and similar tools from the following areas:

o http://www.hp.com/go/openvms/freeware/ . Look in the
[000TOOLS...] and [*ZIP*...] directories.

o ftp://ftp.process.com/vms-freeware/unzip.alpha_exe

o ftp://ftp.process.com/vms-freeware/unzip.vax_exe

o http://zinser.no-ip.info/www/vms/sw/zip.htmlx

o http://www.djesys.com/zip.html

o http://www.djesys.com/unzip.html

o The master Info-Zip web site is at http://www.info-
zip.org/ . OpenVMS ports of current versions of zip
and unzip are typically available at this web site,
as is a mailing list.

Freeware V4.0 [000TOOLS...]*ZIP*.EXE

The Freeware V4.0 [000TOOLS...] pre-built
versions of ZIP will erroneously return BILF
errors on OpenVMS V7.2 and later. This is not
the only error lurking within these pre-built
versions, just the most obvious. Accordingly,
please use one of the far more current versions
that are now readily available, whether on the
most recent Freeware distribution, or from one of
the sites listed above.

Do not use the Freeware V4.0
[000TOOLS...]*ZIP*.EXE images.

Directions for creating and using the sfx self-
extracting zip file compression mechanism are available
in the unzip kit that is available at:

o Look in a recent unzip* directory at
http://www.hp.com/go/openvms/freeware/

o With the UNZIP542 directory from Freeware V5.0, look
for the file UNZIPSFX.TXT.

13-26







Finding and Using Software




If you want to build the zip images for yourself (eg:
for an older OpenVMS version), pull over the entire
contents of a recent unzip and unzip directory, or
Info-Zip directory, or visit one of the web sites.
With most OpenVMS ports of the tools, find and invoke
LINK.COM. No compilers are needed, as objects are
provided with most distributions.

HP OpenVMS Engineering uses a tool known as FTSV for
creating self-extracting compressed files using the
OpenVMS DCX compression tools, as seen with various
OpenVMS ECO (patch) kits. (sfx typically provides
better compression than does DCX.) FTSV and FTSO are
available on Freeware V7.0, for OpenVMS VAX and OpenVMS
Alpha. Due to changes in the image headers, no version
of FTSV is presently available for OpenVMS I64.

__________________________________________________________
13.12 Are VAX Hardware Emulators Available?

Software-based emulators of the VAX architecture and
for specific VAX hardware platforms are available from
various sources:

o Software Resources International (SRI) CHARON-VAX
http://www.softresint.com/

o Tim Stark's TS10
http://sourceforge.net/projects/ts10/

o Bob Supnik's Trailing Edge
http://simh.trailing-edge.com/

VAX emulators that operate on PC systems and/or on
OpenVMS Alpha systems are available. For information
on an alternative to using a VAX emulator- on the
available DECmigrate VAX executable image translator-
please see Section 13.10.






13-27












_______________________________________________________

14 Hardware Information



__________________________________________________________
14.1 What are the OpenVMS differences among VAX, Alpha, and
IA-64?

In terms of software, very few. As of OpenVMS V6.1,
the OpenVMS VAX and OpenVMS Alpha platforms achieved
"feature parity". Subsequent work has seen significant
enhancements and new features added on OpenVMS Alpha.
OpenVMS I64 started with "feature parity" with OpenVMS
Alpha at the V8.2 release, and OpenVMS Alpha and
OpenVMS I64 are based on and built from the same
source pool. (There are low-level platform-specific
differences, and there is platform-specific code within
the shared source code pool.) Most applications can
just be recompiled and run.

Some differences to be aware of:

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

o The preferred floating point format on the Alpha and
on the IA-64 architectures is IEEE.

o Data alignment is extremely important for best
performance on OpenVMS Alpha and on OpenVMS I64.
This means that data items should be allocated at
addresses which are exact multiples of their sizes.
Quadword alignment will offer the best performance,
especially for character values and those smaller
than 32 bits. Compilers will naturally align

14-1







Hardware Information




variables where they can and will issue warnings
if they detect unaligned data items.

o HP C is the only C compiler HP offers on OpenVMS
Alpha and on OpenVMS I64, and is a direct descendant
of Compaq C and DEC C on OpenVMS Alpha. HP C is
highly compatible with DEC C on OpenVMS VAX, but
does differ somewhat in its syntax and support
when compared with the older VAX C compiler most
OpenVMS VAX programmers are traditionally familiar
with. Read up on the /EXTERN_MODEL and /STANDARD
qualifiers to avoid the most common problems, and
see the documentation in the DEC C for OpenVMS VAX
manuals around migrating from VAX C to DEC C. (In
addition to HP C, there have been open-source ports
such as Gnu C available for OpenVMS.)

o The page size on Alpha and IA-64 systems is
variable, but is at least 8 kilobytes. This can
have some effect on applications which use the
$CRMPSC system service as well as on the display of
available memory pages. The page size is available
from $GETSYI using the SYI$_PAGE_SIZE itemcode.

There are also a number of manuals which discuss
migration to OpenVMS Alpha and to OpenVMS I64 available
in the OpenVMS documentation, both in the main
documentation and (depending on the age of the manuals
involved) in the archived documentation section.

As mentioned earlier, more recent OpenVMS Alpha
and OpenVMS I64 releases have added features and
support that are not available on OpenVMS VAX. Salient
additions include the following:

o 64-bit addressing in OpenVMS Alpha V7.0 and later,
and on OpenVMS I64.

o Multi-host SCSI support (SCSI TCQ) in V6.2 and later

o PCI support (platform-dependent)

o OpenVMS Galaxy (vPars) support in OpenVMS Alpha V7.2
and later

14-2







Hardware Information




Please see Section 14.4.5 for Intel Itanium
terminology.

__________________________________________________________
14.2 Seeking performance information for Alpha (and VAX)
systems?

HP makes a wide range of performance documents
available through its FTP and WWW Internet servers
(see Section 3.2).

The following contain information on Integrity, Alpha
and VAX products, with the VAX information largely
accessable via archive-related links at the Alpha-
related product web pages:

o http://www.hp.com/go/server/

o http://www.compaq.com/alphaserver/vax/index.html

The following sites are reachable via the AlphaServer
information pages, and contain information on various
retired VAX and Alpha products:

o http://www.compaq.com/alphaserver/archive/index.html

o http://www.compaq.com/alphaserver/performance/perf_
tps.html

Also see CPU2000:

o http://www.spec.org/osg/cpu2000/

o http://www.spec.org/osg/cpu2000/results/cpu2000.html

__________________________________________________________
14.3 Console Commands, Serial Lines, and Controls?

This section contains information on VAX and Alpha
consoles, and details related to console commands,
serial lines, and configuration settings.



14-3







Hardware Information



_____________________________
14.3.1 What commands are available in the Alpha SRM console?

In addition to the normal BOOT commands and such (see
Section 14.3.5.2 for some details) and the normal
contents of the console HELP text, operations such
as I/O redirection and floppy disk access are possible
at the SRM console prompt:

1 Format a FAT floppy, and insert it into the
AlphaStation floppy drive.
show * > env.dat
show conf > conf.dat
cat env.dat > fat:env.dat/dva0
cat conf.dat > fat:conf.dat/dva0
3 You may use the SRM "ls" command to display the
contents of the floppy.
ls fat:env.dat/dva0
ls fat:conf.dat/dva0
4 You can now transfer the FAT-format floppy to
another system.

_____________________________
14.3.2 What does SRM mean? What is PALcode?

The abbreviation SRM is derived from the Alpha System
Reference Manual, the specification of the Alpha
architecture and the associated firmware.

PALcode is a name assigned to a particular set of
functions provided by the SRM firmware. PALcode
is used to provide low-level functions required by
higher-level operating system or application software,
functions which may not be directly available in Alpha
hardware. PALcode is implemented using available
Alpha instructions and using the Alpha processor,
though PALcode operates in a mode which simplifies
programming. PALcode is also permitted access to
processor-specific and otherwise internal features
of a particular Alpha microprocessor implementation;
microprocessor-specific features which are not easily
accessable to operating system or application code.

14-4







Hardware Information



_____________________________
14.3.3 Alpha COM ports and VAX console serial line information?

This section contains information on the Alpha COM
communication ports, and related settings, as well as
on the VAX console bulkhead and VAX console serial line
connection.

_____________________________
14.3.3.1 Which terminal device name is assigned to the COM
ports?

COM2 is normally TTA0:. COM1 is normally TTB0: if
the Alpha workstation is booted with the SRM console
environment variable set to graphics, and is OPA0: if
the console is set to serial.

On the DEC 2000 series (sometimes incorrectly known by
the name of the system as sold for Microsoft Windows NT
Alpha; as the DECpc 150 AXP series) on older OpenVMS
Alpha releases, COM1 through COM4 are known as OPA0:
through OPA3:. On all current OpenVMS releases, these
ports are serviced by the terminal driver and not by
the console OPDRIVER driver.

Often the easiest way to determine the OpenVMS terminal
name assigned to the port is to connect a terminal,
log in interactively, and look at the output of SHOW
TERMINAL. (Device names can vary by OpenVMS version,
as well as by the SRM console environment variable
selection.)

For serial console hardware and related information,
and for pin-outs and related information, please see
Section 14.3 and Section 14.26.

_____________________________
14.3.3.2 Which serial port is the console on the MicroVAX 3100?

Just to keep life interesting, the MicroVAX 3100 has
some "interesting" console ports behaviours based
on the setting of the BREAK enable switch. When the
console is not enabled to respond to BREAK, MMJ-1
is the console port. MMJ-3 will (confusingly) output
the results of the selftest in parallel with MMJ-1.
When the console is enabled to respond to BREAK, MMJ-3

14-5







Hardware Information




becomes the console port, and MMJ-1 will (confusingly)
output the results of selftest in parallel with MMJ-3.

_____________________________
14.3.3.3 How can I set up an alternate console on a VAXstation?

Most VAXstation series systems and a few Alpha series
systems have a switch - most often labeled S3, largely
for historical reasons-that enables one of the serial
lines as the system console device; as OPA0:. This
disables console output to the graphics display. (For a
related behaviour, please see Section 11.10.)

All VAXstation 3100 series systems provide a S3 slide
switch, though the oldest may be missing the cut-out
through the enclosure that provides access to the
switch. The slide switch is located near the diagnostic
LED display. (The slide switch is accessable with the
cover removed.)

Various members of the DEC 3000 series Alpha systems
also have a similarly-labled S3 switch for selection of
the alternate console.

The particular port that becomes the console can vary.
The printer MMJ connection is used on all VAXstation
3100 series. On VAXstation II, the console DB9 is
used, rather than the graphics display. On most (all?)
AlphaStation series systems, typically the COM1 serial
port becomes the console.

Also see Section 14.3.6, Section 11.10, and
Section 14.17. Beware the two different DB9 pin-outs;
see Section 14.27 for related details.

For information on registering software license product
authorization keys (PAKs), please see Section 5.6.2.

_____________________________
14.3.3.4 Please explain the back panel of the MicroVAX II

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

14-6







Hardware Information




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

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

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

Eight-position-rotary: console baud rate selection
select the required baud rate; read at power-up.

There are several different bulkheads involved,
including one for the BA23 and BA123 enclosures,
and one for the S-box (BA2xx) series enclosure. The
console bulkheads typically used either the MMJ serial
line connection, or the MicroVAX DB9 (not the PC DB9
pin-out), please see the descriptions of these in
section Section 14.26. For available adapters, see
Section 14.27.

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





14-7







Hardware Information



_____________________________
14.3.4 What are Alpha console environment variables?

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

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

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

OpenVMS Galaxy (vPars) firmware can add console
environment variables beginning with such strings
as LP_* and HP_*, and each particular console
implementation can (and often does) have various sorts
of platform-specific extensions beyond these variables.
These variables allow both vPars (virtual partitions)
and lPars and lPars (logical partition) support; vPars
is a generic name for soft partitioning constructs
such as OpenVMS Galaxy, while lPars is a generic name
applied to hard partitioning constructs.

The contents of a core set of SRM console environment
variables are accessible from OpenVMS Alpha using the
f$getenv lexical and the sys$getenv system service.
(These calls are first documented in V7.2, but have
been present in OpenVMS Alpha for many releases.)
Access to arbitary SRM console environment variables
is rather more involved, and not directly available to
application software operating outside of kernel-mode.


14-8







Hardware Information



_____________________________
14.3.5 What are the boot control flag values?

Integrity, VAX and Alpha primary bootstraps support
flag values; a mechanism which permits the system
manager to perform specific customizations or site-
specific debugging of the OpenVMS system bootstrap.
While very similar, there are differences among
the boot flag implementations for the various
architectures.

_____________________________
14.3.5.1 What are the I64 IPB boot flag values?

The OpenVMS I64 primary bootstrap flags are processed
within the IA-64 primary bootstrap image IPB.EXE;
within the SYS$EFI.SYS structures. The primary
bootstrap boot flags are largely parallel to those
of OpenVMS Alpha (see Section 14.3.5.2, though the
console and the console mechanisms used to specify the
boot command, the boot flags, and boot command options
do differ markedly.

You can specify the boot flags via an EFI environment
variable VMS_FLAGS , or via the boot alias boot options
mechanism, or by appending the requested boot flags
onto the specification of VMS_LOADER.EFI.

To set the bootstrap flags environment variable at the
EFI shell prompt, use:

Shell> SET VMS_FLAGS "0,1"

When you register an EFI boot alias (please see
Section 14.4.5 for Intel Itanium terminology), you
will be asked if you want to enter boot options, and
what type. To add boot flags to a boot alias, select
Unicode as the boot options type, and enter an SRM-like
options string, such as the conversational bootstrap
selected by the following example:

-flages 0,1

For related information on managing EFI boot aliases
from OpenVMS I64, please see Section 14.3.10.

14-9







Hardware Information




When using VMS_LOADER.EFI to request boot flags, you
will want to specify the invocation as follows:

fsn:\efi\vms\vms_loader -flags 0,1

The above shows a conversational bootstrap request.

Typical boot flags are listed in Table 14-1.

________________________________________________________________
Table 14-1 I64 Conversational Bootstrap Flags

_______________________________________________________
Bit_______Example_Mnemonic__________Description________

0 0,1 CONV Conversational
bootstrap

1 0,2 DEBUG Load SYSTEM_
DEBUG.EXE (XDELTA)

2 0,4 INIBPT Stop at initial
system breakpoints

16 0,10000 DBG_INIT Enable verbose
bootstrap messages

17 0,20000 USER_MSGS Enable additional
bootstrap messages

17 0,200000? Request for a
bootstrap from
_____________________________________________USB_keydisk________

For a conversational bootstrap of the OpenVMS I64 root
SYS4 associated with the fs2: EFI file system device
with full bootstrap messaging enabled, specify:

fs2:\efi\vms\vms_loader -flags 4,30001

_____________________________
14.3.5.2 What are the Alpha APB boot flag values?

The flags listed in Table 14-2 are passed (via register
R5) to the OpenVMS Alpha primary bootstrap image
APB.EXE. These flags control the particular behaviour
of the bootstrap.

BOOT -FL root,flags

14-10


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 20:07:51 UTC
Permalink
Archive-name: dec-faq/vms/part9
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-09.TXT







Hardware Information




________________________________________________________________
Table 14-2 Alpha Conversational Bootstrap Flags

_______________________________________________________
Bit_____Mnemonic__________Description__________________

0 CONV Conversational bootstrap

1 DEBUG Load SYSTEM_DEBUG.EXE
(XDELTA)

2 INIBPT Stop at initial system
breakpoints if bit 1 set
(EXEC_INIT)

3 DIAG Diagnostic bootstrap (loads
diagboot.exe)

4 BOOBPT Stop at bootstrap breakpoints
(APB and Sysboot)

5 NOHEADER Secondary bootstrap does not
have an image header

6 NOTEST Inhibit memory test

7 SOLICIT Prompt for secondary
bootstrap file

8 HALT Halt before transfer to
secondary bootstrap

9 SHADOW Boot from shadow set

10 ISL LAD/LAST bootstrap

11 PALCHECK Disable PAL rev check halt

12 DEBUG_BOOT Transfer to intermediate
primary bootstrap

13 CRDFAIL Mark CRD pages bad

14 ALIGN_FAULTS Report unaligned data traps
in bootstrap

15 REM_DEBUG Allow remote high-level
language debugger

16 DBG_INIT Enable verbose boot messages
in EXEC_INIT

17 USER_MSGS Enable subset of verbose boot
messages (user messages)

18 RSM Boot is controlled by RSM

14-11







Hardware Information



________________________________________________________________
Table 14-2 (Cont.) Alpha Conversational Bootstrap Flags

_______________________________________________________
Bit_____Mnemonic__________Description__________________

_________19______FOREIGN___________Boot_involves_a_foreign_disk_

If you want to set the boot flags "permanently", use
SET BOOT_OSFLAGS 0,1
_____________________________
14.3.5.3 What are the VAX VMB boot flag values?

The flags described in Table 14-3 are passed (via
register R5) to the OpenVMS VAX primary bootstrap image
VMB.EXE. These flags control the particular behaviour
of the bootstrap.

________________________________________________________________
Table 14-3 VAX Conversational Bootstrap Flags

_______________________________________________________
Bit_____Mnemonic__________Description__________________

0 CONV Conversational boot. At
various points in the system
boot procedure, the bootstrap
code solicits parameter
and other input from the
console terminal. If DIAG
is set, then the diagnostic
supervisor should enter its
menu mode and prompt user for
the devices to test.

1 DEBUG Debug. If this flag is set,
OpenVMS VAX maps the code
for the XDELTA debugger into
the system page tables of the
running system.


14-12







Hardware Information



________________________________________________________________
Table 14-3 (Cont.) VAX Conversational Bootstrap Flags

_______________________________________________________
Bit_____Mnemonic__________Description__________________

2 INIBPT Initial breakpoint. If RPB$V_
DEBUG is set, OpenVMS VAX
executes a BPT instruction
immediately after enabling
mapping.

3 BBLOCK Secondary boot from the boot
block. Secondary bootstrap
is a single 512-byte block,
whose LBN is specified in R4.

4 DIAG Diagnostic boot. Secondary
bootstrap is the Diagnostic
Supervisor image; the image
[SYSMAINT]DIAGBOOT.EXE.

5 BOOBPT Bootstrap breakpoint. Stops
the primary and secondary
bootstraps with an XDELTA
breakpoint instruction prior
to the memory test.

6 HEADER Image header. Takes the
transfer address of the
secondary bootstrap image
from that file's image
header. If the RPB$V_HEADER
bit is not set, the image is
assumed to have no image
header, and control is
transfered to the first byte
of the secondary boot file.

7 NOTEST Memory test inhibit. Sets a
bit in the PFN bit map for
each page of memory present.
Does not test the memory.

8 SOLICT File name. VMB prompts for
the name of a secondary
bootstrap file.

14-13







Hardware Information



________________________________________________________________
Table 14-3 (Cont.) VAX Conversational Bootstrap Flags

_______________________________________________________
Bit_____Mnemonic__________Description__________________

9 HALT Halt before transfer.
Executes a HALT instruction
before transferring control
to the secondary bootstrap.

10 NOPFND No PFN deletion (not
implemented; intended to
tell VMB not to read a file
from the boot device that
identifies bad or reserved
memory pages, so that VMB
does not mark these pages as
valid in the PFN bitmap).

11 MPM Specifies that multi-
port memory is to be used
for the total EXEC memory
requirement. No local memory
is to be used. This is
for tightly-coupled multi-
processing. If the RPB$V_DIAG
bit is also enabled, then the
Diagnostic Supervisor enters
its AUTOTEST mode.

12 USEMPM Specifies that multi-port
memory should be used in
addition to local memory, as
though both were one single
pool of pages.

13 MEMTEST Specifies that a more
extensive algorithm be used
when testing main memory for
hardware uncorrectable (RDS)
errors.



14-14







Hardware Information



________________________________________________________________
Table 14-3 (Cont.) VAX Conversational Bootstrap Flags

_______________________________________________________
Bit_____Mnemonic__________Description__________________

14 FINDMEM Requests the use of MA780
multiport memory if the main
MS780 memory is insufficient
for booting. This is a
remnant of the support
for the VAX-11/782 series
system and its Asymmetric
Multiprocessing (ASMP)
environment. Support for
the VAX-11/782 and for ASMP
was withdrawn with the V5.0
release; with the advent of
Symmetric Multiprocessing
___________________________________(SMP)_support._______________

The exact syntax is console-specific, recent VAX
BOOT/R5:flags
_____________________________
14.3.6 How do I boot an AlphaStation without monitor or
keyboard?

The AlphaStation series will boot without a keyboard
attached. To use a serial terminal as the console,
issue the SRM console command SET CONSOLE SERIAL
followed by the console INIT command. Once this SRM
command sequence has been invoked and the CONSOLE
environment variable is set to SERIAL, the Alpha system
will use the serial terminal. (Set the environment
variable to GRAPHICS to select the console display
output via the graphics display.)

The DEC 3000 series has a jumper on the motherboard
for this purpose. Various older Alpha workstations
generally will not (automatically) bootstrap without a
keyboard connected, due to the self-test failure that
arises when the (missing) keyboard test fails.

14-15







Hardware Information




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

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

AlphaServer 4100 and derivative series platforms,
and AlphaServer GS80, GS160, and GS320 series system
consoles are capable of 57600 baud. See the COM2_BAUD
console environment variable, and ensure that you have
current SRM firmware version loaded.

The AlphaStation and AlphaServer series use a PC-
compatible DB9 serial connector for the COM1 and COM2
serial lines (and for the OPA0: console line, if that
was configured via SRM), please see Section 14.26 for
details and pin-out.

For information on registering software license product
authorization keys (PAKs), please see Section 5.6.2.

For a related behaviour of DECwindows, please
see Section 11.10. For information on the
VAXstation alternate console mechanisms, please see
Section 14.3.3.3.

_____________________________
14.3.7 Downloading and using SRM console Firmware?

This section discusses downloading and using Alpha
console firmware, sometimes called PALcode.

_____________________________
14.3.7.1 Where can I get updated console firmware for Alpha
systems?

Firmware updates for HP Alpha systems are available
from:

o ftp://ftp.digital.com/pub/Digital/Alpha/firmware/index.html

o ftp://ftp.digital.com/pub/Digital/Alpha/firmware/

o ftp://ftp.digital.com/pub/Digital/Alpha/firmware/readme.html

14-16







Hardware Information




The latest and greatest firmware-if updated firmware
has been released after the most recent firmware CD was
distributed-is located at:

widftp://ftp.digital.com/pub/Digital/Alpha/firmware/interim/

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

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

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

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

The SROM firmware loader expects an ODS-2 formatted
floppy, see mkboot. As for which image to use, the ROM
image uses a header and the file extension .ROM, and
the SROM bootable floppy cannot use the .ROM file.

To check the firmware loaded on recent OpenVMS Alpha
systems, use the command:

$ write sys$output f$getsyi("console_version")
$ write sys$output f$getsyi("palcode_version")
SDA> CLUE CONFIG

Also see Section 14.3.7.2. For information on HP
Integrity EFI firmware upgrades and for a sequence
useful in generating CD-R or CD-RW media containing a
firmware disk image, please see Section 14.3.11.

_____________________________
14.3.7.2 How do I reload SRM firmware on a half-flash Alpha
system?

Some of the AlphaStation series systems are "half-
flash" boxes, meaning only one set of firmware (SRM or
AlphaBIOS) can be loaded in flash at a time. Getting
back to the SRM firmware when AlphaBIOS (or ARC) is
loaded can be a little interesting...

That said, this usually involves shuffling some files,
and then getting into the AlphaBIOS firmware update
sequence, and then entering "update srm" at the apu->
prompt.

14-17







Hardware Information




To shuffle the files, copy the target SRM firmware file
(as200_v7_0.exe is current) to a blank, initialized,
FAT-format floppy under the filename A:\FWUPDATE.EXE

From the AlphaBIOS Setup screen, select the Upgrade
AlphaBIOS option. Once the firmware update utility gets
going, enter:

Apu-> update srm

Answer "y" to the "Are you ready...?"

Apu-> quit

You've reloaded the flash. Now power-cycle the box to
finish the process.

Also see Section 14.3.7.1.

_____________________________
14.3.7.3 How do I switch between AlphaBIOS/ARC and SRM
consoles?

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

A typical sequence used for switching over from the
AlphaBIOS graphics console to the SRM console follows:

1 Press <F2> to get to the AlphaBIOS setup menu.

2 Pick the "CMOS Setup..." item.

3 Press <F6> to get to the "Advanced CMOS Setup" menu.

4 Change the "Console Selection" to "OpenVMS Console
(SRM)".

5 Press <F10>, <F10>, then <Enter> to save your
changes.

6 Power-cycle the system.

14-18







Hardware Information




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

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

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

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

Use the following sequence to specifically update (and
load) the AlphaBIOS/ARC console from SRM on a "half-
b -fl 0,A0 ddcu
BOOTFILE: firmware_boot_file.exe

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


14-19







Hardware Information




Once you have the SRM loaded, you can directly install
OpenVMS or Tru64 UNIX on the system. Do not allow
Microsoft Windows NT or other operating system(s)
to write a "harmless" signature to any disk used by
OpenVMS Alpha or OpenVMS VAX, as this will clobber a
key part of the disk; this will overwrite the OpenVMS
bootblock. (On OpenVMS Alpha and OpenVMS VAX, you can
generally recover from this so-called "harmless" action
by using the WRITEBOOT.EXE tool.

Using OpenVMS I64 and the EFI console, the bootblock
structures are expected to be compatible with those
of Microsoft Windows and other Integrity operating
systems; please see the discussion of the SET BOOTBLOCK
command and the SYS$SETBOOT.EXE image in Section 9.7.3,
in Section 14.3.9, and in the OpenVMS documentation for
related details.)

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

For information on acquiring firmware, see
Section 14.3.7.1. For information on OpenVMS license
PAKs (for hobbyist use) see Section 2.8.1. For
information on the Multia, see Section 14.4.1.

Information on enabling and using the failsafe firmware
loader for various systems-this tool is available only
on some of the various Alpha platforms-is available in
the hardware documentation for the system. This tool is
used/needed when the firmware has been corrupted, and
cannot load new firmware.

The full list of AlphaBIOS key sequences-these
sequences are needed when using an LK-series keyboard
with AlphaBIOS, as AlphaBIOS expects a PC-style
keyboard:

14-20







Hardware Information




F1 Ctrl/A
F2 Ctrl/B
F3 Ctrl/C
F4 Ctrl/D
F5 Ctrl/E
F6 Ctrl/F
F7 Ctrl/P
F8 Ctrl/R
F9 Ctrl/T
F10 Ctrl/U
Insert Ctrl/V
Delete Ctrl/W
Backspace Ctrl/H
Escape Ctrl/[
Return Ctrl/M
LineFeed Ctrl/J
(Plus) + upselect (some systems)
(Minus) - downselect (some systems)
TAB down arrow
SHIFT+TAB up arrow

_____________________________
14.3.8 Console Management Options

Options to collect multiple consoles into a single
server are available, with both hardware options and
software packages that can provide advanced features
and capabilities.

Some of the available console management options for
OpenVMS:

o Heroix: http://www.robomon.com/

o KI Products: http://www.ki.com/products/clim/

o Global Maintech: http://www.globalmt.com/

o TECsys: http://www.tditx.com/

o CA: http://www.cai.com/products/commandit.htm

Computer Associates is the owner of what was once
known as the VAXcluster Console System (VCS) console
management package, and has integrated this capability
into the CA management product suite.

14-21







Hardware Information



_____________________________
14.3.9 Why do my EFI Boot Aliases Fail?

OpenVMS I64 boot aliases contain signature information
referencing the specific volume, meaning that the
entries are specific to the disk volume and not
the disk device. This also means that certain
operations, such as the SET BOOTBLOCK command or the
RUN SYS$SETBOOT.EXE operation that can rewrite these
volume signatures (signature or GUID values) can render
existing boot aliases unusable.

If your boot aliases do not function as expected,
first try removing and re-adding them; this will
resynchronize the boot aliases with the volume
contents. If you are using the SET BOOTBLOCK command or
the RUN SYS$SETBOOT.EXE operation to rewrite the disk
bootblock, you can request that the current signatures
(if any) be preserved, and this will typically maintain
the validity of your EFI console boot aliases.

_____________________________
14.3.10 Can OpenVMS access the EFI console Boot Aliases?

For access to the EFI console environment from OpenVMS
I64, see the BOOT_OPTIONS.COM command procedure, and
the EFI SET, SHOW and BCFG mechanisms. Details on these
are in the System Manager's and particularly in the
System Manager's Utilities manual.

For related information on boot aliases, please see
Section 14.3.5.1.

_____________________________
14.3.11 Downloading and using EFI Console Firmware?

HP Integrity EFI system firmware can be downloaded in
the form of a bootable image master, unzipped and then
burned onto CD or DVD media (please see Section 9.7
for details of recording optical media directly on
OpenVMS), and the system can then generally be booted
off the created media to perform the EFI firmware
upgrade.


14-22







Hardware Information




The HP Integrity Server website is accesssable via the
following URL, and the available services and support
information there has links to the available platform-
specific firmware images and upgrade-related materials:

o http://www.hp.com/go/integrity/

To use the following sequence, you will need a writable
or rewritable CD drive and software, and a blank CD-
R or CD-RW disk. If you use CD writer software for
another platform, you will want to use the block,
binary, ISO or raw mode operations appropriate for
the particular chosen recording package. The following
directions assume use of OpenVMS and native CD-R
capabilities, please see Section 9.7 for associated
details.

1 First, you must acquire the Integrity server
firmware from the above URL. Select the platform,
and navigate to the supporting information and
specifically to the Download Drivers and Software
link

2 Select Cross operating system (BIOS, Firmware, etc.)

3 Locate the appropriate ISO-format firmware file.
There are several firmware file formats available
and there are also various off-line diagnostic
images, choose the ISO-format firmware file.

4 Read the directions for the firmware file, then
download the ISO-format firmware (zip-compressed)
file. A binary-mode FTP transfer should be used.

5 Unzip the file into the corresponding .ISO data
file. Somewhat confusingly, the .ISO extension can
indicate either a block-oriented raw image of a
disk, or a disk with the ISO-9660 volume structure.
In this case, the former is intended and this
file contains a a block copy or disk image of the
firmware disk for the platform, and may or may not
be an ISO-9660 volume structure. The unzip tool is
available on the OpenVMS Freeware and elsewhere;
please see Section 13.11 for details and locations.

14-23







Hardware Information




6 Use CDRECORD or other available recording tool
(please see Section 9.7 for related details) to
burn a CD-R or CD-RW disk, specifying the ISO file
as the source for the burn operation.

7 Shut the Integrity Server system down to the EFI
console level.

8 Unload the recorded CD media from the CD-R drive,
label it, and load it into the Integrity console
drive. This assuming the disk was not generated
directly on an Integrity CD-R/RW-capable drive, of
course.

9 Using the EFI shell, display the current firmware
version using the command

info fw

10 Exit the EFI shell and select the boot options
maintenance menu; create a boot alias for the
removable media drive for the CD; for the newly-
created firmware disk.

11 Boot it. Follow the directions displayed by the
firmware loader and related documentation, heeding
the release notes that were reviewed earlier.

12 Perform a cold restart of the Integrity server.

For information on Alpha SRM console firmware upgrades,
please see Section 14.3.7.

__________________________________________________________
14.4 What platforms will OpenVMS operate on?

For the list of boxes that are officially and formally
supported by OpenVMS Engineering, please see the
OpenVMS Software Product Description (SPD).

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

14-24







Hardware Information




Sometimes a particular and officially unsupported Alpha
box or Alpha motherboard will sufficiently resemble a
supported box that the platform can effectively mimic
and can bootstrap OpenVMS. Alternatively, somebody
(usually one or more engineers within the OpenVMS
Engineering group) will have put together a bootstrap
kit - such as the kit for the Alpha Multia-which
permits OpenVMS to bootstrap on the platform.

Contrary to the assumptions of some folks, there
are platform-level differences even within the
VAX and within the Alpha platforms- hardware-level
differences that can require moderate to extensive new
coding within OpenVMS. Within a platform series, and
particularly within Alpha platforms (and those few VAX
systems) that support Dynamic System Recognition (DSR),
OpenVMS can usually bootstrap.

DSR is a mechanism by which OpenVMS can gather
platform-specific information, and DSR is the reason
why newer Alpha systems can be more easily and more
commonly supported on older OpenVMS Alpha releases.
DSR is implemented with OpenVMS Alpha code, with SRM
console code, and with platform non-volatile memory.

OpenVMS users with experience on older OpenVMS VAX
releases and VAX hardware will recall that then-new
VAX systems either required an OpenVMS VAX upgrade,
or that earlier releases would mis-identified then-
newer VAX systems-such as the case of the VAX 7000
model 800 being (mis)identified as a VAX 7000 model
600 when bootstrapped on OpenVMS VAX V5.5-2. (This
(mis)identification was the outcome of a deliberate
engineering effort to permit the VAX 7000 model 800 to
bootstrap on V5.5-2; the system manager could configure
the VAX 7000 model 800 to (mis)identify itself as a
model 600, to permit the system to bootstrap on V5.5-
2.) OpenVMS VAX and VAX platforms lack DSR support.

OpenVMS I64 (please see Section 14.4.5 for Intel
Itanium terminology) supports a platform-level feature
similar to the OpenVMS Alpha DSR mechanism, based
on the ACPI interface and the byte-code interpreter
implemented within OpenVMS, within the EFI console,
and particularly within non-volatile memory located

14-25







Hardware Information




on (byte-code interpreter compliant) PCI I/O hardware.
ACPI tables provide the information that was formerly
retrieved from DSR and from the SRM, and the byte-code
interpreter can (theoretically) permit at least limited
operations with (compliant) PCI hardware, whether or
not OpenVMS has a driver for the particular hardware.

The byte code interpreter may or may not permit
operations with any particular PCI hardware, and
may or may not have sufficient performance for local
requirements, and PCI hardware may or may not include
the necessary ROM-based drivers in the PCI hardware
non-volatile storage. (The intent of this Intel
platform-level effort is to move the host software
drivers out onto the specific PCI hardware, and to
permit the same byte code to operate regardless of
the particular host platform.) At least the initial
releases of OpenVMS I64 will not have support for the
byte code interpreter nor for arbitrary PCI or system
hardware, but will have support for ACPI-based system
identification and system configuration.

_____________________________
14.4.1 on the Alpha Multia?

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

o http://www.hp.com/go/openvms/freeware/

Look in the Freeware V5.0 /multia/ directory.

Instructions are included IN the kits. READ THE
INSTRUCTIONS. PLEASE!

Some of the restrictions involved when running OpenVMS
on the Multia system include (but may well not be
limited to) the following:

o The PCMCIA support was completely removed, because
the Intel chip on the Multia was not compatable with
the Cirrus chip on the Alphabook.

14-26







Hardware Information




This means, of course, that you will not see and
cannot use any PCMCIA cards on a Multia.

The Multia uses shared interrupts, and as a result,
a special ZLXp-E series graphics device driver-one
that does not use interrupts-is needed. This driver
is provided in the kit.

o The serial lines don't work.

o If you have a Multia with a PCI slot, you can't use
any PCI card that requires interrupts.

o The SRM console on this system is very old and
very fragile. (This SRM console was designed
only and strictly for diagnostic use, and was not
particularly tested or used with OpenVMS.)

o If things don't work for you, don't expect to see
any OpenVMS updates, nor SRM console updates, nor
any support.

o Do not expect to see any new versions of OpenVMS
on the Multia nor on any other unsupported systems.
If such new versions do appear and do work, please
consider it as a pleasant surprise.

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

Other sources of information for OpenVMS on Multia
include:

o http://www.djesys.com/vms/hobbyist/multia.html

o http://www.djesys.com/vms/hobbyist/mltianot.html

o http://www.djesys.com/vms/hobbyist/support.html

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

o http://www.brouhaha.com/~eric/computers/udb.html

14-27







Hardware Information



_____________________________
14.4.2 on AlphaPC 164LX? AlphaPC 164SX?

OpenVMS Alpha is not supported on the AlphaPC 164LX and
164SX series, though there are folks that have gotten
certain of the LX series to load SRM and bootstrap
OpenVMS. (The Aspen Durango II variant, specifically.)

One problem has been generally reported: ATA (IDE)
bootstraps will fail; SCSI storage and a SCSI CD-ROM
device is required.

Also see Section 14.4.2.1.

_____________________________
14.4.2.1 on the NoName AXPpci33 system?

Information on bootstrapping OpenVMS (using the Multia
files described in Section 14.4.1) on the (unsupported)
NoName AXPpci33 module is available at:

o http://www.jyu.fi/~kujala/vms-in-axppci33.txt

Tips for using the Multia files with the AXPpci33:

o You have to use the Multia kit and follow the
directions in ALPHA8, but do *not* load the Multia
SRM firmware into the AXPpci33. Rather, download and
use the latest firmware for the AXPpci33 from the HP
Alpha firmware website instead.

o 64 MB memory is generally necessary.

o you cannot use any PCI cards, and if you plan on
networking, you need to find an ISA Ethernet card
supported by OpenVMS.

o When the AXPpci33 board bootstraps, it will dump
some stuff like a crash dump, but it will continue
and-so far-this hasn't caused any particular
hassles.

o The system shutdown and reboot procedures do not
work properly.

o The serial console is reported to not work, though
the serial ports apparently do work. The status of
the parallel port is unknown.

14-28







Hardware Information




o Rumour has it that you have one of the AXPpci33
motherboards with the PS/2 mouse and keyboard
connectors and a VGA card (one that will work
under DECwindows) and you can run DECwindows on
the system.

_____________________________
14.4.3 on the Alpha XL series?

No.

OpenVMS Engineering does not formally support the Alpha
XL series, nor will OpenVMS (informally) bootstrap on
the Alpha XL series.

OpenVMS can not, will not, and does not bootstrap on
the Alpha XL series. The Alpha XL series was targeted
for use (only) with the Microsoft Windows NT operating
system.

The Alpha XL platform does not resemble other supported
platforms.

_____________________________
14.4.4 OpenVMS on the Personal Workstation -a and -au series?

Though OpenVMS is not supported on the Personal
Workstation -a series platforms, OpenVMS might or might
not bootstrap on the platform.

If you wish to attempt this, you must ensure that all
graphics and all I/O controllers in the system are
supported by OpenVMS. You must also ensure that you
have the most current firmware loaded.

Here are some salient differences within the various
Personal Workstation series:

o The -a series was designed and was tested for
Windows NT use. Only. It is not supported for use
with OpenVMS.

o The -au series was designed and tested for Windows,
OpenVMS, and Tru64 UNIX compatibility, and is
considered a supported system.

14-29







Hardware Information




o There are at two different and distinct variants of
the family, and usually refered to by their internal
hardware project names.

o The Miata MX5. The Miata MX5 variant has no USB
ports and no on-board SCSI. The on-board Intel
SIO chipset is not supported by OpenVMS, and thus
OpenVMS cannot bootstrap ATAPI CD-ROM devices.

That said, the Miata MX5 -a series typically came
with DEC branded Adaptec 2940UW SCSI controllers,
Matrox Millennium graphics cards, no L3 cache
module, and an Toshiba IDE CD-Rom. Some came with
very high end Powerstorm graphics card if the
system was destined to do CAD or movie rendering.

Graphics and other I/O can and does vary by
package.

The Miata MX5 is not supported by OpenVMS.

o The Miata GL. The Miata GL variant has USB ports
and on-board SCSI and bootstraps using the on-
board Cypress IDE chipset and an ATAPI CD-ROM
are supported by OpenVMS. The Miata GL -a variant
is need not be configured with an add-on SCSI
controller, given both the ability to bootstrap
from ATAPI CD-ROM and the on-board SCSI.

Graphics and other I/O can and does vary by
package.

Various of the Miata GL systems are supported by
OpenVMS.

For obvious reasons, most folks will prefer and will
select a Miata GL system, given the choice between the
Miata MX5 and the Miata GL series. And as for your next
question, you cannot necessarily nor easily distinguish
the Miata MX5 from the Miata GL based solely on the
model number.

See Section 14.4.4.2 for related details.

14-30







Hardware Information



_____________________________
14.4.4.1 OpenVMS on the Whitebox Windows-Only series Alpha?

Though OpenVMS is not supported on the "Whitebox"
series of Alpha platforms, OpenVMS might or might
not bootstrap on the platform. These systems were
specifically configured, targeted and supported only
for use with the Microsoft Windows NT operating system.

On some of the "Whitebox" systems, the following
sequence of console commands can potentially be used
to convert the system over to unsupported use by and
for OpenVMS Hobbyist users. (But please note that if
you wish to attempt this, you must ensure that all
graphics and all I/O controllers in the system are
supported by OpenVMS, and you must ensure that you have
the most current SRM firmware loaded. (For information
on locating and downloading the most current Alpha SRM
firmware, please see Section 14.3.7.1.) And you must
realize that the resulting Whitebox configuration will
be entirely unsupported and may or may not be stable
and useful.)

set os_type vms
cat nvram ! too see what is in this, if anything
edit nvram
10 set srm_boot on
20 e
init

If your nvram has other contents, you will need to
change the line numbers (10 and 20) to reflect the
contents of your configuration. To obtain documentation
on the commands of the console editor, enter the ?
command within the editor.

The above sequence was reportedly tested on the DIGITAL
Server 3300 series, a relative of the AlphaServer
800 series. The DIGITAL Server 3300 is not supported
by OpenVMS, though the AlphaServer 800 series is a
supported platform. The sequence may or may not work on
other platforms, and may or may not work on the DIGITAL
Server 3300 platform.

Also see Section 5.33.

14-31







Hardware Information



_____________________________
14.4.4.2 OpenVMS and Personal Workstation ATA (IDE) bootstrap?

OpenVMS will boot and is supported on specific Personal
Workstation -au series platforms, though OpenVMS will
require a SCSI CD-ROM if the Intel Saturn I/O (SIO) IDE
chip is present in the configuration- only the Cypress
IDE controller chip is supported by OpenVMS for IDE
bootstraps. (Configurations with the Intel SIO are not
generally considered to be supported systems.)

If you have an -au series system, you can determine
which IDE chip you have using the SRM console command:

SHOW CONFIGURATION

If you see "Cypress PCI Peripheral Controller", you can
bootstrap OpenVMS from IDE storage. If you see "Intel
SIO 82378", you will need to use and bootstrap from
SCSI. (A procedure to load DQDRIVER on the Intel SIO-
once the system has bootstrapped from a SCSI device-is
expected to be included as part of the contents of the
DQDRIVER directory on Freeware V5.0 and later.)

Many of the -a series systems will include the Intel
SIO, and thus cannot bootstrap from IDE.

See Section 14.4.4 for related details.

_____________________________
14.4.5 On the Intel Itanium IA-64 platform?

OpenVMS has been ported to the Intel IA-64
architecture; to HP Integrity systems based on the
Intel Itanium Processor Family.

The first release of OpenVMS I64 was V8.0, with the
first general release of OpenVMS I64 known as V8.2.
Yes, there was a V8.1 release, too.

Some Intel and HP terminology: Itanium Processor Family
is the name of the current implementation; of the
current Intel microprocessor family implementing
the IA-64 architecture. IA-64 is the name of the
Intel architecture implementing the VLIW (Very Long
Instruction Word) design known as EPIC (Explicitly
Parallel Instruction Computing).

14-32







Hardware Information




I64 is the name of a family of HP computer systems that
use Intel Itanium processors and that are supported
by "HP OpenVMS for Integrity Servers" (and itself more
commonly known as "OpenVMS I64"); by one of the HP
operating systems that runs on HP Integrity hardware.

The Extensible Firmware Interface (EFI) is the name of
the console environment for Itanium systems, and the
Baseboard Management Console (BMC) and the optional
Management Processor (MP) are the most typical hardware
interfaces into the system console.

_____________________________
14.4.5.1 Where can I get Intel Itanium information?

Intel Itanium Processor Family and IA-64 Architecture,
Hardware, Software, and related docoumentation
materials are available at:

o ftp://download.intel.com/design/IA-64/manuals/

o ftp://download.intel.com/design/IA-64/Downloads/

o ftp://download.intel.com/design/IA-
64/Downloads/archSysSoftware.pdf

o ftp://download.intel.com/design/IA-
64/Downloads/24870101.pdf

Information on the classic Intel Extensible Firmware
Interface (EFI) (for IA-64) and of the multi-platform
Unified EFI (UEFI) console project documentation are
available at the following URLs:

o Intel
http://developer.intel.com

o UEFI
http://www.uefi.org

Please see Section 14.4.5 for Intel Itanium
terminology.


14-33







Hardware Information



__________________________________________________________
14.5 What is the least expensive system that will run OpenVMS?

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

Used Itanium-based systems that a hobbyist could
likely use to bootstrap OpenVMS I64 have been seen
selling on auction websites for under US$1000. New
Integrity rx1620 series systems (officially supported
by OpenVMS I64) have been offered as part of a week-
long DSPP porting and training package for US$2000. See
Section 2.8.3 for details on the DSPP program. Also see
the HP Renew used- and/or refurbished-equipment program
for any hardware that might be available.

Free and commercial VAX software-based hardware
emulators are available for various platforms. See
Section 13.12 for details on those.

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

o http://www.hp.com/go/openvms/doc/

When purchasing a system, ensure that the system itself
is supported, that the system disk drive is supported
or closely compatible, that the optical (CD or DVD)
drive is supported or is closely compatable and that
(in the case of SCSI devices) it also specifically
supports 512-byte block transfers; no equivalent
requirement exists for IDE devices. Also particularly
ensure that the video controller is supported. Use of

14-34







Hardware Information




supported HP hardware will generally reduce the level
of integration effort involved.

A CD-ROM, CD-R or DVD drive is required for OpenVMS
Alpha installations, and a DVD-ROM or recordable or
rewritable DVD DVD drive is required for OpenVMS I64
installations.

CD-ROM drive compatibility information is available at:

o http://sites.inka.de/pcde/dec-cdrom-list.txt

__________________________________________________________
14.6 Where can I get more information on Alpha systems?

HP operates an AlphaServer information center at:

o http://www.hp.com/go/server

Alpha Technical information and documentation is
available at:

o ftp://ftp.compaq.com/pub/products/alphaCPUdocs/

o http://h18000.www1.hp.com/products/software/alpha-
tools/

o ftp://ftp.digital.com/pub/DEC/Alpha/systems/

o http://ftp.digital.com/pub/
Digital/info/semiconductor/literature/dsc-
library.html

o Alpha Systems Update:
http://www.compaq.com/alphaserver/fb_acu.html

Software Product Description (SPD) information,
including platform support documentation:

o http://h18000.www1.hp.com/info/spd/

OpenVMS typically uses SPD 25.01.xx, SPD 41.87.xx,
and SPD 82.35.xx.

Information on Multia hardware is available at:

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

14-35







Hardware Information




Information on DEC 3000 series hardware is available
at:

o http://www.phys.ufl.edu/~prescott/linux/alpha/dec3000-
sysinfo.html

o http://www.phys.ufl.edu/~prescott/linux/alpha/dec3000-
docs.html

o http://ftp.netbsd.org/pub/NetBSD/misc/dec-
docs/index.html

The NetBSD folks maintain useful Alpha hardware
information at:

o http://www.netbsd.org/Ports/alpha/models.html

__________________________________________________________
14.7 Describe Alpha instruction emulation and instruction
subsets?

The Alpha architecture is upward- and downward-
compatible, and newer instructions are emulated on
older platforms, for those cases where the compiler
is explicitly requested to generate the newer Alpha
instructions.

In particular, OpenVMS Alpha V7.1 and later include the
instruction emulation capabilities necessary for the
execution of newer Alpha instructions on older Alpha
microprocessors. (Instruction emulation capabilities
are available for user-mode application code, and
are not available to device drivers or other similar
kernel-mode code.)

Alpha instructions are available in groups (or
subsets). Obviously, there is the base instruction set
that is available on all Alpha microprocessors. Then,
the following are the current instruction extension
groups (or subsets) that are available on some of
various recent Alpha microprocessors:

o byte/word extension (BWX):
LDBU, LDWU, SEXTB, SEXTW, STB, and STW.

14-36







Hardware Information




o floating-point and square root extension (FIX):
FTOIS, FTOIT, ITOFF, ITOFS, ITOFT, SQRTF, SQRTG,
SQRTS, and SQRTT.

o count extension (CIX):
CTLZ, CTPOP, and CTTZ.

o multi-media extension (MVI):
MAXSB8, MAXSW4, MAXUB8, MAXUW4, MINSB8, MINSW4,
MINUB8, MINUW4, PERR, PKLB, PKWB, UNPKBL, and
UNPKBW.

The typical instruction subset that provides the
biggest win-and of course, your mileage may vary-is
typically the instruction set that is provided by the
EV56 and later; specifically, the byte-word instruction
subset. To select this subset, use the following:

/ARCHITECTURE=EV56/OPTIMIZE=TUNE=GENERIC

The /ARCHITECTURE controls the maximum instruction
subset that the compiler will generally use, while
the /OPTIMIZE=TUNE controls both the instruction-level
scheduling and also the instructions generated inside
loops-any code resulting from /OPTIMIZE=TUNE that is
specific to an instruction subset will be generated
only inside loops and will also be "protected" by
an AMASK-based test that permits the execution of
the proper code for the particular current Alpha
microprocessor.

Typically /OPTIMIZE=TUNE=GENERIC is the appropriate
choice for tuning, and the /ARCHITECTURE selects the
minimum target architecture for general use throughout
the generated code.

generated for later architectures and instruction
subsets will run on older Alpha systems due to the
emulation, but if /ARCHITECTURE is a significant
benefit, then the emulation might be a performance
penalty.

Please see the OpenVMS Ask The Wizard area for the
source code of a (non-privileged) tool that looks at
the instruction subsets available on the particular
Alpha microprocessor that the tool is run on. This tool

14-37







Hardware Information




demonstrates the use of the Alpha AMASK and IMPLVER
instructions.

Please see Section 10.22 and Section 14.9 for
additional details and related considerations.

__________________________________________________________
14.8 So how do I open up the DEC 3000 chassis?

After removing those two little screws, tilt the back
end of the top shell upwards-then you can remove the
lid.

__________________________________________________________
14.9 What is byte swizzling?

"Swizzling" is the term used to describe the operation
needed to do partial longword (i.e. byte or word)
accesses to I/O space on those systems that don't
support it directly. It involved shifting the offset
into an address space by 5 (or 7 for one older system),
and ORing this into the base address. It then required
the size of the operation to be ORed into the low order
bits.

That is, because the EV4 and EV5 CPUs did not bring
bits 0 and 1 off the chip, to do programmed I/O for
bytes/words, the information on the size/offset of the
transfer was encoded into the address data. The data
itself then had to be shifted into the correct "byte
lane" ; into the required offset position within a
longword transfer;

The EV56 microprocessor supports byte/word instruction
references in memory space, however only specific EV56
systems can support byte/word accesses into I/O space;
device drivers may or may not be able to utilize to
byte/word instructions to access device registers.
Further, even on an EV56 system with hardware support
for byte/word accesses into I/O space, the relevant
OpenVMS routines typically do not support byte/word
access into I/O space.


14-38







Hardware Information




Systems based on the EV6 microprocessor (with the
salient exception of the AlphaServer GS60 and
AlphaServer GS140 series, for reasons of platform
compatability) support a flat, byte addressable I/O
space.

If a device driver uses CRAM or IOC$WRITE_IO/IOC$READ_
IO, then OpenVMS will correctly process the swizzling
requirements without requiring changes the driver;
OpenVMS will transparently swizzle and unswizzle the
I/O space references, if needed for the particular
target platform. (Access and use of these routines may
or may not be feasible within the requirements for a
particular device driver, with the decision typically
based on the target performance requirements and the
expected frequency of device references and thus the
expected frequency of calls to these or other similar
routines.)

To use byte/word operations on MEMORY, you need to
tell the compiler to use the EV56 or EV6 architecture
(/ARCHITECTURE=EV56). Memory operations did not
swizzle, but the compiler would do long/quad
access, and extract/insert bytes as needed. Using
/ARCHITECTURE=EV56 allows smaller, more efficient
byte/word access logic to memory.

If the application is directly referencing I/O space
access across a range of Alpha systems such as is done
with the X Windows device drivers, then the driver will
need to know how to do swizzling for old platforms,
and byte access for new platforms. Device drivers for
new graphics controllers can specifically target and
specifically require platforms based on EV6 and later
Alpha microprocessors because of this requirement, for
instance.

Please see Section 10.22 and Section 14.7 for
additional details and related considerations.





14-39







Hardware Information



__________________________________________________________
14.10 What is the layout of the VAX floating point format?

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

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

FP Exponent Exponent Mantissa (Fraction) bits,
Type Bits Bias including hidden bit
==========================================================
F 8 128 24
D 8 128 56
G 11 1024 53
H 15 16384 113

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

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



14-40







Hardware Information



__________________________________________________________
14.11 Where can I find more info about VAX systems?

o HP provides limited VAX platform information via
links at the AlphaServer website, itself available
via:
http://www.hp.com/go/server/

o Jim Agnew maintains a MicroVAX/VAXstation FAQ at:
http://www.people.vcu.edu/~agnew/MVAX/MVAX_FAQ.HTML

o The VAXstation 3100 Owner's Guide:
http://www.whiteice.com/~williamwebb/intro/DOC-
i.html

o VAX Console information:
http://www.mcmanis.com/chuck/computers/vaxen/panels.htm

o A field guide to PDP-11 (and VAX) Q-bus and UNIBUS
modules can be found at:
http://metalab.unc.edu//pub/academic/computer-
science/history/pdp-11/hardware/field-guide.txt

o Various VAX historical information (also see
Section 2.1) can be found at:
http://telnet.hu/hamster/vax/e_index.html

__________________________________________________________
14.12 Where can I find information on NetBSD for VAX systems?

Gunnar Helliesen maintains a NetBSD VAX FAQ at

o http://vaxine.bitcon.no/

__________________________________________________________
14.13 What system disk size limit on the MicroVAX and
VAXstation 3100?

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

14-41







Hardware Information




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

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

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

Systems that are affected by this limit:

o VAXstation 3100 series, all members. No PROM upgrade
is available.

o MicroVAX 3100 models 10 and 20. No PROM upgrade is
available.

o MicroVAX 3100 models 10e and 20e. Only systems with
console VMB versions prior to V6.4 are affected. A
PROM upgrade for these specific systems is (or was
once) available.

Also see

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

Also see Section 9.5.



14-42







Hardware Information



__________________________________________________________
14.14 What are the VAX processor (CPU) codes?

CPU: Platform:
----- ---------
KA41-A : MicroVAX 3100 Model 10 and 20
KA41-B : VAXserver 3100 Model 10 and 20
KA41-C : InfoServer
KA41-D : MicroVAX 3100 Model 10e and 20e
KA41-E : VAXserver 3100 Model 10e and 20e
KA42-A : VAXstation 3100 Model 30 and 40
KA42-B : VAXstation 3100 Model 38 and 48
KA43-A : VAXstation 3100 Model 76
KA45 : MicroVAX 3100 Model 30 and 40
KA46 : VAXstation 4000 Model 60
KA47 : MicroVAX 3100 Model 80
KA48 : VAXstation 4000 VLC
KA49-A : VAXstation 4000 Model 90/90A
KA49-B : VAXstation 4000 Model 95
KA49-C : VAXstation 4000 Model 96
KA50 : MicroVAX 3100 Model 90
KA51 : MicroVAX 3100 Model 95
KA52 : VAX 4000 Model 100
KA53 : VAX 4000 Model 105
KA54 : VAX 4000 Model 106
KA55 : MicroVAX 3100 Model 85
KA56 : MicroVAX 3100 Model 96
KA57 : VAX 4000 Model 108
KA58 : MicroVAX 3100 Model 88
KA59 : MicroVAX 3100 Model 98
KA85 : VAX 8500
KA86 : VAX 8600
KA88 : VAX 8800
KA600 : VAX 4000-50 (aka VAXbrick)
KA610 : MicroVAX I, VAXstation I (aka KD32)
KA620 : rtVAX (VAXeln)
KA62A : VAX 6000-200
KA62B : VAX 6000-300
KA630 : MicroVAX II, VAXstation II
KA640 : MicroVAX 3300, MicroVAX 3400
KA650 : VAXstation 3200, MicroVAX 3500, MicroVAX 3600, MicroVAX III
KA64A : VAX 6000-400
KA655 : MicroVAX 3800, MicroVAX 3900, MicroVAX III+
KA65A : VAX 6000-500

14-43







Hardware Information




KA660 : VAX 4000-200, VAX 4 upgrade
KA66A : VAX 6000-600
KA670 : VAX 4000-300
KA675 : VAX 4000-400
KA680 : VAX 4000-500
KA681 : VAX 4000-500A
KA690 : VAX 4000-600
KA691 : VAX 4000-605A
KA692 : VAX 4000-700A
KA693 : VAX 4000-605A
KA694 : VAX 4000-705A
KA730 : VAX-11/730
KA750 : VAX-11/750
KA780 : VAX-11/780, VAX-11/782
KA785 : VAX-11/785
KA7AA : VAX 7000-600
KA7AB : VAX 7000-700
KA7AC : VAX 7000-800
KA800 : VAXrta
KA820 : VAX 8200, VAX 8300
KA825 : VAX 8250, VAX 8350
KA865 : VAX 8650

__________________________________________________________
14.15 Where can I get software and hardware support
information?

Please contact the HP Customer Support Center. Services
and information, manuals, guides, downloads, and
various other information is available via the support
link at:

o http://www.hp.com/products/openvms/

Various hardware and system documentation is available
at:

o http://www.hp.com/go/services/

TSM (Terminal Server Manager), DEChub, DECserver, etc.
information:

o http://www.compaq.com/support/digital_networks_
archive/

14-44







Hardware Information




The owner and maintainer of current DECserver and
related hardware is DIGITAL Network Products Group
(DNPG):

o http://www.dnpg.com/

__________________________________________________________
14.16 Where can I get hardware self-maintenance support
assistance?

The HP Parts Directory and the HP Parts Reference
Guide (arguably the most direct descendents of the
HP Assisted Services program, of the Compaq Assisted
Services program, and of the now-ancient DECmailer
program) are available to customers that wish to
maintain their own system(s) (self-maintenance),
but that wish some level of assistance in acquiring
specific parts, hardware diagnostics and hardware
manuals for the system(s), and that wish to have
access to spares and module-level repairs for customer-
performed hardware module swaps:

o http://www.hp.com/go/parts/

o http://www.hp.com/buy/parts/

The HP Parts Reference Guide replaces the CAS-Catalog
and DAS-Catalog parts catalogs and related resources.

Details of the available self-maintenance programs and
services can vary by geography and by the particular
services channel(s), and current program specifics are
available via the above URLs.

__________________________________________________________
14.17 Why does my system halt when I power-cycle the console
terminal?

Various VAX and Alpha consoles are designed to process
the BREAK signal, treating it as a HALT request.

A BREAK is a deliberately-generated serial line framing
error.

When a serial line device such as a terminal
powers up (or sometimes when powering down) it can
generate framing errors. These framing errors are
indistingushable from a BREAK signal.

14-45







Hardware Information




When a BREAK is received on a serial line console
for various VAX systems-including most VAXstation,
MicroVAX, and VAX 4000 series-it is typically
interpreted as a HALT. Alpha systems will also often
process a BREAK in a similar fashion, halting the
system.

There is no uniform or generally-available way to
disable this behaviour on every VAX or Alpha system. On
some systems, BREAK processing can be disabled in favor
of [CTRL/P], or [CTRL/P] is the only way to halt the
processor.

The most common way to avoid these halts is to disable
the serial line console or to simply not power-cycle
the console terminal. There is certain important
system state information that is displayed only on
the console, OpenVMS expects to always have access to
the system console.

Also see Section 5.6.

__________________________________________________________
14.18 Can I reuse old keyboards, mice and monitors with a PC?

Older HP keyboards (those with the DIGITAL logo and
the RJ modular jacks), older HP mice (those with the
DIGITAL logo and with the RJ modular jacks, or with
a DIN connector with pins in a configuration other
than the PC-standard DIN connector pin orientation),
and older video monitors (with RGB synch-on-green
video signaling) all use signaling formats and/or
communications protocols that differ from the PC
standards, and are not (easily) interchangable nor
(easily) compatible with typical PC peripheral device
controllers. The LK201 and LK401 keyboards, the VSXXX
series mice, the VR260 and VR290 monitors, etc., are
incompatible with most PC systems and with most KVM
switches.

Newer HP (and Compaq) keyboards (those with with PC-
style DIN plugs, and the HP, Compaq or DIGITAL logo),
newer HP mice (with PC-pin DIN plugs, and the HP,
Compaq or DIGITAL logo), and newer video monitors
(multi-synch) are often interchangeable with "industry
standard" PC systems, and can often be used with

14-46







Hardware Information




most PC peripheral device controllers. LK461, LK463,
LK46W, LK471, PC7XS-CA, VRC16, VRC21, TFT-series LCD
flat-panel displays, etc., are typically reasonably
compatible with most PC systems, and will usually
perform as expected within the limits of the hardware.
(For details of CRT and LCD display compatibility,
please see Section 14.19.)

Rule of thumb: if the peripheral device component
was sold for use with the DEC 2000 (DECpc 150 AXP),
an AlphaServer series, an AlphaStation series, or a
more recent Alpha system, it will probably work with a
PC peripheral controller or with a PC-compatible KVM
switch. If the peripheral device component was sold
for use with an VT420 or older terminal, most VAX, most
VAXstation, and most Alpha systems with names in the
format DEC [four-digit-number], it probably won't work
on a PC system or with a PC-compatible KVM.

Note that the above is a general guideline, and should
not be read to indicate that any particular peripheral
device will or will not work in any particular
configuration, save for those specific configurations
the device is explicitly supported in.

Software Integrators sells a video adapter card
called Gemini P1 which will drive many of the older
HP (DIGITAL-logo) fixed-frequency monitors on a PC
system:

o http://www.si87.com/

The DIGITAL (classic 2-5-2-style) part number 29-
32549-01 converts the output from the RGB cable (3 BNC,
synch-on-green) that comes with the VAXstation 3100 and
VAXstation 4000 series to a female SVGA D connector.
You may be able to find third-party converters or
adapters (3 BNCs with synch-on-green signaling to 5
BNCs with VGA/SVGA, or to 15-pin VGA/SVGA.

This adapter will allow PC multisync monitors with
the needed frequency specifications to be used with
the VAXstation series synch-on-green video connection.
It may well also work with a VAXstation 2000 series

14-47







Hardware Information




systems, but specifics and performance of that
combination are not immediately known at this writing.

The protocol definition for the old DIGITAL keyboard
and mouse interfaces is buried at the back of the QDSS
section in the old VAXstation II manual, specifically,
in the back of the VCB02 Video Subsystem Technical
Manual (EK-104AA-TM). The keyboard wiring and protocol
is in appendix B, and occupies circa 44 pages. The
mouse is in appendix C, circa 12 pages.

Also see Section 14.19.

__________________________________________________________
14.19 Which video monitor works with which graphics controller?

To determine the answer to the "will this video monitor
or this LCD panel work with this graphics controller?"
question, please first locate the resolution(s) and the
frequencies that are possible/supported at both ends
of the video cable (on the display and on the graphics
controller, in other words), and then determine if
there are any matching settings available. If there are
multiple matches, you will need to determine which one
is most appropriate for your needs.

You will also need to determine if the video monitor
or graphics controller requires the 3 BNC signaling
with the synchronization signals on the green wire,
or the 5 BNC signaling common on many PCs, or other
connections such as the DB15 video connector or USB
connector used on various systems. (BNC signaling
is comparatively old, but prevalent with many older
hobbyist AlphaStation or VAXstation configurations.)

If there are no matches, you will likely need to change
the hardware at one or both ends of the video cable.

The refresh frequencies for many devices have been
posted to comp.os.vms and/or other newsgroups. Search
the archives for details. Also see:

o http://www.repairfaq.org/

o http://www.mirage-mmc.com/faq/

o http://www.geocities.com/SiliconValley/Foothills/4467/fixedsync.html

14-48







Hardware Information




o http://saturn.tlug.org/sunstuff/ffmonitor.html

o http://hawks.ha.md.us/hardware/monitor.html

LCD-based and plasma-based flat-panel displays are
generally compatible with all recent OpenVMS Alpha
systems and supported graphics controllers. For
best results, you should generally set the graphics
controller to match the native LCD or plasma display
resolution and (for LCD displays) also set the
controller refresh rate to 60Hz. Check your graphics
controller and your display documentation for any
device-specific requirements and/or configuration
recommendations.

Some of the older graphics controllers around do not
necessarily generate stable signals at 60 Hz, if the
controller can even generate that refresh rate; you may
end up upgrading to a less-old controller. (At least
some of the PowerStorm 3D30 and PowerStorm 4D20 series
controllers, for instance, are not necessarily the
best choice for 60 Hz operations with an LCD, based
on empirical testing with an AlphaStation XP1000,
PowerStorm 3D30, and a TFT2025 series LCD. Degraded
or mismatched signals produce degraded displays,
obviously. The newest graphics controllers compatible
with your particular system are generally better
choices here for use with LCD; the Radeon 7500 series
is a good choice for most EV6-class AlphaStation
systems, for instance.

Also see Section 14.18.

__________________________________________________________
14.20 Where can I get information on storage hardware?

Information on various HP (Compaq, DIGITAL) OpenVMS
and other disk storage hardware and controllers, and
related technical information on SCSI, device jumpers,
etc., is available at:

o http://theref.aquascape.com/

Note

the aquascape website appears to have become
unavailable, and the FAQ maintainer is unaware

14-49


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 20:09:33 UTC
Permalink
Archive-name: dec-faq/vms/part10
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-10.TXT







Hardware Information




of a new or replacement server. You may or may
not have some success looking for this or of any
other now-unavailable sites using the world-wide
web archives at:

o http://www.archive.org/

__________________________________________________________
14.21 Why does my LK401 keyboard unexpectedly autorepeat?

There are several modes of failure:

o Pressing 2 and 3 keys at the same time causes
one key to autorepeat when released. Check the
hardware revision level printed on the bottom of
the keyboard. If the revision level is C01, the
keyboard firmware is broken. Call field service to
replace the keyboard with any revision level other
than C01.

o Pressing certain keys is always broken. Typical
symptoms are: delete always causes a autorepeat,
return needs to be pressed twice, etc. This is
frequently caused by having keys depressed while
the keyboard is being initialized. Pressing ^F2
several times or unplugging and replugging the
keyboard frequently fix this problem. (Ensure you
have current ECO kits applied; there is a patch
available to fix this problem.)

o A key that was working spontaneously stops working
correctly. This may be either of the two previous
cases, or it may be bad console firmware. Ensure
that you have the most recent firmware installed
on your Alpha system. In particular, an old version
of the DEC 3000 SRM firmware is known to have a bug
that can cause this keyboard misbehaviour.







14-50







Hardware Information



__________________________________________________________
14.22 Problem - My LK411 sends the wrong keycodes or some keys
are dead

Check the firmware revision on the keyboard. Hardware
revision B01 introduced an incompatability with the
device driver which causes the keyboard to not be
recognized correctly. There is a patch available to
fix this problem: [AXPDRIV06_061] - the fix is also
included in OpenVMS V6.2. The rev A01 keyboard, and the
LK450 should work without problems.

If you are working from another operating system
platform, please see the DECxterm tool and related
information on OpenVMS Freeware V5.0.

__________________________________________________________
14.23 Which DE500 variant works with which OpenVMS version?

Ensure you have a version of the Alpha SRM console
with support for the DE500 series device. Apply ALL
mandatory ECO kits for the OpenVMS version in use, and
also apply the CLUSIO, ALPBOOT, and ALPLAN kits, and
apply any available ALPCPU ECO kit for the platform.

o DE500-XA
auto-detection, no auto-negotiation,
OpenVMS V6.2-1H1 and ALPBOOT ECO, also V7.0 and
later and ECO.
Device hardware id 02000011 and 02000012.
Component part number 54-24187-01

o DE500-AA
auto-detection, auto-negotiation,
OpenVMS V6.2 and ALPBOOT and ALPLAN ECOs, or V7.1
and later and ECO.
Device hardware id 02000020 and 20000022.
Component part number 54-24502-01

o DE500-BA
auto-detection, auto-negotiation,
OpenVMS V6.2-1H3 and CLUSIO, ALPBOOT, ALPLAN and
ALPCPU ECOs, or V7.1-1H1 or later and ECO.
Device hardware id 02000030 (check connector, vs
DE500-FA) (other values on old Alpha SRM firmware)
Component part number 54-24602-01

14-51







Hardware Information




o DE500-FA (100 megabit fibre optic Ethernet)
OpenVMS V7.1-1H1 and later
Device hardware id 02000030 (check connector, vs
DE500-BA) (other values possible on old Alpha SRM
firmware)
Component part number 54-24899-01

To check the DE500 device hardware id from OpenVMS, use
the following command:

$ ANALYZE/SYSTEM
SDA> SHOW LAN/DEVICE=EWc:

The "hardware version" will be displayed.

To set the DE500 speed and duplex settings via the
associated Alpha SRM console environment variable, see
Table 14-4.

________________________________________________________________
Table 14-4 DE500 Speed and Duplex Settings

________________________________________________________________
EWx0_MODE_setting_________________Meaning_______________________

Twisted-Pair 10 Mbit/sec, nofull_duplex

Full Duplex, Twisted-Pair 10 Mbit/sec, full_duplex

AUI 10 Mbit/sec, nofull_duplex

BNC 10 Mbit/sec, nofull_duplex

Fast 100 Mbit/sec, nofull_duplex

FastFD (Full Duplex) 100 Mbit/sec, full_duplex

Auto-Negotiate____________________Negotiation_with_remote_device

To override the console setting and use LANCP:

$ RUN SYS$SYSTEM:LANCP
LANCP> SET DEVICE EWA0/SPEED=10
LANCP> DEFINE DEVICE EWA0/SPEED=10
LANCP> SET DEVICE EWA0/SPEED=100/full_duplex
LANCP> DEFINE DEVICE EWA0/SPEED=100/full_duplex

14-52







Hardware Information




Fast Ethernet (100Base, 100 megabit) controllers
such as the DE500 series have a pair of connections
available-while traditional Ethernet (10Base, 10
megabit) is inherently a half-duplex protocol, Fast
Ethernet can be configured to use one or both of the
available connections, depending on the controller.
Fast Ethernet can thus be half- or full-duplex
depending on the configuration and the capabilities
of the network controller and the Ethernet network
plant. Some Fast Ethernet controllers can also operate
at traditional Ethernet speeds, these controllers are
thus often refered to as 10/100 Ethernet controllers.

__________________________________________________________
14.24 How do I set the speed and duplex on OpenVMS I64?

OpenVMS I64 on Integrity servers does not provide a
console-level environment variable akin to the SRM
console variables used to manage the network speed and
duplex settings on OpenVMS Alpha and Alpha systems.
On OpenVMS I64 on Integrity servers, LANCP is used to
manage the speed and the duplex setting of the network
controllers.

$ RUN SYS$SYSTEM:LANCP
LANCP> SET DEVICE EWA0/SPEED=10
LANCP> DEFINE DEVICE EWA0/SPEED=10
LANCP> SET DEVICE EWA0/SPEED=100/full_duplex
LANCP> DEFINE DEVICE EWA0/SPEED=100/full_duplex

The EFI-level network bootstrap operations for a
network-based upgrade or a network-based installation
of OpenVMS I64 require the use of autonegotiation and a
switch capable of supporting it.

See Section 14.23 for a related discussion.

__________________________________________________________
14.25 Third-party or Unsupported
disk/tape/controllers/SCSI/widgets?

A wide variety of third-party and formally-unsupported
widgets-SCSI and ATA/ATAPI (IDE) disks and tapes,
graphics controllers, etc-are obviously widely
available, and are used on various platforms.

14-53







Hardware Information




If you purchase third-party or unsupported or generic
SCSI, ATA/ATAPI (IDE) storage devices, you and your
device vendor will be responsible for the testing and
the support of the devices. In general, you can expect
that HP will address non-standards-compliance problems
within OpenVMS (changes that will also not prevent
operations with other supported devices, of course),
but you and/or the device vendor and/or the device
manufacturer are responsible for finding and fixing
problems in the particular third-party device and or
controller involved.

In particular, realize that neither SCSI nor ATA/ATAPI
(IDE) is a particularly standard interface, these
interfaces tend to be a collection of optionally-
implemented and standardized interface features. You
should not and can not simply assume that all SCSI nor
ATA/ATAPI (IDE) storage devices are interchangeable.
If you want to try to use a generic SCSI device, use
V6.2 or later, or (better) V7.1-2 or later. If you wish
to try to use ATA/ATAPI (IDE), use OpenVMS V7.1-2 or
later.

On older OpenVMS releases, see the disk capacity limits
(Section 9.5).

With SCSI disks on releases prior to V6.2, ensure
that you have the ARRE and ARWE settings configured
correctly (disabled). (If not, you will see DRVERR
fatal drive errors and error log entries.)

Some SCSI disks set the medium type byte as part of
the SCSI size field-this is a SET CAPACITY extension to
SCSI specs. This problem also applies to VAX V7.1 and
later.

Disks with SCSI disk sizes past 8.58 GB and/or with
the SET CAPACITY extension require ALPSCSI07 ECO or the
OpenVMS Alpha V7.1-2 or later release. (See Section 9.5
for further details.)

Based on the displays of the (undocumented)
SYS$ETC:SCSI_INFO tool; this tool is present in OpenVMS
V6.2 and later:

14-54







Hardware Information




Issuing 6-byte MODE SENSE QIOW to get current values for page 01h
Page Code ................. 01h
Page Name ................. Read-Write Error Recovery
Saveable .................. Yes
Size ...................... 10
Hex Data .................. E6 08 50 00 00 00 08 00
00 00

The E6 shown indicates that the AWRE and ARRE bits are
set, and this is incompatible with OpenVMS versions
prior to V6.2. Further along in the same SCSI_INFO
display, if you also see:

Issuing 6-byte MODE SENSE QIOW to get changeable values for page 81h
Page Code ................. 01h
Page Name ................. Read-Write Error Recovery
Saveable .................. Yes
Size ...................... 10
Hex Data .................. C0 08 50 00 00 00 08 00
00 00

The C0 value means that the AWRE and ARRE values can
be changed on this particular SCSI device. (This is
not always the case.) If the bits are set, you can use
RZDISK from the OpenVMS Freeware, and can reset the E6
flag byte to hexadecimal 26 (or whatever the remaining
mask when you remove bits C0) on page one.

Each SCSI and ATA/ATAPI (IDE) host contains non-trivial
SCSI and IDE driver software, and each device contains
equally non-trivial firmware- taken together with the
mechanical and electronic components, this software
and firmware will determine whether or not a particular
device will function as expected.

Also note that various devices-such as various SCSI
CD-R devices -can implement and can require vendor-
specific protocol extensions, and these extensions
can require modifications to OpenVMS or the addition
of various utilities. In various of these cases,
these devices perform functions that will require
them to use SCSI or ATA/ATAPI (IDE) commands that
are (hopefully) architecturally-compatible SCSI
or ATA/ATAPI (IDE) command extensions. (Also see
Section 7.1 and Section 9.7.)

14-55







Hardware Information




Some SCSI tapes lack odd-byte transfer support, making
operations with OpenVMS problematic at best, as OpenVMS
expects odd-byte support. Examples of such include
LTO-1 devices such as the HP Ultrium 230 series tape,
and the DLT VS80 series tapes. Due to the lack of odd-
byte transfer support, LTO-1 devices are not supported
by OpenVMS. LTO devices in the LTO-2 and later series
do reportedly presently all have odd-byte transfer
support, and operations are reportedly rather easier.
Do check for formal support, of course.

In order for OpenVMS to officially support a particular
device, integration and testing work is mandated. There
can be no certainty that any particular device will
operate as expected in any particular configuration
without first performing this (non-trivial) work.

It is quite possible to find two devices-both entirely
compliant with applicable standards or interface
documents-that will not interoperate.

The same general statement holds for OpenVMS
bootstrapping on an unsupported VAX or Alpha platform.
It might or might not work. In particular, please see
the OpenVMS Software Product Description (SPD) for
the list of platforms supported by OpenVMS. OpenVMS
is not supported on the Personal Workstation -a
series, on the Digital Server series platforms, on
the AlphaServer 2100 series 5/375 CPU, on the Multia,
on the AlphaServer DS20L, and on a variety of other
platforms. (You might or might not see success booting
OpenVMS on any of these platforms.)

_____________________________
14.25.1 Lists of third-party widgets on OpenVMS?

Various folks have successfully used common third-party
disk disk devices with OpenVMS, such as the ATA (IDE)
and SCSI variants of the Iomega Zip250 removable disk
device.

Common SCSI CD-R/CD-RW devices such as the Plextor
PlexWriter 12/10/32S SCSI series and the HP DVD200i
series (recording CD-R) have also been successfully
utilized with various AlphaStation and VAXstation

14-56







Hardware Information




systems, and with tools such as CDRECORD. (A Plextor
PlexWriter burn of 614400000 bytes (300000 sectors)
requires just over six minutes at 12x, using an
AlphaStation XP1000 666 MHz EV67 system UltraSCSI
host.) (See Section 9.7 for detailed discussions of
recording optical media on OpenVMS, and the available
tools.)

If you choose to attempt to use third-party devices,
ensure that you have the most current OpenVMS version
and the most current ECO kit(s) applied. In the
specific case of the ATA (IDE) Iomega Zip250 drive,
ensure that you have the most current revision of
SYS$DQDRIVER installed.

_____________________________
14.25.2 Are the 2X-KZPCA-AA and SN-KZPCA-AA LVD Ultra2 SCSI?

Yes. Both of these controllers are Ultra2 low-voltage
_________differential_(LVD)_SCSI controllers.

14.25.3 Resolving DRVERR fatal device error?

If this is on an OpenVMS version prior to V6.2, please
see the AWRE and ARRE information included in section
Section 14.25.

__________________________________________________________
14.26 Looking for connector wiring pin-outs?

The DECconnect DEC-423 Modified Modular Jack (MMJ)
appears similar to a telphone or network modular jac,
though with the key offset to one side. The DECconnect
MMJ connector pin-out is listed in Table 14-5, with an
end-on view of the connector pins and the connector key
shown below.

________________________________________________________________
Table 14-5 DEC MMJ Pin-out

_______________________________________________________
Pin_____Description____________________________________

1 Data Terminal Ready (DTR)

2 Transmit (TXD)

3 Transmit Ground (TXD-)

14-57







Hardware Information



________________________________________________________________
Table 14-5 (Cont.) DEC MMJ Pin-out

_______________________________________________________
Pin_____Description____________________________________

4 Receive Ground (RXD-)

5 Receive (RXD)

_________6_______Data_Set_Ready_(DSR)___________________________

+------------------+
| 1 2 3 4 5 6 |
+------------+ ++
+____+

The BC16E-nn (where the "-nn" indicates the cable
length) cabling and keying "flips over" or "crosses-
over" the signal wires, and this allows all DECconnect
MMJ connections to be wired identically; the ends of
the BC16E are symmetrical and fully interchangeable,
and allows either end of the cable to be connected
either to the terminal or to the host. Specifically,
the BC16E-nn cross-over wiring looks like this:

Terminal Host
MMJ MMJ

DTR 1 --->---------->----------->--- 6 DSR
TXD 2 --->---------->----------->--- 5 RXD
3 ------------------------------ 4
4 ------------------------------ 3
RXD 5 ---<----------<-----------<--- 2 TXD
DSR 6 ---<----------<-----------<--- 1 DTR

DECconnect parts and connections are available from
HP, and MMJ crimping dies for use in typical telco-
style crimping tools, and MMJ connectors, are available
from Blackbox and from other communications equipment
vendors.

The PC-compatible DB9 connector pin-out found on Alpha
and Integrity COM serial ports-and on most PC systems
is listed in Table 14-6.

14-58







Hardware Information




________________________________________________________________
Table 14-6 PC DB9 Pin-out

_______________________________________________________
Pin_____Description____________________________________

1 Data Carrier Detect (DCD)

2 Received Data

3 Transmit Data

4 Data Terminal Ready (DTR)

5 Ground

6 Data Set Ready (DSR)

7 Request To Send (RTS)

8 Clear To Send

_________9_______floating_______________________________________

The MicroVAX DB9 console connector pin-out predates
the PC-style DB9 pin-out (adapters discussed in
Section 14.27), and uses a then-common (and older)
standard pin-out, and uses the EIA-232 series standard
signals shown in Table 14-7.

________________________________________________________________
Table 14-7 MicroVAX DB9 Pin-out

_______________________________________________________
Pin_____Description____________________________________

1 Protective Ground

2 Transmited Data

3 Received Data

4 Request To Send (RTS)

5 Data Terminal Ready (DTR)

6 Data Set Ready (DSR)

7 Signal Ground

8 Shorted to pin 9 on MicroVAX and VAXstation
2000...

_________9_______...series_systems,_otherwise_left_floating.____

When pin 8 is shorted to pin 9, this is a BCC08 (or
variant) cable, most commonly used as a console cable

14-59







Hardware Information




on the MicroVAX 2000 and VAXstation 2000 series. (Other
systems may or may not tolerate connecting pin 8 to pin
9.)

The BN24H looks like this:

MMJ RJ45

1---------8
2---------2
3---------1
4---------3
5---------6
6---------7

The BN24J looks like this:

MMJ RJ45

1---------7
2---------6
3---------3
4---------1
5---------2
6---------8

Also see:

o http://www.hp.com/go/openvms/wizard/

o http://www.airborn.com.au/rs232.html

o http://www.stanq.com/cable.html

o For adapters and connectors, see Section 14.27.

__________________________________________________________
14.27 What connectors and wiring adapters are available?

The H8571-B and H8575-B convert the (non-2000-series)
MicroVAX DB9 to the DECconnect DEC-423 Modified
Modular Jack (MMJ) pin-out; to the MMJ DECconnect
wiring system. The MicroVAX 2000 and VAXstation 2000
requires a BCC08 cable (which has the 8-9 short, see
Section 14.26) and the H8571-C or the H8571-D DB25-to-
MMJ adapter for use with DECconnect. (For a discussion
of the console bulkhead on the MicroVAX II series and
on other closely-related series systems, please see
Section 14.3.3.4.)

14-60







Hardware Information




Somewhat less ancient HP (HP, Compaq or DIGITAL logo)
systems will use either the DECconnect MMJ wiring
directly or-on most (all?) recent system designs-
the PC-compatible DB9 9-pin pin-out; the PC-style COM
serial port interface and connection.

There are two DB9 9-pin pin-outs, that of the H8571-
B and similar for the MicroVAX and other and older
systems, and that of the H8571-J for the PC-style COM
port, AlphaStation, Integrity, and other newer systems.
The older MicroVAX DB9 and the PC-style DB9 pin-outs
are not compatible.

________________________________________________________________
Table 14-8 DECconnect MMJ Connectors and Adapters

_______________________________________________________
Part________Converts_BC16E_MMJ_male_to_fit_into________

H8571-A EIA232 DB25 25-pin female (common).
Functionally similar to the H8575-A, though
the H8575-A has better ESD shielding.

H8571-B Older MicroVAX (other than the MicroVAX
2000) DB9 EIA232 serial port. Functionally
similar to the H8575-B, though the H8575-B
has better ESD shielding. Note: Cannot be
used on a PC, Alpha nor Integrity DB9 9-pin
connector.

H8571-C 25 pin DSUB Female to MMJ, Unfiltered

H8571-D EIA232 25 pin male (modem-wired)

H8571-E 25 pin DSUB Female to MMJ, Filtered

H8571-J PC, Alpha, Integrity 9 pin (DB9) male (PC-
style COM serial port) Note: Cannot be used
on the older MicroVAX DB9 9-pin connector

H8572-0 BC16E MMJ double-female (MMJ extender)

H8575-A EIA232 DB25 25-pin female (common).
Functionally similar to the H8571-A, though
the H8575-A has better ESD shielding.

14-61







Hardware Information



________________________________________________________________
Table 14-8 (Cont.) DECconnect MMJ Connectors and Adapters

_______________________________________________________
Part________Converts_BC16E_MMJ_male_to_fit_into________

H8575-B Older MicroVAX (other than the MicroVAX
2000) DB9 EIA232 serial port. Functionally
similar to the H8571-B, though the H8575-B
has better ESD shielding. Note: Cannot be
used on a PC, Alpha nor Integrity DB9 9-pin
connector

H8575-D 25 Pin to MMJ with better ESD Protection

H8575-D 25 Pin to MMJ with better and ESD
Protection

H8575-E 25 Pin Integrity rx2600 Management
Processor (MP) port to MMJ, with ESD
Protection

H8577-AA 6 pin Female MMJ to 8 pin MJ

BC16E-** MMJ cable with connectors, available in
_____________________various_lengths____________________________

Numerous additional adapters and cables are available
from the (now out of print) OPEN DECconnect Building
Wiring Components and Applications Catalog, as well as
descriptions of the above-listed parts.

The DECconnect wiring system has insufficient signaling
for modems, and particularly lacks support for modem
control signals.

The H8571-A and H8575-A are MMJ to DB25 (female) and
other connector wiring diagrams and adapter-, cable-
and pin-out-related discussions are available at:

o http://www.hp.com/go/openvms/wizard/

Jameco has offered a USB-A to PS/2 Mini DIN 6 Adapter
(as part 168751), for those folks wishing to (try to)
use PS/2 Keyboards via USB-A connections.

The LK463 USB keyboard is also a potential option, for
those wishing to connect an OpenVMS keyboard to USB
systems or (via the provided adapter) to PS/2 systems.
The LK463 provides the classic OpenVMS keyboard and

14-62







Hardware Information




keyboard layout on USB-based system configurations,
including operations with the USB connection on
specific Alpha systems (and specifically on those with
supported USB connections) and on Integrity servers.

For information on the Alpha console COM port(s) or on
the VAX console port, please see Section 14.3.

__________________________________________________________
14.28 What is flow control and how does it work?

XON/XOFF is one kind of flow control.

In ASCII, XON is the <CTRL/Q> character, and XOFF is
the <CTRL/S>.

XON/XOFF flow control is typically associated with
asynchronous serial line communications. XON/XOFF is an
in-band flow control, meaning that the flow control is
mixed in with the data.

CTS/RTS is another type of flow control, and is
sometimes called hardware flow control. Out-of-band
means that seperate lines/pins from the data lines
(pins) are used to carry the CTS/RTS signals.

Both kinds of flow control are triggered when a
threshold is reached in the incoming buffer. The flow
control is suppose to reach the transmitter in time to
have it stop transmitting before the receiver buffer is
full and data is lost. Later, after a sufficient amount
of the receiver's buffer is freed up, the resume flow
control signal is sent to get the transmitter going
again.

DECnet Phase IV on OpenVMS VAX supports the use of
asynchronous serial communications as a network
line; of asynch DECnet. The communication devices
(eg. modems, and drivers) must not be configured
for XON/XOFF flow control. The incidence of these
(unexpected) in-band characters will corrupt data
packets. Further, the serial line device drivers
might normally remove the XON and XOFF characters
from the stream for terminal applications, but DECnet
configures the driver to pass all characters through
and requires that all characters be permitted. (The
communication devices must pass through not only the

14-63







Hardware Information




XON and XOFF characters, they must pass all characters
including the 8-bit characters. If data compression is
happening, it must reproduce the source stream exactly.
No addition or elimination of null characters, and full
data transparency.

An Ethernet network is rather different than an
asynchronous serial line. Ethernet specifies the
control of data flow on a shared segment using CSMA/CD
(Carrier Sense Multiple Access, with Collision Detect)
An Ethernet station that is ready to transmit listens
for a clear channel (Carrier Sense). When the channel
is clear, the station begins to transmit by asserting
a carrier and encoding the packet appropriately. The
station concurrently listens to its own signal, to
permit the station to detect if another station began
to transmit at the same time-this is called collision
detection. (The collision corrupts the signal in a
way that can reliably be detected.) Upon detecting the
collision, both stations will stop transmitting, and
will back off and try again a little later. (You can
see a log of this activity in the DECnet NCP network
counters.)

DECnet provides its own flow control, above and beyond
the flow control of the physical layer (if any). The
end nodes handshake at the beginning to establish
a transmit window size-and a transmitter will only
send that much data before stopping and waiting for
an acknowledgement. The acknowledgement is only sent
when the receiver has confirmed the packet is valid. (A
well-configured DECnet generally avoids triggering any
underlying (out-of-band) flow control mechanism.)

__________________________________________________________
14.29 CD and DVD device requirements?

Read access to DVD-ROM, DVD+R/RW, DVD-R/RW, CD-ROM, and
CD-R/RW devices on ATAPI (IDE) connections is generally
handled transparently by SYS$DQDRIVER, and SYS$DQDRIVER
will transparently de-block the media-native 2048
byte disk blocks with the 512-byte blocks expected
by OpenVMS and by native OpenVMS software.

14-64







Hardware Information




Read access to DVD-ROM, DVD+R/RW, DVD-R/RW, CD-ROM, and
CD-R/RW devices on SCSI is handled by DKDRIVER, though
SYS$DKDRIVER will not transparently de-block the native
2048-byte disk blocks into the 512-byte blocks expected
by OpenVMS. The drive or external software is expected
to provide this de-blocking, thus either a 512-byte
block capable drive (such as all RRD-series SCSI CD-ROM
drives) is required, or host software is required for
a 2048-byte block drive. Third-party SCSI drives with
UNIX references in their support documentation or with
explicit 512-byte selectors or swiches will generally
(but not always, of course) operate with OpenVMS.

At least some of the Plextor PlexWriter SCSI drives
can be successfully accessed (for read and write) from
OpenVMS, as can at least one Pioneer SCSI DVD drive
(for CD media). The Pioneer SCSI DVD drive switches
to 2048 byte blocks for DVD media, and a block-size
conversion tool (written by Glenn Everhart) or other
similar tool can be applied.

OpenVMS also has supported HP DVD drives for the ATAPI
(IDE) bus.

For some related information (and details on a
commercial DVDwrite package), please see:

o http://home.tiscali.de/dvd4openvms/supported_
hardware.html

No device driver currently presently permits direct
block-oriented recording on DVD-RAM nor DVD+RW media,
nor other recordable or rewritable media.

Recording (writing) of CD and DVD optical media
requires a recording or media mastering application
or tool, and both commercial and non-commercial options
are available. See Section 9.7 for related details on
CDRECORD (both non-DVD and DVD versions are available,
and at least one commercial version is available),
and also see DVDwrite (commercial) or DVDRECORD (open
source).


14-65







Hardware Information




For information on the GKDRIVER (SYS$GKDRIVER)
generic SCSI device driver and of the the IO$_DIAGNOSE
$qio[w] interfaces (of SYS$DKDRIVER, SYS$DNDRIVER and
SYS$DQDRIVER) that are utilized by most CD and DVD
recording tools to send commands to SCSI, USB or ATAPI
devices (most USB and ATA devices-or more correctly,
most ATAPI devices-can use SCSI-like command packets),
please see the SYS$EXAMPLES:GKTEST.C example, and see
DECW$EXAMPLES:DECW$CDPLAYER.C example and please see
the various associated sections of the OpenVMS I/O
User's Reference Manual.

For information on creating bootable optical media on
OpenVMS, please see Section 9.7.3.






























14-66












_______________________________________________________

15 Information on Networks and Clusters



The following sections contain information on OpenVMS
Networking with IP and DECnet, and on clustering and
volume shadowing, on Fibre Channel, and on related
products and configurations.

__________________________________________________________
15.1 How to connect OpenVMS to a Modem?

Please see the Ask The Wizard area topics starting with
(81), (1839), (2177), (3605), etc.

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

__________________________________________________________
15.2 OpenVMS and IP Networking?

The following sections contain information on OpenVMS
and IP networking, as well as IP printing topics.

_____________________________
15.2.1 How to connect OpenVMS to the Internet?

Some tutorial information and tips for connecting
OpenVMS systems to the Internet are available at:

o http://www.tmesis.com/internet/

_____________________________
15.2.2 Connecting to an IP Printer?

To connect a printer via the IP telnet or lpr/lpd
protocols, you will need to install and configure an IP
stack on OpenVMS, and configure the appropriate print
queue.

15-1







Information on Networks and Clusters




With current OpenVMS IP implementations, the choice
of telnet or lpr/lpd really amounts to determining
which of these works better with the particular printer
involved.

To support network printing, the printer must include
an internal or external NIC or JetDirect; an adapter
connecting the network and the printer.

While it is normally possible to use a host-connected
printer-when the host supports an LPD or telnet daemon,
and OpenVMS and most other operating systems have the
ability to serve locally-attached printers to other
hosts on the network-it is generally far easier and
far more effective to use a printer that is directly
attached to the network. If your present printer does
not have a NIC or a JetDirect, acquire an internal (if
available) or external NIC or JetDirect. Or replace the
printer. And obviously, most any operating system that
can serve its local printers usually also provides
a client that can access remote network-connected
printers.

Please see the Ask The Wizard (ATW) area topics-
starting with topic (1020)-for additional information
on IP-based network printing.

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

Please see Section 15.2.3 for information on Postscript
printing.

_____________________________
15.2.3 How do I connect a PostScript printer via TCP/IP?

Using TCP/IP Services (UCX) as the TCP/IP stack, it is
possible to configure queues using the UCX$TELNETSYM
(TCP/IP Services prior to V5.0) or TCPIP$TELNETSYM
(with V5.0 and later) in order to print to Postscript
printers. This assumes however that the printer itself
can convert whatever is passed to it into something
intelligible. As an example, if the printer has an IP

15-2







Information on Networks and Clusters




address of 123.456.789.101 and jobs should be passed to
port 9100 then :

$ INITIALIZE/QUEUE/ON="123.456.789.101:9100" -
/PROCESSOR=UCX$TELNETSYM -
my_ip_queue

$ INITIALIZE/QUEUE/ON="123.456.789.101:9100" -
/PROCESSOR=TCPIP$TELNETSYM -
my_ip_queue

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

As a better alternative, DCPS Version 1.4 and later
support IP queues using either HP TCP/IP Services
for OpenVMS software or Process Software Multinet
for OpenVMS. The usage of this type of interface is
documented in the DCPS documentation or release notes,
and the DCPS$STARTUP.TEMPLATE startup template file.

For general and additional (non-Postscript) IP printing
information, please see topic (1020) and other topics
referenced in that topic elsewhere within the Ask The
Wizard area.

o http://www.hp.com/go/openvms/wizard/

For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8. Also
see:

o http://www.wotsit.org/

Please see Section 15.2.2 for pointers to an
introduction to IP printing.

_____________________________
15.2.4 How do I set a default IP route or gateway on OpenVMS?

If you have TCP/IP Services, then use the command for
TCP/IP Services V5.0 and later:

$ TCPIP
SET ROUTE/GATE=x.x.x.x/DEFAULT/PERMANENT

15-3







Information on Networks and Clusters




And for earlier TCP/IP Services versions, use the
command:

$ UCX
SET ROUTE/GATE=x.x.x.x/DEFAULT/PERMANENT

_____________________________
15.2.5 How can I set up reverse telnet (like reverse LAT)?

Though it may seem obvious, Telnet and LAT are quite
different-with differing capabilities and design goals.

Please see the documentation around the TCP/IP Services
for OpenVMS TELNET command CREATE_SESSION. This command
is the equivilent of the operations performed in
LTLOAD.COM or LAT$SYSTARTUP.COM. There is no TELNET
equivilent to the sys$qio[w] control interface for
LTDRIVER (as documented in the I/O User's Reference
Manual) available, though standard sys$qio[w] calls
referencing the created TN device would likely operate
as expected.

_____________________________
15.2.6 Why can't I use PPP and RAS to connect to OpenVMS Alpha?

OpenVMS Alpha IP PPP does not presently support
authentication, and the Microsoft Windows NT option
to disable authentication during a RAS connection
apparently doesn't currently work-RAS connections will
require authentication-and this will thus prevent RAS
connections.

Future versions of OpenVMS and TCP/IP Services may
add this, and future versions of Microsoft Windows may
permit operations with authentication disabled.

__________________________________________________________
15.3 OpenVMS and DECnet Networking?

The following sections contain information on OpenVMS
and DECnet networking.



15-4







Information on Networks and Clusters



_____________________________
15.3.1 Can DECnet-Plus operate over IP?

Yes. To configure DECnet-Plus to operate over IP
transport and over IP backbone networks, install and
configure DECnet-Plus, and install and configure the
PWIP mechanism available within the currently-installed
IP stack. Within TCP/IP Services, this is a PWIPDRIVER
configuration option within the UCX$CONFIG (versions
prior to V5.0) or TCPIP$CONFIG (with V5.0 and later)
configuration tool.

_____________________________
15.3.2 What does "failure on back translate address request"
mean?

The error message:

BCKTRNSFAIL, failure on the back translate address request

indicates that the destination node is running DECnet-
Plus, and that its naming service (DECnet-Plus DECdns,
LOCAL node database, etc) cannot locate a name to
associate with the source node's address. In other
words, the destination node cannot determine the node
name for the node that is the source of the incoming
connection.

Use the DECNET_REGISTER mechanism (on the destination
node) to register or modify the name(s) and the
address(es) of the source node. Check the namespace
on the source node, as well.

Typically, the nodes involved are using a LOCAL
namespace, and the node name and address settings are
not coherent across all nodes. Also check to make sure
that the node is entered into its own LOCAL namespace.
This can be a problem elsewhere, however. Very rarely,
a cache corruption has been known to cause this error.
To flush the cache, use the command:

$ RUN SYS$SYSTEM:NCL
flush session control naming cache entry "*"


15-5







Information on Networks and Clusters




Also check to see that you are using the latest ECO for
DECnet-Plus for the version you are running. DECnet-
Plus can use the following namespaces:

o DECdns: DECnet-Plus distributed name services.

o LocalFile: a local file containing names and
addresses.

o DNS/BIND: the TCP/IP distributed name services
mechanism.

o The TCP/IP Services (UCX) local host file.

Of these, searching DNS/BIND and LocalFile,
respectively, is often the most appropriate
configuration.

_____________________________
15.3.3 Performing SET HOST/MOP in DECnet-Plus?

First, issue the NCL command SHOW MOP CIRCUIT *

$ RUN SYS$SYSTEM:NCL
SHOW MOP CIRCUIT *

Assume that you have a circuit known as FDDI-0
displayed. Here is an example of the SET HOST/MOP
command syntax utilized for this circuit:

$ SET HOST/MOP/ADDRESS=08-00-2B-2C-5A-23/CIRCUIT=FDDI-0

Also see Section 15.6.3.

_____________________________
15.3.4 How to flush the DECnet-Plus session cache?

$ RUN SYS$SYSTEM:NCL
FLUSH SESSION CONTROL NAMING CACHE ENTRY "*"

__________________________________________________________
15.4 How to determine the network hardware address?

Most Alpha and most VAX systems have a console command
that displays the network hardware address. Many
systems will also have a sticker identifying the
address, either on the enclosure or on the network
controller itself.

15-6







Information on Networks and Clusters




The system console power-up messages on a number of VAX
and Alpha systems will display the hardware address,
particularly on those systems with an integrated
Ethernet network adapter present.

If you cannot locate a sticker on the system, if
the system powerup message is unavailable or does
not display the address, and if the system is at the
console prompt, start with the console command:

HELP

A console command similar to one of the following is
typically used to display the hardware address:

SHOW DEVICE
SHOW ETHERNET
SHOW CONFIG

On the oldest VAX Q-bus systems, the following console
command can be used to read the address directly off
the (DELQA, DESQA, or the not-supported-in-V5.5-and-
later DEQNA) Ethernet controller:

E/P/W/N:5 20001920

Look at the low byte of the six words displayed by
the above command. (The oldest VAX Q-bus systems-such
as the KA630 processor module used on the MicroVAX II
and VAXstation II series-lack a console HELP command,
and these systems typically have the primary network
controller installed such that the hardware address
value is located at the system physical address
20001920.)

If the system is a VAX system, and another VAX system
on the network is configured to answer Maintenance
and Operations Protocol (MOP) bootstrap requests
(via DECnet Phase IV, DECnet-Plus, or LANCP), the
MOM$SYSTEM:READ_ADDR.EXE tool can be requested:

B/R5:100 ddcu
Bootfile: READ_ADDR

15-7







Information on Networks and Clusters




Where ddcu is the name of the Ethernet controller in
the above command. The primarly local DELQA, DESQA,
and DEQNA Q-bus controllers are usually named XQA0.
An attempt to MOP download the READ_ADDR program will
ensue, and (if the download is successful) READ_ADDR
will display the hardware address.

If the system is running, you can use DECnet or
TCP/IP to display the hardware address with one of
the following commands.

$! DECnet Phase IV
$ RUN SYS$SYSTEM:NCP
SHOW KNOWN LINE CHARACTERISTICS

$! DECnet-Plus
$ RUN SYS$SYSTEM:NCL
SHOW CSMA-CD STATION * ALL STATUS

$! TCP/IP versions prior to V5.0
$ UCX
SHOW INTERFACE/FULL

$! TCP/IP versions V5.0 and later
$ TCPIP
SHOW INTERFACE/FULL

A program can be created to display the hardware
address, reading the necessary information from
the network device drivers. A complete example C
program for reading the Ethernet or IEEE 802.3 network
controller hardware address (via sys$qio calls to the
OpenVMS network device driver(s)) is available at the
following URL:

o http://www.hp.com/go/openvms/wizard/

To use the DECnet Phase IV configurator tool to watch
for MOP SYSID activity on the local area network:

$ RUN SYS$SYSTEM:NCP
SET MODULE CONFIGURATOR KNOWN CIRCUIT SURVEILLANCE ENABLED


15-8







Information on Networks and Clusters




Let the DECnet Phase IV configurator run for at least
20 minutes, and preferably longer. Then issue the
following commands:

$ RUN SYS$SYSTEM:NCP
SHOW MODULE CONFIGURATOR KNOWN CIRCUIT STATUS TO filename.txt
SET MODULE CONFIGURATOR KNOWN CIRCUIT SURVEILLANCE DISABLED

The resulting file (named filename.txt) can now be
searched for the information of interest. Most DECnet
systems will generate MOP SYSID messages identifying
items such as the controller hardware address and the
controller type, and these messages are generated and
multicast roughly every ten minutes.

Information on the DECnet MOP SYSID messages and other
parts of the maintenance protocols is included in the
DECnet network architecture specifications referenced
in section DOC9.

_____________________________
15.4.1 How do I reset the LAN (DECnet-Plus NCL) error counters?

On recent OpenVMS releases:

$ RUN SYS$SYSTEM:LANCP
SET DEVICE/DEVICE_SPECIFIC=FUNCTION="CCOU" devname

_____________________________
15.4.2 How do I install DECnet Phase IV on VMS 7.1?

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

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


15-9







Information on Networks and Clusters




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

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

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

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

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

Subsequent OpenVMS upgrade and installation procedures
can and do offer both DECnet Phase IV and DECnet-Plus
installations.






15-10







Information on Networks and Clusters



__________________________________________________________
15.5 How can I send (radio) pages from my OpenVMS system?

There are third-party products available to
send messages to radio paging devices (pagers),
communicating via various protocols such as TAP
(Telocator Alphanumeric Protocol); paging packages.

RamPage (Ergonomic Solutions) is one of the available
packages that can generate and transmit messages to
radio pagers. Target Alert (Target Systems; formerly
the DECalert product) is another. Networking Dynamics
Corp has a product called Pager Plus. The System
Watchdog package can also send pages. The Process
Software package PMDF can route specific email
addresses to a paging service, as well.

Many commercial paging services provide email contact
addresses for their paging customers-you can simply
send or forward email directly to the email address
assigned to the pager.

Some people implement the sending of pages to radio
pagers by sending commands to a modem to take the
"phone" off the "hook", and then the paging sequence,
followed by a delay, and then the same number that a
human would dial to send a numeric page. (This is not
entirely reliable, as the modem lacks "call progress
detection", and the program could simply send the
dial sequence when not really connected to the paging
company's telephone-based dial-up receiver.)

See Section 13.1 for information on the available
catalog of products.

__________________________________________________________
15.6 OpenVMS, Clusters, Volume Shadowing?

The following sections contain information on OpenVMS
and Clusters, Volume Shadowing, and Cluster-related
system parameters.




15-11







Information on Networks and Clusters



_____________________________
15.6.1 OpenVMS Cluster Communications Protocol Details?

The following sections contain information on the
OpenVMS System Communications Services (SCS) Protocol.
Cluster terminology is available in Section 15.6.1.2.1.

_____________________________
15.6.1.1 OpenVMS Cluster (SCS) over DECnet? Over IP?

The OpenVMS Cluster environment operates over various
network protocols, but the core of clustering uses
the System Communications Services (SCS) protocols,
and SCS-specific network datagrams. Direct (full)
connectivity is assumed.

An OpenVMS Cluster does not operate over DECnet, nor
over IP.

No SCS protocol routers are available.

Many folks have suggested operating SCS over DECnet
or IP over the years, but SCS is too far down in
the layers, and any such project would entail a
major or complete rewrite of SCS and of the DECnet
or IP drivers. Further, the current DECnet and IP
implementations have large tracts of code that operate
at the application level, while SCS must operate in
the rather more primitive contexts of the system and
particularly the bootstrap-to get SCS to operate over a
DECnet or IP connection would require relocating major
portions of the DECnet or IP stack into the kernel.
(And it is not clear that the result would even meet
the bandwidth and latency expectations.)

The usual approach for multi-site OpenVMS Cluster
configurations involves FDDI, Memory Channel (MC2), or
a point-to-point remote bridge, brouter, or switch. The
connection must be transparent, and it must operate at
10 megabits per second or better (Ethernet speed), with
latency characteristics similar to that of Ethernet or
better. Various sites use FDDI, MC2, ATM, or point-to-
point T3 link.


15-12







Information on Networks and Clusters



_____________________________
15.6.1.2 Configuring Cluster SCS for path load balancing?

This section discusses OpenVMS Cluster communications,
cluster terminology, related utilities, and command and
control interfaces.

_____________________________
15.6.1.2.1 Cluster Terminology?

SCS: Systems Communication Services. The protocol used
to communicate between VMSCluster systems and between
OpenVMS systems and SCS-based storage controllers.
(SCSI-based storage controllers do not use SCS.)

PORT: A communications device, such as DSSI, CI,
Ethernet or FDDI. Each CI or DSSI bus is a different
local port, named PAA0, PAB0, PAC0 etc. All Ethernet
and FDDI busses make up a single PEA0 port.

VIRTUAL CIRCUIT: A reliable communications path
established between a pair of ports. Each port in a
VMScluster establishes a virtual circuit with every
other port in that cluster.

All systems and storage controllers establish "Virtual
Circuits" to enable communications between all
available pairs of ports.

SYSAP: A "system application" that communicates using
SCS. Each SYSAP communicates with a particular remote
SYSAP. Example SYSAPs include:

VMS$DISK_CL_DRIVER connects to MSCP$DISK
The disk class driver is on every VMSCluster system.
MSCP$DISK is on all disk controllers and all VMSCluster
systems that have SYSGEN parameter MSCP_LOAD set to 1

VMS$TAPE_CL_DRIVER connects to MSCP$TAPE
The tape class driver is on every VMSCluster system.
MSCP$TAPE is on all tape controllers and all VMSCluster
systems that have SYSGEN parameter TMSCP_LOAD set to 1

VMS$VAXCLUSTER connects to VMS$VAXCLUSTER
This SYSAP contains the connection manager, which
manages cluster connectivity, runs the cluster state
transition algorithm, and implements the cluster quorum

15-13







Information on Networks and Clusters




algorithm. This SYSAP also handles lock traffic, and
various other cluster communications functions.

SCS$DIR_LOOKUP connects to SCS$DIRECTORY
This SYSAP is used to find SYSAPs on remote systems

MSCP and TMSCP
The Mass Storage Control Protocol and the Tape MSCP
servers are SYSAPs that provide access to disk and
tape storage, typically operating over SCS protocols.
MSCP and TMSCP SYSAPs exist within OpenVMS (for OpenVMS
hosts serving disks and tapes), within CI- and DSSI-
based storage controllers, and within host-based MSCP-
or TMSCP storage controllers. MSCP and TMSCP can be
used to serve MSCP and TMSCP storage devices, and can
also be used to serve SCSI and other non-MSCP/non-TMSCP
storage devices.

SCS CONNECTION: A SYSAP on one node establishes an SCS
connection to its counterpart on another node. This
connection will be on ONE AND ONLY ONE of the available
virtual circuits.

_____________________________
15.6.1.2.2 Cluster Communications Control?

When there are multiple virtual circuits between two
OpenVMS systems it is possible for the VMS$VAXCLUSTER
to VMS$VAXCLUSTER connection to use any one of these
circuits. All lock traffic between the two systems will
then travel on the selected virtual circuit.

Each port has a "LOAD CLASS" associated with it. This
load class helps to determine which virtual circuit
a connection will use. If one port has a higher load
class than all others then this port will be used. If
two or more ports have equally high load classes then
the connection will use the first of these that it
finds. Prior to enhancements found in V7.3-1 and later,
the load class is static and normally all CI and DSSI
ports have a load class of 14(hex), while the Ethernet
and FDDI ports will have a load class of A(hex). With
V7.3-1 and later, the load class values are dynamic.

15-14







Information on Networks and Clusters




For instance, if you have multiple DSSI busses and
an FDDI, the VMS$VAXCLUSTER connection will chose the
DSSI bus as this path has the system disk, and thus
will always be the first DSSI bus discovered when the
OpenVMS system boots.

To force all lock traffic off the DSSI and on to
the FDDI, for instance, an adjustment to the load
class value is required, or the DSSI SCS port must
be disabled.

In addition to the load class mechanisms, you can
also use the "preferred path" mechanisms of MSCP
and TMSCP services. This allows you to control the
SCS connections used for serving remote disk and tape
storage. The preferred path mechanism is most commonly
used to explicitly spread cluster I/O activity over
hosts and/or storage controllers serving disk or tape
storage in parallel. This can be particularly useful if
your hosts or storage controllers individually lack the
necessary I/O bandwidth for the current I/O load, and
must thus aggregate bandwidth to serve the cluster I/O
load.

For related tools, see various utilities including
LAVC$STOP_BUS and LAVC$START_BUS, and see DCL commands
including SET PREFERRED_PATH.

_____________________________
15.6.1.2.3 Cluster Communications Control Tools and Utilities?

In most OpenVMS versions, you can use the tools:

o SYS$EXAMPLES:LAVC$STOP_BUS

o SYS$EXAMPLES:LAVC$START_BUS

These tools permit you to disable or enable all SCS
traffic on the on the specified paths.

You can also use a preferred path mechanism that tells
the local MSCP disk class driver (DUDRIVER) which path
to a disk should be used. Generally, this is used with
dual-pathed disks, forcing I/O traffic through one of
the controllers instead of the other. This can be used

15-15







Information on Networks and Clusters




to implement a crude form of I/O load balancing at the
disk I/O level.

Prior to V7.2, the preferred path feature uses the
tool:

o SYS$EXAMPLES:PREFER.MAR

In OpenVMS V7.2 and later, you can use the following
DCL command:

$ SET PREFERRED_PATH

The preferred path mechanism does not disable nor
affect SCS operations on the non-preferred path.

With OpenVMS V7.3 and later, please see the SCACP
utility for control over cluster communications, SCS
virtual circuit control, port selection, and related.

_____________________________
15.6.2 Cluster System Parameter Settings?

The following sections contain details of configuring
cluster-related system parameters.

_____________________________
15.6.2.1 What is the correct value for EXPECTED_VOTES in a
VMScluster?

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


15-16







Information on Networks and Clusters




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

Some sites erroneously attempt to set EXPECTED_VOTES
too low, believing that this will allow when only a
subset of voting nodes are present in a VMScluster. It
does not. Further, an erroneous setting in EXPECTED_
VOTES is automatically corrected once VMScluster
connections to other nodes are established; user data
is at risk of severe corruptions during the earliest
and most vulnerable portion of the system bootstrap,
before the connections have been established.

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

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

Note

The quorum disk must be on a non-host-based
shadowed disk, though it can be protected
with controller-based RAID. Because host-based
volume shadowing depends on the lock manager
and the lock manager depends on the connection
manager and the connection manager depends on
quorum, it is not technically feasible (nor
even particularly reliable) to permit host-based
volume shadowing to protect the quorum disk.

15-17







Information on Networks and Clusters




If you choose to use a quoum disk, a QUORUM.DAT file
will be automatically created when OpenVMS first
boots and when a quorum disk is specified - well, the
QUORUM.DAT file will be created when OpenVMS is booted
without also needing the votes from the quorum disk.

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

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

For information on quorum hangs, see the OpenVMS
documentation. For information on changing the
EXPECTED_VOTES value on a running system, see the
SET CLUSTER/EXPECTED_VOTES command, and see the
documentation for the AMDS and Availability Manager
tools. Also of potential interest is the OpenVMS
system console documentation for the processor-specific
console commands used to trigger the IPC (Interrrupt
Priority Level %x0C; IPL C) handler. (IPC is not
available on OpenVMS I64 V8.2.) AMDS, Availability
Manager, and the IPC handler can each be used to
clear a quorum hang. Use of AMDS and Availability
Manager is generally recommended over IPC, particularly
because IPC can cause CLUEXIT bugchecks if the system
should remain halted beyond the cluster sanity timer
limits, and because some Alpha consoles and most (all?)
Integrity consoles do not permit a restart after a
halt.

The quorum scheme is a set of "blade guards"
deliberately implemented by OpenVMS Engineering to
provide data integrity-remove these blade guards at
your peril. OpenVMS Engineering did not implement
the quorum mechanism to make a system manager's life
more difficult- the quorum mechanism was specifically
implemented to keep your data from getting scrambled.

15-18







Information on Networks and Clusters



_____________________________
15.6.2.1.1 Why no shadowing for a Quorum Disk?

Stated simply, Host-Based Volume Shadowing uses the
Distributed Lock Manager (DLM) to coordinate changes to
membership of a shadowset (e.g. removing a member).
The DLM depends in turn on the Connection Manager
enforcing the Quorum Scheme and deciding which node(s)
(and quorum disk) are participating in the cluster, and
telling the DLM when it needs to do things like a lock
database rebuild operation. So you can't introduce a
dependency of the Connection Manager on Shadowing to
try to pick proper shadowset member(s) to use as the
Quorum Disk when Shadowing itself is using the DLM and
thus indirectly depending on the Connection Manager to
keep the cluster membership straight-it's a circular
dependency.

So in practice, folks simply depend on controller-
based mirroring (or controller-based RAID) to protect
the Quorum Disk against disk failures (and dual-
redundant controllers to protect against most cases
of controller and interconnect failures). Since this
disk unit appears to be a single disk up at the VMS
level, there's no chance of ambiguity.

_____________________________
15.6.2.2 Explain disk (or tape) allocation class settings?

The allocation class mechanism provides the system
manager with a way to configure and resolve served and
direct paths to storage devices within a cluster. Any
served device that provides multiple paths should be
configured using a non-zero allocation class, either
at the MSCP (or TMSCP) storage controllers, at the
port (for port allocation classes), or at the OpenVMS
MSCP (or TMSCP) server. All controllers or servers
providing a path to the same device should have the
same allocation class (at the port, controller, or
server level).

Each disk (or tape) unit number used within a non-
zero disk (or tape) allocation class must be unique,
regardless of the particular device prefix. For the
purposes of multi-path device path determination, any
disk (or tape) device with the same unit number and the

15-19







Information on Networks and Clusters




same disk (or tape) allocation class configuration is
assumed to be the same device.

If you are reconfiguring disk device allocation
classes, you will want to avoid the use of allocation
class one ($1$) until/unless you have Fibre Channel
storage configured. (Fibre Channel storage specifically
requires the use of allocation class $1$. eg:
$1$DGA0:.)

_____________________________
15.6.2.2.1 How to configure allocation classes and Multi-Path
SCSI?

The HSZ allocation class is applied to devices,
starting with OpenVMS V7.2. It is considered a port
allocation class (PAC), and all device names with a PAC
have their controller letter forced to "A". (You might
infer from the the text in the "Guidelines for OpenVMS
Cluster Configurations" that this is something you have
to do, though OpenVMS will thoughtfully handle this
renaming for you.)

You can force the device names back to DKB by setting
the HSZ allocation class to zero, and setting the PKB
PAC to -1. This will use the host allocation class, and
will leave the controller letter alone (that is, the
DK controller letter will be the same as the SCSI port
(PK) controller). Note that this won't work if the HSZ
is configured in multibus failover mode. In this case,
OpenVMS requires that you use an allocation class for
the HSZ.

When your configuration gets even moderately complex,
you must pay careful attention to how you assign
the three kinds of allocation class: node, port and
HSZ/HSJ, as otherwise you could wind up with device
naming conflicts that can be painful to resolve.

The display-able path information is for SCSI
multi-path, and permits the multi-path software to
distinguish between different paths to the same device.
If you have two paths to $1$DKA100, for example by
having two KZPBA controllers and two SCSI buses to the
HSZ, you would have two UCBs in a multi-path set. The

15-20







Information on Networks and Clusters




path information is used by the multi-path software to
distinguish between these two UCBs.

The displayable path information describes the path;
in this case, the SCSI port. If port is PKB, that's
the path name you get. The device name is no longer
completely tied to the port name; the device name now
depends on the various allocation class settings of the
controller, SCSI port or node.

The reason the device name's controller letter is
forced to "A" when you use PACs is because a shared
SCSI bus may be configured via different ports on the
various nodes connected to the bus. The port may be PKB
on one node, and PKC on the other. Rather obviously,
you will want to have the shared devices use the same
device names on all nodes. To establish this, you
will assign the same PAC on each node, and OpenVMS
will force the controller letter to be the same on
each node. Simply choosing "A" was easier and more
deterministic than negotiating the controller letter
between the nodes, and also parallels the solution used
for this situation when DSSI or SDI/STI storage was
used.

To enable port allocation classes, see the SYSBOOT
command SET/BOOT, and see the DEVICE_NAMING system
parameter.

This information is also described in the Cluster
Systems and Guidelines for OpenVMS Cluster
Configurations manuals.

_____________________________
15.6.3 Tell me about SET HOST/DUP and SET HOST/HSC

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

15-21







Information on Networks and Clusters




On OpenVMS Alpha:

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

On OpenVMS VAX:

$ RUN SYS$SYSTEM:SYSGEN
SYSGEN> CONNECT FYA0/NOADAPTER

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

Access to Parameters on an Embedded DSSI controller:

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

Access to Directory of tools on an Embedded DSSI
controller:

SET HOST/DUP/DSSI[/BUS:{0:1}] dssi_node_number DIRECT

Access to Parameters on a KFQSA DSSI controller:

SHOW UQSSP ! to get port_controller_number PARAMS
SET HOST/DUP/UQSSP port_controller_number PARAMS

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

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

Also see Section 15.3.3, and for the SCS name of the
OpenVMS host see Section 5.7.

15-22







Information on Networks and Clusters



_____________________________
15.6.4 How do I rename a DSSI disk (or tape?)

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

From OpenVMS:

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

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

Integrated DSSI:

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

KFQSA:

SET HOST/DUP/UQSSP port_controller_number PARAMS

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

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

Ensure that all disk unit numbers used within an
OpenVMS Cluster disk allocation class are unique, and
all tape unit numbers used within an OpenVMS Cluster
tape allocation class are also unique. For details on

15-23


---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Hoff Hoffman
2005-09-04 20:10:55 UTC
Permalink
Archive-name: dec-faq/vms/part11
Posting-Frequency: quarterly
Last-modified: 02 Sep 2005
Version: VMSFAQ_20050902-11.TXT







Information on Networks and Clusters




the SCS name of the OpenVMS host, see Section 5.7. For
details of SET HOST/DUP, see Section 15.6.3.

_____________________________
15.6.5 Where can I get Fibre Channel Storage (SAN) information?

o http://www.openvms.compaq.com/openvms/fibre/index.html

_____________________________
15.6.6 Which files must be shared in an OpenVMS Cluster?

The following files are expected to be common across
all nodes in a cluster environment, and though SYSUAF
is very often common, it can also be carefully
coordinated-with matching UIC values and matching
binary identifier values across all copies. (The
most common use of multiple SYSUAF files is to allow
different quotas on different nodes. In any event, the
binary UIC values and the binary identifier values must
be coordinated across all SYSUAF files, and must match
the RIGHTSLIST file.) In addition to the list of files
(and directories, in some cases) shown in Table 15-1,
please review the VMScluster documentation, and the
System Management documentation.

________________________________________________________________
Table 15-1 Cluster Common Shared Files

_______________________________________________________
Filename___________________Default_Specification_______

SYSUAF SYS$SYSTEM:.DAT

SYSUAFALT SYS$SYSTEM:.DAT

SYSALF SYS$SYSTEM:.DAT

RIGHTSLIST SYS$SYSTEM:.DAT

NETPROXY SYS$SYSTEM:.DAT

NET$PROXY SYS$SYSTEM:.DAT

NETOBJECT SYS$SYSTEM:.DAT

NETNODE_REMOTE SYS$SYSTEM:.DAT

QMAN$MASTER SYS$SYSTEM:; this is a set
of related files

15-24







Information on Networks and Clusters



________________________________________________________________
Table 15-1 (Cont.) Cluster Common Shared Files

_______________________________________________________
Filename___________________Default_Specification_______

LMF$LICENSE SYS$SYSTEM:.LDB

VMSMAIL_PROFILE SYS$SYSTEM:.DATA

VMS$OBJECTS SYS$SYSTEM:.DAT

VMS$AUDIT_SERVER SYS$MANAGER:.DAT

VMS$PASSWORD_HISTORY SYS$SYSTEM:.DATA

NETNODE_UPDATE SYS$MANAGER:.COM

VMS$PASSWORD_POLICY SYS$LIBRARY:.EXE

LAN$NODE_DATABASE SYS$SYSTEM:.DAT

VMS$CLASS_SCHEDULE SYS$SYSTEM:.DATA

SYS$REGISTRY SYS$SYSTEM:; this is a set
____________________________________of_related_files____________

In addition to the documentation, also see the current
version of the file SYS$STARTUP:SYLOGICALS.TEMPLATE.
Specifically, please see the most recent version of
this file available, starting on or after OpenVMS V7.2.

A failure to have common or (in the case of multiple
SYSUAF files) synchronized files can cause problems
with batch operations, with the SUBMIT/USER command,
with the general operations with the cluster alias, and
with various SYSMAN and related operations. Object
protections and defaults will not necessarily be
consistent, as well. This can also lead to system
security problems, including unintended access denials
and unintended object accesses, should the files and
particularly should the binary identifier values become
skewed.

_____________________________
15.6.7 How can I split up an OpenVMS Cluster?

Review the VMScluster documentation, and the System
Management documentation. The following are the key
points, but are likely not the only things you will
need to change.

15-25







Information on Networks and Clusters




OpenVMS Cluster support is directly integrated into the
operating system, and there is no way to remove it. You
can, however, remote site-specific tailoring that was
added for a particular cluster configuration.

First: Create restorable image BACKUPs of each of the
current system disks. If something gets messed up, you
want a way to recover, right?

Create standalone BACKUP kits for the OpenVMS VAX
systems, and create or acquire bootable BACKUP kits
for the OpenVMS Alpha systems.

Use CLUSTER_CONFIG or CLUSTER_CONFIG_LAN to remove the
various system roots and to shut off boot services and
VMScluster settings.

Create as many architecture-specific copies of the
system disks as required. Realize that the new systems
will all likely be booting through root SYS0-if you
have any system-specific files in any other roots, save
them.

Relocate the copies of the VMScluster common files onto
each of the new system disks.

Reset the console parameters and boot flags on each
system for use on a standalone node.

Reset the VAXCLUSTER and NISCS_LOAD_PEA0 parameters to
0 in SYSGEN and in MODPARAMS.DAT.

Clobber the VMScluster group ID and password using
SYSMAN.

Reboot the systems seperately, and run AUTOGEN on each.

Shut off MOP services via NCP or LANCP on the boot
server nodes.

Permanent seperation also requires the duplication of
shared files. For a list of the files commonly shared,
please see Section 15.6.6.

Also see the topics on "cluster divorce" in the Ask The
Wizard area.

o http://www.hp.com/go/openvms/wizard/

15-26







Information on Networks and Clusters




For additional information on the OpenVMS Ask The
Wizard (ATW) area and for a pointer to the available
ATW Wizard.zip archive, please see Section 3.8.

Information on changing node names is included in
Section 5.7.

_____________________________
15.6.8 Details on Volume Shadowing?

This section contains information on host-based volume
shadowing; on the disk mirroring capabilities available
within OpenVMS.

_____________________________
15.6.8.1 Does volume shadowing require a non-zero allocation
classes?

Yes, use of host-based Volume Shadowing requires
that the disk(s) involved be configured in a non-zero
allocation class.

Edit SYS$SYSTEM:MODPARAMS.DAT to include a declaration
of an non-zero allocation class, such as setting the
host allocation class to the value 7:

ALLOCLASS = 7

Then AUTOGEN the system, and reboot.

You should now be able to form the shadow set via a
command such as the following:

$ MOUNT dsa1007: /SHADOW=($7$dkb300:,$7$dkb500:) volumelabel

When operating in an OpenVMS Cluster, this sequence
will typically change the disk names from the SCSNODE
prefix (scsnode$dkann) to the allocation-class prefix
($7$dkannn). This may provide you with the opportunity
to move to a device-independent scheme using logical
name constructs such as the DISK$volumelabel logical
names in your startup and application environments; an
opportunity to weed out physical device references.

Allocation class one is used by Fibre Channel devices;
it can be best to use another non-zero allocation class
even if Fibre Channel is not currently configured and
not currently planned.

15-27
















________________________________________________________________
Index


1858 AMD,2-14
17-Nov-1858,4-1 AMD64,2-13, 2-14
2000 Terminology,2-4
__Year,5-40___________________ ANSI C,10-18
A AP,10-7
______________________________ Apache,13-9
Access Control List Entry, APB.EXE,14-10
5-13 Archie,13-8
ACCVIO,5-40 Archival Media
ACE,5-13 DVDarchive/restore,9-10
ACPI,14-25 Archive.Org,14-50
Acrobat,13-7 ARCH_DEFS.REQ,10-14
ACS,5-63 Argent Software,2-10
ACTS,4-9 Argument Pointer,10-7
Adobe ARRE,14-54, 14-55, 14-57
Acrobat,13-7 ARWE,14-54, 14-55, 14-57

PDF,13-7 ASAP

Advanced Server,5-4 See DSPP
AEST,13-19, 13-25 AskQ,1-2
Agnew, Jim,14-41 Ask The Wizard,3-11, 5-29,
Allocation Class 5-30, 5-31, 5-39, 8-8, 9-3,
Fibre Channel,15-27 10-2, 10-4, 10-8, 10-9,
Non-Zero,15-27 10-16, 10-21, 10-25, 15-1,
Volume Shadowing,15-27 15-2, 15-3, 15-27
ALLOCLASS system parameter, See ITRC
15-27 ASMP,14-15
Alpha,2-14 Asymmetric Multiprocessing
Terminology,2-4
AlphaPC 164LX,14-28 See ASMP
AlphaPC 164SX,14-28 ATA,7-1, 9-5, 14-28, 14-32,
AlphaServer ES47 14-53, 14-54, 14-55, 14-57,
Time,4-27 14-64, 14-66
AlphaServer ES80 ATAPI,14-64, 14-66
Time,4-27 Athlon,2-14
AlphaServer GS1280 ATW,3-11, 5-29, 5-30, 5-31,
Time,4-27 5-39, 8-8, 9-3, 10-2, 10-4,
AlphaStation XP1000,14-49 10-8, 10-9, 10-16, 10-21,
AMASK,14-37, 14-38 10-25, 15-1, 15-2, 15-3,
Ambassador,1-12 15-27

See ITRC

Index-1







Index




AUTOGEN,5-14 BNU Bookreader,3-1
Automatic foreign command,8-3 Bookreader
Automatic Foreign Command,8-4 BNU,3-1
AVI,7-3 MGBOOK,3-1
______________________________ Boot Alias,14-9, 14-22
B Boot Aliases,14-22
______________________________ Bootblock,14-20
Backdoor,5-10 Bootstrap
Backdrop,11-8 Alpha,14-10
Backdrops,11-8 I64,14-9
BACKUP,5-20, 9-17 VAX,14-12
BACKUP/IGNORE=INTERLOCK,5-58 BOOT_OPTIONS.COM,14-22
Bad Block Handling,9-3 Browser,13-4
BADLIB,13-23 Byers, Robert Alan,13-8
BADTYPSTR,13-23 Byte lane,14-38
bash,13-17 bzip2,13-26
Batch,13-22 ______________________________
BB_WATCH,4-5 C
BC16E,14-58, 14-62 ______________________________
BCC08,14-60 C,10-18, 10-25
BCKTRNSFAIL,15-5 Compaq C Compiler,10-18,
Berryman, Mark,1-6, 13-3 10-25
Bi-Endian,10-17 DEC C Compiler,10-18, 10-25
Big-Endian,10-17 Device Drivers,10-22
BIND,15-6 HP C Compiler,10-18, 10-25
bison,13-17 VAX C Compiler,10-18
Blackbox,14-58 C2,5-54
Bliss CA,5-3, 14-21
Architecture Flags,10-14 Caesar
BLISS32E,10-14 Julius,4-2
BLISS32I,10-14 CalTech,13-8
BLISS32V,10-14 Campus Software License Grant
BLISS64E,10-14 See CSLG
BLISS64I,10-14 Carrier Sense Multiple Access,
Compiler,10-14 with Collision Detect,
Rebuilding System Libraries, 14-64
10-14 Castle Wolfenstein,13-16
Block CD
Disk,2-25 embossed media,9-13
BMC,14-33 Recording,9-9, 14-57
BN24H,14-60 CD-Audio,7-1
BN24J,14-60 CD Player,7-1
BNC,14-47

Index-2







Index




CD-R,9-9, 13-9, 14-56, 14-57 Console Backdoor,5-10
CD-R/RW,9-7, 9-11 CONSOLE environment variable,
CDRECORD,9-8, 9-9, 14-57, 14-15
14-65 Contrl,13-12
CDRECORD-ProDVD,9-9 Conversational bootstrap,5-7,
CDRTOOLS,9-8, 9-9, 14-65 14-9, 14-10, 14-15
CD-RW,9-9, 13-9, 14-57 COPY,10-9
CDWRITE,9-9 CPAN,13-25
CGI,13-21 CRAM,14-39
CHARON-VAX,3-10, 13-27 CRC32,10-31
CHECKSUM,5-45 $creprc,10-9
CHECKSUM/ALGORITHM=MD5,5-45 CSA
Clam,5-4 See DSPP
cli$get_value,10-4 CSLG,2-11
Clock CSMA/CD,14-64
TODR,4-5, 4-7 CSWB,13-4
TOY,4-5, 4-7 See SWB

Clockmeister, Ulysses T. Cyclic Redundency Check,10-31

See Time ______________________________
CLUEXIT,15-18 D
Cluster ______________________________
Disk,2-25 4D20,14-49
Cluster Load Balancing,15-14 3D30,14-49
Cluster Terminology,15-13 Dachtera, David J.,13-8
CMA$RTL.EXE,10-25 Data Remanence,5-61
CMS,13-22 Datatrieve,3-4
00CMS,13-22 DATMISCH,10-17
01CMS,13-22 Daylight Saving Time,4-16,
Columbia University,13-3 4-24, 4-30, 10-22
COM1,14-5, 14-16 US Changes 1-Mar-2007,4-22
COM2,14-5, 14-16 DAYLIGHT_SAVINGS.COM,4-16,
COMMON,10-6 4-18
Compaq,5-40 DB9,14-58, 14-59, 14-60,

Compaq Secure Web Browser 14-62

See SWB DCE DTS,4-10, 4-17, 4-18
Composer DCL,3-3, 3-7
Mozilla,13-19 Automatic foreign command,
Computer Associates,5-3, 8-3
14-21 Foreign command,8-3
Connection Manager,15-19 Lexical functions,8-3
console,14-6, 14-15 PIPE,8-9
Console,14-5 Symbols,8-1
VAXstation 3100,9-4

Index-3







Index




DCL$PATH,8-4 DELETE
DCPS,12-3 Undelete,9-1
DCX,13-27 Descriptor,10-10
DDB,10-9 Deutsch,1-4
DEASSIGN,8-3 Developer Programs
Deathrow Cluster,2-17 See DSPP
Debugger Device Driver,10-9
Signalling SS$_DEBUG,10-16 Device Drivers
DEC-423,14-57 C,10-22
DECalert,15-11 Floating Point,10-22
DECC$CRTL.EXE,10-25 DEVICE_NAMING system parameter
DECconnect,14-57 ,15-21
DECdns,15-6 DFU,5-66, 9-1, 9-4, 13-13
DECdocument,vi DIAGBOOT.EXE,14-13
DECDTLOGO,11-9 DIAGNOSE,5-40
DECdtss,4-9 Dictionary attack
DECevent,5-40 Password,5-53
DECmigrate,13-19, 13-25, DIGITAL Network Products Group
13-27 ,14-45
DECnet,14-64, 15-6 Digital Synergy,13-9
Asynchronous,14-63 Digital Versatile Disk,9-11
DECNET_REGISTER,15-5 Discounts
MOP,15-6
DECprint,12-3 See DSPP
DECsound,7-3 Disk
DEC Test Manager,13-23 Block,2-25
DECthreads,10-25 Cluster,2-25
DECUS,1-11 Data Remanence,5-61
See User Group Erasure,5-61
Hobbyist Licenses,2-9 Sector,2-25
DECUServe,1-4 Security,5-61
DECUS Software Library,13-3 Disk Mirroring,9-2

DECW$CDPLAYER,7-1 See Volume Shadowing
DECW$CDPLAYER.C,14-66 Disks
DECW$EXAMPLES:DECW$CDPLAYER.C ATA,7-1, 9-5, 14-28, 14-32,
,14-66 14-53, 14-54, 14-55,
DECW$KEYMAP Logical Name, 14-57
11-10 Bad Block Handling,9-3
DECwindows Transport,11-17 CD-R,14-56
DECwindows V1.2-6,11-17 CD-R/RW,9-7, 9-11
DECwindows V1.3,11-17 CD-Recordable,9-9
DEFINE,8-3 DVD+R/RW,9-7, 9-11
dvd200i,14-57
DVD-R/RW,9-7, 9-11
DVD-Recordable,9-9

Index-4







Index




Disks (cont'd) DST,4-16, 4-18, 4-24, 4-30,
FAT Format,7-2 10-22
Floppy,7-2 US Changes 1-Mar-2007,4-22
IDE,7-1, 9-5, 14-28, 14-32, DTM,13-22, 13-23
14-53, 14-54, 14-55, 00DTM,13-23
14-57 01DTM,13-23
Jumpers,14-49 DTSS,4-9, 4-10, 4-18
MSCP,9-3 DTSS$CLERK,4-25
PC Format,7-2 Too Few Servers Detected,
PlexWriter,14-57, 14-65 4-26
SCSI,9-3, 9-14, 14-2, DTSS$CLERK,4-25
14-28, 14-32, 14-34, DTSS$INSTALL_TIMEZONE_RULE.COM
14-42, 14-49, 14-53, ,4-24
14-54, 14-55, 14-56, DTSS$NTP_PROVIDER.C,4-10
14-57 DTSS$SET_TIMEZONE.EXE,4-17
SCSI-2,9-6 DTSS$UTC_STARTUP.COM,4-24
Volume Set,9-7 Dump
Zip,14-56, 14-57 Process,10-27
Disk Shadowing,9-2 DVD,14-57
Distributed Lock Manager, Recording,9-9
15-19 DVD+R,9-9, 9-11, 13-9
Distribution Kits,2-8 DVD+R/RW,9-7
DJE Systems,13-8 DVD+RW,9-9, 13-9, 14-65
DKDRIVER,14-65, 14-66 dvd200i,14-57
DLM,15-19 DVDarchive/restore,9-10
DLT VS80,14-56 DVD-R,9-9, 13-9
DNDRIVER,14-66 DVD-R/RW,9-7, 9-11
DNPG,14-45 DVD-RAM,14-65
DNS,15-6 DVDRTOOLS,9-8, 9-9, 14-65
DOCUMENT,10-16 DVD-RW,9-9, 13-9
DVDwrite,9-8, 9-9, 9-10,
See DECdocument 14-65
DoD,5-61 Dvorak,11-10
DOD_ERAPAT,5-62 Dynamic System Recognition,
Download Kits,2-8 14-25
DQDRIVER,7-1, 9-5, 14-32, ______________________________
14-57, 14-64, 14-66 E
Driver ______________________________
Device,10-9 EB,2-25
DRVERR,14-54, 14-57 EBCDIC,7-3
DSPP,2-11, 2-16, 2-21, 14-34 e-Business Infrastructure
DSR,14-25 Package,2-8
DSSI,5-62 ECO

kits,5-32

Index-5







Index




Editor,13-17 ETAPE,7-3
Editors,3-3 Ethernet,14-64
Edit Version,10-26 Event Flags,11-12
EFI,5-8, 14-9, 14-20, 14-22, EWS,11-3
14-23, 14-33 Exabyte,2-25
EFI Boot Alias,14-9, 14-22 Examples,10-3
EIA-232,14-59 EXE$GL_TICKLENGTH,4-14
ELSA GLoria Synergy,5-29 EXE$GL_TIMEADJUST,4-14
ELV,5-40 EXE$GL_TODR,4-4
elvis,13-17 EXE$GQ_SAVED_HWCLOCK,4-6
EM64T,2-13, 2-14 EXE$GQ_SYSTIME,4-3, 4-6
Terminology,2-4 EXE$GQ_TDF,4-17
emacs,3-3, 13-17 EXE$GQ_TODCBASE,4-3
embossed media,9-13 EXE$SETTIME,4-4
Encompass Executable Image,10-8
See User Group Executive mode code,10-28
Hobbyist Licenses,2-9 EXPECTED_VOTES system
Encompasserve,1-4, 2-16 parameter,15-17

Encompass Software Library, Explicitly Parallel
13-3 Instruction Computing
Endian-ness,10-17 See EPIC
Energy Policy Act of 2005, Extensible Firmware Interface
4-22 See EFI
Engineering Software,7-2 ______________________________
Ensoniq,7-3 F
Enterex ______________________________
Hobbyist Licenses,2-9 f$getenv,14-8

Enterprise Operating f$parse,8-2
Environment f$trnlnm,8-3
See EOE f$unique,5-66
EOE,2-6 Facility Prefix,10-2
EPIC,14-33 FAQ Sections (Old)
$erapat,5-62 DCL$PATH Logical Name,8-4
Erasure,5-61 DCL1,8-3
Ergonomic Solutions,15-11 DCL10,8-10
Error analysis,5-40 DCL11,8-10
Error Log Viewer DCL12,8-11
See ELV DCL3,8-5
ES47 DCL4,8-5
Time,4-27 DCL5,8-6
ES80 DCL6,8-7
Time,4-27 DCL7,8-7
DCL8,8-8
DCL9,8-9

Index-6







Index




FAQ Sections (Old) (cont'd) FAQ Sections (Old) (cont'd)

DECw$IGNORE_WORKSTATION Mgmt10,15-16
Logical Name,11-5 Mgmt11,5-14
DECw1,11-1 Mgmt12,5-60
DECw10,11-7 Mgmt13,15-21
DECw11,11-12 Mgmt14,15-9
DECw12,11-13 Mgmt15,5-15
DECw13,11-13 Mgmt16,5-16
DECw14,11-14 Mgmt17,5-24
DECw15,11-16 Mgmt18,5-26
DECw16,11-17 Mgmt19,5-26
DECw17,11-17 Mgmt2,5-2
DECw2,11-3 Mgmt20,5-59
DECw3,11-3 Mgmt21,5-27
DECw4,11-4 Mgmt23,5-28
DECw5,11-10 Mgmt24,5-29
DECw6,11-4 Mgmt25,5-31
DECw9,11-6 Mgmt26,15-23
DECwindows,11-1 Mgmt27,5-32
Doc1,3-1 Mgmt28,15-3
Doc10,3-5 Mgmt3,5-4
Doc11,3-6 Mgmt30,5-33
Doc13,3-10 Mgmt31,5-34
Doc14,3-11 Mgmt32,5-37
Doc2,3-2 Mgmt33,5-37
Doc4,3-5 Mgmt34,5-39
Doc5,3-5 Mgmt35,5-54
File1,9-1 Mgmt36,15-4
File2,9-1 Mgmt37,5-40
File3,9-2 Mgmt38,5-40
File4,9-3 Mgmt39,5-41
File5,9-4 Mgmt4,5-6
File6,9-7 Mgmt40,5-41
File7,9-7, 9-11 Mgmt41,5-42
File8,9-14 Mgmt42,15-20
File9,9-15 Mgmt43,5-44
Intro1,1-2 Mgmt44,15-24
Intro2,1-4 Mgmt45,15-25
Intro3,1-5 Mgmt46,5-45
Intro4,1-5 Mgmt47,15-13, 15-14, 15-15
Intro5,1-7 Mgmt48,5-46
Intro6,1-10 Mgmt49,5-46
Intro7,1-5 Mgmt5,5-7, 5-11
Intro8,1-11 Mgmt50,5-46
Mgmt1,5-1 Mgmt51,5-47

Index-7







Index




FAQ Sections (Old) (cont'd) FAQ Sections (Old) (cont'd)

Mgmt52,5-48 Prog7,10-5
Mgmt53,5-49 Prog8,10-6
Mgmt54,15-27 Prog9,10-7
Mgmt56,5-49 Soft1,13-1
Mgmt57,5-50 Soft10,8-9
Mgmt58,15-6 Soft12,13-23
Mgmt59,5-50 Soft13,13-25
Mgmt6,15-2 Soft14,13-26
Mgmt60,5-52 Soft2,13-15
Mgmt61,15-19 Soft3,13-19
Mgmt62,5-52 Soft4,13-20
Mgmt63,5-63 Soft5,10-18
Mgmt64,5-57 Soft6,13-21
Mgmt9,5-12 Soft7,13-22
Misc12,12-3 Soft8,13-22
Misc13,12-3 Time1,4-1
Misc15,15-11 Time10,4-25, 4-27
Misc17,15-9 Time11,4-2
Misc19,15-12 Time12,4-29
Misc2,12-1 Time13,4-20
Misc20,12-4 Time2,4-7
Misc4,14-60 Time3,4-12
Misc6,15-5 Time4,4-16
Misc7,15-6 Time5,4-23
Misc9,15-4 Time6,4-9
Prog1,10-2 Time7,4-14
Prog10,10-7 Time8,4-13
Prog11,10-8 Time9,4-7
Prog12,10-9 Util1,7-1
Prog13,10-10 Util2,7-2
Prog14,2-23 Util3,7-3
Prog15,2-24 Util5,7-3
Prog16,10-12 Util6,7-4
Prog17,10-13 VAX8,4-3
Prog18,10-14 VMS1,2-1
Prog19,10-15 VMS10,2-12
Prog2,10-4 VMS11,2-12
Prog20,10-16 VMS12,2-16
Prog21,10-16 VMS13,2-17
Prog22,10-17 VMS14,2-19
Prog23,10-17 VMS15,2-19
Prog3,10-5 VMS16,2-20
Prog4,10-5 VMS17,2-21
Prog5,10-5 VMS2,2-3

Index-8







Index




FAQ Sections (Old) (cont'd) ______________________________
VMS3,2-4 G
VMS4,2-4 ______________________________
VMS5,2-5 gawk,13-16
VMS7,2-5 GB,2-25
VMS8,2-8 gcc,13-18
VMS9,2-9, 2-12 gcc emulation,13-17
Farmer, Ken,1-4 $getdvi,10-2
FAT Disks,7-2 $getjpi,10-2
FFT,13-12 $getqui,5-54
fgrep,13-16 $getsyi,10-2, 14-2
$filescan,9-4 Gigabyte,2-25
FILE tool,13-14 GKDRIVER,14-66
File Versions,5-65 GKTEST.C,14-66
Firmware,14-23 Global Maintech,14-21
FISH,13-4 gmake,13-13
Flat-panel display,14-49 GMT,4-29
flex,13-17 GNM,10-16
Flight simulator,13-16 GNU,13-17, 13-18
Floating point,10-28 GnuPG,13-5
Floating Point,10-6 GNU Privacy Guard,13-5
Device Drivers,10-22 GNV,13-17, 13-18
Floppy,7-2 Google,1-5
FLORIAN,9-1 gopher,13-16
$flush,9-2 GPG,13-5
FOE,2-6 Grace,13-9
Fonts,11-18 GrayMatter Software,2-10
Foreign command,8-3 grep,13-16, 13-17
Foreign Command,8-4 GS1280
Fortran,10-7 Time,4-27
Foundation Operating GTK,13-12
Environment GUID,14-22
gzip,13-26
See FOE ______________________________
Freeware,9-4, 10-4, 10-16 H
SETCLOCK,4-14 ______________________________
FSF,13-18 H8571-A,14-62
ftso,13-27 H8571-B,14-60, 14-62
ftsv,13-27 H8571-C,14-60, 14-62
H8571-D,14-60, 14-62
H8571-E,14-62
H8571-J,14-62
H8572-0,14-62

Index-9







Index




H8575-A,14-62 IA-64 Architecture,2-14,
H8575-B,14-62 14-25, 14-33
H8575-D,14-62 IARGCOUNT,10-7
H8575-E,14-62 iasi64,10-28
H8577-AA,14-62 IDE,7-1, 9-5, 14-28, 14-32,
half-flash,14-19 14-53, 14-54, 14-55, 14-57,
Hard Partitions,14-8 14-64
Hardware Identifier,5-2
Serial Number,10-7 Subsystem,10-8
Harmless signature,14-20 Image
$hash_password,5-54 Executable,10-8
HBMM,5-63 Loadable,10-9
HBVS,15-19 Protected,10-8
Helliesen, Gunnar,14-41 Shareable,10-8
Hemker, Mark,13-10 System,10-8
Heroix,14-21 UWSS,10-8
Heuser-Hofmann, Eberhard, IMAGELIB.OLB,10-17, 10-29
Dr.,9-10 ImageMagick,13-6
Hobbyist,2-10 IMAGENAME.DMP,10-27
Hour IMPLVER,14-38
Off By One,4-24, 4-30, InfoServer,9-10
10-22 Scribe,9-10
HP OpenVMS for Integrity INFO-VAX,1-5, 1-9
Servers Info-Zip,3-10, 13-26
See OpenVMS I64 INITIALIZE,5-40
HP Renew,14-34 INITIALIZE/ERASE,5-62
HP-UX,10-17 Install,5-24
HSG80,5-63 INSTALL,10-8, 10-9
ht://Dig,13-13 INSTALL utility,5-1
html,13-16 Instruction sets,10-28
HTML,10-16 Integrity,2-13, 2-15, 14-33,
httpd,13-16 14-34
HTTP_SERVER,13-3 Terminology,2-4
______________________________ Integrity rx2600,14-62
I Intel,2-14, 2-15

______________________________ Interex
I64,2-14, 14-25, 14-33 See User Group
Terminology,2-4, 14-33 Interrrupt Priority Level %x0C
IA-32,2-13, 2-14 Handler
Terminology,2-4 See IPC,15-18
IA-64 Inv Cmd,5-8
Terminology,2-4 INVRECTYP,5-20

Index-10







Index




IO$_DIAGNOSE,7-1, 14-66 Kednos,2-11, 13-19
IOC$READ_IO,14-39 Kerberos,5-54, 11-18
IOC$WRITE_IO,14-39 Kermit,13-3
Iomega,14-56, 14-57 Kernel mode code,10-28
IPB.EXE,14-9 Keyboard
IPC,15-18 Dvorak,11-10
IRC Client Key Mapping,11-10
Mozilla,13-19 ki,14-21
IRIG,4-9 Kilobit,2-26
ISO-9660,9-10, 14-23 Kilobyte,2-25, 2-26
ISVN KI Products,14-21
See DSPP Kits,2-8
Itanium,2-14, 2-15, 14-25, KVM switch,14-46, 14-47
14-33 ______________________________
Terminology,2-4 L
Itanium Processor Family ______________________________
LAN$NODE_DATABASE,15-25
See Itanium LANCP,14-52, 14-53
ITRC,1-1, 3-12, 5-31 LAVC$START_BUS,15-15
FTP ECO site,1-1, 5-31 LAVC$STOP_BUS,15-15
Support Forums,5-31 LBX,11-18
______________________________ LCD,14-49
J LCD flat-panel display,14-47
______________________________ Levitte,13-8
J2EE,13-20 Lexical functions,8-3
Jameco,14-62 LHR,5-24, 10-26
Java,13-20 lib$crc,10-31
JBC$COMMAND,5-32 lib$crc_table,10-31
JCL,7-3 lib$find_image_symbol,10-8
JDK,2-8, 13-20 lib$free_ef,11-12
JetDirect,15-2 lib$get_ef,11-12
Jones, David,13-3 lib$get_foreign,10-4
Jouk,13-3 lib$get_symbol.,8-3
Julian Day,4-1 lib$set_logical,10-5
Jumpers,14-49 lib$set_symbol,8-3
______________________________ lib$sfree1_dd,10-10
K lib$sget1_dd,10-10
______________________________ LIB$SIGNAL,10-16
KA630,14-6 lib$spawn,10-9
KA650,14-6 lib$table_parse,10-15
KA655,14-6 lib$tparse,10-15
Kb,2-26 lib$trim_filespec,9-4
KB,2-25, 2-26 LIB.L32,10-14

Index-11







Index




LIB.L64,10-14 LK463,14-47, 14-62
LIB.MLB,10-29 LK46W,14-47
LIB.R64,10-14 LK471,14-47
LIB.REQ,10-14 LMF,2-10, 5-12, 10-7, 11-5,
License,5-12, 10-7, 11-5, 12-5
12-5 LMF$DISPLAY_OPCOM_MESSAGE
License Unit Requirements Logical Name,12-5
Table,2-9, 5-51 LMF$LICENSE,15-25
Licensing,10-7 LNM$GROUP,8-2
Licensing Programs LNM$JOB,8-2
Campus Software License LNM$PROCESS,8-2
Grant,2-11 LNM$SYSTEM,8-2
Developers,2-11, 2-21 Loadable Image,10-9
DSPP,2-11, 2-21 LOAD_PWD_POLICY system
Educational,2-11 parameter,5-53
Hobbyist,2-10 LocalFile,15-6
Liebert,13-10 Logical Name
Limited Hardware Release, DCL$PATH,8-4
10-26 DECW$IGNORE_WORKSTATION,
See LHR 11-5
linda,13-10 DECW$KEYMAP,11-10
LINK LISP$DAYLIGHT_SAVING_TIME_P,
/NOSYSLIB,10-29 4-23
/SYSEXE,10-29 LISP$TIME_ZONE,4-23
Linker LMF$DISPLAY_OPCOM_MESSAGE,
COMMON,10-6 12-5
PSECT_ATTR,10-6 MAIL$TIMEZONE,4-23
SYMBOL_VECTOR,10-6 NOTES$TIMEZONE,4-23
SYS$BASE_IMAGE,10-5 SYS$DISK,10-5
SYS.STB,10-5 SYS$LOGIN,8-10
/SYSEXE,10-5 SYS$LOGIN_DEVICE,8-10
LINKER,10-17 SYS$SCRATCH,8-10
Linux shell,3-3, 3-7 SYS$TIMEZONE_DAYLIGHT_SAVING
LISP$DAYLIGHT_SAVING_TIME_P ,4-23
Logical Name,4-23 SYS$TIMEZONE_DIFFERENTIAL,
LISP$TIME_ZONE Logical Name, 4-23
4-23 SYS$TIMEZONE_NAME,4-21,
Little-Endian,10-17 4-23
LJK,2-11 TZ,4-21
LK201,14-46 UCX$NFS_TIME_DIFFERENTIAL,
LK401,14-46 4-23
LK461,14-47 UCX$TDF,4-22


Index-12







Index




Logical Names Megabit,2-26
Compared to DCL Symbols,8-2 Megabyte,2-25
Logical Partitioning,14-8 Megabytes,2-26
LOGINOUT,5-10 Menufinder,13-10
lPars,14-8 MESSAGE Compiler,10-16
lpd,15-1 MGBOOK Bookreader,3-1
lpr,15-1 MGPCX,7-2
LRA0:,12-3 microfortnight,2-26
LTO-1,14-56 MIME,13-9
LURT,2-9, 5-51 Minicopy,5-63
LVD,14-57 Minimerge,5-63
164LX,14-28 Mini-Merge,5-63
Lynx,13-4, 13-5 Minor Version,10-26
______________________________ Mirroring,9-2
M See Volume Shadowing
______________________________ MISC4,14-59, 14-61
MA780,14-15 Mission Critical Operating
MadGoat,5-39, 7-2, 13-2, Environment
13-14 See MCOE
MAIL$TIMEZONE Logical Name, Mlucas,13-12
4-23 MMJ,14-57, 14-58, 14-60
MAIL10,6-3 mmk,13-13
MAIL7,6-1 MMOV,7-3
MAIL9,6-1 Modified Modular Jack,14-57
Mail Count,6-1 See MMJ
Maintenance Version,10-26 MODPARAMS.DAT,15-26, 15-27
Majordomo,13-9 Montagar,13-1
Major Version,10-26 MOP,15-6
make,13-13 Mosaic,13-4
Malmberg's Ftp Service,13-18 Mozilla,6-2, 13-4, 13-20
Management Processor
DECconnect MMJ Adapter, Also see SWB
14-62 Composer,13-19
Mature Product Support,5-22 IRC Client,13-19
MAXBUF Netnews Client,13-19
system parameter,9-14 MP,14-33
MAXPROCESSCNT system parameter DECconnect MMJ Adapter,
,5-10 14-62
Mb,2-26 MPEG,7-3
MB,2-25, 2-26 mpi,13-10
MBM,4-27 MS780,14-15
MCOE,2-6 MSCP,15-14
MD5,5-4, 5-45 MSCP$DISK,15-13

Index-13







Index




MSCP$TAPE,15-13 NIC,15-2
MSCP_LOAD system parameter, NISCS_LOAD_PEA0 system
15-13 parameter,15-26
MTAACP,5-40 NIST,4-9
MTEXCH,7-3 NLSA,1-2
MUA4224,5-33 NOCLI,8-5
Multia,14-26 NODECW,11-14
Multimedia Services,7-3 NODEVICE,11-14
Multinet,15-3 NOLICENSE,5-10
Multiprocessing NONEWMAIL,6-1
See ASMP and SMP NOTES$TIMEZONE Logical Name,
mx,13-16 4-23
mxrn,13-16 NOTSET,4-25
MySQL,13-13 17-Nov-1858,4-1
______________________________ nPars,4-27
N NTP,4-10, 4-31
______________________________ ______________________________
NAM$C_MAXRSS,9-3 O
NAML$C_MAXRSS,9-3 ______________________________
Natural Language Search ODBC,9-15
Assistant,1-2 ODS-2,9-3, 9-10
NCL,15-6 ODS-5,9-3, 9-10
NCSA,13-4 Ohio State University,13-3
NCSC,5-61 OPA0:,5-10, 14-5, 14-6, 14-15
NCSC C2,5-54 OpenECS,2-17
NCSC Class C2,5-10 OpenNTP,4-31
NET$DISABLE_DTSS,4-26 OpenVMS.Org,1-4
NET$PROXY,15-25 OpenVMS Alpha
NET1,15-1 Terminology,2-3
NET2,15-1 OpenVMS Alpha Upgrades,5-16
NetBeans,2-8 OpenVMS AXP
NetBSD,14-36 Terminology,2-3
Netnews Client OpenVMS Galaxy,14-2
Mozilla,13-19 OPENVMS-HOBBYIST,2-10
NETNODE_REMOTE,15-25 OpenVMS I64,2-2, 14-33
NETNODE_UPDATE,15-25 Terminology,2-3, 14-33
NETOBJECT,15-25 OpenVMS I64 Upgrades,5-19

NETPROXY,15-25 OpenVMS Upgrade

Netscape Navigator,6-2, 13-20 See Update, Upgrade and
Networking Dynamics,5-39, Install
13-12, 15-11 OpenVMS VAX
New Mail Count,6-1 Terminology,2-3

Index-14







Index




OpenVMS VAX Upgrades,5-20 PBXGB-CA PowerStorm 4D20,5-31
Opteron,2-14 PBXGD-AE PowerStorm 350,5-30
OSU,13-3 PBXGK-BB PowerStorm 3D10T,
OSU HTTPD Web Server,13-16 5-29
Outbuildings PC7XS-CA,14-47
See Time PCDISK,7-2
Overwrite,5-61 PC Disks,7-2
______________________________ PCF,11-18
P PCSI,5-44, 10-27

______________________________ PCSI Install
Page See Install
Memory,2-24 PCSI Upgrade
Size,2-24 See Upgrade
Pagelet PCX,7-2
defined,2-24 PDF,3-1, 13-7
Pager Plus,15-11 Peek,13-12
Page Size,14-2 Pentium,2-14
PAGE_SIZE,2-24 Perl,2-8, 13-11, 13-23
Paging,15-11 Petabyte,2-25
PAK,2-10, 5-12, 10-7, 11-5, PGP,13-5
12-5 PHYSICALPAGES system parameter
PAKGEN,10-7, 12-5 ,5-14
PALcode,14-4, 14-16 PHYSICAL_MEMORY system
PA-RISC,2-14 parameter,5-14
$parse,9-4 PINE,13-9
Parse Style,9-3 pin-out,14-61
Partitioning Pioneer,14-65
Hard,14-8 PIPE,8-9
Logical,14-8 PL/I,13-19
Soft,14-8 Plextor,14-56, 14-57, 14-65
Virtual,14-8 pm,11-8

Partner Programs PMDF,15-11

See DSPP PMU,4-27
Password POLYCENTER Software Product
Dictionary attack,5-53 Install Utility
Purdy Polynomial,5-53 See PCSI
Patch,7-4 Port,15-13

Patches Postscript,10-16

See ECO kits POV-Ray,13-9
PATHWORKS,5-4 PowerStorm 300,5-30
PB,2-25 PowerStorm 350,5-30
PBXGB-AA PowerStorm 3D30,5-31

Index-15







Index




PowerStorm 3D10T,5-29 QUORUM,15-18
PowerStorm 3D30,5-31, 14-49 Quorum Disk
PowerStorm 4D20,5-31, 14-49 Shadowing,15-19
PPP,15-4 ______________________________
Preatorian Cluster,2-17 R
Pretty Good Privacy,13-5 ______________________________
Printing Radeon 7500,5-31, 14-49
DCPS,12-3 RamPage,15-11
lpr,15-1 RAS,15-4
Parallel Port,12-3 Raxco,2-11, 13-12

telnet,15-1 Refurbished Equipment
Prior Version Support,5-22 See HP Renew
Privileged-mode code,10-28 RIGHTSLIST,15-25
Process Dump,10-27 Rlogin,5-62
Process Software,2-11, 13-2, RMS,9-15, 10-29
15-3, 15-11 RMS Journaling,9-2
Product Authorization Key, RMS Sequential Record Format,
5-12, 10-7, 11-5, 12-5 9-16
Product Registration,10-2 RMS_SEQFILE_WBH system
PRODUCT SHOW PRODUCT,5-44 parameter,5-56
ProDVD,9-9 Roadmap,2-14
ProGIS,7-2 robomon,14-21

Programming Examples Rocksoft,5-4

See Examples Royal Greenwich Observatory
Protected Image,10-8 See Time
Protected Subsystems,5-2 RRD42,9-13
PSECT_ATTR,10-6 RS-232,14-59
Purdy Polynomial rx1620,14-34
Password,5-53 rx2600,14-62
PURGE,5-65 RZDISK,14-55
$putmsg,10-5 RZTOOLS,5-62
pvm,13-10 ______________________________
PVS,5-22 S
PWIP,15-5 ______________________________
Python,13-12 S3 Switch,14-6
______________________________ SAIC,1-6, 13-1, 13-3
Q Saiga Systems,5-39
______________________________ Samba,5-4
$qio,10-9, 11-12 SAMBA,13-11
QMAN$JOURNAL,5-32 SAO,4-1
QMAN$MASTER,15-25 SCACP,15-16
QuickSpecs,3-4 Scaliger

Julius Caesar,4-2

Index-16







Index




Scaliger, Joseph,4-2 SET PREFERRED_PATH command,
Scribe 15-16
InfoServer,9-10 SET PROCESS/PARSE_STYLE,9-3
SCS,15-12, 15-13 $SETTIM,4-25
SCSI,9-14, 14-2, 14-28, SET TIME,4-5, 4-7, 4-8, 4-13,
14-32, 14-34, 14-42, 14-49, 4-25, 4-27
14-53, 14-54, 14-55, 14-56, SET TIME/CLUSTER,4-13
14-57, 14-65, 14-66 SETTIME system parameter,4-4,
SCSI-2,9-6 4-5, 4-28
SCSI_INFO,14-54 $set_system_event,4-13
SCSNODE system parameter, SFX,13-26
5-12, 5-14, 15-27 Shadowing,9-2
SCSSYSTEMID system parameter, Quorum Disk,15-19
5-14 Shareable image,5-1
SDL,10-16 Shareable Image,10-8
SDML,10-16 shell,3-3, 3-7
See DECdocument,vi SHOW MEMORY/CACHE command,
Search Engine,13-13 9-15
Sector Signature,14-22
Disk,2-25 SIMH,13-27
Secure Shell,13-4 SMB,13-11
Secure Web Browser smg$create_menu,10-4
See SWB SMG$GET_TERM_DATA,12-1
Security,5-10, 5-61 Smithsonian Astrophysical
Dictionary attack,5-53 Observatory,4-1
NCSC C2,5-54 SMP,14-15
Password,5-53 SMTP,13-16
Security MUP,5-3 $sndjbc,10-9
Self-extracting zip,13-26 SNTP,4-31
Sequential Record Format,9-16 SOAP,2-8, 13-9
Serial Number,10-7 SOC,3-4
SETBOOT,9-14, 14-20, 14-22 Soft Partitions,14-8
SET BOOTBLOCK,9-14, 14-20, Software Resources Interna-
14-22 tional,2-11, 3-10, 13-27
SETCLOCK,4-14 Sophos,5-4
SET DEVICE/RESET=ERROR_COUNT, SPIA,10-27

5-34 SPIU

SET FILE/CACHING_ See PCSI
ATTRIBUTES=NO_CACHING, Spy,13-12
9-8 Spyglass,13-4
SET PREFERRED_PATH,15-15 SQP,2-8
SRI

Index-17







Index




SRI (cont'd) Storage (cont'd)

Software Resources SCSI-2,9-6
International,2-11, 3-10, Volume Set,9-7
13-27 Stream,9-16
SRI International,1-5 StreamLF,9-16
SRM,4-27, 14-15, 14-16 Subsystem Identifier,10-8
Acronym,14-4 SUNY NCSB,13-18
System Reference Manual, Supervisor,13-12
14-4 Supnik, Bob,13-27
SS$_DEBUG,10-16 Support
SS$_NOCLI,8-5 Prior Version Support,5-22
SSH,13-4 SWB,13-20
FISH,13-4 Swizzling,14-38
SSL,2-8 164SX,14-28
SSLeay,13-4 SYI$_PAGE_SIZE,2-24, 14-2
SSLeay,13-4 SYLOGICALS.COM,4-26, 8-6,
Stark, Tim,13-27 11-5
STARLET.L32,10-14 SYLOGICALS.TEMPLATE,4-26,
STARLET.L64,10-14 5-39, 5-62, 6-1, 8-6, 15-25
STARLET.R64,10-14 Symbols
STARLET.REQ,10-14 Compared to Logical Names,
Storage 8-1
ATA,7-1, 9-5, 14-28, 14-32, DCL,8-1
14-53, 14-54, 14-55, Symbol Substitution
14-57 PIPE,8-9
CD-R,14-56 SYMBOL_VECTOR,10-6

CD-R/RW,9-7, 9-11 Symmetric Multiprocessing
CD-Recordable,9-9 See SMP
Disk Settings,14-49 synch-on-green,14-47
DVD+R/RW,9-7, 9-11 sys$acm,5-54
DVD-R/RW,9-7, 9-11 SYS$BASE_IMAGE,10-5
DVD-Recordable,9-9 SYS$BASE_IMAGE.EXE,4-17
FAT Format,7-2 sys$creprc,10-9
Floppy,7-2 SYS$DIAGNOSTICS.SYS,9-13
Free Space,12-3 SYS$DISK Logical Name,10-5
IDE,7-1, 9-5, 14-28, 14-32, SYS$DKDRIVER,14-65, 14-66
14-53, 14-54, 14-55, SYS$DNDRIVER,14-66
14-57 SYS$DQDRIVER,7-1, 9-5, 14-32,
PC Format,7-2 14-57, 14-64, 14-66
Remaining on Tape,12-3 SYS$EFI.SYS,9-13, 14-9
SCSI,9-14, 14-2, 14-28, sys$erapat,5-62
14-32, 14-34, 14-42,
14-49, 14-53, 14-54,
14-55, 14-56, 14-57

Index-18







Index




SYS$EXAMPLES:DAYLIGHT_ SYSALF,15-25
SAVINGS.COM,4-16, 4-18 SYSAP,15-13
SYS$EXAMPLES:GKTEST.C,14-66 SYSBOOT,5-7, 5-11, 15-21
sys$filescan,9-4 SYSGEN,5-11
sys$flush,9-2 SYSLOG,13-10
sys$getdvi,10-2 System Disk
sys$getenv,14-8 VAXstation 3100,9-4
sys$getjpi,10-2 System Image,10-8
sys$getsyi,2-24, 10-2 System parameters
SYS$GKDRIVER,14-66 ALLOCLASS,15-27
SYS$LIB_C.TLB,10-22, 10-29 DEVICE_NAMING,15-21
SYS$LOGIN Logical Name,8-10 EXPECTED_VOTES,15-17
SYS$LOGIN_DEVICE Logical Name LOAD_PWD_POLICY,5-53
,8-10 MAXBUF,9-14
sys$parse,9-4 MAXPROCESSCNT,5-10
SYS$PIPE,8-9 MSCP_LOAD,15-13
SYS$PROCDMP,10-27 NISCS_LOAD_PEA0,15-26
SYS$PROTECTED_PROCDMP,10-27 PHYSICALPAGES,5-14
sys$putmsg,10-5 PHYSICAL_MEMORY,5-14
sys$qio,10-9, 11-12 RMS_SEQFILE_WBH,5-56
SYS$REGISTRY,15-25 SCSNODE,5-12, 5-14, 15-27
SYS$SCRATCH Logical Name,8-10 SCSSYSTEMID,5-14
SYS$SETBOOT.EXE,9-14, 14-20, SETTIME,4-4, 4-5, 4-28
14-22 TIMEPROMPTWAIT,4-4, 4-5
sys$setddir,10-5 TMSCP_LOAD,15-13
SYS$SETTIM,4-25 UAFALTERNATE,5-9
sys$set_system_event,4-19 VAXCLUSTER,15-26
sys$sndjbc,10-9 VOTES,15-17
SYS$STARTUP:DTSS$STARTUP.COM, WINDOW_SYSTEM,5-9, 11-5,
4-25 11-14
SYS$TIMEZONE.DAT,4-17, 4-24 WRITESYSPARAMS,5-9
SYS$TIMEZONE_DAYLIGHT_SAVING Systems and Options Catalog,
Logical Name,4-23 3-4
SYS$TIMEZONE_DIFFERENTIAL System Service,10-8
Logical Name,4-23 SYSUAF,5-53, 15-25
SYS$TIMEZONE_NAME Logical Bypass,5-10
Name,4-21, 4-23 Corrupt,5-10
SYS$TIMEZONE_RULE,4-19 SYSUAFALT,15-25
SYS$TIMEZONE_SRC.DAT,4-24 SYSUAFALT.DAT,5-10

sys$trnlnm,8-3
SYS$WSDRIVER,11-3
SYS.STB,10-5

Index-19







Index




______________________________ Time (cont'd)
T Error modifying time,4-25
______________________________ GMT,4-29
TAP,15-11 Greenwich,4-29
TAPECOPY,7-3 IPL,4-12
Tapes IRIG,4-9
Compaction,12-4 Julian,4-1
Compression,12-4 Julian Calendar,4-2
Conversion,7-3 Julian Date,4-1
EBCDIC,7-3 Julian Day,4-1
Free Space,12-3 NIST,4-9
tar,13-16, 13-17 NOTSET,4-25
Target Systems,15-11 NTP,4-10
TB,2-25 Off By One Hour,4-24, 4-30,
tcgmsg,13-10 10-22
TCL,13-13 Prime Meridian,4-30
TCOPY,7-3 SETCLOCK,4-14
TCPIP$CONFIGURATION.DAT,5-13 SET TIME Command,4-25
TCQ,14-2 TDF,4-17
TDF,4-17 TIMENOTSET,4-25
TECsys,14-21 Time service enabled,4-25
telnet,15-1 Timezone Rules,4-21
Telnet,5-62 TODR,4-5, 4-7
Telocator Alphanumeric TOY,4-5, 4-7
Protocol,15-11 UT0,4-29
Terabyte,2-25 UT1,4-29
Terminal emulator UT2,4-29
VTstar,11-4 UTC,4-17, 4-24, 4-29, 4-30,
Terminal Server Manager,13-12 10-22
Test-Drive,2-16 TIMENOTSET,4-25
Test Manager,13-23 TIMEPROMPTWAUT system
Text,10-16 parameter,4-4, 4-5
Text editor,13-17 Timezones
Text editors,3-3 SYS$TIMEZONE_NAME,4-21
TFT2025,14-49 TZ,4-21
TIE,13-25 zic compiler,4-19, 4-20
Time TMSCP,15-13, 15-14
ACTS,4-9 TMSCP_LOAD system parameter,
AlphaServer ES47,4-27 15-13
AlphaServer ES80,4-27 TODR,4-5, 4-7
AlphaServer GS1280,4-27 Tomcat,2-8
Clock Drift,4-12, 4-14 Too Few Servers Detected,4-26
Dial-up,4-9
DST,4-24, 4-30, 10-22
DTSS,4-10, 4-18

Index-20







Index




Touch,13-13 UPS,13-10
Touch Technologies,vi UPShot,13-10
TOY Clock,4-5, 4-7 USB,14-62, 14-66
TPAMAC.REQ,10-15 USB Keydisk,14-10
Trailing Edge,13-27 Used Equipment
Tripp-Lite,13-10 See HP Renew
TrueType,11-19 User Group
TS10,13-27 DECUS,1-11
TSM,13-12 Encompass,1-11
TT2$M_DISCONNECT,5-63 Interex,1-11
TTF,11-19 user-written system services,
TTY_DEFCHAR2,5-63 5-1
TV,13-25 UT0,4-29
TZ Logical Name,4-21 UT1,4-29
______________________________ UT2,4-29
U UTC,4-17, 4-29
______________________________ UTC$CONFIGURE_TDF.COM,4-16
15 U.S.C 260a(a),4-22 UTC$TIMEZONE_SETUP.COM,4-16
U.S. Design,9-11 UTC$TIME_SETUP.COM,4-16,
UAFALTERNATE,5-10 4-17, 4-20, 4-22, 4-23
UAFALTERNATE system parameter uudecode,13-2
,5-9 uuencode,13-2, 13-16
UCB,10-9 UWSS,5-1, 10-8
UCX$CONFIGURATION.DAT,5-13 ______________________________
UCX$NFS_TIME_DIFFERENTIAL V
Logical Name,4-23 ______________________________
UCX$TDF Logical Name,4-22 Vajhøj, Arne,13-2
UDDI,2-8 VAKSAT,7-2
UEFI,14-33 VAX
Ultrium 230,14-56 Terminology,2-4
undelete,9-1 VAX/VMS

Unified EFI Terminology,2-3

See UEFI VAX-11/782,14-15
Unified Extensible Firmware VAXBACK,5-20
Interface VAXcluster Console System,
See UEFI 14-21
Uniform Time Act of 1966,4-22 VAXCLUSTER system parameter,
unixODBC,9-15 15-26
UNIX shell,3-3, 3-7 VAXCRTL.EXE,10-25
unzip,14-23 VAX Emulator,13-27, 14-34
Update,5-23 VAXstation 3100
Upgrade,5-23 Console,9-4
System Disk Capacity,9-4

Index-21







Index




VCC_FLAGS,9-15 Vols in Full XFC mode,9-16
VCS,14-21 Volume Set,9-7
Veracity,5-4 Volume Shadowing,15-27
Version Numbering,10-26 Allocation Class,15-27
Edit,10-26 Full Copy,5-64
Maintenance,10-26 Full Merge,5-65
Major,10-26 Minicopy,5-63
Minor,10-26 Minimerge,5-63
Versions,5-65 VOTES system parameter,15-17
Very Long Instruction Word vPars,4-27, 14-2, 14-8
See VLIW VR260,14-46
VEST,13-19, 13-25 VR290,14-46
VFC,9-16 VRC16,14-47
vi,13-17 VRC21,14-47
vile,13-17 VSXXX,14-46
vim,13-17 VTstar terminal emulator,11-4
VIOC,9-15 VXT,11-3
VIOC Compatable Mode,9-15 ______________________________
Virtual Circuit,15-13 W
Virtual Partitioning,14-8 ______________________________
Virtual Terminal,5-62 w32time,4-31
VLIW,14-33 Web Archives,14-50
VMB,14-12 Web Browser

VMove,7-2 See SWB
VMS$AUDIT_SERVER,15-25 CSWB,13-4
VMS$CLASS_SCHEDULE,15-25 Lynx,13-5
VMS$DISK_CL_DRIVER,15-13 Mosaic,13-4
VMS$OBJECTS,15-25 Mozilla,13-4, 13-19
VMS$PASSWORD_HISTORY,15-25 Netscape,13-4
VMS$PASSWORD_POLICY,15-25 Netscape Navigator,13-20
VMS$TAPE_CL_DRIVER,15-13 Web server
VMS$VAXCLUSTER,15-13 Apache,13-9
VMS73_XFC,9-15 OSU,13-9
VMSINSTAL,5-44 Purveyor,13-9
VMSINSTAL Update WASD,13-9
See Update Webserver,13-3
VMSLICENSE,5-12 Web Server,13-16
VMSMAIL_PROFILE,15-25 Western Kentucky University,
vmstar,13-16 13-2
VMS_FLAGS,14-9 WINDOW_SYSTEM
VMS_LOADER.EFI,5-8, 14-9 system parameter,11-5,
_VMS_V6_SOURCE,4-17 11-14

Index-22







Index




WINDOW_SYSTEM system parameter XOR,5-45
,5-9 XP1000,14-49
Wiring,14-61 XPDF,3-1, 13-7
WIZARD.ZIP,3-11 xpm,11-8
WKU,13-2 XtAppAddInput,11-12
Wolf3D,13-16 xv,11-8
WRITEBOOT,9-14 X Windows,11-1
WRITEBOOT.EXE,14-20 X Windows Terminal,11-3
Write History Logging,5-63 ______________________________
WRITESYSPARAMS system Y
parameter,5-9 ______________________________
WSDRIVER,11-3 Y2K,5-40
WWW,13-4 yacc,13-16
www.archive.org,14-50 Yamhill,2-14
______________________________ Year 2000,5-40
X ______________________________
______________________________ Z
X11,11-18 ______________________________
X11R5,11-18 ZAP,7-4
X11R6.6,11-18 zic compiler,4-19, 4-20
XDR,10-17 Zimmerman, Phil,13-5
XFC,9-15 zip,9-17, 13-26
XLNperformance,5-39 Zip,14-56, 14-57

XLNsystems,5-39 Also see Info-Zip
XML,2-8, 10-17, 13-11 Self-extracting,13-26
XOFF,14-63 ZMODEM,13-3

XON,14-63















Index-23




---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com
Tom Linden
2005-09-05 15:58:08 UTC
Permalink
Post by Hoff Hoffman
ACMS Examples - Ask VMS
http://hp.ciber.net/hp/match.asp?query=Example+ACMS&source=1000
You omitted

PL/I Examples - Ask VMS (N.B. Unfortunately some people have
used PL1 instead of PLI so check
both)
http://hp.ciber.net/hp/match.asp?query=Example+PL1&source=1000
http://hp.ciber.net/hp/match.asp?query=Example+PLI&source=1000

A better search engine supporting regular expressions would be very nice:-)
e.g., query=Example+PL[I,1]

Loading...