Digital PDFs
Documents
Guest
Register
Log In
AA-D0O37B-TE
March 1980
207 pages
Original
8.4MB
view
download
Document:
VAX-11/RSX-11M User’'s Guide
Order Number:
AA-D0O37B-TE
Revision:
000
Pages:
207
Original Filename:
OCR Text
VAX-11 /RSX-11 M User's Guide Order No. AA-00378-TE March 1980 This document provides the information needed to use the VAX/VMS MCR command language, execute MCR indirect command files, and use RSX-11 M Version 3.2 components under VAX/VMS. VAX-11/RSX-11 M User's Guide Order No. AA-00378-TE SUPERSESSION/UPDATE INFORMATION: This revised document supersedes the VAX-11 /RSX-11 M User's Guide (Order No. AA-0037 A-TE) OPERATING SYSTEM AND VERSION: VAX/VMS V02 SOFTWARE VERSION: VAX/VMS V02 To order additional copies of this document, contact the Software Distribution Center, Digital Equipment Corporation, Maynard, Massachusetts 01754 digital equipment corporation . maynard, massachusetts First Printing, August 1978 Revised, March 1980 The information in this document is suhject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. Copyright @) 1978, 1980 by Digital Equipment Corporation The postage prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. The following are trademarks of Digital Equipment Corporation: DIGITAL DEC PDP DECUS UN !BUS COMPUTER LABS CO MT EX DDT DECCOMM ASSIST-11 VAX DECnet DATATRIEVE DECsystem-IO DECtape DIBOL EDU SYSTEM FLIP CHIP FOCAL INDAC LAB-8 DECSYSTEM-20 RTS-8 VMS !AS TRAX MASSBUS OMNIBUS OS/8 PHA RSTS RSX TYPESET-8 TYPESET-11 TMS-11 ITPS-10 SB! PDT CONTENTS Page PREFACE vii SUMMARY OF TECHNICAL CHANGES ix CHAPTER CHAPTER l I N'l'RODUC'l' I ON 1-1 1.1 1.1. l 1. 2 l. 2 .1 1-1 1. 2. 2 l. 3 1.4 1. 5 1.6 EXECUTABLE IMAGE TYPES Requirements for RSX-llM Image Execution RSX-llM PROGRAM DEVELOPMENT TOOLS Standard Utilities and Files Provided with VAX/VMS Additional Facilities FI LES-11 FCS AND RMS-11 UNDER VAX/VMS SUPPORT OF RSX-llM DIRECTIVES SUMMARY OF COMMANDS 2 VAX/VMS ENVIRONMENT 2-1 2.1 PROCESS AND IMAGE Process and Image versus Task Login Process, Detached Process, or Subprocess Process Name Process Identification USER AUTHORIZATION FILE VAX/VMS UICs and Protection File Protection Process Protection Privileges Process Priority FILE SPECIFICATIONS Device Names Device Mnemonic Controller Designation and Unit Numbers Directory Names Version Numbers Defaults in File Specification LOGICAL NAMES Process Logical Name Table Group Logical Name Table System Logical Name Table System-Defined Logical Names DEVICE MAPPING Mapping RSX-llM Pseudo~evice Names Mapping RSX-llM Physical-device Names TERMINAL FUNCTIONS SYNTAX RULES Continuing Commands on More than One Line Using Comments in Command Lines Truncating Command Names and Keywords Placing Keywords Specifying File Protection 2-1 2-1 2.1.l 2. l. 2 2. l. 3 2. l. 4 2.2 2.2.l 2.2.l.l 2.2.l.2 2.2.2 2.2.3 2.3 2.3.l 2.3.l.l 2.3.l.2 2.3.2 2.3.3 2.3.4 2.4 2.4.l 2.4.2 2.4.3 2.4.4 2.5 2.5.l 2.5.2 2. f) 2.7 2.7.l 2.7.2 2.7.3 2.7.4 2.7.5 iii 1-2 1-2 1-3 1-3 1-4 1-4 1-4 1-4 2-2 ?.-2 2-2 2-3 2-3 2-4 2-4 ?.-4 2-5 2-5 2-6 2-6 2-6 2-7 2-7 2-8 2-10 2-11 2-11 2-11 2-12 2-13 2-13 2-14 2-14 2-le) 2-1 r.; 2-17 2-17 2-17 2-18 CHAPTER 2.7.6 Entering Dates and Times 2.7.'1.l Absolute Times 2.7.6.2 Delta Times 2.8 ERROR MESSAGES 2-19 2-19 2-21 2-21 USING VAX/VMS MCR 3-1 3 3.1 LOGGING IN TO VAX/VMS 3. l. l Selecting a Command Interpreter 3. l. 2 LOGIN.CMD File 3.2 PREPARING TO RUN AN IMAGE 3.2.l Allocating Devices 3.2.l.l Generic-Device Names 3.2.2 Mounting Volumes Assigning Logical Names 3.2.3 Using Logical Names for RSX-llM Images 3.2.3.l 3.2.3.2 Using Logical Names Instead of Reassign Using Logical Names Instead of Redirect 3.2.3.3 Using Logical Names for Native Images 3.2.3.4 Installing RSX-llM Images 3.2.4 RUNNING IMAGES 3.3 PROGRAM DEVELOPMENT UNDER VAX/VMS 3.4 3.4.l Using RSX-llM Components Usinq the File Transfer Program 3.4.2 3.4.3 Using VAX/VMS Components EXECUTING RSX-llM INDIRECT COMMAND FILES 3.5 3.6 3.n.l 3.e:i.2 3.n.3 3.6.4 CHAPTER BUILDING RSX-llM IMAGES FOR EXECUTION UNDER VAX/VMS Task Builder Switches Task Builder Options Noncontiguous Image Files Building RSX-llM Images on VAX/VMS for Execution on RSX-llM 3-1 3-2 3-2 3-2 3-2 3-3 3-3 3-4 3-4 3-5 3-5 3-5 3-5 3-fi 3-n 3-7 3-9 3-10 3-10 3-10 3-11 3-11 3-11 3-11 4 MCR COMMANDS 4-1 4.1 ALLOCATE DEVICE APPEND ASSIGN BYE CANCEL CONTINUE COPY DEALLOCATE DEBUG DELETE DELETE/ENTRY DEPOSIT DIRECTORY DMOUNT EXAMINE EXECUTE PROCEDURE ( (rl) EXIT INITIALIZE LIBRARY LINK LOGIN PROCEDURE LOGOUT MACRO MOUNT ON STATEMENT On Control Y On Severity-Level PRINT 4-2 4.2 4.3 4.4 4.5 4 • e) 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.25.l 4.25.2 4.26 iv 4-3 4-n 4-8 4-9 4-11 4-12 4-1'1 4-17 4-18 4-20 4-21 4-24 4-32 4-34 4-37 4-39 4-41 4-48 11-59 4-'1~ 4-<17 4-n8 4-72 4-82 4-83 4-85 4-87 4.27 4.28 4.29 4.30 4.30.l 4.30.2 4.30.3 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 PURGE RUN (IMAGE) RUN (PROCESS) SET Set Host Set Password Set /UIC SHOW STOP STOP/ABORT STOP/ENTRY STOP/REQUEUE SUBMIT TIME TYPE IJFD 4-91 4-92 4-94 4-104 4-lOn 4-107 4-108 4-109 4-111 4-114 4-115 4-11(-) 4-117 4-122 4-123 4-124 5 INDIRECT COMMAND FILES 5-1 5.1 5.2 5.3 5.4 5.4.l 5.4.2 5.5 5. () 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5. Hi 5.17 5.17.l 5.17.2 REQUESTING INDIRECT COMMAND FILE EXECUTION SUPPORT OF .!FINS, .!FACT, AND .IFLOA SUPPORT OF .ONNER UNSUPPORTED DIRECTIVES .XQT and .WAIT Alternative .ONERR Alternative SWITCHES SPECIAL SYMBOLS NUMERIC SYMBOLS LABEL TABLE ENTRIES SYS$INPUT AND SYS$COMMAND • ASKN DIRECTIVE .ENABLE DOLLARS DIRECTIVE • PAUSE DIRECTIVE • DELAY DIRECTIVE NESTING MCR INDIRECT COMMAND FILES LEXICAL FUNCTIONS OPERATIONAL NOTES RSX-llM AND RSX-llS SYSTEM GRNERATION Creation of an Unprotected Disk Pre-System Generation Indirect Command Fil~ 5-7 5-7 5-7 5-8 5-8 5-8 5-8 5-10 5-10 5-11 5-11 5-11 5-12 5-12 5-13 5-13 5-14 5-15 5-15 5-16 APPENDIX A PRIVILEGES A-1 APPENDIX B RESOURCE QUOTAS AND LIMITS B-1 CHAPTER INDEX s-·1 Index-1 FIGURES FIGURE 2-1 3-1 4-1 5-1 Format of VAX/VMS UICs RSX-llM and VAX/VMS Program Development Cycles Using VAX/VMS MCR Sample of Output of Directory Command Pre-System Generation Indirect Command File 2-3 3-7 4-30 5-lh TABLES 'rABLE 1-1 1-2 1-3 Summary of MCR Initialization Commands Summary of MCR Informational Commands Summary of MCR Process Control Commands v 1-5 1-5 1-5 1-4 1-5 2-1 2-2 2-3 2-4 2-5 3-1 4-1 4-2 4-3 5-1 5-2 5-3 Summary of MCR Program Development Commands Summary of MCR File Manipulation Commands VAX/VMS Device Types File Specification Defaults Default File Types Mapping of RSX-llM Pseudodevice Names Terminal Function Keys Task Builder Switches Valid for RSX-llM Images under VAX/VMS Library Command Keywords Set Command Options SHOW Commmand Options Summary of VAX/VMS Indirect Command File Processor Directives Special Symbols summary of Lexical Functions vi 1-6 1-7 2-7 2-8 2-8 2-13 2-15 3-12 4-49 4-104 4-109 5-2 5-9 5-14 PREFACE MANUAL OBJECTIVES The VAX-11/RSX-llM User's Guide provides the information needed to use the VAX/VMS MCR-commcind--lan-guage, execute MCR indirect command files, and use RSX-llM Version 3.2 components (for example, the Task Builder) under VAX/VMS. The information in this document is intended to allow RSX-llM users to operate in a familiar environment, while at the same time encourage users to make the transition to the DIGITAL Command Language (DCL), the primary VAX/VMS command language. INTENDED AUDIENCE This manual contains the information that an RSX-llM user needs to run existing RSX-llM images and native VAX-11 images under VAX/VMS, and to develop both RSX-llM and native VAX-11 images using the VAX/VMS MCR command language. This document has two prerequisites: a general understanding of RSX-llM and an understanding of the material presented in the VAX/VMS SummaQT_Q~scr~J?!~~~ and Glossary. STRUCTURE OF THIS DOCUMENT Information in this document is organized as follows: executing RSX-llM 1 describes the for requirements • Chapter RSX-llM components and lists images under VAX/VMS the available under VAX/VMS. • Chapter 2 discusses the environment provided hy VAX/VMS describes command language features and syntax rules. • Chapter 3 describes how to log in to the system, select a command interpreter, prepare images for execution, run user images (both RSX-llM and VAX-11)' and use RSX-llM and VAX/VMS components for RSX-llM and VAX-11 program development. • Chapter 4 describes the VAX/VMS MCR commands in detail. • Chapter 5 describes the VAX/VMS MCR directives and provides information to perform a RSX-llM/S system generation using VAX/VMS as a host system. • Appendix A describes user privileges, resource limits and quotas. vii and Appendix B and lists ASSOCIATED DOCUMENTS The following additional documents may also be useful: • VAX-11 /~~=-~ _!_ ~ __!'_~9.-~_1'.:_~~!11 e E_'_~_!:_~-~-~~-~~4: ___Ma~~ a l_ • VAX/VMS Primer • VAX/VMS Guide to Us(l"!9 Com.rnaDd Pro<;egy_ses Of the documents 1 i sted above, the VAX/VMS Command ~~9<.1~ User's Guide provides the most useful additional information; since-· the VAX/VMS MCR command language and the primary VAX/VMS command language DCL have many common features. The VAX-11/RSX-llM User's Guide describes these features to the extent needed to perform -the___VAX/VM-S equivalent of normal RSX-llM functions. CONVENTIONS USED IN THIS DOCUMENT In the command and directive descriptions in Chapters 4 and 5, respectively, square brackets ( [ ] ) indicate optional syntax. Brackets that are part of directory names, however, do not indicate optional syntax. In addition, certain MCR directives use brackets as part of their required syntax; these cases are noted in the text. viii SUMMARY OF TECHNICAL CHANGES This manual has been revised to reflect the current support of RSX-llM Version 3.2 under VAX/VMS Version 2.0. Most of these changes refer to commands and their keywords, and indirect command files, as described, in Chapters 4 and 5, respectively. Changes made within this document are summarized below. The following commands have been added to Chapter 4: LIBRARY MACRO RUN (Image) SET HOST SET PASSWORD New keywords with the commands that they modify are they appear in Chapter 4: Command Keyword COPY /VOLUME=n DIRECTORY /BEFORE[=time] /COLUMNS=n /CREATED /[NO]DATE[=option] /EXCLUDE=(file-spec(, ••• ]) /EXPIRED /[NO] HEADING /MODIFIED /OUTPUT(=file-spec] /[NO]OWNER /[NO]PROTECTION /SINCE[=time] /[NO]SIZE[=option] /TOTAL /[NO]TRAILING /VERSIONS=n DMOUNT /UNIT INITIALIZE /[NO]SHARE LINK /[NO]CONTIGUOUS /HEADER /PO IMAGE /PROTECT /[NO]SHAREABLE[=file-spec] /(NO] SYS'fEM /[NO]USERLIBRARY[=(tahle [, ••• ])] PRINT /CHARACTERISTICS=(c[, ••• l) ix listed below as PURGE /[NO]LOG SUBMIT /CPUTIME=n /REMOTE /WSDEFAULT=n /WSQUOTA=n The following directives, which have been added to command file processor, are documented in Tahle 5-1: the indirect .BEGIN • ENABLE QUIET .END .ERASE GLOBAL .ERASE LOCAL .EXIT [n] .ONERR Label .OPENA [#n] file-spec .STOP [n] The following special symbols have been added and Table 5-2: are documented in <DATE> <EX STAT> <LIBUIC> <RSXllD> <STRLEN> <SYSTEM> <TIME> Figure 5-1 in Chapter 5 documents changes to the Pre-System Generation Indirect Command File. The following types of miscellaneous textual changes have been made: Version numbers have been changed to denote the current of VAX/VMS and RSX-llM. versions Cross-references have manual. of been added x to facilitate use this CHAPTER 1 INTRODUCTION VAX/VMS provides two command languages that you can use with the system: • to interface DIGITAL command language (DCL), as introduced in the VAX/VMS Primer, defined in the VAX/VMS Com_1!!_9_Il9_____Lapgu_9ge _l!_~-~I-~-_Q_~.JQ.~, and whose command procedures are discussed in the VAX/VMS Guid~ to Using Command Procedures. command language, as described • MCR ref erred to in the VAX-11/RSX-llM in this document and Program~~r_'_s__ Ref~~':_J1.Ce Manual. The VAX/VMS MCR command language is an integral part of the VAX/VMS operating system. It allows RSX-llM users to make the transition to VAX/VMS using a familiar command language. VAX/VMS MCR and indirect command file capability also permit use of the VAX/VMS system as the host for RSX-llM/S Version 3.2 system generation. The VAX/VMS MCR command language consists of two types of commands: • Those that duplicate an RSX-llM command • Those that provide a VAX/VMS function using an MCR-like syntax Because of the two types of commands, MCR allows access to a full range of VAX/VMS functions. You need not change to the DCL command language to perform commonly needed functions. 1.1 EXECUTABLE IMAGE TYPES VAX/VMS MCR provides the tools needed to develop and run both RSX-llM task images and native VAX-11 images. This means that, as user-written applications gradually convert to native mode, applications consisting of both RSX-llM and native images can he handled using one command language. Both types of images can be run from one indirect command file using MCR. However, for support of MCR indirect command files under VAX/VMS, your command interpreter must be MCR. For information on how to establish MCR as your command interpreter, refer to Section 3.1.1, "Selecting a Command Interpreter." 1-1 INTRODUCTION VAX/VMS places no restrictions on the native images that you can run using MCR; the system manager imposes any restrictions that exist on a user-by-user basis. The VAX-11 processor and the VAX/VMS operating system impose restrictions on the RSX-llM images that can execute. The restrictions at both hardware and software levels, which are des c r i bed in the VAJ:_:_~_:_~i.~§2<- ~~. ~ .. __ !CI.O g! a ~~~E~~~-f~-~~~~·- _r:!~!1~! , are summarized below. 1.1.1 Requirements for RSX-llM Image Execution The processor requirements for RSX-llM image execution are as follows: • The image must execute in user mode. • The image must not execute any privileged instructions such as HALT or RESET. • The image must not issue FIS floating-point instructions; software emulates FPP floating-point instructions. the The software requirements are as follows: • The image must have been built using the RSX-llM Task to execute in a mapped system. Builder • The image must not depend on environmental features of RSX-llM that are not available in VAX/VMS, for example, PLAS memory management or significant events. • The image must not physically overmap the RSX-llM the RSX-llM executive is not present in VAX/VMS. executive; • The image must not physically overmap the PDP-11 the I/O page is not available in user mode. I/O • The image must not use any DECnet-11 functions. page; Task images developed under RSX-llD or IAS and compatible with RSX-llM can execute und~r VAX/VMS if they meet the requirements listed above. However, such task images must be rebuilt using the RSX-llM Task Builder before they can execute under VAX/VMS. RSX-llM task images do not have to be rebuilt to run under VAX/VMS unless program modification or different task builder options are required. Rebuilding also is required to take advantage of the logical name extensions of FCS and RMS-11 which allow processing of VAX/VMS file specifications. 1.2 RSX-llM PROGRAM DEVELOPMENT TOOLS VAX/VMS provides the RSX-llM utilities neened for the operating system to function as the host for RSX-llM program development. These utilities run in compatibility mode under VAX/VMS and provide functions that are identical to the functions they provide in RSX-llM. In addition, VAX/VMS provides copies of the files and libraries needed for program development. 1-2 INTRODUCTION Standard Utilities and Files Provided with VAX/VMS 1.2.l VAX/VMS provides the standard system: following RSX-llM utilities as part of e MACR0-11 (MAC) • Line Text Editor (EDI) • RSX-llM Task Builder (TKB) • RSX-llM Librarian (LBR) • Peripheral Interchange Program (PIP) • File Transfer Utility (FLX) • Source Language Input Program (SLP) • File Structure Verification Leve 1 1 (VFYl) • ZAP Utility (ZAP) e File Patch Utility (PAT) • Disk Save and Compress Utility for Files-11 Structure Level (DSCl) e File Dump Utility (DMP) • Bad Block Locator Utility (BAD) • RMS-11 Utilities Utility for Files-11 the Structure l VAX/VMS also provides the following RSX-llM files an0 libraries: e SYSLIB.OLB e HSXMAC.SML • ODT. OB.J ( :1 I I I\_,,) l -._ ' With the utilities and files listed above, you can use VAX/VMS as would use RSX-llM for program development. you For example, you can enter and edit a program using EDI, assemble it using MACR0-11, build it using the RSX-llM Task Builder, and run it using VAX/VMS as the host system. Images that are to be debugged using ODT can be linked with ODT.OBJ. RSX-llM task images developed under VAX/VMS can execute under Ve rs ion 3. 2,. RSX-llM Additional Facilities 1.2.2 The following RSX-llM facilities can be performect under VAX/VMS: • RSX-llM/S system generation • Operation of PDP-11 lan~uage Note that in order to obtain the license is required for each. compilers necessary 1-3 components, a separate INTRODUCTION 1. 3 FILES-11 Files-11 is the file structure used for disk volumes under both RSX-llM and VAX/VMS. Files-11 provides two structure levels: Files-11 Structure Level l and Files-11 Structure Level 2. RSX-llM supports only Files-11 Structure Level 1, whereas VAX/VMS supports both structure levels. By default, VAX/VMS creates Files-11 Structure Level 2 volumes; however, it can create and read Files-11 Structure Level l volumes. Thus, Files-11 Structure Level 1 volumes can be transported among RSX-11, IAS, and VAX/VMS systems. 1.4 FCS AND RMS-11 UNDER VAX/VMS File Control Services (FCS), RMS-11, and RMS-llK (ISAM) are available under VAX/VMS, and all run in compatibility mode. The result is that RSX-llM images that call FCS/RMS-11 interface with the same record management services that they used in RSX-llM. VAX/VMS converts FCS and RMS-11 QIO requests from the RSX-llM format to VAX/VMS equivalent native mode QIOs. The VAX-11/RSX-llM Programmer's Reference ~~~ual describes the conversion process. However, RMS-11 record locking is not supported by RSX-llM MCR. 1.5 SUPPORT OF RSX-llM DIRECTIVES The VAX-ll/RSX-lJfV1 p rg~g~_9_!l:II!l_~r_'_s __ Ref; e r_ence__ Manual describes VAX/VMS support for RSX-llM task images that issue directives to the RSX-llM Executive. Most directives are supported by VAX/VMS; however, the following are not: l.n • PLAS directives, because of substantial hardware memory management techniques • GET SENSE SWITCH, because VAX-11 does not have sense switches • CONNECT TO INTERRUPT VECTOR, because I/O drivers do not run in compatibility mode under VAX/VMS. • CONNECT, because VAX/VMS protection than RSX-llM. inherently has differences more in process SUMMARY OF COMMANDS Tables 1-1 through 1-5 summarize the VAX/VMS MCR commands. In addition to the commands listed, VAX/VMS MCR recognizes commands that invoke RSX-llM components. For example, MAC invokes the MACR0-11 assembler. 1-4 INTRODUCTION Table 1-1 Summary of MCR Initialization Commands Function Command i--------------·----··--1---------- - Allocate Reserves an unmounted shareable device or an unallocated nonshareable device for exclusive use by the process Assign Defines or assignment Deallocate Releases a previously allocated device Dmount Releases a volume previously specified in a Mount command Initialize Initializes a Files-11 Structure Level 1 or 2 d i s k vo 1 u me Mount Makes a disk or magnetic tape volume volume set available for processing Set Host Establishes a virtual communication link between a terminal and a network node to which the terminal is not directly connected Set Password Allows users to change their own password Set UIC Changes the default directory and the user identification code (UIC) of the current process deletes name logical a or Tahle 1-2 Summary of MCR Informational Commands Di:p~:s the curr:::c:::: :nd- ti:~ ---- -j Command Time Table 1-3 Summary of MCR Process Control Commands I :::an_d-· Function Bye Terminates an interactive terminal session Cancel Cancels scheduled wake-up process Continue Resumes execution of an interrupted or an indirect command file requests for a imaqe (continueo on next page) 1-5 INTRODUCTION Table 1-3 (Cont.) Summary of MCR Process Control Commands .....----------~-------------· Command Function -·+- -·-·-·------ -----·· - ---·-·-·------------- --------·-·-----·--------- Exit Terminates processing indirect command file On Defines the default course of action to be taken when a command or program in an indirect command file encounters an error condition of a particular severity-level or when CTRL/Y is used Login procedure Verifies your right to use the logs you into it Logout Terminates an interactive terminal session Run Runs images and, optionally, creates detached processes and subprocesses Stop Terminates execution of the image currently running in a process Submit Queues a batch job for processing ~-------------------········-'--······- --·---------·-···-···--·-···· . --···----------·-----·- of the current system and - -----.-·-·-·······-·······-- Table 1-4 Summary of MCR Program Development Commands Command Function Debug Invokes a debugger for an interrupted image Deposit Replaces the contents of locations in virtual memory specified Examine Examines the contents of locations in virtual memory specified Library Invokes the native mode lihrarian Link Links native VAX-11 images Macro Invokes the VAX-11 MACRO assembler -~-- ---------------------- ---------------·---·------------! 1-n INTRODUCTION Table 1-5 Summary of MCR File Manipulation Commands Command Function Append Adds the contents of one or more files to the end of an output file Copy Creates new files from one or more existing files Delete Deletes files, entries from print and entries from hatch job queues Directory Displays the names of one or more files a directory or subdirectory Print Queues files for printing Purge Deletes older versions saving the specified versions of a file while number of recent Type Displays the contents of terminal a UFD Creates a directory or subdirectory Files-11 Structure Level 1 or 2 disk 1-7 file input queues, at in your on a CHAPTER 2 VAX/VMS ENVIRONMENT When using VAX/VMS MCR, you will be aware that the environment provided by this operating system differs from that provided by RSX-llM. For example, you have access to features not available in RSX-llM, and device names are different. This chapter describes some basic VAX/VMS concepts, operational facts, and syntax rules of which you should be aware. 2.1 PROCESS AND IMAGE When you log in to VAX/VMS, the system automatically creates a process for you. That process provides the virtual address space and control information needed to perform all normal interactive user operations. User requests are performed by the execution of a series of images. Under VAX/VMS, an image is a program that has been made executable as a result of linking by either the VAX-11 Linker or the RSX-llM Task Builder (TKB). The VAX-11 Linker is an example of a native image; Peripheral Interchange Program (PIP) and TKB are examples of RSX-llM images. You can run both native and RSX-llM images within your process using MCR. Images in VAX/VMS, like tasks in RSX-llM, reside in files on disk. When you request the execution of an image (for example, by typing the Run command), VAX/VMS activates that image in your process. As each subsequent image is requested, it overlays the previous image in the process's virtual address space. The VAX/VMS Summar_y_D~scrjption __ _Enq Glossary further describes the concepts of process and image. The sections that follow describe the features of a process that are significant for an RSX-llM user. Process and Image versus Task 2.1.1 A process executing an image under VAX/VMS is quite similar in concept to an executing RSX-llM task. However, the following differences exist: • A process is permanently associated with the user for whom was created; it is not bound to a particular image. • A process can serially execute any number of images. • A process normally remains until the user logs off the system. 2-1 it VAX/VMS ENVIRONMENT Login Process, Detached Process, or Subprocess 2.1.2 VAX/VMS recognizes three types of processes: • A login process, which is the process created for you when you log in to the system • A detached process, which is a fully independent process • A subprocess, which is a process that you create to run a specified imaqe, but which remains under control of your login process Normally, you run images in your login process. Because that process is associated with you and your terminal, you can request only one image at a time. In most program development sessions, in which the output from one step (for example, MACR0-11) is input to the next image ( f o r exam p 1 e , the task bu i 1 de r ) , th i s s e r i a 1 approach i s convenient. However, in an application in which images must run concurrently to coordinate their activities, each image must run in a separate process. Therefore, the MCR Run command allows you to create subprocesses and detached processes, in addition to runninq images in your current process. Process Name 2.1.3 Every process has a process name that is created as a result of one of the following events: • When you log in, VAX/VMS defines a process name that user name (for example, FELIX). • A native image running in your service request. • If you run an RSX-llM image, VAX/VMS creates a process name if the image has a task name whose first 3 characters do not form an ellipsis ( ••• ) in its image label block. Utilities do not cause the process name to chanqe because these names start with an ellipsis, (for example, ••• PIP). process can issue is a your system Normally, a process name remains for the ouration of the process or until a new name is specified. When you run an RSX-llM image that has a task name that does not start with an ellipsis; the task name becomes the process name for the duration of that image. When the image terminates, VAX/VMS restores the previous name of the process. VAX/VMS qualifies a process name hy the group numher of its user identification code (UIC). Therefore, process names need he unique only within the group. 2.1.4 Process Identification VAX/VMS assigns every process and subprocess a process identification number that is unique throughout the system. The identification of a process does not change as long as the process exists. You must specify a process identification to affect processes your group. 2-2 outside VAX/VMS ENVIRONMENT You can use the Show Process command to display your process name and identification, or you can use the Show System command to display the name and identification of other processes. 2.2 USER AUTHORIZATION FILE the user The VAX/VMS system manager maintains a file called It contains one entry for each user who is authorization file. Each entry includes the following allowed access to the system. information: • User name • Password • User identification code (UIC) • User account name • User default disk device • User default command language interpreter (CLI) • Name of user's default directory • Name of an indirect command file or command execute at login, for example, LOGIN.CMD • Default file protection to be applied to newly created files • Privileges allowed this user • Process base priority • Amount of resources available to user procedure to When you log in, VAX/VMS uses your user authorization file entry to associate your UIC, privileges, and priority with the process it creates for you. 2.2.1 VAX/VMS UICs and Protection Under VAX/VMS, a UIC is a unique 32-bit numeric identification of a particular user. It consists of a lh-bit octal group number and a lh-bit octal member number, as illustrated in Figure 2-1. Figure 2-1 Format of VAX/VMS UICs UIC group and member numbers ranqe from O through 377 (octal). VAX/VMS UICs are used to determine file and process protection. 2-3 VAX/VMS ENVIRONMENT 2.2.1.1 File Protection - When you create a file, your UIC becomes the file-owner UIC. You specify read, write, execute, and delete file protection for system, owner, group, and world based on your UIC. This type of file protection is similar to that under RSX-llM. Like protection under RSX-llM, VAX/VMS protection for each user category is represented by the four 4-bit fields RWED. The only difference in the interpretation of VAX/VMS and RSX-llM protection is in the E field. Under VAX/VMS, this field determines whether a user has the right to execute files that contain executable program images (either VAX-11 or RSX-llM images). When applied to an entire volume, the E field determines whether users can create files on that volume. Under VAX/VMS, your UIC is not equivalent to your default directory name. That directory name is specified as a separate entry in the user authorization file. Section 2.3.2 discusses directory names in greater detail. 2.2.1.2 Process Protection - VAX/VMS also uses UICs for process protection. Process protection determines which processes you can affect using any of the following means: • An MCR or DCL command that accepts a process name as parameter (for example, the MCR commands Cancel and Stop) a • An RSX-llM image that issues directives specifying process as the target (for example, ABORT TASK) • A native image that issues system services specifying another process as the target (for example, the Suspend Process system service) another A process always can affect the subprocesses that it creates. In addition, using UIC-based process protection in conjunction with process privileges, VAX/VMS allows a process to affect other processes in the following categories: • Processes having the same UIC group number as process • All processes in the system regardless of UIC the requestinq Privileges 2.2.2 RSX-llM recognizes users as privileged or nonprivileged based on the group number of the UIC. Group numbers equal to or less than 10 (octal) are privileqed. Once a user has logged in, RSX-llM associates the privileged or nonprivileged status with the terminal from which the user is issuing commands. VAX/VMS privileges differ from RSX-llM privileges in two respects: • User privileges are associated with creates for you, rather than beinq terminal. • Users are not categorized as privileged or nonprivileqed; rather, the VAX/VMS system manager can associate any of a wide range of privileges with each user, depending on that user's needs. 2-4 the process VAX/VMS associated with your VAX/VMS ENVIRONMENT VAX/VMS controls the functions that you are allowed to request based on the privileges specified in your user authorization file entry. All of the privileges defined by VAX/VMS are listed in Appendix A. The privileges that an MCR user requires are normally the same as those that a DCL user requires. During execution, if an image attempts to use a function for which the user does not have the privilege, the image receives an error status. The individual command descriptions in Chapter 4 indicate the privileges required for each command. If you attempt to use a command for which you do not have the appropriate privilege, the system issues an error message. Error messages are described in the VAX/VMS ?ystem Me~ s ag_~_E?___~~~---~-~_<2_<2_.Y_~__;:y_-~!:.s>~-~Q l:!!_~~--~a l]~-91 • Two frequently referred to privileges are group (Group) and world (World) process control. A process with group process control privilege can affect other processes that have the same UIC group number. A process with world process control privilege can affect any process in the system regardless of its UIC. Process Priority 2.2.3 The user authorization file entry also specifies the priority at which your process executes. VAX/VMS priorities range from 1 through 15 for normal processes and from 16 through 31 for real-time priorities. In RSX-llM, a task has a priority assigned to it. When a user runs a task, the task executes at its own priority. Under VAX/VMS, however, all images execute at the requesting user's priority. 2.3 FILE SPECIFICATIONS RSX-llM and VAX/VMS file specifications are similar. The main areas of difference are in the device and directory fields. Differences in the device field are related to VAX/VMS's use of a letter to designate the controller. Differences in the directory field result from differences in Files-11 Structure Levels 1 and 2. VAX/VMS file specifications have the following format: node: :device: [directory]file-name.type;ver node Node name. The node name is a 1- to 6-character alphanumeric string which must contain at least one alphabetic character. The node name identifies a location on the network and is separated from the device name by two colons (::). device Device name. Device following format: names are specified the in devcu dev is a mnemonic for the device type. c is a controller designation. u is the device unit. The maximal length of characters. the device name field is 15 The device name is separated from the directory name by a colon (:). 2-5 VAX/VMS ENVIRONMENT directory Directory name. Directory names are specified of the following formats: in one [g 'm] [name] [name.name.name,,,] Under VAX/VMS, all of the above formats can be used for Files-11 Structure Level 1 and 2 disks; however, only the [g,m] format can be used under RSX-llM. Angle brackets (<>) can be used instead of brackets ([]) to delimit the directory name. square filename File name. A file name consists of l to 9 alphanumeric characters. type File type. A file type consists of 1 to 3 alphanumeric characters. ver File version number. Version numbers are decimal numbers ranging from 1 through 32767. You can use either a semicolon (;)or a period (.) to separate a file type from a file version number. File names, file types, and version numbers apply only to files on mass storage volumes. Directory names apply only to files on disk volumes. For record-oriented devices, only the device name field of the file specification is required. You can use wild card characters in the file name, file type, and version number fields of a file specification. For further information concerning wild card characters refer to Chapter 2 in the VAX/VMS Comma !1A_!..-9~r15J__!..10:_9_~___ l1~-~-L' s _g-y J__q_~ • 2.3.1 Device Names VAX/VMS device names consist of designation, and a unit number. a device mnemonic, a controller 2.3.1.1 Device Mnemonic - The device mnemonic can be any one of those listed in Table 2-1. Devices supported by both VAX/VMS and RSX-llM have the same under both systems. mnemonics Usually drivers used for any of the devices listed above are loaded during system generation. However, if a driver is needed but it has not been loaded, ask the system manager for assistance. 2.3.1.2 Controller Designation and Unit Numbers - The device controller is designated by an alphabetic letter (A through Z). For example, MTA designates magnetic tape controller A. Unit numbers are decimal numbers ranging from 0 through 65535. VAX/VMS unit numbers start at 0 for each controller; for example, a system can have two tape units on two different controllers designated as MTAO and MTBO. Each is unit 0 on its controller. 2-6 VAX/VMS ENVIRONMENT Table 2-1 VAX/VMS Devic~ Types Mnemonic Device Type 1------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - CR cs Card reader Console Storage Device RP04, RP05, RP06 disk TU58, Cassette Tape RL02, Cartridge Disk RK06, RK07 Cartridge Disk RM03 Disk RX02 Floppy Diskette LPAll-K Laboratory Peripheral Accelerator Line Printer Mailbox TS-11 Magnetic Tape TE16, TU45, TU77 Magnetic Tape Network Communications Logical Device Operator's Console Remote Terminal Interactive Terminal DR32 Interface Adapter DUPll Synchronous Communications Line DMCll Synchronous Communications Line DB DD DL DM DR DY LA LP MB MS MT NET OP R'I' TT. XF XJ XM ______ ,___ 2.3.2 ____._ _____ ____ .. Directory Names Directory names are represented in the [g,ml format or hy a 1- to 9-character alphanumeric string. Using subdirectories, you can specify as many as seven directory levels after the main directory name in the following format. [name.name.name,,,] When subdirectories are used, the comma in a UFD-format directory or subdirectory name is omitted; leading zeros are required. An example of a directory name is [122020.MSG]. Directories are described further in the VAX/VMS C<J..!!IE'-9.!!.~---~~guag~ User's Guide. Use the MCR UFD directories on a Level 1 volumes. command as described in Chapter 4 to create Files-11 Structure Level 2 or Files-11 Structure Any volumes that are to be transported between VAX/VMS and RSX-llM systems must have directories in the [g,ml format; the comma can he omitted. For example, [123050) and [123,050] are equivalent on both systems. 2.3.3 Version Numbers RSX-llM displays version numbers in octal. VAX/VMS displays them in decimal. However, both systems maintain version numbers in binary; version numbers are compatible internally. To determine version numbers when moving files between systems, use PIP on either VAX/VMS or RSX-llM to list file name and version information as it appears in that system. The PIP supplied with VAX/VMS has been moctified to print version numbers in decimal. You can also use the Directory command under VAX/VMS to display the contents of a directory or subdirectory. 2-7 VAX/VMS ENVIRONMENT Defaults in File Specification 2.3.4 When a field of a file specification is omitted, VAX/VMS defaults. Table 2-2 lists the defaults for each field. supplies Table 2-2 File Specification Defaults Field Default node The local system is your default. device The disk is established as your default hy (1) your ( 2) entry in the user authorization file, or execution of a Set Default command. The system disk is not necessarily the default. directory The directory is established as your default hy (1) your entry in the user authorization file or (2) execution of a Set Default or the Set UIC command. file name There are none. file type File type that is the default for command or component being used. default file types. file version The rules for establishing default file version nuMbers are the same as those used in RSX-llM. the particular Table 2-3 lists For input files, the system assumes the most recent version, that is, the highest version number. For output files, the system increases the version number hy 1 for existing files and supplies a version number of 1 for new files. -·--···----·-·--···· -~----·-······-· Table 2-3 Default File Types File Type File Contents ANL Output file for the Analyze command BAS Source input for compiler B2S Source input for the PDP-11 RAS IC-PLUS 2/VAX compiler 832 or BLI CBL the BASIC-PLUS and VAX-11 BASIC Source input for the VAX-11 BLISS-32 compiler Source input to the PDP-11 -----·-------~ COBOL-74/VAX compiler ~~~-~--¥~~ (continued on next page) 2-8 VAX/VMS ENVIRONMENT Table 2-3 (Cont.) Default File Types F'ile Type File Contents CMD RSX-llM indirect command file to be executed with the @ (Execute Command Procedure) under the MCR command interperter COB Source input for the VAX-11 COBOL-74 compiler COM VAX/VMS command procedure file that is executed with the @ (Execute Procedure) command, or submitteo for batch execution with the Submit command under the DCL command interperter. COR Source input file for the VAX-11 CORAL 66 compiler DAT Input or output data file DIF Output listing created by the Differences command DIR Directory file DIS Distribution list for the Mail command DMP Output from the Dump command EXE Image created by the VAX-11 Linker version of the RSX-llM Task Builder FOR Source input for the VAX-11 FORTRAN compiler FTN Source language input for the PDP-11 FORTRAN IV-PLUS compiler HLB Help text library file HLP Input source file for help libraries JNL Journal file output from PATCH utility JOU Journal file/audit trail from EDT L32 Precompiled Library for VAX-11 Bliss-32 LIB Input file Statements containing LIS Listing file assembler produced LOG Batch job output file LS'f Listing file assembler MAC Source input to the PDP-11 MACR0-11 assembler produced VAX-11 or the FORTRAN COBOL-74 VAX/VMS IV or source by a VAX-11 compiler or by a PDP-11 compiler or (continued on next pa0e) 2-9 VAX/VMS ENVIRONMENT Table 2-3 (Cont.) Default File Types ------·-····----- File Type File Contents MAI Mail message file MAP Memory allocation (map} listing produced VAX-11 Linker or the RSX-llM Task Builder MAR Source input to the VAX-11 MACRO asseMhler MLB VAX/VMS or RSX-llM macro library MSG Source file that specifies the text of messages OBJ Object module produced assembler or compiler ODL Overlay description input to RSX-llM Task Builder OLB VAX/VMS or RSX-llM object module library OPT Options file for input to the VAX-11 Linker PAR A SYSGEN parameter file PAS Source input for the VAX-11 PASCAL compiler by a PDP-11 or by the VAX-11 R32 or REQ VAX-11 BLISS-32 source file required for compilation STB Symbol table file created by the VAX-11 Linker or the RSX-llM Task Builder SYS System Image TLB Text library TMP Temporary file TXT Input file for text libraries or output file for Mail command UPD Update file of chanqes program 2.4 for a VAX-11 MACRO the source LOGICAL NAMES The VAX/VMS logical name capahility is an extension of that available under RSX-llM. Using the VAX/VMS Assign command, you can assign a logical name to the following: • A physical-device, logical-device, or pseudodevice name • A file specification or portion of one Section 3.2.3 describes the use of loqical names un0er VAX/VMS. VAX/VMS categorizes logical names differently from RSX-llM. Rather than categorizing them as loqin, local, and glohal logical names, 2-10 VAX/VMS ENVIRONMENT VAX/VMS describes them as process-local, available within a group, and available to all processes. VAX/VMS maintains a logical name table for each category: • Process logical name table • Group logical name table • System logical name table The Show Logical command displays the equivalence names from the three tables. loqical names and their When VAX/VMS encounters a logical name in a command or program, it translates the logical name to its equivalence name. To do so, it searches the process, group, and system tahles, in that order, and uses the first match it finds. Thus, entries in the process table take precedence over those in the group and system tables, and entries in the group table take precedence over those in the system table. Once VAX/VMS has translated a logical name, it applies any appropriate file specification defaults. 2.4.1 Process Logical Name Table The process logical name table contains the logical names that are local to the process. Once an entry is assigned to the process logical name table, it is available to all images that run in the process until it is deassigned, or until the process is deleted (for example, as a result of logging out). 2.4.2 Group Logical Name Table The group logical name table contains the logical names that are available to all processes that have the same group numher in their UICs as the process that created the entry. Unlike RSX-llM, VAX/VMS does not use the identification of the initiating terminal to determine whether a process has access to the group logical name table. Entries remain in this table until they are explicitly deleted. The GRPNAM privilege is required for a user to place delete a name from the group logical name table. 2.4.3 a name in or System Logical Name Table The system logical name table contains entries available to all processes in the system. The manner in which entries in this table are used is similar to the manner in which global assignments are used under RSX-llM. Entries remain in the tahle until they are explicitly deleted. The SYSNAM privilege is required for a user to place delete a name from the system logical name table. /.-11 a name in or VAX/VMS ENVIRONMENT System-Defined Logical Names 2.4.4 VAX/VMS defines logical names at the process and system levels. The system assigns logical names for every process created during login or for execution of a batch job: • SYS$INPUT -- command input stream for the process. For an interactive user, SYS$INPUT is assigned to the terminal. For a batch job, SYS$INPUT is assigned to the batch input stream. • SYS$OUTPUT -- command output stream for the process. For an interactive user, SYS$0UTPUT is assigned to the terminal. For a batch job, SYS$0UTPUT is assigned to the batch job log file. For indirect command files, you can temporarily assign SYS$0UTPUT to a different file as described by the Execute Procedure in Chapter 4. • SYS$COMMAND -- original SYS$INPUT for a process. When a process is executing an indirect command file, SYS$INPUT is assigned to that file; SYS$COMMAND remains assigned to the original command stream. • SYS$ERROR -- default output stream to which the system writes messages. For an interactive user, SYSSERROR is assigned to the terminal. For a batch job, SYSSERROR is assigned to the batch job log file. • SYS$DISK -- default disk device established at login or established by the Set Default command described in the VAX/_Y,MS Command Lanq_ua_qe User's c;;uid~-· • SYS$LOGIN -- created at login time to refer to the device and directory of the login process which is specified in each user authorization file. The logical names listed above are in the process logical name table. VAX/VMS defines the following entries table: for the system logical name • SYS$HELP -- the device and ·directory of system help files. e SYS$LIBRARY -- the device and directory that libraries. contains system • SYS$MBSSAGE -- the device files. system message • SYS$NODE -- the device and directory names of the current network node for the local system, if DECnet is active on the system. • SYS$SHARE -- the device images. • SYS$SYSDISK -- the device and directory of the VMS system disk; that is, the device and directory on which SYS$SYSTEM resides. • SYS$SYSTEM -- the device and directory of the system disk that contains the operatinq system program and procedures. and and directory directory of of system In addition, the system manaqer at your installation can in the system logical name table. 2-12 shareable place names VAX/VMS ENVIRONMENT 2.5 DEVICE MAPPING Device mapping is the technique of equating an RSX-llM device name with a VAX/VMS device name. VAX/VMS automatically performs device mapping for two categories of device names: • RSX-llM pseudodevice names (for example, TI) • RSX-llM physical-device names (for example, DB2) Mapping occurs when an image uses an RSX-llM device name, or when a command issued either interactively or from an indirect command file that uses an RSX-llM device name. 2.5.1 Mapping RSX-llM Pseudodevice Names VAX/VMS maps RSX-llM pseudodevice names to VAX/VMS logical names that serve similar functions. Table 2-4 shows the correspondence between RSX-llM pseudodevice names and VAX/VMS logical names. Table 2-4 Mapping of RSX-llM Pseudodevice Names RSX-llM Pseudodevice Name -------·----~-- .. VAX/VMS Logical Name ----· --·-·· ----·----~-~- TI (for input) SYS$ INPUT TI (for output) SYS$0UTPUT co SYS$COMMAND CL SYS$ERROR SY SYS$DISK LB Device assigned by VAX/VMS system manager WK Device assigned by VAX/VMS system manager SP Device assigned by VAX/VMS system manager ov Device containing image file ------------------------·---------- Devices TI, CO, and CL have permanently open files associated with them. An RSX-llM image interacts with the process-permanent files hy issuing I/O requests on TI, CO, and CL that VAX/VMS automatically converts to requests on SYS$INPUT, SYSSOUTPUT, SYS$COMMAND, and SYS$ERROR. 2-13 VAX/VMS ENVIRONMENT 2.5.2 Mapping RSX-llM Physical-device Names You can control the association of an RSX-llM physical-device name with an actual VAX/VMS device, or VAX/VMS can perform the association automatically. To associate an RSX-llM device name with a specific VAX/VMS device unit, issue an Assign or Mount command that specifies the RSX-llM device name as the logical name for the device, as described in Chapter 3. If you do not use logical names, VAX/VMS automatically maps the RSX-llM device name to a VAX/VMS device name. VAX/VMS performs the mapping by retaining the device type (for example, MT) and converting the RSX-llM unit number into the corresponding VAX/VMS controller letter and unit number. VAX/VMS performs the mapping to a physical device by converting the RSX-llM unit number to decimal and dividing by 16 (decimal). The quotient is added to the ASCII value representing the character A. The result is the controller letter. The remainder becomes the VAX/VMS unit number. For example, RSX-llM devices TTO and DB18 become VAX/VMS devices TTAO and DBB2, respectively, as follows. TTO to TTAO: Controller and unit ='A'+(0/16)='A'+O with a remainder of 0 'A'+O ='A'= controller O = unit number DB18 to DBB2: Controller and unit 'A'+(l8/16)='A'+l with a remainder of 2 'A'+l='B'= controller 2 = unit number VAX/VMS performs this conversion when assigning an I/O RSX-llM image. 2.6 device to an TERMINAL FUNCTIONS Table 2-5 lists the terminal control key sequences that VAX/VMS recognizes. With the exception of CTRL/Y and CTRL/X, these terminal functions are essentially the same as those available under RSX-llM. CTRL/Y always causes a return to the command interpreter. CTRL/X cancels the current line and deletes data in the type-ahead buffer. Under VAX/VMS, you do not have to wait for one command or program to terminate before typing the next request. Unprocessed commands are stored in the type-ahead buffer. 2-14 VAX/VMS ENVIRONMENT Table 2-5 Terminal Function Keys Key Function - - - - - - - - - - + - - - - - - - - - - , -----------·--- ··-- RETURN (Carriage return) Transmits the current line to the system for processing. Before a terminal session, initiates login sequence. Control characters: CTRL/C Define functions to be performed. You enter a control character by depressing the CTRL key while you press a letter key. All CTRL/x key sequences are echoed on the terminal as "'x. Before a terminal session, initiates a login sequence. During command entry, cancels command processing. Certain system and user programs provide special routines to handle CTRL/C interrupts. If CTRL/C is pressed to interrupt a program that does not handle CTRL/C, CTRL/C has the same effect as CTRL/Y and echoes as "'Y. CTRL/I Duplicates the function of the TAB key. CTRL/K Advances the current line to the next vertical tab stop. CTRL/L Requests form feed. CTRL/O Alternately suppresses and continues display of data at the terminal. CTRL/Q Restarts terminal output that was suspended by CTRL/S CTRL/R Retypes the current line during input and leaves the cursor positioned at the end of the line. CTRL/S Suspends terminal output until you press CTRL/Q. CTRL/U Cancels the current line and discards it. CTRL/Y Interrupts command or program execution and returns control to the command interpreter. CTRL/X Cancels the current line and deletes data in the type-ahead buffer. CTRL/Z Signals end-of-file for data entered from the terminal. (continued on next paqe) 2-15 VAX/VMS ENVIRONMENT Table 2-5 (Cont.) Terminal Function Keys Key ~-------- 2.7 Function TAB Moves the printing element or cursor on the terminal to the next tab stop on the terminal. Most terminals have tab stops at every 8-character position on a line. DELETE Deletes the last character entered at the terminal and backspaces over it. On some terminals, this key is labeled RUBOUT. ESCAPE Has special uses for particular commands or programs, but generally performs the same function as RETURN. On some terminals, this key is labeled ALTMODE. ···----·- - SYNTAX RULES VAX/VMS MCR commands have the followinq general syntax: command [/cmd-keywords 1 parameter [/keywords ••• ] [ ••• ] The rules for separating items on a VAX/VMS same as those for RSX-llM: 2.7.l command string are the • At least one space must separate the command from the first parameter, and at least one space must separate each additional parameter from the previous parameter. Multiple blanks and tabs are permitted wherever a single blank is required. • Each keyword must be preceded by a slash (/). Any spaces, including zero, can precede the slash. number of Continuing Commands on More than One Line You can enter a command string on more than one line by using the continuation character, a hyphen (-), as the last element on a line. For example: > COPY /LOG > OUTFIL.DAT /CONTIGUOUS > INFIL1.DAT,INFIL2.DAT No restriction is placed on the number of lines you can use to enter a command string. After each continued additional input (> ) • line, the command 2-16 interpreter prompts for VAX/VMS ENVIRONMENT Using Comments in Command Lines 2.7.2 VAX/VMS MCR distinguishes command lines from comments using conventions as RSX-llM uses, that is: the same line • A semicolon (;) as the first significant character on indicates that the entire line is a comment. a • An exclamation mark (!) indicates the beginning of in a command line. comment a Truncating Command Names and Keywords 2.7.3 Most command names can be truncated to their first three characters. You can truncate command names to fewer than three characters as long as the name remains unique. For example, because the Type command is the only command beginning with the letters TY, it has a minimum truncation of two letters. For convenience, the following frequently used commands can be truncated to one letter, even though other commands start with the same letter: • Continue • Deposit • Examine • Run However, you must type the first four characters of some commands in order for VAX/VMS MCR commands to be distinguished from RSX-llM command names which contain the same initial three characters. These exceptions .are noted in the command descriptions in Chapter 4. All other portions of a command line (for example, keywords and keyword values) can be truncated to four letters, or fewer, if they remain unique within the command. 2.7.4 Placing Keywords VAX/VMS MCR is more flexible than RSX-llM MCR about where you can place keywords in the command string. The command descriptions in Chapter 4 separate command keywords from file specification keywords. Command keywords have the same meaning whether they appear after the command name or after a command parameter. For example, the following two commands are identi~al: > RUN /UIC=[200,230] DOTS.TSK > RUN DOTS.TSK /UIC=[200,230] File specification keywords, on the other hand, have different meanings, depending on where they are placed in the command string. If specified immediately after a file specification, they affect only the file thus qualified. If specified after the command name, they affect all files specified as parameters. For example, the first command below results in the printing of two copies of both files, whereas the second results in the printinq of two copies of SANDPIPER.MAP and one copy of YELLOWLEG.MAP. > PRINT/COPIES=2 SANDPIPER.MAP, YELLOWLEG.MAP > PRINT SANDPIPER.MAP/COPIES=2, YELLOWLEG.MAP 2-17 VAX/VMS ENVIRONMENT Some file specification keywords are not valid as command Individual keyword descriptions indicate any restrictions. 2.7.5 keywords. Specifying File Protection All disk and tape volumes have protection codes that restrict access to the volume. This protection is assigned when the volume is initialized and can be reassigned when a volume is mounted. For disk volumes, each file on the volume, including the file, can have a different protection associated with it. directory Files potentially can be accessed by users in four categories: -- all users who have group numbers of 0 through 377 • SYSTEM (octal) and users with physical I/O or logical I/O privilege (generally, system manaqers, system programmers, and operators). The default for group numhers for system users is O through 10 (octal). • OWNER -- the UIC of the person owns the volume or file. who created and, therefore, • GROUP -- all users who have the same UICs as the owner of the file. group number in • WORLD -- all users who do not fall into any of the other three categories. Each of these categories of following types of access: user can be allowed or their denied the or files • READ the right to examine, print, or copy a file on a volume. • WRITE -- the riqht to modify the file or to write files volume. • EXECUTE -- the riqht to execute files that contain executable program images. When applying protection to an entire volume, this field is interpreted as the right to create files on the volume. • DELETE -- the riqht to delete the file or files on the volume. Any combination of access types can be specified for any user. on category a of When you specify a protection code, you must abbreviate protection types to one character; you can specify the user categories and protection types in any order. If you omit a protection type for a user category, that category of user is denied that type of access. When specifying file protection, if you omit a user category, the current access rights for that category remain unchanged. When you specify volume protection, omission of a category denies that user category all access. 2-18 VAX/VMS ENVIRONMENT When you specify a protection code, separate each user category from the access type with a colon. If you want to deny all access to a category, specify the category without the trailing colon, for example, GR. To specify more than one user category, separate each category with a comma and enclose the entire code specification in parentheses, as follows. SET PROTECTION=(SYS:RWED,GR:R,W)/DEFAULT This protection code allows the system all types of access; allows group members read access only; prohibits all access by users in the world category; and does not change the current default for the file's owner. 2.7.6 Entering Dates and Times When a command accepts a keyword that specifies a time value, the time value is either an absolute time or a delta time: • An absolute time is a specific date example, 10-JUN-1978 10:53:22.10). and time of • A delta time is a future offset from the current date and time of day (for example, 2 days and 3 hours from now). 2.7.6.1 Absolute Times -- Absolute times generally have the format. day (for following [dd-mmm-yyyy [:]] [hh:mm: ss. c] You can specify the date, the time, or both. as follows: The variable fields Field Meaning dd Day of month (1 through 31) mmm Month; the month must be specified following 3-character abbreviations: JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC yyyy Year hh Hour of the day (0 through 23) mm Minute of the hour SS Seconds (0 through 59) c Hundredths of seconds (0 through 99) (0 through 59) 2-19 as one of are the VAX/VMS ENVIRONMENT You may also specify one of absolute time is appropriate: the following keywords month year whenever Keyword Description TODAY The current day, o'clock TOMMORROW 24 hours after 00:00:00:0 o'clock today. YESTERDAY 24 hours before 00:00:00:0 o'clock today. The punctuation marks indicate how value you enter: the and system at interprets an 00:00:00:0 the time • If you specify both the date (dd-mmm-yyyy) and the time (hh:mm:ss.c), you must type a colon between the date and the time. • You can truncate the date and the time on the right; however, if you are specifying both a date and a time, the date format must contain at least one hyphen. • You can omit any of the fields within the long as you type the punctuation marks; default values. date or time, as the system supplies • The period between seconds and hundredths delimiter; it is not a decimal point. of seconds is a When you omit the date or any of its fields from an absolute time value, the system supplies the current day, month, and year by default. When you omit any fields from the time, the system supplies a value of O for the field. Examples: Time Specification Result 28-JUN-1980:12 12:00 noon on June 28, 1980 28-JUN Midnight (00:00 o'clock) on the 28th of June, this year 15 3:00 p.m., today 15- The 15th day of the current month at midniqht 18:30 n:30 p.m., today 15--::30 00:30 o'clock, on the 15th rlay of the current month and When you specify an absolute time that has already passed, the performs the request immediately. 2-20 year, system VAX/VMS ENVIRONMENT 2.7.6.2 Delta Times -- Delta times have the format: [ d d - ] [ h h : mm : s s • c ] The variable fields are as follows: Field Meaning dd Number of days, 24-hour units (0 through 99) hh Number of hours (0 through 23) mm Number of minutes (0 through 59) SS Number of seconds c Number of hundredths of seconds (0 through 99) When you specify a delta time value, you can truncate the time field on the right; you can also omit any of the variable fields, as lonq as you supply the punctuation marks. When any field is omitted from a delta time value, the system supplies a value of 0 for the field. Examples: 2.8 Time Specification Result 3- 3 days from now (72 hours) 3 3 hours from now :30 30 minutes from now 3-:30 3 days anct 30 minutes from now 15:30 15 hours and 30 minutes from now ERROR MESSAGES Under VAX/VMS, when you enter an MCR command incorrectly, the command interpreter issues a message in the standard VAX/VMS format. These messages do not look like RSX-llM MCR error messages. Rather, they have the following general format: %XXX-L-CODE, te~t XXX is a mnemonic for the operating system program issuing the message. L is a severity level indicator: information; W for warning; fatal. CODE S E for success; I for for error; and F for is a shorthand code for the message text that follows code. For example: %MCR-W-MAXPARM, maximum parameter count exceeded 2-21 the VAX/VMS ENVIRONMENT Because VAX/VMS messages are descriptive, you can usually learn the corrective action from them. The VAX/VMS System}~~~~~~_§-~!1d Recovery Procedure~--~anual lists all system error messages and describes corrective measures. RSX-llM components (for example, PIP and TKB) issue the same messages under VAX/VMS that they issue under RSX-llM. When using VAX/VMS MCR to run RSX-llM components, you should consult the appropriate RSX-llM documentation for error message information. 2-22 CHAPTER 3 USING VAX/VMS MCR Using the VAX/VMS MCR interface, you can perform four types of work: • Run RSX-llM images and VAX-11 images • Use RSX-llM components for RSX-llM program example, MACR0-11 or the Task Builder) development (for • Use VAX/VMS components for native program example, VAX-11 MACRO or the Linker) development (for • Execute RSX-llM indirect command files (for example, RSX-llM/S system generation indirect command files) This chapter explains how to log in to the VAX/VMS system and perform the types of work listed above. In addition, it describes considerations for task building RSX-llM images that are to run under VAX/VMS. 3.1 LOGGING IN TO VAX/VMS To log in to the VAX/VMS system, you must first gain the attention login. To do this, type one of the following control sequences: • CTRL/C • CTRL/Y e RETURN of Login prompts for your user name and then for your password: Username: Password: When you enter your password, the system does not display it. Using your entry in the user authorization file, login verifies your right to gain access to the system and sets up the default characteristics for the terminal session. It then executes the login indirect command file specified in your user authorization file entry. If a login indirect command file is not specified there, login searches your default directory for an indirect command file named LOGIN.CMD and executes this file if it is present. Finally, the command interpreter prompts for command input. 3-1 USING VAX/VMS MCR 3.1.1 Selecting a Command Interpreter The system determines which command interpreter is with your process using the following factors: • The default command interpreter authorization file entry to be in named associated your user /CLI keyword that you specify after your user name to • The override the default command interpreter for the terminal session If the MCR command interpreter is not your customary default, then you must enter your user name followed by /CLI=MCR, as follows. Username: CALEB/CLI=MCR Then, enter your password in the normal manner. Note that the VAX/VMS system does not support files unless your command interpreter is MCR. MCR indirect command Also, once you log in with MCR as your command interpreter it remains in control of your process until you log out. Therefore, DCL commands and the DCL command interpreter cannot be ac~essed when you are logged in with the VAX/VMS MCR command interpreter. 3.1.2 LOGIN.CMD File The LOGIN.CMD file used under VAX/VMS is identical in function to a LOGIN.CMD file under RSX-llM. If your default command interpreter is MCR, or if you request MCR using the /CLI keyword to login, the MCR command interpreter searches your default directory for the file LOGIN.CMD. The LOGIN.CMD must contain valid VAX/VMS MCR commands and directives. 3.2 PREPARING TO RUN AN IMAGE The basic steps required to prepare an image same for VAX-11 and RSX-llM images: and mount any physical for execution devices that are the the • Allocate requires image • Equate VAX/VMS physical-device names to any logical-device names or RSX-llM physical-device names that the image uses To execute, the image must reside on a Files-11 disk volume. The volume must be mounted and you must have the right to gain access to it (that is, you must be allowed execute (E) access). 3.2.1 Allocating Devices Device allocation under VAX/VMS is essentially the same as device allocation under RSX-llM, that is, you use the Allocate command to reserve a device. Once allocated, the device is not available to other users. The device remains allocated until you deallocate it or log out of the system. Under RSX-llM, allocated devices are reserved 3-2 USING VAX/VMS MCR for use by any tasks that you initiate. Under VAX/VMS, on the other hand, allocated devices are reserved for any image that runs in your current process or in one of its subprocesses. The VAX/VMS Allocate command accepts as a parameter either a logical-device name or a VAX/VMS physical-device name. If you specify a physical-device name, it can be either explicit or generic. 3.2.1.l Generic-Device Names - A generic-device name explicitly specifies the device type and, optionally specifies the controller or unit. A generic-device name allows the system to select the actual device unit to be allocated from available devices of a specific type. For example, the following command requests VAX/VMS to allocate any available TE16 tape drive: > ALL MT: MTB2: ALLOCATED The system response indicates that drive 2 on controller B has been allocated. When the device type and controller are specified in a generic-device name, the Allocate command looks for an available unit on a specific controller. Similarly, when the device type and unit number are specified, the Allocate command looks for a controller of the designated type that has the specific device unit available. Unlike RSX-llM, when the controller and unit number are omitted, VAX/VMS does not default to unit 0 of controller A. This difference may affect indirect command files that allocate devices expecting unit 0 to be used by default; refer to Chapter 5 in this manual. Chapter 3 of the VAX/VMS Command Language User's ~uide additional information about allocating tape and disk units. 3.2.2 provides Mounting Volumes Volumes are mounted in essentially the same way under VAX/VMS as they are under RSX-llM; both systems support a Mount command. Both systems define similar functions requested by specifying Mount command keywords. The actual keyword names, however, differ between systems. The VAX/VMS Mount command also has additional options that function as follows: • Define a logical name for the device on which mounted • Specify volume owner and volume protection • Specify the degree of sharing that is allowed on the volume (for example, specify a private volume or one that is available to the group or world) All of the Mount command options are described in Mount command description. the Chapter volume 4 in is the The main purpose of the Mount command is to gain access to the volume. However, under VAX/VMS you can use certain disk volumes without issuing a Mount command for them. Any volume that another user (most likely, the system manager or operator) has mounted specifyinq the /SYSTEM keyword is available to anyone logged in to the system. Any volume that another user has mounted specifying the /GROUP keyword is 3-3 USING VAX/VMS MCR available to all users with the same UIC group number as the user issued the Mount command. who The Mount command accepts either a logical-device name or a physical-device name as a parameter. If you specify a physical-device name, you can do so either explicitly or by using defaults. The default for the controller designator is A, and the default for unit number is O. Chapter 3 of the VAX{VMS Command Language User's Guide additional information about mountinq disk and tape volumes. 3.2.3 provides Assigning Logical Names Under VAX/VMS, you can use logical names in RSX-llM images, native images, and MCR commands. Using the Assign command, you can equate a logical name with a VAX/VMS physical-device name, as in the following example: ASN DBB2:=INO: You also can equate a logical name with all or a specification, as in the followinq example: portion of a file ASN DBB2: [MYDIR]FILEA.DAT;2=INPUT Unlike RSX-llM logical names, VAX/VMS logical names are not restricted to two letters and a unit number. VAX/VMS logical names can consist of as many as 63 alphanumeric characters. The following sections describe the use of loqical names for RSX-llM images and native images. 3.2.3.l Using Logical Names for RSX-llM Images - RSX-llM images issue ASSIGN LUN directives to assign a loqical unit number (LUN) to an RSX-llM physical-device unit or a logical name. Similarly, the RSX-llM Task Builder ASG option can be used to assign a LUN to a physical or logical device at build time. When either method is used to assign a LUN to an RSX-llM physical-device unit, you can use the Assign command to define the RSX-llM physical-device name as the logical name for a VAX/VMS device. Then, when VAX/VMS encounters the RSX-llM name in the program, it translates the name to the associated VAX/VMS physical-device name. The following example illustrates the use of the Assiqn command. ASN DBAl:=DK2: When the ASSIGN LUN directive is issued or when the image activated has a task builder option to assign a LUN to a loqical-device name, you can use the Assign command to equate the logical name with a VAX/VMS physical-device name. For example: ASN DBBO:=XY: If you do not assign logical names, VAX/VMS attempts to map the RSX-llM device names used by the image to VAX/VMS device names, as described in Section 2.5.2. 3-4 USING VAX/VMS MCR 3.2.3.2 Using Logical Names Instead of Reassign - Under RSX-llM, a privileged user can assign a physical- or logical-device name to a LUN using the Reassign (REA) command. Under VAX/VMS, you must assign LUNs at either the program or task-build level; the VAX/VMS MCR command interpreter does not support the Reassign command. However, the logical name facility provides the flexibility needed to associate the RSX-llM device name used in an ASSIGN LUN directive or ASG option with a VAX/VMS physical device, as described above. 3.2.3.3 Using Logical Names Instead of Redirect - Under RSX-llM, a privileged user can redirect I/O operations from one device to another during task execution. VAX/VMS does not support the Redirect (RED) command; you must assign logical names before running the image. 3.2.3.4 Using Logical Names for Native Images - The VAX/VMS logical name capability provides more flexibility than the RSX-llM capability. Native images can use a logical name that is equated with all or part of a file specification starting with the leftmost item of the file specification. Similarly, you can use logical names that are equated to file specifications at the command level. The following is an example of using logical names: > ASN DBBl: [JONES]SNOW.DAT;4=INPUT > RUN ANLZE The Assign command equates the logical name INPUT with the full file specification DBBl: [JONES]SNOW.DAT;4. When the image ANLZE refers to INPUT, VAX/VMS translates it to the associated file specification. The full VAX/VMS logical name capability is available through VAX/VMS MCR; Chapter 2 in the VAX/VMS Command Lang~~~_J]~-~~_Q_uide provides detailed information on logical names. 3.2.4 Installing RSX-llM Images Under VAX/VMS, images do not have to be installed before execution. You run images under VAX/VMS in the same manner that a nonprivileged user runs them under RSX-llM, that is, hy supplying the file specification of the image as a parameter to the Run command. VAX/VMS does not support the RSX-llM Install command. You can use logical names to create an effect similar to that of the Install command. If you assign a logical name to the file specification of the image file, the logical name serves as a task name. If you type the logical name in response to the MCR prompt (>), VAX/VMS performs logical name translation and runs the associated image. 3-5 USING VAX/VMS MCR For example, the following command establish~s REP as the logical name for the image file 084: [IMAGES]ALPHA.TSK contained on D8A4. ASN 084: [IMAGES]ALPHA.TSK=REP/GBL Because the logical name REP is placed in the system logical table, any user can type REP to run the image, as follows: name REP additional-data The image can obtain the additional data by issuing a GET MCR LINE directive, just as it does in RSX-llM. Note that for a process to place names in the table the user must have the SYSNAM privilege. 3.3 system COMMAND logical name RUNNING IMAGES The VAX/VMS MCR command interpreter lets you run VAX/VMS and RSX-llM images. The basic format of the command to request image execution is as follows: RUN file-spec The parameter file-spec represents a standard VAX/VMS file specification or a logical name that translates to one. If the file type is not supplied, it defaults to EXE. To run RSX-llM images having a file type of TSK, you must either explicitly supply the file type, or you must rename the image files. EXE is the default file type for image files produced by the VAX-11 Linker and the VAX/VMS version of the RSX-llM Task Builder. The Run command provides keywords that control whether the requested image is run in your process, a subprocess, or a detached process. Additional keywords allow you to control the process's priority, scheduling, resource quotas, and privileges. A detailed description of the Run command and all its options is in Chapter 4. The following are examples of the Run command: > RUN INVENTORY This command runs the image in the highest version of the INVENTORY.EXE located on the default disk device and directory. file > ASN DBB2:[RSX]IMAGE.TSK;8=MYTASK > RUN MYTASK This sequence assigns MYTASK as the logical name for the image. The Run command translates MYTASK to D8B2: [RSX)IMAGE.TSK;8 and runs it. Instead of using the Run command, you can run images in your process by entering the file specification of the image file in response to the MCR prompt (>),or by entering a logical name that translates to a file specification. 3.4 PROGRAM DEVELOPMENT UNDER VAX/VMS VAX/VMS MCR permits the development of both VAX/VMS and RSX-llM images. Figure 3-1 illustrates some of the equivalent VAX/VMS and RSX-llM functions that you can perform using VAX/VMS MCR. 3-fi USING VAX/VMS MCR VAX/VMS Functions RSX-llM Functions Enter and edit a source program using EDI or SOS Enter and edit a source program using SOS or EDI Assemble the program using MACR0-11 Assemble the program using VAX-11 MACRO ~- _______ ~··------· ~·----------- Run the program Run the program ~~~ug the program usi~g -~ Debug the program using the VAX-11 Symbolic Debugger Edit, reassemble, relink, and run again Edit, reassemble, rebuild, and run again Figure 3-1 3.4.1 "-~-·--··-·- Use the VAX-11 Linker to link the program with the VAX-11 Symbolic Debugger Use the RSX-llM Task Builder to build the program with ODT ,___ J RSX-llM and VAX/VMS Program Development Cycles Using VAX/VMS MCR Using RSX-llM Components You can use any of the RSX-llM components listed in Section 1.2.l by issuing a request to the VAX/VMS MCR command interpreter. To request any of these components, either enter the component name and press RETURN, or enter the component name followed by a valid command line for that component and press RETURN. Subsequent operation of the component is identical to that under RSX-llM, as documented in the related RSX-llM manuals. In addition, you can build ODT into any RSX-llM image that requires debugging. ODT operates just as it does under RSX-llM. You also can interrupt image execution and type the Debug command to pass control to ODT if the image was built with ODT. Of the RSX-llM components available, all accept the standard VAX/VMS file specifications except VFYl and FLX. Considerations for usinq FLX are provided in Section 3.4.2. The VAX-11 Utilities Reference Manual describes operation of VFYl. 3-7 USING VAX/VMS MCR VAX/VMS does not support the PIP/UF switch; you must use the UFD the Create/Directory command, documented in Chapter 4, instead. or The following are examples of invoking RSX-llM components from VAX/VMS MCR: > EDI EDI> DBAl:[COLD]CENTIGRAD.DAT [CREATING NEW FILE] INPUT <RET> *EX [EXIT] > Typing EDI in response to the MCR prompt (>) and pressing RETURN causes EDI to prompt for a command line. EDI operates just as it does under RSX-llM, that is, the default directory is searched for the file CENTIGRAD.DAT. Failure to locate the file results in creation of a new file under the directory [COLD]. Exiting from EDI causes MCR to prompt. > MAC @MACINP > This command requests the MACR0-11 assembler to read the indirect command file MACINP.CMD for command input. After the indirect file is processed, MCR prompts again. > TKB APPLES=GRAPES > Typing TKB followed by a command line results in the task huildinq of the object file GRAPES.OBJ on the default disk and directory to produce the image file APPLES.EXE, which is also stored on the default disk and directory. GRAPES.OBJ must have been produced by an RSX-llM compiler or assembler. When task building completes, VAX/VMS MCR prompts again. > TKB TKB> AVERAGE,AVERAGE=AVERAGE TKB>/ ENTER OPTIONS: TKB> TKB>// > The sequence above invokes the RSX-llM Task Builder, supplies it with the names for the input and output files, and requests the task builder to prompt for options. The two slashes cause the task huilder to exit; MCR prompts. > PIP DBB2: [GAULT]*.LST;*/DE > 3-8 USING VAX/VMS MCR The command above invokes PIP to delete all listing (LST) files from directory GAULT on DBB2. VAX/VMS MCR prompts after the files are deleted. > PIP PIP> SPICE.*/PU PIP> • PIP>"Y > In the above sequence, typing PIP in response to the MCR prompt causes PIP to prompt. PIP reprompts after each command until pressing CTRL/Y which passes control to the MCR commBnd interpreter. 3.4.2 Using the File Transfer Program The File Transfer Program (FLX) interprets only specifications, that is, file specifications with format: RSX-llM file the following ddu: [g,m]filename.type;version FLX cannot interpret a controller designation in the device name or a directory name (other than the (g,m] form) in the file specification; nor does it accept a logical name for a file specification. If you omit the directory from a file specification for a disk file, VAX/VMS uses your default directory. It can be in either the [g,m] form or a directory name. Because FLX does not accept VAX/VMS device names, your use of FLX depends on the device mapping that the operating system performs automatically. Device mapping is described in Section 2.5. If you specify a device name that does not map to a physical device on VAX/VMS, FLX issues an error message indicating that it could not find the device. Before using FLX with a maqnetic tape, drive. you must allocate the tape The following are examples of FLX command lines. > FLX DBO: [120,30]=MT17:SYS1.MAC/DO VAX/VMS maps the device name DBO to physical device DBAO. It maps device name MT17 to device MTBl. File SYSl.MAC is transferred to directory [120,30] on DBO. > FLX FLX> DR3:=DMO: [133,lO]MYFIL.MAC/RT VAX/VMS maps device name DR3 to physical device DRA3 and DMO to The user's default directory on DRA3 contains the output file. See the VAX-11 Utilities Reference Manual for further FLX. 3-9 DMAO. information on USING VAX/VMS MCR 3.4.3 Using VAX/VMS Components From the VAX/VMS MCR command interface, you can also invoke the following native VAX/VMS components listed below. The information in parentheses indicates the component or command file used in requesting each component. • VAX-11 MACRO (Macro command) e Standard VAX-11 Editor (SOS) • VAX-11 Librarian (Library command) • VAX-11 Linker (Link command) • Various VAX-11 utilities available through the MCR language {for example, Print, Submit, Set, and Show) command To request any of these components, type one of the following: • The 3-character component name or the 3-character component name followed by a valid command line for that component • The command that invokes the particular component Subsequent operation of the requested component is described in the appropriate VAX/VMS document; see the VAX-11 Informati_~_n._ __ !2_~!:~c_tor~ and Index to determine the documents required. 3.5 EXECUTING RSX-llM INDIRECT COMMAND FILES RSX-llM indirect command files have the same uses under VAX/VMS as under RSX-llM. That is, you can specify an indirect command file for processing by VAX/VMS MCR or you can specify an indirect command file in a command to an RSX-llM component executing under VAX/VMS. In either case, an at sign (@) precedes the file specification of the indirect file just as it does under RSX-llM. Indirect command files specified for use by RSX-llM components (for example, Task Builder and MACR0-11) are identical to those used under RSX-llM. Section 3.1.1, "Selecting a Command Interpreter," describes the login procedure used to establish MCR as your command interpreter; which is necessary for support of indirect command files. Chapter 5 describes the MCR indirect command file processor directives available under VAX/VMS and provides additional information about running MCR indirect command files. The Execute Procedure (@) is described in Chapter 4. 3.6 BUILDING RSX-llM IMAGES FOR EXECUTION UNDER VAX/VMS The VAX/VMS system can serve as the host for (1) modifying existing RSX-llM images so that they execute under VAX/VMS or (2) developing new images to run under VAX/VMS or RSX-llM. When the image being modified or developed is to execute under VAX/VMS, you should build it with that fact in mind. The following sections describe considerations for building RSX-llM images to execute under VAX/VMS. 3-10 USING VAX/VMS MCR 3.6.1 Task Builder Switches You can use most of the switches defined for the RSX-llM Task Builder when building an image for execution under VAX/VMS. The only switch you cannot use is -MM (unmapped system); that is, the image must he built to execute on a mapped system. Table 3-1 lists the switches that are effective under VAX/VMS. With the exception of -MM, unlisted switches have no effect under VAX/VMS and do not cause an error when the image executes under VAX/VMS. As a general rule, switches that are intended to affect the way RSX-llM treats the image during execution are ignored, for example, whether the image is checkpointable. Defaults and the use of a identical to RSX-llM. minus sign (-) to negate switches are Use of overlays can be avoided to take advantage of VAX/VMS virtual address space. VAX/VMS provides 65K bytes of virtual address sp~~e for RSX-llM images. 3.6.2 Task Builder Options You can specify any of the RSX-llM Task Builder options for RSX-llM images that are to run under VAX/VMS. The options that specify user identification code (UIC), priority, and partition have no effect; UIC and priority are associated with the user running the image under VAX/VMS, and partitions do not exist. Two options, TASK and ASG, may be required for RSX-llM images to run successfully under VAX/VMS, as described below. RSX-llM images that use common event flags (that is, specifyinq event flag numbers greater than 33), that are the target of directive requests, or that issue RECEIVE DATA and RECEIVE DATA OR EXIT directives must have a name assigned using the TASK option. VAX/VMS uses the presence of a task name in the image label block as an indication that the image requires special initialization. RSX-llM images that do not associate LUNs with either a physical-device name or a logical-device name within the program must be built using the ASG option to make the required association. VAX/VMS MCR does not support the Reassign command. 3.6.3 Noncontiguous Image Files The Task Builder issues an informational message if it produces an image file that is not contiguous. VAX/VMS, however, allows you to run images contained in noncontiguous files. 3.6.4 Building RSX-llM Images on VAX/VMS for Execution on RSX-llM You also can use the VAX/VMS system to build RSX-llM images that are to run under RSX-llM. In this case, VAX/VMS imposes no restrictions on the switches and options that you can specify. 3-11 USING VAX/VMS MCR Table 3-1 Task Builder Switches Valid for RSX-llM Images under VAX/VMS Switch or Option Function cc Input file consists of concatenated modules DA Image contains a debugging aid DL Specified library is a replacement for system object module library FP Task uses the floating-point processor (FPP only) FU All co-tree overlay segments are searched for matching definition or reference when modules from the default object module library are being processed HD Image includes a header LB Input file is a library file MA Memory allocation output information from the file MM System has memory management; for an image to run under VAX/VMS, MM must be present either explicitly or by default MP Input file contains an overlay description MU Image is separated into nonshareable portions PI Image is position independent PM Postmortem dump is requested SH Short memory allocation file is requested SP Spool map output SQ Image program sequentially SS Selective search for global symbols TR Image is to be traced WI Memory allocation file width of 132 characters XT:n Task Builder exits after n diagnostics 3-12 sections the includes shareable a.re is object and allocated printed at a CHAPTER 4 MCR COMMANDS This chapter describes VAX/VMS MCR commands and their keywords in detail. Individual command descriptions note restrictions between VAX/VMS MCR commands and RSX-llM MCR commands. For general information on the VAX/VMS MCR environment, refer to Chapter 2 which provides a summary of the VAX/VMS MCR environment and highlights the differences between VAX/VMS MCR and RSX-llM MCR. 4-1 MCR COMMANDS ALLOCATE 4.1 ALLOCATE DEVICE The Allocate Device command reserves an unmounted shareable device or an unallocated nonshareable device as a private device for the process. After the device is allocated, MCR displays the physical name of the device on SYSSOUTPUT. Other users cannot qain access to an allocated device. Format: ALLOCATE device-name[:l device-name[:] Specifies the physical or logical name of the device to be allocated. If you specify a physical-device name1 it can he either a co~plete name or a generic-device name, for example TT. See Section 3.2.1.1 for a discussion of generic-device names. Examples: > ALLOCATE TTH7 TTH7: ALLOCATED This command requests allocation of device TTH7. The Allocate commann responds by indicating that the requested device has been reserved for the requesting process. The underscore precP-dinq the displayed device name indicates that no further name translation is required to determine the actual physical device allocated. > ASN MTA2:=MTO: > ALL MTO MTA2: ALLOCATED The Assign command described in Section 4.3 defines MTO as the logical name for the physical device unit MTA2. The Allocate command then reserves that device using its logical name. Notes: • The Assign command can he name. used • Assigning an I/O channel (LUN) to a nonshareahle device causes the device to be implicitly allocated. Opening a file causes a channel to be assigned. • File-oriented devices (magnetic allocated if they are mounted. • If you do not specify the device controller designation and unit number under VAX/VMS, the Allocate command selects an available device. The selected device is not necessarily controller A and unit o. • The form of the Allocate command that VAX/VMS and RSX-llM systems is: ALLOCATE device-name[:] 4-2 to tape define and is a logical-device disks) cannot compatible be between MCR COMMANDS APPEND 4.2 APPEND The Append command adds the contents of one files to the end of a specific output file. or more specific input Format: APPEND [keywords] output-file-spec [keywords] =input-file-spec [keywords][, ••• ] keywords /ALLOCATION=n I [NO] CON'rIGUOUS /EXTENSION=n /FILE MAXIMUM=n I [NO]LOG /[NO]NEW /PROTECrr I ON=code /[NO]READ CHECK /fNO]WRITE_CHECK output-file-spec Is the name of the output file. You must specify at least one field of the output file specification. For fields that you do not specify, the Append command uses the related field of the input file specification. If you specify a wild card character in any field of the output file specification, the Append command uses the related field of the input file specification(s). If you specify only the device and directory portions of the output file specification, the Append command uses related fields of the input file specification. input-file-spec Specifies the name of a file to be appended. If you specify more than one input file, separate each file specification with either a comma (,) or a plus sign {+). You can use a wild card character in place of the file name, type, or version field. Then, all files that satisfy the remaining components are appended. Command Keyword: /LOG /NO LOG (default) Controls whether the file specification of each file that is appended is displayed. If you specify the /LOG keyword with the Append command, the file specifications of the input and and output files and either the number of blocks or records that are appended will be displayed. The number of new files created will be displayed at the end of command processing. 4-3 MCR COMMANDS File Keywords: /ALLOCATION=n Forces the initial allocation of the new output file to the number of blocks specified by n. The value n is interpreted as a decimal number by default. /ALLOCATION implies /NEW; that allocation values are applied only output file is actually created. /CONTIGUOUS /NOCONTIGUOUS (default) is, the if a new Indicates whether the output file is contiquous; that is, whether it must consecutive physical disk blocks. to be occupy By default, the Append command creates an output file in the same format as the related input file. If multiple input files of different formats are appended to a single output file, the output file may or may not be contiguous. To ensure that the output file is contiguous, use the /ALLOCATION and /CONTIGUOUS keywords and create a new output file. /EXTENSION=n Specifies the number of hlocks to be added to the new output file each time it is extended. /EXTENSION implies /NEW; that is, the allocation values are applied only if a new output file is actually created. /FILE MAXIMUM=n Specifies the maximum number of logical records that the output file can contain. This keyword is valid only for new relative files. If you specify the /FILE-MAXIMUM keyword, the /NEW keyword is assumed. /NEW /NONEW Requests that, if a specific output file does not already exist, the Append command create one. Because /NONEW is the default, the output file must already exist. (default) /PROTECTION=code Defines the protection to be applied to the output file. The protection is specified following the standard rules, described in Section 2.7.5. Any protection attributes not specified are taken from the current protection of the output file or, if a new file is created, from the current default protection. /READ CHECK /NOREAD CHECK (default) Indicates whether the Append command is to read a specific input file(s) twice to verify that all records have been correctly read. /WRITE CHECK /NOWRITE CHECK (default) Indicates whether the Append command is to read the output file after it has been written. This verifies that the file has been successfully appended and that the output file can he read without error. 4-4 MCR COMMANDS Examples: > APPEND [HICKS]EDWARD.OBJ = [DAVIS]JOSEPH.OBJ This command appends the file JOSEPH.OBJ from directory [DAVIS] to the file EDWARD.OBJ in directory (HICKS] on the default device. > APPEND /LOG/NEW THEEIGHT.DAT = HENRI.DAT+LUKS.DAT+SLOAN.DAT %APPEND-I-CREATED, DBBl: [PAINT]THEEIGHT.DAT;l created %APPEND-S-COPIED, DBBl: [PAINT]HENRI.DAT;2 copied to DBBl: [PAINT] THEEIGHT.DAT;l (10 records) %APPEND-S-APPENDED, DBBl: [PAINT]LUKS.DAT;5 appended to DBBl:[PAINT] THE.EIGHT.DAT;l (8 records) %APPEND-S-APPENDED, DBBl: [PAINT]SLOAN.DAT;l2 appended to DBBl: [PAINT]THEEIGHT.DAT;l (22 records) %APPEND-S-NEWFILES, l file created This command concatenates the files HENRI.DAT, LUKS.DAT, and SLOAN.DAT into a new file named THEEIGHT.DAT. The input and output files are on the default device and directory. Notes: • RSX-llM does not support the Append command. • The Append command is a variation of the Copy command. • When you use use wild card characters to concatenate Files-11 Structure Level 1 files, the input files are copied to the output file in random order. When you use wild card characters to concatenate ·Files-11 Structure Level 2 files, the Append command copies files in alphanumeric order. When wild card characters are used in the version field, files are copied in descending order by version number; that is, files with the same name are copied starting with the highest version number. Additional examples of appending files and information about • wild card characters are provided in the VAX/VMS Command Language User's Guide. 4-5 MCR COMMANDS ASN 4.3 ASSIGN The Assign command defines or deletes a logical name assignment for a device in one of three logical name tables: process, qroup, or system. Format for Assigning a Logical Name: ASN [keywords] ppnn: [=]llnn: Format for Deleting a Logical Name: ASN [=] llnn: [keywords] keywords /GBL /GROUP /TERM pp Indicates the equivalence (physical-device, logical-device, or pseudodevice) name to which the logical name is to be assigned. The equivalence name can be from 1 through 15 characters. nn Specifies the device unit number. 11 Specifies a logical name from 1 throuqh 15 characters. Command Keywords: /GBL Indicates that the requested action is to system logical name table. occur in the /GROUP Indicates that the requested action is to group logical name table. occur in the /TERM (default) Indicates that the requested action is to occur in the process logical name table. /TERM is the default. Examples: > ASN MTB2:=MTO: This command assigns the strinq MTO as the MTB2 in the process logical name table. logical name for device > SHOW LOGICAL MTO MTO = MTB2: (PROCESS} This command requests that the logical name MTO be displayed. equivalence name associateQ with Notes: • The equal sign (=} between the two name parameters is optional; if you do not specify the equal sign, you must leave a space between the two parameters. • RSX-llM does not support the /GROUP keyword. 4-6 MCR COMMANDS • VAX/VMS does not support the /LOGIN and /TERM:ttn keywords. • Privilege is required to assiqn and delete the group or system logical name tables. • The Show Logical command, described in the VAX/VMS Command Langu~_g_~ll~~-r~__s__Qyide, can he used to display logical names in the process, group, and system tables. 4-7 logical names in MCR COMMANDS BYE 4.4 BYE The Bye command terminates an interactive terminal session. The system displays a termination message and performs any necessary cleanup operations, such as terminating the current image if one exists, dismounting any private volumes that remain mounted, and deallocating devices. Finally, it deletes your process and subprocesses, if there are any. Format: BYE Example: > BYE MURPHY logged out at 4-APR-1980 13:33:2~.57 Note: • The Logout command performs command. • RSX-llM supports the Bye command. 4-8 the same function as the Bye MCR COMMANDS CANCEL 4.5 CANCEL The Cancel command requests the system to cancel a wake-up request for a specific process. A wake-up request can be the result of any of the following: • The RUN$ directive (see Notes below) • The Schedule Wake-up system service • Any of the time-synchronized forms of either the RUN commands. Cancel does not affect the execution of an active removes time-based requests from the timer queue. MCR process; or DCL it only Format: CANCEL [keyword] [process-name] keyword /IDENTIFICATION=process-id process-name Specifies the name of the process for which wake-up requests are to he canceled. Because process names are implicitly qualified by UIC group number, you can cancel requests only for process within your group by specifying a process name. Command Keyword: /IDENTIFICATION=process-id Specifies the process identification of the process for which wake-up requests are to be canceled. If you specify both a process name and identification, the Cancel command iqnores the process name. If you specify neither, wake-up requests for your current process are canceled. The process-id value is interpreted as a hexidecimal number. Examples: > CAN PROCA This command cancels wake-up requests for a process executing in the same group as the requesting process. If the process is not a subprocess of the requesting process, then qroup privilege is required. > CAN /IDENTIFICATION=C0025 This command cancels wake-up requests for the process whose process identification number is C0025. It can be executin~ outside the qroup requesting process; appropriate privilege is required, however. 4-9 MCR COMMANDS Notes: • You must have group or world privilege to cancel wake-up requests for another process. No privilege is required for a process to issue a cancel request for one of its subprocesses. • The Stop command can be used to delete a hibernating for which all wake-up requests are canceled. • You can determine whether a subprocess has completed execution of an image by issuing the Show Process command with the /SUBPROCESSES keyword described in the VAX/VMS Command ~~~g u_~-~-~~~-~-·~ . _g_ _11-_~-~~ • • VAX/VMS uses the Schedule Wake-up system service to emulate the RSX-llM RUN$ directive; for additional information, refer to the VAX-ll/RS_~_:-11M__f_£ogrammer 's !<_~_!~_!:enc~~al!~~!_. • RSX-llM supports the Cancel command when the process name is equal to an RSX-llM task name. 4-10 process VAX/VMS MCR MCR COMMANDS CONTINUE 4. 6 CONTINUE The Continue command resumes execution of a command, program, or indirect command file that was interrupted by any of the following: • Pressing CTRL/Y or CTRL/C • A PAUSE request issued by a FORTRAN program • A .PAUSE directive issued in an indirect command file When a program is interrupted or pauses, only those actions listed below can be taken if the program is to continue to execute. Unlisted commands cause termination of the interrupted image. • Examine and Deposit • Allocate and Deallocate • Define a symbol (. SETx) • Assign and delete a logical name • Set and show the default directory and default file protection • Show the translation of a logical name • Display the time When an indirect command file pauses, VAX/VMS places no restrictions on the commands that you can use. Restrictions on the use of the .PAUSE directive are presented in Chapter 5. Format: CONTINUE Example: > RUN TEST "y > TIME 4-APR-1980 > CONTINUE 14:00:55 The Run command initiates execution of the image TEST. Pressing CTRL/Y interrupts TEST. The Time command causes VAX/VMS to display the date and time. The Continue command then requests resumption of TEST at the point where it was interrupted. Notes: • RSX-llM does not support this command. • For convenience, the Continue command can the single character, c. 4-11 be abbreviated to MCR COMMANDS COPY 4.7 COPY The Copy command creates a new file from one or more existing This command can be used to perform the following functions: • Copy one file to another file. • Concatenate more than one file into • Copy a group of files to another group of files. R files. single output file. Format: COPY [keywords] output-file-spec input-file-spec [keywords][, ••• ] keywords /ALLOCATION=n /[NO]CONCATENATE /[NO]CONTIGUOUS /EXTENSION=n /FILE MAXIMUM=n I [NO]LOG /[NO]OVERLAY /PROTECTION=code /fNO]READ CHECK /[NO]REPLACF. /[NOJTRUNCATE /VOLUME=n /[NO)WRITE_CHECK output-file-spec Is the name of the output file. You must specify at least one field of the output file specification. For fields that you do not specify, the Copy command uses the related field of the input file specification(s). If you specify a wild card character in any field of the output file specification, the Copy command uses the related field of the input file specification(s) and does not concatenate the output. For more information on wild card characters, refer to the chapter on file specifications in the VAX/VMS Command Lanquage User's Guide. If you specify only the device and directory portion of the output file specification, the Copy commAnd uses related fields of the input file specification(s) and does not concatenate the output. 4-12 MCR COMMANDS input-file-spec Specifies the name of a file to be copied. If you specify more than one input file, separate the file specifications with either a comma (,) or a plus sign (+). You can use wild card characters in plac~ of the file name, type, or version field. Then, all files that satisfy the remaining components are copied. For more information on wild card characters, refer to the chapter on file specifications in the VAX/VMS Command Language User's Guide. - - - - - - -·--· Command Keywords: /LOG /NO LOG (default) Indicates that the Copy command is to display the file specifications of each input file copied in the following format. input-file copied to output-file (nn RECORDS) When the Copy command is creating a sinqle output file from multiple input files, the first message is followed by messages in the followinq format. input-file appended to output-file (nn BLOCKS) The Copy command displays either the number of records or the number of blocks copied depending on whether the file is copied on a record-by-record or block-by-block basis. At the end of command processing, the Copy command displays the number of files created. /CONCATENATE (default) /NOCONCATENATE When multiple input file specifications are provided, this keyword indicates whether a sinqle output file is to be created from all files that satisfy the input file specification. By default, the Copy command produces a single output file from multiple input files unless: • One or more wild card characters are present in the output file specification. • Only the device and directory portions of the output file specification are provided. File Keywords: /ALLOCATION=n Forces the initial allocation of the output file to the number of blocks specified by n. If this keyword is not specified, the initial allocation of the output file is determined from the size of the input file being copied. 4-13 MCR COMMANDS /CONTIGUOUS (default) /NOCONTIGUOUS Indicates whether the output file is contiguous; that is, whether it must consecutive physical disk blocks. to be occupy By default, the Copy command creates an output file in the same format as the corresponding input file. If the input file is contiguous, the Copy command attempts to create a contiguous output file, but does not report an error if the output file is not contiguous. If multiple input files of different formats are copied into a single output file, the output file may or may not be contiguous. To ensure that the output file is contiguous, use the /ALLOCATION and /CONTIGUOUS keywords. The /CONTIGUOUS keyword has no effect when you copy files to or from tapes because the size of the input file cannot he determined until the file is read. If you copy a file from tape, use two Copy commands: one to copy the file from tape, and another to create a contiquous file. /EXTENSION=n Specifies the number of blocks output file each time it is keyword is not specified, the attribute of the output file the input file. to be added to the extended. If this default extension is determined from /FILE_MAXIMUM=n Specifies the maximum number of logical records that the output file can contain. This keyword is valid only for relative files. /OVERLAY /NOOVERLAY (default) Indicates whether data in the input file is to be copied into an existing output file overlaying the existing data. If the new file is shorter than the overlaid file, the file is truncated at the end of the new file. The new file is in the same position as the overlaid file. /OVERLAY is ignored if the output file is written to a non-file-structured device. /PROTECTION=code Defines the protection to be applied to the output file. The protection is specified following the standard rules, described in Section 2.7.5. Any protection attributes not specified are taken from the current protection of the input file. /READ CHECK /NOREAD CHECK (default) Indicates whether the Copy command is to read a specific input file(s) twice to verify that all records have been correctly read. /REPLACE /NOREPLACE (default) Requests that, if a file already exists with the same file specification as that entered for the output file, the existing file be deleted and replaced with the contents of the input file(s). By default, the Copy command creates a new version of a file if the file already exists. 4-14 MCR COMMANDS /TRUNCATE /NOTRUNCATE (default) Indicates whether the command is to copy all blocks allocated to the file or only those blocks that contain data. When copying multiple input files into one output file, you can save space by specifying /TRUNCATE. If you do not specify /TRUNCATE, all of the blocks allocated -to the specific file(s) are copied to the output file(s). /VOLUME=n Requests that the Copy command place the entire output file on the specified relative volume of a multivolume set. If the /VOLUME keyword is not specified, the file is placed in an arbitrary position within the multi volume set. /WRITE CHECK /NOWRITE CHECK (default) Indicates whether the Copy command is to read the output file after it has been written to. This verifies that the file has been successfully copied and that the output file can be read without error. Examples: ) COPY [HICKS]EDWARD.OBJ = [DAVIS]JOSEPH.OBJ This command copies the file JOSEPH.OBJ from directory [DAVIS] to directory [HICKS] on the default device and names the file EDWARD.OBJ. > COPY ALLSRC.FOR = *.FOR This command concatenates the highest versions of all FORTRAN files in the default directory into a file named ALLSRC.FOR. source Notes: • RSX-llM does not support the Copy command; RSX-llM, you can use PIP instead of Copy. • When you use wild card characters or /CONCATENATE to concatenate Files-11 Structure Level 1 files, the input files are copied to the output file in random order. When you concatenate Files-11 Structure Level 2 files, the Copy command copies files in alphanumeric order. When wild card characters are used in the version field, files are copied in descending order by version number; that is, files with the same name are copied starting with the highest version numher. • The VAX/VMS Command Language User's Guide provides additional exam p 1 es ----oT--EEe - use --01----tli"E?--c·c;-py- command and fur the r information on wild card characters. 4-15 however, under MCR COMMANDS DEALLOCATE 4.8 DEALLOCATE The Deallocate command releases a previously allocated device. The system automatically deallocates any allocated devices when the owner logs off. Format: DEALLOCATE [keyword J [device-name [: J J keyword /ALL device-name [: J Specifies the physical name or logical name assigned to the device to be deallocated. If you omit the controller designator and unit number of a physical-device name, they default to controller A and unit O, respectively. Command Keyword: /ALL Requests that all devices currently allocated to your process be deallocated. If you specify /ALL, you cannot specify a device name. Example: > DEALLOCATE MTO This command deallocates the physical equivalence for the logical name MTO. device whose name is the Note: • The compatible form of the Deallocate both RSX-llM and VAX/VMS systems is: DEALLOCATE device-name: 4-16 command supported by MCR COMMANDS DEBUG 4.9 DEBUG The Debug command invokes a debuqger af~er you have interrupted a program's execution by pressing CTRL/C or CTRL/Y. If the image is native, the VAX-11 Symbolic Debugger prompts. If it is an RSX-llM image that was built with ODT, ODT prints a T-bit exception message. Format: DEBUG Examples: > RUN COPLEY/NODEBUG "'y > DEBUG DBG> In the example above, typing CTRL/Y interrupts execution of a native image and causes MCR to prompt. Typing the Debug command at this point causes the VAX-11 debugger to prompt. > RUN PEALE/NODEBUG "'y > DEBUG TE:Oll454 In the example above, typing CTRL/Y interrupts execution of an RSX-llM image and causes MCR to prompt. Typing the Debuq command at this point causes ODT to prompt. Notes: • If no image is currently executing, the Debuq command performs no operation. • If the interrupted program was not linked with the appropriate debugging aid (VAX-11 Symbolic Debugger for native images or ODT for RSX-llM images), the Debug command causes a software exception condition. If the image is a native image that has not declared a condition handler, or if it is an RSX-llM image that has not specifiect a T-bit SST routine address, this exception may cause termination of the image. • For details on the use of the debugger, refer Symbo_lj~ _P~t?l1-92~-~----~~K~I~_!!__~_~___l'1_9!1~~· • For details on condition handling and exception conditions, refer to the YAX/Y~~-sy__'.3tem_~~-r_vi~~s Refere_n~_e__':1anua~. 4-17 to the VAX-11 MCR COMMANDS DELETE 4.10 DELETE The Delete command deletes files, deletes entries from a or a batch queue, and stops the printing of a file. print queue You specify /ENTRY to delete a batch or print queue entry. You can specify any of the remaining keywords to control the deletion of files. The /CREATED, /MODIFIED, and /EXPIRED keywords determine whether files are to be deleted based on their creation date, most recently modified date, or planned expiration date. The /BEFORE and /SINCE keywords are used in conjunction with the selection date keywords to establish the time span to be considered by the Delete command. Format: DELETE [keywords] file-spec[, ••• ] keywords /BEFORE[=(abs-time)] /[NO]CONFIRM /CREATED /EXPIRED /[NO]LOG /MODIFIED /SI~CE[=(abs-time)J file-spec Specifies the name of a file to be deleted. If you specify more than one file specification, separate each with a comma (,) or a plus sign ( +) • The first file specification must contain a file name, file type, and version number. You can specify these fields as wild card characters. Subsequent file specifications can omit any of these fields except the version numbers; the first file specification provides defaults for additional file specifications. Command Keywords: /BEFORE[=(abs-time)] Chooses only those specific files that have a /BEFORE[=TODAY] selection date before the specified date. The /BEFORE[=YESTERDAY) selection date can be specified as an absolute date and time or as TODAY or YESTERDAY. Section 2.7.6 explains how to specify an absolute time. If you do not specify /BEFORE, the command deletes all specified files regardless of date, unless /SINCE is specified. If you specify /BEFORE but do not supply a selection date, the Delete command uses TODAY by default; that is, the command deletes all files created or modified yesterday or before. 4-18 MCR COMMANDS /CONFIRM Requests the command to display the name of each /NOCONFIRM (default) file before it is deleted and wait for you to type a confirmation. If you type a T or a Y followed by RETURN in response to the message, the file is deleted. Any other response causes the file to be retained. /CREATED Requests that specific file(s) be selected for deletion based on their creation date. This keyword is meaningful only when /BEFORE or /SINCE is specified. The default selection date is both the created date and the most recently modified date. /EXPIRED Selects specific files according to their planned expiration date. This keyword is meaningful only when /BEFORE or /SINCE is specified. The default selection date is both the created date and the most recently modified date. /LOG /NOLOG (default) Determines whether the file specification of each file is to be displayed as the file is deleted. If you specify /LOG, the delete command displays the following information: devcu: [dirlfilename.type;version deleted /MODIFIED Selects specific files according to the date on which they were most recently modified. This keyword is the default and is meaningful only when /BEFORE or /SINCE is specified. /SINCE[=(abs-time)] /SINCE[=TODAY] /SINCE[=YESTERDAY] Chooses only those specific files that have a selection date after the specified date. The selection date can be specified as an absolute time or as TODAY or YESTERDAY. Section /..7.6 explains how to specify an absolute time. If you do not specify /SINCE, the command deletes the specified files regardless of date, unless /BEFORE is specified. If you specify /SINCE but do not supply a selection date, the Delete command uses TODAY by default; that is, the command deletes all specified files with a selection date of today. Example: > DELETE /SINCE=(ll:30) INPUT.DAT;* This command deletes all versions of the modified after 11:30 today. file Note: • RSX-llM does not support this command. 4-19 INPUT.DAT created or MCR COMMANDS DELETE/ENTRY 4.11 DELETE/ENTRY The Delete/Entry command deletes one or more entries from a batch job queue. The /ENTRY keyword is required. print The job(s) to be deleted must have been queued by the current or any process in the same group as the current process. You can delete jobs that have not yet begun processing or are currently being processed. or process files that When you need to delete an entry from a batch queue while the job is running, use the Stop/Entry command. To delete a print job that is running, consider either the Stop/Abort or the Stop/Requeue commands. The /ENTRY keyword requires at least one job-number parameter to specify the job number(s) of one or more jobs to be deleted from a print or batch job queue. If you specify more than one job number, separate the numbers with commas and enclose the list in parentheses. Format: DELETE/ENTRY=(job-number[, ••• ]) queue-name[:] queue-name(:] Specifies the name job(s) exist. of the queue in which the Examples: >PRINT/HOLD ALPHA.TXT Job 110 entered on queue SYS$PRINT >DELETE/ENTRY=llO SYS$PRINT The Print command queues a copy of the file ALPHA.TXT in a hold status to defer its printing until a later time. The system displays the job number 110 and the name of the queue in which the file was entered. Later, the Delete/Entry command requests that the entry be deleted from the queue SYS$PRINT. >SUBMIT/HOLD/PARAMETERS=SCANLINE DOFOR Job 203 entered on queue SYS$BATCH >SUBMIT/AFTER=l8:00 WEATHER Job 210 entered on queue SYS$BATCH >DELETE/ENTRY=(203,210) The Submit WEATHER.COM hold status; Later, The deleted from SYS$BATCH commands spool the command procedures DOFOR.COM and for processing as batch jobs. DOFOR.COM is queued in a WEATHER.COM is queued for execution after 6:00 P.M. Delete/Entry command requests that both these entries be the queue SYS$BATCH. 4-20 MCR COMMANDS DEPOSIT 4.12 DEPOSIT The Deposit command replaces the contents of a specific location in virtual memory. After the contents are replaced, Deposit displays the location and the newly deposited data as follows: address: contents The Deposit command converts the placing it in virtual memory. specified value to binary before If the address specified can be read, but not written, the current contents of the location are not altered, but are displayed. If the address specified cannot be read or written, asterisks (****) are displayed. When used with the Examine command, the Deposit command can aid in the debugging of programs interactively. It is not necessary to link with a debugger to use these commands. Format: DEPOSIT [keywords] location=data [, ••• ) keywords /ASCII /BYTE /DECIMAL /HEXADECIMAL /LONGWORD /OCTAL /WORD location The virtual address are to be changed. within the virtual currently running read/write for user of a location whose contents The specified location must be address space of the image in the process, and it must be access mode. You can specify the location as a symbolic name that has been assigned a value equivalent to a virtual memory location. The arithmetic operators +, , *, and I can be used to express the location. The value of a symbol used in an ~xpression always is interpreted in the radix used to define it. Any numeric value used in the expression is interpreted according to the current default radix of the command. Refer to the examples below. The Deposit and Examine commands set a pointer to the byte following the last byte modified. You can refer to this pointer as ·"·" for the first location in a subsequent Examine command or as the deposit location in a subsequent Deposit command. 4-21 MCR COMMANDS data Data to be deposited into the specified location. If you specify a list of data, the data is deposited into consecutive locations beginning at the specified location. By default, data is assumed to be in hexadecimal format. The Deposit command converts the specified data to binary and writes it into the specified virtual memory location. Command Keywords: /ASCII Indicates that the format. data specified is in ASCII When ASCII is specified or is the default, hexadecimal is the default radix for numeric literals. The location specified is interpreted as a hexadecimal address. /BYTE Specifies that data is to be deposited one byte at a time. If the data specified is longer than a byte, an error message is displayed. /DECIMAL Indicates that the default radix for literals and displayed values is decimal. /HEXADECIMAL Indicates that the default radix for numeric literals and displayed values is hexadecimal. This is the initial default of the command; refer to notes below. /LONGWORD Specifies that data is to be deposited one longword at a time. This is the initial default of the command; refer to notes below. /OCTAL Indicates that the default radix for literals and display~d values is octal. /WORD Specifies that data is to be deposited one word at a time. Examples: > RUN RSXPROG Ay > EXAMINE/OCT/WORD 000004DA: > DEPOSIT • 000004DA: > CONTINUE 2332 007402 = 777 000777 4-22 numeric numeric MCR COMMANDS CTRL/Y interrupts execution of the RSX-llM image RSXPROG. The Examine command establishes the radix as octal and the length unit as a word and displays the content of location 4DA (hexadecimal). The Deposit command then deposits the octal value 777 in location 4DA. > .SETN BASE %X200 > RUN XYZ Ay > EXAMINE BASE:BASE+20 00000200: 00037C02 0003CFFO nD75oE20 2C72o5o2 o4oEo520 74097720 39392008 0000021C: OF13CBA1 0C07040A > DEPOSIT BASE+l6=0723ClDO > CONTINUE In the sequence above, the .SETN directive, typed interactively at the terminal, defines the symbol BASE as being equal to 200 (hexadecimal). Refer to Chapter 5 for a description of numeric literals under VAX/VMS. The Examine command displays the contents of locations 200 (hexadecimal) through /.20 (hexadecimal). The Deposit command deposits data in location 216 (hexadecimal). In the example above, data is deposited at octal, the data would (hexadecimal) plus 16 hexadecimal is the default radix; therefore, location 216 (hexadecimal). If the default were be deposited at the location derived from 200 (octal). Notes: • The initial default radix for the Deposit command is hexadecimal. The default applies to both the interpretation of numeric literals in the command line and to the data. If you use a radix keyword to modify the command, that radix becomes the default for subsequent Deposit and Examine commands. • The initial default length unit for the Deposit command is a longword. The Examine command displays data one longword at a time with blanks between longwords. If you use a /BYTE or /WORD keyword to modify the command, that unit becomes the default for subsequent Deposit and Examine commands. • RSX-llM images start at virtual address 0 under VAX/VMS; this is the same starting address that they have under RSX-llM. • RSX-llM does not support this command. • For convenience, the Deposit command can be abbreviated to the single character, D. 4-23 MCR COMMANDS DIRECTORY 4.13 DIRECTORY The Directory command provides a list of files or information about file or group of files. a The output of the Directory command depends on certain formatting keywords and their defaults. These keywords are: /COLUMNS, /DATE, /FULL, /OWNER, /PROTECTION, and /SIZE. However, Files-11 Structure Level 2 files usually are listed in alphabetical order, with the highest-numbered versions first. Files-11 Structure Level 1 files are listed randomly. The page width is adjusted automatically to the number of columns requested. In studying the keywords and the capabilities they offer, watch for keywords that work together as well as keywords that override other keywords. For example, if you want the full format, you cannot expect that much information in one column. Therefore, if you specify both /COLUMNS and /FULL, the number of columns you request is ignored. Format: DIRECTORY [keywords[, ••. ]] rfile-spec[, ••• 11 keywords /BEFORE[-time] /BRIEF /COLUMNS=n /CREATED /[NO]DATE[=option] /EXCLUDE=(file-spec[, ••• ]) /EXPIRED /FULL /[NO] HEADING /MODIFIED /OUTPUT[=file-spec] /[NO]OWNER /PRINTER /[NO]PROTECTION /SINCE [=time 1 /[NO]SIZE[=option] /TOTAL /[NO]TRAILING /VERSIONS=n file-spec[, ••• ] Specifies one or more files to be listed. The syntax of a file specification determines what file(s) will be listed, as follows: • If you do not enter a file specification, the Directory command lists all versions of the files in your current default directory. • If you specify only a device name, the Directory command uses your default directory specification. • Whenever the file specification does not include a file name and file type, all versions of all files in the specified directory are listed. 4-24 MCR COMMANDS • If a file specification contains a file name and/or file type and no version number, the Directory command lists all versions. • If a file specification contains only a file name, the Directory command assumes all file types and versions. If you specify more than one file, separate the file specifications with either commas (,) or plus signs (+). You can use wild card characters in the directory specification, file name, file type, or version number fields of a file specification to list all files that satisfy the components you specify. See the chapter on file specifications in the '{AX/VMS_~~!11~mand~nguag_~Q§_~_r-_'_§ __9_0de for a full description of wild card characters. Command Keywords: /BEFORE[=time] Specifies that only those files dated earlier than a particular time be printed. You can specify one of the following values: absolute-time An absolute date and time. Observe the syntax rules for date and time values specified in Section 2.7.~. TODAY The absolute date and time representing the current day, month, and year, at 00:00:00.0 o'clock. TOMORROW The absolute date and representing 24 hours 00:00:00.0 o'clock today. time after YES'I'ERDAY The absolute date and representing 24 hours 00:00:00.0 o'clock today. time before This keyword is normally used in conjunction with one of the following keywords: /CREATED, /EXPIRED, or /MODIFIED. If you omit the /BEFORE keyword, you obtain all the files created, regardless of date. However, if you specify /BEFORE without a date or time, the default provides the files created prior to today. /BRIEF (default) Includes only the file name, type, and version number of each file to be listed. The default ouput format is /BRIEF. However, the /BRIEF keyword is overridden, whether specified explicitly or by default, whenever any of the following formatting keywords are specified in the command: /SIZE, /DATE, /OWNER, /PROTECTION, or /FULL. The brief format lists the Files-11 Structure Level 2 files in alphabetical order from left to right on each line, in descending version number order. Files-11 Structure Level 1 files are listed randomly. 4-25 MCR COMMANDS /COLUMNS=n Lists the files using the specified number of columns on each line of the display. This Reyword is used in conjunction with the /BRIEF keyword (either explicitly or by default). By default, the number of columns in the brief format is four; however, you may request the brief format with as many columns as you desire. When other formatting keywords are specified in the command, they override the /COLUMNS keyword. /CREATED {default) Selects the files according to their date of creation. This keyword is relevant only when used with the /BEFORE or /SINCE keywords, and should not be used with the /EXPIRED or /MODIFIED keywords. By default, when files are selected according to a particular date and time, the creation date is always used. /DATE[=option] /NODATE {default) Includes the creation, expiration, or date last written for each file listed. If you omit this keyword, the default is /NODATE. However, if you specify /DATE without an option, the creation date is provided. You may specify one of the following options the /DATE keyword: with ALL Lists all three file dates in the order, left to right, CREATED, MODIFIED, EXPIRED. CREATED Lists the creation date file. EXPIRED Lists the expiration date with each file. MODIFIED Lists the last date written. the with file each was /EXCLUDE={file-spec[, ••• ]) Excludes the listed file specification(s) from the directory search. You may use wild card characters, in file specification(s) as described in the chapter on file specifications of the VAX/VMS Command Language User's Guide. At least one file. specTf:Tcation___ Ts--requirect for this keyword, but the file specification must not include a device or directory specification. Separate multiple file specifications by commas, and enclose the list in parentheses. /EXPIRED Selects files according to the planned expiration date for each file. This keyword is relevant only with the /BEFORE or /SINCE keywords, and should not be used with the /CREATED or /MODIFIED keywords. 4-2() MCR COMMANDS /FULL Lists the following items for each file: file name • file type • version • number ofnumber used • number of blocks blocks allocatea • date of creation • last modified • date of expiration • date owner's UIC • file file protection • file identification number (FID) • file organization • other attributes • record file attributes • record format • You can find descriptions of these items in the Introduction to VAX-11 Record Management Services. Ref er to Figure 4-1 at the end of this section for an example of this keyword used with the Directory command. The /FULL keyword listing format. /HEADING (default) /NOHEADING /MODIFIED overrides the default brief Controls whether heading lines consisting of a device description and directory specification are printed. The default output format provides this heading. Selects files according to the last date the file was modified. This keyword is relevant only with the /BEFORE or /SINCE keywords, and should not be used with the /CREATED or /EXPIRED keywords. /OUTPUT[=file-spec] Requests that the Directory command output be written to the file specified rather than to the current SYS$0UTPUT device. If you specify the /OUTPUT keyword without a file specification, the output is directed to SYS$0UTPUT. If you omit the file type in the file specification, the default file type is LIS. Wild card characters are not allowed in specification. /OWNER /NOOWNER (default) /PRIN'fER /PROTECTION /N 0 PR OT EC T ION (default) Controls whether the file's owner is default, the owner is not listed. the file listed. By Queues the command output for printinq under the name given by the /OUTPUT keyword. If you specify /PRINTER without the /OUTPUT keyword, the output is directed to a file named DIRECTORY.LIS, which is spooled for printing automatically and then deleted. Controls whether the file protection for each file is listed. The default is /NOPROTECTION, which does not list the file protection. 4-27 MCR COMMANDS /SINCE[=time] Specifies that only those specified time be printed. the following values: files dated after a You can specify one of absolute-time An absolute date and time. Observe the syntax rules for date and time values specified in Section 2.7.~. TODAY The absolute date and time representing the current day, month, and year, at 00:00:00.0 o'clock. TOMORROW The absolute date and representing 24 hours 00:00:00.0 o'clock today. time after YESTERDAY The absolute date and representing 24 hours 00:00:00.0 o'clock today. time before This keyword is normally used in conjunction with one of the followinq keywords: /CREATED, /EXPIRED, or /MODIFIED. If you omit the /SINCE keyword, you will obtain all the files created, regardless of date. However, if you specify /SINCE without a time or date, you will obtain all files created since today began. /SIZE[=option] /NOSIZE (default) /TOTAL Provides the file size in blocks used and/or allocated for each file listed, according to the option you specify. If you omit this keyword, the default is /NOSIZE. However if you specify only /SIZE without an option, the listing provides the file size in blocks used, by default. The options you can specify are: ALL Lists both the file size in used and allocated. blocks ALLOCATION Lists the allocated. in blocks USED Lists the file size in blocks used. file size Inhibits the listing of all individual file information and prints only the trailing lines as described under the /TRAILING keyword. By default, the output format is /BRIEF, which gives this total, but also lists all the file names, file types, and their version numbers. 4-28 MCR COMMANDS /TRAILING (default) /NOTRAILING Controls whether trailing lines that summarize the following information are output: • number of files listed • total number of blocks used per directory • total number of blocks allocated total number • blocks used of directories and total and/or allocated in all directories (only if more than one directory is listed) By default, the output format includes most of this summary information. The /SIZE and /FULL keywords determine more precisely what summary information is included. If you omit /SIZE or /FULL, only the number of files is printed and possibly the total number of directories, if applicable. If you specify /SIZE, the number of blocks is also printed, according to the size option selected (used and/or allocated). If you specify /FULL, the number of files and the number of blocks used and allocated are all given. /VERSION=n Causes the latest n versions of each of the files selected to be listed. If you omit the /VERSION keyword, by default the listing includes all versions of each file. Examples: >DIRECTORY The Directory command lists all versions of all files in the current default disk and directory in the brief format. The heading identifies the disk and directory, and the trailing line gives the total number of files. >DIRECTORY/VERSIONS=l/COLUMNS=l AVERAGE.* The Directory command lists only the highest versions of all files named' AVERAGE in the current default directory. The format is brief, but restricted to just one column. Heading and trailing lines are provided. >DIRECTORY BLOCK%%% The Directory command locates all versions and types of files in the default device and directory whose names begin with the letters BLOCK and end with any three additional characters. The output format is brief, in four columns, with heading and trailing lines. >DIRECTORY/TOTAL/SIZE=ALL The Directory command outputs only a header and a trailing line that identifies the total number of files and the blocks used and allocated for all versions of all files in the default disk and directory. >DIRECTORY/EXCLUDE=(AVER.DAT;*,AVER.EXE;*) ~-?O [* ••• ]AVER MCR COMMANDS The Directory command locates all versions and types of files named AVER in all directories and subdirectories on the default disk. From this list all versions of all files named AVER.DAT and AVER.EXE are excluded prior to listing and totalling. >DIRECTORY> /MODIFIED/SINCE=09-JUL-1979:01:30/SIZE=ALL/OWNER>=/PRdTECTION/OUTPUT=UPDATE/PRINTER [A*] The Directory command locates all files that have been modified since 1:30 AM on July 9, 1979 and that reside on the default disk in directories whose names begin with the letter A. It formats the output to include all versions, the size used and allocated, the date last modified, the owner, and the protection codes. The output is directed to a file named UPDATE.LIS that is spooled automatically and deleted when done. > DIRECTORY/FULL *.USG Directory _DBl: [SMITHJ~ CHANGES. USG; 8 f) e)File protection: File organization: File attributes: Record format: Record attributes: e 0 Size: 6/6 Created: 17-0CT-1979 14:52~ Owner: [360,03310 Revised: 17-0CT-1979 15:18 (1)4D} File ID: (12244,3,0)@) Expires: <None specified> Systern:RWED, Owner:RWED, Group:RWED, World:RE Sequential Allocation=6, Extend=O UFC, 2 byte header Carriage return Total of l file, 6/6 blocks.CD Figure 4-1 Sample of Output of Directory Command This command displays full directory information for the highest version of all files with a file type of USG in the default directory. The following notes describe the sample Directory command listed above in Figure 4-1. C) Disk and directory name f) File name, file type, and version number of each file 8 Fi 1 e id en t i f i cat ion number (FI D) i n the fo r ma t ; (file-number, file-sequence-number,relative-volume-number) G) Number of blocks occupied by the file 4D Number of blocks allocated for the file ~ Date and time the file was created or last modified f) User identification code of the file's owner in the format: [group,memberl ~ Protection code associated with the file, in the format: [system,owner,group,world] 4-30 MCR COMMANDS G) Summary of file irrformation, in the format: Total of x files, in-use/allocated blocks. ~ Date and time that this version of the file was last reviseo, and the revision number Notes: • If PIP format directories are desired you can use PIP of the Directory command. • RSX-llM does not support the Directory command. 4-31 instead MCR COMMANDS DMOUNT 4.14 DMOUNT The Dmount command releases a volume that was previously specified a Mount command. in Format: DMOUNT[keywords] device-name[:] keyword /[NO]UNLOAD /UNIT device-name[:] Specifies the name of the device to be dismounted. The device name can be a physical-device name or a logical name. If you specify a colon followinq the device the command interpreter strips the colon. name, Command Keyword: /UNIT Specifies, for disk volume sets, that only the volume on the specified device is dismounted. By default, the Dmount command dismounts all volumes in a volume set. /UNLOAD (default) /NO UNLOAD Indicates that the device is to be physically unloaded. /UNLOAD is equivalent to pressing the button on the drive to unload the volume. /UNLOAD is the default action; specify /NOUNLOAD if you want the unit to remain loaded. Example: > MOUNT/SHARE DBA3:PROJ123 DISK DMOUNT DISK The Mount command requests access to the volume labeled PROJ123 on DBA3 and places the logical name DISK in the current process's logical name table. Because the volume was requested using the /SHARE keyword,, the volume may or may not already he mounted by other users. The Dmount command releases access to the volume PROJ123 for the current process and removes the name DISK from the process logical name table. The actual dismountinq does not occur until all accessors have issued Dmount commands. 4-32 MCR COMMANDS Notes: • If the volume has been mounted /SHARE, it is not actually dismounted until all users who have mounted it have dismounted it. • Dismounting a volume causes the logical name assigned to the volume by the previous Mount command to be removed from the appropriate logical name table. The logical name is either the one specified in the Mount command or the default name of DISK$volume-label or TAPE$volume-label. • If a volume is mounted /SYSTEM or /GROUP, a Dmount command causes the volume to be dismounted even if others are currently using it. However, dismounting the volume also results in removing the name from the system or group logical name table, which requires privilege. • If the device has been allocated with an Allocate command, remains allocated after the voJ~me is dismounted. • If the volume has been mounted using the /NOSHARE keyword, the system automatically allocates the device at mount time and deallocates it when the volume is dismounted. • RSX-llM supports the Dmount command. 4-33 it MCR COMMANDS EXAMINE 4.15 EXAMINE The Examine command displays the contents of virtual memory at the terminal. It is used after an RSX-llM or native image has been interrupted by CTRL/Y. If you interrupt an image while it is executing, you can examine its locations; then you can resume image execution by issuing a Continue command. The information is displayed in the following format. location: content Information that asterisks (****). is inaccessible at user mode is displayed as When used with the Deposit commnnd, the Examine command can aid in the debugging of programs interactively. It is not necessary to link the image with a debugger to use these commands. Format: EXAMINE [keywords] location[:locationl keywords /ASCII /BYTE /DECIMAL /HEXADECIMAL /LONGWORD /OCTAL /WORD location Specifies the address or ranqe of addresses in virtual memory to be displayed. If you specify a range of addresses, you must sepnrate the two addresses with a colon (:). Locations can he specified using expressions that contain the arithmetic operators +, -, *, and /. A symbolic name also can be used to express an address. The value of a symbol used in an expression always is interpreted in the radix used to define it. Any numeric value useo in the expression is interpreted according to the current default radix of the command. Refer to the examples below. Addresses radix. always are displayed in hexadecimal The Examine and Deposit commands set a pointer to the last byte examined; you cnn refer to this pointer as "."when specifying the first location in a subsequent Examine command or as the deposit location in a subsequent Deposit command. 4-34 MCR COMMANDS Command Keywords: /ASCII Indicates that data at the specified location is to be displayed in ASCII representation. Binary values that do not have ASCII equivalents are displayed as periods (.). When ASCII hexadecimal literals. is is specified or is the default, the default radix for numeric /BYTE Indicates that data at the specified to be displayed one byte at a time. /DECIMAL Indicates that the data is to be displayed in decimal format and changes the default radix for numeric literals. /HEXADECIMAL Indicates that the data is to be displayed in hexadecimal format and changes the default radix for numeric literals. This is the initial default of the command; refer to the notes following the examples below. /LONGWORD Indicates that data at the specified location is to be displayed one longword at a time. This is the initial default of the command; refer to the notes following the examples below. /OCTAL Indicates that the data is octal format and changes numeric literals. /WORD Indicates that data at the specified to be displayed one word at a time. location is to be displayed in the default radix for location is Examples: > RUN RSXPROG . "y > EXAMINE/WORD/OCT 2~77 000005BF: > CONTINUE 007402 The Run command begins execution of the RSX-llM image RSXPROG. While the image is running, the CTRL/Y function interrupts it. The Examine command requests that the contents of the word addresses by virtual memory location 5BF (hexadecimal) be displayed in octal. After the display, the Continue command causes the image to resume execution. > RUN VAXPROG "'y > EXAMINE/LONG/ASC 1C00+50:1C00+7F 00001C50: FOOLISH CONSISTENCY IS THE HOBGOBLIN OF LITTLE M 00001C80: INDS > EXA 1C80:1C83 4-35 MCR COMMANDS While the native image VAXPROG is executing, it is interrupted by CTRL/C. The Examine command then requests that all the data in the virtual address range specified be displayed in ASCII format. Note that the addresses are expressed in hexadecimal and are interpreted as such. > RUN ABC "'y > .SETN BASE %X200 > EXAMINE BASE:BASE+20 00000200: 143F4DOO 1537FF3C 0000021C: 00032479 > CONTINUE "'y > EXAMINE/WORD/OCTAL BASE:BASE+20 00000200: 004672 467013 ••• > CON'f INUE In the sequence above, the .SETN directive, typed interactively at a terminal, defines the symbol BASE as being equal to 200 (hexadecimal). The first Examine command displays the contents of location 200 (hexadecimal) through 220 (hexadecimal). The contents of 32 locations are displayed. In the second Examine command, the content of lfJ locations are displayed. The Examine command uses the current radix (octal) as the radix for the numeric value (20) in the expression. Notes: • The initial default radix for the Examine command is hexadecimal. The default applies to both the interpretation of numeric literals in the command line and to the format of the data displayed. If you use a radix keyword to modify the command, that radix becomes the default for subsequent Examine and Deposit commands. • The initial default length unit for the Examine command is a longword. The Examine command displays data one longword at a time with blanks between longwords. If you use a /BYTE or /WORD keyword to morlify the command, that unit becomes the default for subsequent Examine or Deposit commands. • RSX-llM does not support the Examine command. • RSX-llM images start at virtual address 0 under VAX/VMS; this is the same starting address that they have under RSX-llM. • For convenience, the Examine command can be abbreviated single character, E. 4-3n to a MCR COMMANDS .Execute Procedure (@) 4.16 EXECUTE PROCEDURE (@) The Execute procedure (@) requests execution of an indirect command file or requests the command interpreter to read subsequent command input from a specified file or device. Format: @file-spec [keyword] [pl [p2 [ ••• p8]]l keyword /OUTPUT=file-spec /DELETE file-spec Specifies the command procedure' to be executed, or the device from which input for the preceding command is to be read. If you do not specify a command interpreter uses file type, the MCR the default file type CMD. pl 'p2, ••• p8 Specifies from one to eight optional parameters to pass to the indirect command file. The parameters assign numeric or character strinq values to the symbols, Pl, P2, and so on up to P8 in the order of entry. The symbols are local to the indirect command file. Unspecified parameters are set to null strings. Separate each parameter with one or more blanks. You can specify a numeric value for a parameter using any valid arithmetic expression. You also can specify a character string value using any alphanumeric or special characters, with the following restrictions: first parameter beqins with a slash • If(/),the you must enclose the parameter in quotation marks. • To pass a parameter blanks, place the marks. that contains embedded parameter in quotation pass a parameter that contains literal • To qu_ota ti on marks, enclose the entire strinq in quotation quotation example: marks and use marks within a double set of the string, for "NEVER SAY ""DIE""" 4-37 MCR COMMANDS The command interpreter strips the set of quotation marks that enclose the entire string and the outermost pair of double quotation marks within the string. This results in: NEVER SAY "DIE" Note that in each case ahove, the command interpreter will strip the set of quotation marks that enclose the entire string. Command Keyword: /OUTPUT=file-spec Requests that all output directed to the logical device SYS$0UTPUT be written to the file or device specified. System responses and error messages are written to the terminal as well as to the specified file. If you specify /OUTPUT, the keyword must follow the file specification of the indirect command file. /DELETE Requests that the indirect deleted after it is closed. command file be Examples: > @STDJOB.CMD PAYROL FICA This command requests execution of the indirect command file PAYROL.CMD and provides two parameters, PAYROL and FICA. The indirect command file contains the following commands. RUN 'Pl' PRINT 'Pl'.DAT RUN 'P2' PRINT 'P2'.DAT When the indirect command file is executed, the two parameters are substituted into the Run and Print commands. The result is that the indirect command file runs PAYROL.EXE and FICA.EXE and prints the files PAYROL.DAT and FICA.DAT. Notes: • You can cause symbol substitution by enclosing a symhol in single quotation marks. Refer to the VAX/VMS Command Language User's Guide for further information on-symb-ols _____ an-d subs tTEl.iFf on: • When an indirect command file terminates, any data files remain open are closed by the MCR command interpreter. 4-38 that MCR COMMANDS EXIT 4.17 EXIT The Exit command terminates the processing of the current indirect command file. If the indirect file was executing within another indirect command file, control returns to the outer file. The Exit command is used primarily to terminate execution of the current indirect file and also maintain the status as it was prior to execution of the Exit command. Format: EXIT [status-code] status-code Defines a value for the symbol $STATUS, which is used as a return code to be tested by the next higher command level. If you do not specify a status code, the current value of the symbol $STATUS is not changed. Control returns to the outer level with the status of the most recently executed command or program. The command interpreter uses numeric values returned by commands or programs to locate and display error messages. Each system message has a unique value associated with it. If you specify an even numeric value as a status code, either a warning or a severe error message will be displayed. If you specify an odd value for a status code, either an- information message or no message will be displayed. Example: >@LEVELl This command requests execution of the indirect command file LEVELl.CMD. It, in turn, contains a command requesting execution of the indirect command file LEVEL2.CMD. LEVEL2.CMD contains the following sequence, which causes a return to LEVELl.CMD. ON WARNING .GOTO ABEND RUN LAST EXIT .ABEND: EXIT 7 The LEVEL2 command file contains an ON command that causes a branch to label ABEND if any error occurs. An error results in an exit from LEVEL2 with $STATUS having a value of 7. If no error occurs, LEVEL2 exits with the status value supplied by LAST. 4-39 MCR COMMANDS When LEVELl regains control, it tests the value of $STATUS following command • using the • IF $STATUS EQ 7 EXIT. If $STATUS is equal to 7, that is, if an error occurred in the LEVEL2 command file, LEVELl exits; otherwise, execution of LEVEL2 commands continues. Notes: • RSX-llM does not support the Exit command. 4-40 MCR COMMANDS INITIALIZE 4 .18 INITIALIZE The Initialize command formats and writes a label on a mass storage volume. The default format for disk volumes created using the MCR command Initialize is Files-11 Structure Level 1. The Initialize command also can initialize Files-11 Structure Level 2 volumes. The default format for magnetic tape volumes is the ANSI standard for tape labels, Level III. You do not need any special privileges to initialize a blank disk or tape volume. If a volume has previously been written, however, your UIC must match the owner UIC on the volume, or you must have the user privilege to override volume protection~ In the case of a tape that has been written, you can initialize the volume if you are allowed write access to it. Format: INITIALIZE [keywords] device-name: keywords volume-label /ACCESSED=n (D) /BADBLOCKS=(list[, ••• ]) (D) /CLUSTER SIZE=n (D) /DATA CHECK[=(options, ••• )] /DENSYTY=n (T) /DIRECTORIES=n (D) /EXTENSION=n (D) /FILE PROTECTION=code (D) /GROUP (D) /HEADERS=n (D) /INDEX=position (D) /MAXIMUM FILES=n (D) /OVERRIDE=(options, ••• ) (T) /OWNER UIC=uic /PROTECTION=code /[NO]SHARE (D) /STRUCTURE=level (D) /SYSTEM (D) /USER NAME=string (D) /[NO]VERIFIED (D) /WINDOWS=n (D) D T (D) applicable to disk only. applicable to tape only. Keyword descriptions are below. categorized accordingly device-name: Specifies the name of the device on which the volume to be initialized is physically mounted. The device does not have to be allocated first; however, it is the recommended practice. volume-label Specifies the label to be written on the volume. For a disk volume, you can specify a maximum of 12 alphanumeric characters; for a tape volume, you can specify a maximum of 6 alphanumeric characters. 4-41 MCR COMMANDS Keywords Applicable to Disk and Tape: /OWNER_UIC=[g,m) Specifies the user identification code (UIC) to be assigned ownership of the volume and of system files on the volume. The group (g) and member (m) .fields of the UIC can have a value in the range 0 through 377 (octal). The brackets are required. If you do not specify /OWNER UIC, your current UIC is assigned ownership of-the volume. /PROTECTION=code Specifies the protection to be applied to the volume. The protection determines which users can read files, write files, create directories, and delete files on the volume. Specify the protection code according to the standard syntax rules described in Section 2.7.5. If you do not specify /PROTECTION, all categories of users are allowed all types of access. If you omit a category of user when specifying protection, that category is denied all accesss. The system applies only read and write access restrictions for magnetic tapes; create and delete are meaningless. In addition, both the system and the owner are given read and write access regardless of what you specify in the protection code. Keywords Applicable Only to Disk: /ACCESSED=n Specifies the number of directories to be maintained in system space for ready access. The maximum value of n is 255. Operator (OPER) privilege is requiren to use the /ACCESSED keyword. If you do not specify /ACCESSED, the Initialize command uses a value of 3 by default. /BADBLOCKS={list[, ••• J) · Specifies those areas on the volume that are faulty. The Initialize command marks the areas as allocated so that no data is written in them. You can specify one either or both of you specify more specifications with in parentheses. or more faulty areas using the formats shown below. If than one area, separate a comma and enclose the list Specifies a logical block number on the disk volume and, optionally, a count of logical blocks beginning with the logical block specified, to be marked allocated. lbn[:countl 4-42 MCR COMMANDS sector.track.cyl[:count] Specifies a specific sector, track, and cylinder on the disk volume and, optionally, a count of blocks beginning with the first block specified to be marked allocated. Use of the /BADBLOCKS keyword is device dependent. It is not required for RKOn and RM03 disks; nor is it required for disks that have been scanned for bad blocks using the BAD BLOCK LOCATOR Utility (BAD), which is described in the VAX-11 Utilities Reference Manual. /CLUSTER_SIZE=n Defines the minimum allocation unit in blocks. The maximum size that you can specify for a volume is 1/100 the size of the volume. The minimum size that you can specify is calculated by using the formula: (disk size)/(255 * 409n) The default cluster size for a Files-11 Structure Level 2 disk depends on the disk capacity. For disks that are 50,000 blocks or larger, the default cluster size is 3. Disks that are smaller than 50,000 blocks have a default value of 1. Files-11 Structure Level 1 disks always cluster size value of 1. have a /DATA CHECK[=(options, ••• )] /NODATA CHECK Defines a default for data check operations (default) following all read and/or write operations on the volume. You can specify either or hoth of the following options: READ Performs data checks after all read operations WRITE Performs data checks after all write operations If you specify /DATA CHECK without specifying an option, the system- assumes /DATA CHECK=WRITE. By default, the system performs no data checking. You can override the checking you specify at initialization when you issue a Mount command for the volume. You cannot specify level 1 volumes. /DIRECTORIES=n /DATA_CHECK for structure Specifies the number of entries to preallocate for user directories. The maximum allowable value of n is lnOOO. If you do not specify /DIRECTORIES, the Initialize command uses a value of ln by default. 4-43 MCR COMMANDS /EXTENSION=n Specifies the number of blocks to use as a default extension size for all files on the volume. The default extension size is used when a file being updated increases to a size greater than its initial allocation. The maximum allowable value of n is n5535. If you do not specify a default extension the Initialize command uses a value of 5. size, /FILE PROTECTION=code Defines the default file protection to be applied to all files on the volume. Specify the code according to the standard syntax rules for protectio~, as described in Section 2.7.5. This default protection is not used when the volume is being used on a VAX/VMS system. It is used on RSX-llM systems. VAX/VMS uses your user default file protection specified in your user authorization file. /GROUP Defines a disk volume as a qroup volume. The owner UIC of the volume defaults to the group number of the user issuing the command and a member number of o. The /GROUP keyword establishes the volume protection as RWED for system, owner, and qroup. /HEADERS=n Specifies the number of file headers to allocated initially for the index file. default, the Initialize command allocates file headers. be By lh The minimum allowable value of n is l~. The /MAXIMUM_FILES keyword specifies the maximum. /INDEX=position Requests that the index file for the volume's rlirectory structure he placed in a specific location on the volume. You can specify one of the followinq options: BEGINNING Places the index file at the heginninq of the volume. MIDDLE Places the index file in the middle of the volume. END Places the index file at the end of the volume. BLOCK:n Places the index file at the heqinninq of the logical hlock specified. By default, the Initialize command places index file in the middle of the volume. 4-44 the MCR COMMANDS /MAXIMUM_FILES=n Restricts the maximum number of files that the volume can contain which can override the default value. The default is calculated from the volume size in blocks as follows: (volume-size)/((cluster factor +l)* 2) The maximum size that you can specify for any volume is determined by the following formula: (volume-size)/(cluster factor +l) The minimum value that you can specify is 0. However, note that once a value for the maximum number of files is specified, the only way to reset it is to reinitialize the volume. /SHARE (default) /NO SHARE Controls whether a disk volume is shareable. The protection code for the volume defaults to all types of access for all categories of users. If you specify /NOSHARE the protection code defaults to no access for group or world. /STRUCTURE=level Indicates the structure level of the volume. If you do not specify /STRUCTURE=2, the Initialize command initializes the volume as a Files-11 Structure Level 1 volume, by default. If you specify /STRUCTURE=!, you cannot /CLUSTER_SIZE or DATA_CHECK. /SYSTEM specify Defines a disk volume as a system volume. The owner UIC of the volume defaults to [1,1] and default protection allows all types of access to the volume for all users. No user privilege is required to use the /SYSTEM keyword; however, only users with system UICs can create directories on system volumes. /USER_NAME=string Specifies characters specified, name under a user name from one through 12 to be recorded on the volume. If not the Initialize command uses the user which you logged in. /VERIFIED(default) /NOVERIFIED Indicates whether the disk has bad block data on it. The Initialize command assumes that disks contain bad block data and uses the data to mark the bad blocks as allocated. Use /NOVERIFIED to request Initialize to ignore bad block data on the disk. /WINDOWS=n Specifies the number of mapping pointers to he allocated for the file windows. When a file is opened, the file system uses the mapping pointers to access data in the file. The default number of pointers is 7; this also is the minimum allowable value of n. The maximum value of n is 80. 4-45 MCR COMM~NDS Keywords Applicable Only to Tape·: /DENSITY=n Specifies the density in hits per inch (bpi) at which the tape is to be written. You can specify a density of 800, 1600, or 6250. If you do not specify /DENSITY for a hlank tape, the system uses a default density of 1600 bpi. If you do not specify a density for a previously written tape, the system uses the density at which the tape was last written. /OVERRIDE=(options, ••• ) Requests that the accessibility or the expiration date specified for the tape be overridden. One of the following keywords must be specified as an option: ACCESSIBILITY Indicates that the accessibility specified in nonblank header 1 and volume l labels of the tape is to be overridden. VAX/VMS never writes in these fields. F.XPIRATION Requests the Initialize command to ignore the expiration date on a tape volume; the date is indicated by the expiration date of the first file on the volume. You must be the owner of a tape volume or have the user privilege to override volume protection to initialize a tape that has not reached its expiration date or has a nonblank accessibility field. If you specify both keywords, separate each by a comma and enclose them in parentheses. Examples: > INITIALIZE/STRUCTURE=l DBB2:MYVOL This command initializes the disk volume on device DBB2 as a structure level l volume. > @CMDFIL.CMD IN! DB2:MYVOL In the sequence above, the indirect command file CMDFIL.CMD contains a command to initialize a volume. This command is in a format compatible with the RSX-llM Initvolume command. When the command is executed, VAX/VMS maps the device name from its RSX-llM format to the VAX/VMS physical-device name format, in this case DBA2. 4-46 MCR COMMANDS Notes: • Many of the Initialize command keywords are used to maximize input/output efficiency. For information on these parameters, see the VAX/VM~--~ys :t:_~m Mana9~-~-·-~-~u i_de_. • The compatible form of the Initialize VAX/VMS and RSX-llM systems is: INITIALIZE device-name:volume-label 4-47 command between the MCR COMMANDS LIBRARY 4.19 LIBRARY The Library command replaces a module in an object, macro, help, or text library; creates or modifies libraries; inserts, deletes, extracts, or lists the modules or symbols within a library. Libraries are files that contain one or more directories pointing to the locations of indiviaual modules. The Library command creates libraries and modifies their contents. You use VAX/VMS MCR or DCL commands to manipulate a library in its entirety. For example, the Delete, Copy and Rename commands delete, make copies of, or rename libraries, respectively. The Library command distinguishes four types of libraries: • Object module libraries contain frequently callerl routines. You can use object module libraries as input to the linker. The linker searches the object module library whenever it encounters a reference it cannot resolve from the specified input files. • Macro libraries contain macro definitions. You can use macro libraries as input to the assembler. The assembler searches the macro library whenever it encounters a macro that is not defined in the input file. • Help libraries contain help text. You can retrieve help messages by callinq the appropriate library procedures from your program. See the VAX-11 Utilities Reference Manual for information about calling library p-rocedur_e_s~---- • Text libraries contain any sequential record file that you want to retrieve as data for your program. You can retrieve text from text libraries by calling the appropriate library procedures from your program. See the VAX-11 Utilities Reference Manual for information about cafITnC!~-library procedures-. All libraries contain a directory called a module name table (MNT) that names the modules in the library. Object module lihraries also contain a global symbol table (GST) that is a list of the qlobal symbols defined in each of the modules in the library. When the Library command adds a module to a library, it catalogs the module hy its module name, rather than the input file specification. The only exception to this procedure occurs with text libraries, where the name of the input file containing the text automatically becomes the module name. When using the Library command, you can specify keywords that request more than one function in a single command, with some restrictions. Generally, you cannot specify multiple keywords that request incompatible functions. The keywords that perform library functions, related keywords, and keyword incompatibilities are summarized in Table 4-1. 4-48 MCR COMMANDS Table 4-1 Library Command Keywords Keyword Related Keywords Incompatible Keywords /COMPRESS /OUTPUT /CREATE, /EXTRACT /CREATE 1 /SQUEEzE2 , /GLOBALS 3 /SELECTIVE SEARCH 3 /COMPRESS, /EXTRACT /CROSS_REFERENCE /ONLY /EXTRACT - /EXTRACT /DELETE /EXTRACT /OUTPUT /COMPRESS, /CREATE, /DELETE /INSERT, /LIST, /REMOVE, /REPLACE /INSERT /SQUEEZE2 , /GLOBALS3 /SELECTIVE_SEARCH3 /EXTRACT /LIST /FULL, /NAMES3 /EXTRACT /MODULE4 /TEXT , /ONLY /EXTRACT, /DELETE, /REMOVE /REMOVE 3 /REPLACE /EXTRACT /SQUEEZE2 , /GLOBALS3 /SELECTIVE SEARCH 3 /EXTRACT ' - - - - - - - - - - - - - - ---------------------.. ······- ··- 1. The /CREATE, /INSERT, and /REPLACE keywords are not incompatible; however, if you specify more than one, then /CREATE takes precedence over /INSERT, and INSERT tRkes precedence over /REPLACE. The related keywords for /CREATF. are applicable only if you enter one or more input files. 2. Indicates a keyword that applies only to macro libraries 3. Indicates a keyword that applies only to object libraries 4. Indicates a keyword that applies only to text libraries For more information on VAX/VMS libraries, see Reference Manual. the VAX-11 Utilities ·---···----------~- Format: LIBRARY[keywords][output-file-spec]=lib-file-spec [,input-file-spec, ••• ] keywords /COMPRESS[= (option [, ••• ])] /CREATE[=(option[, ••• 1)] /CROSS REFERENCF.[=(option[, ••• ])l /DELE'fE= (module [, .•• ]) /EXTRACT=(module[, ••• ]) /FULL /[NO]GLOBALS /HELP /INSERT /[NO]LOG /MACRO /OBJECT 4-49 MCR COMMANDS /[NO]NAMES /ONLY=(module[, ••• ) /REMOVE=(symbol[, ••• ]) /REPLACE /SELECTIVE SEARCH /[NO]SQUEEZE /TEXT /WIDTH=n /MODULE=module-name output-file-spec Specifies the name of the output file when the /EXTRACT or /COMPRESS keywords are specifien. No wild card characters are permitted in the file specification. lib-file-spec Specifies the name of create or modify. the Wild card characters are library file specification. library not you want to allowed in the If the file specification does not include a file type, the Library command assumes a default type of OLB, which indicates an object library. NOTE Any attempt to modify a library that was created by the VAX/VMS Version 1.0 Librarian, results in an automatic compression into the new format introduced with Version 2.0. The compression occurs prior to the requested modification (See the /COMPRESS keyword at the beginning of the command keyword section.) Furthermore, libraries created prior to Version 2.0 that have not been modified or compressed appear in a different format when listing files are requested. input-file-spec[, ••• ] Specifies the names of one contain modules you want specified library. or to more files that insert into the Whenever you include an input file specification, the Library command either replaces or inserts the modules contained in the input file(s) into the specified library. The input-file-spec parameter is required when you specify either /REPLACE (the LIBRARY command's default operation) or /INSERT, which is an optional keyword. When you use the /CREATE keyword to create a new library, the input-file-spec parameter is optional. If you include an input file specification with /CREATE, the Library command first creates a new library, and then inserts the contents of the input file(s) into the library. 4-50 MCR COMMANDS Note that the /EXTRACT keyword does not accept input file specification. an If you specify more than one input file, separate each file specification with a comma (,). The Library command will then insert the contents of each file into the specified library. If any file specification does not include a file type, the Library command assumes a default file type of OBJ, designating an object library. You can control the default file type by specifying the appropriate keyword as indicated below: Keyword Default File Type /HELP /MACRO /OBJECT /TEXT HLP MAR OBJ TXT Note also that the file type you specify on the lib-file-spec parameter can affect the default file type of the input file specification, provided the /CREATE keyword is not beinq issued. For example, if the library file type is HLB, MLB, OLB, or TLB, the input file type default is HLP, MAR, OBJ, or TXT, respectively. Command Keywords: /COMPRESS[=(option[, ••• ])] Requests the Library command to perform either the following functions: of • Recover unused space in the library resulting from module deletion, or: • Reformat a library create<l by the VAX/VMS Version 1.0 Librarian into a Version 2.0 format. When you specify /COMPRESS, the Library command by default creates a new library with a version number one higher than the existing library. Provide an output file specification to specify an alternate name for the compressed library. Specify one or more of the following options to increase or decrease the size of the library, overriding the values specified when the library was created: BLOCKS:n Specify the number of blocks to be allocated library GLOBALS:n Specify the maximum number of global symbols the library can contain (for object module libraries only) 4-51 512-byte for the MCR COMMANDS KEYSIZE:n Change the maximum length module name or qlobal symbol MODULES:n Specify modules contain of a the maximum number of or macros the library can If you specify more than one option, separate each with a comma and enclose the list in parentheses. /CREATE[=(option[, ••• J) J Requests the Library command to create a new library. When you specify /CREATE, you can optionally specify a file or a list of files that contains modules to be placed in the library. By default, the Library command creates an object module library; specify /MACRO, /HELP, or /TEXT to change the default library type. Specify one or more of the following options to control the size of the library, overriding the system defaults: BLOCKS:n Specifies the number of 512-byte blocks to be allocated for the library. By default, the Library command allocates 100 blocks for a new library. The value n is interpreted as a decimal number. GLOBALS:n Specifies the maximum number of qlobal symbols the library can contain initially. By default, the Library command sets a maximum of 128 global symbols for an object module library. The value n is interpreted as a decimal number. (Macro, help, and text libraries do not have a global symbol directory; therefore, the maximum for these libraries defaults to 0.) KEYSIZE:n Defines the maximum name lenqth of modules and global symbols. By default the Library command limits the names of object, macro, and text modules and global symbols to 31 characters. The limit for help modules is 15 characters. The value n is interpreted as a decimal number. When you specify a keysize value, remember that VAX-11 MACRO and the linker will not accept module names or global symbol names in excess of 31 characters. 4-52 MCR COMMANDS Specifies the maximum number of modules the library can contain. By default, the Library command sets an initial maximum of 512 modules for an object module library and 25n modules for all other libraries. The value n is interpreted as a decimal number. MODULES:n An index in a library can grow past its initial allocation. However, for optimum performance, it is best to allocate the maximum number of modules you expect to use. If you specify more than one option, separate each with a comma and enclose the list in parentheses. /CROSS_REFERENCE[=(option[, ••• ])] Requests a cross reference listing library. of an object If you omit this keyword, cross reference listings are not provided. However, if you specify /CROSS REFERENCE without specifying an option, you will obtain cross reference listings by default that contain only references to names and values of symbols. You may specify options: one or more of the following ALL Specifies that all types references are desired MODULE Specifies a cross reference of both the global symbol references in the module and the qlohal symhol definitions NONE Specifies that no cross listing is desired SYMBOL Provides a symbol name cross reference by VALUE Provides a cross symbols by value reference of of cross reference If you specify more than one option, separate each with a comma and enclose the list in parentheses. /DELETE=(module[, ••• ]) Requests the Library command to delete one or more modules from a library. You must specify the names of one or more modules to be deleted from the library. If you specify more than one module, separate each with a comma and enclose the list in parentheses. Wild card characters are allowed in the module specification. See the chapter on file specifications in the VAX/VMS Command La!:!.9_Ui'l~ User's Guide for more-ri1formatfonon-wiTd cRrd ch a ra ct er-S-:-- 4-53 MCR COMMANDS If you specify the /LOG keyword in conjuction with /DELETE, the Library command issues the message: %LIBRAR-S-DELETED, MODULE module-name DELETED FROM library-name The Library command from a library. physically removes modules /EXTRACT=(module[, ••• ]) Copies one or more modules from an existing library into a new file. If you specify more than one module, separate each module name with a comma and enclose the list in parentheses. Wild card characters are allowed in the module specification. See the chapter on file specifications in the VAX/VMS Command Languag~ User's Guide for more information on wild card characters If you specify an output file specification in conjunction with /EXTRACT, the Library command writes the output into the specified output file. If you specify /EXTRACT and do not specify an output file specification, the Library command writes the output into a file that has the same file name as the library and a file type of OBJ, MAR, HLP, or TXT depending on the type of library. /FULL /GLOBALS (default) /NOGLOBALS Requests a full description of each module in module name table. the Control, for object module libraries, whether the names of olobal symbols in modules being inserted in the library are included in the global symbol table. By default, the Library command places all global symbol names in the global symbol table. Use /NOGLOBALS when you do not want global symbol names in the global symbol table. /HELP Indicates that the library is a help library. When you specify the /HELP keyword, the library file type defaults to HLB and the input file type defaults to HLP. For information on how to create help files, the VAX- 1 Utilities Reference Manual. - see ~ /INSERT Requests the Library command to add the contents of one or more files to an existing library. If an object module file specified as input consists of concatenated object modules, the Library command creates a separate entry for each object module in the file; each module name table entry reflects an individual module name. If a macro or help file specified as input contains more than one definition, the Library command creates a separate entry for each one, naming the module name table entries according to the names specified on the .MACRO directives or in the HELP format. 4-54 MCR COMMANDS When the Library command inserts modules into an existing library, it checks the module name table before insertinq each module. If a module name or global symbol name already exists in the library, the command issues an error message and does not add the module to the library. To insert or replace a module in a library regardless of whether there is a current entry with the same name, use the /REPLACE keyword. /LOG /NOLOG (default) /MACRO Control whether the Library command verifies each library operation. If you specify /LOG, the Library command displays the module name, followed by the library operation performed, followed by the library file specification. Indicates that the library is a macro library. When you specify /MACRO, the library file type defaults to MLB and the input file type defaults to MAR. /NAMES /NONAMES (default) Control, when a listing file is specified for ~ library, whether the Library command lists the names of all global symbols in the global symbol table as well as the module names in the module name table. The default is /NONAMES, which does not list the global symbol names. If you specify /NAMES, each module entry name is displayed in the format: Module module-name global-symbol global-symbol global-symbol global-symbol If the library is a macro, help, or text library and you specify /NAMF.S, no symbol names are displayed. /OBJECT Indicates that the library is an object module library. The Library command assumes a library file type of OLB and an input file type of OBJ. /ONLY=(module[, ••• ]) Specifies the individual modules on which the Library command may operate. When you use the /ONLY keyword, the Library command lists or cross references only those modules specified. If you specify more than one module, separate each module name with a comma and enclose the list in parentheses. Wild card characters are allowed in the module name specification(s). See the chapter on file specifications in the VAX/VMS Command Lan~ag_e User Is Guide for mo re ---rrlf orma·t i-on on wi l.d ca.rd cha racterS:-- 4-55 MCR COMMANDS REM 0 VE= ( s y mb o 1 ] [ , • • • ] ) Requests the Library command to delete global symbol entries from the qlobal symbol table in an object library. If you specify more· than one symbol, separate each ~ith a comma and en~lose the list in parentheses. If you want to verify the names of the deleted global symbols, you must also specify the /LOG keyword. Wild card characters are allowed in the symbol specifications. See the chapter on file specifications in the VAX/"\{~~ Command Lanquage User's Guide for mo re info rmat on on wllcr·-ca rd ch a r ac fer s • /REPLACE (default) Requests the Library command to replace one or more existing library modules with the modules specified in the input file. The Library command first deletes any existing library modules with the same name as the modules in the input file. Then, the new version of the module is inserted in the library. If any modules contained in the input file do not have a corresponding module in the library, the Library command inserts the new modules in the library. This is the Library command's default operation. If you specify an input file parameter, the library command either replaces or inserts the contents of the input file into the library. If you use the /LOG keyword with the /REPLACE keyword, the Library command displays, in the followinq form, the names of each module that it replaces or inserts. %LIBRAR-S-REPLACED, MODULE module-name REPLACED IN library-file-spec %LIBRAR-S-INSERTED, MODULE module-name INSERTED IN library-file-spec /SELECTIVE SEARCH /SQUEEZE (default) /NOSQUEEZE Defines the input files being inserted into a library as candidates for selective searches by the linker. If you specify /SELECTIVE SEARCH, the linker selectively searches the mooules when the library is specified as a linker input file; the linker only includes the global symbol(s) in the module(s) referenced hy other modules in the symbol table of the output image file. Control whether the Library command compresses individual macros before adding them to a macro library. When you specify /SQUEEZE, which is the default, trailing blanks, trailing tabs, an~ comments are deleted from each macro before insertion in the library. Use /SQUEEZE in conjunction with the /CREATE, /INSERT, and /REPLACE keywords to conserve space in a macro library. If you want to retain the full macro, specify /NOSQUEEZE. 4-56 MCR COMMANDS /TEXT Indicates that the library is a text library. When you use the /TEXT keyword, the library file type defaults to TLB and the input file type defaults to TXT. For more information on text 1 i bra r i es, see the VAX~_~}: ___ J]_'t_! 1 i~t-~-~-~~~!_e._r_!:_~<?.-~ Manual. /WIDTH=n Controls the screen display width (in characters) when listing global symbol names. Specify the /WIDTH keyword with the /NAMES keyword to limit the line length of the /NAMES display. The default display width is the width of listing device. The maximum width is 132. the File Keywords: /MODULE=module-names Specifies the module name of a text module. Unlike help, object, and macro libraries, text libraries use the file name from the input-file-spec parameter as the module name. If you want the module to have a different name from the input file name, use the /MODULE keyword to identify the added module. You can also use the /MODULE keyword text module interactively. to enter a If you specify SYS$INPUT as the input file specification and also issue the /MODULE keyword, the Library command includes the text you enter from the terminal in the specified library module. (To terminate input from the terminal, enter a CTRL/Z.) Examples >LIBRARY/CREATE = TESTLIB, ERRMSG,STARTUP The Library command creates an object module library named TESTLIB.OLB and places the modules ERRMSG.OBJ and STARTUP.OBJ in the library. >LIBRARY/INSERT = TESTLIB, SCANLINE >LINK TERMTEST TESTLIB/LIBRARY The Library command adds the module SCANLINE.OBJ to the library TESTLIB.OLB. The library is specified as input to the linker by using the /Library keyword on the Link command. If the module TERMTEST.OBJ refers to any routines or global symbols not defined in TERTEST, the linker will search the global symbol table of library TESTLIB.OLB to resolve the symbols. >LIBRARY/EXTRACT=(ALLOCATE,APPEND) MYHELP SYS$HELP:HELPLIB.HLB The Library command specifies that the modules ALLOCATE and APPEND be extracted from the help library HELPLIB.HLB and output to the file MYHELP.HLP. >LIBRARY/CROSS REFERENCE=all SYSSOUTPUT 4-57 LIBRAR MCR COMMANDS The Library command requests a cross reference listing of the object library LIBRAR.OLB. The cross reference listing is output on the terminal. The listing includes cross references by symbol, by value, and by module. >LIBRARY/REMOVE=(LIB_EXTRCT MODS,LIB INPUT MAC)/LOG = LIBRAR The Library command requests the removal of the global symbols LIB EXTRCT MODS and LIB INPUT MAC from the object library LIBRAR.OLB. The-/LOG keyword requests that-the removal of the symbols be confirmed by messages. >LIBRARY/MACRO/CREATE=(BLOCKS:40,MODULES:l00) >MACRO MYMAC/LIBRARY,CYGNUS/OBJECT MYMAC, TEMP The Library comm~nd creates a macro library named MYMAC.MLB from the macros in the file TEMP.MAR. The new library has room for 100 modules in a 40-block file. If the input file contains multiple macros, each macro is entered in the new library. The Macro command assembles the source file CYGNUS.MAR; the /LIBRARY keyword specifies the library MYMAC.MLB as an input file. If the source file CYGNUS contains any macro calls not defined within the file, the assembler searches the library. >LIBRARY/INSERT/TEXT = TSTRING, SYS$INPUT/MODULE=TEXT1 The Library command inserts a module named TEXT! into the text library TSTRING.TLB. The input is taken from SYS$INPUT. Note: • RSX-llM does not support the Library command. 4-58 MCR COMMANDS LINK 4.20 LINK The Link command invokes the VAX-11 Linker to link one or more object modules into a program image and defines the execution characteristics of the image. Format: LINK [keywords] [exe-fi le-spec [keywords]] [,map-file-spec [keywords]] [, stb-fi le-spec] input-file-spec [keywordsl, ••• keywords /BRIEF /[NO]CONTIGUOUS /[NO]CROSS REFERENCE /[NO]DEBUGT=file-spec] /FULL /HEADER /INCLUDE=module-name[, ••• ] /LIBRARY /OPTIONS /PO IMAGE /PROTECT /SELECTIVE SEARCH /[NO]SHAREABLE[=file-spec] /[NO] SYS LIB /[NO]SYSSHR /SYSTEM[=base-address] /[NO]TRACEBACK /[NO]USERLIBRARY[=(table[, ••• ])1 exe-file-spec Provides the file specification for the output image file. If you do not provide a file specification, the Link command does not produce an image file. If you omit the file type, the Link command uses EXE as the default file type. map-file-spec Provides the file specification for the memory allocation map. The file specification can be followed by any of the keywords, /BRIEF, /FULL, or /CROSS REFERENCE to control the contents of the map. If you do not specify any of these keywords, the map contains the following: • All of the information included in the brief listing • A list of user-defined program sections • A list of user-defined global symbols ordered by name. If you do not provide a file specification, the Link command does not produce a memory allocation file. If you omit the file type, the Link command uses MAP as the default file type. You must use a comma to separate the exe-file-spec parameter from the map-file-spec parameter, if present. 4-59 MCR COMMANDS stb-file-spec Provides the file specification for a symbol table file containing symbol definitions for all symbols in the image. The symbol table file is in object module format. It can be used in subsequent linking operations to provide symbol definitions to other images. If you omit the symbol table file specification, the Link command does not produce a symbol table file. If you omit the file type, the Link command uses the file type STB by default. You must use a comma to separate the map-file-spec parameter from the stb-file-spec parameter, if present. If you want a symbol table file, but no map file, separate the exe-file-spec and stb-file-spec parameters with two commas: LINK A.EXE,,A.STB=A.OBJ input-file-spec The input Specifies one or more input files. files can be object modules to be linked, libraries to be searched for external references, libraries containing modules that are to be options unconditionally included, or an description file. All input to the linker must be native VAX-11 code. If you specify multiple input files, separate the file specifications with a comma (,) or plus sign (+). In either case, the linker creates a sinqle image file. If you do not specify a file type in an input file specification, the linker supplies default file types based on the nature of the file. All object modules are assumed to have a file type of OBJ. Command Keywords: /BRIEF Requests the linker to produce a brief (memory allocation) file. The /BRIEF keyword is valid only if a map file specification also is specified. A brief map file contains the following information: map the image summary of all object included in the image modules summary characteristics • A • A • A summary of statistics. of link-time performance You cannot specify /CROSS_REFERENCE. /BRIEF and Specify /FULL to obtain a file. complete map 4-fiO MCR COMMANDS the output image file The default is /CONTIGUOUS /[NO]CONTIGUOUS (default) Control whether is contiguous. /NOCONTIGUOUS. /CROSS REFERENCE /NOCROSS REFERENCE (def a ult) Control whether the memory allocation listing contains a global symbol cross reference. A symbol cross reference lists each global symbol defined in the image, its value, and all modules in the image that refer to it. You cannot specify /CROSS REFERENCE /BRIEF. /DEBUG[=file-spec] /NODEBUG (default) and Control whether the image contains the VAX-11 Symbolic Debugger. If the object modules contain symbol tahle or traceback information for the debugger, you can specify /DEBUG to include the information in the image as well. If the object module does not contain symbol table or traceback information, and you specify /DEBUG, you must use absolute hexadecimal addresses in all debugging commands. The /DEBUG keyword optionally accepts the name of an alternate, user-specified debugger. If you specify a file specification and it does not contain a file type, the linker assumes the default file type of OBJ. If you specify /DEBUG without a file specification, the default VAX-11 Symbolic Debugger is linked with the image. For information on using the debugger, see the VAX-11 Symbolic Debugger Reference M~nu~!. /FULL Requests the linker to produce a full map (memory allocation) listing. A full listing contains the followinq information: • All of the information included in the brief listing • A complete description of image sections created • Detailed descriptions of each program section in the image file • A list of global symbols ordered by name • A list of global symbols value 4-61 ordere~ by MCR COMMANDS /PO IMAGE Directs the linker to create an image that is stored only in PO address space. The linker places the stack and RMS buffers that usually go in Pl address space in PO address space. The /POIMAGE keyword is used to create executable images that modify Pl address space. See the VAX-11/780 Architecture Handbook for a descripdon of PO---a-nd .. PI address space. /PROTECT When used in conjunction with the /SHAREABLE keyword, the /PROTECT keyword directs the linker to create a protected shareable image. A protected shareable image can execute privileged change mode instructions even when it is linked into a nonprivileged executable image. /SHAREABLE /NOSHAREABLE (default) Control whether the linker produces a shareable image file rather than an executable image. Shareable images also have a default file type of EXE. The default is /NOSHAREABLE, which means the linker produces an executable file rather than a shareable file, unless the /SHAREABLE keyword is explicitly spec if i ed. /SYSLIB (default) /NOSYSLIB Control whether the default shareable image and the system library will be searched for unresolved references. If the linker cannot resolve references with the input file(s), then hy default, the linker searches both the default system shareable image, SYS$LIBRARY:VMSRTL.EXE and then the default system library SYS$LIBRARY:STARLET.OLB. If you specify /NOSYSLIB, neither VMSRLT.EXE nor STARLET.OLB is searched. /SYSSHR (default) /NOSYSSHR Control whether the linker searches the default system shareable image when it cannot resolve references in the input file(s) specified. By default, the linker searches the shareable imaqe SYS$LIBRARY:VMSRTL.EXE and then the default system library SYSSLIBRARY:STARLET.OLB when it cannot resolve references usinq the input file(s) specified. Use the /NOSYSSHR keyword to request that only the default system library be searched. /SYSTEM[=base-address] Requests the linker to produce a system image and, optionally, defines a hase address for the image. A system image cannot be run using the RUN command; it must be bootstrapped or otherwise loaded into memory. 4-02 MCR COMMANDS The base address specifies the virtual memory location at which the image is to be loaded. The address can be expressed in decimal, hexadecimal, or octal, using the radix operators %D, %X, or %0, respectively. If you do not specify a base address, the linker uses the default address of %X800000~0. If you specify specify /SHAREA~LE /SYSTEM, you or /DEBUG. cannot System images are intended for special purposes, such as stand-alone operating systems or diagnostics. When the linker creates a system image, it orders the program sections alphanumerically and ignores all program section attributes. /TRACEBACK (default) /NOTRACEBACK Control whether the linker incluaes traceback information in the image file. By default, the linker includes traceback information so that the system can trace the call stack when an error occurs. If you specify /NOTRACEBACK, no traceback reporting is performed when an error occurs. If you specify also assumed. /USERLIBRARY[=(table[, ••• ])] /NOUSERLIBRARY /DEBUG, /TRACEBACK is Control whether the linker searches any user-defined default libraries after it has searched any specified user libraries. When you specify the /USERLIBRARY keyword, the linker searches the process, group and system logical name tables to find the file specifications of the user-defined libraries. (The VAX-11 Linker Reference Manual explains user-defined default libraries.) You can specify the following tahles for the linker to search: ALL The linker searches the process, group, and system logical name tables for user-defined library definitions. GROUP The linker searches the group logical name table for user-defined library definitions. NONE The linker does not search any logical name table; this specification is equivalent to /NOUSERLIBRARY. 4-63 MCR COMMANDS PROCESS The linker searches the process logical name table for user-defined library definitions. SYSTEM The linker searches the system logical name table for user-defined library definitions. If you specify neither /NOUSERLIBRARY nor /USERLIBRARY=(table), the linker assumes /USERLIBRARY=ALL by default. The /NOUSERLIBRARY keyword tells the linker not to search any user-defined default libraries. File Keywords: /INCLUDE=module-name[, ••• ] Indicates that the associated input file is an object module library, and that the modules specified are to be unconditionally included as input to the linker. If the associated file specification of the library does not include a file type, the linker uses the default file type of OLB. At least one module name must be specified. If you specify more than one name, separate them with commas and enclose the list in parentheses. The /LIBRARY keyword causes conditional inclusion of object modules and can be userl in combination with /INCLUDE. You cannot specify a library as the first input file unless you also specify the /INCLUDE keyword. /LIBRARY Indicates that the associated input file is an object module library that is to be searched for modules resolving undefined symbols in the input files. If the associated file specification of the library does not include a file type, the linker uses the default file type of OLB. You can use both /INCLUDE and /LIBRARY to qualify a file specification. In this case, the explicit inclusion of modules occurs first; then the library is used to search for unresolved references. Likewise, the same file specification can appear more than once in the command line with various combinations of /INCLUDE and /LIBRARY. 4-n4 MCR COMMANDS Indicates that the associated input file contains a list of options to control linking. If you specify /OPTIONS and the associated file specification does not include a file type, the linker uses the default file type of OPT. /OPTIONS The /OPTIONS keyword can be used to extend the length of a Link command and to provide the linker with additional link-time data. The options file is detailed VAX-11 Linker Reference Manual. /SELECTIVE_SEARCH in the Indicates that the associated input file is an object module, and that any symbols defined in it that are not necessary to resolve outstanding references should be excluded from the symbol table of the output image file, and also from the symbol table file if /SYMBOL TABLE is specified. Any binary code in- the object module is always included. Examples: > LINK MYPROG,MYPROG/FULL MYPROG The above command requests the linking of the object file MYPROG.OBJ. The linker creates an executable image file and a full map file. > LINK/SHAREABLE BETA=BETA,DELTA The above command requests the linker to produce a shareable image file from the object modules BETA and DELTA. An options file must he used subsequently to link this shareable image with object modules to produce an executable image. Notes: • Use an options file to link a shareable modules to produce an executable image. • RSX-llM does not support the Link command. 4-65 image with object MCR COMMANDS Login Procedure LOGIN PROCEDURE 4.21 VAX/VMS does not have a Login command; rather, you gain the attention of the login procedure by pressinq CTRL/C, CTRL/Y, or RETURN. Login prompts for your user name and password. The login procedure is equivalent to the RSX-llM Hello command in that it verifies your right to use the system. Format: Username: Password: username [keywords) password keywords /CLI=interpreter /DISK=device-name user name Is the user name stored in your user authorization file entry. password Is the password stored in your authorization file entry. VAX/VMS does not display the password. Command Keywords: /CLI=interpreter Specifies the name of an alternate comman~ interpreter. You can specify either the DCL or MCR command interpreter. If a command interpreter is not specified, your default command interpreter is used. /DISK=device-name Specifies the name of ~ disk device to be associated with SYS$DISK for the terminal session. If you do not specify /DISK, the default SYS$DISK named in your authorization file is used. Example: <"Y> Username: Password: DUMPTY /CLI=MCR Welcome to VAX/VMS Version 2.00 > CTRL/Y gets the attention of login, which pro~pts for the user name. The user name is entered followed by keywords requesting the MCR command interpreter. After validating the user name, login prompts for the password. Notes: • VAX/VMS automatically maps references to associated with SYSSDISK. • When you log in with the MCR command interpreter, it uses the login file specified in your user authorization file entry or searches your default directory for a file named LOGIN.CMD. If one is present, the MCR command interpreter executes it nS an indirect command file. 4-66 SYO to the device MCR COMMANDS LOGOUT 4.22 LOGOUT The Logout command terminates an interactive terminal session. The system displays a termination message and performs any necessary cleanup operations, such as terminating the current image if one exists, dismounting any private volumes that remain mounted, and deallocating devices. Finally, it deletes your process and subprocesses, if any. Format: LOGOUT [keyword] /BRIEF (default} Requests the short form /BRIEF is the default. of the logout message. /FULL Requests the long form of the logout message. Examples: > LOGOUT HUBBARD logged out at 23-JAN-1978 17:48:5n.73 > LOG/FULL BELKNAP logged out at 24-JAN-1978 14:23:45.30 Accounting information: Buffered I/O count 31 Direct I/O count 9 on Page faults Elapsed CPU time 0 00:00:00.33 This command displays a terminal session. summary of 100 Peak working set size 300 Peak virtual size 2 Mounted volumes 0 00:00:13.27 Elapsed time accounting statistics for the Notes: • RSX-llM does not support the Logout command. • The Bye command is supported by Language Interpreter and RSX-llM. 4-67 both VAX/VMS MCR Command MCR COMMANDS MACRO 4.23 MACRO Invokes the VAX-11 MACRO assembler to assemble one language source programs. For more information on the VAX-11 MACRO MACRO User's Guide. assembler, or more see assembly the VAX-11 Format: MACRO [keywords] [obj-file-spec [keywords] 1 [, 1 is-file-spec [keywords] 1 =mar-file-spec [keywords] [, ••• ] keywords [NO]CROSS REFERENCE[=function[, ••• ]] /DISABLE=(function[, ••• l) /ENABLE=(function[, ••• ]) /LIBRARY /[NO] SHOW[= (function [, ••• ])] /UPDATE[=(update-file-spec[, ••• ])] obj-file-spec Specifies the file specification for the output object file. If you do not provide a file specification, the Macro command does not produce an object module file. If you omit the file type, the Macro command uses OBJ as the file type. lis-file-spec Specifies the file specification for the output listing file. If you do not provide a file specification, the Macro command does not produce a listing file. If you omit the file type, the Macro command uses the file type LIS. Wild card characters are not allowed in specification(s). the file mar-file-spec[, ••• ] Specifies one or more VAX-11 MACRO assembly language source files to be assembled. If you do not specify a file type for an input file, the assembler uses the default file type of MAR. If you specify more than one input file, separate each input file with either a comma (,) or a plus sign (+). The files are concatenated anct assembled as a single input file, producing single object and listing files. Command Keywords: /CROSS REFERENCE[=function[, ••• l] /NOCROSS REFERENCE[=function(, ••• ]] - (default) Control whether a cross reference listing is included in the listing file. The /CROSS REFERENCE keyword includes a cross reference listing, and therefore requires that a listing file exist. The /NOCROSS REFERENCE keyword excludes it. You can specify one or more of the functions listed below. 4-n8 MCR COMMANDS If you specify /CROSS REFERENCE without functions, it 1s equivalent /CROSS_REFERENCE=(MACROS,SYMBOLS). any to ALL Cross reference directives, macros, operation codes, registers, and symbols DIRECTIVES Cross reference directives MACROS Cross reference macros OPCODES Cross reference operation codes REGISTERS Cross reference registers SYMBOLS Cross reference symbols If you specify more than one function, each by a comma and enclose the parentheses. separate list in /DISABLE=(function[, ••• l) /ENABLE={function[, ••• ]) Provide initial settings for functions controlled by the assembler directives .ENABLE and .DISABLE. You must specify at least one of the functions listed below. You can enable or disable: ABSOLUTE Assembly of relative absolute addresses addresses as DEBUG Inclusion of local symbol table information in the object file for use with the debugger TRUNCATION Truncation of floating-point numbers (if truncation is disabled, numbers are rounded) GLOBAL Assumption that undefined symbols in the assembly are external symbols SUPPRESSION listing of Suppression of the unreferenced symbols in the symbol table TRACEBACK Providing information to debugger traceback mechanism the The default is /ENABLE=(GLOBAL,TRACEBACK). If you specify more than one function, each by a comma and enclose the parentheses. 4-69 separate list in MCR COMMANDS /LIBRARY Indicates that the associated input file is a macro library. If you do not specify a file type, the assembler uses the default file type of MLB. If you specify more than one macro library as input files, the libraries are searched in reverse order of their specification when a macro call is issued in a source program. You must not keywords at exclusive. specify the /LIBRARY and /UPDATE the same time; they are mutually /SHOW[=(function[, ••• ])] /NOSHOW[=(function[, ••• ])] Provide initial settings for the functions controlled by the assembler directives .SHOW and .NOSHOW. You can specify one or more of the functions listed below. If you specify /SHOW without any functions, the listing level count is incremented. If you specify /NOSHOW without any functions, the listing level count is decremented. The /SHOW keyword requires exist. that a listinq file CONDITIONALS List unsatisfied conditional code associated with .IF and .ENDC directives CALLS List macro calls and expansions DEFINITIONS List macro definitions EXPANSIONS List macro expansions BINARY List binary code generated expansion of macro calls. repeat range by the If you omit the /SHOW keyword the default /SHOW=(CONDITIONALS,CALLS,DEFINITIONS). is If you specify more than one function, each by a comma and enclose the parentheses. separate list in For additional details on these functions, see the VAX-11 MAC~_2.__1:-?ng_~~--9~~R:eference Manual. /UPDATE[=(update-file-spec[, ••• J)] Indicates that the associated input file is to be updated with the specified update file(s). The batch editor SLP is used. Updating is described in the VAX-11 MACRO User's Guide. The batch editor, SLP, is. d-escrTbed·-·In-the v,l\x..:-11_______!:1_~~_1--~!:-~~_§. Reference Manual. By default, the assembler uses update files with the same name as the input source file and a file type of UPD. 4-70 MCR COMMANDS When multiple update files are specified with the /UPDATE keyword, the assembler merges the contents into a single list of updates before applying the updates to the source file. You must separate multiple update files with commas and enclose the list in parentheses. As a result of the update the input source file and update file(s) remain unchanged. The effects appear in the compiled output. The listing also provides an audit trail of the changes if you request a listing file with the /UPDATE keyword. Wild card characters are not allowed in the update file specifications. specify the /LIBRARY and /UPDATE they are mutually the same time; You must not keywords at exclusive. If an update file is not found, the assembler prints an information message but continues the assembly. Examples: > MACRO ORION = ORION The MACRO assembler assembles the file ORION.MAR and creates an object file named ORION.OBJ. If this command is executed in a batch job, the assembler also creates a listing file named ORION.LIS. > MACRO CYGNUS, CYGNUS=CYGNUS This MACRO command assembles CYGNUS.OBJ. > MACRO ALPHA, ALPHA > PRINT ALPHA.LIS CYGNUS.MAR to produce CYGNUS.LIS and ALPHA+BETA+MYLIB/LIBRARY+[TEST]OLDLIB/LIBRARY The MACRO command concatenates the files ALPHA.MAR and BETA.MAR to produce an object file named ALPHA.OBJ and a listing file named ALPHA.LIS. MYLIB.MLB (in the current default directory) and OLDLIB.MLB (in the directory TEST) are specified as libraries to be searched for macro definitions. When macro calls are found, OLDLIB, MYLIB, and the system library STARLET.MLB are searched, in that order, for the definitions. The PRINT command prints the listing file ALPHA.LIS. Notes: • RSX-llM does not support this command. • The entire command name must be typed MACRO assembler. 4-71 to invoke the VAX-11 MCR COMMANDS MOUNT 4.24 MOUNT The Mount command makes a disk or magnetic tape volume or volume set and the data it contains available for processing by system commands or user programs. Format: MOUNT [keywords] keywords (device-name[:][, ••• ] [(volume-label[, ••• )] /ACCESSED=n (D) /BIND=volume-set-name (D) /BLOCKSIZE=n (T) /[NO]CACHE [=(option[, ••• 1)] /DATA CHECK[=option, [ ••• ]] /DENS"fTY=n (T} /EXTENSION=n (D) /FOREIGN /GROUP (D) /HDR3 (T) /[NO]LABEL (T) /OVERRIDE=(option[, ••• ]} /OWNER UIC=[g,m] /PROCESSOR=option /PROTECTION=code I [NO] QUOTA (D) /RECORDSIZE=n (T) /[NO]SHARE (D} /SYSTEM (D) /UNLOCK (D) /WINDOWS=n (D) /[NO]WRITE D T (D) applicable to disk only. applicable to tape only. Keyword descriptions are below. device-name [:] [logical-name[ categorized accordingly Specifies the physical-device name or logical name of the device on which the volume is to be mounted. When mounting a volume set, you can specify more than one device name. Separate the device names with either a comma (,) or plus sign (+}. If you are mounting tape volumes, you can specify more volume labels than device names. If you specify a colon (:) following name, the command strips it. volume-label the device Specifies the alphanumeric label written on the volume when it was initializerl. For Files-11 Structure Levels 1 and 2, the volume label can have up to 12 characters; for tape volumes, it can have up to n characters. 4-72 MCR COMMANDS If you specify more than one volume label, separate the labels with a comma (,) or plus sign (+). The volumes must be in the same volume set and the labels ·must be specified in the correct order. The volume-label parameter is not required when you mount a volume with the /FOREIGN keyword, nor when you specify /OVERRIDE=IDENTIFICATION. To specify a logical name when you enter either of these keywords, type any alphanumeric characters in the volume label parameter position. logical-name[:) Defines a 1- to n3-character alphanumeric string that is the logical name to be associated with the device(s). The logical name subsequently can be used to ref er to the volume or volume set in commands and programs. If you do not specify a logical name, the command assigns the default logical DISK$volume-label for disk devices TAPE$volume-label for tape devices. Mount name or The Mount command places the logical name in the process logical name table unless /GROUP or /SYSTEM is requested. In the latter cases, the name is placed in the group or system logical name tables, respectively. If you specify multiple devices and a logical name, the log i ca 1 name applies to all devices specified. Keywords Applicable to Disk and Tape: /DATA_CHECK[=(options, ••• )] Specifies that all read and write operations to the volume are to be followed by a write check operation. The write check compares the data on disk with that in memory to ensure that the transfer was successful. You can specify either or both of the following options. READ Performs checks read operations. followinq all WRITE Performs checks following write operations. all If you specify /DATA CHECK without including an option, Ihe default of /DATA_CHECK=WRITE is used. The data check operation is described in the VAX/VM~ __I_L_Q~~I~ide. /FOREIGN Indicates that the volume is not in the standard ANSI format used by VAX/VMS. If you do not specify /FOREIGN, the volume is assumed to be in Files-11 format. 4-73 MCR COMMANDS If you specify /FOREIGN, the proqram that reads the volume must be able to process the labels on the volume, if any. For example, when you mount a DOS-formatted tape, you must use FLX to transfer it. The default protection applied to foreign volumes is read and write for system and owner. If you specify /GROUP in addition, group members are given read and write access. If you specify /SYSTEM or /SHARE, group and world are both given read and write access. Any user category that has read and write access to a foreign volume also is allowed logical I/O and physical I/O access to the volume. To protect a foreign volume, you must specify the /PROTECTION keyword. If the volume is currently in Files-11 format, you must have override volume protection privilege to mount it as foreign, or you must be the volume owner. /OVERRIDE=IDENTIFICATION Allows you to mount a volume when you do not know what the volume lahel is. If you specify /OVERRIDE=IDENTIFICATION, you can specify anything for the volume-label parameter; the Mount command ignores whatever you enter. The volume must be mounted /NOSHARE, either explicitly or by default. Overriding the volume label does not affect the protection applied to the volume. Additional override options are applicable only to magnetic tape, as described below. /OWNER_UIC=[g,m] Requests that the specified UIC be assigned ownership of the volume while it is mounted, thereby overriding the ownership recorded on the volume. If you are mounting a device /FOREIGN, /OWNER UIC requests an owner UIC other than your current UIC. The brackets are required. You must have the privilege to override volume protection to use the /OWNER UIC keyword, or you must be the owner of-the volume. 4-74 MCR COMMANDS /PROCESSOR=option Allows you to control whether the volume has its own ACP process and which ACP image the process executes. The following options can be specified. UNIQUE Creates a new process to contain a copy of the default ACP image for the specified device type or controller. SAME:device Requests that the same ACP process currently being used by the specified device be used. file-spec Creates a new process to contain the specified ACP image (for example, a modified ACP). Operator privilege is required the /PROCESSOR keyword. /PROTECTION=code to use Specifies the protection code to be assigned to the volume. All access to any file on the volume must pass both the volume protection and the protection applied to the individual file. Specify the code according to the standard syntax rules for specifying protection as described in Section 2.7.5. If you do not specify protection, it defaults to that assigned when the volume was initialized. The protection specified hy this keyword takes precedence over the protection implied by other keywords, for example, /SYSTEM and /GROUP. The only exception is /NOWRITE. /WRITE (default) /NOWRITE Control whether the volume can be written. By default, a volume is considered read/write. Specify /NOWRITE to provide read-only access to protect files. /NOWRITE is equivalent to writelockinq a drive. 4-75 MCR COMMANDS Keywords Applicable Only to Disk: /ACCESSED=n Specifies the approximate number of directories that will be in use concurrently on the volume. A value from 0 to 255 may be specified to override the default value that was specified when the volume was initialized. The value n is a decimal number. Operator privilege is /ACCESSED. /BIND=volume-set-name required to use Creates or adds to a volume set consists of one or more disks. that The volume-set-name specifies a 1- to 12 character name that identifies the volume set. When a volume set is created, the volumes are specified on a volume-label list. Each volume is assigned a relative volume number base0 on its position on the label list. The first volume specified is called the root volume of the volume set. When adding one or more volumes to a set, the first volume label specified must be the root volume, unless the root volume already is online. /CACHE= [(option [, ••• ])] /NOCACHE [=(option [, ••• 1)] Control whether disk caching limits established at system generation time will be disabled or overridden. One or more of the followinq limits may be altered using the appropriate option: [NO] EXTENT [ =n J 4-76 Enables or disables extent cachinq. You must have the operator (OPER) privilege and you must specify n, the number of entries in the extent cache. Note that NOEXTENT and EXTENT=O both disable extent caching. MCR COMMANDS [NO] FILE_ ID=n] Enables or disables file identification caching denoted by n, the number of entries given to be a value greater than 1. Note that both FILE ID=l and NOFILE ID disable file iaentification caching. Operator (OPER) privilege is required. LIMIT=n Specifies the maximum amount of free space in the extent cache in one thousandths of the currently available free space on the disk. [NO] QUOTA [ =n] Enables or disables quota cache. Operator (OPER) privilege is required and you must specify n, the number of entries in the cache. Usually, n is set to the maximum number of active users expected on the disk when quotas are enahled. NOQUOTA and QUOTA=O, both disable quota file cachinq. WRITETHROUGH Disables writehack caching, which only writes the file headers of files open for write when other files are closed. Thus, if you specify the WRITETHROUGH option, file headers are written to the disk on every file header operation. When specifying more than one option, separate each by a comma, and enclose the list in parentheses. /NOCACHE disables all disk caching on a volume. Specifying /NOCACHE is equivalent to specifying /CACHE=(NOEXTENT,NOFILE ID, NOQUOTA, WRITETHROUGH). 4-77 MCR COMMANDS /EXTENSION=n Specifies the number of blocks by which the file is extended. This number can be overridden by a command or program request. The minimum value of n is O; the maximum is h5535. The value n is interpreted as a decimal number. If you do not specify /EXTENSION, the extension value defaults to that specified when the volume was initialized. /GROUP Makes the volume available to any user with the same UIC group number as the user issuing the Mount command. These users ~re not required to issue a Mount command to gain access to the volume. However, volume protection is applied. The logical name for the device is placed in the group logical name table. You must have the appropriate privilege to place a name in the group logical name table. A volume mounted /GROUP remains mounted until it is explicitly dismounted; it is not automatically dismounted when its accessors log out of the system. If you issue a Mount command for a volume that is already mounted /GROUP, you must use the /SHARE keyword. Any additional keywords are ignored. /QUOTA (Default) /NOQUOTA /SHARE /NOSHARE (default) Controls whether disk quotas will be enforced on this disk volume. The /QUOTA keyword is the default, which enforces quotas for each user. /NOQUOTA inhibits quota checking. You must either own the volume or have the VOLPRO privilege to use this keyword. Refer to Chapter 3 in the VAX/VMS Command Language User's Guide for information concerning ··aTskquo-tas. Indicates whether the volume is shareable. If the volume has already been mounted /SHARE by another user, and you request that it be mounted with the /SHARE keyword, any other keywords you specify are ignored. A volume mounted /SHARE is automatically dismounted when all of its accessors log out of the system. By default, the that a device allocates it. Mount command assumes is not shnreable and Tf you have previously allocated the device and then specify the /SHARE keyword, the device is deallocated. 4-78 MCR COMMANDS /SYSTEM Makes the volume available to all users of the system as long as the VIC-based volume protection allows them access. These users are not required to issue a Mount command to gain access to the volume. The logical placed in the You must have to place a name table. name for the device is system logical name table. the appropriate privilege name in the system logical A volume mounted /SYSTEM remains mounted until it is explicitly dismounted; it is not automatically dismounted when its accessors log out of the system. If you issue a Mount commano for a volume that is already mounted /SYSTEM, you must use the /SHARE keyword. Any additional keywords are ignored. /UNLOCK Requests write access to the index file on the volume. The /UNLOCK keyword is allowed only if the volume is mounted /NOSHARE either explicitly or by default. /WINDOWS=n Specifies the numher of retrieval pointers to be used in mapping data when the volume files are opened. If /WINDOWS is not specified, the number of pointers defaults to the value specified when the volume was initialized. The value n is interpreted as a decimal number. Operator privilege is the /WINDOW keyword. required to use Keywords Applicable Only to Tape: /BLOCKSIZE=n /NOBLOCKSIZE Sets the default block size to a specific number of hytes per block, or requests using /NOBLOCK that each block contain one record. By oefault, records are written to tape volumes in 2048-byte blocks, unless /FOREIGN and /NOLABEL are specified; then the default block size is 512 bytes. /DENSITY=n Specifies the density (in bpi) at which the tape is written for either foreign or unlabeled tapes. You can specify a density of 800, 1600, or n250. To specify a specific density, either the /FOREIGN or /NOLABEL keyword must be specified and the first operation performed on the tape must be a write. 4-79 MCR COMMANDS If you specify /LABEL, or if the first operation on the tape is a read, the tape is read or written at the density at which the first records on the tape are recorded. /HDRJ (default) /nohdr3 /LABEL (default) /NO LABEL Controls whether ANSI HDR3 labels are written on magnetic tapes. ~NS! HDR3 labels are written on tapes by default. For tapes which will be used on systems which do not tolerate HDR3 labels, specify /NOHDR3. Indicates whether the tape contains standard labels. If you mount a tape specifying the /NOLABEL keyword, an end-of-file condition is returned when a tape mark is encountered when reading the tape. The default protection for unlabeled tapes is all access to the system and owner and no access to the group and world. /OVERRIDE={option, ••• ) Inhibits the following protection checks performed by the Mount command. ACCESSIBILITY Indicates that the accessibility specified in the header 1 and volume 1 labels of the tape are to be overridden EXPIRATION Allows you to write on a tape that has not yet reached its expiration date. You must have the privilege to override volume protection or you must own the volume. SETID Allows you to inhibit the checking of the volume set identification when switching reels in a multivolume set. If you specify more than one keyword, separate each with a comma and enclose the entire list in parentheses. /RECORDSIZE=n Specifies the number of bytes in each record. This keyword is normally used with the /FOREIGN or /BLOCKSIZE keywords to read and write fixed-length records on a block-structured device. In this case, the record size must he less than or equal to the default block-size. The block size can ranqe from 20 through nS,532 with RMS or 18 through nS,534 without RMS. 4-80 MCR COMMANDS Use the /RECORDSIZE keyword whenever you are mounting tapes without HDR2 labels (such as RTM tapes). This provides RMS with default values for both the maximum record size and the length of the largest record. Examples: > ASN DBAl:=DKO: > @.RODIN MOUNT DKO:MYVOL % MOUNT-I-MOUNTED, MYVOL mounted on DBAl: The Assign command defines DBAl RS the equivalence name for the logical name DKO. When the indirect file RODIN.CMD executes, its command to mount the volume labeled MYVOL on DKO becomes, in effect, a request to mount MYVOL on DBAl. > MOUNT DBAl MYVOL DISK % MOUNT-I-MOUNTED, MYVOL mounted on DBAl: This command mounts the volume MYVOL on disk device DBAl and assigns a logical name of DISK. Notes: • The form of the Mount command that RSX-llM and VAX/VMS is as follows. is compatible between MOU llnn:volume-label llnn is an RSX-llM physical-device name that has been assigned as the logical name for a VAX/VMS physical device unit. volume-label is the volume label. • VAX/VMS and RSX-llM do not support the same keywords Mount command. • VAX/VMS syntax for the Mount command indicates a space between the device name and the volume label. VAX/VMS accepts either a colon or a space as a delimiter between the device name and volume label. 4-81 for the MCR COMMANDS On Statement ON STATEMENT 4.25 You can use the On statement to control the following: • Action taken when a program, returns an error status command, • Action taken when CTRL/Y is pressed. or command RSX-llM does not support either form of the On statement. 4-82 procedure MCR COMMANDS ON CONTROL__y On Control Y 4.25.1 The On Control Y statement allows you to specify an action to be taken when CTRL/Y is pressed and is normally used only within indirect command files. Once the On Control Y statement has been processed, the command interpreter reacts to the pressing of CTRL/Y in either of the following ways: • If an image is active when you press CTRL/Y, an image exit occurs, thus allowing termination handlers, if any, to run; then the specified action is taken. • If no image is active (that is, the command interpreter is executing), the specified action is taken when the command completes. Once an On Control Y action has been established, it remains until it is replaced by a subsequent On Control Y statement or canceled by a Set NoControl Y command. It does not have to be re-established each time CTRL/Y is pressed. If one level of an indirect command file issues an On Control Y statement and then invokes another level, the default On Control Y action established for the nested level is as follows: ON CONTROL Y THEN EXIT Thus, if you press CTRL/Y while the nested level is executing, it causes a return to the level from which it was invoked. Pressing CTRL/Y again causes the On Control Y action established by the first level to be taken. Format: ON CONTROL Y THEN command command Specifies the action to be taken. valid VAX/VMS MCR command. It can be any Example: > @APPLIC. CMD ON CONTROL Y THEN LOGOUT "y Once the indirect command file APPLIC.CMD is started, the user can interact only with the application. Because the On Control Y statement indicates that the command interpreter is to effect a logout when CTRL/Y is pressed, the user of the application cannot return to usa the command interpreter. 4-83 MCR COMMANDS Notes: • The VAX/VMS _Sy~tem Services___~e~~-~enc~nua!_ handlers.--- • If you wish to run an imaqe that should not be interrupted by CTRL/Y, issue a Set NoControl Y command prior to initiating the image. When the image exits, you can re-enable CTRL/Y handling by issuing the following commands. ON CONTROL Y THEN command SET CONTROL Y 4-84 describes exit MCR COMMANDS ON Severity-Level 4.25.2 On Severity-Level The On severity-level statement defines the default course of action to be taken when a command or program executed within an indirect command file encounters an error condition. Return status values in VAX/VMS include a severity-level code. The code groups status returns to indicate success, warning, error, or severe error. When a command or program is executed, the return status value is compared with the current severity level to determine subsequent action. The On severity-level statement is used with the Set On command. By default, the initial state for an indirect commano file is to have condition recognition disabled (Set NoOn). You can enable condition recognition by including a Set On command or an On statement in the indirect command file. Format: ON severity-level severity-level THEN command Specifies the severity of the condition that is to cause the indicated action to be taken. The severity level is represented by one of the following keywords. WARNING The specified action is to be taken for warning, error, and severe error returns. ERROR The specified action is to be taken for error and severe error returns; the default action for warnings is to continue. SEVERE ERROR The specified action is to be taken only for severe errors; the default action for warnings and errors is to continue. You can truncate these keywords characters. command to one or more Specifies the action to be taken when errors equal to or greater than the specified level of error occur. You can specify any valid MCR command line following the keyword THEN. If you do not include an On statement in an indirect command file and a Set On command has been executed, the command interpreter issues an Exit command when errors or severe errors result from the execution of a command or program. In all other cases, command execution continues. Once the command in an On statement has been executed as a result of an error condition, the default action, Exit, is reinstated. It remains in effect until a new On command is encountered. 4-85 MCR COMMANDS Example: > @INDFILE RUN POMME ON ERROR THEN CONTINUE RUN SQUASH RUN PEAS ON SEVERE ERROR THEN .GOTO ERR RUN TOMATO RUN PEPPER .ERR: RUN MARKET EXIT When execution of the indirect command file starts, any error more severe than a warning causes the command interpreter to issue an Exit command by default. Once the first On statement is encountered, the indirect command file can continue after any type of error. It continues from warninqs by default and from errors and severe errors as a result of the Continue command in the On statement. Once the second On statement is encountered, the indirect command file is allowed to continue from warninqs and errors, but severe errors cause a branch to the portion of the indirect command file labeled ERR. Notes: • Once the clause (THEN command) of a condition statement is executed, condition recognition is set to ON ERROR THEN EXIT. • Any On severity-level statement in an indirect command overrides the effect of a previous On statement. file • You can control whether the command interpreter checks status returned from commands with the Set On command. the • You can use the Set Noon condition recognition. 4-86 command to temporarily disable MCR COMMANDS PRINT 4. 26 PRINT The Print command queues one or more files for printing on either a system-defined printer or a device that you specify. The system considers a file or files queued by a Print command to be a job. It assigns a unique job identification to each job in the system. Format PRINT [keywords] file-spec [keyword [, ••• ]] [, ••• ] keywords /AFTER=absolute-time /BURST /CHARACTERISTIC=(c[, ••• l) /COPIES=n /[NO]DELETE /DEVICE=device-name[:] /[NOlFEED /[NO]FLAG PAGE /FORMS=type /[NO]HEADER /[NO]HOLD /[NO]IDENTIFY /JOB COUWf=n /[NOTLOWERCASE /NAME= job-name /PAGE COUNT=n /PRIORITY=n /QUEUE=queue-name[:] /SPACE[=n] file-spec Provides the file specification of one or more files to be printed. If you specify multiple files, separate them with either a comma (,) or a plus sign (+). You can use wild card characters in place of the directory, file name, type, or version fields of the file specification. If you omit a file type, the LIS by default. Print command uses Command Keywords: /AFTER=absolute-time Requests that the job be printed after a specific time of day. The time must be specified in 24-hour format as follows: hh [:mm l For example /AFT=l7 places a job in a hold status until 5:00 pm. If the time already has passed, the job is printed immediately. 4-87 MCR COMMANDS /CHARACTERISTICS=(c[, ••• J) Specifies one ~r more characteristics desired for printing the file(s). If you specify more than one characteristic, separate each by a comma and enclose the list in parentheses. For details on specifying characteristics, see the VAX/VMS System Man age ~ -~s_q_ll_!_?~ • /DEVICE=device-name[:J Requests that the files specified be queued to a particular device. If you do not specify /DEVICE, files are· queued to the current default printer. The default device is SYS$PRINT. /FORMS=type Specifies the form type required for the files to be printed. Specify the form type using a numeric value or alphanumeric code. Codes for form types are installation defined. /HOLD /NOHOLD (default) Request that the file(s) be queued but not printed. The file cannot be released for printing until you issue the Set Queue command to release it. /IDENTIFY (default) /NOIDENTIFY Control whether the Print command displays a message indicating the job identification of the print job and the name of the device to which it has been queued. By default, the Print command displays information in the following format: this JOB jobid ENTERED ON QUEUE device-name /JOB_COUNT=n Requests that the entire job be printed n times. The value of n is a decimal number ranging from 1 through 255. If you omit this keyword, one copy of the job is printed. /LOWERCASE /NOLOWERCASE (default) Indi~ate that the specified file(s) contains lowercase alphabetic letters and must be printed on a printer that has uppercase and lowercase capabilities. /NAME= job-name Defines a 1- to 8-character alphanumeric string to identify the joh. The name string is displayed in response to the Show Queue command. If name is not specified, the name string defaults to the file name of the first file in the job. /PRIORITY=n Specifies the priority of the print job. The value of n must he in the range of 0 through 31; 0 is the lowest priority, and 31 is the highest. 4-88 MCR COMMANDS By default, jobs are assigned the same priority as your process. You can assign lower priorities to your nonessential jobs so that jobs you want sooner will be processed first. Privilege is required to set a priority value that is higher than your process's priority. /QUEUE=queue-name[:] Requests that the file(s) specified be queued to a particular device. The default is SYS$PRINT. This keyword performs the /DEVICE. same function as File Keywords: /BURST /NOBURST (default) Indicate whether a burst page is to precede the file. A burst page is printed before a flag page and contains the same information; however, it is printed over the perforation between pages to make the separation of files easier. This keyword overrides the installation's default established for printers when they are initialized for spooling. /NOBURST is the default for user-specified devices. /COPIES=nn Specifies the number of copies of the file to be printed. The value of nn is a decimal number in the range of 1 through 255. The default number of copies is 1. If you specify /COPIES as a command keyword, each file named in the command is printed the specified number of times. /DELETE /NODELETE (default) Control whether after printing. the file is to be deleted If you specify /DELETE after the Print command all files specified are deleted. Files are deleted after printing by default. Note that the protection code delete access to the curent UIC. /FEED (default) /NOFEED must allow Control whether the Print command automatically inserts form feeds when it prints files that do not have carriage control characters. By default, the Print command inserts a form feed when the forms are within four lines of the end of the form. On standard 66-line forms, a form feed occurs after printing o2 lines. 4-89 MCR COMMANDS /FLAG PAGE /NOFLAG_PAGE (default) Indicate whether a flag page is to be printed preceding the file. If you specify /FLAG with a file specification, a separate flag page is printed preceding the associated file. The flag page lists the file name. If you specify /FLAG with the command verb, a flag page is printed for each file in the job; the flag page lists the job name. /HEADER /NOHEADER (default) Control whether the name of the file printed at the top of each printed page. /PAGE COUNT Specifies the number of pages of the file to be printed. /PAGE COUNT can be used only as a file keyword; it cannot be used as a command keyword. If this keyword is omitted, the entire file is printed. /SPACES[=n] Specifies the number of spaces to be left between lines of output in the specified file. The value of n indicates the number of spaces. It can be a 1 or a 2. If /SPACES is omitted, no extra spaces printed between lines of the file. is are If /SPACES is specified without a value for n, one extra space is provided between files of output; that is, output is double spaced. Example: > PRINT/COPIES=5 THISFILE.DAT/SPACE=2,THATFILE/PAGE_COUNT=4 This command requests the printinq of five THATFILE. THISFILE is to be double spaced. of THATFILE are to be printed. copies of THISFILE and Only the first four pages Notes: • You can delete a queue entry using the Delete command with the /ENTRY keyword. • You can control the attributes of a print queue usinq the Queue command. • RSX-llM does not support the Print command. 4-90 Set MCR COMMANDS PURGE PURGE 4.27 The Purge command deletes all but the versions of a specified file or files. highest numbered version or Format: PURGE [keyword] file-spec[, ••• ] keywords /KEEP=n /LOG file-spec Provides the file specification of the files to be purged. If you specify more than one file, separate each with either a comma (,) or a plus sign (+). Do not specify a version number. You can use wild cards in place of name or file type fields. the file If you do not provide the file name and type, the Purge command purges all files in the directory. Command Keywords: /KEEP=n Specifies the maximum number of versions of the specified files to be retained. If /KEEP is not specified, the command deletes all but the highest. numbered version. /LOG /NO LOG Specifies that the names of files be displayed as they are deleted. /NOLOG is the default, thus file names are not displayed as they are purged. Examples: > PURGE /KEEP=2 *.DAT This command requests that all files in the default directory having a file type of DAT be purged so that only the two highest numbered versions remain. > PURGE [122020.MSG] 'I'his command requests the purging [122020.MSG] to one version. of all files in subdirectory Notes: • RSX-llM does not support the Purge command. • You can use the /PU switch with PIP to purge files. • Purge differs from the operation of PIP/PU in that the /KEEP keyword specifies the actual number of files to be kept rather than the highest version numbers. 4-91 MCR COMMANDS RUN (Image) 4.28 RUN (IMAGE) The Run (Image) command places an image into execution in the process. You can truncate the Run command to a single letter, R. Format: RUN file-spec keyword /[NO]DEBUG file-spec Specifies an executable image to be executed. If you do not specify a file type, the Run command uses the default file type of EXF.. No wild card characters are allowed specification. in the file Command Keywords: /DEBUG /NODE BUG Controls, for native VAX-11 images, whether the image is to be run with the debugger. If the image was linked with the /DEBUG keyword and you do not want the debugger to prompt, use the /NODEBUG keyword. If the image was linked with /TRACEBACK, traceback reporting is performed when an error occurs. If the image was not linked with the debugger, you can specify /DEBUG to request the debugger at execution time. However, if /NOTRACEBACK was specified when the image was linked, /DEBUG is invalid. Examples: > RUN LIBRA The image LIBRA.EXE starts executing in the process. > MACRO/ENABLE=DEBUG ORION > LINK/DEBUG ORION > RUN ORION DEBUG Version 2.0 3 DEC 1979 %DEBUG-I-INITIAL, language is MACRO, scope and module set to: DBG> > RUN/NODEBUG ORION 4-92 MCR COMMANDS A program is compiled, linked and run with the debugger. Subsequently, a RUN/NODEBUG command requests that the debugger, which is present in the image, not prompt. If an error occurs while the image executes, the debugger can perform traceback and report on the error. Note: • The form of the Run command that is compatible between RSX-llM systems and VAX/VMS systems is: RUN file-spec 4-93 MCR COMMANDS RUN (Process) 4.29 RUN (PROCESS) The Run command requests execution of a native or RSX-llM imaqe. You can request an image for execution in your process (the requesting process}, or you can use the Run command to create a subprocess or detached process to execute the image. By default, the image executes in the requesting process. When you specify keywords with the Run command, the command creates a separate process to execute a specific image. The command displays the created process's identification on SYSSOUTPUT. By default, it creates a subprocess with the same UIC, privileges, and priority as the requesting process and deducts resource quotas from the requesting process to assign them to the subprocess. The /UIC keyword requests the Run command to create a detache0 process; you must have the appropriate privilege to create a detached process. Additional keywords allow you to schedule the process, describe its resources and privileges, and indicate whether the process is to hibernate. NOTE The notes at the description information. You you intend to keywords. end of this command important contain should read them if use any Run command Format: RUN [keywords] file-spec keywords /[NO] ACCOUNTING /AST LIMIT=quota /[NO]AUTHORIZE /BUFFER LIMIT=quota /DELAY=delta-time /ERROR=file-spec /FILE LIMIT=quota /INPUT=file-spec /INTERVAL=delta-time /IO BUFFERED=quota /IO-DIRECT=quota /MAILBOX=unit /MAXIMUM WORKING SET=quota /OUTPUT=rile-spec /PAGE FILE=quota /PRIORITY=n /PRIVILEGES=privilege[, ••• ] /PROCESS NAME=process-name /QUEUE LlMIT=quota /[NO]RESOURCE WAIT /SCHEDULE=absolute-time /[NO]SERVICE_FAILURE 4-94 MCR COMMANDS /SUBPROCESS LIMIT=quota /[NO]SWAPPING /TIME LIMIT=limit /UIC=[g,m] /WORKING_SET=default file-spec Provides the file specification of the native or RSX-llM image to be executed. If the file specification does not include a file type, the Run command uses EXE by default. Command Keywords: /ACCOUNTING (default) /NOACCOUNTING Controls whether accounting records are to be logged for the created process. By default, all processes are logged in the system accounting file. You must have the user privilege ACNT to disable accounting. /AST_LIMIT=quota Specifies the maximum number of Asynchronous System Traps (ASTs) the created process can have outstanding. If you do not specify an AST limit quota, the default value established at system generation time is used; the minimum required for any process to execute is 2. A value of 10 is typical. This quota is nondeductible. /AUTHORIZE (default) /NOAUTHORIZE Controls, when the image to be executed is the system login image (LOGINOUT.EXE), whether login searches the user authorization file to validate a detached process. By default, the login image checks the user authorization file whenever a detached process is created. Specify /NOAUTHORIZE to create a detached process running under the control of the command interpreter. The process permanent files specified hy the /INPUT and /OUTPUT keywords are made available to the command interpreter for input and output. The user privilege DETACH is required to create a detached process. Any nonspecified attributes of the created process default to the same as those of the current process. /BUFFER_LIMIT=quota Specifies in bytes the maximum amount of memory that the created process can use for buffered I/O operations or temporary mailboxes. Mailboxes are u'sed to emulate RSX-llM send/receive directives; see the notes at the end of this section. 4-95 MCR COMMANDS If you do not specify a buffered I/O limit quota, the default value at system generation time is used; the minimum amount required for any process to execute is 1024 bytes. This quota is pooled; see the notes at the end of this section. /DELAY=delta-time Requests that the created process be placed in hibernation and awakened after a specified time interval has elapsed. If you specify /INTERVAL with /DELAY, the first wake-up request is scheduled for the delay time specified and all subsequent wake-up requests are scheduled according to the specified time interval. /ERROR=file-spec Defines a 1to 63-alphanumeric character equivalence name string for the logical-device name SYSSERROR. The logical name and equivalence name are placed in the process logical name table for the created process. /FILE_LIMIT=quota Specifies the maximum that a process can time. number of files have open at one If you do not specify an open file quota fQr a created process, the system uses the default value established at system qeneration time. The minimum amount required for a process to execute is 2. This quota is pooled; see the notes the end of this section. at /INPUT=file-spec Defines a 1to n3-alphanurneric character equivalence name string for the logical-device name SYSSINPUT. The logical name and equivalence name are placed in the process logical name table for the created process. /INTERVAL=delta-time Requests that the created process be placed in hibernation and awakened at regularly scheduled intervals as specified by the value of delta time. If you specify /DELAY or /SCHEDULE with /INTERVAL, the first wake-up request occurs at the delay time or scheduled time specified. All subsequent wake-up requests occur at the specified interval time. If neither /DELAY nor /SCHEDULE is specified, the first wake-up request occurs immediately. If the image to be executed is an RSX-llM image, the /INTERVAL keyword has the effect of the /DELAY keyword. Only one wake-up occurs. 4-96 MCR COMMANDS /IO_BUFFERED=quota Specifies the maximum number of the system-buffered I/O operations created process can have outstanding at a time. If you do not specify a buffered I/O quota, the default value established at system generation time is used; the minimum required for any process to execute is 2. A value of 6 is typical. This quota is not deductible; notes below. /IO_DIRECT=quota see the Specifies the maximum number of outstanding direct I/O operations permitted for the created process at a time. If you do not specify a direct I/O quota, the default value established at system generation time is used. The minimum value of n that is required for any process is 2. This quota is not deductible; see notes at the end of this section. /MAILBOX=unit the Specifies the unit number of a mailbox to receive a termination message when the created process is deleted. Mailbox creation and use and process termination mailboxes are describeo in the VAX/VMS System Servi<;_~~ "_B__~fe:__rence Manual. /MAXIMUM_WORKING_SET=quota Specifies the maximum size to which the image to be executed in the process can increase its working set size. If you do not specify a working set quota, the system uses the default value established at system generation time. The minimum working set size required for a process to execute is 10 pages. This quota is not deductible; see notes at the end of this section. the /OUTPUT=file-spec Defines a 1to 63-alphanumeric character equivalence name strinq for the logical-device name SYS$0UTPUT. The logical name and equivalence name are placed in the process logical name table for the created process. /PAGE_FILE=quota Specifies the maximum number of pages that can be allocated in the paginq file for the process. 4-97 MCR COMMANDS If you do not specify a paging file quota, the system uses the default value established at system generation time. The minimum number of pages required for a process to execute is one 25n-page block. This quota is pooled; see the notes the end of this section. /PRIORITY=nn at Specifies the hase priority at which the created process is to be executed. VAX/VMS priorities range from 0 through 31 (decimal). Priorities O through lS are normal process priorities. Priorities l~ through 31 are real-time priorities. You must have the ALTPRI privilege to set the created process's base priority to a value higher than your process's base priority. If you specify no priority or a higher priority than allowed, the system uses your process's priority by default. /PRIVILEGE=privilege[, ••• ] Defines privileges for the created process. The privilege list consists of one or more of the privileges listed in Appendix A. You must have the SETPRV user privilege to give a process you create any privileges that you do not have. If you specify multiple privileges, each must he separated by a comma, and the list must be enclosed in parentheses. As listed, any of the privileges can he preceded by NO to deny the process that privilege, for example, NOSWAP_MODE. Rather than specifying individual privileges, you can specify either ALLPRIV or SAME. ALLPRIV indicates that the created process is to have all privileges. SAME indicates that the created process is to have the same privileges as your process. If you specify /PRIVILEGE=NOSAME, the created process has no privileges. If you do not specify /PRIVILEGE, the created pro~ess has the same privileges as your process; that is, the default is PRIVILEGE=SAME. /PROCESS=process-name Defines a 1to 15-alphanumeric character name for the created process. The process name is implicitly qualified by the group number of the process's VIC; that is, process names must be unique only within the group. If you do not specify a process name, the process has a null name, by default. 4-98 MCR COMMANDS /QUEUE_LIMIT=quota Specifies the maximum number of timer queue entries that the created process can have outstanding at any one time. This includes timer requests and scheduled wake-up requests. Timer requests are used to emulate RSX-llM MARK TIME directives. If you do not specify a timer queue entry quota, the system uses the default value established at system generation time. A process does not require any timer queue limit to execute. This quota is pooled; see the notes the end of this section. /RESOURCE WAIT (default) /NORESOURCE_WAIT at Enables or disables resource wait mode for the created process. By default, if a system resource is required for a process to execute a particular function and the resource is not available, the system places the process in a wait state until the resource becomes available. If you specify /NORRSOURCE WAIT, the process receives an error status code when the resource is not available. /RESOURCE_WAIT is the default. /SCHEDULE=absolute-time Requests that the created process be placed in hibernation and awakened at the time of day specified by the value of absolute time. /SERVICE FAILURE /NOSERVICE FAILURE (default) Enables or disables system service failure exception mode for the created process. By default, if an error occurs when a process calls a system service either directly or as a result of RSX-llM directive emulation, a status code indicating the error is returned. If you specify /SERVICE FAILURE and an error occurs durinq the processing of a system service request, the process receives an exception condition. Native images can declare condition handlers for such exception conditions. /SUBPROCESS_LIMIT=quota Specifies the maximum number of subprocesses that the created process is allowed to create. If you do not specify a subprocess limit, the system use..s the default value established at system generation time. A process does not require any subprocess quota to execute. This quota is pooled; see the notes the end of this section. 4-99 at MCR COMMANDS /SWAPPING (default) /NOSWAPPING Enables or disables swapping for the created process. By default, a process is swapped from the balance set in physical memory to allow other processes to execute. Swapping is similar in function to RSX-llM checkpointing. You must have the PSWAPM user privilege to specify /NOSWAPPING for a process that you create. If you specify /NOSWAPPING, the process is not swapped out of the balance set when it is in a wait state. /TIME LIMIT=limit Specifies the maximum amount of CPU time allocated to the created process, in delta time, where the resolution is to ten milliseconds. When the time expires, the process is deleted. The default value is estahlished at system generation time. A CPU time limit of 0 indicates that CPU time is not restricted; this is a typical value. If you restrict CPU time for a process, specify the time limit according to the rules for specifying delta time values, as given in Section 2.7.6.2. This quota is deductible. /UIC=[g,m] Specifies that the created process is to be a detached process. The [g,m] format defines the user identification code (UIC) for the created process. The values of q and m are numeric strings which respectively represent the group and member numbers of the process. The number is in the range of O throuqh 377 in octal radix. /WORKING SET=default Specifies for the number of the image the default working set size created process; that is, the paqes in the working set for to be executed. If you do not specify a default working set size, the system uses the default value established at system generation time. The minimum number of pages required for a process to execute is 10 pages. The value specified cannot be greater than the working set quota specified by the /MAXIMUM_WORKING_SET keyword. This quota is not deductible. Examples: > RUN RSXIMAGE.TSK 1-100 MCR COMMANDS This command activates the RSX-llM image RSXIMAGE in the requesting process; no subprocess or detached process is created. The system does not prompt for subsequent commands until the image terminates. > RUN VAXIMAGE /UIC=[l22,20] This command creates a detached process that runs under UIC [122,20] and has the same privileges and resource quotas as the requesting process. >RUN FIRST.TSK /PROCESS=PAYl /DELAY=::lO > RUN SECOND.TSK /PROCESS=PAY2 The commands above create two subprocesses named PAYl and PAY2, each of which is to execute an RSX-llM image. PAYl hibernates as a result of the /DELAY keyword on its Run command; PAY2 is activated immediately. The two processes cooperate. SECOND, the image executing in PAY2, awakens PAYl by issuing a directive. The process requesting that the two images accept subsequent user commands. Both subprocesses have the process. Resource quotas process's. same are be privileges subtracted run remains as their from the free to requesting requesting Notes: • Specifying a process name is not sufficient to allow emulation of the RSX-llM functions (for example, common event flag clusters and send/receive) that require a task name in the image label block. • If you run an RSX-llM image that has a task name starting with an alphabetic character in the image label hlock and specify /PROCESS, the task name becomes the process name; that is, it overrides the name specified by /PROCESS. • Mailboxes are virtual devices that can be used by both RSX-llM and native images. VAX/VMS uses mailboxes to emulate RSX-llM send/receive directives. For further information on mailboxes, see the VAX-11/RSX-llM Programmer's Reference Manual for RSX-llM images or the-- VAX/V~__.?____§__ystem Services Reference Manual for native images. • For RSX-llM images issuing send/receive directives, the mailboxes used in emulating these directives are not created until just prior to actual image execution. Therefore, usinq either the /INTERVAL or /DELAY keywords does not cause creation of the mailboxes when the command is issued; you cannot assume that the mailboxes exist until image execution begins. • For an RSX-llM image, the /INTERVAL keyword has the same effect as /DELAY; that is, the process execution occurs at the designated time, and when the image exits, the process is deleted. The image is executed only once. • For a native image, /INTERVAL causes the imaqe to hibernate and be re-executed after the specified interval if the image issues a RET instruction. The image exits, however, if it issues an Exit system service. 4-101 MCR COMMANDS • Use the following keywords to assign equivalence names for the logical names SYS$INPUT (TI), SYS$0UTPUT (TI), and SYS$ERROR (CL) : /INPUT /OUTPUT /ERROR • Use the following keywords to override the default for a process: attributes /ACCOUNTING /PRIORITY /PRIVILEGES /PROCESS NAME /SERVICE-FAILURE /SWAPPING • When you issue a Run command and a detached process is created, pooled quotas are established which restrict the amount of various system resources available to the process and its descendent process(es). The following resource quotas are pooled when you create a detached process; that is, the values you specify are deducted from your current quotas and given to the detached process: /BUFFER LIMIT /FILE LlMIT /PAGE-FILE /QUEUE LIMIT /SUBPROCESS_LIMIT The quota amounts are process is deleted. returned to you when the detached e The system defines minimum values for each specifiable quota; if you specify a quota that is below the minimum, or if you specify a deductible quota that reduces your quota below the minimum, the Run command cannot create the process. To determine your current quotas, issue the SHOW PROCESS/QUOTAS command. • You also can specify limits that affect performance but are not deducted from your process's resources. The nondeductible quotas are: /AST LIMIT /MAXIMUM WORKING SET /IO BUFFERED /IO-DIRECT /WORK ING_ SET e Hibernation is the VAX/VMS concept that RSX-llM concept of a suspended task. e Use the following keywords to schedule execution of the image: /DELAY /INTERVAL /SCHEDULE il-102 corresponds to the MCR COMMANDS If you specify any of these keywords, the Run command creates the process, places it in a state of hibernation, and schedules a wake-up request for the appropriate time. The process cannot execute the image until it is wakened. For RSX-llM images, /INTERVAL has the same effect as /DELAY. • Issue a Stop command to terminate execution of the image in the process and, if the process is not your current process, cause the process to be deleted. • Issue a Cancel command to cancel wake-up requests scheduled for the process but not yet delivered. • When a command accepts a keyword that specifies a time value, the time value is either an absolute time or a delta time. The syntax rules for specifying time values are described in Section 2.7.n and summarized below. Absolute times have the format: [ dd-mmm-yyyy [:]] [hh: mm: ss. ss] Delta times have the format: [ d d - ] [ h h : mm : s s • s s ] 4-103 that are MCR COMMANDS Set 4.30 SET The Set command provides a number of options that allow you to set characteristics and defaults for your process, job, and certain devices. Table 4-2 briefly summarizes all the Set options. Note that RSX-llM supports only the /UIC set command option. Most of the Set options, which are summarized below, are equivalent to those described in detail in the VAX/VMS Command Language User's Guide or the VAX/VMS Operator's Guide. Each summary below references· the manual in which--a."fulI- description of the option can be found. Table 4-2 Set Command Options Option Function ·----·-----------! ACCOUNTING 3 Selectively enables or disables the recording of particular kinds of accounting information CARD READER2 Defines the translation reader [NO] CONTROL_Y2 Controls whether the use of the function key can interrupt an image DEFAULT2 Establishes a disk and/or directory as current default DEVICE3 Establishes the spooling and status on a device mode for a card CTRL/Y the error-logging Establishes a virtual communication link between a terminal and a network node to which the terminal is not directly connected. LOGINS2 Establishes the maximum number able to log in to the system MAGTAPE2 Defines the density of a device or rewinds the tape MESSAGE2 Overrides or supplements system messages [NO] ON2 Controls whether the command interpreter checks for an error condition following the execution of a command in a command procedure PASSWORD! Allows users to change their own passwords of users magnetic tape 1. Described in this manual. 2. Described in the VAXLVMS Command Language User's Guide. 3. Described in the VAXL'!_MS Operator._'s Guide. (continued on next page) 4-104 MCR COMMANDS Table 4-2 (Cont.) Set Command Options Option Function PRINTER 3 Defines characteristics of a printer PROCESS 2 Defines process PROCESS/PRIORITY2 Changes the base priority of a process PROTECTION 2 Changes the protection applied to a file or a group of files, restricting or allowing access to the file by different categories of users PROTECTION/DEFAULT2 Establishes the default protection for files subsequently created during terminal session or batch job PROTECTION/DEVICE2 Established the protection non-file-structured device QUEUE/ENTRY2 Changes the attributes associated with one or more entries in a print or hatch job queue RMS DEFAULT2 Provides default multiblock and multibuffer count values to be used by VAX-11 RMS for file operations TERMINAL2 Defines characteristics of a terminal TIME3 Resets the system time urcl Changes the UIC of the current process [NO] VERIFY2 Controls whether the command interpreter displays lines in command procedures as it executes them WORKING SETl Establishes a default working set size images executed in the current process execution characteristics 1. Described in this manual. 2. Described in the VAX/VMS Command Language User's G_uid_g. 3. Described in the VAX/VMS Operator's Guide. 4-105 of for a all the a for MCR COMMANDS SET HOST 4.30.l Set Host The Set Host command connects your terminal (through the current host processor) to another processor, called the remote processor. The remote processor must be a VAX-11. Use the Set Host command to connect to another VAX-11 processor on a network. (Use the Show Network command described in the VAX/VMS Command La~_g_!l_~_g~__ U~er '§_9_'-!l<!_~ to obtain the names of nodes readable to your node.) Once the connection is made, the remote processor prompts for the user name and password. You must have an account on the remote processor to log in. Once you have connected to the remote processor and logged in, you can use VAX/VMS MCR or DCL commands just as you would on your local processor. You can even use the Set Host command to connect to another remote processor, and so on. Use the Logout command to log off the last processor you have logged in on. If you have connected to and logged in on more than one processor, the Logout command leaves you logged in on the next-to-last processor. For example, if your local node is GALAXY, you can use Set Host STAR to connect to the node STAR; you can then use Set Host ORION to connect (still through GALAXY and STAR) to the node ORION. If you then use the Logout command, you have logged off (and disconnected from) the processor at node ORION, hut your are still logged in on (and connected to) the processor at STAR. A second Logout command logs you off STAR, and disconnects you from it. A third L~gout command logs you off the local processor, GALAXY. Format: SET HOST node-name node-name Specifies the node name for the remote processor. Example: > SET HOST STAR Username: Password: This Set Host command connects the user terminal to the procesor at the network node named STAR. The remote processor then prompts for user name and password. Use the normal login procedure to log in on the remote processor. Note: • RSX-llM does not support the Set Host command option. 4-106 MCR COMMANDS SET PASSWORD 4.30.2 Set Password The Set Password command allows users to change their own passwords. To maintain secrecy, users may need to change their passwords from time to time. The Set Password command offers a means of doing this. However, the system manager can control which users have the right to change their passwords. Passwords may contain from l to 31 characters. are: The volid characters A-Z a-z 0-9 $ (dollar sign) {underscore) When the old and new passwords are entered, the user input is not echoed (to help ensure secrecy). To protect against typing errors that might not be seen when entering the new password, you must enter the desired new password twice. If an error occurs, the password remains unchanged. Passwords that exceed six security. characters are recommended for improved Format: SET PASSWORD Example: > SET PASSWORD Old password: New password: Verification: In response to the Set Password command, the system requests the old password, then the new password. Then the system asks for the new password again for verification purposes. If the user is authorized to change this account's password, the old password is given correctly, and the new password is given identically twice, the password is changed. Otherwise, an error messaqe appears and the password remains unchanged. Note: • RSX-llM does not support the Set Password command option. 4-107 MCR COMMANDS SET /UIC 4.30.3 Set /UIC The Set /UIC command establishes a new directory as the default and, if you have Change Mode to Kernel privilege, establishes a new user identification code as the default. Format: SET /UIC=[g,m] g Specifies the UIC group number in the range throuqh 377 (octal). of 0 m Specifies the UIC member number in the range of throuqh 377 (octal). 0 Examples: > SET /UIC=[200,220l This command establishes the UIC [200,2001 issuing process. as the nefault for the Notes: • RSX-llM supports the Set /UIC command. • To display your UIC, use the Show Process command described in the VAX/VM_~--~()-~~and Lang~_<?_CJ~ User's Guide. 4-108 MCR COMMANDS Show 4.31 SHOW The Show command provides a number of options that let you display characteristics and defaults for your process, jobs, and devices. Table 4-3 briefly summarizes all the Show options. Note that RSX-llM does not support any of the Show command options. Since the Show command options are equivalent to the options of the DCL Show command, these options are described in the VAX/VMS Command Language User's Guide and only are summarized in Table 4-3-below. Table 4-3 SHOW Command Options - - - - - - - - - - - - - ---·- Option Displays ! - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ---··----- [DAY] TIME The current date and time DEFAULT The current default disk and directory device DEVICES The status of devices in the system LOGICAL Current logical name assignments MAG TAPE Information about unit NETWORK The availability of network nodes, including the current node PRINTER Information about unit PROCESS Attributes of the current process, including privileges, resource quotas, memory usage, priority, and accounting information PROTECTION The current default protection applied to files QUEUE Print or batch jobs that have not yet printed or processed been QUOTA Displays the current disk authorized and used by a specific disk quota that is specific user on a RMS DEFAULT The current default multiblock and multibuffer counts used by VAX-11 RMS for file operations STATUS The status of the current job, including accumulated CPU time, open file count, and count of I/O operations ~-----------~--------------- a a designated designated magnetic magnetic queued tape tape but -------------·------- (continued on next page) 4-109 MCR COMMANDS Table 4-3 (Cont.) SHOW Command Options Displays Option SYMBOL Current symbol definitions SYSTEM A list of all processes in the system TERMINAL The device characteristics of your terminal TRANSLATION The result of translating a logical name WORKING SET The current working set size limit and quota 4-110 MCR COMMANDS STOP 4.32 STOP The Stop command terminates execution of one of the following: • A program or indirect command file CTRL/C or CTRL/Y. • A program that process. is executing in that a was interrupted subprocess or by detached The Stop command causes an abnormal termination of the image currently executing; if the image has declared any exit handling routines, they are not given control. Note that when an image is interrupted by CTRL/Y, and the Run command is issued to execute another image, the interrupted image is also terminated. However, in this case exit handling routines are allowed to execute before the next image is run. If you interrupt a command procedure by CTRL/Y and you issue the Stop command, or if the Stop command is executed in a command procedure, all command levels are unstacked and control returns to command level 0. If you specify a process name or process identification, the Stop command terminates the image currently executing in the specified process and deletes the process. If the process is a batch joh process, no notification of deletion occurs; the log file for the batch job does not print. The Group user privilege is required to stop other processes in the same group. The World user privilege is required to stop any process in the system. For more information on how to use commands like this one in command procedures, consult the VAX/VMS Guide to Usi Command-··Procedures. ----· "·------·· ---~------- Format: STOP [keyword] [process-name] keyword /IDENTIFICATION=process-id process-name Specifies 1- through 15-alphanumeric character string name of the process to be deleten. The specified process must have the same group number in its user identification code (UIC) as the current process. If you specify the /IDENTIFICATION keyword the process name is ignored. If you specify neither the process-name parameter nor the /IDENTIFICATION keyword, the image executing in the current process is terminated. ·1--111 MCR COMMANDS Command Keyword: /IDENTIFICATION=process-id Specifies the process identification the system assigned to the process when the process was created. When you create a process with the Run command, the Run command displays the process identification number of the process it creates. When you specify the process can omit leading zeros. identification, you Examples: A> RUN MYPROG Ay > STOP The Run command begins executing the image MYPROG. Subsequently, CTRL/Y interrupts the execution and the Stop command terminates the image. > @TESTALL Ay > STOP The @ (Execute Procedure) command executes the procedure TESTALL.COM. CTRL/Y interrupts the procedure and the Stop command returns control to the VAX/VMS MCR command interpreter. A> RUN/PROCESS NAME=LIBRA %RUN-S-PROC_ID~ LIBRA identification of created process is 0013340D > STOP LIBRA The Run command creates a subprocess named LIBRA to execute the image LIBRA.EXE. Subsequently, the Stop command forces the image to exit and deletes the process. > ON ERROR THEN STOP In a command procedure, the On com~and establishes a default action when any error occurs as a result of a command or program execution. The Stop command stops all command levels; if the On command is executed in a command procedure that is executed from within another procedure, control does not return to the outer procedure, but to the command interpreter. > @WARHOL.CMD 1-112 MCR COMMANDS This sequence starts the execution of the indirect file WARHOL.CMD, interrupts its execution by pressing CTRL/Y, and terminates its the image in the current execution by typing Stop. By default, process is terminated. > RUN /PROCESS=PRIOR LIMNER.TSK "'y > STOP PRIOR This sequence starts the execution of the image LIMNER.TSK in a subprocess named PRIOR. Typing Stop causes the image to be terminated and the subprocess to be deleted. Notes: current process does not require privilege to stop one of • The its subprocesses. The current process must have Group or World privilege to stop any other process. Stop command causes an abnormal termination of the image • The currently executing; if the image has declared any exit handling routines, they are not given control • an image is interrupted by CTRL/Y or CTRL/C, and another • When image is run, the interrupted image is also terminated. However, in this case, exit handling routines are execute before the next image runs. • allowed to When an indirect command file is stopped, the entire procedure (that is, all levels) is terminated and control returns to the command interpreter. the image executing in a subprocess or detached • Stopping process causes the specified subprocess or detached process to be deleted. • When you create a subprocess or detached process usinq the Run command, the command displays the process identification of the process created. • The Show Process command described in the VAX/VM?~-~mmand_ Language Use_r 's Guide displays the current status of subprocesses. • RSX-llM does not support the Stop command. 4-113 MCR COMMANDS STOP/ABORT STOP/ABORT 4.33 The Stop/Abort command aborts a job that is currently The /ABORT keyword is required. being printed. Use this command only to abort the printing of jobs entered in the system output queues, that is, the line printer, or terminal queues. When you issue the Stop/Abort command, the job currently beinq printed is terminated, and the next job in the queue is dequeued, provided you have sufficient privileges to do so. You can always abort your own job, and you can even abort jobs of other users in your group if you have the Group user privilege. Otherwise, you need the World or Operator user privileges to abort a job thnt is not your own. For more information on how to use commanns like this one in command procedures, consult the VAX/VMS Gu_Jj_~ ___!:g __ y~i ng_~_g_gmma nd P~-~.£-~-~~~es. Format: STOP/ABORT printer-name [:] printer-name[:] Specifies the name of the printer queue the job was entered. in which Example: > STOP/ABORT LPAl: This command aborts the job currently printing on line printer LPAl. Note: • RSX-llM does not support the Stop/Abort command. 4-114 MCR COMMANDS STOP/ENTRY STOP/ENTRY 4.34 The Stop/Entry command deletes an entry from a batch queue while it is running. The /ENTRY keyword is required. Use this command to terminate the execution of a batch job while it is running. This command cannot, however, delete a joh while it is waiting to be executed. If you want to delete an entry from a device or batch job queue while the entry is waiting to be executed, use the Delete/Entry command. Note that you can always stop your own job while it is running. You can even stop execution of jobs of other users in your group if you have the Group user privilege. Otherwise, you need the World or Operator user privileges to stop a running job that is not your own. Format: STOP/ENTRY=job-number queue-name[:l job-number Specifies the job numher of the job to be from the batch queue. deleted queue-name[:] Specifies the name of the queue in which was entered. the job Example: > STOP/ENTRY=230 SYS$BATCH The Stop/Entry command deletes the job number 230 in the batch queue SYS$BATCH. associated with Note: • RSX-llM does not support the Stop/Entry command. 4-115 the entry MCR COMMANDS STOP/REQUEUE STOP/REQUEUE 4.35 Stops the printing of the job currently being printed and places job at the end of the output queue. that When you requeue a job, that job is placed at the end of the queue with its priority level lowered to 1. The next job in the queue is immadiately dequeued for printing. This command is useful when the line printer runs out of paper while it is printing a job; or when a large job of low priority is currently printing one or more other jobs in the queue must be printeo immediately. Note that you can always requeue yor own job. You can even requeue jobs belonging to other users in your own group if you have the Group user privilege. Otherwise, you need the World or Operator user privileges to requeue a job that is not your own. For more information on how to use commands like this one in command procedures, consult the VAX/VMS Gt1_!_q_~___ to____~_!?! ng__~2-~J!l~I1~ ___l'_!:__<?__s:_ed_!:!_res. Format: STOP/REQUEUE queue-name[:] queue-name[:] Specifies the name of the queue to be stopped. Example: > STOP/REQUEUE LPBO: This command suspends the current print operntion on LPBO:, places the job that was currently printing at the end of the queue, and resumes the print operation. Note: • RSX-llM does not support the Stop/Regueue command. 4-116 MCR COMMANDS SUBMIT 4.36 SUBMIT The Submit command queues an MCR indirect command file or a DCL command procedure for execution as a batch job. Your default (not current) command interpreter determines whether you can submit an indirect command file or a command procedure as a hatch job. If your default command interpreter is MCR, you can submit MCR indirect command files for batch processing; if it is DCL, you can submit DCL command procedures for batch processing. All output from the indirect command file is queued to the device assigned the logical name SYS$PRINT at the time the job terminates. A file or files queued by the Submit command are considered a job. The system assigns a unique job number to each job in the system. When you submit a batch job, the system displays both the job number it assigned to the job and the name of the batch job queue in which it entered your job. (If you would like to suppress this display, you can equate SYS$PRINT to NL:, the null device.) Batch Job Output: When you submit command procedures for processing by the Submit command, all output from the command procedure is written to a file called name.LOG where name is the file name of the first command procedure file in the job. (Use the /NAME keyword to give the job a different name.) This file is initially written on your default disk; when the batch job completes, the system queues the file to SYS$PRINT and deletes the file after it has printed. If multiple procedures are submitted, the job terminates procedure exits with an error or fatal error status. if any For a description of creating and submitting VAX/VMS Gui~~ to. Using Cornman~ Pro~e<lu_I.es. see the batch jobs, Format: SUBMIT [keywords] file-spec [keyword] [, ••• ] keywords /AFTER=absolute-time /CHARACTERISTICS=(c[, •.• ]) /CPUTIME=n /[NO]DELETE /[NO]HOLD /[NO]IDENTIFY /NAME= job-name /PARAMETERS=parameters[, ••• l /PRIORITY=n /QUEUE=queue-name(:] /REMOTE /WSDEFAULT=n /WSQUOTA=n file-spec Specifies the name of a command procedure to be submitted for batch execution. If no file type is specified, the Submit command uses the default file type of COM. If you specify more than one file, use either a comma (,) or a plus (+) to separate file specifications. Files are processed in the order of specification. 4-117 MCR COMMANDS If the file specification contains a network name, the /REMOTE keyword must be specified. node Full wild card characters are allowed in the file specification. See the section on file specifications in the VAX{VM~_5-_ommand Language y~-~L~~---·qg~i(J~ for detailed information on wild card characters. Command Keywords: /AFTER=absolute-time Requests that the job be processed after a specific time of day. Specify the time according to the rules for specifying absolute times in Section 2.h.7. If the specified time has already passed, the job is queued for immediate processing. By default, immediately. jobs are submitted /CHARACTERISTICS=(c[, ••• ]) Specifies one or more characteristics desired for printing the file(s). If you specify more than one characteristic, separate each with a comma and enclose the list in parenthesis. For detailed information on specifying characteristics, refer to the VAX/VMS System Manager's Guide. ------- /CPUTIME=n Defines a CPU time limit for the batch job. You may- specify a delta time (Section 2.n.7), the value O, or the words NONE or INFINITE for n. You cannot request more CPU time than permitted by the base limits or the value in your user authorization file. However, you can use this keyword to override the base queue value established by the system manager or the value in your user authorization file, when you need less CPU time than authorized. If the CPU time is not restricted by the base queue limits or the value in your user authorization file, you can specify 0 or INFINITE to request an infinite amount of CPU time. Specify NONE when you want the amount of CPU time to default to your user authoriztion file value or the limit specified on the queue. /HOLD /NOHOLD (default) Controls whether the job is to be made available for immediate processing. If you specify /HOLD, the job is not released until you issue a Set Queue/NOHOLD command for it. 4-118 MCR COMMANDS /IDENTIFY (default) /NO IDENTIFY Controls whether the command interpreter displays the job identification assigned to the job and the name of the device to which it has been queued, as follows. JOB jobid ENTERED ON QUEUE device-name Usually, the device-name is SYS$BATCH. /NAME=job-name Defines a 1- to 8-character alphanumeric name string to identify the job. The name string is displayed in response to the Show Queue command described in the VAX/YMS Co_mmand_ Language_ Us~_r 's Guide. If you do not specify a name, the name string defaults to the file name of the first file, truncated to eight characters, if necessary. Output files from the indirect file are named job-name.LOG. /PARAMETERS=parameters command Specifies from one to eight optional parameters to be passed to the indirect file. The parameters define values that are equated to the symbols Pl, P2, ••• PS in the indirect command file. The symbols are local to the specified indirect command file. If you specify more than one parameter, separate them with commas and enclose them in parentheses. The commas delimit the parameters. To specify a parameter that contains special characters or delimiters, enclose the parameter in quotation marks. /PRIORITY=n Specifies the priority for the job being submitted. The value of n must be in the range of 0 through 31; 0 is the lowest priority, and 31 is the hiqhest. By default, jobs are assigned the same priority as your process. You can assiqn lower priorities to nonessential jobs to allow your other jobs to be processeo sooner. The ALTPRI privilege is required to set a priority value that is higher than your process's priority. hatch to be /QUEUE=queue-name Specifies the name of a particular job queue to which the job is submitted. /QUEUE=queue-name(:] Specifies the name of a specific batch job queue to which the job is to be submitted. 4-119 MCR COMMANDS /REMOTE Indicates that the specified command procedure be executed on a remote node. The file specification must contain the name of the node on which the file resides and at which the procedure is to be executed. See the DECnet-VAX User's Guide. If you specify /REMOTE, you cannot specify any other keywords. /WSDEFAULT=n Defines a working set default for the batch job. You may specify a positive integer in the range l through 65535, O, or the word NONE for n. Use this keyword to override the base queue value established by the system manager or the value in your user authorization file, provided you want to impose a lower value. You may not request a higher value than is specified in your user authorization file. Specify 0 or NONE if you want the working set value to default to either your user authorization file or the working set default specified on the queue. /WSQUOTA=n Defines the maximum size working set for the batch job. This is the working set quota. You may specify a positive integer in the range l through 65535, O, or the word NONE for n. Use this keyword to override the base queue value established hy the system manager or the value in your user authorization file, provided you want to impose a lower value. You may not request a hiqher value than your default. Specify 0 or NONE if you want the working set quota to default to either your user authorization file or the working set quota specified on the queue. File Keyword: /DELETE /NODELETE (default) Controls whether files are deleted after processing. If you specify the /DELETE keyword after the Submit command name, all files in the job are deleted. If you specify the /DELETE keyword following a file specification, only the associated file is deleted after it is processed. The protection code on the input file(s) must allow delete access to the default user identification code (UIC) of the user who submitted the job. 4-120 MCR COMMANDS Examples: > SUBMIT AVERAGE Job 112 entered on queue SYS$BATCH The Submit command enters the procedure AVERAGE.COM in the batch job queue. When the batch job completes, the log file AVERAGE.LOG is queued for printing. > SUBMIT BACKUP/PARAMETERS=(TXT,DOC,MEM), > AVERAGE, RUNMASTER -Job 416 entered on queue SYS$BATCH The Submit command enters three command procedures in a sinqle job. The job is given three parameters: Pl is equated to the strinq TXT, P2 to the string DOC and P3 to the string MEM. After the procedure BACKUP.COM is executed, the procedures AVERAGE.COM and RUNMASTER.COM are executed. > BATCH/NAME=BATCH 24/HOLD TESTALL Job 467 entered on queue SYS$BATCH The Submit command enters the procedure TESTALL.COM for processing as a batch job, but in a HOLD status. The job will not be released until the Set Queue/RELEASE command is issued. The /NAME keyword requests that the batch job be identified as BATCH 24. >SUBMIT SHEELER JOB 134 ENTERED ON QUEUE "SYS$BATCH" This command submits the indirect command file SHEELER.CMD for processing. The job is assigned the job identification 134 and placed in the default batch queue, SYS$BATCH. >SUBMIT BURCHFIELD /PARAMETERS="DBA2: [PAINTERlNATURE.DAT" JOB 123 ENTERED ON QUEUE "SYS$BATCH" This command submits the indirect command file BURCHFIELD and defines the symbol Pl as being equal to the file specification DBA2: [PAINTER] NATURE.DAT. Notes: • When the indirect command file is dequeued for execution, it is processed by the default command interpreter of the user who submitted the job. VAX/VMS does not consider the command interpreter used to submit the job. • The file or files queued for process usinq the Submit command are considered a job. The system assigns a unique job identification to each job. You can use the Show Queue command described in the VAX/VMS_ Com.ma0_2___!:-_~rng_1.:1~9e User's Guide to determine the job identification of a queued batch job. • The attributes of a queued job can be changed using the Set Queue/ENTRY command as described in the VA X/Y}!i 8-___ <;:_9 m~9-.~_9_ Language User's G~i~e. • You can use the Delete/Entry command described in Section 4.11 to remove a job from a batch queue or to delete an entry that is being processed. • RSX-llM does not support the Submit command. 4-121 MCR COMMANDS TIME 4.37 TIME The Time command displays the current date and time. This command is equivalent to the Show Daytime and Show Time commands described in the VAX/VM_§_~~_f.!!!11_9-_!!9_ -~-a~gu_9ge User 's __G_u_id~. Format: TIME Example: > 'l'IME 22-FEB-1978 12:43:12 Note: • RSX-llM supports the Time command. 4-122 MCR COMMANDS TYPE 4.38 TYPE The Type command displays the contents of a file or group of files the terminal. on Format: TYPE output-file-spec= input-file-spec, ••• output-file-spec Requests that the output from the Type command be written to the specified file rather than displayed on your terminal. input-file-spec By default, the Type command displays requested files at the requesting terminal. the Is the file displayed. be specification of a file to If multiple files are specified, they can be separated with either a comma (,) or a plus sign (+). In either case, the files are displayed in the order named. You can use a wild card instead of the directory, file name, file type, or version fields. The Type command displays all files that satisfy the file description in alphanumeric order for Files-11 Structure Level 2. Files are displayed in random order for Files-11 Structure Level 1. If you omit the file type, the Type LIS by default. command uses directory and Example: > TYPE POLLOCK The Type command locates POLLOCK.LIS types it on the terminal. in the default Notes: • To temporarily halt the output, use CTRL/S. after CTRL/S, use CTRL/Q. To resume output • To suppress the display while allowing processinq to continue, use CTRL/O. If CTRL/O is pressed again before the command terminates, output resumes at the current point in command processing • If you have entered more than one file specification or used • wild cards, CTRL/O suppresses the display of the current file only. Output is displayed again when the Type command the next file. begins • To stop the display completely, press CTRL/Y and then use Stop command. • RSX-llM does not support the Type command. 4-123 the MCR COMMANDS UFO 4.39 UFO The UFD command creates a user file directory or subdirectory on a Files-11 Structure Level 1 or 2 volume and enters the name of the UFD in the volume's master file directory. The volume must have been initialized and must be mounted before you can define UFDs for it. To create a user file directory, you must have access to the master file directory. The protection and UIC for the master file directory are established during volume initialization; they are the volume protection and volume owner UIC. Format: UFD devcu: [directory] [/keywords] keywords /ALLOC=number-entries /PRO=[system,owner,group,world] /UIC=[g,m] devcu Specifies the device, controller, and the device containing the volume. [directory] Specifies the directory or subdirectory name. If you create a subdirectory on a structure level 1 volume, RSX-llM cannot read it. unit number of Command Keywords: /ALLOC=number-entries number of directory Specifies the which space is to be entries for The number provided is allocated. rounded up to the next multiple of 32 (decimal). If you do not specify /ALLOC, the command allocates space for 32 directory entries. /PRO=[system,owner group, world] for the Establishes access riqhts protection directory file. Specify codes for each user category. Read (R), write (W), and delete (D) protection are identical when the volume is being accessed under either VAX/VMS or RSX-llM. The E field indicates execute under VAX/VMS and extend under RSX-llM. If you do not specify /PRO, the command supplies the default protection of the directory (MFD, UFD, or suhdirectory) in which the new directory is being created. If you omit any one of the protection categories, users in that category are denied access to the directory. 4-124 MCR COMMANDS /UIC=[g,m] Specifies the owner UIC for the directory or subdirectory. If you do not specify /UIC, the UFD command by default uses the owner UIC of the directory in which the new directory is being created. Example: > MOU DBB2:MYVOL > UFD DBB2: [230,222]/PRO=[RWED,RWED,RE,R] The first command mounts the volume labeled MYVOL. The UFD command requests the creation of a directory with UIC [230,222] on the volume and establishes the protection for that directory. Notes: • VAX/VMS does not support the /UF directories. • RSX-llM supports the UFD command. 4-125 switch for PIP to create CHAPTER 5 INDIRECT COMMAND FILES VAX/VMS supports RSX-llM indirect command files to functions that RSX-llM provides: • Indirect command files for components, for and the task builder • MCR indirect command files provide the same example, MACR0-11 Indirect command files intended for processing by RSX-llM components function identically under VAX/VMS and RSX-llM, as described in Chapter 3. MCR indirect command files that coQtain the following: are to execute under • Any of the indirect command file summarized alphabetically in Table 5-1 • Any of the VAX/VMS MCR commands described in Chapter 4 MCR indirect command files can be nested; processor VAX/VMS can directives refer to Section 5.14. Unlike RSX-llM, which provides an indirect command file processor task (AT.) to interpret directives, the VAX/VMS MCR command interpreter processes both MCR commands and directives. As a result, you can type directive sequences at the terminal and test them without creating and executing an indirect command file. Your command interpreter must be MCR if you want to execute indirect command files. The login procedure described in Section 3.1.1, "Selecting a Command Interpreter," explains how to establish MCR as your command interpreter. VAX/VMS support of indirect command files is intended to allow existing files to execute under VAX/VMS. Because it is intended for existing files, VAX/VMS does not perform such stringent syntax checking within the indirect command file as RSX-llM does. As a result, indirect command files developed under VAX/VMS may not execute successfully under RSX-llM. 5-1 Table 5-1 Summary of VAX/VMS Indirect Command File Processor Directives Format 1 Differences between VAX/VMS and RSX-llM Function !-Closes all data and command files and exits None Provides commentary None .ASK ssssss txt-string Asks a question and waits for a reply None .ASKN ssssss txt-string Asks for definition of a numeric symbol Can specify hexadecimal values; see Section 5.7 !text I None Defines a label .label: (JI I or ; text H z 0 H :::0 t1:l .ASKN[low:high] ssssss txt-stringl Asks for definition of a numeric symbol specifying an allowable range Can specify hexadecimal values; see Section 5.7 (') .ASKN[::def] ssssss txt-stringl Asks for definition of a numeric symbol specifying the default value Can specify hexadecimal values; see Section 5.7 0 Asks for definition of a numeric symbol specifying an allowable range and the default value Can specify hexadecimal value; see Section 5.7 .ASKS ssssss txt-string Asks for definition of a string symbol None .ASKS[low:high] ssssss txt-stringl Asks for definition of a string symbol specifying the allowable.number of characters None • BEGIN Marks the beginning of a Begin-End block None .CHAIN file-spec Continues processing using another file None i-3 (') N .ASKN[low:high:def] ssssss txt-stringl 3: 3: > z 0 "1l H C"1 1. Brackets are required syntax in these directives only. t1:l (/) Brackets in other directives indicate optional features. (continued on next page) Table 5-1 (Cont.) Summary of VAX/VMS Indirect Command File Processor Directives Forrna t Function Differences between VAX/VMS and RSX-llM .CLOSE [#n] Closes secondary file None .DATA [#n] txt-string Writes data to secondary file None .DEC ssssss Decreases value of numeric symbol by 1 None .DELAY nnu Delays indirect command file execution for the specified period of time VAX-11 hardware provides a 100 ticks-per-second clock; under VAX/VMS, hours cannot be specified .DISABLE DATA [#n] .DISABLE DOLLARS Disables writing of data to secondary file Disables dollar sign recoanition IJl I RSX-llM does not support directive; see Section 5.11 (') 0 3 3 )ii z None Disables definition of global symbols None .DISABLE LOWERCASE Enables lowercase-to-uppercase conversion None • DISABLE QUIET Suppresses echoing of CLI command lines Iqnored hy VAX/VMS; see . Section 5.5 .DISABLE SUBSTITUTION Disables symbol substitution None .ENABLE DATA [#n] Enables writing of data to a secondary file None .ENABLE DOLLARS Enables dollar sign recognition RSX-llM does not support this directive; see Section 5.11 ssssssss.s ::a tZ] i-3 Disables use of escape character as response to .ASK, .ASKN, or .ASKS .DISABLE GLOBAL z 0 ...... (') None w .DISABLE ESCAPE H 0 tzJ H t"" tZ] (/) (continued on next page) Table 5-1 (Cont.) SuMmary of VAX/VMS Indirect Command File Processor Directives Differences between VAX/VMS and RSX-llM F'o rrna t Function .ENABLE ESCAPE Enables use of escape character as response to .ASK, .ASKN, or .ASKS .ENABLE GLOBAL I None Enables definition of global symbols (~c:c:c:c:c:) 1-1 use of lowercase characters in .ENABLE QUIET J1 strings spaces are not compressed Enables echoing of CLI command lines Ignored hy VAX/VMS; see Section 5.5 ::a tzJ () i-3 .ENABLE SUBSTITUTION Enables symbol substitution None () .END Marks the end of a Begin-End block None 3 3 .ERASE GLOBAL Erases global symbol definitions Does not erase permanent global symbols .ERASE LOCAL Erases local symbol definitions None .EXIT [n] Terminates processing of a Begin-End block or current command file and optionally sets the special symbol <EXSTAT> value None .GOSUB label Calls a subroutine None .GOTO label Branches to a lahel None .IF ssssss relop expr Determines whether symbols meet specified conditions None 0 I .i:::. z 0 1-1 > z 0 tzj 1-1 C""' tzJ (/) (continued on next page) Table 5-1 (Cont.) Summary of VAX/VMS Indirect Command File Processor Directives Differences between VAX/VMS and RSX-llM Format Function .IF[N]ACT tttttt Determines whether a task is active Response always indicates that the task is inactive; see Section 5.2 .IF[N]DF ssssss Determines whether a symbol is defined None .IFF ssssss Determines whether a symbol is false None .IF[N]INS tttttt .IF[N)LOA dd: LTl Determines whether a task is installed Determines whether a loadable driver is loaded I H z Response always indicates that the task is already installed; see Section 5.2 0 H ::c tz:I (") t-3 Response always indicates that the driver is loaded; see Section 5.2 0 > z LTl .IFT ssssss Determines whether a symbol is true None .INC ssssss Increases the value of a numeric symbol by 1 None .ONERR label Branches to label on detecting an error Equivalent to an ON WARNING THEN .GOTO label command; see Section 5.3 .OPEN [ftn] file-spec Opens a secondary file for output None .OPENA [in] file-spec Opens an existing file and appends subsequent data None .PAUSE Pauses for user action Use the Continue command to resume indirect command file processing (") 3: 3: 0 tz;I H (continued on next page) t"" tz:I (/) Table 5-1 (Cont.) Summary of VAX/VMS Indirect Command File Processor Directives Function Differences between VAX/VMS and RSX-llM .RETURN Returns from subroutine None .SETF Sets the value of a symbol to false None .SETN ssssss numexp Sets a symbol to a numeric value Can specify hexadecimal value; see Section 5.7 .SETS ssssss strexp Sets a symbol to a string value None H .SETT ssssss Sets the value of a symbol to true None H Terminates indirect command file processing and optionally sets the special symbol <EXSTAT> None (') Tests the length of a string symbol None Format ---- SSS SSS .STOP (n] JI I <')'\ II .TEST ssssss : z 0 " tzl i-3 (') 0 3 3 > z 0 "'ZJ H C""' tzl (/) INDIRECT COMMAND FILES 5.1 REQUESTING INDIRECT COMMAND FILE EXECUTION Under VAX/VMS, you request execution of an indirect command file in the same way that you do under RSX-llM; that is, by preceding the file specification of the indirect command file with an at sign (@). However, under VAX/VMS, additional options are available: • You can use the /OUTPUT keyword to request that all output SYS$0UTPUT be written to a specific file or device. • You can pass parameter values (Pl through PB) to the file. to indirect The Execute Procedure described in Chapter 4 contains a description of these options. 5.2 SUPPORT OF .!FINS, .!FACT, AND .IFLOA The following directives test conditions that are not defined VAX/VMS environment: e .IFINS and .IFNINS e .IFACT and .IFNACT e .IFLOA and .IFNLOA VAX/VMS supports these directives standard responses to them: by always making the in the following is installed; • Task false. that is, • I FINS is true and .IFNINS is is inactive; • Task true. that is, • I FACT is false and .IFNACT is is loaded; • Driver false. that is, • I FLOA true and • IFNLOA is is Under VAX/VMS, users usually do not load drivers. Drivers normally are loaded when the system is initialized. If a particular driver is needed, but has not been loaded, ask the system manager for assistance. 5.3 SUPPORT OF .ONERR The .ONERR label is equiv.alent to using the ON WARNING THEN .GOTO label command. See the On Severity-level Statement descrihed in Chapter 4 for more information. 5.4 UNSUPPORTED DIRECTIVES VAX/VMS does not support the following indirect command file processor directives: e .XQT and .WAIT e . ONE RR 5-7 INDIRECT COMMAND FILES All other directives are supported. differences in directive support. 5.4.l The following sections describe .XQT and .WAIT Alternative As an alternative to .XQT and .WAIT, you can use the Run command. Because images execute serially in your process, the .WAIT directive is not needed; one image must terminate before the next begins. If you use the Run command to create a subprocess or detached process, there is no means of synchronizing image execution from the indirect command file. 5.4.2 .ONERR Alternative The VAX/VMS On statement, described in Chapter 4, can serve as an alternative to the .ONERR directive. However, the On Statement provides a more general error handling capability than .ONERR. The MCR command interpreter does not restrict use of error handling to the specific errors associated with the .ONERR directive. 5.5 SWITCHES RSX-llM defines three switches for specifications: use with • /TR (trace) and /NOTR • /DE (delete) and /NODE • /MC (pass command to MCR) and /NOMC indirect command file The defaults under RSX-llM are /NOTR, /NODE, and /MC. That is, indirect command files are not traced during execution and not deleted after processing, and the MCR commnnd interpreter processes all commands. VAX/VMS supports the default case and also allows use of the /DE switch to delete files after processing. It does not support the /TR and /MC switches. No deletion (/-DE or /NODE) is the default. 5.6 SPECIAL SYMBOLS VAX/VMS supports all the special symbols defined by RSX-llM. Table 5-2 summarizes the symbols and provides VAX/VMS-specific information where appropriate. 5-8 INDIRECT COMMAND FILES Table 5-2 Special Symbols VAX/VMS-Specific Information Symbol Meaning <AL PHAN> True if last string entered as answer to .ASKS or tested with .TEST contains only alphanumeric characters <DATE> Assigned the current date; format is dd-mmm-yyyy <DEFAUL> True if answer to last .ASKN was defaulted <ESCAPE> True if last query was answered with a single escape character <EX STAT> Equivalent to $STATUS <LIBUIC> Nonprivileged task library UIC Always [1,541 <MAPPED> True if the system on which the image is running is mapped and false if it is unmapped Always true <MF.MSIZ> Memory size in K words Always 32K <RADSO> True if last string entered as answer to .ASKS or tested with .TEST contains only Radix-50 characters <RSXllD> True if RSX-llD system <STRL.EN> Length of last string entered as answer to .ASKS or tested by .TEST <SYDISK> Device mnemonic of system device Always SY <SYSTEM> Octal number representing operating system Always 5 <SYSUIC> System UIC Always [l,54] <SY UNIT> Unit number of system device Always 0 <TIME> Assigned the current time; format is hh:mm:ss <UIC> Current directory Always false The current directory is in a valid VAX/VMS fonnat. Symbol substitution for special symbols anct user-defined the same under both RSX-llM and VAX/VMS MCR. 5-9 symhols is INDIRECT COMMAND FILES 5.7 NUMERIC SYMBOLS Under VAX/VMS, a numeric symbol defined using .SETN or .ASKN can be in one of the following radixes: • Octal (default radix) • Decimal • Hexadecimal You can specify the following ways: radix of a numeric value in either of the • Using RSX-llM conventions, that is, no radix indicator or a leading pound sign (#) for octal, and a trailing period for decimal • Using a VAX/VMS radix indicator VAX/VMS radix indicators have the format %rn. The percent sign is required syntax; r indicates the radix (0 for octal, D for decimal, and X for hexadecimal); and n is the value of the symbol. Regardless of the method used to specify the radix, the system stores and displays the value as a numeric string with the radix implied. The following are examples. > .SETN A 22 > .SETN B %X22 > • SETN c 22 • > .SETN D %007 > SHOW SYMBOLS/ALL A B c 22 22 22 D 7 You cannot determine the radix Symbols command. 5.8 of a symbol value usino the Show LABEL TABLE ENTRIES As in RSX-llM, VAX/VMS places any label that appears on a line by itself in a label table so that, when a label is referred to, the command interpreter can locate it quickly. Labels defined on a line that also contains a command or other text are not placed in the label table but can be specified as the destination in .GOTO and .GOSUB directives. The VAX/VMS MCR command interpreter establishes a new label table for each level of indirect command file. When a nested level exits, the current table is emptied to free space for the next higher level. Therefore, labels defined in an indirect command file must be uniqu~ within that file. Labels passed over as a result of a .GOTO or .GOSUB directive are not placed in the label table. The label table contains only labels encountered in the actual execution stream. 5-10 INDIRECT COMMAND FILES 5.9 SYS$INPUT AND SYS$COMMAND VAX/VMS maintains two process-permanent files for command input: SYS$INPUT and SYS$COMMAND. SYS$INPUT is the prime source of command input. That is, for an interactive user, SYS$INPUT is the user's terminal; for indirect command file execution, SYS$INPUT is the file of commands and data. SYS$COMMAND is a secondary input source during execution of an indirect command file. It remains assigned to the initiating terminal. You can interrupt the processing of an indirect command file, issue a set of commands by means of SYS$COMMAND, and continue the indirect command file without altering its SYS$INPUT. All of the MCR commands described in Chapter 4 have separate streams for SYS$INPUT and SYS$0UTPUT. However, to be compatible with RSX-llM, RSX-llM commands such as PIP, EDI, TKB, and any other commands invoked by typing their image file name have SYS$INPUT assigned to SYS$COMMAND. That is, attempts to read from TI (SYS$INPUT) actually result in reading from SYS$COMMAND. This assignment allows the indirect command file to obtain information (for example, edits) from the terminal, as is often done under RSX-llM. For cases in which the executing image is to read from SYSSINPUT (that is, when it expects to read records from the indirect command file), you can use the Run command to request the image in the indirect command file. For example: RUN SYS$SYSTEM:PIP 5.10 .ASKN DIRECTIVE When VAX/VMS executes an .ASKN directive, it displays the default radix of the value after the text string that requests the value. The default radix is displayed as [O] (octal), [DJ (decimal), or [H] (hexadecimal). Similarly, the response can be octal, decimal, or hexadecimal. To override the default, you can follow the RSX-llM conventions (a leading pound sign forces octal and a trailing period forces decimal), or you can specify a VAX/VMS radix operator in the format %rn. No operator is required to specify a value in the default radix. The response to the request for a symbol value can be a symbol name or an expression. If hexadecimal is the default radix and you want to enter a hexadecimal value that starts with A through F, you must enter a leading zero or use the radix operator %X to distinguish the hexadecimal value from a symbol name. 5.11 .ENABLE DOLLARS DIRECTIVE Under RSX-llM, MCR indirect command files can contain only commands and directives. Under VAX/VMS, MCR indirect command files can contain commands, directives, and data. For example, an indirect command file can contain the command to run a program followed by the data read by that program. The .ENABLE DOLLARS directive indicates to the VAX/VMS MCR command interpreter that the indirect command file is to take advantage of the command interpreter's capability to distinguish commands and directives from data. The command interpreter distinguishes between the two by checking for dollar signs ($). Once dollar sign recognition is enabled, you must precede all subsequent command and directive lines with a dollar sign, for example, $RUN. 5-11 INDIRECT COMMAND FILES The MCR command interpreter also uses the dollar sign convention to prevent user programs from reading past the end of data in the indirect command file and to bypass any data records that remain unread after the user program terminates. That is, if a user program does not read all its data, the command interpreter can discard the remaining data records and start processing the next command or directive. The following is an example of a VAX/VMS containing data • MCR indirect command file • ENABLE DOLLARS $TIM $RUN MYPROG data to be read by MYPROG $TIM .DISABLE DOLLARS By default, dollar sign recognition is disabled at the beginning of an indirect command file level. 5.12 .PAUSE DIRECTIVE The .PAUSE directive functions the same way under VAX/VMS as it does under RSX-llM. That is, once the pause starts, you can run other images and utilities in your process. While in a pause condition, the process's SYS$INPUT is equated to SYS$COMMAND so that any images run during the pause can read input from the terminal. To continue from the pause, type the Continue command. If you interrupt image execution using CTRL/Y or CTRL/C during a pause and then issue a Continue command, the pause is terminated. When the image exits, the indirect command file resumes. If you issue a Stop command to terminate the image, the command interpreter closes the indirect command file and returns to interactive command level in addition to terminating the image. 5.13 .DELAY DIRECTIVE Under VAX/VMS, you can use the .DELAY directive to delay indirect command file processing for a number of ticks, seconds, or minutes; you cannot specify a delay of a number of hours. To wait for an hour or more, specify an equivalent number of minutes, as follows • • DELAY 90M This directive causes a delay of 1 hour and 30 minutes. Pressing CTRL/Y interrupts a delay. If you type a Continue command, indirect command file processing resumes. A Stop command terminates the indirect command file. 5-12 INDIRECT COMMAND FILES 5.14 NESTING MCR INDIRECT COMMAND FILES The VAX/VMS MCR command interpreter allows the nesting of four indirect command files each having eight subroutines. As the number of subroutines decreases. the number of nested files allowed increases, and vice versa. The number of nested indirect command files allowed by RSX-llM components running under VAX/VMS (for example, TKB) is controlled by individual components and is the same as under RSX-llM. 5.15 LEXICAL FUNCTIONS VAX/VMS provides a set of lexical functions that return information about character strings and attributes of the current process. You can use lexical functions in MCR directives that accept expressions as parameters, for example, .SETN and .SETS. Table 5-3 summarizes the lexical functions. The VAX/VMS Command Language User's Guide provides a more detailed explanation of lexical functions; the following paragraphs summarize syntax rules. The general format of a lexical function is: 'F$function=name([args, ••• ]) follows. The 'F Indicates that a function name substitution operator (') is required. function-name Specifies the function to be returned. All function names are keywords. You can truncate function names to any unique truncation. ( ) Encloses function arguments, if any. The parentheses are required for all functions including those that do not accept arguments. args,... Specify the arguments for the function. You can specify arguments using symbol names, numeric literals, or strinq literals enclosed in quotation marks. Functions cannot be specified as arguments for functions. Literal strings specified as arguments cannot contain embedded symbols. Section 5.17.2 contains an example of the use of lexical functions. In the MCR command language, lexical functions are intended for use with the .SETx directives. If they are used in .IF directives, results may not be as ~xpected. To make full use of lexical functions, you should use DCL rather than MCR. 5-13 INDIRECT COMMAND FILES Table 5-3 Summary of Lexical Functions Function Value Returned 'F$ DIRECTORY () Current default directory name 'F$EXTRACT(position,length,string) Substring beginning in specified position for length specified of indicated string 'F$LENGTH(string) Length of specified string 'F$LOCATE(substring,string) Starting position of specified substring within string indicated; or, the length of the string if the substring is not found 'F$LOGICAL(logical-name) Equivalence name of specified logical name (first match found in ordered search of process, group, and system logical name tables); or, logical name if no match is found 'F$MESSAGE(message-code) Message string associated with a system status value 'F$MODE () Interactive or Batch 'F$PROCESS() Current process name 'F$'I'IME () Current date and time of day 'F$USER () Current user identification code (UIC) 'F$VERI FY () TRUE (that is, a numeric v a 1 u e of 1 ) i f ve r if i cation is set on; FALSE (that is, a numeric value of 0) if verification is set off ·-·· -···------··-- .. _______...__········· OPERATIONAL NOTES 5.16 The notes below describe operational aspects of indirect command processing under VAX/VMS. file • As in RSX-llM, all data files are closed when an indirect command file terminates and returns to the interactive command level, that is, when MCR prompts for the next command. • When a command file terminates and returns to the interactive command level, the command interpreter clears the global symbol table. 5-14 INDIRECT COMMAND FILES • When lowercase is enabled, responses to .ASKS directives are treated as quoted strings; tnat is, the command interpreter does not change what is typed. As a result, embedded multiple tabs or spaces are not compressed. • Under VAX/VMS, you cannot press CTRL/Z in response to a request for input (for example, .ASK) to terminate the indirect command file. You can, however, type CTRL/Y or CTRL/C to terminate the indirect command file at any point during processing. 5.17 RSX-llM AND RSX-llS SYSTEM GENERATION VAX/VMS uses the MCR indirect command file capability to serve as the host system for RSX-llM and RSX-llS system generation. The actual system generation proceeds as it does under RSX-llM; however, a few steps must be taken in preparation for a system generation: • You must have the Change Mode to Kernel privilege, or the target disk volume must be unprotected. Change Mode to Kernel privilege is required to perform a SET UIC command that changes both the default directory and UIC. Section 5.17.1 describes the creation of an unprotected disk volume. • You must have logical I/O privilege perform logical I/O on system files. • You must have system protection privilege (SYSPRV) allows you to create files in other directories. • Because the VAX/VMS version of the RSX-llM Task Builder produces image files with a file type of EXE, you must use RSX-llM's own version of its task builder to obtain files with a type of TSK. It must be in directory [l,541. • You must assign equivalence names for RSX-llM device names contained in the system generation indirect command files and for TKB and VMR. Section 5.17.2 provides an indirect command file that can be run to make the necessary logical name assignments. (LOG IO) for After you complete system generation, bring the system to or RSX-llS processor and boot it. For more information on RSX-118 system generation, RSX-11 S System Generat ~_Q!:!__-9B.9~t:9 l la_!:_i~~Q,,~ide. 5.17.1 an refer VMR to which RSX-llM to the Creation of an Unprotected Disk To create a totally unprotected disk volume, use the following steps: • Initialize the disk volume specifying read, write, execute, and delete access for system, owner, group, and world. • Create on that volume all of the directories normally created by UFD commands in the system generQtion indirect command file. Specify read, write, execute, and delete protection for all user categories in all directories. 5-15 INDIRECT COMMAND FILES 5.17.2 Pre-System Generation Indirect Command File Figure 5-1 lists the command file required to make logical name assignments. This command file contains standard MCR commands and directives, and also takes advantage of VAX/VMS parameter passing capabilities and lexical functions as described by the Execute Procedure in Chapter 4 and Section 5.15, respectively • • ENABLE SUBSTITUTION .IF Pl EQ "" .ASKS Pl TARGET DEVICE NAME .SETS TEMP Pl[<STRLEN>:<STRLEN>J Sets Ll equal to the location of the colon(:), if any, if string Pl. Otherwise sets Ll equal to length of Pl • If Pl does not contain a terminating colon, sets Pl equal to target dev: • IF TEMP NE ":" .SETS Pl Pl+":" SHOW SYMBOL Pl SET DEFAULT 'Pl ASN 'Pl'=SY: ASN 'Pl'=SYO: ASN 'Pl'=LB: ASN 'Pl'=LBO: ASN MP:=MPO: ASN TK:=TKO ASN 'Pl' [l,54]BIGTKB.TSK=TKB ASN 'Pl' [l,54JVMR.TSK=VMR Figure 5-1 Equates Pl to target device name typed by user Sets default to target disk Assigns SY, SYO, LB, LBO to target disk Equates MPO and MP Assigns equivalence names for TKB and VMR Pre-System Generation Indirect Command File Image files produced by the task builder referred to in this command file have a file type of TSK rather than EXE. S-1'1 indirect APPENDIX A PRIVILEGES The following is a list of the privileges defined by VAX/VMS. [NO] ACNT Allows/disallows a process to disable messages for created processes [NO] ALLSPOOL Allows/disallows a devices [NO] ALTPRI Allows/disallows a process to set priority values [NO] BUGCHK Allows/disallows a process to make bug check error log entries [NO] BYPASS Allows/disallows a process protection in accessing files [NO] CMEXEC Allows/disallows executive process to change mode to [NO] CMKRNL Allows/disallows a process kernel and change UICs to change mode to [NO] DETACH Allows/disallows processes to create detached [NO] DIAGNOSE Allows/disallows a process to issue diagnostic I/O requests [NO] EX QUOTA Allows/disallows quota process to exceed [NO] GROUP Allows/disallows a process processes in the same group to control [NO] GRPNAM Allows/disallows a process to place names group logical name table [NO] LOG_IO Allows/disallows a process to requests to a device process a a a to process accounting allocate to spooled UIC bypass resource other in the logical I/O [NO] MOUNT Allows/disallows a process to execute a Queue Request system service to mount a device I/O [NO] NETMBX Allows/disallows a process device [NO] OPER Allows/disallows privileges A-1 a process issue to create to have a network operator PRIVILEGES [NO] PFNMAP Allows/disallows a physical pages [NO] PHY_ IO Allows/disallows a process to issue requests to a device [NO] PRMCEB Allows/disallows a process common event flag clusters to create permanent [NO] PRMGBL Allows/disallows a global sections process to create permanent [NO] PRMMBX Allows/disallows a mailboxes process to create permanent [NO] PSWAPM Allows/disallows a process to alter its swap mode [NO]SETPRI Allows/disallows a process to set base priority to a priority higher than alloted. [NO] SETPRV Allows/disallows a process to set other privileges [NO] SHMEM Allows/disallows a process to create and/or delete structures in shared memory [NO] SYSGBL Allows/disallows a process to create system global sections [NO] SYSNAM Allows/disallows a process to place names system logical name table [NO] SYSPRV Allows/disallows a process to attach system status for file access [NO] TMPMBX Allows/disallows a mailboxes [NO] VOLPRO Allows/disallows protection [NO] WORLD Allows/disallows a process to processes in the system i\-2 process a to map to specific physical process's in process to create process to override control I/O the temporary all volume other APPENDIX B RESOURCE QUOTAS AND LIMITS The following is a list of the resource quotas and limits VAX/VMS. ASTLM Total outstanding AST wake-up requests BI OLM Total outstanding buffered I/O operations BYTLM Total outstanding buffer space quota CPUTIME Default CPU time limit in infinite) DIOLM Total outstanding direct I/O limit FILLM Total outstanding open file quota PGFLQUOTA Total pages in use in the system paging file PRCLM Total outstanding subprocess TQELM Total outstanding entries in the timer queue temporary common events WSDEFAULT Default working set size WSQUOTA Maximum working set size B-1 operations defined plus milliseconds by scheduled (0 means plus INDEX A Absolute times, 2-19, 2-20 Access types, 2-18, 2-19, 3-2 ALLOCATE command, 3-2, 3-3, 4-2 Allocating devices, 3-2, 3-3, 4-2 <ALPHAN>, 5-9 APPEND command, 4-3 to 4-5 ASG option, 3-11 .ASK directive, 5-2 .ASKN directive, 5-2, 5-11 .ASKS directive, 5-2, 5-15 ASN command, 3-4 to 3-n, 4-2 , 4-6 , 4-7, 5-16 Assembling VAX-11 MACRO programs, 4-68 to 4-71 ASSIGN command. See ASN command Assigning logical names, 3-4 to 3-6, 4-n , 4-7, 5-16 ASSIGN LUN directive, 3-4 @ command, 4-37 , 4-38 , 5-7 B Batch jobs, 4-18, 4-19, 4-115, 4-117 to 4-121 .BEGIN directive, 5-2 Branch to label directive, 5-4 BYE command, 4-8 c Calling a subroutine, 5-4 CANCEL command, 4-9, 4-10 .CHAIN directive, 5-2 /CLI keyword, 3-2 .CLOSE directive, 5-3 Close files and exit directive 5-2 , Command file for logical name assignments, 5-in Command interpreter, selecting 3-2 , Commands, 1-5 to 1-7, 4-2 to 4-125 ALLOCATE, 3-2, 3-3, 4-2 APPEND, 4-3 ASN, 3-4 to 3-6, 4-6, 4-7, 5-1~ BYE, 4-8 CANCEL, 4-9, 4-10 CONTINUE, 4-11 COPY, 4-12 to 4-15 DEALLOCATE, 4-16 DEBUG, 3-7, 4-17 DELETE, 4-18, 4-19 Commands, (Cont.) DELETE/ENTRY, 4-20 DEPOSIT, 4-21 to 4-23, 4-34 DIRECTORY, 4-24 to 4-31 DMOUNT, 4-32, 4-33 EXAMINE, 4-34 to 4-36 Execute procedure (@), 4-37, 4-38 EXIT, 4-33, 4-40, 4-85 INITIALIZE, 4-41 to 4-47 LIBRARY, 4-48 to 4-58 LINK, 4-59 to 4-65 LOGOUT, 4-67, 4-106 MACRO, 4-68 to 4-71 MOUNT, 3-3, 3-4, 4-72 to 4-81 ON statement, 4-82 ON CONTROL Y, 4-83, 4-84 ON severity-level, 4-85, 4-86 PRINT, 4-87 to 4-90 PURGE, 4-91 RUN (image), 4-92, 4-93 RUN {process), 4-94 to 4-103 SET, 4-104 to 4-108 SET HOST, 4-106 SET PASSWORD, 4-107 SET /UIC, 4-108 SHOW, 4-109, 4-110 STOP, 4-111 to 4-113 STOP/ABORT, 4-114 STOP/ENTRY, 4-115 STOP/REQUEUE, 4-116 SUBMIT, 4-117 to 121 TIME, 4-122 TYPE, 4-123 UFD, 4-124, 4-125 Comment directive, 5-2 Comments in command lines, 2-17 Components, RSX-llM, 3-7 to 3-9 Conditional directives, 5-4, 5-5 CONNECT directive, 1-4 CONNECT TO INTERRUPT VECTOR directive, 1-4 Continuation character, 2-16 CONTINUE command, 4-11 Continue processing directive, 5-2 Control characters, 2-14, 2-15, 4-11, 4-17, 4-66, 4-111 to 4-113, 4-123, 5-15 Controller designator, 2-6, 2-14 COPY command, 4-12 to 4-15 Creating an unprotected disk volume, 5-15 D .DATA directive, 5-3 Data recognition, 5-11 to 5-12 Index-1 INDEX <DATE>, 5-9 Date and time formats, 2-19 to 2-21 DEALLOCATE command, 4-16 DEBUG command, 3-7, 4-17 .DEC directive, 5-3 Decrement symbol value directive, 5-3 <DEFAUL>, 5-9 Default command interpreter, 4-n6 directory name, 2-4, 2-7 file types, 2-8 to 2-10 radix, 4-22, 4-23, 5-10, 5-11 Task Builder switches, 3-11 Defining a label, 5-2 Definition request directives, 5-2 .DELAY directive, 5-3, 5-12 DELETE command, 4-18, 4-19 DELETE/ENTRY command, 4-20 Deletion of files after processing, 5-8 Delta times, 2-21 DEPOSIT command, 4-21 to 4-23 /DE switch, 5-8 Detached process, 2-2 Device mnemonic, 2-6 of system device, 5-9 Device name, 2-n to 2-7, 2-14 Device types, VAX/VMS, 2-7 Device specification, 2-5 to 2-7, 3-3 DIRECTORY command, 4-24 to 4-31 Directory name, 2-4, 2-7 Directory representation, 5-9 .DISABLE directive, 5-3 .DISABLE DOLLARS directive, 5-3, 5-11, 5-12 .DISABLE ESCAPE directive, 5-3 .DISABLE GLOBAL directive, 5-3 .DISABLE LOWERCASE directive, 5-3 .DISABLE QUIET directive, 5-3 .DISABLE SUBSTITUTION directive, 5-3 Disk, unprotected, 5-15 Dismounting a volume, 4-32, 4-33 DMOUNT command, 4-32 , 4-33 Dollar sign recognition, 5-11, 5-12 disabling, 5-3 enabling, 5-3 E Echoing of CLI command lines, enablinq, 5-4 suppressing, 5-3 EDI, 3-8 .ENABLE DATA directive, 5-3 .ENABLE DOLLARS directive, 5-3, 5-11, 5-12 .ENABLE ESCAPE directive, 5-4 .ENABLE GLOBAL directive, 5-4 .ENABLE LOWERCASE directive, 5-4, 5-15 .ENABLE QUIET directive, 5-4 .ENABLE SUBSTITUTION directive, 5-4 .END directive, 5-4 .ERASE GLOBAL directive, 5-4 .ERASE LOCAL directive, 5-4 Error conditions during indirect file processing, 4-85, 4-86 Error messages, 2-21, 2-22 <ESCAPE>, 5-9 Escape character recognition, disabling, 5-3 enabling, 5-4 EXAMINE command, 4-21, 4-34 to 4-Jn Execute procedure, 4-37, 4-38 Execution of images, 1-1, 1-2 Execution of indirect command files, 3-10, 4-11, 4-37, 4-38, 4-82 to 4-86, 4-111 to 4-113, 4-117 to 4-121, 5-7 stopping, 4-111 to 4-113 EXIT command, 4-39, 4-40, 4-85 .EXIT directive, 5-4 <EXSTAT>, 5-4, 5-6, 5-9 F FCS, 1-4 'F$DIRECTORY function, 5-14 'F$EXTRACT function, 5-14 File Control Services, 1-4 File protection, 2-4, 2-18, 2-19 Files-11, 1-4 File specifications, 2-5 to 2-10 defaults, 2-8 to 2-10 File Transfer Program, 3-9 File types, default, 2-8 to 2-10 'F$LENGTH function, 5-14 'F$LOCATE function, 5-14 'F$LOGICAL function, 5-14 FLX, 3-9 'F$MESSAGE function, 5-14 'F$MODE function, 5-14 'F$PROCESS function, 5-14 'F$TIME function, 5-14 Functions, lexical, 5-13 to 5-14 'F$USER function, 5-14 'F$VERIFY function, 5-14 Index-2 INDEX G Generic-device names, 3-3 GET MCR COMMAND LINE directive, 3-6 GET SENSE SWITCH directive, 1-4 Global symbol definition, disabling, 5-3 enabling, 5-4 erasing, 5-4 Global symbol table, 5-14 .GOSUB directive, 5-4 .GOTO directive, 5-4 Group logical name table, 2-11 H Hibernation, 4-102 .IF directive, 5-4 .!FACT and IFNACT directives, 5-5, 5-7 .IFDF directive, 5-5 .IFF directive, 5-5 .!FINS and .IFNINS directives, Length of string symbol, testing, 5-n Lexical functions, 5-13 to 5-14 LIBRARY command, 4-48 to 4-58 <LIBUIC>, 5-9 LINK command, 4-59 to 4-65 Local symbol definition, erasing, 5-4 Logging in to VAX/VMS, 2-2, 3-1, 3-2, 4-66 Logical names, 2-10 to 2-12, 3-3 to 3-n assignment by indirect command file, 5-10 Logical name tables, 2-11 Logical unit number, 3-4, 3-5, 3-11 Login file, 3-2 Login proce0ure, 4-66 Login process, 2-2 LOGOUT command, 4-8, 4-67, 4-106 Lowercase characters, enabling conversion to uppercase, 5-3 enabling use in strings, 5-4 LUN, 3-4, 3-5, 3-11 5-5, 5-7 M .IFLOA and IFNLOA directives, 5-5, 5-7 .IFT directive, 5-5 Image characteristics, 2-1, 2-2 Image execution requirements, 1-1, 1-2 .INC directive, 5-5 Increment symbol value directive, 5-5 Indirect command files, 3-10, 4-11, 4-37, 4-38, 4-82 to 4-86, 4-111 to 4-113, 4-117 to 4-121, 5-1 to 5-lfi sample, 5-Hi INITIALIZE command, 4-41 to 4-47 Installing images, 3-5 to 3~n K Keywords, 2-17, 2-18 L MAC, 3-8 MACRO command, 4-nB to 4-71 Mailboxes, 4-101 <MAPPED>, 5-9 Mapping RSX-llM physical device names, 2-14, 3-4 Mapping RSX-llM pseudodevice names, 2-13 Mark beginning of block, 5-2 MCR command interpreter, 1-1, 1-5 to 1-7, 3-2, 3-5, 3-n, 3-7, 4-1 to 4-17.5, 5-8 MCR commands, 4-1 to 4-125. See also Commands. command summary, 1-5 to 1-7 file manipulation commands, 1-7 informational commands, 1-5 initialization commands, 1-5 process control commands, 1-5 to 1-fi program development commnnds, 1-6 .label directive, 5-2 Labels, branching to, 5-4, 5-5 defining, 5-2 Label tables, 5-10 /MC switch, 5-8 Memory size, 5-9 <MEMSIZ>, 5-9 MOUNT command, 3-3, 3-4, 4-72 to 4-81 Index-3 INDEX Mounting volumes, to 4-81 3-3, 3-4, 4-72 N Nesting indirect command files, 5-13 /NODE switch, 5-8 /NOMC switch, 5-8 Noncontiguous image files, 3-11 Nonprivileged task library UIC, 5-9 /NOTR switch, 5-8 Numeric symbols, 5-10 Processor requirements for image execution, 1-2 Program development under RSX and VMS, 3-7 Protection codes, 2-18, 2-19, 4-4 Pseudodevice names, 2-13 PURGE command, 4-91 Q Qualifiers for indirect command file specification, 5-8 Question directives, 5-2 Queue, deleting entry in, 4-18 to 4-20 stopping job in, 4-115 to 4-116 Quotas, 4-102, 4-109 0 Object modules, linking, 4-59 to 4-65 ODT I 3-7 ON CONTROL_Y statement, 4-83, 4-84 ON severity-level statement, 4-85, 4-8n ON statement, 4-82 .ONERR directive, 5-5, 5-7, 5-8 .OPEN directive, 5-5 .OPENA directive, 5-5 Operator, radix. See Radix indicator. Overlays, 3-11 p .PAUSE directive, 4-11, 5-5, 5-12 Physical device names mapping, 2-14, 3-4 specifying, 3-3 PIP, 3-8, 3-9, 4-15 PLAS directives, 1-4 Preparing to run an image, 3-2 to 3-6 Pre-system generation command file, 5-H> PRINT command, 4-87 to 4-90 Privileges, 2-4, 2-5, 2-11, 3-2, 3-6, 5-15, A-1 to A-2 Priorities, 2-5 Process characteristics, 2-1 to 2-3 identification, 2-2 to 2-4 loqical name table, 2-11, 2-12 name, 2-2 priority, 2-5 protection, 2-4 R <RAD50>, 5-9 Radix indicator, 5-10, 5-11 Radix operator. See Radix indicator. REA command, 3-5 Reassign command, 3-5 Rebuilding of task images, 1-2 RED command, 3-5 Redirect command, 3-5 Return code, 4-39, 4-40, 4-85 .RETURN directive, 5-6 Request execution of indirect command file, 4-37, 4-38, 5-7 Requirements for RSX-llM image execution, 1-2 Resource quotas and limits, VAX/VMS, B-1 RMS-11, 1-4 <RSXllD>, 5-9 RUN command, 3-6, 4-92 to 4-103 Running images, 3-6, 4-92 to 4-103 s Selecting a command interpreter, 3-2 SET command, 4-104 to 4-108 SET DEFAULT UIC command, 4-108 .SETF directive, 5-6 SET HOST command, 4-106 .SETN directive, 5-~ SET PASSWORD command, 4-107 SET PROTECTION command, 2-19 .SETS directive, 5-n .SETT directive, 5-6 SET /UIC command, 4-108 SHOW command, 4-109, 4-110 Index-4 INDEX .SETx directives, 4- , 5-6 Termination of indirect file SHOW LOGICAL command, 2-11, processing, 4-109 directive, 5-6 SHOW PROCESS command, 2-3, 4-113 status of data files, 5-14 status of global symbol SHOW SYSTEM command, 2-3 SHOW TIME command, 4-122 table, 5-14 Slash (/) directive, 5-2 with control characters, 5-15 .TEST directive, 5-6 Software requirements for image !text of ;text directive 5-2 execution, 1-2 Special symbols, 5-9 <TIME>, 5-9 Status code returned on exit, 4-39, TIME command, 4-122 4-40, 4-85 Time formats, 2-19 to 2-21, 4-103 STOP/ABORT command, 4-114 Tracing file execution, 5-8 /TR switch, 5-8 STOP/ENTRY command, 4-115 Truncating command names and STOP command, 4-111 to 4-113 .STOP directive, 5-6 keywords, 2-17 TYPE command, 4-123 STOP/REQUEUE command, 4-116 <STRLEN>, 5-9 SUBMIT command, 4-117 to 4-121 Subprocess, 2-2, 2-4, 4-111 to 4-113 UAF, 2-3, 2-5 Subroutine, UFD command, 4-124, 4-125 call directive, 5-4 UIC, 2-2 to 2-4, 4-108 return directive, 5-n <UIC>, 5-9 Suspend execution directive, Unit number mapping, 2-14 5-3, 5-12 Switches for indirect command Unit number of system device, 5-9 file specification, 5-8 Unprotected disk, creating, 5-15 <SYDISK>, 5-9 User authorization file, 2-3, 2-5 Symbol substitution, 5-9 User categories, 2-4, 2-18, 2-19 disabling, 5-3 User file directory, 4-124, 4-125 enabling, 5-4 User identification code, 2-2 Symbol value radix, 5-10 to 2-4, 4-108 Syntax rules, 2-lh to 2-21 Utilities, 1-2, 1-3, 2-2, 3-7 SYS$COMMAND, 5-11 to 3-10 SYS$ INPUT, 5-11 <SYS'!' EM>, 5-9 System-defined logical names, 2-12, 2-13 VAX/VMS environment, 2-1 to 2-22 System generation, 5-15 to 5-ln Version numbers, 2-7 System logical name table, 2-11, VFYl, 3-7 2-12, 3-6 System UIC, 5-9 <SYSUIC>, 5-9 <SYUNIT>, 5-9 u v w T '!'ask Builder options, 3-11 switches, 3-11, 3-12 TASK option, 3-11 TBK, 3-8 Terminal functions, 2-14 to 2-1() Wake-up request, cancelling, 4-9, 4-10 Wild card characters, 2-6 Write data to secondary file directive, 5-3 x .XQT directive, 5-8 Index-5 VAX-l l/RSX-11 M User's Guicte AA-D037B-TE READER'S COMMENTS NOTE: This form is for document comments only. DIGITAL will use comments submitted on this form at the company's discretion. If you require a written reply and are eligible to receive one under Software Performance Report (SPR) service, submit your comments on an SPR form. Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. --------·--------·-------------·· Did you find errors in this manual? page number. ---- If so, specify the error and the ___________ ,., ___ ,.~-- Please indicate the type of reader that you most nearly represent. [] Assembly language programmer [] Higher-level language programmer [] Occasional programmer (experienced) [] User with little programming experience [] Student programmer [] Other (please specify>-----·------·--- Date __________.________ Organization _ _ _ _ __ Street ____ ,__ state _ _ _ _ _ _ Zip Code _ _ _ _ _ __ or Country - - Do Not Tear - Fold Here and Tape - - - - - - - - - - - No Postag Necessary if Mailed in United Stat -----·------·-·-- BUSINESS REPLY MAIL FIRST CLASS PERMIT N0.33 MAYNARD MASS. ~-----····-----· ---· POSTAGE WILL BE PAID BY ADDRESSEE BSSG PUBLICATIONS TW/A4 DIGITAL EQUIPMENT CORPORATION 1925 ANDOVER STREET TEWKSBURY, MASSACHUSETTS Do Not Tear - Fold Here 01876
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies