The OpenVMS Frequently Asked Questions(FAQ)


Previous Contents Index


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

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 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:

Also see the various documentation and manuals available at:

Information on the ReGIS graphics character set is available at:

Also:

Also see Section 11.6, Section 8.11.

12.2 Does DECprint (DCPS) work with the LRA0 parallel port?

The parallel printing port LRA0: found on many OpenVMS Alpha systems is capable of some bidirectional communications, with enough for basic operations with most parallel printers.

DECprint (DCPS) requires more than just the simple handshaking provided by the LRA0: port, therefore DCPS does not work with the LRA0: port.

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

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 So what happened to sys$cmsuper?

There is no SYS$CMSUPR service.

The typical wisdom for getting into supervisor access mode (from user mode) is to execute a routine in executive mode (via a call to SYS$CMEXEC and the appropriate privilege) and then issue a SYS$DCLAST with the ASTADR parameter pointing to your routine entry point and the ACMODE parameter specified as PSL$C_SUPER.

Alternatively, you can reset mode in the call stack return path and unwind from executive or kernel out into supervisor mode.

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

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.

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 

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 some spurious license check calls when you define this.

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.


Chapter 13
Finding and using Software

13.1 Where can I find freeware/shareware/software for OpenVMS?