Digital PDFs
Documents
Guest
Register
Log In
AA-D0O23A-TE
August 1978
388 pages
Original
18MB
view
download
OCR Version
16MB
view
download
Document:
VAX/VMS Command Language User's Guide
Order Number:
AA-D0O23A-TE
Revision:
0
Pages:
388
Original Filename:
OCR Text
August 1978 The manual provides describes the detailed reference VAX/VMS command information and language, DCL. examples of all It . non- privileged commands available to general users. VAX/VMS Command Language User's Guide Order No. AA-DO23A-TE SUPERSESSION/UPDATE INFORMATION: This is a new document for this release. OPERATING SYSTEM AND VERSION: VAX/VMS V01 SOFTWARE VERSION: VAX/VMS V01 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 The information in this document is subject 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 C) 1978 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 DECsystem-10 DECtape MASSBUS OMNIBUS DECUS UNIBUS COMPUTER LABS EDUSYSTEM FLIP CHIP FOCAL PHA RSTS RSX VAX VMS DECnet IAS PDP COMTEX DDT DECCOMM ASSIST-11 DIBOL INDAC LAB-8 DECSYSTEM~20 RTS~8 0s/8 TYPESET-8 TYPESET-11 TMS-11 ITPS-10 SBI 9/79-14 CONTENTS Page viii PREFACE Manual Objectives Intended Audience 3 4 Structure of this Document Associated Documents Conventions Used in this Document O WO 00 00 Function Keys Characteristics DCL COMMANDS FILE SPECIFICATIONS FILE SPECIFICATIONS AND LOGICAL NAMES Network Nodes Devices Directories File Names, File Types, Version Numbers Defaults for File Specifications Wild Cards @ s NAMES Logical How to Logical Default Logical AND Name Tables Specify Logical Names Translation Name Logical Names TAPE PROTECTION Volume and Names for Program VOLUMES File Protection Device Allocation VOLUME INITIALIZATION iii Input/Output | et CHARACTERISTICS HoNooututnd s WNHH | e Procedures SYSTEM wWwWhNhNH = N [ . O L) L] o LANGUAGE Commands Special Terminal Setting Terminal SUMMARY OF VAX/VMS LOGICAL W N - L) * LN NN - NMNDNMNNDDNDNDNDDNDND DCL e i e e e el | 1 I 11 11 FILE COMMAND for I L) e Command TERMINAL 1 1.1 1.2 THE Synonyms THE w L] * . wwww COMMAND EXTENDING DISK 2 MESSAGES HELP N COMMANDS PROMPTING SYSTEM N @ . ENTERING THE .1 .2 3 4 SYSTEM ENVIRONMENT COMMAND and CHAPTER THE COMMAND Pl YOUR = COMMAND LANGUAGE ACCESSING DN - CHAPTER THE OVERVIEW N CHAPTER USING [ I. et b e b bt e et e . L] . . . [ L] . L] L) L] L) L) HFHOWOWONNNIOAOd W PART NN 5 0 1 2 3.3 3.3.1 3.3.2 3.4 3.4.1 MOUNTING VOLUMES ON DEVICES Requesting Operator Assistance Dismounting Volumes USING DISK AND TAPE VOLUMES Using Disks 3-5 3-5 3-6 3.4.3 3.5 Multivolume Tape Sets ACCESSING DEVICES IN BATCH JOBS 3-10 3-12 4 PROGRAMMING WITH VAX/VMS 4-1 4.1 COMMANDS FOR PROGRAM DEVELOPMENT 4-1 3.4.2 CHAPTER 4.1.1 4.1.2 Using Tapes 3-9 4-3 Program Libraries Controlling Program Updates 4-4 and Modifications 4,2 4.2.1 4,2.2 4.2.3 4.3 4.3.1 4,3.2 4.4 4,4.1 4.4.2 DEBUGGING Symbolic Debugging Debugging with Virtual Addresses Interrupting Program Execution EXIT HANDLERS AND CONDITION HANDLERS Exit Handlers Exception Conditions PROCESS CONCEPTS Priorities, Privileges, and Quotas Input, Output, and Error Streams 4-4 4-5 4-6 4-6 4-8 4-8 4-8 4-8 4-9 4-9 5 COMMAND PROCEDURES AND BATCH JOBS 5-1 5.1 5.1.1 5.1.2 5.2 5.2.1 5.2.2 5.3 5.3.1 CREATING COMMAND PROCEDURES Entering Data in Command Procedures Command Procedures without Commands EXECUTING COMMAND PROCEDURES INTERACTIVELY Input and Output Devices Verification of Command Procedure Execution BATCH JOBS Submitting Batch Jobs from the Terminal 5-1 5-2 5-3 5-4 5-4 5-4 5-5 5-5 5.3.3 5.4 5.5 5.6 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 5.6.6 Input and Output Devices COMMAND LEVELS THE LOGIN.COM FILE USING SYMBOLS IN COMMAND PROCEDURES Local Symbols Global Symbols Symbol Substitution Passing Parameters to Command Procedures The INQUIRE Command Deleting Symbols 4.4.3 CHAPTER 3-7 3=-7 5.3.2 5.7 5.7.1 5.7.2 5.7.3 5.7.4 5.7.5 5.8 5.8.1 5.8.2 5.9 5.9.1 5.9.2 5.9.3 5.9.4 4-11 Processes and Subprocesses Submitting Batch Jobs through the Card Reader COMMANDS TO CONTROL THE EXECUTION OF A COMMAND PROCEDURE The IF Command The GOTO Command . The EXIT and STOP Commands Testing Status Values The SYNCHRONIZE and WAIT Commands READING AND WRITING FILES Reading and Writing Process Permanent Files File Formats LEXICAL FUNCTIONS FSMODE and FS$SVERIFY FSEXTRACT, FSLOCATE, FSLENGTH, and FSTIME FSDIRECTORY, F$PROCESS, and FSUSER FSLOGICAL iv 5-6 5-7 5-7 5-8 5-8 5-10 5-10 5-11 5-12 5-14 5-14 5-14 5-15 5-16 5-16 5-17 5-20 5-20 5-21 5-21 5-22 5-23 5-24 5-25 5-26 II. Comparisons Rules for Specifying String Comparisons Rules for Specifying Arithmetic Operations Rules of Precedence in Expressions RULES FOR SPECIFYING LEXICAL FUNCTIONS 6.8 6.8.1 6.8.2 RULES FOR ENTERING DATES AND TIMES Absolute Times Delta Times COMMAND DESCRIPTIONS = @ (Assignment Statement) (Execute Procedure) ALLOCATE APPEND ASSIGN BASIC CANCEL CLOSE COBOL/RSX11 CONTINUE COPY CREATE DEALLOCATE DEASSIGN DEBUG DECK DEFINE DELETE DELETE/ENTRY DELETE/SYMBOL DEPOSIT DIFFERENCES DIRECTORY DISMOUNT DUMP EDIT EOD EOJ EXAMINE EXIT FORTRAN GOTO HELP | — o) wWWwhN = (o)) mo\ol\m | | O N [ N T O Rules for Specifying Logical Operations Rules for Specifying Arithmetic 6.6.4 6.6.5 6.6.6 6.7 HH 000D .6.2 .6.3 Rules for Determining Qualifier Defaults Rules for Entering Qualifier Values Rules for Entering Output File Qualifiers [I T W o W e W e M o) o) I o Re)] [e) W o)W PART 3.1 .3.2 .3.3 B RULES FOR ENTERING CHARACTER STRING DATA RULES FOR ENTERING NUMERIC VALUES RULES FOR FORMING EXPRESSIONS Rules for Entering Operators 6.1.2 6.1.3 6.2 6.2.1 RULES O\ O\ O) OY OY OY O .4 .5 .6 .6.1 1.1 O .3 FOR ENTERING COMMANDS Rules for Continuing Commands on More than One Line Rules for Entering Comments Rules for Truncating Keywords RULES FOR ENTERING FILE SPECIFICATIONS Rules for Entering File Specification Lists RULES FOR ENTERING QUALIFIERS o O L] L 1 O GRAMMAR RULES (=) CHAPTER IF INITIALIZE INQUIRE JOB LIBRARY LINK LINK/RSX11 Login Procedure LOGOUT MACRO MCR MOUNT ON OPEN PASSWORD PRINT PURGE READ RENAME REQUEST RUN RUN (Image) (Process) SET SET CARD_READER SET CONTROI,_Y SET DEFAULT SET MAGTAPE SET ON SET PROCESS SET PROTECTION SET QUEUE SET RMS_DEFAULT SET TERMINAL SET VERIFY SET WORKING_SET SHOW SHOW DAYTIME SHOW DEFAULT SHOW DEVICES SHOW LOGICAL SHOW MAGTAPE SHOW NETWORK SHOW PRINTER SHOW PROCESS SHOW PROTECTION SHOW QUEUE SHOW RMS_DEFAULT SHOW STATUS SHOW SYMBOL SHOW SYSTEM SHOW TERMINAL SHOW TRANSLATION SHOW WORKING_SET SORT/RSX11 STOP SUBMIT SYNCHRONIZE TYPE UNLOCK WAIT WRITE INDEX vi FIGURES PART 1 Figure PART 2-1 4-1 4~2 A Directory Hierarchy Steps in Program Development An Interactive Process 5~1 5-2 Command Levels Testing Parameters Procedure Passed 2-5 4-2 4-1 5-9 to a Command 5-1 II Figure 1 Sample Output of DIFFERENCES Command 71 2 Sample Output of DIRECTORY Command 76 TABLES PART I Table 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 PART Table Terminal Function Keys Commands for Terminal Communication and Control Commands for File Manipulation Commands for Device Handling Commands for Program Development and Control Commands for Command Procedures and 1-8 1-11 1-12 1-13 1-14 Batch Jobs User , 1-16 1-18 Privileges Resource Quotas 1-19 2-1 2-2 2-3 Device Names Default File Types File Specification Defaults 2-3 2-6 2-8 2—-4 Default Process Logical Names 2~-16 5-1 Summary 5-22 6-1 Nonalphanumeric Characters 6-9 1 LIBRARY Command Qualifiers 118 2 SET 3 4 Default Characteristics SHOW Command Options of Lexical Functions II Command Options vii 186 for Terminals 209 215 PREFACE 0.1 Manual Objectives This manual describes the VAX/VMS command language, DCL (DIGITAL Command Language), and provides usage and reference information on the command 0.2 language. Intended Audience This manual is intended for all users of the VAX/VMS operating system, including applications programmers, system programmers, operators, and managers. The VAX/VMS Primer is a tutorial manual that introduces the VAX/VMS operating system and the use of the command language. General users who are not familiar with interactive computer systems should read the Primer before using this command language user's guide. The VAX/VMS Summary Description introduces operating system concepts of general interest. It is recommended that system programmers and managers be familiar with the material in the before using this command language user's guide. 0.3 Structure of The manual Part I. has Using description this Document two parts: the Command Language This part is tutorial; it provides language and operating system concepts. ® summary an overview of the command Part I contains six chapters: Chapter 1, "Overview" describes how to access the system and enter commands. At the end of Chapter 1, on colored pages, are tables that summarize the DCL commands 1in functional categories. e Chapter 2, "File Specifications and Logical Names" explains the device and file naming conventions of the operating system and describes how to assign and use logical devices and files in commands and programs. e names to refer to Chapter 3, "Disk and Tape Volumes" discusses concepts related to accessing files on disk and tape volumes, and provides examples of initializing and using disks and tapes. viii e Chapter program 4, describes an overview of DCL commands the execute. environment Chapter 5, "Command Procedures and Batch Jobs" explains how to create command procedures to execute sequences of commands, how to submit command procedures for execution as batch Jjobs, and how to use some of the language features available in DCL to construct complex procedures. e Chapter 6, "Grammar Rules" describes the syntax of the command language and defines the rules for entering commands, command parameters and qualifiers, numeric values and expressions, and II. This data. Command Descriptions part commands contains are detailed 1listed 1n appearing at the top of command' description. 0.4 in which programs the and ® character Part "Programming with VAX/VMS" gives development tools provided by descriptions alphabetical the first and of each order, every with page command. the of The command the name individual Associated Documents See the VAX-1ll documents and this book. 0.5 Information to obtain Conventions used (CRET ) in Directory the order for a description of related numbers of manuals referred to in this Document A symbol with a oneto three-character abbreviation indicates that you press a key on CTRL/x the terminal, The phrase press for CTRL/x the example, (wr indicates key or that labeled CTRL . you must while you simultaneously press another key, for example CTRL/C, CTRL/Y, CTRL/O. In examples, this control key example “C, sequence system echoes $ SHOW TIME 05-jun-1978 "Y, 1is "0, control key Command examples show 11:55:22 prompting characters shown because output the or displays in black user~entered commands are letters. $ $ FORTRAN MYFILE LINK MYFILE Examples enclosed showing the in boxes. Vertical series of all of “x, for is how the sequences. all that as that lines system letters. in All red shown contents of or prints files are $ RUN MYFILE $ TYPE MYFILE.DAT not periods, . that . would display in response to command 1is shown; or, that a user would enter is shown. ix the or data ellipses that the mean system the particular not all the data file-spec,... Horizontal ellipses indicate that additional parameters, values, or information can be entered. [logical-name] Square brackets indicate that the enclosed item is optional. (Square brackets are not, however, optional in the syntax of a directory name in a file specification or in the syntax of a substring specification in an assignment guotation marks apostrophes statement.) The term quotation marks double quotation marks apostrophe (') quotation mark. is used to refer to ("). The term 1is used to refer to a single PART 1 USING THE COMMAND LANGUAGE CHAPTER 1 OVERVIEW The DCL command language of commands for: ® Interactive ® Device e Interactive and provides VAX/VMS users with an extensive set program development data and file manipulation batch program execution and control The following sections show how to access the system and describe how the system processes commands interactively. These sections are followed by tables, on colored pages, that describe all the commands available to general users. The commands are listed in functional categories to provide a quick overview of VAX/VMS capabilities. 1.1 ACCESSING THE SYSTEM When a terminal is physically connected attention and signal that you want pressing the RETURN or CTRL/Y key. The you for user name. After to enter your password. Username! FATTIT (R prompts your you you to the system, you can get its to begin a terminal session by system responds by prompting enter For your user name, the system example: RET Fassworadl When you enter the password, system accepts the input the system does not echo it, that is, 1line, but does not display it on the the terminal. During this sequence, known as login, are authorized to use the system. the system validates that When the login is complete, system may display messages telling you about the system. the system indicates that it is ready to accept commands by the prompting character, a dollar sign ($), as shown below: WELCOME TO VaX suME RELEASE you the Finally, displaying 1 % 1.2 YOUR COMMAND ENVIRONMENT When you have logged into the system, accept commands, the system defines to your requests. This the system 1is ready environment within which environment et ! = responds and the 1is called a to it process. OVERVIEW Associated with your among which are the process are following: various default characteristics, e An account number, which your @ A user identification code (UIC), which provides you with a group number and a member number within the group. Other users can have the same group number. Within groups, users are allowed to share files or system resources more freely. e A default disk device and directory name, which the system uses to locate and catalog files that you create or use. e Default devices for the input, output, and error streams of the process, from which the system reads command and program of the computer installation uses to keep resources used. track input and to which the system writes messages. e A set of privileges and resource quotas that define what system resources or system functions you, or programs you execute, will be allowed to use. Tables 1-7 and 1-8 at the end of this chapter summarize the specific privileges and quotas e the system defines. A command interpreter -- the operating system component responsible for reading and translating your typed-in requests. This manual describes only the DCL command interpreter. The system obtains the characteristics unique to your process from the user authorization file. The user authorization file is a list of all users who can access the maintains this file. 1.3 system; the system manager or operator ENTERING COMMANDS Commands consist of English-language names (generally verbs) that describe what you want the system to do. Commands can optionally contain qualifiers and parameters. Command qualifiers modify a command: they provide the system with additional information on how to execute the command. Command parameters describe the object of the command: in some cases, a parameter is a keyword; in other cases, it is a file or a device to manipulate or a program to execute. The following example shows a PRINT command, terminal: I $ FRINT/COFIES=2 MYFILE.DAT Joh 210 enmtered on eueue as it would appear on a Print the file LFROZ & Notes: $ The system prompt for command input; a dollar sign means that the command interpreter is ready for you to type a command, FRINT The command name, requesting the system to queue a file for printing on the system printer. OVERVIEW /COPITES=2 A qualifier to the PRINT command, requesting that two MYFILE.DAT The command parameter, naming the file to be printed. In this command, as for many DCL commands, the parameter is a file specification. At least one blank space must always immediately precede a parameter. copies of the specified file be printed. Qualifiers are always preceded with slash characters (/), and, 1if they require a value (as 1in this example), the qualifier name is separated from the value with either an equals sign (=) or a colon (:). (rer) The carriage return. Pressing this key after entering a full command line terminates the command input; the system begins processing the command. Note that examples 1in this manual do not explicitly show the lines unless following commands; shown in examples stated otherwise. you can assume that must be terminated with all Job 210 enmtered on cueue LFRO: A message from the PRINT command, indicating that the command completed successfully; the command interpreter gave the print job an identification number and queued it to the system printer named LPBO. % ! The next $ prompt, indicating that the PRINT command has completed successfully; that is, two copies of the file MYFILE.DAT were queued for printing and the system is ready to accept another command. Fyeint Chapter file A comment. The command interpreter beginning with an exclamation point. the 6, "Grammar Rules" contains complete rules for entering commands, parameters, ignores details on and qualifiers, e Continuing commands on more than one line ® Shortening command and other names to keyword any the data syntax including: four or fewer characters ® 1.4 Specifying values for qualifiers COMMAND PROMPTING When you enter a command at the terminal, you need not enter the entire command all at once. If you enter a command that requires parameters and do not specify any parameters, the command interpreter prompts you for all remaining parameters, including optional parameters. $ For FRIMT/COFPIES =2 $.Filel Job In 211 . .DaT MYFILE sntered orn cuesue LFAL this example, file example: no parameter specification. system 1s A in prompt mode. 1line is entered, beginning so the with system prompts for a $_ indicates that the OVERVIEW When you are prompted for an optional parameter, you can press to complete the command sequence without specifying the parameter, the following example illustrates: ¢ ALLOCATE s levice! as M3 $.l.og..Name: ALLOCATED SIMEBLD In the above example, the ALLOCATE command is entered with no parameters; the command interpreter begins prompting for all parameters. The second prompt, $_Log Name:, is for an optional logical name parameter. A null entry, signaled by <RET>, terminates the command 1.5 entry. SYSTEM MESSAGES When you enter a command incorrectly, the command interpreter issues a descriptive error message telling you what was wrong. For example, if you specify more than one parameter for a single parameter, you receive the message: ANCL~W-MAXFARMy You must Other then retype maximum the rarameter count command accepts a exceeded command. error messages may occur during execution of a messages that command. These can indicate such errors as a nonexistent file or a conflict in qualifiers. Not all messages from the system indicate errors; some messages informative, or merely warn you of a particular condition. Messages have the general 3XXX~-L-CODE, are format: text where XXX is a mnemonic for the operating system facility or program issuing the message, L is a severity level indicator (S success, I for informational, W for warning, E for error, and F fatal), and CODE is a shorthand code for the message text. the for for Because the messages are descriptive, you can usually need to do when you issue the command again. what you The VAX/VMS System Messages and Recovery Procedures Manual 1lists system messages and describes what you can do to correct an error. the tell P 1.6 THE HELP COMMAND When you are using the system, you may not always have this user's guide available at your terminal when you need a summary of the format of a particular command or a list of its valid qualifiers. The HELP command provides you with this information. For example, if you type the command: ¢ HELF FRINT OVERVIEW The system responds by displaying an abstract of the PRINT command and keywords you can enter as parameters to the HELP command to obtain more information about PRINT. If you enter the following: $ The HELF HELP FRINT QUALIFIERS command displays a description of each PRINT command qgualifier. 1.7 EXTENDING THE COMMAND LANGUAGE Beyond the normal syntax and acceptable command names and VAX/VMS lets you define synonyms for command names, commands by writing command procedures. 1.7.1 You can create with synonyms symbol name $ LIST the LIST to substitutes equated equate For example, string. to a real names. that DCL command You define a symbol you name could as symbolic name to define a a follows: 3= DIRECTORY of the first the can ¢ FLOEL terminal word symbol also $= on with contain DELETE assignment command symbolic a the session, when you command line, the string DIRECTORY enter the command and symbol interpreter executes the command. symbol This be the DIRECTORY using statements a character remainder as by assignment numeric value or A "create" Synonyms for DCL Comménds names For parameters, and a to of a command, for example: SYS$FRINT/ENTRY: statement necessary portion equates delete an the entry symbol from the name PDEL printer with queue, the except that the required value for the /ENTRY qualifier is omitted. When you use this symbol as a command synonym, you must also type the job identification number assigned to the entry, as shown below: ¢ FDOEL 210 When the command symbol PDEL with DELETE For in Part 1.7.2 A this then line, it executes substitutes the command: the SYSS$PRINT/ENTRY=210 additional synonyms, interpreter processes its current value and see information the on description of defining the = symbols (Assignment DCL command Statement) for command 2. Command command commands, procedure. qualifiers "programs” Procedures procedure some of 1is which a can file that contains conditionally control a the sequence execution of of DCL the By placing sets of frequently used commands and/or in command procedures, you can construct command language from DCL commands. After you create a command procedure, OVERVIEW you can execute all the commands in it with a single command. For example, suppose a procedure named TESTALL.COM contains the command lines: RUN WEEKCALC RUN TIMECARDS $ $ $ PRINT WEEKCALC.OUT,TIMECARDS.OUT You can execute the three commands in this file by entering: $ BTESTALIL You can also use the SUBMIT command to request the system to process a command for procedure as a batch job, so that your terminal remains free interactive work. Chapter 5, "Command Procedures and Batch Jobs" interpreter's symbolic command the using developing and using command procedures. 1.8 THE FILE provides details capabilities and on on SYSTEM Using DCL commands, you can create, access, and update data files and The VAX-1l1 Record Management Services (RMS) provide the programs. access and control capabilities that are called by the DCL commands you request. You can also define and access files from within your programs by using RMS or by using the input/output services of the VAX/VMS operating system directly. Chapter 2, "File Specifications and Logical Names" describes how to It also describes the directory identify and refer to files. structure of the files on disk volumes and explains how to create a hierachy of directories to catalog and maintain files. Table 1-3, at the end of this Chapter, lists the DCL commands that Each of these commands is provide file manipulation functions. For a 1list of manual. this of 1II Part in described in detail additional manuals that contain information on file services and utilities, see the VAX-ll Information Directory. 1.9 TERMINAL CHARACTERISTICS Your terminal keyboard is the means by which you communicate with the command interpreter or enter data solicited by a command or program. Although a terminal keyboard is similar to that of a typewriter, there are several differences between the way a typewriter and your terminal accept and display data that you type. These differences include: interpretation e The e The type—ahead buffer e Special of uppercase and alphabetic lowercase characters function keys When you type input lines to the command interpreter from a terminal that displays lowercase letters, the command interpreter translates all lowercase characters to uppercase before it executes a command, unless you enter character strings enclosed in quotation marks. 1-6 OVERVIEW After you enter responding to a it command, and while or executing it, your the command interpreter is keyboard is not locked; that is, you can continue typing. The system saves what you type this time 1in a special buffer called the type-ahead buffer. not, however, echo what you type. executed completes, the command typed. during It does When the command currently being interpreter displays what you have If you typed interpreter a full command 1line, including a <RET>, the command executes the command after displaying it. Otherwise, it displays what you have typed and waits for you to enter the rest of the line. If you have entered more than one complete line, it displays each line just before executing it. Some of the special terminal functions, so you it to the command processing. Some function section. terminal 1.9.1 Special Terminal Function Keys As type program you advantage type commands of them. or several Thus, if keys you the 1.9.1.1 Deleting Characters the recently entered $ After return data that make pressing most keys provide line-editing can correct or cancel what you type before passing interpreter. Other keys can interrupt system of the line-editing keys are described in the next Table 1-1 (at the end of Section 1.9.2) 1lists all of the function keys and describes their use. a at let the you mistake, key. - The character terminal, make you you changes can to can lines correct it take as (DELETE) key backspaces deletes it. For example: and you before over PRO (o) INT incorrectly and terminal, characters $ then typing the continue letter your the letters deleted so you can see what is "O", you can input by typing are being displayed deleted. delete "INT". it by pressing On a hardcopy between For backslash example: FRONONINT On a display terminal, pressing from the screen and moves the that performs the delete function 1.9.1.2 Deleting Lines - To actually erases the character cursor backwards. Note that the key is marked RUBOUT on some terminals. cancel an entire line, you can use the 1line and CTRL/U key sequence. To use the CTRL key, you must press it at the same time you press the other letter (in this case, U). For example, if you make many mistakes on a particular line and want to cancel the line and reenter it, use CTRL/U as shown below: ¥ FRNT/ZCIFY=2"U $ FRINT/COFIES=2 When you prompts cancel you for a line the MYFILE.DAT with next CTRL/U, line. the system ignores the OVERVIEW 1.9.1.3 Canceling Commands - If you are entering commands in response to prompts and want to discard the entire command you have entered so far (not just the most recently entered line), use CTRL/C or CTRL/Y, as shown below: $ FRINT/COFIES=3 "C MYFILE.DAT $_File? In this example, the PRINT command was entered correctly, and the system prompted for the name of a file to print. However, while entering the file name, the user decided not to enter the command at all, and used CTRL/C to discard the entire command. Setting Terminal Characteristics 1.9.2 There are many types of terminal, and each has its own operating You can change some of these characteristics, based characteristics. on your requirements, with the SET TERMINAL command. To determine the current command, characteristics as shown below: FSHOW of TERMINAL Each of the parameters displayed can be parameters for the SET TERMINAL command. $GET issue the SHOW TERMINAL terminal, your changed with For example: corresponding TERMINALZLOQWERCASE After you issue this command, all lowercase alphabetic characters displayed in lowercase lowercase letters). (if your are terminal is capable of displaying Table 1-1 Terminal Function Keys Function Key RETURN Carriage to line the current transmits return; (On for processing. system the some terminals, 1labeled 1is the RETURN key CR.) 1login initiates Before a terminal session, sequence. Control keys Define functions to be performed CTRL key and simultaneously. another key All CTRL/Xx are key are echoed on the terminal as "x. when the pressed sequences (continued on next page) OVERVIEW Table 1-1 (Cont.) Terminal Function Keys Key Function CTRL/Cl During command entry, processing. Before a terminal cancels session, command initiates 1login sequence. CTRL/I Duplicates CTRL/K Advances vertical CTRL/L Form CTRL/O Alternately function of the current tab stop. of Restarts 1line suppresses output terminal to Retypes the the current cursor Suspends input positioned terminal output Discards CTRL/X Discards the current line in the type-ahead buffer. CTRL/Y Interrupts DELETE next the current command control Signals end-of-file to suspended and the until input or returns continues line at CTRL/U the the that was pressed. CTRL/Z key. terminal. output line. CTRL/S to and the by CTRL/S. CTRL/R the TAB feed. display CTRL/Q the 1leaves end of the CTRL/Q is line. and deletes program execution the command for data the last character terminal and backspaces terminals, the DELETE and interpreter. entered from terminal. Deletes data entered over it. key is at the (On some labeled RUBOUT.) ESCAPE Has special programs, uses but to particular generally commands performs the or same function as RETURN. (On some terminals, the ESCAPE key is labeled ALTMODE.) TAB Moves the printing element or cursor on the terminal to the next tab stop on the terminal. The system provides tab stops at every 8 character positions on a line. 1 Certain system respond program CTRL/Y to that and and CTRL/C does echoes not as user programs interrupts. handle "Y. provide If CTRL/C CTRL/C, CTRL/C special is pressed has the routines to same to interrupt a effect as OVERVIEW 1.10 SUMMARY OF VAX/VMS DCL Tables 1-2 through 1-6 commands are grouped by Note COMMANDS summarize functional the VAX/VMS DCL commands. category, as follows: e Commands for terminal e Commands for file manipulation e Commands for device e Commands for program development e Commands for command procedures that several commands cases, listed with particular function. for and control handling are some Commands communication The listed a and and control batch in more qualifier than that is Table 1-2 Terminal Communication Command jobs one table required and to and, in request a Control Function String assignment; as synonym a defines for all a or local a symbol portion command String assignment; as synonym a defines for all or global a global or a name of a symbol portion of DCL name a DCL or a command DELETE/SYMBOL Deletes HELP Displays a command LOGOUT local information parameter Terminates or symbol about a qualifier command on communication between system MCR Passes a command Migration MCR line to Executive, command the or mode definition the a user RSX-11M places terminal the and the Application terminal REQUEST Displays a message at an opéfator's terminal SET Enables CONTROL_Y the interrupt use an of the CTRL/Y function image NOCONTROL_Y Disables the interrupt an SET TERMINAL Defines the characteristics of the the duration of a terminal session use of image the CTRL/Y function SHOW DAYTIME Displays terminal SHOW Displays current local or global SYMBOL strings SHOW TERMINAL Displays terminal or current date values the assigned current 1-11 key to key to . SET the in . and to time terminal of day ‘ symbols on the and the of the them characteristics for OVERVIEW 1-3 Table Commands for File Manipulation Function Command files to the one or more APPEND Adds the contents of one or more COPY Copies one CREATE Creates a file from data entered at the terminal end of another additional or in the CREATE/DIRECTORY | Defines a file or files more into files input stream new cataloging files directory for subdirectory or DELETE Removes a directory entry for a file or files DELETE/ENTRY Deletes an entry from a printer or batch job DIFFERENCES Compares the contents of files and reports the DIRECTORY Displays information about a file or a group of DUMP Displays data in ASCII, hexadecimal, octal, or EDIT Begins an interactive editing session to EDIT/SLP Provides input to the batch editor, SLP PRINT Queues a copy of a file for printing on a system PURGE Deletes all RENAME Changes the name of a file or a group of files SET DEFAULT Changes the default directory and/or disk device SET PROTECTION a file or Changes the protection applied to a files, restricting or allowing access group of and makes any data in the file(s) inaccessible gueue or stops processing of the current job differences between them files decimal format or modify a create file printer but the most recent versions of a specified file or files or version used to locate and catalog files to the file by different categories of user SET QUEUE/ENTRY SET RMS_DEFAULT SHOW DEFAULT Changes the attributes or status of an entry in the printer queue and multi-block default Defines counts for RMS file operations multi-buffer Displays the current default directory and disk device (continued on next page) OVERVIEW Table 1-3 (Cont.) for File Manipulation Commands Function Command SHOW PRINTER Displays characteristics of SHOW PROTECTION Displays the default files created SHOW QUEUE Displays the names current and pending batch job queues a line protection and jobs printer applied to new identifications in the printer of and multi-block operations and SHOW RMS_DEFAULT Displays the current multi-buffer counts for RMS SORT/RSX11 Creates a sorted copy of arranged in a particular a file, with records collating sequence TYPE Displays terminal a UNLOCK Allows closed the access Commands contents to a file Table 1-4 for Device Command of file that was files not at the properly Handling Function ALLOCATE Reserves a device for optionally, assigns a ASSIGN Defines a file specification be associated with a logical use in commands or programs DEALLOCATE Relinquishes device, thus other users DEASSIGN or Cancels use of making use by a single logical name to or a device name to name for subsequent a previously allocated the device available to a logical name ALLOCATE, ASSIGN, DEFINE, assignment or MOUNT made with the commands DISMOUNT Releases the disk or tape a device INITIALIZE Deletes all existing data, if any, storage volume, writes a label on and readies the volume for new data MOUNT Makes a reading disk and user and, the device connection between a user and volume that is currently mounted on the a on a mass volume, or tape volume available for the writing of files and, optionally, assigns a logical name the volume is mounted to the device (continued on on which next page) OVERVIEW Table Commands 1-4 (Cont.) for Device Handling Function Command SET MAGTAPE Defines the density of rewinds a tape SHOW Displays DEVICES a magnetic the status of devices tape device or in the system SHOW LOGICAL Displays current logical name assignments for a particular logical name or for all logical names SHOW MAGTAPE Displays characteristics of a magnetic tape device SHOW TRANSLATION Searches all three logical logical name and displays of the first match found Table Commands for 1-5 Program Development and Control Command ASSIGN BASIC name tables for a. the equivalence name Function Defines a file specification with a specific to logical name used be associated in a program Invokes the PDP-11 BASIC~PLUS-2/VAX compiler enter and compile BASIC language to source statements CANCEL COBOL/RSX11 Halts periodic execution of an for execution Invokes compile the in a process PDP-11 a set of 1image COBOL-74/VAX COBOL scheduled compiler 1language to source statements CONTINUE Resumes execution DEASSIGN Cancels a logical name assignment DEBUG program, or of an interrupted command, command procedure Invokes the VAX-11 Symbolic Debugger to begin or continue interactive debugging DEFINE Equates with file DEPOSIT Replaces the contents of a location in memory with new data or instructions virtual EDIT character specifications or strings logical names Invokes an editor to create or modify program or data file a source (continued on next page) OVERVIEW Table Commands for 1-5 (Cont.) Program Development Command EXAMINE and Control Function Displays the contents of a location in virtual memory FORTRAN Invokes the compile a VAX-1l FORTRAN set of modifies a IV-PLUS FORTRAN compiler language to source statements LIBRARY Creates or macro library of object modules LINK Binds one or executable LINK/RSX11 Invokes or the more RUN (Image) Invokes the assembly Places an current RUN to (Process) Creates a PROCESS Defines SET WORKING_SET Establishes executed in execution Displays names to to in assemble a execution process a 1in the execute to characteristics current equivalence of a a DEFINE, or MOUNT PROCESS Displays SHOW STATUS Displays information about executing in the process made process for assignments names SHOW images of 1logical the ASSIGN, by commands information about the current process, including subprocesses, privileges, guotas, and accounting information SHOW TRANSLATION Displays the result of logical of a specific logical name name Displays limits set current Halts execution or a subprocess of a status of image Displays the the system the current the SHOW SYSTEM STOP or assemble a default working size the current process the and ALLOCATE, SHOW WORKING_SET one image program image separate an image SET LOGICAL link process specified SHOW Builder assembler language executable into into an executable MACRO-1l1 PDP-11 library image Invokes the VAX-11 MACRO assembler VAX-1l assembly language program MACRO/RSX11 a modules program RSX-11lM Task more objéct modules MACRO object shareable or working command all currently processes in translation default procedure, and program, OVERVIEW Table 1-6 Commands for Command Procedures and Batch Jobs Function Command @file-spec Execute procedure; .executes a command procedure in a command file in the input data places or stream symbol 1local equates a Arithmetic assignment; name to an arithmetic expression or constant symbol equates a global Arithmetic assignment; name to an arithmetic expression or constant equates a local symbol String assignment; to any character string equates a global String assignment; to any character string label: Defines CLOSE Cancels an input or output path to a file or a statement name symbol name label sequential device Requests continuation of the current procedure CONTINUE Marks the beginning of records to be read as the stream for a command (required only data input first the in when data contains a dollar sign DECK position of any record) DELETE/ENTRY Deletes a job from a printer or batch job queue DELETE/SYMBOL Deletes one or more symbol names from the EOD Marks the end of an input data stream begun with EOJ Signals the end of a batch job submitted through or global tables for local the process the DECK command a . symbol system card : reader current level Transfers control GOTO the at Terminates command procedure processing EXIT to another statement in a command procedure IF ... THEN Compares expressions consisting of literal values or command or symbolic or program status values and performs a stated action based on the result of INQUIRE the test Requests interactive assignment value for a symbol of a variable name (continued on next page) OVERVIEW Commands for Table 1-6 (Cont.) Command Procedures Command JOB Marks the beginning of ... THEN OPEN a system input or Reads a path output Provides entered READ card a batch job submitted reader Defines the action to be taken when a command or program incurs errors of particular severity levels, or when the CTRL/Y function key is used Establishes PASSWORD Batch Jobs Function through ON and a the next and a password through device to file or a device for operations a associated system card record equates from the a with . a job reader sequential record data to file a or symbol name SET CARD_READER Defines the SET NOON Suppresses following translation mode Suppresses display command procedures SET Restores command command procedure SET QUEUE/ENTRY Changes the SET Causes all command lines in subsequently executed to VERIFY terminal STOP or Terminates level a command interpreter command execution SET NOVERIFY ON for attributes command and error reader checking of command lines executed subsequently executed interpreter printed card in of the a error queued batch in a job command procedures be displayed at the batch procedure returns checking 1in job log processing control to the file at any command interpreter SUBMIT Queues SYNCHRONIZE Places the current command procedure 1in state until a specified batch job completes WAIT Places a command the specified WRITE Writes a procedure current period single character sequential of process 1-17 in a a batch wait job queue state wait for a time record strings file or to consisting or evaluated device of one or symbols more to a OVERVIEW Table 1-7 User Privileges Name Privilege ACNT Create a process for which no accounting records ALLSPOOL Allocate spooled devices Increase the base ALTPRI are made execution priority for any process BUGCHK Make bug check error log entries CMEXEC Change mode CMKRNL Change modé‘to kernel DETACH Create deta&hed processes DIAGNOSE Issue diagnostic I/0 requests EXQUOTA Exceed GROUP Control execution of other processes to executive resource quotas in the same group GRPNAM Enter names LOG_IO Perform logical MOUNT Execute a mount volume NETMBX Create a OPER Perform operator functions PHY IO Perform physical I/0 PRMCEB Create permanent common event PRMGBL Create permanent PRMMBX Creafe permanent mailboxes PSWAPM Disable SETPRV Grant a created process any privileges SYSGBL Create system global SYSfiAM Enter names in the system logical name table TMPBMX Create temporary mailboxes VOLPRO Override protection on a volume WORLD Control the execution system in the group logical name table network swapping I/O functions I/0 function device functions global for flag clusters clusters ) any process sections of any process 1in the OVERVIEW Table 1-8 Resource Name Quotas Quota ASTLM AST (Asynchronous BIOLM Buffered I/0 limit BYTLM Buffered I/0 byte CPULM CPU limit DIOLM Direct I/O limit FILLM Open PGFLQUOTA Paging PRCLM Subprocess TQELM Timer WSDEFAULT Default working WSQUOTA Working set time file System Trap) count (buffer quota file queue quota quota entry size quota set size quota limit space) quota CHAPTER FILE SPECIFICATIONS 2 AND LOGICAL NAMES A file 1is a 1logically related collection of records. information that the operating system reads and writes on users' requests is defined in terms of files and records. Files data are identified transfer by (reading ® Mass storage ® Record-oriented the or hardware device writing). Devices that performs are All the behalf of the classified actual as: devices devices Mass storage devices provide a way to save the contents of files on a magnetic medium, called a volume. Files that are thus saved can be accessed at any time and updated, modified, or reused. Disks and tapes are mass storage devices. Record-oriented devices read and write only single physical units of data at a time, and do not provide for permanent storage of the data. Terminals, printers, and card readers are record-oriented devices. Printers and card readers are also called unit record devices. This chapter ® How ® How discusses: to specify devices to construct devices and and use files when you logical names to enter DCL commands refer to files and You can find additional specific information about how to use DCL commands to manipulate files in the command descriptions in Part II. Table 1-3 lists the commands that provide file handling capabilities. Chapter 3, "Disk and handle files on mass 2.1 FILE Tape Volumes" provides storage devices. more information on how to SPECIFICATIONS File specifications needs to identify a provide the unique file File have specifications the system with or device. all format: node::device: [directory]filename. type;ver the information it FILE SPECIFICATIONS AND LOGICAL NAMES The punctuation marks and brackets are required to separate the fields of the file specification. The fields Field Contents node device directory filename type ver Network node name Device name Directory name File name File type File version number are: File names, file types, and version numbers apply only to files on mass storage devices. For record-oriented devices, only the device name field in the file specification is required. Additional notes and syntax requirements for each field in a file specification are discussed below. Note that you do not have to enter a complete file specification each time you specify a file; the system supplies defaults for unspecified fields. Section 2.1.5, "Defaults for File Specifications” describes defaults in more detail. 2.1.1 Network Nodes A node name is a l- to 6-alphanumeric character name that identifies a location on the network, if your system is connected to one. If you specify a node name, you can optionally include a 1lto 30-character access control string, in the format: ' node"access-control-string":: Enclose the remainder of the file specification in quotation marks. The file specification is passed intact to the network node specified and is interpreted there. The portion on the right of the double colon (::) can have up to 125 characters. on information and For details on the syntax of file specifications using DCL commands for network operations, see the DECnet-VAX User's Guide. 2.1.2 Devices Each physical hardware device in the system is uniquely identified a device name specification in the format: the device by devcu: where dev is a mnemonic designation and u is for a unit number. type, ¢ 1is a controller Table 2-1 lists the valid device types and their mnemonics. The controller and unit number identify the 1location of the actual device within the hardware configuration of the system. Controllers are Unit numbers are designated with alphabetic letters A through Z. decimal numbers from 0 through 65535. The maximum length of the device name field, including controller and unit number, 1is 15 characters. When you specify a device name, terminate it with a colon (:). FILE SPECIFICATIONS AND LOGICAL NAMES Table 2~-1 Device Names Mnemonic A complete device Device Type CR Card Reader DB RP04, RP05, DM RK06, RKO7 DR RMO3 DX LP MB MT Floppy Disk Line Printer Mailbox RPO6 Disk Disk Disk NET TE1l6 Magnetic Tape Network communication TT XM Interactive DMC~11 name specification device terminal is called a physical device You can specify physical device names to indicate an input or device for a command or program. Or, you can equate a physical name to a logical name and use a logical name Logical names are described in detail in Section Some commands allow you to specify device name is one in which not specified. When you use a generic locates 2.1.3 command an and available specify device device to name. a A device. generic the controller and/or the unit number are a generic device name, the system locates an available device whose physical name generic device name that are specified. ALLOCATE to refer 2.2. name. output device only of a that satisfies the portions of For example, if you issue device type, the ALLOCATE the an command type. Directories A directory is a file that lists the identifications and locations of files on a disk device that are owned by a particular user. Directory names apply formats: only to ¢ A 1l- to ® A two-part files on disk 9-alphanumeric number in devices. character the format Directory names have three identification code string of a user (UIC) ® As subdirectories, name name in the format of name.name.name can consist of up to 9 alphanumeric represents a directory level. All these formats require the square brackets ([ and 1), or directory name to in angle brackets 2.1.3.1 alphanumeric Directory Names same as your you request or [MALCOLM] user name that the - An oOr account name, system manager be (< gives any you. each each enclosed and >). directory or where characters; name character For in can either be the string that example: FILE SPECIFICATIONS AND LOGICAL NAMES To specify a directory name in UIC format, separate the For example: from the member number with a comma. group number [122,1] Directories in UIC format generally, but not to the UIC of the owner of the directory. necessarily, correspond The group UIC directories can be expressed in alphanumeric format. (if and member numbers are each left =zero-filled on the 1left necessary). For example: [122001] This directory [122,1] specification 1is in the preceding example. equivalent to To specify a subdirectory, separate directory level periods. For the specification identifiers with example: [MALCOLM.TESTFILES] [122001.TESTFILES.DATA] the directory if format You cannot specify a directory name in UIC If you subdirectory, for example [122,1.SUB] is invalid. a includes have a UIC directory, you must specify it in alphanumeric format when you are specifying subdirectories. 2.1.3.2 Directory Hierarchies - You must have at least one directory, provided by the system manager, before you can create and catalog own 1in your create, can you Optionally, files on system disks. directory, one or more directory level hierarchies. The CREATE command following command named MALCOLM: $ the example, For can create a subdirectory. creates a second-level directory for the directory CREATEADIRECTORY DMALCOLM. SUE] in This command places an entry for the directory file SUB.DIR can use vyou Subsequently, MALCOLM. directory first-level subdirectory name [MALCOLM.SUB] in a file specification. the the that directory; another for an entry A subdirectory can contain directory can contain an entry for another directory, and so on. The maximum number of levels, including the first 1level directory, is Figure 2-1 This structure constitutes a directory hierarchy. eight. illustrates directory hierarchies. of directories There is no maximum on the number of hierarchies can create and access beginning with your own directories. you FILE SPECIFICATIONS AND LOGICAL NAMES A volume’s Master File Directory (MFD) LEVEL contains entries for the user file directories (UFDs) on the volume. MALCOLM.DIR 301300.DIR G C: /HIGGINS.DIR 301301.DIR * L] * $ DIRECTORY [HIGGINS] Each UFD lists the files belonging e to that directory, and can contain efitries for additional directories, PAYROLL.DIR called subdirectories USER.DOC MEMO.LIS LOGIN.COM $ DIRECTORY [HIGGINS.PAYROLL] INFO.COM SOURCE.DIR —] LISTINGS.DIR ~ DATA.DIR DIRECT.DOC A subdirectory can catalog files and/or additional subdirectories. The subdirectory file named HIGGINS.PAYROLL.DIR lists additional subdirectory files. The subdirectory file named HIGGINS.PAYROLL.DATA.DIR lists additional subdirectory files. $ DIRECTORY [HIGGINS.PAYROLL.DATA] g L JANUARY.DIR $ DIRECTORY [HIGGINS.PAYROLL.LISTINGS] - FEBRUARY.DIR | MARCH.DIR $ DIRECTORY [HIGGINS.PAYROLL.SOURCE] FICA.LIS TAXES LIS . FICA.FOR . TAXES.MAR PAYROLL.FOR $ DIRECTORY [HIGGINS.PAYROLL.DATA.MARCH] e FICA.DAT STATETAX.DAT FICA.DAT FEDTAX.DAT FICADAT STATETAX.DAT EMPTTL.DAT STATETAX.DAT FEDTAX.DAT EMPTTL.DAT FEDTAX.DAT [ EMPTTL.DAT ) . . o . ® o nextlevel.DIR . ® * L] * Figure 2-1 A Directory Hierarchy FILE SPECIFICATIONS AND LOGICAL NAMES File Names, File Types, and Version Numbers 2.1.4 File names, file types, and version numbers within directories. uniquely files identify When you A file name is a 1- to 9-character string name for a file. create a file, you can assign it a file name that is meaningful to you. A file type is a 1- to 3-character string that usually identifies file the in terms of its contents. The valid characters in file names and file types are A-Z and 0-9. (.). File types must be preceded with a period By convention, VAX/VMS uses a set of standard file types to identify various classifications of files, and to provide default file types in many commands. Table 2-2 lists these file types. Version numbers are decimal numbers from 1 to 32767 that differentiate between versions of a file. When you update or modify a file and do not specify a version number for the output file, the system saves the original version for backup and increments the version number by 1. Note, however, that on Files~1l Structure Level 2 disks, the file system deletes the lowest numbered versions of a file after more than approximately 60 versions of the file exist. semicolon Version numbers must be preceded with a (;) or period a (.).l Table 2-2 Default File Types Contents File Type B2S Input source file compiler PDP-11 the for BASIC~PLUS-2/VAX CMD Compatibility mode indirect command file COM Command procedure file to (Execute Procedure) executed be with the @ command, or to be submitted for batch execution with the SUBMIT command CBL Input file containing source PDP-11 COBOL-74/VAX compiler statements for DAT Input or output data file DIF Output listing created by the DIFFERENCES command DIR Directory file DMP Output listing created by the DUMP command the (continued on next page) 1 When the system displays file specifications, it generally displays a semicolon in front of the file version number. FILE SPECIFICATIONS AND LOGICAL NAMES Table 2-2 Default File Type Executable FOR LIS file FORTRAN-IV-PLUS containing source file created by assembler; default input LST Compatibility mode MAC MACRO-11 MAP Memory allocation MAR VAX-11 MACRO MLB Macro library OBJ Object ODL Overlay OLB Object module OPT Options file for STB Symbol table file job output source file assembler enter for a device and a language file type for the compiler for PRINT or and commands Batch Defaults statements compiler Listing LOG you image Input let the file listing file file map source created by the by a language compiler or file library input to created the by LINK command the linker can omit Specifications specification, you the system supply values for system are called defaults. directory linker file created description File file specification and values supplied by The program VAX-11l TYPE When Types Contents EXE 2.1.5 (Cont.) File names, if omitted, fields these default to in the fields. The your current default disk and directory name. These are initially established when you log in, based on an entry under your user name in the system authorization file. You SHOW can determine your DEFAULT command. ¥ DEFAULT SHOW default For disk and directory name by issuing example: the NDEALICRARRIT This response indicates that directory name is RABBIT. the current default disk is DBAl and the FILE SPECIFICATIONS AND LOGICAL NAMES You can change the disk and directory defaults during a terminal For in a batch Jjob by using the SET DEFAULT command. session or the in shown as are directory and disk default the if example, response to the SHOW DEFAULT command above, the following SET DEFAULT command would change the default directory to a subdirectory: $ SET DEFAULT CRABRIT.SURI system The device and directory are not the only fields for which the Table 2-3 summarizes the defaults, if any, supplies default values. applied to each field in a file specification. Table 2-3 File Specification Defaults Defaults Field node Local system. device Device in, (usually a disk) established at log or by the SET DEFAULT command. If a controller designation is omitted, it defaults If a unit number is omitted, it defaults '‘to A. to commands, DEVICE SHOW and ALLOCATE (The 0. treat a device name that does not contain however, device controller and/or unit numbers as a generic see the discussions of more details, For name. these commands directory in Part II.) Directory name established at log in or by the SET DEFAULT command. If a first- or sub-level directory name is omitted, it defaults to the current directory names, as long as the default next higher default directory was specified in alphanumeric format. string name a with preceded be must name The subdirectory period, file name name in Most commands apply file specification. input an default output file names based on the file name of input file. Various commands apply defaults file standard the on based summarized file version [.SUB]. No defaults are applied to the first file an file type for example in Table 2-2. For input files, the system file types, for conventions type assumes the highest version number. highest For output files, the system increases the by 1 for existing files, number version existing and supplies a version number of 1 for new files. FILE SPECIFICATIONS AND LOGICAL NAMES 2.1.5.1 Temporary Defaults - All DCL commands that accept 1lists of input files apply temporary defaults when you enter a command line that contains more than one input file specification. Temporary defaulting lets you name a device, directory, file name, or file type that all the files you specify have in common. The system uses temporary file specification defaults only to interpret file specifications for defaults are applied If a a single to: ® Node ® Device ® Directory name e File file name, execution a command. name name and file type specification explicitly specifications interpretation of subsequent includes become file the a device and/or temporary be command. defaulted, For example, assume that the current default disk name are DBB2:[MONROE]. The following PRINT defaults are applied to a list of file directory defaults specifications within File names and file types can also temporary Temporary name these specific of the for the list. depending on the device and directory command shows how specifications in a parameter: $ FRINT DEALICADAMSITESTL.DAT. B TEST2, $.. LJACKSONISUMMARY . TSTy - $.. The DRE2FINAL PRINT command prints the files: DBAl: [ADAMS]TEST1 .DAT DBAl: [ADAMS]TEST2.DAT DBAl: [JACKSON] SUMMARY.TST DBB2: [JACKSON] FINAL.TST To override a directory, you $ FRINT temporary can default specify the no directory name current default directory. fields Null of following specify as your shown current default below: LCALFHAITEST.DATLITEST Brackets with 2.1.5.2 to directory File Names a file are valid and indicate system is to use your name and file type example, the ‘ File Types specification file the can - The be file null. For specifications: . TMP TEMP. When you specify a file the period following type. FOR. For example, The following in a DCL command, you must a file name if the command the FORTRAN commands FORTRAN TEMF $ FORTRAN TEMF, command produce uses a different be careful to uses a default default results: file type omit file of FILE SPECIFICATIONS AND LOGICAL NAMES In the first example, compiler looks for a file named TEMP.FOR because In the second example, the compiler looks file type was omitted. the file name following the a period because "TEMP." named file a for indicates a null file type. 2.1.6 Wild Cards Many DCL commands accept a special character, called a wild card, in Wild The asterisk (*) represents a wild card. file specifications. file or file type, file name, cards are valid in the directory, the wild card depends on The precise meaning of version fields. whether the file specification is for an input or an output file. 2.1.6.1 Wild Cards for Input Files - When a wild card replaces a file specification, the system locates all files input in an field whose identifications satisfy the fields that are specified. file The DIRECTORY command accepts the file specification of an input The terminal. the at file the about information displays and DCL how 1illustrate command DIRECTORY the of examples following commands interpret wild cards in input file specifications. Explanation Example DIRECTORY DBB2:[*]FILES.DAT Displays the highest version of the 1in all first level FILES.DAT file the on directories file) (user device DBB2 DIRECTORY Displays *_.LIS the highest version of the highest version of the file with a file type of LIS file each and disk from the current default directory DIRECTORY Displays TEST.* file from the current default each file disk and directory that has a name DIRECTORY TEST.FOR;* of TEST Displays all versions of TEST.FOR disk from and directory wild Wild Cards for Output Files - When a 2.1.6.2 the specification, file output an in field corresponding field in the input file specification wild card field of the output file. the current default a replaces card the system uses to fill in the The COPY command copies the contents of a specified input file into a command following examples of the COPY The file. output new file in output interpret wild cards illustrate how DCL commands specifications. C FILE SPECIFICATIONS AND LOGICAL NAMES Example COPY TEST.DAT COPY [CHEVY]*.,FOR Explanation *.0OLD Copies the highest version file TEST.DAT from the default disk and directory file named TEST.OLD * of the current into a Copies the highest version of each file with a file type of FOR in the directory CHEVY on the current default disk to new files current default directory Particular uses commands. wild usage The command descriptions in Part where applicable. Note that not of wild cards in DCL commands vary with the in the individual II of this manual describe all DCL commands accept wild cards; moreover, wild cards are always 1invalid in files specified for network operations, and within the specification of any portion of a directory name string that contains a subdirectory name. 2.2 LOGICAL NAMES Logical names allow you to keep programs and command procedures independent of physical file specifications. They also provide a convenient shorthand way to specify files that you refer tc frequently. The ASSIGN command equates a physical file specification to a name, that 1is, to a character string name that you logicalh supply. For example: § ASSIEN DRAZICSITMMONS IMARITIGOLL.DAT TEST This ASSIGN command equates the 1logical name TEST to the file specification DBA2:[SIMMONS]MARIGOLD.DAT. This file specification is called the equivalence name for the logical name. Subsequently, you can refer to this file by 1its 1logical name when you type a DCL command. For ¢ TYFE When TEST example: TEST the system processes this command, it replaces the 1logical with its equivalence name, and displays the contents of the MARIGOLD.DAT on You assign can DEFINE, 2.2.1 also or the MOUNT Logical terminal. logical names to devices when you issue ALLOCATE, commands. Name The system maintains logical name tables: ® name file Tables logical name and equivalence name pairs in three Process logical name table -- contains logical name entries are local to a particular process. By default, the that ASSIGN name command table. places a logical name in the process 1logical FILE SPECIFICATIONS AND LOGICAL NAMES Group logical name table -- contains logical name entries that These entries can be are qualified by a group number. e group same the accessed only by processes that execute with number in their user identification codes as the process that assigned the logical name. You must use the /GROUP qualifier to make an entry in the group logical name table. be can that entries table -- contains System logical name accessed by any process in the system. You must use the name /SYSTEM qualifier to make an entry in the system logical e table. The user privileges GRPNAM and SYSNAM are required to place entries in the group or system logical name tables, 2.2.2 respectively. How to Specify Logical Names Logical names and their equivalence name strings can each have a maximum of 63 characters, and can be used to form all or part of a file specification. If only part of a file specification is a logical it must be the left-most component of the file specification. name, 1in You can then specify the logical name in place of the device name (:). terminated by a colon subsequent file specifications, For example, a logical name can be assigned to a device name, as follows: $ ABSIGN DMAL: RACKUF?: After this ASSIGN command, you can use the 1logical name BACKUP in For field when referring to the device. name the device of place example, the following COPY command transfers files from the current default disk and directory to a directory with the same name on the volume on the device DMAl by using the logical name BACKUP. $ COPY %ok BACKUFS A logical name can also contain both a device name and directory name. For example: $ ASSIGN DMALIIMAGGIED BCRATCH This ASSIGN command assigns the logical name SCRATCH to the directory You can now use the logical name the device DMAl. on MAGGIE named SCRATCH $ in a file specification, FPRINT in the example below. . DAT SCRATCHIPAYROLL The PRINT command prints [MAGGIE] as on DMAl. the file PAYROLL.DAT from the directory must When you specify an equivalence name for the ASSIGN command, you specify it wusing the proper punctuation marks (colons, brackets, the terminate specify only a device name, If you periods). if you specify a device equivalence name parameter with a colon (:); and directory name, or a full file specification, do not terminate the equivalence name with a colon. FILE SPECIFICATIONS AND LOGICAL NAMES You can optionally terminate however, the ASSIGN command in the logical name table.l 2,2.2.1 command example, the logical removes the name parameter with a colon; colon before placing the name Displaying Logical Name Table Entries - The SHOW LOGICAL displays current entries in the logical name tables. For to display the logical name SCRATCH, you would enter the command: $ SHOW LOGICAL SCRATCH = SCRATCH DMALIIMAGGIED (rrocess) The SHOW LOGICAL command displays the logical name, 1its equivalence name, and the logical name table in which it found the name. You can also request the system to display specified logical name table. For example: ¢ SHOW When Logical the the entries 1in a LOGICAL/ZGROUF This SHOW LOGICAL command in the group logical name 2.2.3 all results table. in a display of all current entries Name Translation system reads a device name or a file specification, it examines the file specification to see if the left-most component is a logical name. If it is, the system substitutes the equivalence name in the file specification. This is called logical name translation. For example: $ $ TYFE ALFHA TYFE DISKIALFHA When the system reads the file specification ALPHA in the first example, it checks to see if ALPHA is a logical name because ALPHA is the left-most (and in this example, the only) component of the file specification. In the second example, the system checks to see if DISK is a logical name because it is the left-most component. It does not check ALPHA. When the system translates logical names, group, and system tables, in that order, finds. it and searches uses the If you are ever in doubt about the current equivalence to a logical name, use the SHOW LOGICAL command. 1 the process, first match it name assigned The DEFINE command, which also creates logical name table entries, does not remove colons, recommended that you do not assignments. if use specified, the DEFINE from logical command for names. device It is name FILE SPECIFICATIONS AND LOGICAL NAMES 2.2.3.1 Recursive Translation - When the system translates logical names in file specifications, the logical name translation is often recursive. This means that after the system translates a logical name in a file specification, it repeats the process of translating the file specification. For example, consider logical name table made with ASSIGN commands as follows: entries DISK $ ASSIGEN DRALS ¢ ASSIGN DISKIWEATHER.SUM REFORT The first ASSIGN command equates the device DBAl to the logical name DISK. The second ASSIGN command equates the logical name REPORT to the file specification DISK:WEATHER.SUM. In subsequent commands, or in programs you execute, you can refer to the logical name REPORT. For example: $ TYPE REFORT When the system translates the 1logical name REPORT, if finds the equivalence name DISK:WEATHER.SUM. It then <checks to see if the portion to the left of the colon in this file specification is a logical name; if it is (as DISK is in this example), it translates that 1logical complete, name also. When the 1logical the translated file specification is: name translation is OBRAL SWEATHER . SUM Note that when you assign one logical name to another 1logical name, you must terminate the equivalence name with a colon (:) if you are going to use the logical name in a file specification in place of a device name. For example: & ASHSIGEN DRALE TEST $ ABSTIGN TEST: GO & TYFE GOINEW.DAT The TYPE command types the file NEW.DAT from the disk omit the colons from either of these ASSIGN commands, not be able to form a proper file specification. DBAl. If vyou the system will 2.2.3.2 Applying Defaults - When the system completes the translation of a logical name, it uses defaults to fill in any still unspecified fields in the file specification. 1In the above examples, the system completes the file specifications by supplying the current default directory and a version number according to whether it is an input or an output file. Many system commands create output files automatically and provide default file types for the output files. When you use a logical name to specify the input file for a command, the command uses the logical name to assign a file specification to the output file as well. Thus if the equivalence name contains a file name and file type, the output file is given the same file name and file type as the input file but a higher version number. For example, the LINK command creates, by default, an executable image file that has the same file name as the input file and a default file type of EXE. If you make a logical name LINK command as $ ABBTEN shown below the RANDOM. ORJ ¢ LINK TESTIT TESTIY results assignment and invoke are not as you would the expect: FILE SPECIFICATIONS AND LOGICAL NAMES The linker translates the logical name TESTIT and links the file RANDOM.OBJ. When it «creates the output file, it also uses the same logical name for the output file. Because the equivalence name has a file type, the LINK command does not use the default file type of EXE. In this example, the executable image is named RANDOM.OBJ and it has a version number one higher than the version number of the input file. 2.2.3.3 Logical Names in Input that accepts multiple input specifications of one or more of each logical name provides $ SET DEFAULT you issue a command logical names in the files in the list, the equivalence a temporary default. For example: name DRA2ILCASEY] $ ABSIGN DRALIIMALCOLMI % ABBIGN [HIGGINSDT $ FRINT File Lists - When files and you use MAL HIG ALPHAy - $. MALIBETA -~ $.. HIGIGAMMA The PRINT command looks for the files: DBA2: [CASEY]ALPHA.LIS DBAl: [MALCOLM]BETA.LIS DBAl: [HIGGINS] GAMMA.LIS The device name in the equivalence string for the logical name MAL defines DBAl as the temporary default device for this PRINT command. Temporary defaults are decribed in Section 2.1.5.1. For complete details on Management file specification Services Reference defaults, see the VAX-11] Record Manual. 2.2.3.4 Bypassing Logical Name Translation - Most DCL commands check file specifications you enter as command parameters or as values for qualifiers to see if the file specification contains a logical name. When to you not enter a device translate the specification with % ALLOCATE When you check to 2.2.4 an name name in by a command, preceding underscore character you can request the device (_). For the name system or file does not example: 0IMAZ23 specify an ALLOCATE command as see if DMA2 is a logical name. Default Logical shown, the system Names The operating system and many of its facilities use logical names establish default devices for input and output operations. convention, logical names defined for VAX/VMS functions have format: to By the XXxSname where xxx that uses is the a three-character name. logical prefix identifying the system component FILE SPECIFICATIONS AND LOGICAL NAMES 2.2.4.1 system, process. listed Default Process Logical Names - When you 1log in to the the system creates logical name table entries for your These logical names, which all have a prefix of §8Y¥S, are in Table 2-4. Table 2-4 Default Process Logical Names Logical Name SYSSINPUT Equivalence Name Default input stream for the process. For an interactive user, SYSSINPUT 1is equated to the terminal. In a command procedure or batch job, SYSSINPUT is equated to the input file or batch input stream. SYSS$OUTPUT Default output stream for the process. For an interactive user, SYSSOUTPUT 1is equated to the terminal. In a batch job, SYSSOUTPUT 1is equated to the batch job log file. SYSSERROR Default device to which the system writes messages. For an interactive user, SYSSERROR is equated to the terminal. In a batch job, SYSSERROR is equated to the batch job log file. SYS$COMMAND Original SYSS$INPUT device for an interactive SYS$DISK Default device established at login, or batch job. the SET DEFAULT command. user or changed by The equivalence names for SYS$INPUT, SYSSOUTPUT, SYSSERROR and SYSSCOMMAND define files that remain open for the life of the process. These files, called process-permanent files, can be read or written from programs. 2.2.4.2 Using Default Logical Names - The default 1logical name assignments are provided for your convenience, and do not normally need to be reassigned. The system always uses SYS$INPUT, and SYSSERROR to read and write commands, data, SYSSOUTPUT, and messages. You can take advantage of the default assignments when you specify files 1in commands. For example, to place input data in the command stream for a command or program, you can specify an input file as SYSSINPUT. The following example shows a FORTRAN command that could be executed in a batch job: FOFORTRAN SYS$TNFUTIWEATHER When this command executes, command stream; if this the compiler reads the input file from the Jjob is submitted through the system card reader, the cards containing the source program must follow in the card deck. The file name WEATHER in the file specification provides the compiler with a default file name for the output files: it creates WEATHER.OBJ and WEATHER.LIS. 2-16 FILE To request job output SPECIFICATIONS compiler creates batch job output 2.2.4.3 names entries the file WEATHER.OBJ, log. for into the batch BYSEINPUT I WEATHER Default System Logical contains LOGICAL NAMES that the listing file be written directly log file, you could specify: % FORTRAN/LIST=8YSS0UTFUT The the AND Names system-wide - but The logical prints system names. the 1listing logical Among name these in table logical are: SYSSLIBRARY Device SYS$SYSTEM Device and directory of and 2.2.5 directory name of system libraries operating system programs procedures The system manager at your logical name table that particular and installation correspond can place names in the system to default devices on your system. Logical Names for Program Input/Output Logical names are also used to establish the correspondence between a file name or logical unit number in a program and a physical device or file specification. Each programming language provides conventions for identifying files within programs; the operating system provides the logical name mechanism for equating these files with physical device or file specifications. For example, a FORTRAN program refers to a file using a logical unit number. FORTRAN run-time procedures associate the 1logical unit numbers with logical names: 1logical unit 1 is associated with the logical name FOR0O0l, 1logical wunit 2 is associated with the logical name FOR002, and so on. Before running a program that reads from or writes unit to to 1logical unit 1, you can make an assignment of that logical a device with the ASSIGN command, as shown in the following example: & ASSIGN $ RUN PAYROLLDAT Before you execute programs steps to ensure that requires are online prepare and FOROOL FICAH use disk and and to the read data available. tape and write volumes The volumes. files, you must or devices that your next chapter discusses how take program to CHAPTER DISK You can use use on a circumstances, own you do not files. Occasionally, users, or you to chapter ® may the files system volumes. need also transfer How the The to to access or from files volumes directory. vyou your to other users as well; Under normal operating to perform any special need files belonging operating system protects and devices ® Volume ® Mounting ®¢ The In action to access belonging other these than to other the system cases, special and restricts access to disk and initialization steps tape 3.1 to catalog the files that disk volume that contains describes: files ® VOLUMES as volume containing your default action may be required. This TAPE your default disk directory regular basis. The physical default directory contains such volumes are known your AND 3 volumes on necessary devices to transfer files to volumes Accessing files from batch and from jobs PROTECTION operating system protects against accidental two levels: e At the or volume is protected ® 3.1.1 At the device Volume device in use data on unauthorized and file disk and access. level level to ensure by one user to ensure that tape volumes Protection no is that data other users to ensure a volume provided on can access at a and File Protection Disk and tape volumes, and individual files on disk volumes, including directories, are protected by means of a protection code. The protection code indicates who is allowed access for what purposes. DISK AND TAPE VOLUMES These are: Four categories of user are defined according to UIC. of SYSTEM -- all users who have group numbers @ are numbers group These (octal). through 1 for generally 10 system Users who have managers, system programmers, and operators. the user privileges LOG_IO and PHY_IO are also of either included in this category. person who <created, therefore and @ OWNER -- the UIC of the @ GROUP -- all users who have the same @ WORLD -- all users who do not fall into any of the other three categories but including all users in the other categories owns, the volume or file UICs as the owner of the file, group the of Each of these categories of user can be allowed or denied one following their in number including the owner types of access: or files e READ -- the right to examine, print, or copy a file @ WRITE -- the right to modify the file or to write files e EXECUTE -- the right to execute files that contain executable images (when applying protection to an entire volume, program the this field is interpreted as the right to create files on on a volume on a volume volume) DELETE -- the right to delete the file or files on the volume e The system provides a default protection code for files you create. When you create a file or prepare a disk or tape volume for private Some use, you can define the protection you want to be applied. examples of specifying protection codes for individual files are shown examples of volume protection are shown in in the following section; "Using Disk and Tape Volumes." For details on how to Section 3.4, specify protection codes, command see the description of the SET PROTECTION in Part II. own 1its has a disk on file Disk File Protection - Each 3.1.1.1 you can specify a protection code when you create a protection code; For example, you can use the /PROTECTION qualifier to define file. the protection for a file you create with the COPY command, as shown below: $oOFEY DRALICFAYDATAIFAYROLL.DAT FAYSORT.DAT APROTECTION= (SYSTEMIRWy OWNER I RWEX » GROUP SRW s WORLID ... to your default This COPY command copies a file from the device DBAl: The protection code defines the protection for the disk directory. users with system UICs can newly created file PAYSORT.DAT as follows: have all types of access; owner) (the you file; the write read and and all other other users in your group may read and write the file; users (the world) are permitted no access. DISK You can also PROTECTION $ SET $.. If you change the command. AND TAPE protection For existing file with the FROTECTION=(SYSTEMIRWE s OWNERIRWED GROUF IRE »WORLIIY SET - FAYSBORT . EXE do not PROTECTION define a protection code SHOW a file when you create the FROTECTION response access, access, for protection. The default protection user authorization file. You can that is applied by issuing the SHOW command: SYSTEM=RWEDy This an example: file, the system applies a default is determined from an entry in the determine the current protection g for VOLUMES OWNER=RWEDy indicates that other and that all that wusers other GROUF=RE, the WORL =R system and in the wusers owner have owner's group have (the world) are all types of read and execute permitted read access. To determine the current protection associated with a specific file or files, use the /FULL qualifier on the DIRECTORY command. For example: $ DIRECTORY/FULL DIRECTORY FERSONNEL ., REC URAL LLCRAMER] G JUL-19786 123031 FERSONNEL cRECHS 320,201 TOTAL You can OF (3725+12) 8:/710 Q3~JUL~1978 13114 LRUWEDy RWETy RWy R €.710. change the BLOCKS default IN 1. FILE protection applied to files that you create during a terminal session with the SET PROTECTION command. Use the /DEFAULT qualifier on the SET PROTECTION command to indicate that the protection code you specify 1is to be applied to all files that you subsequently create during the terminal session or batch job. 3.1.1.2 volume applies Tape File Protection - The protection applied applies equally to all files on the volume. The read and write access restrictions with respect execute the and owner what you the group 3.1.2 In delete access are always given both specify or world, in a read meaningless. read and Moreover, write access, protection code. 1If you access is also allowed. give the system and regardless of write access to Device Allocation most installations, private access user are to a tape system only to tapes; disk to can mechanism these access is many drives and devices so users tape that and called device allocation. ALLOCATE For example, to use the following ALLOCATE command: command ALLOCATE allocates TMMTERI? ALLOCATEDR share the a The you device it. the SMTERLD while the The $ must drives. volume device tape are limited using mounted and drive a operating gives labeled a on number device, it. you Bl, of system controls no This other control exclusive you would use of issue DISK AND TAPE VOLUMES The response from the ALLOCATE command indicates successful allocation of the device you requested. You can also use the SHOW DEVICES command to find out what devices are available. For example: SHOW ¢ DEVICES DIM3 This command requests a display of all RK06 and RKO7 devices attached The response from the command shows the devices that system. the to are currently allocated to other users, and devices that are online and available. If you want td allocate any device of a particular type, use a generic A generic device name is one the ALLOCATE command. in name device that does not specify a controller and/or a unit number. For example, if you want to use an RK06 device and do not know which drives are available, you would issue the ALLOCATE command as follows: $ ALLOCATE SOMAZ2E DM: ALLOCATED The ALLOCATE command locates an available RK06 device; indicates that the device DMA2 response the is allocated. Note that tape devices can never be shared; thus, when you use a tape, the system automatically allocates it for you when you mount it. You can, than one however, allocate a tape device when you want to volume mount more on the same device and retain control of the device between mounts. 3.2 VOLUME INITIALIZATION Before a volume can be used to contain files, The INITIALIZE it must be initialized. command: on the volume, if e Invalidates all existing data @ Writes an internal label on the volume to identify it e Defines the owner UIC and protection for formats any, and the volume with a particular data structure the volume If a disk or tape volume has never been used before, no special steps However, if the volume has previously initialize it. to needed are from you it may prevent on contained data, the protection code Or, in the case of a tape, the volume and initializing it. accessing files on the volume may not have reached their expiration dates. If either privilege volume or does who give the specify: user the have not do of these conditions exists and you to override volume protection, the previous owner of the example) for another user (the system manager or operator, When you have read/write access must initialize it for you. should you initialization, for wuser another to volume - e The data format you require e The label you want to have written on the volume e The protection code and owner UIC you want assigned to it DISK When you obtain a place a label tape on or the AND disk TAPE VOLUMES volume, outside of you the should volume so also that it remember can be to easily identified. 3.3 MOUNTING VOLUMES ON DEVICES Mounting device, Mounting involves @ is the mechanism that provides a 1link between a volume, a and your process so you can perform input/output operations. and using a physical volume (a disk pack or tape reel) two distinct operations: Place the pressing volume on the 1load the device and ready the device by button or performing equivalent startup procedures. ® Issue the MOUNT command to gain access to the data on the device. The MOUNT command compares your UIC with the UIC of the volume's owner to verify your right to access the volume; it also verifies the label on the volume against the label you specify. The order the way in which these in which the allocated a physically device 1load operations are performed device 1is being used. using the an explicit device before varies according to If you have already ALLOCATE issuing the command, MOUNT you can command. For example: $ MOUNT DMA2: TESTLFILES AMOUNT - L-MOUNTEDy In this example, the INFILE TEST.FILES MOUNT mounted command orn specifies DMAIL the name of an allocated device (DMA2), logical name for optional. Note the volume 1label on the volume (TEST_FILES), and a the device (INFILE). The logical name parameter is that you can assign logical names to disk and tape devices when mount you them, and then use the logical the device name in subsequent commands. logical name, the MOUNT command assigns the DISKSTEST FILES to the device DMAZ. 3.3.1 name If you do default rather than not specify a 1logical name Requesting Operator Assistance At some installations, operators are provided to perform the physical chores of mounting and dismounting both system and private disk and tape volumes. When this is the case, you can: e Allocate ® Send a a device message device you the physical ® to of required operator type. of the allocated and the volume you want mounted. identification on the outside of the volume Give and operator the the tell the where the Wait that until the operator responds the volume is mounted. specifying volume the name is. with a message indicating DISK AND TAPE VOLUMES The REQUEST command sends a message to an operator. If vyour installation has more than one operator, they may be designated for specific functions -- one operator to handle requests for disks, another for tapes, and so on. Options for the REQUEST command qualifier /TO -- for example, DISKS and TAPES ~-- route your request to the proper operator. Assume, for this example, that there 1is an operator designated to mount and dismount disks. To request this operator to mount the volume TEST_FILES on the device DMA2, you could issue the command: $ REQUEST/ZTO=0TISKS/REFLY - $_ "Flease mount TEST.FILES The /REPLY qualifier operator You indicates (shelf slot &B) that you on DMAZ® want to wait until the completes the request. receive the message: ZOPCOM-S-0FRNOTIFy orerator notifiedr waiting,..131142826 The operator locates the physical volume, places it on the device, and types a message indicating that the request is satisfied. Then, you receive the messages: Z0FCOM-S~-RASTOMFLTEy ZOFPCOM~S-DFREPLYy reauest comelete "G0e e The text of the second message optional text typed Now, you can mount and begin using the volume. 3.3.2 by the operator. Dismounting Volumes When you no longer need access to the files release the volume with the DISMOUNT command. ¢ DISMOUNT and makes you can DMAZS The DISMOUNT command ensures that all before the dismounting is complete. By default, on a volume, For example: files on the volume are closed the DISMOUNT command also unloads the volume on the device the device not ready. If you allocated the device before using it, and no 1longer need the device, deallocate it so that other users can obtain access to it. The DEALLOCATE command deallocates the device. For example: 4 DEALLOCATE DMag? If you had operator assistance in mounting the volume, remember to request the operator to physically dismount the volume and return it to its place. DISK 3.4 AND TAPE VOLUMES USING DISK AND TAPE VOLUMES When a volume has been mounted, you can execute programs that perform input/output operations to the volume, or you can use DCL commands to read and write files. Note the following restrictions on the use of DCL commands for files on disk and tape volumes: e The PRINT devices. and You SUBMIT can commands print or cannot volumes if you mount the volume print or submit a file on a file to a shared disk volume. e The following commands PURGE DIFFERENCES RENAME LIBRARY RUN LINK SET files files on allocated on private disk as a shareable volume. tape volume, you must copy cannot process DELETE access submit files on magnetic To the tapes: PROTECTION UNLOCK ® You can execute a command procedure that exists on a magnetic tape volume, as 1long as the procedure does not invoke other procedures and does not issue any GOTO commands referring to labels that precede the command. Note, also, that you cannot use DCL commands to read that are not 1in the standard formats supported formats are described in greater detail, below). To and write files by VAX/VMS (these execute programs to read and write files not in the standard format, you must mount the volume with the /FOREIGN qualifier. The following sections provide complete examples of the steps to prepare and use disk and tape volumes for file storage and to access existing files. The examples show how to prepare and use RK06/RK07 disk packs and magnetic tapes; however, the procedures outlined are applicable to other devices as well. 3.4.1 Using Disks Disks are random-access devices, and files must be cataloged 1in directories. Therefore, after you initialize a disk, you must create a directory before you can write any files on the disk volume. The following example shows how initialize and mount a volume files on the volume. ogHoW DEVICES Dt Nevics Mame to on Nevice Nevice Stetus Characlteristics IMAO: o lirme MNT IMal? on lime MNT min3: o line allocate it, create an RKO06/RK07 device, a directory, and write ALL $ ALLOCATE IMAZ: SOMA3 ALLOCATED This example 1illustrates the SHOW DEVICES command; the command requests a display of the current status of RKO06/RK07 devices. The response from the command indicates that the device named DMA3 is available. The ALLOCATE command allocates the device so you can place the volume on it. DISK AND TAPE VOLUMES $ INITIALIZE DMA3: FPUBS.BACKUF -~ $../FROTECTION=(SYSTEM RWED » OUNER $RWELD y GROUF RWED » WORLIDITR) MOUNT IMA33 PFURS.BACKUF CREATE/ZDIRECTORY IMA3ILFURS] ASSTGN IMAZILFURST P CORY X.% COPY COFY EPRIMERIX.X P23 CCOMMANDSIX. X F3 F2 The INITIALIZE command initializes the volume and writes the 1label PUBS_BACKUP on it. The protection code allows group members and users with system UICs all access and restricts access by all other users to reading. The MOUNT command mounts the volume. The CREATE command with the /DIRECTORY qualifier creates a directory file named PUBS on the device DMA3. The COPY commands copy the highest versions of all files in the current default directory and in the directories PRIMER and COMMANDS to the directory just created. Note the use of the ASSIGN command to assign a logical device and directory name on the RK06/RK07 volume. name, P, to the 3.4.1.1 Copying Files from Files~ll Structure Level 1 Disks - The default format for files on disks is called Files-1l1l Structure Level 2. You can also initialize disks in the Files~1ll Structure Level 1 format. Structure Level 1 1is the format used by other DIGITAL operating systems, including RSX-11M, RSX-11D, and IAS. To initialize a Structure Level 1 disk, use the /STRUCTURE=1 qualifier on the INITIALIZE command. When you use the MOUNT command to mount the volume, the MOUNT command will internally identify the volume as a Structure Level 1 volume. Subsequently, all commands you use to access files (COPY, DELETE, and so on) will default the file format to Structure Level 1 automatically. Note that directories on Structure Level 1 disks must have names in UIC format to be readable by RSX-11 or IAS. 3.4.1.2 Sharing Volumes - System disk volumes containing users' default directories and other volumes containing files belonging to more than one user are designated, at the time that they are mounted, as shareable. The devices on which these volumes are mounted are not allocated, thus allowing access by other system users. These volumes are physically 1loaded and mounted by system operators and managers with the /SYSTEM qualifier of the MOUNT command; you need not issue an explicit MOUNT command to access files on these volumes (you must, however, have access privileges as defined in the volume's protection . code) Other volumes can be designated as shareable among many users; use the /SHARE qualifier on the MOUNT command when you want to mount a device for other users to access. For example: $ MOLUNT/SHARE OMAZSY PURBS.LEBACK This MOUNT command indicates that other users can access the volume PUBS_BACK. Each user who wants to access the volume must also issue a MOUNT command with the /SHARE qualifier. Note that if the device was allocated before the MOUNT command was issued, the /SHARE qualifier deallocates the device. DISK AND TAPE VOLUMES Access to the volume is restricted according to the protection code on the volume. The system identifies the volume by its volume label, rather than by the device on which it is mounted. Other users who want to access the volume do not need to know the physical name of the device, but only the generic device type and volume label. For example, another user who wants to use the volume mounted example above would issue the MOUNT command, $ MOUNT/SHARE DiM: PURS.BACK as follows: in the FURS Thereafter, the device can be referred to by the 1logical name PUBS; the sharer does not need to know the name of the physical device. Because the system uses volume labels to identify shared volumes, two volumes that have the same label cannot be mounted with the /SHARE (or /SYSTEM or /GROUP) qualifier at the same time. 3.4.2 Using Tapes The default format for reading and writing tapes is the ANSI X327-1977 Magnetic Tape Labels and File Structure for Information Interchange standard. The following examples show how to allocate, initialize, and use a The procedures are similar to those backup your disk files. to tape outlined above for using disk volumes. However, tapes are access devices and do not have directories. $ ALLOCATE LMTO20 sequential MT? ALLOCATED the The ALLOCATE command requests the allocation of any tape device; now is and available was MTA2 device the that indicates response You can now physically load the tape on the drive. allocated to you. initialize Next, $ the tape: INITIALIZE MTA2: GMROOL -~ IRy WORLID TION= (GROUF $./FROTEC The INITIALIZE command specifies the device name (MTA2) and the volume The /PROTECTION qualifier defines label for the tape volume (GMB00l). allowing no a protection code restricting group access to read and You can now use the MOUNT command to mount the to the world. access volume and write files to it: £ MOUNT MTaAZl GMBOOIL YMOUNT - T-MOUNTEDy & DOFY d.% GMBOOL mounted on MTAHZ2 MTO2: the of label The MOUNT command specifies the device name and volume volume on the device. The COPY command copies the highest versions of all files in your default directory onto the tape. The file names and file types of the output files default to the same file names and file types as the input files. To verify that the files were successfully copied, DIRECTORY ¢ command: DIRECTORY MTA23S you can use the DISK AND TAPE VOLUMES The DIRECTORY on the tape. command lists When you have finished as shown below: $ DISMOUNT $ DEALLOCATE the using file the names tape, and dismount file it types and of all files deallocate it, MTAZ2: MTAZ! If you do not dismount automatically when you and log deallocate out. the tape, the system does so 3.4.2.1 Reading and Writing Tape Files - A magnetic tape 1is a sequential device. With DCL commands, you can write new files only at the end of existing data on the tape and you cannot delete files from a tape. on a The You tape; can, all APPEND however, files command expired. If you re—-initialize it. want append that follow will not, to data the at the appended however, overwrite end overwrite a tape of file a an existing file are overwritten. file that completely, has you not must When you want to copy files from an existing tape, you can selectively copy files from the tape by specifying the file name and file type of the file you want to copy, as shown below. $ MOUNT $ COPY MTEZ2! GMEOOIL MTR2IASTRO.SRC ASTRO.OLI $ COPY MTRIASTROLFOR ASTRO2.FOR $ UTESMOUNT The COPY request, MTR2! commands copy specific files from the tape. the COPY command leaves the tape positioned After at the each copy end of the file it has just copied. When 1t 1looks for the next file, it continues searching until the end of the tape; if it does not find the file, it rewinds the tape and searches until it either locates the file or returns to the point on the tape at which it started. 3.4.2.2 Version Numbers for Tape Files - Files that you write onto tape with DCL commands are written in sequential order and all have version numbers of 0. If you want to read a file from a tape and you do not specify a file version number, the command locates the next file with that file name and file type that is physically on the tape. If you write a file number, the version 3.4.3 onto a number tape and request the next highest associated with the file is 0. Multivolume Tape Sets The VAX/VMS operating system allows you that span more than one multivolume set has a unique within the set. Processing operator command version of or or multi-volume wuser to files respond program attempts to create and access files physical tape volume. Each volume in a volume label and a relative volume number to to read requires requests or write the to attendance switch beyond of volumes; the end of when a an a tape, DISK AND TAPE VOLUMES the system automatically sends a message to the system operator's console (or to a terminal designated as an operator's terminal). The message indicates: ® The device name ® The relative volume number of the next volume in the volume set e The label, if known Before processing can continue, the operator must physically mount volume, place the device online, and type a reply to the message. no operator is to the message the 1If available, you can load the volume yourself and reply from the operator's console or an operator's terminal. When you issue the MOUNT command to begin processing a multivolume file, you can specify the labels on each of the volumes in the MOUNT command. For example, after physically loading the first volume on the device MTAO, you can issue the MOUNT command as follows: $ MOUNT MT: GMEROOLy GMEOO2, GMROO3 The MOUNT command verifies the label on the volume message indicating successful completion if the and returns volume 1label a is correct. Subsequently, automatically when sends the a volume labeled GMB00O2. look like the following: Orcomy 0201824801y Orcoms MOUNT After loading the message: ¢ the tape reaches end-of-tape, the system request to the system operator to mount the The messages the operator receives typically GEQFF relative volume volume and Acert=TEXTFROC 2 (GMEBOOGE) readying the on Rerlu-ID=131084 MTab: device, the operator types REFLY/TO=131084 The system verifies the reply~-ID and then verifies correct volume is mounted, processing continues. the volume. At the end of that tape, it sends a message to mount No more explicit MOUNT commands are required. the label 1If the GMB003. 3.4.3.1 Creating a Multivolume Tape Set - When you initially create a file that spans tape volumes, you may not know that multiple volumes are required. If, while you are writing to the tape, the tape reaches end-of-tape, the system suspends processing to notify the operator that a new volume is required. 1In this case, the system does not know the volume label. The operator must mount a volume and enter the volume label on the REPLY command as shown below. $ If by REFLY/TO=196420 "GMROO4 the tape is a new tape, operator can request that it be initialized specifying /INITIALIZE following the label. For example: ¢ REFLY/TO=196620 "GMBOOA/INITIAL TZE DISK AND TAPE VOLUMES The system performs normal protection and expiration checks before initializing the volume. The operator can also specify /BLANK to override the checking for protection information on tapes that have been read by a verifying machine. 3.4.3.2 volumes MOUNT Using Multiple Tape Drives - You can overlap the mounting in a multivolume set by specifying more than one drive in command. $ MOUNT For of the example: MTAOQL»MTALY GMROOLy GMBOOZy GMROO3Z The MOUNT command verifies the volume on MTAO. If the volume GMB002 is located on the device MTAl when the end-of-volume is reached on GMB001l, processing continues. However, when the end-of-volume occurs on GMB002, the first volume is dismounted from MTAO0 and the system sends a message to the operator to MOUNT the third volume on MTAOQ. 3.5 ACCESSING DEVICES IN BATCH JOBS You can write command procedures to mount volumes, execute DCL commands oOr your own programs to write or access files on the volume. By using logical names to refer to devices and files, you can use the same command procedures without modification each time you want to access a volume. $ $ $ $ $ S $ TRY: RK DM: ALLOCATE THEN S$STATUS IF 00:05 WAIT TRY GOTO OKAY \nNnnnvnnn For example, if you use the same RK06 disk pack to back up your files on a weekly basis, you can submit as a batch job a command procedure like the following: MOUNT GOTO REQUEST/REPLY /TO=DISKS 'PLEASE MOUNT RK RK06 OKAY - BACK_UP_GMB ON ''F$LOGICAL("RK")' " BACK_UP_GMB COPY/REPLACE *_* “RK:*, * DIRECTORY/FULL/OUTPUT = BACKUP.LOG DISMOUNT PRINT RK: RK BACKUP.LOG DEALLOCATE RK REQUEST/TO = DISKS "All done, thanks..." In this job, the procedure places itself 1in a wait state 1if RKO6/RK07 1is available and 1loops to repeat the request. When ALLOCATE command completes successfully, a message 1is sent to no the the operator. The logical name, RK, assigned on the ALLOCATE command is used in subsequent commands. The lexical function FSLOGICAL is used 1in REQUEST command; this function translates the 1logical name RK substitutes the equivalence name in the message displayed at operator's console. When the REQUEST command notifies the operator to volume, the job waits until the operator responds mount the correct before continuing. For more information on how to create and execute command see Chapter 5, "Command Procedures and Batch Jobs." 3-12 all the and the procedures, CHAPTER 4 PROGRAMMING WITH VAX/VMS The VAX/VMS operating system provides concurrent time-shared multiprogramming and batch job processing: many users can be logged in at terminals to create and test new programs and applications interactively at the same time that production applications and time-critical process control applications are running. This chapter describes: e Commands for e Debugging e Exit ® Process program development programs handlers and condition handlers concepts Table 1-5 in Section 1.10, "Summary of VAX/VMS DCL Commands" lists commands described in this chapter. For details on the parameters qualifiers for any of these commands, see the command descriptions Part II. 4.1 COMMANDS the and in FOR PROGRAM DEVELOPMENT Figure 4-1 illustrates programs in VAX/VMS. the steps required to create and execute The following example illustrates the DCL commands you would use to create, compile, 1link, and execute a FORTRAN program named AVERAGE using DCL ¢ commands: EDET AUVERAGE . FOR Troseat S DEAL T LMALCOLMIAVERAGE . FORS 1 Q010G + irenl source statemernts ESC *e $ FORTRAN #LIMK $ RUM AVERAGE AVERAGE AVERALE PROGRAMMING WITH VAX/VMS Use the editor to create a disk file containing your Source source program statements. program Specify the name of this file when you invoke the compiler or assembler. Y The FORTRAN and MACRO commands invoke language Compiler processors that check syntax, or create object modules, and - Assembler if requested, generate program listings. If a processor signals any errors, use the editor to Errors? Correct the yes source program correct the source program. The linker searches the system libraries to resolve references in the object module and create an executable image. Optionally, Link the you can specify private libraries object module to search, and request the linker to create a storage map of your program, The linker issues diagnostic messages if an object module refers to subroutines or symbols that are not available or undefined. If the linker cannot Errors? locate a subroutine, you must Dm = e e e e — - —— > reissue the LINK command specifying the modules or libraries to include. If a symbol is undefined, you may need to correct the source program. The RUN command executes a program image. While your Run the program is running, the system executable may detect errors and issue image messages. To determine if your program is error-free, check its output. If there is a bug in your program, determine the cause Bugs? of error and correct the yes source program, no SUCCESS Figure 4-1 Steps in Program Development PROGRAMMING WITH VAX/VMS Note that the EDIT command invokes the default system editor, SOS. SOS prompts for input lines until you use (Gsc) to terminate input. Then, the E (Exit) command requests SOS to write the input data onto disk. The FORTRAN command invokes the VAX-11 compile the source statements. If you file file. All are a VAX-11] type of the simplest of MACRO programmer, MAR, commands, and use EDIT, you the MACRO FORTRAN, forms, without qualifiers. type of FOR in the input and output and RUN commands. FORTRAN LINK, IV-PLUS would give command to and RUN, the are The or shown file a the input in their file creation, you can allow the files to assume the defaults for file types of the the FORTRAN, LINK, and lists of the sections discuss DCL commands and system programs that in developing, testing, and maintaining your programs. Program Libraries LIBRARY macros. listing command creates and maintains libraries of object modules A library 1is a file that contains its own directory the entries 4,1.1.1 Object convenient for programs. TIMER, using For CALC, it contains. Module storing example, and the LIBRARY g Libraries routines - Object that are if you have compiled SWITCH, you could create command LIBRARYCREASTE as COMMON module libraries called frequently by the a object library modules named g LEINK are many named COMMON.OLB follows: TIMER,UALC»SWITCH When you issue a LINK command to link an object module that of these routines, you can specify the library as a linker using the /LIBRARY qualifier: When the to By giving the source file a file can find a description of each of these commands, valid qualifiers, in Part II of this manual. 4.1.1 input assemble You The next few can help you compiler calls input any file TESTFROG«COMMONSLIRRARY the linker links the module TESTPROG, it library COMMON.OLB when it encounters automatically any undefined searches external references. The system library STARLET.OLB contains system routines that are called frequently. The 1linker automatically searches this library after searching any private 1libraries you specify for undefined external references. PROGRAMMING WITH VAX/VMS 4.1.1.2 Macro Libraries - If you are a MACRO programmer, you can also use the LIBRARY command to catalog macros that you use frequently. For example, to create a macro library from the macros contained in the files command: $ DESCRIPTOR.MAR, LIBRARY/CREATE/ZMACKRO TRANSLATE.MAR, and RANDOM.MAR, LOCALMAC DESCRIFTOR issue the TRANSLATE » RANDOM To assemble a program that invokes any of these macros, specify the name of the library on the MACRO command with the /LIBRARY qualifier, as shown below: $ MACRO L.OCALMAC/LIBRARY4HRUNTEST ZORJECT This MACRO command indicates that there are two input LOCALMAC.MLB, a library; and the source file, RUNTEST.MAR. files: The system library STARLET.MLB contains system macros. The assembler automatically searches this library to locate macro definitions after searching any private libraries you specify, as in the above example. 4.1.2 Controlling Program Updates and Modifications VAX/VMS provides several commands and programs you can and control updates that you make to your programs. 4,1.2.1 program, Updating Source Programs - To update you can use the interactive editor, use to track or modify a source SOS. Because SOS, by default, creates a new file (with a higher version number) each time you edit a file, you can keep previous versions of a file for back up. SOS does not, however, provide you with a record of the changes that you have made. VAX/VMS also provides a batch editor, SLP. With SLP, you can insert, delete, or replace lines in a file and create a new file incorporating your changes. SLP also creates a record of all the modifications that you made. Both SOS and SLP are invoked with the EDIT command. Both of these editors are described in detail in the VAX-1ll Text Editing Reference Manual. 4.1.2.2 Comparing Versions of Files - The DIFFERENCES command invokes a file comparison program that compares the contents of two files to determine what differences, if any, exist between them. DIFFERENCES creates an output file that summarizes the differences. The DIFFERENCES command 4.2 is described in Part II. DEBUGGING The VAX~11l Symbolic Debugger is an interactive debugging program. It has an extensive set of commands that allow you to examine and modify a program in memory while it is executing. PROGRAMMING WITH VAX/VMS The debugger uses e Local ® Global ® Traceback When you you can three symbol sets table symbol of information: information information information use DCL commands to compile or assemble and control what information, if any, you want 1link a program, to include in the image. If you request local symbol table information you can refer to actual variable names and statement labels when you issue DEBUG commands. If you request traceback information, the debugger can trace the call stack when an error occurs during image execution. By default, the FORTRAN IV-PLUS compiler and the VAX-11 MACRO assembler generate traceback information, but not local or global symbol information, in the object module. The linker, also by default, includes the traceback information in the image file so that you receive a symbolic traceback when an error occurs. 4.2.,1 Symbolic Debugging If you want to use you must request program. a FORTRAN the complete symbolic capabilities of the debugger, the debugger when you compile and when you link a The following example shows program with the debugger: $ FORTRANZDERBUG/NOOFTIMIZE $ LINK/ZRERUG $ RUN the commands to compile and arnd module link PRECIP FRECIP FRECIF NDEGUE Vereiorn ANERBUG~T-TINITIALy 1.0 landguadge is FORTRANy that the score set Lo CRRECTRS NG The FORTRAN command requests traceback information /NOOPTIMIZE qualifier source program be ensures statements The LINK command requests global symbol definitions When you debugger, issue the the RUN and 1in a one-to-one the machine inclusion of in the image. command debugger debugger included to receives the correspondence code the execute an control, in In it RUNSNODEBUG this case, by issuing the table (the between the object and 1image 1linked identifies and module debugger prompts for you to begin entering DEBUG commands. the debugger to prompt when you execute an command as follows: $ symbol object module). 1local and with the 1itself, and If you do not want image, issue the RUN FRECIF the debugger does not prompt; however, the DEBUG command when an error occurs. you can invoke For complete descriptions of the DEBUG commands and considerations for using the debugger, see the VAX-11] Symbolic Debugger Reference Manual. PROGRAMMING WITH VAX/VMS Note that symbol table information and, to a lesser extent, traceback information increase the size of an object module. When you have debugged a program, you can recompile or reassemble without the symbol table information, retaining traceback information in the event of unexpected errors in the future. You can also exclude traceback information from modules that you catalog in object module libraries. Otherwise, the traceback information is included in all modules that 1link with the 1library module. 4.2.2 Debugging with Virtual Addresses You can debug an image that was not compiled and 1linked with the debugger symbol table. The /DEBUG qualifier on the RUN command requests the debugger $ RUNZDERBUG at run time. For example: ORION To specify memory locations for the debugger, you must have both a machine code 1listing of the object module and a full map from the linker. The map gives the virtual address (in hexadecimal) of each module, global symbol, and PSECT in the image. If you do not link or run an image with the debugger, you can debug a program using virtual addresses with the DCL commands EXAMINE and DEPOSIT. The EXAMINE command displays the current contents of a location or range of 1locations; the DEPOSIT command modifies a location. These commands provide a useful, but 1limited, debugging capability when you need to debug a program that has not been linked or run with the debugger. The DEPOSIT and EXAMINE commands are described 4,2.3 in detail in Part II. Interrupting Program Execution When you use the RUN command to execute an 1image interactively, you cannot execute any other images or DCL commands until the image completes; that is, until the image exits. If you enter a command line, the system saves the line in the terminal type—ahead buffer, but does not echo the line or begin to execute the command until the image exits. If you need to interrupt an image while it is executing, press or CTRL/Y. Generally, CTRL/C the effect of both of these CTRL key sequences the image is interrupted (but unchanged), the type-ahead is the same: buffer is purged, and the command interpreter receives control. Note: Some system CTRL/C has the or application programs may contain special routines coded to receive control when CTRL/C is entered. If you use CTRL/C to interrupt such a program, the CTRL/C handling routine receives control, rather than the command interpreter. Use CTRL/Y to bypass a CTRL/C handling routine when you want to interrupt a command or program to enter a DCL command. If you use CTRL/C to interrupt a command or program that does not have a CTRL/C handling routine, then same effect as CTRL/Y and echoes information on how to code a CTRL/C handling routine, I/0 User's Guide. as see the Y. For VAX/VMS PROGRAMMING WITH VAX/VMS The following example shows interrupt a program that $ RUN is CTRL/C or CTRL/Y being pressed to looping: NAMETGT ENTER YOUR NAME? ENTER YOUR NAME? ENTER YOUR NAME y % The dollar After you you sign ($) prompt indicates that you can enter a DCL command. have interrupted an image (or a DCL command) with CTRL/Y, can: e Terminate the STOP command image, or by that is, force RUN entering it a to exit to by entering the execute another command image. e Issue the The image CONTINUE command to resume resumes execution from the ® Issue DEBUG the command, the /DEBUG qualifier. debugger. You can also issue any other DCL if the image The DEBUG execution of the image. point of interruption. was linked command gives command. Most DCL or commands at CTRL/Y level have the same effect as the RUN command; current image is forced to exit before the command can However, the interpreter following and thus commands do not affect are the performed image = For ASSIGN IF SHOW CLOSE INQUIRE SHOW STATUS DEALLOCATE OPEN SHOW DEASSIGN READ SHOW TIME DEFINE SET DEFAULT SHOW DEPOSIT SET PROTECTION/DEFAULT WAIT EXAMINE SET VERIFY WRITE EXIT SET UIC1 ¢ you could command, RUN GRADES SHOW TIME and interrupt then any continue command the or image, the command PROTECTION SYMBOL TRANSLATION program, as enter TIME SHOW DEFAULT example, you the interrupted: GOTO SHOW TIME with to that is, the be executed. within that was SHOW ALLOCATE run control issue the follows: s Y t Q7 JUN-1978 $ Note that suppress, you can do not 1 This 10154 CONTINUE you or for can also use CTRL/O, CTRL/S, and continue terminal output from a the affect output the command of program a DCL command. These CTRL/Q program to interrupt, image, just as control key image. is described in the VAX/VMS Operator's Guide. functions PROGRAMMING WITH VAX/VMS 4.3 EXIT HANDLERS AND CONDITION HANDLERS Programs written in VAX-11l FORTRAN IV-PLUS and VAX-11] MACRO can take advantage of operating system services that allow an image to respond to special situations. 4.3.1 Exit Handlers When you write a program to execute on VAX/VMS, you can provide the program with an exit handler. An exit handler is a special routine that receives control when the image exits. The exit handler can determine whether the image is exiting normally; that is, whether the program completed successfully, condition. or exited as the result of an error If you have used the RUN command to execute an image that has an exit handler, and you interrupt the image with CTRL/Y, you can control whether the exit handler is actually given control. 1If you issue the STOP command, the exit handler 1is not executed. If, on the other hand, you issue another DCL command or the RUN command to execute another image, the exit handler in the interrupted image is allowed to execute before the specified command is performed. For information on how to code an exit VAX/VMS System Services Reference Manual. 4.3.2 handling routine, see the Exception Conditions The system interrupts image execution when the 1image incurs an exception condition; that is, it attempts an illegal operation. Some examples of situations that cause these conditions, called exceptions, are: e Arithmetic overflow or underflow ® A memory access violation e An invalid operation code ® An invalid argument list to the math library When an exception occurs, the system searches for a routine that can respond to the condition; these routines, called condition handlers, can be declared from user programs. If no user-declared condition handlers are located, or if a user-declared condition handler cannot respond to a particular situation, the system gives control to a default handler. This handler terminates the image; obtains as much information as it can about the exception condition, including any available traceback information; and summarizes the information for you. 4.4 ~ PROCESS CONCEPTS The executable program image created by the linker executes within the context of the process created for you at login. This process can execute, serially, many different images during your terminal session. When you 1issue the LOGOUT command to end your terminal session, the system deletes the process. PROGRAMMING WITH VAX/VMS The VAX/VMS operating system manages all users' requests to execute images in terms of the processes issuing the requests. The system provides each process with a unique process identification number (PID), a character string process name, and a distinct Figure 4-2 illustrates the relationship of a terminal process that the system creates and the images executed by the RUN command. 4.4.1 Priorities, Privileges, environment. wuser in the to the process and Quotas The characteristics of an individual process -- that is, the process's context —-- determine the nature of the images that the process will be allowed to execute. Most of these characteristics are obtained from the user authorization file. When you 1log in, the defaults established for you by the system manager are associated with the process that the system creates for your terminal session. These defaults ® The determine: base process ® execution priority executes. general, are given control applications jobs and interactive users. Resource limit quotas that given In or to the higher restrict the that and priorities of a particular system resource any example, an open file quota 1limits the process can have open at any one time. ® 1images communications than frequency 1image can number of the process batch or amount use. For files a User privileges specific system to perform system functions or to call services. For example, the ability to place names in the group or system logical name tables is controlled by a privilege. The base priority, resource quotas, and privileges granted to general users are adequate for time-sharing program development requirements. In fact, many of the DCL commands you execute perform privileged functions on your behalf, so you do not require the privilege. Note, however, that a particular descriptions, You can process for some commands, qualifier. These as appropriate. must have a restrictions determine the current privileges and by issuing the following command: $SHOW are user privilege noted quotas Input, also the available Output, and privileges Error and quotas defined to use command to vyour establishes by the Streams The base priority, quotas, and privileges assigned to a creation are only one aspect of the context created system in PROCESS/FRIVILEGES/QUOTAS Tables 1-7 and 1-8 list the VAX/VMS operating system. 4.4.2 you equivalences for default process at at login. process its The 1logical names, including SYS$INPUT, SYSSOUTPUT, and SYSSERROR. These logical names provide permanent associations for the process's input, output and error streams. For an interactive process, these logical names are initially equated to the terminal, and are used by the command interpreter to read command 1lines and to display output and error messages. PROGRAMMING WITH VAX/VMS User Authorization File When you log In, the system creates a process, and assigns it a unigue (> process identification number. The system obtains the default ® priority Username: i Password: ® resource quotas ® privileges : /P 1 ' e for your process from the user authorization file. 1 . L.__lLr'—:;t;:::;:dfiH $ RUN PROGRAMA el . The process’s vital address space includes space occupied by $ RUN PROGRAMB system contro! areas and the command interpreter. PROCESS $ TYPE OUTPUT.B Each image executes in the context of the process. $ LOGOUT When you log out, the system deletes the process. Figure 4-2 An Interactive Process 4-10 PROGRAMMING WITH VAX/VMS These logical executes. requests names For are also example, through RMS a available program (Record to that all images performs Management that the explicit Services) process input/output macros or system services can write records to SYS$SOUTPUT. If you execute this image interactively, the output is directed to your current terminal; if you execute the image in a batch job, the output is directed to the batch job output log. 4.4.3 A Processes process can and Subprocesses execute only one program image at a time. Some applications may require concurrent execution of cooperating programs. Because the system uniquely identifies every process, an image executing in one process can communicate with or control another process by referring to that process's identification number. Processes executing with the same group number in their UICs can also refer to one another by process name, that is, a character string name assigned to the process. When you first 1log into the system, the system gives your process the same name as your user name. If you log in at more than one terminal, processes after the first are given names based on the name of the terminal at which you logged in. Most processes in the system are execute independently of one creates a for process The process The owner you at login is a create another that creates a a subprocess processes; another. detached can of detached The process process. An type of process, subprocess is called that that image called the executing a owner 1is, they the system in subprocess. process. can: e Define the base priority, privileges, and resource gquotas that the subprocess will have. Some of these resource quotas are deducted from the owner's quotas. e Specify the subprocess, e Obtain system Generally, a exits, the name of an executable image to be executed and control the execution of the image. information resources it about the has used. status of the subprocess in the and the subprocess executes a single image, and when the image system deletes the subprocess. If the owner process is deleted (for example, if you log out) and the system also deletes the subprocess. a subprocess still exists, If you plan to develop an application to use cooperating processes, you should be familiar with the VAX/VMS system services that provide process communication and control functions. These services are described in detail in the VAX/VMS System Services Reference Manual. In conjunction with the system services that control processes and subprocesses, you can use the RUN command to create a subprocess to execute a particular image. For details, see the description of the RUN (Process) command in Part II. CHAPTER 5 COMMAND PROCEDURES AND BATCH JOBS A command procedure is a file containing DCL commands, command oOr program input data, or Dboth. You can use command procedures to catalog sequences of commands you frequently use during an interactive terminal session; or, if vyou are a batch user, to submit all your jobs for processing. In its simplest form, a command procedure consists of two or more command lines that the command interpreter executes. In its most complex form, a command procedure resembles a program written in a high—-level programming language: it can establish loops and error checking procedures; call other procedures; pass values to other procedures and test values set in other procedures; perform arithmetic calculations and input/output operations; and manipulate character string data. This chapter describes: e Creating command procedures e Executing command procedures e Submitting batch e Command levels e The LOGIN.COM file e Using e Commands to control the execution of a command procedure ® Reading and writing files e Lexical symbols interactively jobs in command procedures functions Table 1-6 in Section 1.10 "Summary of VAX/VMS DCL Commands" lists the commands described in this chapter. For complete details on the parameters of any of these commands, see the command Part II. 5.1 CREATING COMMAND PROCEDURES descriptions in You can create a command procedure using any method or media available to you: if you are an interactive terminal user, use the CREATE command or the editor to create the command procedure interactively; if you are a batch job user, punch the cards containing the command procedure using a card punch. COMMAND PROCEDURES AND BATCH JOBS Each line in a command procedure represents a line that you want the system to process. You enter the lines into the file in the order in which you want the system to process them. For example, to create a command procedure named TESTALL.COM that contains RUN commands to execute the program images named TESTA.EXE, TESTB.EXE, and TESTC.EXE, you would create a file containing the following lines: $ RUN TESTA $ RUN TESTB $ RUN TESTC Note that you must precede each 1line containing a DCL command (including comment lines) with a dollar sign ($); you can precede or follow the dollar signs with none or one or more blank spaces or tabs. If you continue any command on more than one 1line using continuation character, a hyphen (-), the lines after the first must not contain a dollar sign. For example: the line $ PRINT TEST.OUT /AFTER=18:00 - /COPIES=10 /QUEUE=LPBO0: The qualifiers for this PRINT command are placed on separate lines 1in the command procedure for readability, with continuation characters to indicate that the command is entered on more than one 1line. The spaces preceding each qualifier are not required, but are also included to make the command procedure more readable. \ 5.1.1 Entering Data in Command Procedures When the system executes a command procedure, either interactively or as a batch Jjob, it associates the command procedure file with the logical name SYS$INPUT. Therefore, if a command procedure executes a DCL command or a program that reads from SYS$SINPUT, the input is actually read from the command procedure. For example, when you issue the CREATE .command, the system reads input lines for a file from the command input stream. If you issue the CREATE command interactively, the command input stream (that 1is, SYSSINPUT) 1is your by pressing CTRL/Z. terminal. You indicate the end of the data stream When you use the CREATE command in a command procedure file, the input stream 1is the command procedure; thus, you place the input for the file specified in the command procedure, as follows: $ CREATE WEATHER.DAT JAN FEB MAR 39 42 50 3 1 20 DEC 46 25 $ RUN WEATHER COMMAND PROCEDURES AND BATCH JOBS In a command procedure, the end of the input data for the CREATE command (or any command or program that is reading input data) is indicated by a line that begins with the dollar sign character, or by the physical end-of-file of the command procedure. 1In the above example, the end of input is signaled by the RUN command line. If any data lines you place in the input stream begin with dollar signs ($), you must delimit the data stream with the DECK and EOD (End of Deck) commands. This technique is particularly useful for batch users who submit all work through the system card reader. For example, if you use the CREATE command to write a command procedure into a disk file, you would use the DECK and EOD commands as shown below: (| $@WEATHER (// sEOD / $ RUN WEATHER // $LINK WEATHFR // $ FORTRAN WEATHER / $ DECK // S CREATE WEATHER.COM (/ $PASSWORD HENRY || - /"$ 408 HIGGINS This procedure creates and executes the procedure WEATHER.COM. 5.1.2 Command Procedures without Commands You can construct command procedures that contain only data to be read by a command or program; or that contain only qualifiers or parameters for a command; or both. When you specify the @ in any place in a command, input from that contains a number of qualifiers you frequently use together you issue a LINK command, as shown below: when the procedure file. the command interpreter begins reading For example, you could create a command procedure /DEBUG /SYMBOL_TABLE /NOSUPPRESS=SYSLIB /MAP/FULL/CROSS_REFERENCE If this procedure is named DEFLINK.COM, you can subsequently request these gqualifiers on a LINK command line by executing the procedure as follows: $ LINK SYNAPSECDEFLINK Note that no space precedes the at sign (@) in the above example. If you type a space before the at sign, the command interpreter assumes that the command file contains a parameter for the LINK command. Because the LINK command allows only one parameter, an error would result. COMMAND PROCEDURES AND BATCH JOBS 5.2 EXECUTING COMMAND PROCEDURES INTERACTIVELY When you execute a command procedure, give the file specification of the command procedure following the at sign. The @ command assumes current disk and directory defaults, and the default file type of COM. For example, to execute the command procedure WEATHER.COM in your default disk directory, issue the command: $ CWEATHER To execute a command procedure that 1is not in your default directory, give the complete file specification as follows: disk $ GDRE2:CCOMMONISETUFFIL This @ command executes a command procedure named SETUP.FIL in the directory COMMON on the disk DBB2. cataloged For command procedures that you execute frequently, you can define symbol name as a synonym for the @ command line. For example: $ SETUF 5.2.1 a = GDERE2:CCOMMONISETUF.FIL Input and Output Devices When you use the @ logical command interactively, the system device SYSS$SINPUT with the command procedure file. equates the SYSSOUTPUT and SYSSERROR remain assigned to your terminal so that output resulting from command or program execution and system messages are displayed at your terminal. If you want a permanent record of the output from the execution of a command procedure, you can use the /OUTPUT qualifier of the @ command. The /OUTPUT qualifier defines an equivalence name for the logical name SYSSOUTPUT. For example: $ GTESTALL/0UTFUT=TESTALL +L.0G If you execute this command, all the data normally displayed on your terminal during the execution of TESTALL.COM is instead written to the disk file named TESTALL.LOG. Error and warning messages are displayed on your terminal as well. To determine TYPE command 5.2.2 the outcome of to display the the command procedure, you can use file or the PRINT command to print it. the Verification of Command Procedure Execution Generally, the output procedure includes: ® Responses e All and from the messages data messages SYS$SOUTPUT interactive « from DCL displayed execution of a command commands by programs that write to If you also want to see the lines in the command procedure displayed at the terminal as they are executed, you can issue the SET VERIFY command. You can issue the SET VERIFY command within the command procedure, or at the interactive command level; the command affects COMMAND PROCEDURES AND BATCH JOBS all command procedures you subsequently execute. By default, the system does not display lines in a command procedure that you execute interactively. You can reverse the effect of SET VERIFY with the SET NOVERIFY command. For example, to display lines in a particular command procedure, you could place the SET VERIFY command at the beginning of the procedure, and place the SET NOVERIFY command at the end of the procedure, as follows: $ $ $ $ S SET RUN RUN RUN SET VERIFY TESTA TESTB TESTC NOVERIFY The SET NOVERIFY command at verification for subsequent 5.3 the end of procedures. this procedure suppresses BATCH JOBS You can submit command procedures for processing as batch jobs. The format of a batch job command stream is identical to the format described for command procedures. A batch job is, in fact, a command procedure. Batch job queues are set up and maintained by the system manager; in most cases, at least one of these queues will be named SYS$SBATCH. 5.3.1 Submitting Batch Jobs from the Terminal If you use the @ command to execute a command procedure interactively, you cannot enter other commands to do other work while the procedure is executing. If you create and use procedures that require lengthy processing time -- for example, the compilation or assembly of large source programs -—- you can submit the procedure for execution as a batch job. Once the job is queued, your terminal is free for you to continue interactive work. The SUBMIT command requests the system to enter a command procedure in the batch job queue. The SUBMIT command assumes current disk and directory defaults, and it assumes the default file type of COM. For example, to execute the command procedure TESTALL.COM in your default disk directory, issue the command: $ SUBMIT TESTALL Job 210 entered on queue SYSSEBATCH When you submit a job, the system displays a message showing that the job 1is queued, gives you the job identification number (jobid) it has assigned to the job, and displays the name of the batch job gqueue on which it entered the job. You can specify qualifiers with the SUBMIT command to control when the job 1s actually available for processing, or you can specify a name for the job, overriding the default file name (the file name of the command procedure file). For example: ¢ SUBMIT/NAME=RATCH25/HOLD Jobr 203 entered on aueue TESTALL SYSSRATCH COMMAND PROCEDURES AND BATCH JOBS This SUBMIT command submits the file TESTALL.COM for processing, placing it in a hold status. The system will not execute the job until you specifically release it. The /NAME qualifier assigns a name to the job; the batch job log file will be named BATCH25.LOG. The system identifies all batch jobs by their job identification numbers (jobids). You can query and change the status of your jobs by referring to these numbers. After you have submitted a batch job, and before it completes execution, you can use the SHOW QUEUE command to determine its place in the queue. For example: $ SHOW QUEUE/RATCH/FULL X Ratch Queue "SYS$BATCH" Joblim=és Current Job 201 WILSON Current Job 202 HARRIS Holding Job 203 HIGGINS Inis-~i=4y BATCHO1 FORCLG BATCH25 Swar 12-JAN-1978 14115 12-JAN—-1978 14320 12-JAN-1978 14122 DRALITESTALL .COM# 3 If you entered the job in the queue with the /HOLD qualifier, you release it for processing with the SET QUEUE command, as follows: % SET QUEUE/ENTRY=203/RELEASE SYS$RATCH You can also delete it, either before it is processed or while For example: Use the DELETE/ENTRY command. executing. $ DELETE/ENTRY=203 For details on the SHOW, command descriptions 5.3.2 can it is see the SYS$EATCH SET, in Part II. and DELETE/ENTRY \ commands, Submitting Batch Jobs through the Card Reader When you submit a batch job through the system card reader, you must the command procedure with cards containing the card deck precede name and containing JOB and PASSWORD commands that specify your user The last card in the deck should contain the EOJ command. password. For example: d input stream /s PASSWORD HENRY /S JOB HIGGINS When the system reads a job from the card reader, it validates the user name and password specified on the JOB and PASSWORD cards. Then, it copies the file into a temporary disk file named INPBATCH.COM in your default directory and gqueues the job for batch execution. 5-6 COMMAND PROCEDURES AND BATCH JOBS Thereafter, processing is the same as for jobs submitted interactively with the SUBMIT command. When the batch job completes, the system deletes the temporary file. When two the system reads input special types of card: e Translation mode e EOF from the card reader, it also recognizes cards cards Translation mode cards in the input stream change the current translation mode. The translation mode is based on the device type of the card punch on which the cards were punched. An 026 punch is indicated by an 026 translation mode card (12-2-4-8 overpunch). An 029 punch is indicated by an 029 translation mode card (12-0-2-4-6-8 overpunch). The default mode can be set with the SET CARD_READER command. An EOF card (12-11-0-~1-6-7-8-9 the end of the job. You can of an input stream when card reader. 5.3.3 When you overpunch) or an also use the EOF copy a file or read EOJ card command to signal data directly signals the end from the Input and Output Devices the system executes job queue, This process a command procedure submitted to the batch it creates a detached process to execute the commands. receives your disk and directory defaults, and the same resource quotas and privileges assigned to your interactive process. This process is given a name in the format _JOBnnn where nnn 1is the job identification number assigned to the job. The process executes under your UIC. The batch job input stream, SYSSINPUT, is equated to the disk containing the command procedure. The output stream, consisting of messages written to SYSSOUTPUT and SYS$SERROR, is equated to a batch job 1log file. The system catalogs this file in your default disk directory, giving it a file specification of "name.LOG" where name is the file name of the procedure (you can also specify the /NAME qualifier on the JOB command to specify an alternate name). When the batch job completes, printing; when The batch job the 1log the system automatically queues file has printed, file includes, the by the system deletes default, all log file for it. command 1lines executed in the command procedure, system and user-program output to SYSSOUTPUT, and SYSSERROR, and job termination accounting information. Note that the batch job log file does not print, and if the Jjob terminates abnormally. For example, DELETE/ENTRY or STOP command to stop the job, the log your default 5.4 COMMAND LEVELS One command directory. procedure can invoke another procedure is not 1if file with the deleted, you use the remains in @ command. In this case, the command interpreter reads input from the second file until it reaches the end of the file or until that procedure exits, and then returns to the outer procedure. COMMAND PROCEDURES AND BATCH JOBS The maximum number of command procedures you can nest in this way |is eight. For each procedure, the command interpreter redefines the equivalence name for SYS$INPUT, equating it to the file from which the current procedure is read. If the /OUTPUT qualifier is specified with an @ command, the command interpreter redefines the 1logical name SYSSOUTPUT as well. The logical names SYS$ERROR, SYSSDISK, and SYS$COMMAND do not change. if you is always equated to the initial command level: SYSSCOMMAND to equated always execute a procedure interactively, SYS$SCOMMAND is if you submit a batch job, SYSSCOMMAND is always terminal; your equated to the initial batch input file. Figure 5-1 illustrates logical name levels. 5.5 THE assignments at various command LOGIN.COM FILE If you create a file named LOGIN.COM in your default disk directory, the command interpreter automatically executes the procedure each time you log in and at the beginning of each batch job you submit. of sequences to execute any commands or Use the LOGIN.COM file that you normally would want to execute at the start of each commands DCL for synonyms you define if example, For terminal session. the global assignment statements for the you can place commands, command name synonyms in the LOGIN.COM file so they will be available during every terminal session. For example, a LOGIN.COM file could contain the $ QP $ QB following statements: :== SHOW QUEUE/DEVICE :== SHOW QUEUE/BATCH $ TIM :== SHOW TIME Note that these symbols are defined as global symbols, not be deleted when the procedure finishes executing. so they will A LOGIN.COM file can also contain commands to set up terminal 1logical names, run programs, execute command assign characteristics, procedures, or display message files. You can update your LOGIN.COM file at any time to change, add, or delete commands. When you first create the LOGIN.COM file, or after you update it, you can execute it with the @ command so that the commands it contains become effective. 5.6 USING SYMBOLS IN COMMAND PROCEDURES symbol An assignment statement (= command) equates a character string You can use value. arithmetic or string character a with name string perform in command procedures to assignment statements and logical arithmetic operations, substitution and manipulation, compar isons. COMMAND PROCEDURES AND BATCH JOBS User name: HIGGINS Password: input = a output TTB3: = TTB3: error = TTB3: command = TTB3: $ @PROC1 PROC1.COM input = DBA1:PROC1.COM output = TTB3: command = TTBS3: e error = TTB3: $ @PROC2/0UTPUT=PROC2.0UT PROC2.COM T $EXIT input output = DBA1:PROC2.COM = DBA1:PROC2.0UT error = TTB3: command = TTB3: $ @DBB2:PROC3 DBB2:PROC3.COM $ EXIT input = ° error output = DBA1:PROC2.0UT command = TTB3: DBB2:PROC3.COM = TTB3: $EXIT $ SUBMIT BATCH1 $ next-command — — —— — et —— — o e e BATCH1.COM = DBA1:BATCH1.LOG DBA1:BATCH1.COM error = DBAI1:BATCHI1.LOG command = DBA71:BATCH1.COM $ @BATCH2 I BATCH2.COM —_— input = DBA1:BATCH2.COM error = DBA1:BATCH1.LOG command = DBA1:BATCH1.COM output I = DBA1:BATCH1.LOG $ @BATCH3/OUTPUT=BATCH3.0UT BATCH3.COM output error command Key: input Input stream (SYSSINPUT) output Output stream (SYSSOUTPUT) error Error stream (SYSSERROR) command Command stream (SYS$COMMAND) sy ot Transfer of control Command Level Execution occurs in a separate process Figure 5-1 Command Levels '} | = DBA 1:BATCH3.COM (A | input output DBA1:BATCH1.LOG | LI I DBA 1:BATCH3.0UT DBA1:BATCH1.COM I COMMAND PROCEDURES AND BATCH JOBS 5.6.1 Local Symbols You can define symbols interactively or within command procedures. The command interpreter maintains a symbol table for each active command level, including the interactive command level. These tables are called 1local symbol tables, and the symbols they list are called local symbols. To define a symbol as a local symbol, use a single equals sign an assignment statement. $ COUNT = 1 $ OUTDAT := For example: (=) in "Beginning tests...." These assignment statements define local symbols. The first statement equates the symbol named COUNT with a numeric value of 1. The second statement equates the symbol named OUTDAT with a string value; the string is enclosed in quotation marks because it contains literal lowercase letters. A colon (:) in an assignment statement indicates a character string assignment. A local symbol exists as long as the command level at which it was defined remains active, unless the symbol is specifically deleted. For example, if you define the symbol COUNT interactively, any procedure you subsequently execute can refer to the symbol COUNT and obtain its current value. contains: As another example, the procedure A.COM $ TOTAL = 1 $ @B The procedure B.COM contains the line: $ NEWTOTAL = TOTAL + 1 When B executes, the symbol name TOTAL 1is accessible and can be substituted, because the command 1level at which procedure A is executing is still active. Local symbols are deleted when the procedure that defined them finishes executing. In the above example, the symbol NEWTOTAL defined by B is deleted when B 5.6.2 Global completes. Symbols In addition to the local symbol tables, the command interpreter also maintains a global symbol table. A global symbol exists for the life of the job, unless specifically deleted, and is recognized at any command level. To define a global symbol, use two equals signs (== in the assignment statement. $ $ == 350 FILENAME &== For example: RESULT MYFILE.DAT These assignment statements define global 5-10 symbols. COMMAND PROCEDURES AND BATCH JOBS 5.6.3 Symbol Substitution To request symbol for example: $ TYPE You substitution, enclose a symbol name in apostrophes, 'FILENAME' can omit a trailing apostrophe The command interpreter context of an arithmetic at the end of a command automatically substitutes expression. For example: line. symbols in the $§ TOTAL = COUNT + 1 No apostrophes are needed to request substitution of the symbol COUNT in this arithmetic assignment statement because the command interpreter automatically substitutes symbols while it executes arithmetic assignments. Note, however, that you must use an apostrophe in a string assignment statement: $ OLDSTRING Otherwise, OLDSTRING For of character symbol 'FILENAME' the command interpreter would equate the with the 1literal string FILENAME, rather current value Within := symbol named than using the FILENAME. strings substitution enclosed in quotation marks, by preceding a symbol name with you can two request apostrophes. example: §$ Only a PROMPT_STRING single := "Creating apostrophe is file required ''FILENAME'.TST" to delimit the end of the symbol name. When the searches You any command interpreter performs symbol tables in the following substitution order: l. The current 2. Local 3. The local symbol table for the command symbol tables for each previous searching backwards from the current level global symbol on symbols, it level command level, table can use the SHOW SYMBOL command to display symbol. The SHOW SYMBOL command uses the locate symbol definitions, tables, then the global that 1is, it symbol table, the same searches to locate current order of value search the 1local a specified of to symbol symbol name. For complete substitution, command) in operations 6.6, "Rules details on see the Part II. the For syntax of assignment description additional of details you can perform on symbols for Forming Expressions." 5-11 the and statements Assignment on arithmetic literal values, and symbol Statement (= and logical see Section COMMAND PROCEDURES AND BATCH JOBS 5.6.4 Passing Parameters to Command Procedures in a You can write generalized command procedures that may perform The command interpreter time you execute them. different way each defines eight special symbols for use as parameters within command 1local symbols are named Pl1, P2, P3, and so on, to These procedures. P8; they are all initially equated to null strings. You can pass numeric or character string values for these parameters when you execute a procedure with the @ command or submit it as a batch job with the SUBMIT command. For example, S ASSIGN $ ASSIGN the procedure named RUNTEST contains the lines: 'P1' 'P2' $ RUN SORTER INFILE OUTFILE and The program SORTER.EXE reads a file using the logical name INFILE To assign writes an output file using the 1logical name OUTFILE. Pl for equivalences to these logical names, you must provide values and P2 when you execute the procedure. with the @ command, you could enter command parameters, $ GBRUNTEST as follows: the If you execute the procedure values for Pl and P2 as INSORT.DAT OUTSORT.DAT This @ command line gives the symbol name Pl a value of INSORT.DAT and the symbol P2 a value of OUTSORT.DAT. To pass parameters qualifier, with as follows: the SUBMIT command, use the /PARAMETERS $ SUEBMIT RUNTEST/FARAMETERS=(INSORT.DAT»QUTSORT.DAT) them When you specify more than one parameter, separate and enclose them in parentheses as in the above example. with commas parameters Note that in both of the above examples the values for the are assigned according to the order in which you specify them, that is, the first parameter you enter is Pl, the second is P2, and so on. Figure 5-2 illustrates a command procedure testing the parameters that The procedure establishes a symbol named COUNT and passed to it. are each test to procedure the is If this procedure, named MASTER.COM, P 1letter the COUNT with concatenates the value of passed, 1is parameter invalid an If parameter. constructs an error message. invoked with the line: $ EMASTER FURGE RENAME files .a group of It performs its main function, that is, concatenates However, when single file, and it performs its PURGE option. a into the value of COUNT reaches 2, it checks the value of P2 and determines Then, it uses a WRITE command to issue that it is not a valid option. the error message: Had rarameter "RENAME® The WRITE command is described later in this chapter, "Reading and Writing Files." 5-12 in Section 5.8, RS PIH COMMAND SET NOVERIFY | PROCEDURES AND BATCH JOBS Ensure that verification is off ! I Concatenates I and ortionally a8ll I the file TXT files into srints the filer rrotection 2 single rurdes master earlier file ramed versiornsrs MASTER.DOC and chandes code. FRAH ABFTR AR AER Firsty ! concatenate 311 existing files into MASTER I COFY/ZLOG X.TXT/CONCATENATE ! ! Loor I U Parameters commarvd i ! more to check for can the MASTER.DOC kewsword rarameters FRINTy be entered in any order. The loor checks for 8 nullsy when rarameterss the rrocedure FROTECT» first there FURGE are no exits. | COUNT = 0 LOOF COUNT IF = COUNT + 1 F’COUNT.EQS."" THEN EXIT e Use lodgical cam s o ! any of S fod rom BRFTARHAEARPRA RS FRAAPRAA R AR AAPPRD AP RSO ! the AND oreration valid to hegwwordsy test issue current an error rarameters messadge if and it is contirnue rot loorindg,. .F F/COUNT .NES. "FRINT® .AND.F/COUNT.NES. "FURGE" . ANLI. ~ ‘COUNT NES. "FROTECT" Use IF commands rrovide F an to THEN GOTO check the arrrorriate P/COUNT.EQS. "FPRINT® BADFARAM current rarameter adainst each kewword branch. THEN GOTO FRINT iF F/COUNT.EQS,. *PROTECT® THEN GOTO FROTECT ! IF ! U F/COUNT.EQS, "FURGE" IF any rarameter is THEN GOTO FRINT: FURGE srint the document file I FRINT: FRINT/COFIES=20/AFTER=17100 - MASTER .DOC/NAME=DNOCUMENT..REVIEW GOTO L.OOF I Go check for more rarameters ! P If amy rarameter is FROTECTy chande file rrotection ] FROTECT SET PROTECTION GOTO MASTER.DOC/FROTECTION=(GROUFRWEL) LOgF ! Go checlk FURGE then for more rarameters ! P IF anyg rarameter is surde old files i FURGE¢ FURGE GOTO %.TXTyMASTER.DOC LOOF I Go check for BALIFARAM? P Construct more rarameters ! FARM = F’COUNT’ WRITE SYS$OUTFUT GOTO *Bad rarameter error messasge ","" "'y PARM’,"""" LOOF Figure 5-2 Testing Parameters Passed to a Command Procedure and COMMAND PROCEDURES AND BATCH JOBS 5.6.5 The INQUIRE Command When you execute a command procedure interactively, you can use the INQUIRE command to define a value for a symbol while the procedure executes. When the INQUIRE command 1is executed, the command interpreter 1issues a prompting message to SYSSCOMMAND, that is, the terminal; the text of the message is taken from the INQUIRE command line, as shown in the example below. ”v»nnnn The procedure RUNTEST contains the lines: INQUIRE IN INPUT FILE INQUIRE OUT OUTPUT FILE ASSIGN 'IN' INFILE ASSIGN 'OUT' OUTFILE RUN SORTER When you execute this procedure, the terminal interaction might appear as follows (if SET NOVERIFY is in effect): $ $ @RUNTEST INPUT FILE? DE1:INSORT,DAT OQUTPUT FILE? DE2:0UTSORT.DAT When these INQUIRE commands are executed, the prompting messages INPUT FILE and OUTPUT FILE are displayed, and you must enter values for the symbols IN and OUT before the command procedure continues. The prompting strings INPUT FILE and OUTPUT FILE are optional parameters for the INQUIRE command; if you do not specify them, the command uses the symbol names IN and OUT to prompt for values. 5.6.6 Deleting Symbols The DELETE/SYMBOL command deletes a local symbol from the local symbol table for the current command level and global symbols. For example, the following command deletes the local symbol named TOTAL: $ DELETE/SYMEROL TOTAL The /GLOBAL qualifier indicates a global symbol is to be deleted. For example: $ DELETE/SYMEOL/GLOBAL/ALL This command deletes 5.7 COMMANDS TO CONTROL THE EXECUTION OF A COMMAND PROCEDURE Normally, the command all global symbols. interpreter executes each command in a command procedure in sequential order, and terminates processing when it reaches the end of the command procedure file. However, using combinations of the following commands, you can control the sequence in which lines are executed; conditionally execute lines; construct loops; and handle errors IF EXIT GOTO STOP ON in command procedures: COMMAND PROCEDURES AND BATCH JOBS Some techniques following command 5.7.1 for sections. using each of descriptions The For in Part these additional commands examples, are see shown the in the individual II. IF Command The IF command tests a symbol value or an arithmetic expression and -executes a given command if the result of the given expression is true. The following examples show valid expressions used in 1IF commands. Example $ IF A+ B .EQ. 10 THEN $ IF A THEN command Explanation command Executes the given command if the sum of the defined symbols A and B is 10 Executes symbol the given command A has an odd if numeric the value or is equated to a character string that begins with the letter Y (yes) or the letter T (true) $ IF .NOT. A THEN $ IF COUNT.LE.100 $ IF Pl.EQS."TYPE" command Executes the given command if the symbol A has an even numeric value or is equated to a character string that begins with the letter N (no) or the letter F (false) THEN Executes the given command 1if the symbol COUNT has a current value less than or equal to 100 THEN command command Executes the given command 1if the first parameter passed to the command procedure was the word TYPE The target command of an IF command can be any valid DCL command; you can optionally precede the command with a dollar sign. If the specified expression is true, the command interpreter processes the command: it substitutes symbol names, if any, with their current values; checks the command qualifiers and parameters for validity; and executes the command. If the expression is false, the command interpreter does not process the command but continues processing with the next line in the file. Note that any symbols you use in expressions in the IF command must be previously defined; 1if a symbol is undefined, the IF command issues a warning message and does not execute the target command. For a complete list of the operations you can perform in arithmetic expressions, see the description of the IF command in Part II. See Section 6.6 "Rules for Forming Expressions" for additional information on the syntax of expressions. 5-15 COMMAND PROCEDURES AND BATCH JOBS The GOTO Command 5.7.2 in a command to a labeled 1line The GOTO command passes control Labels must appear as the first item on a line and must be procedure. terminated with a colon (:). For example: S GOTO BYPASS $ BYPASS: The GOTO command is especially useful as the target command of an IF command: you can cause a procedure to branch forward or backward according to variable conditions, or according to parameters that you pass to the procedure. For example, when you use parameters in a good practice to test the parameters procedure. A procedure that you execute with the lines: command procedure, it is at the beginning of the interactively could begin $ IF P1.NES."" THEN GOTO OKAY $ INQUIRE Pl ENTER FILE SPEC S OKAY: $ PRINT/HOLD/COPIES=10/FORMS=B 'P1l' In this example, the IF command checks that Pl is not a null string (remember, the command interpreter initially defines Pl through P8 as null strings). If Pl is a null string, the GOTO command 1is not executed and the INQUIRE command prompts you to enter a value for the parameter. Otherwise, the GOTO command causes a branch around the INQUIRE command. In either case, the procedure executes the PRINT command following the line labeled OKAY. 5.7.3 The EXIT and STOP Commands The EXIT command terminates execution of the current procedure, and returns control to the calling command level. execute the procedure interactively, the EXIT command returns to the interactive another procedure, level; command TIf you control 1if you execute the procedure from within control returns to the nextmost outer procedure. The EXIT command is useful for writing procedures that have more one execution path. For example: $ START: $ IF Pl1.EQS."TAPE".OR.P1.EQS."DISK" THEN GOTO $ INQUIRE Pl $ EXIT ENTER DEVICE than 'Pl' (TAPE OR DISK) $ GOTO START S TAPE: ! PROCESS TAPE FILES $ DISK: ! PROCESS DISK FILES $ EXIT To execute this command procedure, you must enter either TAPE or DISK as a parameter. The IF command uses a logical OR to test whether either of these strings was entered. If so, the GOTO command branches COMMAND PROCEDURES AND BATCH JOBS appropriately, using the parameter as the branch label. neither TAPE nor DISK, the INQUIRE command prompts for parameter;- the GOTO START command establishes a loop. a 1If Pl was correct The commands following each of the 1labels TAPE and DISK provide different paths through the procedure. The EXIT command following the commands after the label TAPE ensures that after these commands are processed, the commands after the label DISK are not executed. Note that the EXIT command at the end of the procedure is not required because the end-of-file of the procedure causes an implicit EXIT ! command. The STOP command also terminates execution of a procedure; however, when a STOP command 1is executed in a nested command procedure, the outer procedure(s) are also terminated. If you execute the procedure interactively, control returns to the interactive command level; you execute the procedure in a batch job, the batch job terminates. 5.7.4 if Testing Status Values When a DCL command, user program, or command procedure completes execution, the command interpreter saves the completion status value in a reserved global symbol named $STATUS. For example, if an error occurs following a TYPE command, the value in SSTATUS represents the error code returned completes by the TYPE successfully, command. When a $STATUS has a value of command %X00000001. or the command interpreter always maintains the current value of program Note that $STATUS in hexadecimal. You cannot explicitly set a value for $STATUS with an assignment statement, but you can set a value for $STATUS on an EXIT command that returns control to a previous command level. For example, suppose the procedure A.COM contains: $ @B $ IF S$STATUS .EQ. 2 THEN GOTO CONTROL The procedure B.COM can contain the line: $ EXIT 2 This EXIT command places the value 2 which in the global is tested by the calling procedure, A.COM. 5.7.4.1 Severity Levels - The low-order three bits symbol of the $STATUS, status value contained in $STATUS represents the severity of the completion status. The reserved global symbol $SEVERITY always contains only this portion of the status value. These values, and the severity levels they HO Value represent are: Severity Warning Success B W Error Information Severe, or fatal, error COMMAND PROCEDURES AND BATCH JOBS Note that since successful codes have odd numeric values and warning and error codes have even values, you can test for the successful completion of a command or program with IF commands testing either value, as in the following examples: |$ IF SSEVERITY THEN ... $ IF SSTATUS THEN ... If the current value in $SEVERITY or S$STATUS is odd, then the command or program completed successfully and the IF expressions are true. Otherwise, the IF expressions are false. 5.7.4.2 The ON command - During the execution of a command procedure, the command interpreter checks the return status from each command or program that executes. With the ON command, you can establish a course of action for the command interpreter based on the result of the check. By default, the command interpreter executes an EXIT command when an error or severe error occurs, and continues when warnings occur. You can override this default with the ON command. For example, want a procedure to exit when warnings occur, use the command: 1if you S ON WARNING THEN EXIT If you want the procedure to continue use the if a warning or an error occurs, command: S ON ERROR THEN CONTINUE An ON command action is executed only once; thus, if you have used the above command, the command interpreter continues after an error occurs, but resets the default condition. If a second error occurs, and no other ON command is executed, the procedure exits. If you nest command procedures, you can establish a different ON condition for each procedure. An ON condition in an outer procedure does not affect the execution of a nested procedure. You can request the command interpreter to not returned from any commands with the SET NOON (that For check the status is, no ON) command. example: $ SET NOON $ SET ON In the above example, the SET NOON command interpreter to perform no action if any type of ON command restores the whatever condition was regquests the command error occurs. The SET current ON condition action; that 1is, 1in effect before the SET NOON command was executed. 5.7.4.3 System Status Values - When control returns to the DCL command level, the command interpreter always tests the current value of SSTATUS. If it contains an even numeric value, and if the high-order digit 1is 0, the command interpreter displays the system warning or error message associated with that status code. 5-18 COMMAND PROCEDURES AND BATCH JOBS Note that normally when a command procedure exits following a warning or error condition, the command interpreter sets the high-order digit of $STATUS to 1, leaving the remainder of the value intact. Many system programs that issue their own messages set this field to 1 also, so that the command interpreter does not redisplay the messages. However, 1if a command procedure contains an EXIT command that explicitly uses the current value of $STATUS as the exit status code, the command interpreter does display the message associated with the status code. For example, a command procedure $ ON WARNING THEN EXIT can contain the line: '$STATUS' When any warning, error, or severe error occurs during the execution of this procedure, the procedure exits with the unchanged status value. Because any of these conditions normally cause system messages, the command interpreter will display the message associated with the status value. Most DCL commands invoke system utilities that generate unique status values and error messages based on different results. Please note the following exceptions: 1. The commands listed below, on successful completion, change the current value of S$SSTATUS or SSEVERITY: CONTINUE GOTO DEPOSIT HELP EOD IF EXAMINE SHOW EXIT do not STOP WAIT 2., If any of these commands results in a nonsuccessful however, that status value 1is placed in $STATUS, severity level is placed in S$SEVERITY. status, and the The commands of $STATUS; portion listed below set only the severity level they also change the value of $SEVERITY: COBOL/RSX11 LINK/RSX11 DIFFERENCES MACRO DUMP EDIT 3. The commands listed below always SSEVERITY to a successful code: CREATE DIRECTORY LIBRARY set the value of $STATUS and RENAME SET PROTECTION SORT/RSX11 UNLOCK The programs invoked by the commands listed in (2) and (3) above issue their own error messages. The message code associated with the status values returned by these commands is EXITSTATUS. COMMAND PROCEDURES AND BATCH JOBS 5.7.5 The SYNCHRONIZE and WAIT Commands The SYNCHRONIZE and WAIT commands both place a job in a wait state: the SYNCHRONIZE command waits for the completion of another job; the WAIT command waits for a specified period of time to elapse. For example, functions, if Jjobs are submitted concurrently to perform cooperative one job can contain the command: $ SYNCHRONIZE BATCH25 After this command 1is executed, the procedure cannot continue execution until the job identified by the job name BATCH25 completes. The WAIT command is useful shared system resource, for procedures that must have access to a for example a disk or tape drive. The VLnnnnnn following example shows a procedure that requests the allocation of a tape drive; if the command does not complete successfully, the procedure places itself in a wait state, and then retrys the request: TRY: ALLOCATE DM: RK: IF S$STATUS THEN GOTO OKAY WAIT 00:05 GOTO TRY OKAY: REQUEST/REPLY/TO=DISKS - 'Please mount BACK_UP_GMB on ''FSLOGICAL("RK")' " The IF command following the ALLOCATE request checks SSTATUS. If successful, the procedure continues. issues the WAIT command; the WAIT command specifies a the value of Otherwise, it time interval of 5 minutes. After waiting 5 minutes, the next command, GOTO, is executed, and the request 1is repeated. This procedure continues looping and attempting to allocate a device until it succeeds, or until the batch job is deleted or stopped. The REQUEST command in the above example illustrates the FSLOGICAL lexical function, which translates the logical name RK assigned to the allocated device. Lexical functions are described in Section 5.9. 5.8 READING AND WRITING FILES With the DCL command interpreter, you can read, write, files. The basic steps to read and write files are: and create l. Use the OPEN command to open a file. The OPEN command assigns a logical name to the file, and specifies whether the file is to be read or written. A file cannot be both read and written at the same time. 2. Use the READ or WRITE command to read or write the file. The READ and WRITE commands use command symbols as buffers to contain input and output records; the READ command reads a record into a symbol and the WRITE command writes one or more symbols or literal character strings into a single record in an output 3. file. Use the CLOSE command to close the file. After a file has been opened with the OPEN command, it remains open until specifically closed. COMMAND PROCEDURES AND BATCH JOBS - -n-n-nnnnn The following example shows a procedure coplies each record into an output file. that reads an input file and OPEN/READ INFILE DATA.TST OPEN/WRITE OUTFILE DATA.OUT READLOOP: READ/END_OF _FILE=FINISH WRITE OUTFILE INFILE RECORD RECORD GOTO READLOOP N FINISH: CLOSE CLOSE INFILE OUTFILE The OPEN commands open the files DATA.TST and DATA.OUT for input and output, respectively. The READ command specifies the /END_OF_FILE qualifier so that the GOTO command that causes a loop is skipped when the end-of-file is reached on DATA.TST. Each READ command changes the value of the symbol RECORD; the WRITE command writes the record into the file DATA.OUT. When all FINISH, 5.8.1 You records where Reading can also current The SYSSCOMMAND, you refer to been CLOSE read, the commands close procedure the the READ device process or and WRITE to commands write permanent goes to the 1label files. and Writing Process Permanent use 1input device. have the Files to read messages files on data from the the current output SYSSINPUT, SYSSOUTPUT, and SYSSERROR do not have to be explicitly opened them in READ or WRITE commands. For example: before $ READ SYSSCOMMAND TESTID This READ command results in a read to the current device SYS$COMMAND; thus, when the procedure is executed interactively, the read is issued to the terminal. When the READ command executes, the command interpreter displays the following prompt at the terminal: liatal Whatever you type in symbol named TESTID. response to this Similarly, you can write a line of the current output device is, with $ WRITE SYSSOUTPUT Before this line is is substituted with 5.8.2 "Count is prompt is then equated to the data to the terminal, or whatever the WRITE command. For example: ''COUNT'... displayed on the terminal, its current value. continuing..." the symbol named COUNT File Formats When you create a file with attributes for the file: file in print file format, following each record. the WRITE the with command, you cannot specify any command interpreter always creates a carriage control bytes preceding and COMMAND PROCEDURES AND BATCH JOBS These files are therefore not compatible with files created by the default system editor SOS, or RSX-1llM utilities invoked by DCL commands, for example, SORT-11 (invoked by the SORT/RSX1ll command). If you create a file with the DCL command WRITE and you wish to use the file as input to another program or command, you can perform an intermediate step to convert the file to a suitable format. One simple way to do this to invoke the SOS editor to edit the file and then write the file back onto disk. SOS removes the carriage control bytes from each record as it writes the output file. For example: $ OPEN/WRITE OUTFILE DATA.OUT $ CLOSE OUTFILE $ EDIT/NOLINES DATA.OUT EB the to file input After a file is closed, you can specify it as an the /NOLINES qualifier in this example indicates to SOS that editor: the file does not have line numbers associated with the records in the The SOS command EB follows the EDIT command in the input stream file. the EB command writes the file onto disk without for the procedure: incrementing the version number. 5.9 LEXICAL FUNCTIONS The command interpreter recognizes a set of functions, called lexical and strings information about character that return functions, attributes of the current process. You can use lexical functions in any context in which you normally use In command procedures, you can use lexical symbols or expressions. string perform character names, logical translate to functions and determine the current processing mode of the manipulations, procedure. Table 5~1 summarizes the valid functions, their formats, and the information returned by each. Some examples of wusing lexical functions are given 1in the next few subsections. The syntax requirements for specifying lexical functions are described in detail in Section 6.7 "Rules for Specifying Lexical Functions." Table 5-1 Summary of Lexical Functions Function Value Returned F$CVSI (bit~-position,count,integer) Signed value extracted from F$CVUI (bit-position,count,integer) Unsigned value extracted the specified integer, converted to an ASCII literal from the specified converted literal integer, to an ASCII (continued on next page) COMMAND PROCEDURES AND BATCH JOBS Table 5-1 (Cont.) Summary of Lexical Functions Function FSDIRECTORY () Value Returned Current default directory name string, brackets FSEXTRACT (offset,length,string) including Substring beginning at specified offset for length specified of indicated string FSLENGTH (string) Length of FSLOCATE (substring,string) Relative offset of specified substring within string indicated; or, the length of the string if the substring is not found FSLOGICAL (logical-name) Equivalence name of specified logical name (first match found in ordered group, name search and or, if no match logical a null is found Message text associated with the specified code value FSMODE () string of process, system tables); string F$SMESSAGE (code) specified numeric One of the character INTERACTIVE or Current process FSTIME () Current date in the strings BATCH F$PROCESS () day, status name and time string of format dd-mmm-yyyy hh:mm:ss.cc FSUSER() Current user code (UIC), identification in the format [g,m] FSVERIFY () 5.9.1 The when FS$SMODE A numeric value of 1 if verification is set on; numeric value of 0 if verification is set off a and FSVERIFY FSMODE function is useful in procedures that must executed in batch mode and interactively. act differently COMMAND PROCEDURES AND BATCH JOBS For example, you could create a LOGIN.COM file that tests whether the is being executed as a result of an interactive login or at procedure the beginning of a batch job by using the F$MODE function, as shown in the following example: $ $ IF "''FSMODE()'" INTDEF: .EQS. "BATCH" THEN GOTO BATDEF $ EXIT $ BATDEF: All function names must be preceded with the substitution operator (') include parentheses as argument delimiters even when the and must function requires no arguments, as in the above example. Note that the function name F$SMODE in the above example is enclosed in Lexical guotation marks, and that it is preceded by two apostrophes. functions are performed before the command string 1is parsed. Thus, when a lexical function is used in an expression which normally causes symbol values to be substituted, and the output of the function is being used as a literal character string, the function must be enclosed in quotation marks. Because the function 1is used within quotation marks, two apostrophes are required. based 1, or The FSVERIFY function returns a value of 0 verification of command procedures is off (0) or on (l). For this function to test or to save the current setting. the current setting before changing procedure can save on whether You can use a example, it and then restore the setting: later $ SAVE_VERIFY = $ IF SAVE_VERIFY THEN SET VERIFY $ SET NOVERIFY 'F$VERIFY()' The assignment statement saves the current setting of verification Later, the command sets verification off. SET NOVERIFY the before if it is true, that is, if it has a value of SAVE_VERIFY is tested; previously on. verification was that indicates it 1, of value Otherwise, verification was initially off and remains off. 5.9.2 FS$SEXTRACT, FSLOCATE, FSLENGTH, and FSTIME to you allow functions FS$SLENGTH and FSLOCATE, FSEXTRACT, The The following example shows a procedure manipulate character strings. named TYPE.COM that accepts a file specification as a parameter. It uses the FSLOCATE function to determine whether the file specification contains a period (.), indicating that a file type 1is present. If not, it provides a default file type defined by the symbol FTYPE. $ FTYPE $ IF := .TXT 'FSLOCATE(".",Pl)' THEN Pl := $ TYPE 'Pl 'Pl'FTYPE .EQ. 'FSLENGTH(P1l)' - COMMAND PROCEDURES AND BATCH JOBS In this example, the FSLOCATE function locates a period; if no period is present, the function returns the 1length of the string. The function returned is compared with the function F$LENGTH which always returns the invoked $ as @TYPE Note that contain a The of below, string. types the If this command function returns shows a that the procedure the the file specification current date that checks hours from and the the $ WRITE SYS$SOUTPUT $ EXIT LUNCH: WRITE "Not yet, SYSSOUTPUT "Go to does not time. The following time of date and 12 $ MORNING: $ is current TIME := 'FSTIME()"' HOUR = 'FSLOCATE(" ",TIME)' + 1 HOUR_LENGTH = 'F$SLOCATE(":",TIME)' - HOUR IF 'FSEXTRACT (HOUR,HOUR_LENGTH,TIME)' .GT. $ procedure file ALPHA.TXT: ALFHA locating and extracting returned by FS$TIME: $ $ §$ $ the it this example assumes directory string. F$TIME example 1length shown time day by string THEN GOTO LUNCH sigh...." lunch..." $ EXIT The string returned by FSTIME always contains one blank between the date and time field. The FSLOCATE function locates the hours field of the date and time string by adding 1 to the 1location of the blank. The next assignment statement determines the end of the hours field by locating the colon (:) that delimits the hours from the seconds, then subtracts HOURS) the from the value of location the of the beginning colon to of the determine field (in the length the symbol of the hours field. Last, the current hour is extracted from the string by using the values obtained from the FSLOCATE functions, and the result is compared with the number 12. Note that all arguments specified for lexical functions are candidates automatic substitution. Thus, the symbols HOUR, TIME, and so on, substituted before the function 1is performed. All 1literal for are characters or character quotation marks. 5.9.3 The FS$SDIRECTORY, FS$SDIRECTORY, about the current name, and the strings F$PROCESS, 1in functions and FSUSER functions process: the current default These be placed in and FS$USER F$PROCESS, UIC. must functions are all return information directory, returned as the process character strings, so you must enclose the functions in quotation marks if want to use them as literal character strings in expressions. you For example: $ IF "''FSDIRECTORY()'" .EQS. "[''FSPROCESS()'l" THEN ... This IF command tests whether the current default directory string is the same as the current process name. You could also test whether the current default directory is the same as the current UIC, as follows: $ IF "''FSDIRECTORY()'" .EQS. "''FSUIC()'" THEN ... COMMAND PROCEDURES AND BATCH JOBS You can also use the FSDIRECTORY function to save the current default directory: In $ SAVE_DIR := $ SET DEFAULT 'F$DIRECTORY()' [MALCOLM.TESTFILES] $ SET DEFAULT 'SAVE_DIR' this example, the assignment statement equates the current directory to the symbol SAVE DIR before the SET DEFAULT command Later, the symbol SAVE_DIR is establishes a new default directory. used in the SET DEFAULT command that restores the original default directory. In this example, quotation marks are not required around the lexical function F$SDIRECTORY because these commands do not automatically evaluate expressions, but accept character string data literally. 5.9.4 F$LOGICAL the returns 1logical name and The FSLOGICAL function translates a For 1is not recursive. the translation equivalence name string; the current function to save the F$LOGICAL example, you can use equivalence of a logical name and later restore it. The following example shows how the technique for saving a directory string shown in the preceding section can be amplified to save the default disk device as well: $ SAVE_DIR := () ' 'FSLOGICAL ("SYS$DISK") ' 'FSDIRECTORY two lexical the results of This assignment statement concatenates 1is enclosed in 1logical name SYSSDISK Note that the functions. character any The command interpreter assumes that guotation marks. specified as an argument to a lexical function that is not string if the symbol is undefined, enclosed in quotation marks is a symbol; the command interpreter replaces it with a null string. CHAPTER 6 GRAMMAR RULES This chapter describes the syntax language, including rules for: 6.1 ® Entering commands ® Entering file e Entering qualifiers ® Entering character ® Entering numeric e Forming ® Specifying ® Entering date rules for the string data values expressions lexical and functions time values RULES FOR ENTERING COMMANDS a command, including and file qualifiers, if any. general format of command Because command you can string command is: continue a parameter[/qualifiers...][...] command in At a The command least from each one command than must blank be interpreter one 1line, ignores properly delimited, character must separate the first parameter, and at least additional parameter from the Multiple spaces and tabs single blank is required. ® on more the term is used to define the entire command that is passed to You can optionally precede any command line with a dollar item ® a name[/qualifiers...] the system. sign (§) character. Each c¢ommand specifications A command string is the complete specification of the command name, command qualifiers, parameters, The VAX/VMS Each qualifier can be spaces, the as tabs. sign. follows: the command name one blank must separate previous parameter. are permitted in all must be preceded with a slash (/). preceded or followed with none, one, or or dollar cases where a The slash more blanks, GRAMMAR RULES e If a label precedes the command, the label must be terminated with a colon (:). The colon can be preceded or followed with none, one, or more blanks, spaces, or tabs. In addition, any special characters you enter on a command can be treated as delimiters, depending on the context of the command. These characters are listed in Table 6-1. 6.1.1 Rules for Continuing Commands on More than One Line You can enter a command string on more than one 1line by using the continuation character, a hyphen (-), as the last element on a command line. Command line continuation is especially useful when you enter a command and want to specify many qualifiers, or when you place a command in a command procedure file and want to make the procedure more readable. $§ For example: PRINT MYFILE /AFTER=17:00 -~ /COPIES=20 /NAME="COMGUIDE" Note that when you continue a command, required space before each parameter. you must still provide the There is no restriction on the number of continued lines you can use to enter a command. However, the maximum number of characters that you can enter in any entire command string is approximately 500. NOTE Some DCL commands invoke RSX-11M utility programs. These commands are actually "back translated" to form command strings for the 11-M utility. The maximum length of these 1lines, after they have been back translated, is 80 characters. 6.1.2 Rules for Entering Comments Indicate a comment by preceding the comment with an Comments are valid: (!). @ mark As the first item on a command line; in this case, the entire line 1is considered a comment and 1is not processed by the command e exclamation interpreter Following the last character hyphen in a command line in a command string, Some examples of valid placement of comments follow: $ ITHIS ENTIRE LINE IS A COMMENT $ PRINT MYFILE - ! PRINT COMMAND COMMENT $../COFIES=3 I 3 COFIESs FLEASE or after a GRAMMAR RULES When you enter a command interactively an? continue the command on more than one 1line, the command.interpreter uses the $_ prompt to indicate that it is processing a command. 6.1.3 Rules for Truncating Keywords All keywords that you truncating letters on Command Command enter as command input can be the right. You can truncate: names keyword abbreviated by parameters Qualifiers Qualifier keyword values All command name keywords are unique when truncated to four characters. All keywords recognized by individual their first commands are similarly unique with respect to other keywords recognized by the same command. Any keyword can be truncated to fewer than four characters as long as the truncation 1is wunique. In fact, when the command interpreter reads a command 1line, it only examines the first four characters of each keyword you type. For example, the DEALLOCATE and DEASSIGN commands three 1letters. These commands can be truncated have the same first to a minimum of four letters. The TYPE command, however, is the only command letter "T." Therefore, the TYPE command has one letter. that begins with the a minimum truncation of When you type commands in command procedure files, you should always use at least a four-character truncation, to ensure the compatibility of your command procedure for future releases of the systenm. It 1is recommended that in command procedures you always use the full command name, for readability. Exceptions: truncation letter: The following commands rule. You can truncate are exceptions to any of these commands the minimum to its first CONTINUE DEPOSIT EXAMINE RUN 6.2 RULES FOR ENTERING FILE SPECIFICATIONS The format of VAX/VMS file specifications is described Chapter 2, "File Specifications and Logical Names." for all files you specify as parameters that all file specifications commands or as qualifier values e e to DCL that you enter can be subject in Use detail in this format commands. as parameters to: Remember to system Logical name translation The application of defaults Some commands perform only a single level of logical name translation; that 1is, translation 1is not recursive. When this is the case, the parameter description indicates that fact. GRAMMAR RULES In many cases, a command applies a unique default file type to input or output file specifications. The parameter descriptions indicate the default file type, if any. The parameter descriptions also indicate whether you can specify cards in a field in the file specification. 6.2.1 An wild Rules for Entering File Specification Lists input file parameter for many commands has the format: file-spec,... This format specification. (,) indicates or plus signs You (+). that you None, one, can enter more than one file can separate the file specifications with commas or more blanks or tab characters can precede or follow the commas or plus signs. The list of file specifications is treated as a single parameter; the system applies temporary defaults to the files specified in the list. The parameter description always states how the command interprets list: 1in most cases, commas and plus signs are egquivalent. 6.3 RULES Commands e e FOR ENTERING QUALIFIERS can take one or both of the following types of qualifier: Command qualifiers File qualifiers Command qualifiers have appear following the For the the same meaning regardless of whether they command name or following a command parameter. example: $ FRINT/HOLD $ FRINT SFRING.SUMsFALL .SUM SFRING.SUM»FALL.SUM/HOLD The /HOLD qualifier is a command qualifier; commands shown above are equivalent. Both therefore, the two PRINT files are placed in a hold status. File qualifiers, however, sometimes have different meanings depending on where you place them in the command. If specified immediately after a file specification parameter, they affect only the file they follow. specified For If as specified parameters. after the command name, they affect all files example: $ PRINT/COFPIES=2 $ FRINT SFRING.SUMsFALL.SUM SFRING.SUM/COFIES=2sFALL.SUM The first PRINT command shown above requests two copies of each of files SPRING.SUM and FALL.SUM. The second PRINT command requests copies of the file SPRING.SUM, but only one copy of FALL.SUM. the two GRAMMAR RULES Some file qualifiers can be applied only to the specification of a parameter and cannot be specified following the command name. When this is the <case, the qualifier description indicates that the qualifier is associated with a file parameter. 1In all other cases, if you specify a file qualifier following the command name, the qualifier is applied to all files specified (if you specify more than one). 6.3.1 Rules for Determining Qualifier Qualifiers fall ® in the Qualifiers example: Defaults following general categories: with simple positive and negative forms, for /DELETE /NODELETE These qualifiers Part II, with are their listed in the default value, / [NO] DELETE @ command as format keyword in /NODELETE Qualifiers that require a numeric or character or boxes follows: value. For /COPIES=n N The default values for string variable example: these qualifiers are shown in Part 2 as: /COPIES=n e /COPIES=1 Qualifiers that accept a file also have a negative form, for specification example: value and format boxes that /DEBUG /NODEBUG /DEBUG[file~-spec] These qualifiers are Part II as listed in the command /[NO]DEBUG[=file-spec] Defaults 1in follows: are provided, /NODEBUG where possible. NOTE Certain qualifiers that request output files accept file-specification values and apply defaults for these specifications in a special way, as described in Section 6.3.3. ® Qualifiers that example: /PROCESS /GROUP /SYSTEM are overridden by other qualifiers, for GRAMMAR RULES The default action is the list, as follows: /GROUP /PROCESS /SYSTEM ® shown in Part II with each qualifier 1in /PROCESS /PROCESS /PROCESS Qualifiers that affect command execution only if explicitly present and have no corresponding default, for example: /RSX No defaults are given for this type of qualifier. When you enter a command, if you specify the same qualifier more than once, both a positive and negative form of the same qualifier, or qualifiers that override one another, the command interpreter accepts only the last specification. For example: $ FRINT MYFILE /COPIES=3/RBURST/COFIES=2/NOBURST For this PRINT command, /NOBURST qualifiers. the command accepts only the /COPIES=2 and the If you enter conflicting qualifiers for a command, the command interpreter generally 1issues an error message. If a qualifier conflicts with another qualifier, the descriptions of these qualifiers indicate the conflict. 6.3.2 Rules for Entering Qualifier Values Many qualifiers accept keywords, file specifications, character strings, or numeric values. For keywords, follow the rules for truncating keywords (Section 6.1.3); for other types of value, follow the rules for entering file specifications (Section 6.2), character data (Section 6.4), or numeric values (Section 6.5). You must separate qualifiers and their values either with equal signs (=) or colons (:). For example, the, following specifications are equivalent: /OUTPUT=DBAl :NEW.DAT /OUTPUT:DBAl :NEW.DAT Many qualifiers accept one or more keyword or syntax is represented in the format as: variable values. The /qualifier=value For example: /COPIES=3 /OVERRIDE=EXPIRATION When more than one value is accepted, the syntax is: /qualifier=value,... If you want to specify more than one value for a qualifier, you separate the values with commas and enclose them in parentheses. example: /ENTRY=(1,2,3) /PARAMETERS= (3, "CYGNUS,LYRA" ,PRINT) 6-6 must For GRAMMAR RULES In the second example, the second parameter is marks because it contains an embedded comma. Some qualifier keyword values require keyword from its data with a colon or enclosed additional data. an equals sign. in quotation Separate the For example: /PROTECTION=GR:RW /PROTECTION:GR:RW /PROTECTION=GR=RW /PROTECTION :GR=RW These which expressions are require values, all equivalent. To specify multiple keywords enclose the list in parentheses. For example: /BLOCKS= (START:0,END:10) /PROTECTION=(GR:RW,OWN:RWD) 6.3.3 Rules for Entering Output File Qualifiers Some qualifiers request output from a command and optionally accept a file specification value. For example, the /LIST and /OBJECT qualifiers for the compilers and the assembler, as well as the /EXECUTABLE qualifier for the linker, are output file qualifiers that fit into this category. The default file specification for output files requested by these qualifiers depends on the placement of the qualifier in the command. The rules @ e are: If the gqualifier 1is present by default, the output file specification defaults to the current default device and directory, and the file name of the first, or only, input file. The qualifier provides a default file type. Some examples are: Command Output A.EXE LINK A LINK A,B A.EXE LINK [TESTI]A,I[]B A .EXE LINK A.OBJ A.EXE File If the qualifier is present following the command name, and the qualifier does not specify an output file specification, the output file specification defaults to the current default device and directory, and the file name of the first, or only, input file. The qualifier provides a default file type. Some examples are: Command Output LINK/EXE A LINK/EXE A,B LINK/EXE A.OBJ A.EXE A.EXE A.EXE File GRAMMAR RULES e If the qualifier is present following the specification of an input file, and the qualifier does not specify an output file specification, the output file specification defaults to the device, directory, and file name of the immediately preceding input file. examples are: The qualifier provides a default file type. Command Some Output File FORTRAN A,B/LIST B.LIS FORTRAN A+C/LIS,B/LIST+D C.LIS and B.LIS FORTRAN [MAL]A/LIST+[]B [MAL]JA.LIS LINK A+[TEST]D/EXE e [TEST]D.EXE If the qualifier specifies a file specification for the output file, then any fields entered in the file specification are used to name the output file, and no default file name is supplied. Some examples are: Command Output File LINK A+B/EXE=C FORTRAN/LIST=A B+C FORTRAN/LIST=A B,C LINK/EXE=[TEST] A C.EXE A.LIS A.LIS (2 versions) [TEST] .EXE In all cases, the version number of the output file 1is always one greater than any existing file with the same file name and file type. Note that when a 1logical name 1is wused for any input file specifications, the entire equivalence name of the logical name is used to determine the output file specification. If a logical name is used for an input file and its equivalence name contains a file type, then the same file type is used for the output file. 6.4 RULES FOR ENTERING CHARACTER STRING DATA When you enter commands, you can use any combination of uppercase and lowercase letters. The command interpreter translates lowercase letters to uppercase letters and compresses multiple blank spaces or tabs to a single blank, except when a character string is enclosed in quotation marks (for example, "This is Enclose character string data in contains any of the following interpreter e ® e The to translate them: Literal lowercase letters Required multiple blanks or quotation marks when the string and you do not want the command tab characters Any nonalphanumeric character the command interpreter alphanumeric characters a string."). that has special significance to are: Table 6-1 lists the nonalphanumeric characters the command interpreter recognizes and describes their meanings. The characters described as "reserved special characters" can be used in character strings without being enclosed in quotation marks. Other characters may require quotation marks depending on the context of the command. When 1in doubt, use quotation marks. GRAMMAR RULES Table 6-1 Nonalphanumeric Characters Symbol Meaning Name At sign Places the contents of a command procedure file in the command input stream Colon 1. Device name specification; is a node name delimiter a double delimiter in a file colon (::) 2. Qualifier value delimiter; separates a qualifier name from a keyword, value, file specification, or character 3. Symbol character Slash string name delimiter in string assignment 4. Label l. Qualifier a delimiter delimiter 2. Division operator in an arithmetic expression Plus sign 1. Parameter concatenation operator 2. A unary plus sign or addition operator in an arithmetic expression Comma List delimiter for parameters qualifier value lists Hyphen 1. Continuation 2. A unary operator () Parentheses an for character minus in or sign or subtraction arithmetic 1. List delimiters value list for expression qualifier ' 2, Operation precedence indicators in an arithmetic expression 3. Lexical delimiters [ ] Square brackets function argument 1. Directory name delimiters file specification in a 2, Substring specification delimiter in an assignment statement Angle brackets Directory name delimiters in a file ) specification Question mark Reserved special character (continued on next page) GRAMMAR RULES Table 6~1 (Cont.) Nonalphanumeric Characters Symbol Name & Amper sand Meaning Execution~time substitution operator; special otherwise, a reserved character \ Back slash Reserved special character = Equal sign l. Qualifier value delimiter; separates a qualifier name from a keyword, value, or string option 2, Symbol name delimiter assignment statement for Circumflex Reserved special character # Number sign Reserved special character * Asterisk 1. Wild card in a file specification 2. Multiplication operator arithmetic expression in an ! Apostrophe Substitution operator . Period 1. File type and version number delimiters in a file specification 2. Operation delimiter arithmetic expression 6.5 an ; Semicolon $ Percent sign in an Version number delimiter specification Radix operator; reserved in a file otherwise, special character a Exclamation point Comment delimiter; the command interpreter ignores the remainder of the command line Quotation mark String delimiter RULES FOR ENTERING NUMERIC VALUES The command interpreter treats all literal numeric values as decimal integers. To specify numeric values in commands, you can use one of the following radix operators preceding a numeric value to indicate the radix (number base): Operator Meaning $D $X %0 Decimal Hexadecimal Octal GRAMMAR RULES For example: $D16 $X10 $020 These values are There cannot be 6.6 RULES equivalent. any blanks between a radix operator and a value. FOR FORMING EXPRESSIONS When the command interpreter evaluates expressions, it assigns a value based on the result of the operations specified in the expression. 1If the expression contains logical operators or arithmetic or string comparison operators, the expression is considered true if it results in an odd numeric value; the expression is considered false 1if it results in an even numeric value. The following sections show how to specify expressions using assignment statements. Symbols defined by assignment statements can be tested in IF commands. The rules defined below also apply to the specification of expressions in the IF command. 6.6.1 Rules for Entering Operators Logical and comparison operators must be preceded by a period (.) with no intervening blanks. The operator must be terminated with a period. You can type any number of blanks or tabs between operators and operands. For example, the following expressions are equivalent: A.EQS.B A .EQS. Each operator side. 6.6.2 Rules B (with the exception of .NOT.) must have operands on each for Specifying Logical Operations Use logical operators to perform logical functions on arithmetic values or to construct complicated expressions. Some examples are: Expression Result A =3 .0R. 5 B =3 ,AND. 5 C = .NOT.3 D=3+4 .OR. A B C D 2 + 4 =7 =1 = -4 =17 Operands for logical operations must be literal numeric values, names equated to numeric values, or expressions. 6-11 symbol GRAMMAR RULES 6.6.3 Rules for Specifying Arithmetic Comparisons Use arithmetic comparison operators to compare numeric values. If the result of an arithmetic comparison is true, the expression has a value of 1; if the result of the comparison is false, the expression has a value of 0. Some examples are: Expression Result A =1.LE.2 B =1.GT.2 C=1+3 .,EQ. D = "TRUE".EQ.1 E = "FALSE" A =1 B=20 cC=20 D=1 E=0 2 + 5 Operands in arithmetic comparisons can be 1literal numeric values; symbol names equated to numeric values, expressions that yield numeric values; or character strings enclosed in quotation marks that begin with the uppercase letters T, Y, F, or N. (A character string beginning with the letters T or Y has a value of 1; a character string beginning with the letters F or N has a value of 0.) 6.6.4 Rules for Specifying String Comparisons Use string comparison operators to compare alphanumeric character strings. Character string comparison is based on the binary value of the characters in the string; comparison is on a character~-by-character basis. If one string is longer than the other, the shorter string is padded on the right with blanks before the comparison is made. Lowercase letters have higher numeric values than uppercase letters. If the result of a comparison is true, the symbol name is given a value of 1; if the comparison is false, the symbol name is given a value of 0. Some examples Expression Result A B C D A =1 B =1 cC=20 D=1 = = = = "MAYBE".LTS."maybe" "ABCD".LTS."EFG" "YES".GTS."YESsS" "AAB".GTS."AAA" are: Operands in string comparisons can be literal strings enclosed in quotation marks, symbol names equated to character strings, or literal numeric values. If you do not enclose a literal character string 1in quotation marks, the command interpreter assumes the string is a symbol name and issues an error message if the symbol is not defined. 6.6.5 Rules for Specifying Arithmetic Operations Use arithmetic operators to perform calculations values. Some examples are: Expression Result A=5+10/ 2 B=5%*3-4%*6 /2 C=5%* (6-4) -8/ D = $X50 E = %X10 + 5 A =10 B =3 Cc=2 D = 80 E = 21 (2-1) 6-12 on numeric integer GRAMMAR RULES Note that nondecimal converted to decimal. Operands in arithmetic symbol names equated numeric values. 6.6.6 values (specified comparisons to numeric Rules of Precedence can by be radix operators) 1literal values, or numeric expressions are values, that yield in Expressions When you specify more than one operation in an expression, the operations are performed in the order of precedence listed below, where 1 is the lowest precedence and 6 is the highest precedence. For example, multiplication (precedence (precedence Operations of the same precedence they appear in the command. Operator Precedence Use are 6.7 is performed are performed from .OR. 1 Logical OR 2 Logical .NOT. .EQ. .GE. 3 Logical AND complement 4 Arithmetic 4 Arithmetic .GT. .LE. 4 4 Arithmetic Arithmetic LT. 4 Arithmetic less less .NE. 4 Arithmetic not .EQS. .GES. 4 4 4 String equal to String greater than or String greater than equal to greater than greater than equal 4 String less than or 4 4 String String less than not equal to + 5 Arithmetic sum - 5 Arithmetic difference * / 6 6 Arithmetic product Arithmetic quotient You can symbols use or addition lexical to LEXICAL right, as to to equal equal to to in which evaluated operators first. FUNCTIONS functions in any The general expressions. equal equal for grouping to override the order expressions within parentheses are FOR SPECIFYING left to +LES. parentheses evaluated; or than or than .LTS. .NES. RULES before Operation .AND. .GTS. . 6) 5). context in which you normally use format of a lexical function is: 'PSfunction-name([args,...]) indicates that what substitution operator function-name specifies the keywords. truncation. function You can follows 1is a (') is required. lexical function. ' to be evaluated. All function truncate function names to The names are any unique GRAMMAR RULES () enclose function arguments, if any. The parentheses are required for all functions, including functions that 4o not accept any arguments. [args,...] ? specify arguments for the function. You can specify arguments using symbol names, numeric literals, or string literals enclosed in quotation marks. The command interpreter assumes that all strings beginning with alphabetic letters that are not enclosed in quotation marks are symbol names. If a symbol 1is undefined, the command interpreter substitutes a null string. Function arguments cannot specify string lexical For a complete list of the lexical functions, arguments required by each, see Table 5-1. 6.8 RULES substitution or other functions. their formats, and the value, the FOR ENTERING DATES AND TIMES When a command accepts a qualifier that specifies a time 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. day, for @ A delta time is a future offset from the current date and of day, for example 2 days and 3 hours from now. time The syntax rules for 6.8.1 and time of specifying time values ‘are described below. Absolute Times Absolute times have the format: [dd-mmm-yyy[:]] [hh:mm:ss.ss] You can specify either fields are as follows: the date or the time, or both. The Field Meaning dd Day of mmm Month; the month must be specified as following three-character abbreviations: JAN, month FEB, (1 MAR, variable through 31) APR, MAY, JUN, JUL, AUG, one SEP, of OCT, the NOV, DEC YYYy Year hh Hour mm Minute of Ss.SSs Seconds and hundredths of seconds of the day (0 the hour through (0 6-14 23) through 59) (00.00 through 59.99) GRAMMAR RULES 6.8.1.1 Syntax - The punctuation marks indicate interprets the time value you enter, as follows: 1. 1If you specify both (hh:mm:ss.ss), you the date must type how the system (dd-mmm-yyyy) and the time the colon between the date and the time. 2. You can truncate either the date or the time on however, if .you are specifying both a date and date part must contain at least one hyphen. 3. You can omit any of the fields within the long as you type the punctuation marks; default values. 6.8.1.2 Defaults - When an absolute and year When of 0 any for 6.8.1.3 by the date or time value, default. field is omitted the field. Examples - Some the any of system from the examples time, of Result 28-JUN-1978:12 12:00 28~JUN Midnight the 28th 15 3:00 15~ The 15th day at midnight 18:30 6:30 noon on June date or time, as the system supplies fields the p.m., is omitted current day, system supplies 28, absolute a times from month, value are: 1978 (00:00 o'clock) at of June, this year p.m., 00:30 the specifying Time Specification 15--::30 its supplies the right; a time, the the beginning of today of the current month and vyear, today o'clock, on the 15th day of the current month Note that whenever you issue that has already passed, immediately. 6.8.2 Delta Delta Times times have the format: [dddd~] [hh:mm:ss.ss] a command and specify an absolute time the system executes the specified action GRAMMAR RULES The variable fields are as follows: Field Meaning dddd Number of days, 24-hour units hh Number of hours (0 through 23) mm Number of minutes Ss.ss Number of 6.8.2.1 truncate through Syntax - When the time seconds 59.99) you (0 (0 through 9999) through 59) and specify hundredths a field on the right. delta time of seconds value, you (00.0 can You can also omit any of the variable fields, as long as you supply the punctuation marks. 6.8.2.2 Defaults - When any field is omitted from a delta time value, the system supplies a value of 0 for the field. 6.8.2.3 Examples - Some examples of specifying delta times are: Time Specification Result 3~ 3 days from now 3 3 hours :30 30 3-:30 3 days and 15:30 15 hours and 30 minutes from now (72 hours) from now minutes from now 30 minutes from now PART II COMMAND DESCRIPTIONS = (Assignment Statement) Defines value or a symbolic name for a character string or for an arithmetic expression. Formats symbol-name =[=] symbol-name :=[=] expression string symbol-name [bit-position,size]=[=] symbol-name [offset,size] :=[=] expressionl stringl Command Qualifiers None. Prompts None. Command Parameters symbol-name Defines symbol. a 1- to 255-alphanumeric character string name The symbol name must begin with an alphabetic (uppercase and lowercase characters are If you specify a single equal sign statement, the symbol name is placed for the current command level. for the character equivalent). (=) in the assignment in the local symbol table ' If you specify double equal signs (== in the assignment statement, the symbol name is placed in the global symbol table. Global symbols are recognized in any command procedure as well as at the interactive command 1level. There cannot be any blanks between the equals signs or between an equals sign and a colon. expression Specifies to the a numeric symbol value or name. arithmetic If you specify expression to be an expression, interpreter analyzes the expression, substituting if necessary, before making the assignment. equated the command symbol values You can form arithmetic expressions using any of the 1logical or arithmetic operators 1listed below. Combinations of operations are evaluated in the order of precedence indicated, where 1 is the 1lowest precedence and 6 is the highest. Operators of the same precedence are evaluated left to right. Use parentheses for grouping to override the order in which operators are evaluated; expressions within parentheses are evaluated first. 1 and and 1In this syntax, [offset,size] :=[=] indicate the brackets in the expressions [bit-position,size] are required. The brackets in the expressions that the second equal sign is optional. =[=] = Operator (Assignment Statement) Precedence .OR. .AND. .NOT. Operation .LE. .LT. .NE. .EQS. .GES. .GTS. .LES. .LTS. .NES. 1 2 3 4 4 4 4 4 4 4 4 4 4 4 4 Logical OR Logical AND Logical complement Arithmetic equal to Arithmetic greater than or equal Arithmetic greater than Arithmetic less than or equal to Arithmetic less than Arithmetic not equal to String equal to String greater than or equal to String greater than String less than or equal to. String less than String not equal to * / 5 6 6 Arithmetic difference Arithmetic product Arithmetic quotient .EQ. .GE. .GT. + 5 Arithmetic to sum For further details on the syntax requirements and valid ways of specifying expressions, see Section 6.6, "Rules for Forming Expressions." string Specifies a character string value (or any expression resulting in a character string value) to be equated to the symbol. The string can contain any alphanumeric or special characters; enclose it in quotation marks if it contains any multiple blanks or tab characters, lowercase letters, an exclamation point (!), or quotation marks. To specify a string that contains literal quotation marks, enclose the entire string in quotation marks, and use a double set of quotation marks within the string. For example: $ HELLO 2= "PATTI 85aAYS You can specify a null quotation no marks string. $ For ®**HI®"*® string either with no by using a double set of intervening characters or by specifying example: NULLSTRING = " You can omit a trailing quotation mark on the end of a line. If a string beginning with a dollar sign 1is not enclosed in guotation marks, the command interpreter assumes that the string is the file specification of an executable image. When the symbol-name thus defined appears as the string, the command interpreter executes specification must include a device name. first item in a command the image. The file [bit-position,size] Defines a range within the current value of symbol-name that is to be stored with the binary value of the indicated expression. [offset,size] Defines the ‘ substring location at which the current symbol-name is to be overlayed with characters from the string expression. value of indicated = (Assignment Statement) offset Specifies the position relative to the beginning of the symbol-name's string value at which replacement is to begin. If the offset is greater than the length of the string, the resulting string is filled with blanks to the requested offset before replacement occurs. size Specifies the number of characters, beginning with the first character, in the string expression to extract. If the size is greater than the length of the string, the string 1is blank-filled on the right to the requested size before it is used to overlay the symbol-name string. You can specify the offset and size using literal numeric values or arithmetic expressions, including expressions consisting of lexical functions. When you specify a substring expression in an assignment statement, there cannot be any blanks preceding or following the substring expression. Description Symbols defined via assignment statements allow you to extend the command language. At the interactive command level, you can define synonyms for commands or command lines. In command procedure files, you can define symbols and test their values to provide for conditional execution and substitution of variables. You can also define symbols in the following ways: ) By passing parameters to a command procedure when it is executed by the @ (Execute Procedure) command or the SUBMIT command. These symbols, named Pl, P2, and so on through P8, are always local to the command procedure to which they are passed. ) By using the INQUIRE command within a command procedure to prompt for the assignment of a value during the execution of the procedure. A symbol defined with the INQUIRE command can be either local or global. The SHOW SYMBOL command symbols defined as local displays or the global current assignment values of symbols. Reserved Symbols: The following symbol names are reserved. They are global symbols under the control of the operating system and cannot be explicitly redefined: $STATUS Return or status program, procedure when from the most or it status 0 1 executed specified by command a command exited. SSEVERITY Severity level of recently executed values are: Value recently value the status code from the most or program. The possible command Severity Level 2 Warning Success Error 3 4 Informational Severe, or fatal error = (Assignment Statement) You can use these symbolic names to test the completion status of command or program execution to determine the success or failure of a request, and optionally to provide for conditional processing based on the value returned. ) Symbol Substitution: When the command interpreter performs symbol substitution, it searches the local symbol table for the current command level for a match and replaces the symbol name with the numeric value or character string assigned to it. If the symbol is not found, the command interpreter searches the local symbol tables of preceding command levels, in reverse order. Last, it searches the global symbol table. The command interpreter ) substitutes symbols when: A symbol name appears as the first word in a command and the next nonblank character is not an equal sign (=) or a colon (z). ® A symbol name in a command string is enclosed in apostrophes ('). If the symbol name appears in a string enclosed in quotation marks, precede the symbol name with two apostrophes and terminate it with one apostrophe. If a symbol is undefined, it is treated as a null string. ° It executes a command that automatically evaluates expressions in particular contexts, for example, in the IF, DEPOSIT, EXAMINE, or WRITE commands; on the right-hand side of arithmetic assignment statements; and in lexical functions. If a symbol is undefined, an error occurs. ® A symbol name in a command string is preceded with an ampersand character (&). If a symbol is undefined, it is treated as a null string within the context of the command that is being executed. The command interpreter substitutes symbols during phases of command processing: distinct 1. Symbol names at the beginning of a command string symbol names that are delimited with apostrophes (') substituted while the command interpreter scans command, but before the command is executed. 2, Symbol names occurring substitution is automatic preceded with ampersands (&) execution of Each time to two the command. substitution occurs, right on each line in within contexts where and symbol names that are are substituted during the substitutions are made the command. and are the from 1left = (Assignment Statement) Examples 1. $ TIME = SHOW TIME $ TIME 28-JUL-1978 11155144 The symbol TIME is equated to the command string SHOW TIME. Because the symbol name appears as the first word in a command string, the command interpreter automatically substitutes it with its string value and executes the command SHOW TIME. ‘ $ LIST :== DIRECTORY $ TIME :== SHOW TIME $ QP :== SHOW QUEUE/DEVICE $ SS :== SHOW SYMBOL The file, SYNONYM.COM, shown; these are contains the assignment user-defined synonyms for Execute this command procedure as follows: statements commands. BEYNONYM The global symbol definitions are made, and you can now use these synonyms at the interactive command level. Note that the assignments are global; otherwise, the symbol names would be deleted after the file SYNONYM.COM completed execution. $ COUNT = 0 $ LOOP: COUNT = COUNT + 1 $ IF COUNT.LT.5 THEN GOTO LOOP The symbol COUNT is initially assigned a numeric value of 0; a loop 1is established to increment the value of COUNT by 1 each time the loop is entered. Note that when the symbol name COUNT appears on the right-hand side of an arithmetic assignment statement, the command interpreter automatically substitutes its current value. The IF command tests the value of COUNT; 1f less than 5, the procedure branches to the 1label LOOP and the statements between the label LOOP through the IF command are executed again. When the value of the symbol count reaches 5, the loop is not executed again and the command following the IF command is executed. $ NAME $ TYPE S PRINT := MYFILE := .DAT 'NAME''TYPE' In this example the symbol NAME is equated to a file name and the symbol TYPE is equated to a file type. The PRINT command refers to both of these symbol names to form a file specification. The apostrophes surrounding each symbol name indicate that these are symbols to be substituted. The PRINT command prints the file MYFILE.DAT. = $ STAT $ STAT = $DEALILCRAMERISTAT When a symbol is equated to a string that begins with a dollar sign followed by a file specification, the command interpreter assumes that the file specification is that of an executable image, that is, the file has a file type of EXE. The symbol STAT in this example becomes a synonym for the command: $ RUN DIBALILCRAMERISTAT.EXE When you type STAT, the command interpreter executes the image. $ WRITE SYSSOUTPUT "Beginning Test No. ''COUNT'" The WRITE command writes a line of data to the current output device. The string to be written is enclosed in quotation marks so that the lowercase letters will not be translated to uppercase. However, the string contains the name of a symbol, COUNT, which must be substituted with 1its current value before the line is written. The symbol COUNT 1is preceded with terminated with a single apostrophe substitution be performed. nnnnnannn 5. (Assignment Statement) COUNT LOOP: = two apostrophes and to request that symbol 0 COUNT = COUNT + 1 IF P'COUNT' .EQS. "" THEN EXIT APPEND/NEW &P'COUNT' SAVE.ALL DELETE &P'COUNT';* IF COUNT .NE. 8 THEN GOTO LOOP EXIT This command procedure uses a counter to refer to parameters that are passed to it. Up to eight parameters, named Pl, P2, and so on, can be passed. Each time through the 1loop, the procedure uses an IF command to check whether the value of the current parameter is a null string. When the IF command is scanned, the symbol COUNT is substituted with its current value and concatenated with the letter P. The first time through the 1loop, the IF command tests Pl; the second time through the loop it tests P2, and so on. The substitution of Pl, P2, and so command, because expressions. on, the is automatic IF command within tests the context symbolic and of the IF 1literal The APPEND and DELETE commands, however, do not automatically perform any substitution, because they expect and require file specifications as input parameters. The ampersand (&) precedes the P'COUNT' expression for these commands. When these commands are initially scanned each time through the loop, COUNT 1is substituted with its current value. Then, when the commands execute, the & causes another substitution: Pl, P2, and so on. If this procedure is invoked with the line: $ RCOFYDEL ALFHALTXT RETA,DOC The files ALPHA.TXT and BETA.DOC file SAVE.ALL and then deleted. 6 are each appended to the = (Assignment Statement) $ FILE_SPEC := 'Pl' $ LOC = 'FSLOCATE(".",FILE_SPEC) $ FILE_NAME := 'F$EXTRACT(0,LOC,FILE_SPEC) These lines show how to extract the file name portion of a string containing a file name, file type, and optionally a file version number. The first statement equates the symbol FILE_SPEC to the parameter Pl, which must be passed to the command procedure. Note that the apostrophes are required: otherwise, the symbol name FILE_SPEC is equated to the literal string Pl. The second statement uses the lexical function FSLOCATE to locate the period within the file specification string. The function returns, in the symbol LOC, a numeric value representing the offset of the period within the string value of FILE_SPEC. The third statement uses the symbol name LOC to specify how many characters of the file specification are to be extracted. The lexical function F$SEXTRACT requests that LOC characters, beginning at the beginning of the string, be extracted from the current value of the string FILE_SPEC. The result is equated to the symbol name FILE_NAME. If this procedure is passed the parameter MYFILE.DAT, the resulting value of the symbol LOC is 6 and the resulting value of the symbol FILE NAME is the string MYFILE. $ FILE_NAME [0,2]:= OL The substring expression in the assignment statement overlays the first two <characters of a file name string with the letters OL. The offset of 0 requests that the overlay begin with the first character in the string, and the size specification of 2 indicates the number of characters to overlay. If the current value of the symbol FILE_NAME is this assignment the symbol name 10. $ $ statement is is OLFILE. executed, FILE_TYPE := ,TST FILE_NAME['F$LENGTH(FILE_NAME),4)]:= the MYFILE resulting when value of 'FILE_TYPE' In this example, the symbol name FILE_TYPE is equated to string .TST. The second assignment statement uses lexical function FSLENGTH to define the offset value in substring expression. the the the The FSLENGTH lexical function returns the length of the string equated to the symbol FILE_NAME; thus the substring expression requests that 4 characters of the string currently equated to the symbol FILE _TYPE be placed at the end of the string currently equated to FILE_NAME. If the current value of FILE_NAME is MYFILE, the FSLENGTH logical function returns a value of 6 and the substring expression is: $ Thus, FILE_NAME[6,4]:= the MYFILE.TST. resultant 'FILE_TYPE' value of the string FILE_NAME is @ (Execute Procedure) Executes a command procedure or requests the command interpreter read subsequent command input from a specific file or device. to Format @file-spec [pl [p2 [... p8]]] Command Qualifiers /OUTPUT=file-spec Prompts None. Command Parameters file-spec Specifies the command procedure to be executed, file from which input for the preceding command If you do not specify a file type of COM. pl p2 ... file type, the system or is uses the device to be read. the or default p8 Specify from one to eight optional parameters to pass to the command procedure. The parameters assign numeric or character string values to the symbols named Pl, P2, and so on in the order of entry, to a maximum of 8. The symbols are local to the specified command procedure. The command interpreter sets all unspecified parameters 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 can also specify a character string value using any alphanumeric or special characters, with the following restrictions: 1. If the first parameter begins with (/), you must enclose the parameter 2. To pass literal a parameter lowercase a slash character in quotation marks. that contains embedded blanks 1letters, place the parameter or 1in qguotation marks. 3. To pass a parameter that contains 1literal gquotation marks, enclose the entire string in quotation marks and use a double set of quotation marks within the string. For example: $@TEST "Never saw *""auit*"" When the procedure TEST.COM executes, is equated to the string: Never say "quit" the parameter Pl @ (Execute Procedure) Description Use command commands. procedures to catalog A command procedure frequently can All used sequences of contain: () Any valid DCL command. commands must begin with a ) Data. Any line in a command procedure that does not contain a dollar sign in the first character position (or is not a continuation line) is treated as input data for the command or program that 1is currently executing. The DECK command allows you to specify that data contains dollar signs 1in record position one. ) Qualifiers and/or parameters for a specific command. If the file contains only parameters for the command, the @ command dollar sign ($) character. If a command is continued with the continuation character (-), the subsequent 1lines must not begin with a §. must be preceded by a space. qualifiers for the command, the preceded with a space. If the file If the file contains @ command must not be contains only parameters and/or qualifiers, the 1lines must not begin with dollar signs ($). Any additional data on the command 1line following the @file-spec 1is treated as parameters for the procedure. A command procedure command procedure. can be nested Command is can also contain a request The maximum level to which eight. procedures can also be queued for to execute another command procedures processing as batch jobs, either with the SUBMIT command or by placing a deck of cards containing the command procedure in the system card reader. Batch Jjobs submitted through with JOB and PASSWORD commands. the card For more information and examples of command procedures for execution, Procedures and Batch Jobs." reader must be preceded creating and submitting see Chapter 5, "Command Command Qualifiers /OUTPUT=file-spec : Requests that all output directed to the logical device SYSSOUTPUT be written to the file or device specified. System responses and error messages are written to SYSSCOMMAND as well as to the specified file. If you specify /OUTPUT, the qualifier must immediately follow the file specification of the command procedure. Otherwise, it is interpreted as a parameter to pass to the command procedure. @ (Execute Procedure) Examples 1. $ ON WARNING THEN EXIT $ IF P1.EQS."" THEN INQUIRE Pl FILE $ FORTRAN/LIST 'Pl‘ $ LINK $ RUN 'P1' 'P1° $ PRINT 'P1l°' This command procedure, named DOFOR.COM, executes the FORTRAN, LINK, and RUN commands to compile, link, and execute a program whose file specification is passed as a parameter. The ON command requests that the procedure not continue if any of the commands results in warnings or errors. The IF command checks to see if a parameter was passed; if not, the INQUIRE command issues a prompting message to the terminal and equates what you enter with the parameter Pl. You can execute this procedure as follows to compile, obtain a listing of the program AVERAGE.FOR: link, run, and $ PLOFOR AVERAGE $ PMASTER/DUTFUT=MASTER,LOG This command executes a procedure named output is written to the file MASTER.LOG. $ RUN 'P1' all - /BUFFER_LIMIT=1024 /FILE_LIMIT=4 /PAGE_FILES=256 /QUEUE_LIMIT=2 /SUBPROCESS_LIMIT=2 IPZO MASTER.COM; IP3! IP4I lpsl IP6| IP7I IP8I This procedure, named SUBPROCES.COM, issues the RUN command to create a subprocess. It contains qualifiers defining quotas for subprocess creation. For example, the procedure can be invoked as follows: $ PSURFROCES LIBRRA /PROCESS..NAME=LIERA In this example, LIBRA is equated to Pl; it is the name of an image to execute in the subprocess. /PROCESS_NAME=LIBRA is equated to P2; it is a qualifier for the RUN command. 10 NN n @ (Execute ASSIGN SYSSCOMMAND: Procedure) SYSSINPUT: NEXT: INQUIRE NAME "File name" IF NAME.EQS."" THEN EXIT EDIT °'NAME'‘'.DOC GOTO NEXT This procedure, named EDOC.COM, invokes the default system editor, SOS. When an edit session is terminated, the procedure loops to the label NEXT. Each time through the loop, the procedure requests another file name for the editor and supplies the default file type of DOC. When a null line is entered in response to the INQUIRE command, the procedure terminates with the EXIT command. The ASSIGN command changes the equivalence of the procedure: this allows the editor to read current input command stream device (the (the terminal) rather command procedure file). 11 SYSSINPUT for input from the than from the ALLOCATE Provides exclusive access to a device and optionally establishes a Once a device has been allocated, other logical name for the device. until you specifically deallocate it or device the access cannot users log out. Format ALLOCATE device-name[:] [logical-name[:]] Command Qualifiers None. Prompts Device: device-name Log_name: logical-name Command Parameters device—name The device Specifies the name of the device to be allocated. name can be a generic device name, such that if no controller or the system allocates any available unit number is specified, device that satisfies those components of the device name that are specified. logical-name Specifies a 1- to 63-character logical name to be associated with The logical name is placed in the process logical the device. name table, with the name of the physical device allocated as its to the logical name references Subsequent equivalence name. result in automatic translation to the specified device name. the name, on the 1logical If you specify a trailing colon (:) removed from the name before the name is placed in the is colon logical name table. 12 ALLOCATE Examples l. $ ALLOCATE ~OMEZ2E LIOMB23 ALLOCATED The ALLOCATE command requests the allocation of a specific RKO6 disk drive, that 1is, unit 2 on controller B. The response from the ALLOCATE command indicates that the device was successfully allocated. $ ALLOCATE ~MTERZ: MTS TARE? ALLOCATED + $ SHOW LOGICAL TAPE TAHFE = . MTR2! DEAMLOCATE TaPE % TEASSIGN (Frocess) TaPE The ALLOCATE command requests the device, to be assigned the logical allocation name, TAPE. of any tape The ALLOCATE command locates an available tape device and responds with the name of the device allocated. Subsequent references to the device TAPE translated When the command to tape in the user device device deallocates is it programs name or command no 1longer and the needed, DEASSIGN the command logical name. Note that the 1logical name, specified with a colon on the ALLOCATE command, logical name table entry does not have a colon. 13 strings are MTB2. DEALLOCATE deletes the TAPE, was but that the APPEND Adds the contents of one or more specified input files to the end of a specified output file. Format APPEND input-file-spec,... output-file-spec Command Qualifiers Default / [NO] LOG /NOLOG File Qualifiers /ALLOCATION=n ) / [NO] CONTIGUOUS /NOCONTIGUOUS /EXTENSION=n /FILE_MAXIMUM=n / [NO]NEW /NONEW / [NO]JREAD_CHECK / [NO]WRITE_CHECK /NOREAD_CHECK /NOWRITE_CHECK /PROTECTION=code Prompts From: input-file-spec,... To: output-file-spec Command Parameters input-file-spec,... Specifies the names of one or more input files to be appended. If you specify more than one input file, separate the Commas with either commas (,) or plus signs (+). specifications all files specified are appended, and plus signs are equivalent: in the order specified, to the end of the output file. You can use a wild card version field. (*) Then, components are appended. all in place of the file name, files that satisfy type, or the remaining output-file-spec Specifies the name of the file to which the input files are to be appended. : You must specify at least one field in the output file If you do not specify a device and/or directory, specification, and device current default the APPEND command uses your For other fields that you do not specify, the APPEND directory. file input the field of the corresponding command uses specification. file the output of If you specify a wild card in any field(s) specification, the APPEND command uses the corresponding field of the related input file specification. 14 APPEND Description The APPEND command is similar in syntax and function to the COPY command. Normally, the APPEND command adds the contents of one or more files to the end of an existing file without incrementing the version number. You can use the /NEW qualifier to request that if the output file does not exist, the APPEND command should create it. Command Qualifiers /LOG /NOLOG Controls whether the APPEND command displays the file specifications of each file appended. If you specify /LOG, the APPEND command displays, for each append operation, the file specifications of the input and output files, and the number of blocks or the number of records appended. At the end of command processing, the APPEND command displays the number of new files created. File Qualifiers /ALLOCATION=n Forces the 512-byte initial allocation of blocks specified as n. the output file to the number This qualifier is valid only if /NEW is specified, allocation size 1is applied only if a new file is created. If a new file 1is created and you do not /ALLOCATION, the initial allocation of the output determined by the size of the input file. /CONTIGUOUS /NOCONTIGUOUS Indicates whether the output file is contiguous, that is, the file must occupy consecutive physical disk blocks. By default, format as the APPEND command the corresponding creates input an output file. If contiguous, the APPEND command attempts to output file, but does not report an error space. If you append multiple input files the output file may or may not be /CONTIGUOUS qualifier to ensure that files /EXTENSION=n Specifies each time The the number of blocks to the file is extended.; extension created. If assumed. value you be added is applied only if a specify /EXTENSION, /FILE_MAXIMUM=n Specifies the maximum number file can contain. of logical and the actually specify file is whether file in the same an input file is create a contiguous if there is not enough of different formats, contiguous. Use the are contiguous. to new the records the file /NEW that output file is actually qualifier is the This qualifier is valid only for new relative files. specify /FILE_MAXIMUM, the /NEW qualifier is assumed. 15 of output If you APPEND /NEW /NONEW i Controls whether the APPEND command creates a new file. By default, the output file specified must already exist. Use /NEW to request that if the specified output file does not already exist, the APPEND command should create it. /PROTECTION=code Defines the protection to be applied to the output file. Specify the protection code wusing the standard rules for specifying protection (these rules are given in the discussion of the SET PROTECTION command). 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 Requests the APPEND command to read each record in the input file(s) twice to verify that all records were correctly read. /WRITE_CHECK /NOWRITE_CHECK Requests the APPEND command to read each record in the output file after it 1is written to verify that the record was successfully appended and that the file can subsequently be read without error. Examples 1. % AFFEND TEST .DAT NEWTEST . DAT The APPEND command appends the contents of the file from the default disk and directory into TEST.DAT the file NEWTEST.DAT. 2. $ AFFEND/NEW/L.OG %X, TXT MEMO . SUM ZAFFEND-I-CREATEDy DERA2:LMALCOLMIMEMO.SUM1 ZAPFEND-S-COPIEDRy LRA2:CMALCOLMIALFPHA.TXTS2 creasted coried to DRA2ILMALCOLMIMEMO.SUM:1 (1 %AFPEND-S—~AFFENDEDy DRA23CMALCOLMIBETA.TXT$3 arrended to DRAZICMALCOLMIMEMO.SUMI1 ZAFPFEND- S—-AFPENDEDy DRA2ICMALCOLMIGAMMA.TXTi7 ZAFPPEND~S--NEWFILESyYy 1 file arrended to DBRA2IIMALCOLMIMEMO.SUM?1 hlock) (3 records) (51 records) created The APPEND command appends all files with file types of TXT to a file named MEMO.SUM. The /LOG qualifier requests a display of the specifications of each input file appended. If the file MEMO.SUM does not exist, the APPEND command creates it, as the output shows. 3. 4 AFPFEND/LOG A.DAT» R.MEM Co% ZAFFENDI-S—-AFFPENDED, DEA2:CMALCOLMIA.DAT4 arrended to DRAICMALCOLMIC.DAT4 (2 records) ZAFFEND-S~-AFFENDED, DRA2:CMALCOLMIB.MEM$?S arrended to DRA2ICMALCOLMIC.DAT4 (29 records) The input file specifications in this example request APPEND to append separate files. The APPEND command appends the files A.DAT and B.MEM to the file C.DAT. 16 APPEND 4. $ APFEND/LOG AJX E, X ZAFFEND-S-APFENDED, DBA2$LANKLAMIA.DATSS arrended to DEA2:CANKLAMIE.DAT;1 (5 records) %ZAPPEND-S-AFPENDED, DBA2!LANKLAMIA.DOCS2 arrended to DEA2SCANKLAMIE.DAT?1 (1 record) Both the input and output file specifications contain wild cards in the file type field. The APPEND command appends each file with a file name of A to a file with a file name of B; the file type of the first input file located determines the output file type. 17 ASSIGN Equates a logical name to a physical device name; to a complete file specification, or to another logical name; and places the equivalence name string in the process, group, or system logical name table. Format ASSIGN device-name[:] 1logical-name[:] Command Qualifiers Default /GROUP /PROCESS /SUPERVISOR_MODE /SYSTEM /USER_MODE /PROCESS /PROCESS /SUPERVISOR_MODE /PROCESS /SUPERVISOR_MODE Prompts Device: device-name Log_name: logical-name Command Parameters device-name Specifies the name of the device assigned a logical name. or If you specify a physical device name, with a colon (:). file specification terminate the device to be name You can specify a logical name for the device name. If the to a device name, and will be used in translates logical name place of a device name in a file specification, terminate it with a colon (:). logical-name Specifies a 1- to 63-character logical name to be associated with the device. 1If you terminate the logical name with a colon, the system removes the colon before placing the name in a 1logical name table. By default, the 1logical name is placed in the process logical If the 1logical alphanumeric device names, name table. name characters contains or any delimiters characters not enclose it in quotation marks. other recognized than within name If the logical name already exists in the specified logical the new definition supersedes the old definition, and the table, system displays an informational message indicating that fact. 18 ASSIGN Description If you enter more than one of the qualifiers /PROCESS, /GROUP, /SYSTEM, or both .of the qualifiers /SUPERVISOR _MODE /USER_MODE, only the last one entered is accepted. “For additional information on how to names, see Section 2.2 "Logical Names." create and use or and logical Command Qualifiers /GROUP Places the logical name and its associated device name 1in the group logical name table. Other users with the same group number in their UICs (user identification codes) can access the 1logical name. The user privilege GRPNAM group logical name table. is /PROCESS Places the logical name and process logical name table. required to place a name in the its associated device This is the default. name in the /SUPERVISOR*MODE Specifies, for an entry in the process logical name the logical name be entered in supervisor mode. This is the default for the process The /SUPERVISOR_MODE qualifier is in the group or system logical name table, logical name table ignored when entries tables. that entries. are made /SYSTEM Places the logical name and its system logical name table. Any The user privilege SYSNAM is system logical name table. associated device name 1in the can access the logical name. user required to place /USER_MODE Specifies, for an entry in the process logical the logical name be entered in the user mode. a name name in table, the that A user mode logical name is practical for the execution of a single image; it allows an 1image executing in a command procedure to redefine SYSSINPUT. User mode entries are deleted when any image executing in the process exits (that is, after any DCL command or user program that execution), or when a STOP command By process default, 1logical name executes is an table entries supervisor mode. The /USER _MODE qualifier entries are made in the group or system logical 19 1image completes issued. are made is ignored name tables. 1in when ASSIGN Examples 1. $ ASSIGN DRAZILCCHARLESI $ FRINT CHARLIE!TEST.DAT CHARLIE The ASSIGN command associates the logical name CHARLIE with the directory name CHARLES on the disk DBA2. Subsequent references to the logical name CHARLIE result in the correspondence between the logical name CHARLIE and the disk and directory specified. Thus, the PRINT command queues a copy of the file DBA2:[CHARLES]TEST.DAT to the system printer. $ ABSIGN $ SHOW DEALY $ TEMF = DRAL DNEASSIGN TEMF LOGICAL TEMM? TEMF (rrocess) The ASSIGN command equates the logical name TEMP to the device DBAl. The SHOW LOGICAL command verifies that the logical name assignment was made. Note that the logical name TEMP was terminated with a colon in the ASSIGN command, but that that command interpreter deleted the colon before placing the name in the logical name table. $ MOUNT MTR3: MASTER TAFE ASSIGN TAPEINAMES.DAT FAYROLL $ RUN FAY + The MOUNT command establishes the logical name TAPE for the device MTB3 which has the volume MASTER mounted on it. The ASSIGN command equates the logical name PAYROLL with the file named NAMES.DAT on the 1logical device TAPE. Thus, a subsequent OPEN request in a program that refers to the logical name PAYROLL results in the correspondence between the logical name PAYROLL and the file NAMES.DAT on the tape whose volume label $ ASHIGN/GROUF is MASTER. LDREBL! GROUP.LDISKS The ASSIGN command assigns the logical name GROUP_DISK to the physical device DBB1l. Subsequently, another user in the same group can issue the command: $ ASSIGN GROUPLDISKICHIGGINSIWEEKLY.QUT OQUTFILE This ASSIGN command equates the logical name OUTFILE to a file on the device specified by the logical name GROUP_DISK.' When the ASSIGN command executes, it locates the logical name GROUP_DISK in the group logical name table and translates it to the device name DBBl. $ ASSIGN/FROCESS/GROUPF $ SYSFILES SHOW LOGICAL (grour) [IMALS = SYSFILES DRALD SYSFILESS The ASSIGN command contains conflicting qualifiers. The response from the SHOW LOGICAL command indicates that the name was placed in the group logical name table. 20 ASSIGN 6' $ ASSIGN/GROUP FREVIOUS ‘F$LOGICAL ("SYSSCOMMAND ") LOGICAL NAME ASSIGNMENT TERMINAL REFLACED The ASSIGN command uses the lexical function FS$SLOGICAL to translate the logical name SYSSCOMMAND and use the result as the equivalence name for the 1logical name TERMINAL. The message from the ASSIGN command indicates an entry for the logical name TERMINAL already existed in the group 1logical name table, and that the new entry replaced the previous one. If this command is used in a LOGIN.COM file, TERMINAL will be redefined at the beginning the entry for of each terminal session; the current process and any subprocesses it creates can execute 1images that use the logical name TERMINAL to write messages to the current terminal device. $ ASSIGN/USER_MODE SYS$COMMAND: $ $ FORTRAN AVERAGE SYS$INPUT: S EDIT AVERAGE.FOR LINK AVERAGE S .RUN AVERAGE In the command procedure illustrated above, the ASSIGN command equates the logical name SYS$INPUT with SYSSCOMMAND for the execution of the next command. When the SO0S editor is invoked, it will read all input from the current terminal, regardless edit made, of session and the the is number of terminated, procedure goes active command levels. the deassignment on to compile, is When the automatically link, and run the program AVERAGE. The program AVERAGE reads input from the current default input device: 1in this example, test data records follow the RUN command in the input stream. Note that, 1if the assignment of SYSSINPUT were not made in user mode, there would be no way to re-establish the default relationship between the current input stream and the logical device named SYSSINPUT. 21 BASIC Invokes the PDP-11 BASIC-PLUS-21 compiler to begin a All subsequent command input is read by BASIC-PLUS-2. BASIC session. Format BASIC Command Qualifiers None. Prompts Basic2 Description After invoking BASIC-PLUS-2, use edit, and compile BASIC programs. To link and run a BASIC BASIC program, Yyou subcommands must issue to the create, BUILD subcommand to request BASIC to create _a command procedure suitable for input to the RSX-11lM Task Builder. After exiting from BASIC with the EXIT subcommand, create the executable image file by specifying the command procedure as input to the Task Builder. For details on how to use RSX-11M/IAS User's Guide. BASIC-PLUS-2, Examples 1. & RBASIC Rasic Plus 2 Y0L.00 Rasic?d DL AVERAG Basicd COMPTLE Basiod BUTLI/BEQUENT I AL Basicd EXET 1 $ MCR TKR @AVERAG % RUN AVERAGL Available under separate license 22 see the BASIC-PLUS-2 BASIC The BASIC command invokes BASIC-PLUS-2. and BUILD subcommands define the input request BASIC to compile the procedure for input to the creates the file AVERAG.CMD. The OLD, COMPILE, file, AVERAG.B2S, and file and to create a command task builder. The BUILD command The MCR TKB command invokes the Task Builder to create an executable 1image file, using the commands in the file AVERAG.CMD. The RUN command executes the image AVERAG.EXE created by the Task Builder. $ CREATE CPYFIL.B2S $ BASIC OLD CPYFIL COMPILE BUILD/SEQUENTIAL EXIT S MCR TKB QCPYFIL S ASSIGN TEST.DAT INFILE $ ASSIGN TEST.OUT OUTFILE $ RUN CPYFIL $ TYPE TEST.OUT This command procedure uses the CREATE command to create the BASIC source file, assigning it the name of CPYFIL.B2S. When the BASIC command executes, it reads subsequent input from the command input stream. After BASIC executes the OLD, COMPILE, and BUILD subcommands, - the EXIT command terminates the BASIC session; the next commands are read by the DCL command interpreter. After the MCR TKB command creates the image file, the ASSIGN commands assign equivalence names to the logical file names INFILE and OUTFILE. (These files must be referred to in BASIC OPEN statements in the file CPYFIL.EXE). The RUN command executes the image CPYFIL.EXE and the TYPE command verifies the program output in the file TEST.OUT. The command procedure can be created interactively and submitted for execution as a batch job with the SUBMIT command, or punched on cards and submitted to a system card reader preceded with cards containing JOB and PASSWORD commands. 23 CANCEL Cancels scheduled wakeup requests for a specified process. This includes wakeups scheduled with the RUN command and with the Schedule Wakeup (SSCHDWK) system service. Format CANCEL [process—-name] Command Qualifiers /IDENTIFICATION=process—id Prompts None. Command Parameters process~—name Specifies the 1to 15-alphanumeric character string name assigned to the process for which wakeup requests are to be Process names are generally assigned to processes when canceled. they are created. The specified process must have the same group number in its user identification code (UIC) as the current process. + If you also specify the /IDENTIFICATION qualifier, the process name is ignored. If you specify neither the process name parameter nor the /IDENTIFICATION qualifier, the CANCEL command cancels scheduled wakeup requests for the current process. Description The user privilege GROUP is required to cancel scheduled wakeups for non-owned processes 1in the same group; the user privilege WORLD is required to cancel scheduled wakeups for any process the in systen. The CANCEL command does not delete the specified process. 1If the process is executing an image when the CANCEL command is issued for it, the process hibernates instead of exiting after the image completes execution. To delete a process that is hibernating and for which wakeup requests have been canceled, use the STOP command. You can determine whether a subprocess has been deleted by issuing the SHOW PROCESS command with the /SUBPROCESSES qualifier. Command Qualifiers /IDENTIFICATION=process-id Specifies the process identification number the to the process when the process was created. the process identification, system assigned When you specify you can omit leading zeroes. 24 CANCEL Examples 1. % RUN/SCHEUULE=14:00 ZRUN-S-FROC..IDy $ of created rrocess is 00130124 CANCEL/ZIDENTIFICATION=13012A THE RUN command STATUS. The awakened CANCEL & STATUS identification creates process at 14:00. command a process hibernates, Before cancels the to and the process wakeup request. RUN/FROCESS. .NAME=LITRERAZINTERVAL=1:00 ARUN-S-FROC.IDy identification of execute 1is 1is the image scheduled to be awakened, the L.IEBRA created rrocess ies 00130027 LIBRA to execute ° $ CANCEL $ HTOF LIERRA LIBRA The RUN the image LIBRA.EXE command creates a subprocess at hourly named intervals. Subsequently, the CANCEL command cancels the wakeup requests. The process continues to exist, but in a state of hibernation. The STOP command deletes the subprocess. 25 CLOSE Closes a file that was opened command opened. and deassigns the for input or output with the OPEN logical name specified when the file was Format CLOSE logical-name Command Qualifiers /ERROR=1abel Prompts Log_Name: logical-name Command Parameters logical~name Specifies the logical name to be assigned to the file when it was opened with the OPEN command. Description Files that are opened for reading or writing at the command level remain open until explicitly closed with the CLOSE command, or If a command procedure until the process is deleted at logout. that opens a file terminates without closing an open file, the not does interpreter command the open; remains file automatically close it. Command Qualifiers /ERROR=1abel Specifies a label on a line in the command procedure control if the «close request results in an error. to receive If no error label is specified and an error occurs during the closing of the the command procedure continues execution at the next line file, in the file, as it does if no error occurs. The error routine specified for this qualifier takes precedence If /ERROR over any action statement indicated in an ON command. is not specified, the current ON condition action is taken. If an error occurs and the target 1label global symbol $STATUS the control, completion value. 26 is successfully given contains a successful CLOSE v nn 1. OPEN/READ Wwnnn Examples GOTO READ_LOOP NO_MORE : INPUT_ FILE TEST.DAT READ_LOOP: READ/END_OF_FILE=NO_MORE CLOSE INPUT FILE DATA_LINE INPUT FILE The OPEN command opens the file TEST.DAT and assigns it the logical name of INPUT_FILE. The /END OF_FILE qualifier on the READ command requests that when the reached, the command interpreter should the line at the label NO_MORE. The CLOSE input file. $ “end of file is transfer control to command closes the @READFILE .y $ S8TOR $ SHOW LOGICAL/ZFPROCESS F3 INFILE = & QUTFILE FCLOSE CLOSE _DE1 = _.DE1 INFILE OQUTFILE CTRL/Y interrupts the execution of the command procedure READFILE.COM and the STOP command stops it. The SHOW LOGICAL/PROCESS command displays the names that currently exist 1in the process 1logical name table. Among the names listed are the logical names INFILE and OUTFILE, assigned by OPEN commands in the procedure READFILE.COM. THE CLOSE commands close these 27 files. COBOL/RSX11 Invokes the PDP-1l1 COBOL—74/VAX1 compiler to compile program. The /RSX1l qualifier is required. a COBOL source Format COBOL/RSX11 file-spec Command Qualifiers Default /[NO]ANSI_FORMAT / [NO]COPY_LIST /[NO]CROSS_REFERENCE /[NO]LIST[=file-spec] /NOANSI_FORMAT /NOCOPY_LIST /NOCROSS_REFERENCE / [NO] MAP /NOMAP / [NO]OVERLAY /RSX11 /SEGMENT_SIZE=n /[NO]VERB_LOCATION / [NO]WARNINGS /NOOVERLAY /NAMES=aa /NEST=n / [NO]JOBJECT[=file-spec] /NAMES=$C /NEST=10 /NOVERB_LOCATION /NOWARNINGS Prompts File: file-spec Command Parameters file-spec Specifies the COBOL source program to be compiled. The file specification must contain a file name; if you do not specify a file type, the compiler uses the default file type of CBL. Wild cards are not allowed in the file specification. Command Qualifiers /ANSI_FORMAT /NOANSI_FORMAT Indicates whether the in DIGITAL's Terminal source program format. is in ANSI An ANSI COBOL source file has 80-character beginning in record position 8. COBOL records format with By default, the COBOL/RSX1ll command assumes that the records are in Terminal format, that is, Area A begins in position 1 and the records do not have line numbers. 1 Available under separate license 28 Area or A input record COBOL/RSX11 /COPY_LIST /NOCOPY_LIST Controls whether statements produced by COPY statements source program are printed in the listing file. /COPY_LIST is the default: the output listing. all /CROSS_REFERENCE /NOCROSS_REFERENCE Controls whether the compiler listing. By default, the reference listing. source statements are in included the in listing includes a cross reference compiler does not create a cross /LIST[=file-spec] /NOLIST Controls whether the compiler produces defines characteristics of the file. an output 1listing If you issue the COBOL/RSX1l command from interactive mode, compiler, by default, does not create a listing file. If and the you specify /LIST without a file specification, the compiler creates a listing with the same file name as the input file, but uses the file type of LST. If you 1include a file specification, the listing is written to that file or device. If the COBOL/RSX1ll the default. command is executed from a batch job, /LIST /MAP /NOMAP Requests the compiler to produce a Data Division map showing memory addresses for Data Division entries. /NOMAP is the default: the compiler does the /NAMES is used. qualifier is not specified, starting the default /NEST=n Specifies the number of nested PERFORM statements source program. By default, the compiler allows nested PERFORM the not produce a map. /NAMES=aa Requests the compiler to generate PSECT names ?-character prefix aa. If $C is with the prefix of allowed in the a maximum of 10 statements. /OBJECT [=file-spec] /NOOBJECT Controls whether the compiler produces an object file. By default, the compiler produces an object file with the same file name as the input file and a file type of OBJ. The compiler also uses the default file type of OBJ when you include a file specification with the /OBJECT qualifier that does not have a file type. /OVERLAY /NOOVERLAY Controls whether overlayable. /RSX11 Requests the PDP-11 the compiler COBOL/74-VAX 29 makes compiler. procedural PSECTs COBOL/RSX11 /SEGMENT_SIZE=n Specifies the maximum size, in bytes, of procedure PSECTs created by the compiler. The minimum value allowed for n is 108 bytes. /VERB_LOCATION /NOVERB_LOCATION Indicates whether the output listing produced by the compiler shows the object location of each verb in the source program. /WARNINGS /NOWARNINGS Controls whether the compiler prints informational diagnostic messages as well as warning and fatal diagnostic messages. By default, the compiler prints informational diagnostics; specify /NOWARNINGS to suppress them. Examples 1. % COROL/ZRSXILL MYFILE The COBOL command compiles the source statements in the MYFILE.CBL and produces an object file named MYFILE.OBJ. 2. % COROL/ZRSXLL/0BJECT=TEST2/LIST file TEST The COBOL command compiles the source statements in the file TEST.CBL. and produces an object file named TEST2.0BJ and a listing 3. file % COBOL/RSX11 $ RUN FLEASE ENTER FILE AN FLEASE ANSWER N0 WANT YOU SCANLINE SYSS$SYSTEMIMRG SCAN, ODL DO YOU WANT FLEASE FLEASE named TEST.LST. SFECIFICATION ABRREVIATED OR A(EBRREVIATEID) TO OVERLAY I/0 FOR OQUTFUT MERGED ODL OR M(ERGED) REFERENCED FILE? A SUFFORT ROUTINES? ANSWER Y(ES) OR N(Q) N ENTER FILE SPECIFICATION SCANL INE ORJECT FROGRAM FILE IN ODL FOR INFUT FILE ODL FILE IS3 SCANLINE.ORJ FLEASE ANY ENTER MORE FLEASE ORJECT INFUT ANSUWER ODL. FILE DEVICE AND UIC IN THE FORMAT?! DEVIGROUF»MEMEER] FILES? YC(ES) OR NO) onL. FILE MERGE COMPLETE MERGED 0O, FILE IS!? N SCAN. QDL CBL $ $ -~ 15t STOF LINK/RSX11 RUN SCAN RUN SCAN/OVERLAY The COBOL/RSX1ll command compiles the source program SCANLINE.CBL, The RUN command invokes the COBOL MERGE utility to create an overlay description file. The output from the MERGE utility, SCAN.ODL, is then specified as input to the LINK/RSX1ll command. This command creates the executable image file, SCAN.EXE. The RUN command executes the image. 30 CONTINUE Resumes execution of a DCL command, a program, or a command procedure that was interrupted by pressing CTRL/Y or CTRL/C. The CONTINUE command can also serve as the target command of an IF or ON command in a command procedure, or following a label that is the target of a GOTO command. You can truncate the CONTINUE command to a single letter, C. Format CONTINUE Command Qualifiers None. Prompts None. Command Parameters None. Description After you interrupt an image, you cannot continue its execution if you have entered any command that executes another image. For a list of the commands that do not execute separate images, see Section 4.2.3, "Interrupting Program Execution." Examples l. $ RUN ~Y MYFROGA $ SHOW TIME 18-JAN-1978 13340112 $ CONTINUE The RUN command executes the program MYPROG. While the program is running, pressing CTRL/Y interrupts the image. The SHOW TIME command requests a display of the current date and time. The CONTINUE command resumes the image. $ ON SEVERE_ERROR THEN CONTINUE This statement in a command procedure requests the command interpreter to continue executing the procedure if any warning, error, or severe error status value is returned from the execution of a command or program. This ON statement overrides the default action, which is to exit from a procedure following errors 31 or severe errors. COPY Creates a new file from one or more existing files. The COPY command can: e Copy one file to another file @ Concatenate more than one file into a single output file e Copy a group of files to another group of files Format COPY output-file-spec input-file-spec,... Command Qualifiers Default / [NO] CONCATENATE / [NO] LOG /CONCATENATE /NOLOG File Qualifiers /ALLOCATION=n /NOCONTIGUOUS / [NO] CONTIGUOUS /EXTENSION=n /FILE MAXIMUM=n / [NO]OVERLAY /NOOVERLAY /[NO]READ_CHECK / [NO] REPLACE / [NO] TRUNCATE / [NOJWRITE_CHECK /NOREAD_CHECK /NOREPLACE /NOTRUNCATE /NOWRITE_CHECK /PROTECTION=code Prompts From: input-file-spec,... To: output—-file-spec Command Parameters input-file-spec,... If Specifies the names of one or more input files to be copied. you specify more than one input file, you can separate them with either commas (,) or plus signs You can use wild cards version fields. (*) Then, components are copied. (+). in place of the file files all 32 that name, type, or satisfy the remaining COoPrPY output-file-spec Specifies the name are to be copied. of the output file into which the input files You must specify at least one field in the output file specification. If you do not specify a device and/or directory, the COPY command uses your current default device and directory. For other fields that you do not specify, the COPY command uses the corresponding field of the input file specification. If you specify a wild card in place of the file name, type, and/or version field of the output file specification, the COPY command creates one or more output files, based on the input file specification. It uses the corresponding field of the first or related input file specification to name the output file. Description When you specify more creates, by default, multiple input files Separate input signs (+). e Specify a wild card version field of an file single any of An explicit wild version field. ® Only a device specification. e The /NOCONCATENATE When the COPY corresponding the input file output the the file. COPY You commas in place of the file name, input file specification. card and/or multiple output files one of the following: in the command can specify following ways: specifications with command creates input files and ® When one a in ® The COPY multiple than output directory file name when name, in the (,) or plus type, and/or you specify type, and/or output file qualifier. command creates multiple field of each input file output files, it uses the to name an output file. COPY command output the output field of COPY command input file to uses the name creates file a single file specification contains corresponding the output field of the for which any a wild card, first, or only, the input and output file. Use the /LOG qualifier when you specify multiple files to verify the files actually copied. Version Numbers: If no version numbers are specified for input and output files, the COPY command, by default, gives the output file a version number of 1, or increments by 1 the version number of an existing file with the same file name and file type. 1If explicit version numbers or wild cards are specified for input files, the COPY command, by default, gives the output files the same version numbers as the associated input files. In the latter case, 1if an equal or higher version of the output file already does not exists, copy the the COPY command file. 33 issues a warning message and COPY Command Qualifiers /CONCATENATE /NOCONCATENATE Controls, when a wild card is used in any component of the output file specification, whether a single output file is to be created from all files that satisfy the input file specification. By default, a wild card in an input file specification results in a single output file consisting of multiple files that match in one or more fields of the file specification. When you concatenate files from On-disk Structure Level 2 disks, the COPY command concatenates the files in alphanumeric order; if you specify a wild card in the file version field, files are copied in descending order by version number. When you concatenate files from On-disk Structure Level 1 disks, the COPY command concatenates the files in random order. /LOG /NOLOG Controls whether the COPY command specifications of each file copied. displays the file If you specify /LOG, the COPY command displays, for each copy operation, the file specifications of the input and output files, the number of blocks or the number of records copied (depending on whether the file is copied on a block-by-block or record-by-record basis), and the total number of new files created. File Qualifiers /ALLOCATION=n Forces the initial allocation of the output file to the number of 512-byte blocks specified as n. If not specified, the initial allocation of the output determined by the size of the input file being copied. file is /CONTIGUOUS /NOCONTIGUOUS Indicates whether the output file is to be contiguous, that Iis, whether the file must occupy consecutive physical disk blocks. By default, the COPY command creates an output file in the same If an input file is file. input format as the corresponding contiguous a create to attempts contiguous, the COPY command not report an error if there is not it does but file, output different files of input If you copy multiple enough space. output file may or may not be contiguous. the formats, /CONTIGUOUS qualifier to ensure that files are contiguously. Use the copied The /CONTIGUOUS qualifier has no effect when you copy files to or from tapes because the size of the input file cannot be determined. If you copy a file from a tape and want the file to be contiguous, use two COPY commands: once, to copy the file from the tape, and a second time to create a contiguous file. 34 COPY /EXTENSION=n Specifies the number of blocks to be added each time the file is extended. to the output file If you do not specify /EXTENSION, the default extension attribute of the output file is determined by the extension attribute of the corresponding input file. /FILE_MAXIMUM=n Specifies the maximum number file can contain. of logical records that the output This qualifier is valid only for relative files. For information on creating and using relative files, see the VAX-1ll Record Management Services Reference Manual. /OVERLAY /NOOVERLAY Requests that data in the input file be copied into an output file, overlaying the existing data. The physical of the file on disk does not change. The /OVERLAY qualifier is ignored to a non-file-structured device. /PROTECTION=code Defines the protection if to be applied the output to the file output existing location is written file. Specify the protection code using the standard rules for specifying protection (these rules are given in the discussion of the SET PROTECTION command). specified are taken from corresponding input file. Any protection attributes the current protection of not the /READ_CHECK /NOREAD CHECK Requests input the COPY file(s) command twice to to read verify each that record all in the records were specified correctly read. /REPLACE /NOREPLACE Requests that if a file already exists with the same file specification as that entered for the output file, the existing file is to be deleted. The COPY command allocates new space for the output file. By the default, file the COPY command already exists, creates a incrementing new the version of a file |if version number. /TRUNCATE /NOTRUNCATE Controls whether the COPY command truncates an output file at the end-of-file when copying it. By default, the COPY command uses the allocation of the input file to determine the size of the output file. /WRITE_CHECK /NOWRITE_CHECK Requests after copied the COPY command to read each record in the output file it was written to verify that the record was successfully and that the file can subsequently be read without error. 35 COPY Examples ¢ 1. TEST . DAT COPY NEWTEST.DAT file TEST.DAT the The COPY command copies the contents of file named a into and directory from the default disk If a file named NEWTEST.DAT already exists, the NEWTEST.DAT. COPY command creates a new version of it. 2, % % ALFPHACTXT ALFHA.TXT COPY COFY TMF . TMF file The first COPY command copies the file ALPHA.TXT into a The COPY command uses the file type of the named TMP.TXT. input file to complete the file specification for the output second COPY command creates a file named The file. ALPHA.TMP. The COPY command uses the file name of the input file to name the output file. 3. $ COPY/LOG/REFLACE TEST.DAT NEWTEST.DAT:1 %COFY-I-REFLACED, DRA2ICMALCOLMINEWTEST,DAT?1 beind rerlaced %ZCOFY-S-COPIED, DRA2ICMALCOLMITEST.DATS1 coried to DEA2!LMALCOLMINEWTEST.DATi1 (1 block) ZCOPY-S~NEWFILESy file created 1 replace to The /REPLACE qualifier requests the COPY command the output file with the new file. an existing version of is The first message from the COPY command indicates that it The version number in the output replacing an existing file. otherwise, the COPY command creates a file must be explicit; new version of the file NEWTEST.DAT. ¢ 4, %,.COM COPY LMALCOLM. TESTFILES the The COPY command copies the highest versions of files in file type of COM to the current default directory with a subdirectory MALCOM.TESTFILES. $ 5. COFY/LDG X, TXT X,0LD YCOPY-S~COFIEDN, DRA2!LCMALCOLMIALFHA.TXTi2 coried to DEA2IMALCOLMIALFHA.OLDF2 (1 block) %COPY~S~COFIED, DRA2ICMALCOLMIBETA.TXTi2 coried to DRARILMALCOLMIEBETA.OLDF2 (1 block) TXT$2 coried to DEA2:ILCMALCOLMIGAMMA.OLDF2 (4 blocks) %COPY~S-COFIED, DRA2CMALCOLMIGAMMA. UCOFY-S~-NEWFILESy 3 files crested files with The COPY command copies the highest versions of Each new file has the same file types of TXT into new files. The file name as an existing file, but a file type of OLD. last message from the COPY command indicates the number of new files that it created. 6. $ COPY/LOG AJDATsEB.MEM CoX YCORY-S~COFPIEDs DRA2ICMALCOLMIAJDATSS coried to DRA2ILCMALCOLMIC.DAT#11 (1 block) YCOPY~S-COFIEDy DNRA2:LMALCOLMIE.MEM;2 coried to DBARILMALCOLMIC.MEMi24 (58 records) %UCOFY-S—-NEWFILESy 2 files created The input file specifications are separated with a comma to The wild card in the request that two files be copied. output file specification indicates that two output files are each copy operation, the COPY command For to be created. uses the file type of the input file to name the output file. 36 COPY 7. $ *XeTXT COPY/LOG TXT.SAV ZCOFY-S-COPIEDy DBA2!LMALCOLMIALPHA.TXT$2 coried to DRA2ICMALCOLMITXT.SAVi1 (1 block) ZCOFPY-S—-APPENDEDy DERA2!LMALCOLMIBETA.TXT#2 arrended to DBA2!IMALCOLMITXT.SAVi1 (3 records) ZCOFPY-S—~AFPPENDED, DBA2:[MALCOLMIGAMMA.TXT;2 arrended to DBA2ICMALCOLMITXT.SAVi1 (S1 records) ZCOPY-S—-NEWFILESy 1 file created The COPY command copies the highest versions of all files with file types of TXT to a single output file named TXT.SAV. After the first input file is copied, the messages from the COPY command indicate that subsequent files are being appended to the output file. Note that if you specify /NOCONCATENATE in this example, the COPY command creates multiple versions of the file TXT.SAV. $ COPY MASTER.DOC DMALICBRACKUR] The COPY command copies the highest version of the file MASTER.DOC to the device DMAl. 1If no file named MASTER.DOC already exists in the directory BACKUP, the COPY command uses the version number of the input file. % MOUNT MTal $ COPY TAPEX. % VOL.OZS TAFE? % The MOUNT command requests that the volume labeled VOL025 be mounted on the tape device MTAl and assigns the logical name TAPE to the device. The COPY command uses the logical name TAPE for the input file specification, requesting that all files on the tape be copied to the current default disk and directory. All the files copied retain their file names and file types. 10. % ALLOCATE SCRAOT CRS: ALLOCATED $ COFY $ DEALLOCATE CRACT The ALLOCATE CARDS . OAT CRAOS command allocates a system card reader for exclusive use by the process. The response from the ALLOCATE command indicates the device name of the card reader, CRAQ. After the card reader is allocated, you can place a deck of cards in the reader and issue the COPY command specifying the card reader as the input file. The COPY command reads the cards into the file CARDS.DAT. The end-of-file in the card deck must be indicated with an EOF card (12-11-0-1-6-7-8-9 overpunch). The DEALLOCATE command relinquishes use of 37 the card reader. CREATE Creates a sequential disk file from records that follow the command the input stream, or creates a directory file. in Format CREATE file-spec Command Qualifiers Default /DIRECTORY /OWNER_UIC=uic /PROTECTION=code Prompts File: file-spec Command Parameters file-spec Specifies the name of the input file or directory to be created. If you omit either the file name or the file type, the CREATE command does not supply any defaults; the file name or file type is null. If you do not specify a file version number, and a file already exists with the same file name and file type as the file specification, the CREATE command creates a new version of the file. No wild cards are allowed in the file specification. If you specify /DIRECTORY, the file specification must contain a directory name, and optionally can contain a device name. When you create a subdirectory, separate the names of the directory levels with periods (.). Command Qualifiers /DIRECTORY Indicates that a directory or subdirectory is to be created. To create a first level directory, you must be allowed write access to the master file directory on the volume on which you are creating the directory. system UIC to create a On a system volume, you must have a first 1level directory. To create a subdirectory, you must be allowed write access to the first level directory or have an appropriate user privilege. 38 CREATE /OWNER_UIC=uic Specifies the user identification code to be associated with directory being created. Specify the UIC in the format: the [g,m] g is an octal number. is an octal m member number in range number in the 0-377 representing range 0-377 the group representing the number. The brackets are required. If you do not specify an owner UIC subdirectory, the command uses the owner level directory. /PROTECTION=code Defines the protection to be applied to when you UIC of the the file or create a next highest directory. Specify the code according to the standard syntax rules for specifying protection. These rules are given in the description of the SET PROTECTION command. Any attributes not specified are taken from the current default protection. If you do not specify a protection when you create a subdirectory, the command uses the protection in effect for the next highest 1level directory. The default protection for directory files on system volumes is read, write, and execute. Examples 1. 4 CREATE fr. 08T Trowud Lirme OM@s .. Lewat Lime twoe.. & oy ¢ After you issue system reads CTRL/Z the CREATE input terminates lines the command into input. 39 the from the sequential terminal, file A.DAT the until CREATE ...input data... $ RUN WEATHER /'$ LINK WEATHER /$ FORTRAN WEATHER ...source stat $ CREATE WEATHER.FOR (/8 PASSWORD HENRY /'$ JOB HIGGINS r__ When you issue the CREATE command from a command procedure file, the system reads all subsequent lines in the command procedure file into the file, until it encounters a dollar sign ($) 1in the first position in a record. 1In this batch job example, the CREATE command creates a FORTRAN source file. The next commands compile, link, and run the file just created. Input data follows the RUN command. ( $@WEATHER // sEoD //$ RUNWEATHER /S LINK WEATHER // $ FORTRAN WEATHER / $ DECK / $ CREATE WEATHER COM J (// $PASSWORD HENRY /" JOB HIGGINS - hparnd This batch job example illustrates using the CREATE command to create a command procedure from data in the input stream. The DECK command is required so that subsequent 1lines that begin with a dollar sign are not executed as commands, but are accepted as input records. The EOD command signals the end-6f-file for the data records. Then, the procedure is executed with the @ (Execute Procedure) command. tOCREATE/DIRECTORY OMA2 3 IMALCOLMY The CREATE command creates a directory named MALCOLM on the device DMA2, £ OCREATE/DIRECTORY EMALCOLM. GUERD BOQET DEFAULT [MALCOLM. SURD The CREATE command creates a subdirectory named MALCOLM.SUB. This directory file is placed in the directory named MALCOLM. The SET DEFAULT command changes the current default directory to this subdirectory. All files subsequently created are cataloged in MALCOLM.SUB. 40 DEALLOCATE Returns a device available devices that was in the reserved for private system. use to the pool of Format DEALLOCATE [device-name[:]] Command Qualifiers /ALL Prompts Device: Command device—name Parameters device-name Specifies name can the be a name of the physical device device to name be or If you omit the controller designator default to controller A and unit 0. Command deallocated. a logical and/or The device name. unit number, they Qualifiers /ALL Requests that all devices deallocated. If you specify /ALL, you you cannot have currently specify a device allocated be name. Examples 1. ¢ DEALLOCATE LIMEBLE The DEALLOCATE command deallocates unit 1 of the RK06 device controller B. The underscore character in the device name indicates that it is a physical device name; the DEALLOCATE on command 2, % does ALLOCATE SMTELS not check MT$ to see if it is a logical name. TARE?2 alLOCATE + $ DEALLOCATE TAPE The ALLOCATE command requests that any magnetic tape drive be allocated and assigns the logical name TAPE to the device. The response to the ALLOCATE command allocation of the device MTBl. specifies the logical name TAPE to 41 indicates The release the successful DEALLOCATE the tape. command DEALLOCATE Note that a colon was specified on the logical name TAPE in but that the colon can be omitted on the ALLOCATE command, the DEALLOCATE command. $ DEALLOCATE /ZALL The DEALLOCATE command currently allocated. deallocates 42 all devices that are DEASSIGN Cancels 1logical ALLOCATE, or name assignments made with the ASSIGN, DEFINE, MOUNT commands. Format DEASSIGN [logical-name[:]] Command Qualifiers Default /ALL /GROUP /PROCESS /SUPERVISOR__MODE /SYSTEM /U‘SER_MODE /PROCESS /PROCESS /SUPERVI SOR_MODE /PROCESS /SUPERVISOR_MODE Prompts Log_Name: Command logical-name Parameters logical-name Specifies a 1- to 63-character logical name to be deassigned. 1If the 1logical name contains any characters other than alphanumeric or underscore characters, enclose it in quotation marks ("). If you terminate the logical-name parameter with a colon (:), the command interpreter ignores it. (Note that the ASSIGN, ALLOCATE, and MOUNT commands remove a trailing colon, if present, from a logical name before placing the name in a logical name table.) If a colon is present in the actual logical name, you must specify two <colons on the 1logical-name parameter for the DEASSIGN command. The logical-name parameter is required of the unless you specify /ALL. Description If you enter more /SYSTEM, only the for the specified table, the name table. than one qualifiers /PROCESS, /GROUP, or last one entered is accepted. 1If entries exist logical name in more than one 1logical name is deleted only from the specified logical name The command interpreter deassigns all supervisor mode entries 1in the process logical name table when you log off the system. User mode entries are deassigned when any image exits. Names in the group or system logical name tables must be explicitly deassigned. 43 DEASSIGN Command Qualifiers /ALL Specifies that all logical names in the specified 1logical name table are to be deleted. If no logical name table is specified, all process logical name table entries are deleted. If you specify /ALL, you cannot enter a logical-name parameter. /GROUP Indicates that the specified logical name is in the group logical name table. The user privilege GRPNAM is required to delete entries from group logical name table. /PROCESS Indicates that the specified logical name table. This 1logical name is the default. is 1in the the process You cannot deassign logical name table entries that were made by interpreter, for example SYSSINPUT, SYS$SOUTPUT, and command the SYSSERROR. However, if you assign new equivalence names for you can deassign the names you explicitly names, logical these created. /SUPERVISOR_ MODE Indicates, for entries in the process logical name table, that an entry exists in supervisor mode. This 1is the default; /SUPERVISOR_MODE deletes both user and supervisor mode entries. /SYSTEM Indicates that the logical name table. 1logical specified name is 1in the system The user privilege SYSNAM is required to delete entries from system logical name the table. /USER_MODE Indicates, for entries in the process logical name table, that the entry exists in user mode. /USER_MODE deletes only user mode entries. Examples 1. % SHOW LOGICAL TEST.CASES TEST.CASBES = DEALICHARVEYIFILES.DAT $ DEASETEN (srocess) TEST..CASED % a8HOW LDGICAL TEST..CABES Mo tramslation for logical mame TEST.CASES The SHOW LOGICAL command displays the name for the logical name TEST_CASES. current equivalence The DEASSIGN command deassigns the equivalence name; the next SHOW LOGICAL command indicates that the name is deassigned. 2. % ASHIGN LEALS B OEASSIGN COFY COFY The ASSIGN command equates the logical name COPY with the device DBAl and places the names in the process logical name Note The DEASSIGN command deletes the logical name. table. that a colon was specified on the logical name COPY in the ASSIGN command, but that the colon can be omitted on the DEASSIGN command. 44 DEASSIGN $ DEFINE SWITCH: # DEASSIGN TEMF SWITCH? The DEFINE command places the process logical name table. logical name SWITCH: in Two colons are required on DEASSIGN command to delete this DEFINE command does not remove the the 1logical name because the trailing colons from logical names. $ ASSIGN/GROUP DBRE2: GROUF.DISK $ DEASSIGN/FROCESS/GROUP GROUF.LDISK The ASSIGN command places group logical specifies qualifier name the table. logical A name GROUP DISK in the subsequent DEASSIGN command conflicting qualifiers; because the /GROUP is last, the name is successfully deassigned. ¢ DEASSTEN/ALL The DEASSIGN command deletes all names from the process logical name table. This command does not, however, delete the names that were placed in the process logical name table in executive mode by the command interpreter (SYS$INPUT, SYSSOUTPUT, SYSSERROR, SYSSDISK, and SYSSCOMMAND). 45 DEBUG Invokes the VAX-11 Symbolic Debugger after program execution is interrupted by CTRL/C or CTRL/Y. The program image being interrupted 1image was 1linked with the must contain the debugger, that is, the /DEBUG qualifier and/or run with the /DEBUG qualifier. Format DEBUG Command Qualifiers None. Prompts DBG> Command Parameters None. Description When a program image is executing, it can be interrupted by CTRL/C or CTRL/Y. Following the interruption, the DEBUG command can be issued to pass control to the debugger; this function 1is useful when a program is in an infinite loop and you want to gain control and use the debugger to determine the cause of the problem. If no image operation. is currently executing, the DEBUG command performs no If the interrupted program was not linked with the debugger, the DEBUG command causes a software exception condition. If the image has not declared a condition handler, this exception condition may cause the termination of the image. For complete details on the commands available to debug programs, see the VAX-11 Symbolic Debugger Reference Manual. 46 DEBUG Example 1. $ FORTRAN/DERUG/NOOFTIMIZE % LINK/7DERUG $ RUN WINGET WIDGET WIDGET DERUG Versiorn ZOERUG-I~INITIALy 1.0 24 Aus landguadge is 1978 FORTRANy score and module set to ‘WINGET’ DRG= GO ENTER NAME!? ENTER ENTER NAME: NAME$ ~y % DERUG LRG: The FORTRAN and LINK commands both specify the /DEBUG qualifier, to compile the program WIDGET with debugger symbol table information and to include the debugger in the image file. The RUN command begins execution of the image WIDGET, which loops uncontrollably. CTRL/Y interrupts the program, and the DEBUG command gives 47 control to the debugger. DECK Marks the beginning of an input stream for a command or program. The DECK command 1is required in command procedures when the first non-blank character in any data record in the input stream is a dollar sign ($). The DECK command must be preceded by a $; the $ must be in the character position (column 1) of the input record. first Format DECK Command Qualifiers Default /DOLLARS [=string] /DOLLARS=SEOD Prompts None. Command Parameters None. Description The DECK command defines an end-of-file indicator only for a single data stream; it allows you to place data records beginning with dollar signs in the input stream. You can place one or more sets of data in the input stream following a DECK command, each terminated by an end~of-file indicator. After an end-of-file indicator specified with the /DOLLARS gualifier 1is encountered, the end-of-file indicator is reset to the default, that is, any record beginning with a dollar sign ($). The default is also reset if an actual end-of-file occurs for the current command The DECK command is level. invalid if it is not preceded by a execute a command or program that requires input data. request to Command Qualifiers /DOLLARS [=string] Sets the end-of-file indicator If you do not specify without specifying a signal the end-of-file. to the specified string. /DOLLARS, or 1if you specify /DOLLARS string, you must use the EOD command to Specify a string if the input data contains one or more beginning with the string $EOD. The string can have from characters. Enclose it in quotation marks if you want to an end-of-file indicator that contains literal lowercase or multiple blank spaces or tabs. 48 records 1 to 15 specify letters DECK Examples INPUT STREAM AY PROGRAM A 1'/ FOR N . fs PRINT SUMMARY.DAT $ EOD = . Lll // $99.50 v $8642 (// $DECK / $ RUN A N /’ SLNKA ] // $FORTRAN A ’fi JQ"JH ]’ [lr s - JH The FORTRAN and LINK commands compile and 1link program A. the program is run, any data the program reads from the logical device SYSSINPUT is read from the command stream. The $DECK command indicates that the input stream may contain dollar signs. The SEOD command signals end-of-file for the When data. AN % N/ $PRINT RUNTEST OUT ¢/ $EOD ( $ DECK _L // $ RUN READFILE N _‘.J _J // $ ASSIGN RUNTEST.OUT OUTFILE N N / $ ASSIGN SYS$INPUT INFILE N/ a $DECK/DOLLARS = "% // $ CREATE TEST.COM P p Pa p ! . /’ $J0B HIGGINS (?) INPUT STREAM FOR CREATE COMMAND (2 INPUT STREAM FOR PROGRAM READFILE The CREATE command creates the command procedure file TEST.COM from 1lines entered into the input stream. The SDECK/DOLLARS command indicates that the percent-sign, (%) character is the end-of-file indicator for the CREATE command. This allows the string § EOD to be read as an input record, signalling the end of the input for the RUN command. 49 DEFINE Creates a logical name table entry and assigns an equivalence name string to the specified logical name. The DEFINE command is similar in function to the ASSIGN command; however, its primary purpose is to assign logical name/equivalence name pairs for application-specific uses other than for logical file specification assignments. Format DEFINE logical-name equivalence-name Command Qualifiers Default /GROUP /PROCESS /SUPERVISOR_MODE /SYSTEM /USER;MODE /PROCESS /PROCESS /SUPERVISOR_MODE /PROCESS /SUPERVISOR_MODE Prompts Log_Name: logical—-name Equ_Name: equivalence-name Command Parameters logical-name Specifies a 1- to 63-character 1logical name string. If the string contains any characters besides alphanumeric or underscore characters, enclose it in quotation marks ("). equivalence-name Defines the 1- to 63-character equivalence name to be associated with the 1logical name in the specified logical name table. If the string contains other than alphanumeric or underscore characters, it must be enclosed in double quotation marks ("). Description If you enter more than one of the qualifiers /PROCESS, /GROUP, or /SYSTEM, or both of the gqualifiers /SUPERVISOR MODE and /USER_MODE, only the last qualifier entered is accepted. For additional information on using loéical 2.2, "Logical Names." 50 names, see Section DEFINE Command Qualifiers /GROUP Places the 1logical name/equivalence name logical name table. Other users who have in their UICs (user identification codes) pair in the group the same group number can access the logical name. The user privilege GRPNAM group logical name table. is required to place a name pair in the /PROCESS Places the logical name/equivalence name logical name table. This is the default. /SUPERVISOR*MODE Specifies, for an entry in the process logical name the logical name be entered in supervisor mode. in the process table, that This is the default for process /SUPERVISOR_MODE qualifier is the group or logical name table entries. The ignored when entries are made in name tables. system logical /SYSTEM Places the logical name/equivalence logical name table. All system name users pair in can access the the system logical name. The user privilege system logical name SYSNAM is required to place a name in the table. /USER_MODE Specifies, for an entry in the process logical the logical name be entered in user mode. name table, that A user mode logical name is practical for the execution of a single image; it allows an 1image executing in a command procedure to redefine SYS$INPUT. User mode entries are deleted when any image executing in the process exits (that is, after any DCL command or user program that execution), or when a STOP command By process default, logical name executes is an table entries supervisor mode. The /USER _MODE qualifier entries are made in the group or system logical 51 image completes issued. are made 1is ignored name tables. in when DEFINE Examples l. $ DEFINE % RUN FPROCESS.NAME LIERA WAKE The DEFINE command places the logical name PROCESS_NAME in the process logical name table with an equivalence name of LIBRA. The program WAKE can translate the 1logical name PROCESS_NAME to perform some special action on the process named LIBRA. ¥ DEFINE $ DEASSIGN TEMF: DEREAL3 TEMP!: The DEFINE command logical name TEMP: creates an equivalence and places the name name for the in the process logical name table. The DEASSIGN command deletes the logical name. Note that two colons are required on the logical name in the DEASSIGN command because the DEFINE command does not from logical names, as the DEASSIGN colons trailing remove command does. 52 DELETE Deletes one or more files from a mass storage disk volume. If you specify /ENTRY, the DELETE command deletes one or more entries from a printer or batch job queue. If you specify /SYMBOL, the DELETE command deletes a local or global symbol name assignment. The DELETE/ENTRY and DELETE/SYMBOL commands are each described under their own headings. Format DELETE file-spec,... Command Qualifiers Default /BEFORE [=time] / [NO] CONFIRM /CREATED /EXPIRED / [NO] LOG /MODIFIED /SINCE [=time] /NOCONFIRM /NOLOG Prompts File: file-spec,... Command Parameters file-spec,... Specifies the names of one or more files to be deleted. The first file specification must contain a file name, file type, and version number; subsequent file specifications must contain a version number. You can specify any of these fields as wild cards. To delete more with Command commas (,) than one file, separate or plus signs (+). the file specifications Qualifiers /BEFORE [=time] Specifies time that only the files dated earlier be deleted. You can specify one of the absolute-time An absolute date for TODAY The date absolute current YESTERDAY The and day, absolute nanosecond time and date month, date before midnight. 53 time. values Use the specified and and than a particular following values: time year, and the syntax in rules Section 6.8. representing at time most 00:00 the o'clock. representing recently 1 passed DELETE If you specify /BEFORE and do not specify a command assumes /BEFORE=TODAY. value, the DELETE Use the /CREATED, /EXPIRED, or /MODIFIED qualifiers to request that only files created, expired, or modified before the specified time be deleted. If none of these qualifiers is specified, the DELETE command deletes all files created and modified within the specified time. /CONFIRM /NOCONFIRM Controls whether the DELETE command displays the file specification of each file before deleting and requests you to confirm whether or not the file should actually be deleted. If respond to a prompt with a Y, you must specify /CONFIRM, you the DELETE command will followed by a carriage return, before If you enter anything else, the file is not file. delete the deleted. By default, files it the DELETE command does not request confirmation of is deleting. /CREATED Specifies, when /BEFORE and/or /SINCE is specified, that files created within the defined time period be deleted. /MODIFIED is the default if /MODIFIED, or /EXPIRED none of is specified. the qualifiers only /CREATED, /EXPIRED Specifies, when /BEFORE and/or /SINCE is specified, that only that reached their expiration dates within the specified files time be deleted. If any file does not have an expiration date associated with it, it is assumed to have expired at the time the DELETE command is issued. (Files can be assigned expiration dates when they are created or /LOG /NOLOG Controls revised with RMS.) whether the specification of each By default, files as DELETE file that command it deletes. the DELETE command does it deletes them. /MODIFIED not Specifies, when /BEFORE and/or /SINCE are displays display the specified, the names that file of only files that were modified within the defined time period be deleted. A file's revision date is updated whenever the file is accessed and updated. 54 DELETE /SINCE [=time] Specifies that only the files dated later than a particular be deleted. You can specify one of the following values: time absolute-time rules syntax Use the An absolute date and time. for date and time values specified in Section 6.8. TODAY The absolute YESTERDAY The absolute date current day, month, nanosecond date before and time and time specify a and year, the representing at 00:00 o'clock. representing most the 1 recently passed the DELETE to request midnight. If you specify /SINCE and do not command assumes /SINCE=YESTERDAY. Use the /CREATED, /EXPIRED, or /MODIFIED value, qualifiers that only files created, expired, or modified after the specified the specified, If none of these qualifiers is time be deleted. command deletes all files created and modified within the DELETE specified time. Examples 1. 4 DELETE . SUME 2 COMMON The DELETE command deletes .the file current default disk and directory. 2. ¢ DELETE COMMON.SUM;2 files types of OLD from the default disk directory. ¢ DELETE the %.0QLYX1sx% The DELETE command deletes all versions of 3. from with file GAMMASX Xy RETA ALFPHASTXTiX files The DELETE command deletes all versions of the The command uses the and GAMMA.TXT. BETA.TXT, ALPHA.TXT, as a temporary default. file type of the first input file that version numbers (here specified as wild however, Note, cards) 4, must be included in each file specification. ¢ DELETE ¥ DATSXK/BEFORE=01~JUN/LOG SDELETE-T-DELETEDy DRAIDMALCOLMIASSIGN.DATSL deleted CIFLETE-T-NELETED, DRAZICMALCOLMIBATOHMAVE .DATH1 deleted UOELETE«T~DELETEX, DEAZIIMALCOLMICANCEL .DATS L deleted YOFLETE-T-DFELETED: DEAZ2IIHMALCOLMIDEFINE . AT deleted SOELETE-T-0FELETED: DRAZICMALCOLMIEXIT.NAT?L deleted files with THE DELETE command deletes all versions of all file types of COM that were either created or updated before June 1, this year. 55 DELETE $ DELETE/CONFIRM CMALCOLM.TESTFILESIX.0RJ$X/SINCE=YESTERDAY DEAZICMALCOLM.TESTFILESIAVERAG.ORJF 1,y delete? (Y or N)IY NEA2ICMALCOLM . TESTFILESISCANLINE.ORJF2y delete? (Y or N)IN DEAIIMALCOLM.TESTFILESIWEATHER.ORJ$3y The DELETE types of requests confirmation P DIRECTORY FIF - no (Y or N)IY command examines all versions of files with file OBJ in the subdirectory [MALCOLM.TESTFILES], and locates those that were created or that is, that were created today. it delete? that the modified since yesterday, Before deleting each file, file should be deleted. [.SURTESTI such file(s) % GET PROTECTION SURTEST.DIR/FROTECTION=OWNERID # DELETE SUBTEST.DIR?1 Before deleting the directory file SUBTEST.DIR, the DIRECTORY command 1is wused to verify that there are no files cataloged in the directory. The SET PROTECTION protection for the directory file so then, the DELETE command deletes it. 56 command that redefines the it can be deleted; DELETE/ENTRY Deletes one or more entries from a printer /ENTRY qualifier is required. or batch job queue. The Format DELETE/ENTRY=jobid,... queue-name Additional Command Qualifiers None. Prompts Queue: gueue-name Command Parameters queue-name Specifies the name of the queue in which the job(s) exist. Command Qualifiers /ENTRY=jobid,... Specifies the jobid(s) of one or more jobs to be deleted from a printer or batch job queue. If you specify more than one jobid, separate them with commas and enclose the list in parentheses. The job(s) process You or to be deleted must have been any process can delete that are jobs in that the same have queued group not yet currently being processed. as by the the current begun processing current process. or files Examples l' $ PRINT/ZHOLD Joir 110 ALFHALTXT entered orn aueude SYS$SPRINT [4 ¢ ¥ DELETE/ZENTRY=110 SYS$FRINT The PRINT command queues HOLD a copy of to defer its printing the entry be status, the file until ALPHA.TXT a later time. in a The system displays the jobid, 110, and the name of the queue in which the file was entered. Later, the DELETE/ENTRY command requests that 57 deleted from the queue SYS$PRINT. DELETE/ENTRY B QUBMIT/HOLD/FARAMETERS=8CANLINE DOFOR Job 203 entered on aueue SYS$SEBATCH F GQURMIT/AFTER=18300 WEATHER Jobh 210 erntered orn aueue SYS$BATCH ¢ $ NELETE/ENTRY=(203,210) SYS$RATCH The SUBMIT commands spool the command procedures DOFOR.COM DOFOR.COM is and WEATHER.COM for processing as batch jobs. queued in a HOLD status; after 6:00 P.M. Later, WEATHER.COM is queued for execution the DELETE/ENTRY command requests that both these entries be deleted from the queue SYS$BATCH. 58 DELETE/SYMBOL Deletes global table. a symbol definition from a local symbol table or from the symbol table, or deletes all symbol definitions in a symbol Format DELETE/SYMBOL symbol-name Command Qualifiers Default /ALL /GLOBAL /LOCAL /LOCAL /LOCAL Prompts Symbol: Command symbol-name Parameters symbol-name Specifies the name of the symbol to be deleted. By default, the DELETE/SYMBOL command assumes the symbol is in the local symbol table for the current command procedure. The symbol-name parameter is required unless /ALL is specified. Description If you specify both of the qualifiers the last one entered 1is accepted. follow the DELETE command name. /GLOBAL and The /SYMBOL /LOCAL, only qualifier must Command Qualifiers /ALL Specifies that all deleted. If you do symbols defined at the /GLOBAL Indicates that table the for the symbol names not current specified current in the specified specify either command level symbol name is symbol /LOCAL or table be /GLOBAL, all are deleted. in the global symbol process. /LOCAL Indicates that the symbol name the current command level. 59 - is in the local symbol table for DELETE/SYMBOL Examples 1. ¢ LDELETE/SYMROL/ALL The DELETE/SYMBOL command deletes all symbol the current command level. 2. definitions at % DELETE/SYMEOL/GLOEBAL FDREL The DELETE/SYMBOL command deletes the symbol named PDEL the global symbol table for the process. 60 from DEPOSIT Replaces the contents of a specified location or locations in virtual memory. The DEPOSIT command, together with the EXAMINE command, aids debugging programs interactively. The DEPOSIT command is similar the DEPOSIT command of the VAX-11l Symbolic Debugger. You can truncate the DEPOSIT command to a single letter, in to D. Format DEPOSIT location = data,... Command Qualifiers /ASCI1I /BYTE /DECIMAL /HEXADECIMAL /LONGWORD /OCTAL /WORD Prompts None. Command Parameters location Specifies the starting virtual address of a locations whose contents are to be changed. location or series of The specified location must be within the virtual address space of the 1image <currently running in the process, and it must be accessible for both reading and writing for user access mode. You can specify the 1location wusing any valid arithmetic expression. The expression can contain arithmetic or logical operators or symbol names which have been previously given values with DCL assignment statements. The DEPOSIT command automatically substitutes symbols with their current values when it evaluates the specified location. The DEPOSIT and EXAMINE commands maintain a pointer to a current memory location. The DEPOSIT command sets this pointer to the byte following the last byte modified; you can refer to this pointer using the symbol "." in subsequent EXAMINE and DEPOSIT commands. If the DEPOSIT command cannot deposit the specified data, the pointer does not change. The EXAMINE command does not change the value of the pointer. 61 DEPOSIT data, ... Defines the data to be deposited into the specified 1location(s). If you specify a 1list, separate the items with commas; the DEPOSIT command writes the data 1in consecutive locations, beginning with the address specified. By default, the data is assumed to be in hexadecimal format; the DEPOSIT command converts the data to binary format before writing it 1into the specified 1location. When non-ASCII data is deposited, the DEPOSIT command automatically performs symbol substitution when it evaluates data. Description When the DEPOSIT command completes, it displays the virtual memory address into which data is deposited and displays the new contents of the location, as follows: address: contents If the address specified can be read, but not written, by the current access mode, the DEPOSIT command displays the original contents of the location. If the address specified can be neither read nor written, the DEPOSIT command displays asterisks (****) in the data If you specify a the values may field. list be of numeric values, some, successfully deposited but not all, of before an access violation occurs. If an access violation occurs while ASCII is being deposited, nothing is deposited. data Radix Qualifiers: The radix default for a DEPOSIT or EXAMINE command determines how the command interpreter interprets numeric literals, for example, 256. The initial default radix |is hexadecimal; all numeric literals in the command 1line are assumed to be hexadecimal values. If a radix qualifier modifies the command, that radix becomes the default for subsequent EXAMINE and DEPOSIT commands, until another qualifier overrides it. For $ example: NEFOSIT/DECIMAL 00000388 900 = 254 206 The DEPOSIT command interprets both the location 900 and the value 256 as decimal. All subsequent DEPOSIT and EXAMINE commands assume that numbers you enter for addresses and data are decimal. Note that the DEPOSIT command always displays the address location in hexadecimal. Symbol values defined by = (Assignment Statement) commands always interpreted in the radix in which they were defined. .are Note that hexadecimal values entered as deposit locations or as data to be deposited must begin with a numeric character (0 through 9). Otherwise, the command interpreter assumes that you have entered a symbol name and attempts symbol substitution. You can use the radix operators %X, %D, or %0 to current default when you enter the DEPOSIT command. b DEFOSTT/ZOECIMAL #%X900 = 10 This command deposits the decimal specified as hexadecimal 900. 62 override the For example: value 10 in the 1location DEPOSIT Length Qualifiers: The initial default length unit for the DEPOSIT command is a longword. If a list of data values is specified, the data 1is deposited into consecutive 1longwords beginning at the specified location. If a length qualifier modifies the subsequent overrides command, EXAMINE and that 1length DEPOSIT becomes commands, the until default another for qualifier it. Restriction on Placement of Qualifiers: The DEPOSIT command analyzes expressions arithmetically. Therefore, qualifiers (which must be preceded by /) are interpreted correctly only when they appear immediately after the command name. Command Qualifiers /ASCII Indicates that the specified data converts the data virtual memory. to its binary is ASCII. The DEPOSIT equivalent before command placing it in When you specify ASCII data, the command interpreter compresses multiple blanks to a single blank before writing the data in memory; to deposit an ASCII string containing multiple blanks, enclose the string in quotation marks ("). When you specify /ASCII, or when ASCII mode is the default, any literal numeric values you enter are assumed to be hexadecimal. /BYTE Requests If you that data be deposited specify data values that one byte at are longer a time. than a byte, an error occurs. /DECIMAL Indicates command it that the converts the the before DEPOSIT placing The DEPOSIT before placing in virtual memory. /HEXADECIMAL Indicates command it specified data is decimal; data to its binary equivalent that the converts specified data the data to its is hexadecimal. binary equivalent in virtual memory. /LONGWORD Requests /OCTAL Indicates converts that data be that the the data deposited a specified data to its binary longword is at octal; equivalent a time. the DEPOSIT command placing it in before virtual memory. /WORD Requests that the data be deposited 63 a word at a time. DEPOSIT Examples 1. ¢ RUN MYFPROG + ”~ $ EXAMINE 2780 000027801 ¢ DEFOSIT 000027808 $ CONTINUE . 1CHOE344 = 0 00000000 The RUN command executes the image MYPROG.EXE; subsequently, CTRL/Y interrupts the program. Assuming that the initial defaults of /HEXADECIMAL and /LONGWORD are in effect, the DEPOSIT command places a longword of 0Os in virtual memory location 2780, The CONTINUE command resumes execution of the ¢ DEFOSIT/ASCIIT 000020008 2000 = FILE? NAME: TYFE:? TYFEI ... NAME?! FILE!? image. The DEPOSIT command deposits character data at hexadecimal location 2C00 and displays the contents of the location after modifying it. Since the current default 1length is a longword, the response from the DEPOSIT command displays full longwords. Trailing dots indicate that the remainder of the last 1longword of data contains information that was not modified by the DEPOSIT command. ¢ EXAMINE 9C0O o Q00009C0: BLOI7NES Q0000YC0O: 00000000 Q0000YC4Y Ol Look 4 DEFPOSIT + = 0 ¢ DEFOSIT/ZBYTE g DEFOSIT » = 1 +2 = 55 at Hex Nerosit location longworg Put 1 bwte a2t next location I Derosit 55 nesxt QO000PCHT 00000000 0000000 0000000E . _ n H5 DEFOSIT/ZLLONG O ! 00O0OVLTE ¢ of 200 = OCy ODy ] OE ! o Derosit longwords The sequence of DEPOSIT commands in the above example illustrates how the DEPOSIT command changes the current position pointer. Note that after you specify /BYTE, all data is deposited and displayed in bytes, until the /LONGWORD qualifier restores the system default. Define 8 base address P # BASE = XX200 Define offset from base I ¢ LIST = BASE+AXA0 g DEFOSIT/DECIMAL LIST = 1,22y333,4444 Q0000001 00000022 00000333 00004444 000002408 ¢ EXAMINE/ZHEX LISTILIST + 0C ! Q00002408 000N000L Disrlaw results in hex DOVO001LS 00000140 Q0001150 The assignment statements define a base address in hexadecimal and a label at a hexadecimal offset from the base address. The DEPOSIT command reads the list of wvalues and deposits each value into a 1longword, beginning at the specified 1location. The EXAMINE command requests a hexadecimal display of these values. 64 DIFFERENCES Compares the records that contents of two do not match. disk files and creates a listing of the Format DIFFERENCES input-file~-spec [compare-file-spec] Command Qualifiers Default /COMMENT DELIMITERS [=characters,...] /IGNORE=characters, ... /LINE WIDTH=n /MATCH=size /MATCH=3 /MAXIMUM_DIFFERENCES=n /MERGED [=n] /MODE=radix, ... /OUTPUT=file~spec /SEPARATED /SLP /WINDOW=size /MERGED=1 /MODE=ASCII /OUTPUT=SYSSOUTPUT /NOSEPARATED /WINDOW=15 File Qualifiers /CHANGE_BAR[=[c] [, [NO]NUMBER] ] Prompts File 1: input-file-spec File 2: compare-file-spec Command Parameters input—-file-spec Specifies the name of the primary input The file specification must include a No wild cards are allowed in the file file to be compared. file name and specification. file type. compare-file-spec Specifies the name of the secondary input file to be compared. Any nonspecified fields default to the corresponding field of the primary input file specification. If you do not specify a secondary command uses the next lowest input version of file, the the primary DIFFERENCES input file. Description Use the DIFFERENCES command to find out whether two files are identical and, if not, how they differ. DIFFERENCES compares the two files specified, on a record-by-record basis, and produces an output file that lists the differences, if any. 65 DIFFERENCES The qualifiers for the DIFFERENCES according to their ® functions, command can as follows. Qualifiers that request DIFFERENCES record are: to ignore be categorized data in each /COMMENT DELIMITERS /IGNORE These qualifiers allow you to define characters comments and characters to ignore while comparing example, extra blank lines, By default, DIFFERENCES or tabs within lines. compares every that denote files -- for character 1in each record. ® Qualifiers that control the format of the in the list of differences are: information produced /CHANGE_BAR /LINE_WIDTH /MERGE /MODE /SEPARATED /SLP By default, DIFFERENCES merges differences it finds in the files being compared, and lists each record in the input file that has no match in the output file, followed by the first record that it finds that does have a match. You can specify combinations of qualifiers to request an output 1listing from DIFFERENCES that includes the comparison in more than one format. However, SLP output is incompatible with e all other Qualifiers types of that control output. the extent of the comparison are: /MATCH /MAXIMUM DIFFERENCES /WINDOW By default, DIFFERENCES reads every record in the primary input file, and looks for a matching record in the secondary input file. It terminates each search if it does not find a match within 15 records. Records are considered matched only if three sequential records are found in each file that are identical. DIFFERENCES output is written by default to the current output device, that 1is, to SYSSOUTPUT. Use the /OUTPUT qualifier to request DIFFERENCES to write the output to an alternate file or device. Command Qualifiers /COMMENT_DELIMITERS[=characters,...] Requests that lines that are comments not be included in the comparison. If a specified comment character or characters appears as the first character in an input record, DIFFERENCES ignores the record in the comparison. 66 DIFFERENCES You can specify up to four more than one, separate the list comment characters. the characters with If you commas and specify enclose character itself in parentheses. You can specify characters either by using or by using one of the following keywords: Keyword the Character COLON COMMA EXCLAMATION FORM LEFT RIGHT SEMI SLASH SPACE TAB Colon (:) Comma (,) Exclamation point Form feed Left bracket ([) Right bracket (1) Semi-colon (;) Slash (/) Space Horizontal tab (!) If you do not include a comment character, DIFFERENCES assumes the following default comment characters for the associated file types: File Type Default Comment Character CBL * and ; CMD ! and ; CcOoM 1 and C FOR All If the ! others comment and D ; character (either explicitly or by default) Iis either an exclamation point (!) or semicolon (;), DIFFERENCES also ignores any comments on the right-hand side of a statement. If you also specify /IGNORE=TRAILING_BLANKS, DIFFERENCES ignores multiple blank spaces or tabs immediately preceding the comment character as well. /IGNORE=characters,... Specifies one or more special characters to be ignored during comparision. You can request DIFFERENCES to ignore the the following: BLANK_LINES COMMENTS Blank lines between data Lines beginning with /COMMENT DELIMITERS FORM_FEEDS a comment character qualifier more non-default Form feed characters characters before feed lines comment (use to designate the one or characters) (DIFFERENCES removes comparing records) form TRAILING_BLANKS Extra blank characters at text (DIFFERENCES strips before comparing records) SPACING Extra blank spaces (DIFFERENCES a By default, each file the and single blank DIFFERENCES reports all or tabs compresses before command of a blanks 1line of and tabs within 1lines of multiple comparing compares differences. 67 the end trailing blanks or text tabs to records) every character in DIFFERENCES /LINE_WIDTH=n Specifies the width of lines in the output listing. The minimum value for the line width, n, is 30. unless output is By default, output is 132 characters wide, 1In this case, the output line width is directed to the terminal. controlled by the terminal line width. /MATCH=s1ize The Controls the number of records to be included in a match. size value can be specified as a decimal number between 2 and 20. By default, after DIFFERENCES finds unmatched records, it assumes that the files match after it finds 3 sequential records that match. Specify a match size to override the default value of 3. /MAXIMUM DIFFERENCES=n Specifies that the command is to records have been found. after terminate n unmatching If you specify /MAXIMUM_DIFFERENCES, DIFFERENCES terminates after locating n unmatched records. The output file lists differences only on records compared until the maximum has been reached. By default, DIFFERENCES compares every record in specified the input file. /MERGED [=n] that Requests the output file contain a merged list of listing, with one include a The value n is a decimal number from 1 to 10 differences. indicating the number of matched records to list after each list of unmatched records. By default, DIFFERENCES produces a merged matched line listed after each set of unmatched records. Use /MERGED to override the default value of n, or to merged listing with other types of output. /MODE=radix,... Specifies the format of the output listing. You can request that the output be formatted in one or more radix modes by specifying the following keywords: ASCII HEXADECIMAL OCTAL You can truncate any of these keywords to 1 or more characters. By default, DIFFERENCES writes the output file in ASCII. specify If you more than one code, the output listing contains the file comparison in each output mode. If you specify /SLP, the /MODE qualifier is ignored. /OUTPUT=file-spec Defines an output file to receive the output difference list. By the output 1is written to the current default output default, device (SYSSOUTPUT). When you specify /OUTPUT, you can control as the defaults applied to the output file specification, "Rules for Entering Output File described in Section 6.3.3, Qualifiers." The output file type always defaults to DIF. 68 DIFFERENCES /SEPARATED /NOSEPARATED Controls whether DIFFERENCES creates a listing sequential 1list of unmatched records. primary input file are 1listed first, records in the compare file. By default, DIFFERENCES creates that Unmatched followed only a output file contains a records in the by unmatched merged list suitable for of differences. /SLP Requests DIFFERENCES to produce an input to the SLP editor. If you specify /SLP you cannot specify any of the following output file qualifiers: /MERGED, /SEPARATED, /CHANGE_BAR. Use SLP the the output file produced by the /SLP qualifier as input to to update the primary input file specified, that is, to make first input file match the second input file. When you specify /SLP and you do not specify /OUTPUT, writes the output file to a file with the same file primary input file and a filetype of DIF. DIFFERENCES name as the /WINDOW=size Controls as the number of records to search before listing a record unmatched. The window size no maximum. By default, 15 records is a decimal number the window size is in the compare of 5 and 2 searches record as in P Specify a window before 1listing record a minimum value 15, that is, DIFFERENCES file before 1listing a unmatched. next with ) size the the to control the number of records to search record as unmatched and continuing with the input file. File Qualifiers /CHANGE_BAR[=[c] [, [NO]NUMBER] ] Requests that the output contain a file(s) with a change bar character that do not 1listing of the next to the lines associated in the file match. The change bar will appear in match. character, By default, character. exclamation point an the You can also You can specify: ¢, specifies left margin next to control NUMBER Print NONUMBER Do whether not line the one-character records that do is used listing as the includes code that not have a change 1line bar numbers. numbers print If not specified, NUMBER is are printed in the listing. (!) a line the numbers 1line numbers To specify both a change bar character and to request no separate the options with a comma and enclose parentheses, for example, /CHANGE_BAR=(*,NONUMBER) . numbers, them in 69 default; that is DIFFERENCES Examples Figure 1 shows the output from the DIFFERENCES command examples described below. Unless otherwise noted, the output is displayed on the current SYSSOUTPUT device. 1. ¢ DIFFERENCES COPYDROC.COM The DIFFERENCES command compares the contents of the two most the current in COPYDOC.COM file the of versions recent DIFFERENCES compares every character default directory. every record and displays the results in the terminal. in SFACING) COFYLROC.COM NORE= (COMMENTS $ DIFFERENCES/IG The DIFFERENCES command compares the same files, but ignores 1lines beginning with all 1is, (that lines comment all 1in tabs exclamation points), and ignores multiple blanks or input lines. $ DIFFERENCE /Z0UTFUT - $.. COPYDOC.COM/SEFARATEDN/CHANGE..BAR=NONUMERER DIF QUTFUT IN FILE SY:!COPYDOC.DIFs#1 - The DIFFERENCES command compares the same files, but requests one . that lists the differences in each file two listings: and one that lists the separately, rather than merging them; first input file with change bar characters next to the lines The file. input second in the that do not have a match thus, only the is a file qualifier; /CHANGE BAR qualifier is by default) file COPYDOC.COM;2 (the primary input file, listed with change bars indicating the lines that do not have an exact match in the file COPYDOC.COM;1l. Both types of outpu are written to the requested file, COPYDOC.DIF. 4 DIFFERENCES COPYDOC.COM CMALCOLM. TESTFILESI The DIFFERENCES command compares the versions of the file COPYDOC.COM in existing highest the current default directory with the copy in the directory MALCOLM.TESTFILES. 70 DIFFERENCES [Output for Examele il KKK KK KK K K 3K 3K 2K K 3K 3K K 3K KK K K 3K K K 3K ok 3 3K 3K 2K K 3K 3K 3 3K KK 3K 3 3 2K K 0k 3 3K K K 3K 30K KK KK XK K 3 K K 0K 0K 3K KK K K KRKKAOKKAKKKKOKKKKKKKKKKNkKkX FILE COMPARE UTILITY XKokKKKokodokkkokkkok Kok Kk kKKK Kk KRKKKAKKAORKKOKKKKKKKKKKKKKK DIF ~= VERSION 1.0 XRKAKKKK KKK AKAKKKKKK KK KKK KKKKK 3K K 3K K 3Kk 3K 3K 3K K 3K 3K 3K K 3K K 3K 3K 3 3K 3K 3K 3K 33K K 30K 3K 3K 3 3 3K K 3 KK ok 3k 3 oK K 3K K ok 3 3K 3 KoK K KK K K KK K KK 3K K KK KK Kk 3k K KKK K KK 3K 3K KK KK 3K 3K K 3K 3 3K 3K 3K K K 3K 3K K 30K 3K 3 3K oK oK 3K K K 3K 3K oK K 3K o s K e o 3k oK 3 ok ok 3 K 3 ok ok 3k ok Kok 3K ok K 5k Xk ok ok ok KAKKAKORKKORKKARKKKK KK KkKkX MERGED LIST OF DIFFERENCES kX30K¥O0KKKKKKK KKK KK KKK K KK KK KKK KK KK K KK K K 3K KK 3K oK 3K K 3K K 3K 3K 3K 3 3K 3K K 3K 2K 3K 3K 0K oK 3K 3K o 3K o K 3K 3K K KK KK KK K 3K KK K Kok Kok K kK Kk ok K FILE SY:!COFYDOC.COM33 1 $ ! Command 2 % 1 into 2 master =rocedure to cory 311l files with file tere of TXT file named MASTER.DROLC armd to rrint 20 cories 3 % | of MASTER.DOC KKK K KK K K KO K K K 3K KK KOK 0K K KK K KKK FILE SY:COPYDOC.COM:2 1 2 4% ¢ ' 1 Command Frocedure to cory a8ll files with file ture of TXT irmto 3 master file mnamed MASTER.DOC anmd to rrint 10 cories 3 ¢ ! of MASTER.DOC 3K ok 3K B 3k 30 o 8 2K 38 K K KK K 3K K K 3K 3 3K K 3K K K K K 3K K K 2K K 3K KK K 3K K K K K K 3K K K K 3K K oK K kK 2K K 30 2K 5K 30 oK K 2K 3 3K K K 2 K 3K 3K K K 3 K K 3K K 3K 3K KK KK K K 3K K K 3K 3K K K 3K K K oK 3 K0k K KK KK K FILE SY!COFPYDOC.COM#3 6 ¢ DELETE 7 % PURGE 8 ¢ COFY MASTER.DOC#x% X.TXT %X.TXT MASTER . IIOC 9 % PRINT/COPIES=20/L.OWER 20K 3K K 0K K K 3K 3K 3K KK K K K K K K K K KK K KK K FILE MASTER.DOC SY:!COPYDOC.COM32 6 ¢ FURGE 7 % COPY *.TXT X.TXT MASTER.DOC 8 ¢ FPRINT/COFIES=10/L.OWER MASTER.DOC Qutsut for Examrle 24] KKK KK K K 3K 3K 3K 3K KK 3K K 3K K K K KK 3K 3K 3K K 3 3 3K 30K 3K 3K 300K o 3 oK 3K KK 30K K K K K 38 oK 3K 3K K 3K 3K K0k 3K K K ok K K K K K KoKk K KRR K KKK IOKKKK KKKk FILE COMFARE UTILITY kokokokokokdkokokkokokokkskskok dkokk sk kok ok ok KRKKAOKKIOKAKKIOKKKKKKKNKRKNKRX DIF == VERSTION 1.0 3HK3O0KKKAOKK KKK KKK KKK K KKK K 3K KKK K KK KK K KK K KKK 3K 30K 3K 3K 3K 3K 30K 30K 3K K K 3K 3K K 0K 30K 5K 30K K 5K 3K 3K 30Kk oK K 30K 3K 30K K K 3K K 3K K KKK K KKK K K K 3K OK 3K KK KKK 3K 3K 3K 3K 3K KK 3K 30K 30K 3K oK 3 5K KK 33K 3K 30K 30K 30K 360K 3K K 3K K 30K 30K 3 oK 3K KK 30K 3K KK KK K KKK 0K KK K K K K XKKKKOKKIOKKKOKKKKKROK KKKk MERGED LIST OF DIFFERENCES XX0KKKKAOKKKKKKK KKK KKK KK KKK KK K KKK 3K 3K KK K KK 3K 3K 5K 3K 30K KK KK oK 3K 3 K 3 3K 3 K K 30K 3K 3K 3K K 3K 3K K 3K ok 3K 3K 0K K KKK KK KKK K KKK KK KK K K FILE SY:COPYDOC.COM33 6 ¢ DELETE 7 g % % PURGE %.,TXT COPY X.TXT MASTER.DOCS X 9 % FRINT/COPIES=20/LOWER MASTER . DOC MASTER.DOD KK KHOK 3K KK K K 3K KKK KK 3K 3K K K KK KKk sk ok K FILE SYICOFYDOC.COM$2 6 % FURGE 7 8 % ¢ COFPY X.TXT MASTER.DOC PRINT/COFIES=10/L0OWER %*,TXT Figure 1 MASTER.DOC Sample Output of DIFFERENCES Command 71 DIFFERENCES lOutPut for Examrle 3[ KKK KK 3K K K 3K KK 3K K 30K K 3K 3K K 3K 3 K oK 3K K K 3 K 3K 3K K 30K 33K K 3OK K K K 3K K 3K K KKK KK KK 3K 0K K K K K K K ok oK 3K K Kk XK K KXRAOKKKRKOKKRRKKKAORXKKKRXRX FILE COMPARE UTILITY XKKKKKKKIOKKNKKKKKAKKK KKK KKK KK AR AKRKKKKKKOKKKKR XK DIF ~— VERSION 1.0 KK0KKKKKKAOKAKKAKOKK KK KKK KKK KK 83K 20 3 3K ok 3K oKk 3 3K oK K K K K K KOk KK K 3K K 30K 3K 5K K K K 3k 3K 3K 3K K K K 3K 3K K KK 3K K KK 3 KK 9K 3k B KK 3K K o kK K oK K K K 3 K K oK ¢ 3K 3K K oK K 3K K K K K 3K 3K K K K K oK 3K K Kk K K K Xk 3 K 3 3k KK 3 K KK K K 3K K 2K KK KK KOKOKOK K 3K K 30k ok KK 3k XK K KK XKk Xk OUTFUT FOR FILE d0RKKKKKRAKOKNKK KKK AOKK KK KK KKK KKK OR KKK K AOK KKK KKK K AOKKAKKkKK SYICOPYLOC . COM#F 3 sokokok 3ok okok ok kok ok ook ok ok ok ok ok ok ok ok k ok k 3K 3K 3K 3K ok 3k K oK oK 2Kk K 3K K oK 3K K K 3K K KK K K K K K 3K KK 3K 3K K 3K 30K K 3K K KK KK K KKK KK 3K K K KK KK KK XKk K KK K X K PR R ER RS H okkdokkokkok KKk KKKkkX KKk CHANGE-ERAR 3K K ! Commandg I 1 into 8 master aof MASTER.DOC srocedure to file cory rnamed 3l1l files MASTER.DOC with armd file ture to rrint 20 of TXT cories ! ] DELETE FURGE COPY MASTER.DOCS % X.TXT %, TXT MASTER.LOC PRINT/COFIES=20/L0OWER MASTER.DOC K O K K 3 3K 3K oK o K K 3 3K 3 K 3Kk K 3K ok K 3K K KK 3K KK 30K oK 3K 3K K 3Kk K oK K 3K 3K K K K K K K ok K 30K KK K 3K K X oK K K K Xk K kxR KKK ROk KKK KkKKKkkk LISTED DIFFERENCES R0KKKKKK KKK KKAOKAKK K KKK K KK KX 33K K 2K K 3 0K o Kk K 3Kk K 3K 3K K K K 2k 3k 3K K KK KKK KK 30K oK KK 30K K KK XK KK KK 3K 3K K KK KK 3K K K 2K K K XK K XK RECORDS WITHOUT 1 % 2 6 %! into % DELETE ! Command A FROM FILE MATCH rrocedure to a master file MASTER.DOC#X IN cory SY:COFPYDOC.COM33 FILE 3ll SYICOFYDOC.COM;2 files nemed MASTER.DOC 7 % FPURGE 8 ? % 4% COPY X,TXT MASTER .1IOC FRINT/COPIES=20/L.00ER MASTER.DOC with and file to ture rrint 20 of TXT cories X.TXT RECORDS WITHOUT A FROM FILE MATCH IN 1 % ! Command 2 ¢ !V imto 6 7 8 % % % FURGE X.TXT COFPY X, TXT MASTER.DOC 8 Procedure mester to file FRINT/COFIES=10/LOWER cory SY!CORPYDOC.COM:2 FILE 3ll SY:!COPYNOC.COM:?3 files named MASTER.DOC with amd file to ture srint 10 of TXT cories MASTER.DOC Outrut for KK K KK oK K KoK 3K KK K 3K K K K 3K K K K K K 3K K K K 3K 3KOK 3K oK 30K 3K 3K K 3K 3K K KK 3K K oK 3K K K K 3K 30K 3K oKk 3k KoK ok 3 ok ok sk K 3K K 3 KKK KKK O Exsmele 4 IR KOK KKK KK FILE COMPARE UTILITY RO KKK KK HOIOKOKKKIOKAOK KKK KKK KK DIF ~— VERSTION 1.0 33K 3 3K 3k K 3K 3k 3K 5K 3Kk K 3k 3K 3K 3K 3k 3K 5K 3K 3 3 3K 3k K 3K K oK 3k Sk K K 3K K K K K 3k 3k 3K K ok kokokokokokok ok ok ok kok ok sk ok ok kK ok KKkkdo0kKKK ¥k 3k ok kKK Xk 0k Kk KKk XK Kk 3 3Kk K o 3k k 3K ok ok Kk K 3k ok 3K K K 3K K 3k X0k K ok K 4 KKK KK K KKK K K K KA KKK KKK 08 K0 K K 80K K ok KK 3K 3K KK K 2K 30K 3K ok oK K 0K oK k0K K K K 3K 3K K 3KOK K KK K K K 30K X K 0K X 0K 0K K KRR OOkK MERGED LLIST OF KK 3K K K K 3 KKk 5K 3K K AOKOKOK K K 3K K K 3 K 3k K ok ok 3K ok K sk ok ok ok DIFFERENCES kKKK K%K ¥ 0k K K 30K 4 k0K ok Xk & oK 3K oK oK 3K ok oK ok 3K K K KK K 3K 3K K K S oK 0K K 0K oK K K K K K NONE Figure 1 (Cont.) Sample Output 72 of DIFFERENCES Command DIRECTORY Provides files. a list of files or information about a file or group of Format DIRECTORY [file-spec,...] Command Qualifiers /BRIEF /FULL /OUTPUT=file-spec /PRINTER Default /OUTPUT=SYS$OUTPUT Prompts None. Command Parameters file-spec,... Specifies one or more files to be listed. specification determines what file(s) are The syntax of a file listed, as follows: @ If you do not enter a file command lists all files in your specification, the DIRECTORY current default directory. e If you specify only a device name, your default directory name. ® Whenever the file specification does not include a file name and file type, all versions of all files in the specified directory are listed. e If a file specification contains a file name and/or file type and no version number, the DIRECTORY command lists the highest existing version. e If a file specification DIRECTORY command assumes the DIRECTORY contains only a a null file type. command file uses name, the If you specify more than one file, separate the file specifications with either commas (,) or plus signs (+). You can use wild cards in place of the directory, file name, file type, or version fields of a file specification satisfy the components you specify. to list all files that Command Qualifiers /BRIEF Lists only the file name, type, listed, as shown in Figure 2. and version of each file to be shown 1in /FULL Lists all Figure 2. information about each 73 file to be listed, as DIRECTORY /OUTPUT=file-spec Requests that the DIRECTORY command output be written to specified rather than to the current SYSSOUTPUT device. the file /PRINTER Queues a copy of the command output to the system printer. The output file 1is identified as DIRECT.LOG. If you specify /PRINTER, you cannot specify /OUTPUT. Examples l. $ DIRECTORY The DIRECTORY command disk and directory. $ DIRECTORY The lists all files in the current default LOGIN.COMSX DIRECTORY command lists all versions of the file LOGIN.COM. $ NTRECTORY ALFPHATXT»RETAyGAMMA The DIRECTORY command lists the most recent versions of the files ALPHA.TXT, BETA.TXT, and GAMMA.TXT in the current default directory. B NIRECTORY/ZFULL/FPRINTER The DIRECTORY command prints a the current default directory. $ ONTRECTORY full listing of all files 1in QLR DEAZIIRIRMSLIE, The DIRECTORY command lists the highest versions of all files named RMSLIB.OLB in all first level (user file) directories on the disk DBA2. $ DIRECTORY L. TESTFILES Lists all files subdirectory file, default directory. The following in Figure 2. Disk notes are in the subdirectory TESTFILES. The TESTFILES.DIR, is cataloged in the current keyed to the sample DIRECTORY command listings and directory name Date and time the DIRECTORY command was File name, type, and File identification version number number in the of issued each file format: (file-number ,file-sequence-number) Number blocks of blocks allocated occupied by for the file 74 the file and the number of DIRECTORY File Date code. The Code Meaning (null) C L - and time code file file file the is one of the following: is noncontiguous is contiguous is locked file was created or User identification code of protection code associated with the the last modified file's file, in owner, and the format: the [group,member] [system,owner ,group,world] Summary of information, TOTAL OF in the in-use./allocated format: BLOCKS Date and time that this version of and the revision number 75 the IN XXXXX. file was FILES last revised, DIRECTORY ¢ DIRECTORY AVERAGE.X DIRECTORY DBA2:CMALCOLMIE)) 20-JUN-78 10311 AVERAG . COM7E1 @) AVERAGE .DAT s 1 AVERAGE .EXE$ 9 io 6 25-JaN-78 15:39 @) 45 . c AVERAGE .FOR3$2 2. 22-MAR-78 09327 19-AFR~78 09351 09:50 16127 16%27 10:28 AVERAGE .LIS32 e AVERAGE .OR.J3 9 2 19-AFR-78 12~JUN-78 12-JUN-78 AVERAGE . OUTs 1 1. 19-AFR-78 TOTAL OF 57./100. BLOCKS IN 7. FILESQ $ DIRECTORY AVERAGE .X/BRIEF DIRECTORY DEAZ:CMALCOLMI @) AVERAGE . COMs 1 AVERAGE JDATH 1 AVERAGE EXE$ 9 AVERAGE .FOR$ 2 AVERAGE LIS #2 AVERAGE « ORJF 9 AVERAGE .OUT 5 1 g DNIRECTORY AVERAGE «X/FULL NIRECTORY IIIHA:?:[IMALCULM.’JG 20~ JUN=-78 10:1.1.@ 1./5. @ Q- on-78 16:3w" 1.75., 19-AF R-78 10128(6.) 22-MAR~78 09:2 7 AVERAGE . COM3 1 @) (6334,120) @) AVERAGE + IIAT 5 1 (13123,34) AVERAGE + EXE 9 (22776124) AVERAGE o FOR$ 2 (227515 31) F122y11 CRWEDyRWEDy RWED, R [122,11 CRWED,RWEDsRWEDSRI £122y11 CRWEDsRWEDyRWED R [122,17 CRWENyRWEL RWED R £122v11 CRWEDNyRWELs RWED R £122,11 CRWED s RWEDy RWEL y K] 12211 [RUWEDyRWEDy RWEDyR] 4%, /770, C 19-AFR~78 275, 19-AFR~78 09:50 AVERAGE W L.IS352 (11323156) 5:75, 12~ JUN-78 16327 AVERAGE + DR.J5 9 (13051,71) 2.78, 12+ JUN~-78 16327 AVERAGE » OUT 3 1 (7026741) 1./75, 19-AFR-78 10:28 TOTAL OF S97./7100. BLOCKS IN 7. F'IL.ESO Figure 2 Sample Output of DIRECTORY Command 76 DISMOUNT Releases a volume previously accessed with a MOUNT command. Format DISMOUNT device—-name|:] Command Qualifiers Default / [NO] UNLOAD /UNLOAD Prompts Device: Command device-name Parameters device-name Specifies the name of specify a physical physical device and/or a unit respectively. the device to be dismounted. You can device name or a logical name assigned to a name. If you omit a controller designation number, they default to controller A, and unit 0, Description If the until volume all DISMOUNT was users command device. mounted who /SHARE, mounted deassigns the it is it not actually dismount it. logical name dismounted However, associated the with the If the device was allocated with an ALLOCATE command, it remains allocated after the volume is dismounted with the DISMOUNT command. If the device was implicitly allocated by the MOUNT command, the DISMOUNT command If the volume was mounted even if other users are SYSNAM user volumes, Note privileges deallocates /GROUP or currently are required respectively. that the and dismounting of a /SYSTEM, accessing to volume is done by files on the of the the volume issuing it it. dismount is not completed until all open closed. Thus, a substantial amount time you dismount. it. time can 1is dismounted The GRPNAM and group and system the file system volume pass have been between the 1issue the DISMOUNT command and the completion of the Always wait for the drive to unload before you remove (you can the SHOW DEVICES verify that command). 77 dismount has completed by DISMOUNT Command Qualifiers /UNLOAD /NOUNLOAD Controls whether the DISMOUNT command unloads the physical device on which the volume is mounted and makes the device not ready. use the By default, the DISMOUNT command unloads the device; a ready in volume and device the keep to /NOUNLOAD qualifier state. Examples 1. PAYUOL MT: % MOUNT # ODISMOUNT TARE < TAPE The MOUNT command mounts the tape whose volume identification and assigns the logical name is PAYVOL on the device MTAO: the volume is not shareable. default, By device. the to TAPE releases access to the volume, command DISMOUNT The deletes the logical name TAPE. and device, deallocates the 2. % MOUNT/SHARE DRAZ: DOC.FILES & BODISMOUNT DERA3ZE The MOUNT command mounts the volume labeled DOC_FILES on device DBA3. the Other users can issue MOUNT commands to access the device. The DISMOUNT command shown in this example deaccesses the device for the process issuing the command. If other users still have access to the volume, the volume remains mounted. 3. % NIKECTORY DMAZIEX] N no sueh files P UISMOUNT/NOUNLOAL DIMAZRS RACK.UP B INTTIALIZE DMAZ2: The DIRECTORY command ensures that no files remain on the RKO6/RK07 volume mounted on the device DMA2. The DISMOUNT dismounts the volume; the /NOUNLOAD qualifier requests that the volume remain in a ready state. Then, the INITIALIZE command reinitializes the volume. 78 DUMP Displays or prints the contents of a file or volume in ASCII, decimal, hexadecimal, or octal data format. Format DUMP file-spec Command Qualifiers Default /ASCII /HEXADECIMAL /BLOCKS=(START:n,END:m) /BYTE /DECIMAL /HEADER /HEXADECIMAL /LONGWORD /NUMBER [=n] /OCTAL /WORD /HEXADECIMAL /HEXADECIMAL /WORD /HEXADECIMAL /OUTPUT [=file~-spec] /OUTPUT=SYSSOUTPUT /PRINTER /RECORDS /WORD /WORD Prompts File: file-spec Command Parameters file-spec Specifies the file or volume whose contents are to be displayed. Description By default, the DUMP command formats its output in hexadecimal words. You can specify the precise format of the dump by including a radix qualifier (/ASCII, /OCTAL, /DECIMAL, or /HEXADECIMAL) and/or a length qualifier (/BYTE, /WORD, or /LONGWORD). The valid combinations of these qualifiers are: /BYTE/HEXADECIMAL /BYTE /OCTAL /WORD/DECIMAL /WORD/HEXADECIMAL /WORD/OCTAL /LONGWORD /HEXADECIMAL All other combinations Dumping Files: are invalid. When you dump files, you can request that the entire file be dumped, or you can specify the /BLOCKS qualifier to indicate a range of virtually contiguous blocks in the file to be dumped. The volume that contains the file must be mounted. 79 DUMP Dumping Volumes: When you dump volumes, the /BLOCKS qualifier is required; use it to specify a range of logically contiguous blocks to be dumped. (On a disk volume, blocks are 512 bytes long. On a tape volume, maximum block length The be volume to each record that DUMP dumped must is an individual can handle is allocated and be 2048 block; the bytes.) mounted with the the user /FOREIGN qualifier of the MOUNT command. You must have privilege LOG_IO to dump the contents of a volume. Command Qualifiers /ASCII Requests that the dump be interpreted as ASCII data. When you specify /ASCII, the DUMP command prints control characters with a circumflex or up-arrow (1) preceding them, and it prints lowercase uppercase If you letters with equivalents. specify /ASCII, a any percent other sign (%) and length radix preceding their qualifiers are invalid. /BLOCKS=(START:n,END:m) Specifies a range of logical block number blocks to be and m is the By default, the DUMP command file. The /BLOCKS qualifier contents of a volume. dumped, where n is the ending block number. prints the is required entire when you starting contents of a are dumping the /BYTE Requests If you the output specify /BYTE, /DECIMAL Requests If you that that you file be cannot formatted you bytes. specify /DECIMAL. the dump be printed specify /DECIMAL, in in decimal cannot format. specify /LONGWORD or /BYTE. /HEADER Requests file that header, the dump include the file header. To dump only the specify /BLOCKS=(END:0). /HEXADECIMAL Requests that the dump be printed /LONGWORD Requests that the dump be formatted If you specify /LONGWORD, /ASCII. you in hexadecimal in cannot format. longwords. specify /OCTAL, /DECIMAL, or /NUMBER [=n] Controls line numbers assigned to records as they are dumped. If you specify /NUMBER, records in each block are numbered beginning with 0. If you specify a value for n, that number is assigned to the first line in the file. By default, DUMP numbers all lines does not number lines according to 80 in the file consecutively, the blocks they are in. and DUMP /OCTAL Requests that the dump be printed If you specify /OCTAL, in octal format. you cannot specify /ASCII or /LONGWORD. /OUTPUT [=file-spec] Requests that the output listing from the DUMP command be written to the specified file or device. By default, the DUMP command displays the output on the current SYSSOUTPUT device. If you specify /OUTPUT and do not include a file specification, DUMP writes the output to a file with the same file name as the input file and a file type of DMP. /PRINTER Requests that output be queued to the system printer. By default, DUMP writes to the current SYSSOUTPUT device. If you specify /PRINTER, the DUMP command names the print job FILDMP.DMP. If you specify /PRINTER, you cannot specify /OUTPUT. /RECORDS Requests that the dump be printed a block at a time. Requests that the dump be If you specify /WORD, a formatted record at a time, rather than in words. you cannot specify /ASCII. Examples 1. % DUMF Dume ORION.EXE of DR1IC122001.SSTESTIORIONJEXEFL17 Virtuzal 3130 block 0038 0+000001 ~ File ID - size 312. 16379540 3230 0000 0000 0044 0028 007C 0000 0000 0000 0000 0000 0000 0000 0000 0101 0010 * * * * * + * * butes The DUMP command displays the contents of the image ORION.EXE in hexadecimal format, beginning with the first block in the file. 2. % DUMFP/ASCII/ZRECORDS ALPHA.TXT Dume of DR1:C122001.CLUGIALFHA.TXT#1 ~ File Record number 00. 000000 * ID 35767y60+0 butes YA YA YA LA YA T@ TR e e Te Tk Te e e TP e Record number 01, 000000 - size 5, - gsize 5. butes B B B ZR ZE "€ T@ T@ "@ "@ "e "e "e "e@ "e "e L] The DUMP command displays a record at a time. + . the contents of 81 the file ALPHA.TXT, ‘ EDIT Invokes one of e SOS ® SLP the following VAX/VMS editors: The SOS and SLP editors are described in detail in the VAX-1ll Text Editing Reference Manual. Format EDIT/editor file-spec Editors Default /SLP /S0s /S08 Command Qualifiers /OUTPUT=file-spec SLP Qualifiers /AUDIT_TRAIL=(POSITION:80 SIZE:8) / [NOJAUDIT_TRAIL[=options,...] /[NO]JLIST[=file-spec] / [NO] TAB / [NO] TRUNCATE [=position] ~ /NOLIST /NOTAB /NOTRUNCATE SOS Qualifiers / [NO]DECIDE / INO] EXACT / [NO] EXPERT /INCREMENT=n /ISAVE=n / [NO]LINE / [NO] LOWER /PLINES=n /[NO]READ_ONLY /SAVE=n /START=n /STEP=n /NODECIDE /NOEXACT /NOEXPERT /INCREMENT=100 /ISAVE=0 /LINE /LOWER /PLINES=16 /NOREAD_ONLY /SAVE=0 /START=100 /STEP=100 Prompts File: file-spec Command Parameters file-spec Specifies the file to be created or edited using the specified if you editor. Neither editor provides any default file types; do not The include a file type, file must be a disk it is null. file on a Files~1l1l 82 formatted volume. EDIT Command Qualifiers /OUTPUT=file-spec Defines the file _ specification of the output file created during the editing session, if any. If you do not specify /OUTPUT, the output file has the same file name and type as the input file, and a version number one higher than the highest existing version of /SLP the file. Invokes the source in batch language The EDIT/SLP command $ input program (SLP) to update a file mode. EDIT/SLP line has the format: file-spec where file-spec is the name of the file to be edited. Note that SLP does not prompt for input; after you issue the EDIT/SLP command, you can begin typing input for SLP. /S0S Invokes the default system editor, SOS. The command line has the format: $ EDIT file-spec where file-spec is the name of the file to be edited. The file specification cannot contain wild cards. 1If the file does not currently exist, it is created. SLP Qualifiers You can specify the following qualifiers when you use the EDIT/SLP command to invoke SLP. These qualifiers can be overridden in the SLP input file. For complete details on any of these qualifiers, see the VAX-11l Text Editing Reference Manual. /AUDIT_TRAIL[=options,...] /NOAUDIT,TRAIL Controls whether records in the output file from SLP contain an audit trail, and optionally defines the location of the audit trail. You can specify one or both of the following options: POSITION:n Define SIZE:n Define the number of characters in the audit by default, the audit trail is 8 characters. If you record the starting character position of the audit trail; by default, the audit trail is placed in column 80. If you specify this option, SLP rounds the value, n, to the next highest tab stop. specify /NOAUDIT_TRAIL, of changes. the output file does not trail; contain a /LIST[=file-spec] /NOLIST Controls whether SLP creates a line-numbered listing of a file. Use /LIST when you want a listing of lines in sequential order. If you do not specify a file specification, SLP uses the same file name as the input file and a file type of LST. If you enter a file specification that does not include a file type, SLP uses the default file type of LST. 83 EDIT /TAB /NOTAB Controls whether SLP places blank character spaces or tabs at the end of each record containing an audit trail. /NOTAB 1is the default; SLP inserts spaces at the end of each record that contains an audit trail. /TRUNCATE [=position] /NOTRUNCATE Requests SLP to truncate each record in the input file at a specified column when it creates the output file. This qualifier allows you to delete an audit trail from a file previously updated with SLP. If you do not specify a position with the /TRUNCATE qualifier, SLP truncates input records at the beginning position of the audit trail. SOS Qualifiers You can specify the following qualifiers when you command to invoke SOS. use the EDIT The settings defined by some of these qualifiers can be overridden during the SOS session. For complete details on these qualifiers, see the VAX-1ll Text Editing Reference Manual. /DECIDE /NODECIDE Controls whether SOS automatically enters Decide each Substitute command. mode following /EXACT /NOEXACT Controls whether SOS matches character strings in Find and Substitute commands exactly or treats uppercase and lowercase letters as equivalent. /EXPERT /NOEXPERT Controls whether SOS displays the long form of error requests confirmation of deletions, or displays informational messages during the terminal session. /INCREMENT=n Specifies the line number increment you want SOS to default when you insert new lines in the file. /ISAVE=n Requests SOS to issue a Save World command every n new lines of text that you input. /LINE /NOLINE messages, use automatically various as the after Indicates whether SOS should use the existing line numbers when you edit a file, or should renumber the lines when it opens the file for editing. By default, SOS uses the current line numbers in the file. 84 EDIT /LOWER /NOLOWER Indicates whether SOS should accept all lowercase letters as they to 1letters lowercase all translate should or entered are The letters. lowercase accepts SOS By default, uppercase. /JLOWER qualifier has no effect on data that already exists in a file. /PLINES=n Specifies the number of lines that SOS prints each time you issue the Print command. /READ_ONLY /NOREAD_ONLY Controls whether SOS opens the input file for reading and writing By default, SOS opens files for reading and or only for reading. writing. /SAVE=n Requests SOS to automatically issue a Save every n SOS commands that change text. World command after /START=n Specifies the line number you want to assign to the first line in the file and to each new page in the file. This value also controls the line number increment SOS uses when you issue the reNumber command. /STEP=n Specifies the line number increment existing to numbers 1line assigns numbers. for SOS to use when it files that do not have line ' Examples 1. % EDIT/Z0UTFUT=TEST.FOR ACCOUNT ., FOR/FLINES=10 The EDIT command invokes the default editor, S0OS, to edit the file ACCOUNT.FOR. The /PLINES qualifier sets the default number of lines to print with each Print command during the editing session. When the edit session is terminated, changes are written into the file TEST.FOR. 2. $ EDIT/SLP the AVERAGE.FOR - / $ The command procedure illustrated uses the EDIT/SLP command; all input 1lines for the SLP editor following the command in the input stream, terminated by the slash character (/). 85 EOD Signals the end of a data stream when a command or program is reading data from an input device other than an interactive terminal. This command is required only if the DECK command preceded input data 1in the command -stream, or if multiple input files are contained in the command stream without intervening commands. The program or command reading the data receives an end-of-file condition when the EOD command is read. ~ The EOD command must be preceded by a $; the § must be character position (column 1) of the input record. in the first Format EOD Command Qualifiers None. Prompts None. Command Parameters None. Example 1. SPRINT TESTDATA OUT ey second input data file . —— _—T-———T ) e SEOD first input data file. — W (’SRUNMYPROG {,SPASSWORDlflENRY (5 JOB HIGGINS The program MYPROG requires two input files; these are read from the logical device SYSSINPUT. The EOD command signals the end of the first data file and the beginning of the second. The next 1line that begins with a dollar sign (a PRINT command in this example) signals the end of the second data file. For additional examples, see the discussion of 86 the DECK command. EOJ Marks the end of a batch job submitted through the system card reader. The first non-blank character in the command line must be a dollar sign ($). The EOJ command performs the same functions as the LOGOUT command. Format EOJ Command Qualifiers None. Prompts None. Example 1. command mput stream /s PASSWORD HENRY /S JOB HIGGINS The JOB and PASSWORD job submitted through the end of the job. commands the card 87 mark the reader; beginning of a the EOJ command batch marks EXAMINE Displays the contents of virtual memory at the terminal. You can truncate the EXAMINE command to a single letter, E. Format EXAMINE location[:location] Command Qualifiers /ASCII /BYTE /DECIMAL /HEXADECIMAL /LONGWORD /OCTAL /WORD Prompts None. Command Parameters location[:location] Specifies a virtual address or a range of virtual addresses whose contents you want to examine. If you specify a range of addresses, separate them with a colon (:); the second address must be larger than the first. You can specify locations using any valid arithmetic expression that contains arithmetic or 1logical operators or symbol names which have been previously given values with DCL assignment statements. The DEPOSIT and EXAMINE commands maintain a pointer to the current memory location. The EXAMINE command sets this pointer EXAMINE an specify you when examined 1location 1last to the command. You can refer to this location using the symbol "." in a subsequent EXAMINE or DEPOSIT command. Description When the EXAMINE command is executed, memory address in hexadecimal and requested as follows: address: virtual the displays it the contents in the radix contents If the address specified 1is not accessible to asterisks (****) are displayed in the contents field. 88 user mode, EXAMINE Radix Qualifiers: The radix default for a DEPOSIT or EXAMINE command determines how the commands interpret numeric literals, for example 256. The initial default radix is hexadecimal; all numeric literals in the command 1line are assumed to be hexadecimal values. If a radix qualifier modifies an EXAMINE command, that radix becomes the default for subsequent EXAMINE and DEPOSIT commands, until another qualifier overrides it. For example: P OEXAMINEZDECIMAL Q0003842 9200 05HA43BP421 The EXAMINE command interprets the 1location 900 as a decimal number and displays the contents of that location in decimal. All subsequent DEPOSIT and EXAMINE commands assume that numbers you enter EXAMINE for addresses and always displays command data are the hexadecimal. Symbol always Note names defined by = interpreted in the decimal. Note address location in commands defined. are (Assignment Statement) radix in which they were that the that hexadecimal values entered as examine locations or as to be deposited must begin with a numeric character (0 through 9). Otherwise, the command interpreter assumes that you have entered a symbol name and attempts symbol substitution. data You can use the current default radix when operators you FOEXAMINE /DECIMAL QOQQOY0O0NL This command location %X, the %D, or EXAMINE %0 to override command, for of data the example: %X900 321446536 requests specified Length Qualifiers: EXAMINE command is one enter longword length default at a qualifier length of DEPOSIT comm?nds, a decimal display as hexadecimal the 900. in the The initial default 1length unit for the longword. The EXAMINE command displays data time, with blanks between longwords. If a a modifies the command, that length becomes a memory location for subsequent EXAMINE until another qualifier overrides the and it. Restriction on Placement of Qualifiers: The EXAMINE command analyzes expressions arithmetically. Therefore, qualifiers (which must be preceded by /) are interpreted correctly only when they appear immediately after the command name. Command Qualifiers /ASCII Requests that the data at the specified location ASCII. be displayed in Binary values that do not have ASCII equivalents are displayed as periods When (.). you specify hexadecimal becomes /ASCII, or the default ASCII radix mode for is numeric the default, literals. /BYTE Requests byte at that a data at the specified time. 89 1location be displayed one EXAMINE /DECIMAL Requests that the contents of the specified location be displayed in decimal. /HEXADECIMAL Requests that the contents of the specified location be displayed in hexadecimal. /LONGWORD location Requests that data at the specified be displayed one longword at a time. /OCTAL Requests that the contents of the specified location be displayed in octal. /WORD location Requests that data at the specified be displayed one word at a time. Examples 1. 4 RUN MYFROG =y Y & EXAMINE D002E67HY % 2678 LFACH02S CONTINUE While The RUN command begins execution of the image MYPROG. MYPROG 1is running, CTRL/Y interrupts its execution, and the EXAMINE command requests a display of the contents of virtual memory location hexadecimal 2678. 2, $ BASE = ZX1C00 $ REANRUF = RASE + %X350 ko f ENDRUF = BASBE TEST RUN + ZXA0 oy $ EXAMINE/ASCTT QONO1ES08 READEUF CENDERUF BEGINNING OF FILE MAFFED TO GLORAL SECTION ® Before executing the program MYPROG, symbolic names are defined for the program's base address, and for labels READBUF and ENDBUF; all are expressed in hexadecimal using READBUF and ENDBUF define offsets the radix operator 2%X. from the program base. While the program is executing, CTRL/Y interrupts it and the EXAMINE command requests a display in ASCII of all data between the specified memory locations. 90 EXIT Terminates processing of control executed from within calling procedure. command procedure was returns to the the current command procedure. If the another command procedure, reserved global symbol S$STATUS. Format EXIT [status—-code] Command Qualifiers None. Prompts None. Command Parameters status-code Defines a numeric The value can low—-order three value of the value be of the the by bits of the reserved global If you do not specify is not changed and status for tested most the next outer longword integer symbol level. The value change the $SEVERITY. a status code, the control returns to recently command executed current value of S$STATUS the outer level with the command or program. Description When a command command 1level, $STATUS to procedure the locate the value, 1if produce warning, numeric values or informational EXIT command to and display determine with The command EXIT control interpreter uses the to the system message the interactive current value of associated with any. Note that even numeric values generally error, and fatal error messages and that odd generally produce either no message oOor a success message. Example 4, below, shows how to use the associated interactive returns command a the hexadecimal command performs message status no and symbolic error name at the code. operation level. if issued Examples 1. | $ ON WARNING $ FORTRAN $ THEN 'P1l' EXIT LINK 'P1° $ RUN 'P1° The EXIT command is used as the this statement ensures that the whenever any warnings the procedure. The procedure program that or exits with caused the errors the target of an ON command; command procedure terminates are issued by any command 1in status termination. 91 value of the command or EXIT $ @SUBTEST $ IF $STATUS .EQ. 7 THEN GOTO PROCESS $ EXIT S PROCESS: named procedure, second a executes procedure This e procedur outer the s, complete COM SUBTEST. When SUBTEST.COM. tests the value of the symbol $STATUS which may be set by SUBTEST as follows: S PATHl: $ ERIT 7 $ PATH2: $ EXIT 9 $ IF Pl.EQS."" THEN - $ IF Pl.EQS."" THEN EXIT INQUIRE Pl "Enter File-spec (null to exit)" $ PRINT 'PI'/AFTER=20:00/COPIES=50/FORMS=6 A command procedure tests whether a parameter was passed to if not, it prompts for the required parameter. Then it it; retests the parameter Pl. If a null string, indicated by a carriage return for a line with no data, is entered, the procedure exits. Otherwise, it executes the PRINT command with the current value of Pl as the input parameter. $ IF P1.EQS."" THEN INQUIRE Pl "Code" $ CODE = %X'Pl' $ EXIT 'CODE' This short command.procedure illustrates how to determine the system message, if any, associated with a hexadecimal system status code. The procedure requires a parameter and prompts Then, it prefixes the value with the if none 1is entered. radix operator %X and assigns this string to the symbol CODE. Finally, value. it issues For example: $ @ EXIT the command with the hexadecimal L0 wEVOTEM-F-EXAU0TA, exceeded auota When the procedure exits, the value of S$STATUS is "X1C, which causes the EXQUOTA message. 92 FORTRAN Invokes the VAX-11 FORTRAN source programs. This FORTRAN IV-PLUS User's IV-PLUs 1 compiler command is to compile described in Guide. one detail in or the more VAX-11 Format FORTRAN file-spec,... Command Qualifiers Default None. File Qualifiers / [NO]CHECK [=option,...] /CONTINUATIONS=n /[NO]DEBUG[=option] /CHECK=OVERFLOW /CONTINUATIONS=19 /DEBUG=TRACEBACK /[NO]14 /[NOJLIST[=file-spec] /[NO]MACHINE_CODE / [NO]OBJECT [=file-spec] /14 / [NO]1D_LINES /NOD_LINES /NOMACHINE_CODE / [NO]JOPTIMIZE /OPTIMIZE / [NO]WARNINGS /WORK_FILES=n /WARNINGS /WORK_FILES=2 Prompts File: file-spec,... Command Parameters file~-spec,... Specifies one you do file type of You file can not or more FOR. specify more specifications separately. FORTRAN specify If you programs to file type, the than one input file. 1If (,), each ‘ with commas separate the signs (+), the files input file, producing specified, one listing. 1 source a file compiler 93 compiled. uses you the is 1If default separate file specifications are concatenated and one object module Available under separate license be the compiled with plus compiled as a single and, if /LIST is FORTRAN File Qualifiers /CHECK [=option,...] /NOCHECK Controls whether the compiler produces extra code to check for program correctness at run time. You can request the following options: Produce code to check that all array references are to addresses within the address boundaries specified BOUNDS in the array declaration. Enable OVERFLOW integer Fixed-point traps. overflow calculations involving BYTE, INTEGER*2, and INTEGER*4 data types are checked for arithmetic overflow. Note that /CHECK=NONE is ALL Provide both BOUNDS and OVERFLOW checks. NONE Provide /CHECK=ALL is equivalent to /CHECK. no checking. equivalent to /NOCHECK. that Note By default, the compiler produces code to check only for overflow integer traps. If you specify either /CHECK=BOUNDS or /CHECK=OVERFLOW, the other is implicitly canceled. /CONTINUATIONS=n Specifies permitted. the maximum number of continuation lines to be The number of lines, n, is a decimal number from O through 99. By default, the compiler accepts a maximum of 19 continuation lines. /DEBUG [=option] /NODEBUG Controls whether the compiler makes local symbol table and traceback information available to the debugger and the run time error reporting mechanism. You can request the following options: SYMBOLS Provide the debugger with local symbol definitions for user-defined variables, arrays, labels on executable statements, and compiler-generated line numbers. TRACEBACK Provide compiler-generated line ALL Provide both numbers so that the debugger and the run-time error traceback into routine can translate virtual addresses numbers. line and names ine subrout source program information. local Note symbol table and traceback that /DEBUG=ALL is equivalent to /DEBUG. NONE Do not provide either traceback information. equivalent to /NODEBUG. 94 local symbol table or Note that /DEBUG=NONE is FORTRAN By default, the compiler produces only an address correlation table. If you other specify item is either /DEBUG=SYMBOLS or /DEBUG=TRACEBACK, the implicitly canceled. For details on how Symbolic Debugger, to debug a FORTRAN program with the VAX-11 see the VAX-11 FORTRAN IV-PLUS User's Guide. /D_LINES /NOD_LINES Indicates whether the compiler reads and compiles lines that have a D in column 1 of the source program. If you specify /D_LINES, lines that have a D in column 1 are compiled. By default, the compiler assumes that lines are comments and does not compile them. beginning with a D /14 /NOI4 Controls how the compiler interprets INTEGER declarations that do not specify a length. If you the compiler respectively. By default, INTEGER*4 and interprets these the compiler LOGICAL*4. as INTEGER*2 interprets these and LOGICAL specify /NOI4, and LOGICAL*2, declarations as /LIST=[file~spec] /NOLIST Controls whether a listing file is produced. If the FORTRAN command is executed from interactive mode, the compiler, by default, does not create a listing file. TIf the FORTRAN command 1is executed from batch mode, /LIST is the default; the compiler gives a listing file the same file name as the first input source file and a file type of LIS. When you specify /LIST, you can control the defaults applied to the output file specification by the placement of the qualifier in the command, as described 1in Section 6.3.3, "Rules for Entering Output File Qualifiers." The output file type always defaults to LIS. /MACHINE_CODE /NOMACHINE_CODE Controls whether the the machine language listing produced by the compiler code generated by the compiler. includes By in default, the compiler does not include machine language the listing. The /MACHINE_CODE qualifier is ignored if is not specified, either explicitly or code /LIST by default. /OBJECT [=file~spec] /NOOBJECT Controls whether the compiler produces an output object module. By default, the compiler produces an object module that has the same file name as the input source file and a file type of OBJ. When you specify /OBJECT, you can control the defaults applied to the output file specification by the placement of the qualifier in the command, Entering Output defaults to OBJ. as described 1in File Qualifiers." 95 Section 6.3.3, The output file "Rules for type always FORTRAN /OPTIMIZE /NOOPTIMIZE Controls whether the compiler optimizes the compiled program generate more efficient code. to 1link Use /NOOPTIMIZE in conjunction with the /DEBUG qualifier to debugger so that variables always the FORTRAN program with a contain their updated values. /WARNINGS /NOWARNINGS Controls whether the compiler produces warning conditions. Use /NOWARNINGS to override the compiler issue warning diagnostic messages. diagnostic default, messages which /WORK_FILES=n Specifies the number of work files that the compiler during compilation. 1is should for to use You can specify 1, 2, or 3. By default, the compiler uses two Increasing the number of work files enables larger files. work the of speed the but may decrease programs to be compiled, compilation. Examples 1. & FORTRAN SCANLINE The FORTRAN command compiles the program SCANLINE.FOR and If this command is an object module SCANLINE.OBJ. produces executed in a batch job, the compiler also creates a 1listing file 2. named SCANLINE.LIS. F FORTRAN A+RBZLISTy CHO/LIST=ALL/O0RJECT=ALL For This FORTRAN command requests two separate compilations. compilation, the FORTRAN command concatenates the first the files A.FOR and B.FOR to produce an object module named A.OBJ and a listing file named B.LIS. For the second compilation, the FORTRAN command concatenates the files C.FOR and D.FOR and compiles them to produce an object module named ALL.OBJ and a listing named ALL.LIS. 3. % FORTRANZNOOFTIMIZEZNERUG $ LINKARDEBUG DEEGy DRGSHCAN Voradion COERIG-T-TMITTIALy Lo SCAN/ORJECT=DRGESCAN 1.0 lamnguade is FORTRAN: score and module set “HCANS [k The FORTRAN command compiles the source program SCAN with the symbol table information and the both including debugger, that requests the /OBJECT qualifier traceback information; The LINK command links object module be named DBGSCAN. the the debugger with the object module and the RUN command When the debugger prompts, you can begin executes the image. entering DEBUG commands. 96 GOTO Transfers control to a labeled statement in a command procedure. Format GOTO label Command Qualifiers: None. Prompts Label: Command label Parameters label Specifies a 1- to 255-alphanumeric character label appearing as the first item on a command 1line. When the GOTO command is executed, control passes to the command following the specified label. The label can precede or command procedure. It may not contain embedded follow the GOTO statement in the must be terminated with a colon blanks. current (:) and Description Use the GOTO command in command procedures to transfer control to a line that 1is not the next 1line in the procedure. If the command stream is not being read from a random access device (that is, a disk device), the GOTO command performs no operation. The cbmmand interpreter does not check for duplicate labels. following rules apply: The e If duplicate labels precede and follow the GOTO command, control is given to the label preceding the command. e If duplicate labels all precede the GOTO command, is given to the most recent 1label, that is, nearest the GOTO command. control the one e If is control duplicate labels given to the one If a label does not exist procedure cannot continue all follow the GOTO command, nearest the GOTO command. in the and is 97 current command forced to exit. procedure, the GOTO 1. $ $ IF Pl1.EQS."HELP" THEN GOTO TELL IF P1.EQS."" THEN GOTO TELL »»nwn Examples EXIT TELL: TYPE SYSSINPUT The IF command checks the first parameter passed to the command procedure; if this parameter is the string HELP or is not specified, the GOTO command is executed, and control is passed to the line labeled TELL. Otherwise, the procedure continues executing until the EXIT commmand 1is encountered. At the label TELL, a TYPE command displays data in the input stream that documents how to use the procedure. $ ON ERROR THEN GOTO CHECK $ GOTO END $ CHECK: S END: $ EXIT The ON command establishes an error handling routine. 1If any command or procedure subseguently executed in the command procedure returns an error or severe error return, the GOTO command transfers control to the label CHECK. 98 HELP Displays on the terminal information available in the system HELP files. Format HELP [keyword [keyword]l...] Command Qualifiers None. Prompts None. Command Parameters keyword [keyword]... Specifies one or more keywords that indicate what information you Information is located in a hierarchical manner, depending want. on the level of information required. The levels are: l. <NULL> - describes the HELP command, and lists keywords you can specify to obtain information about commands and programs that are documented. Each item in this list is a keyword 1in the second level of the hierarchy. Most keywords are names of DCL commands, but other information 1is provided. For example, the keyword SPECIFY 1is at the first 1level of a hierarchy of information. Command-name or program-name describes the command function and format and 1lists additional information available. This list of information provides keywords for the next level. Command name or program-name followed by a specific item provides descriptions of command parameters, or particular keywords or qualifiers. If you specify a wild command displays HELP card in the place of any parameter, the all information available at that level. 99 HELP Examples 1. % HELF ASSIGN The HELP command displays an abstract of the ASSIGN command format, and lists the keyword options you can its function, type to obtain more information. % HELF ASSIGN PARAMETERS The HELP command displays a description of the parameters for the ASSIGN command. $ HELF SFECIFY LEXICAL FUNCTIONS The HELP command lists the lexical command functions. $ MELF PRINT Z6FTER The HELP command lists the information /AFTER qualifier of the PRINT command. % HELF SUBMIT available about the X SUBMIT the about information displays command HELP The command available at the second 1level, that 1is, the of information that would be displayed if you specified each the keywords listed when you issued HELP SUBMIT. HELF SET TERMINAL The HELP command lists information about the TERMINAL keyword option of the SET command. 100 IF Tests the value of an expression and executes a command if the test is true. Any arithmetic or logical expression is considered true if the result of the expression is an odd numeric value; an expression is false if the result is an even-value. Format IF expression THEN [$] command Command Qualifiers None. Prompts None. Command Parameters expression , Defines the test to be performed. The expression can consist of one or more numeric constants, string literals, or symbolic names separated by logical, arithmetic, or string operators. The logical, arithmetic, and string operators are 1listed below. Combinations of operations are evaluated in the order of precedence indicated, where 1 is the lowest precedence and 6 is the highest. You can use parentheses to group items in an expression to override the order in which operations are evaluated. Operator .OR. .AND. .NOT. .EQ. Precedence 1 2 3 Operation Logical Logical Logical sum product complement Arithmetic equal to .GE. 4 4 Arithmetic greater than .GT. 4 Arithmetic greater than .LE. 4 Arithmetic LT, .NE. .EQS. .GES. .GTS. .LES. 4 4 4 4 4 4 less than or equal to Arithmetic less than Arithmetic not equal to String equal to String greater than or equal to String greater than String less than or equal to .LTS. .NES. 4 4 String String + 5 Arithmetic - 5 Arithmetic difference * / 6 6 Arithmetic Arithmetic product quotient For further specifying less than not equal or equal to sum details on the syntax requirements and valid expressions, see Section 6.6 "Rules for Expressions." 101 to ways of Forming IF command Defines the action to take if the result of the expression |is true. You can specify any valid DCL command following the keyword THEN. Optionally, you can precede the command with a dollar sign. Examples 1. | $ COUNT = 0 $ LOOP: $ COUNT = COUNT + 1 $ IF COUNT.LE.10 THEN GOTO LOOP $ EXIT This example shows how to establish a 1loop in a command procedure using a symbol named COUNT and an IF statement that checks the value of COUNT and performs an EXIT command when the value of COUNT is greater than 10. $ IF P1l.EQS."" THEN GOTO DEFAULT $ IF P1.EQS."A" .OR. Pl.EQS."B" THEN GOTO 'P1l' $ WRITE SYSSOUTPUT "Unrecognized parameter option $ EXIT $ A: ! Process option a $ EXIT $ B: ! " Process option b $ EXIT $ ''Pl' DEFAULT: ! Default processing $ EXIT This example shows a command procedure that tests whether a parameter was passed; if not, the IF statement assigns a value to Pl to provide a default processing option. The GOTO command passes control to the 1label specified as the parameter. If the procedure is uses that parameter example: @TESTCOM executed with a parameter, the procedure to determine the label to branch to. For A When the procedure executes, it determines that Pl null, and branches to the 1label A. Note that command causes an exit from the procedure before the 102 1is not the EXIT label B, IF - $ SET NOON LINK CYGNUS,DRACO,SERVICE/LIBRARY IF .NOT.$STATUS THEN EXIT RUN CYGNUS A command procedure uses the SET NOON command to disable error checking by the command procedure. Then, the IF command is used following the execution of a LINK command to test the value of the LINK command returns procedure exits. reserved global symbol an error 103 status $STATUS. value, the 1If the command INITIALIZE Formats and writes a label on a mass storage volume. Format INITIALIZE device~-name|[:] volume~label Command Qualifiersl Default /OWNER_UIC=uic /PROTECTION=code Qualifiers for Tapes /DENSITY=n /OVERRIDE=options,... Qualifiers for Disks /ACCESSED=n /BADBLOCKS=list /ACCESSED=3 /L .USTER_SIZE=n /DATA_CHECK[=options,...] /DIRECTORIES=n /EXTENSION=n /DIRECTORIES=16 /EXTENSION=5 /FILE~PROTECTION=code /GROUP /HEADERS=n /INDEX=position /HEADERS=16 /INDEX=MIDDLE /MAXIMUM_FILES=n / [NO] SHARE /STRUCTURE=level /SHARE /STRUCTURE=2 /SYSTEM /USER_NAME=string / [NO]VERIFIED /VERIFIED /WINDOWS=7 /WINDOWS=n Prompts Device: device-name Label: volume-label Command Parameters device-name Specifies the name of the initialized device is physically mounted. on which The device does not have to be currently this is the recommended practice. 1 to the volume allocated; Por convenience, qualifiers that are applicable only to tapes are listed separately. alphabetical order, however. to be however, disks and All qualifier descriptions appear in 104 INITIALIZE volume-label Specifies the identification to be encoded on the volume. For a disk wvolume, you can specify a maximum of 12 alphanumeric characters; for a tape volume, you can specify a maximum of 6 alphanumeric characters. Description The default format for disk volumes in the VAX/VMS operating system is called the Files~11l Structure Level 2. The default for tape volumes is ANSI standard labels, ANSI X3.27-1977, level 3. The INITIALIZE command Files~1ll Structure Level 1 can also format. initialize volumes 1in the 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, the protection code on the volume must allow you write access, or you must have the user privilege to override volume protection (VOLPRO) . For examples of initializing and using Chapter 3, "Disk and Tape Volumes." disks Many allow of the INITIALIZE parameters that information on command can qualifiers maximize these parameters, Record Management Reference Manual. Services and input/output see the VAX-1ll and tapes, you to Record specify efficiency. Introduction to Management see For VAX-11 Services Command Qualifiers /ACCESSED=n Specifies, maintained for disk volumes, the number of in system space for ready access. directories to be The wuser privilege OPER 1is required to use the /ACCESSED qualifier. Legal values for n are 0 through 255. TIf /ACCESSED is not specified, the INITIALIZE command uses the default value of 3. /BADBLOCKS=list Specifies, for disk volumes, specific areas are faulty. The INITIALIZE command marks so that no data will be written in them. on the the areas volume that as allocated You can specify one or more areas, using either or both of the formats shown below. If you specify more than one area, separate the specifications with commas and enclose the list in parentheses. lbn[:count] Specify a logical block number on the disk volume, be marked and optionally a count of logical blocks beginning with the logical allocated block specified, to sector.track.cyl[:count] Specify 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 105 INITIALIZE Use of this qualifier is device-dependent. It is not required for RK06/7 or RMO3 disks; nor is it required for disks that have been scanned for bad block data with the BAD utility program. For information on how to Operator's Guide. run the BAD utility, see the VAX/VMS /CLUSTER_SIZE=n Defines, for disk volumes, the minimum allocation wunit, in blocks. The maximum size you can specify for a volume is 1/100 the size of the volume; the minimum size you can specify 1is calculated with the formula: disk size 255%4096 If not specified, default values: the Device Default RKO6 RKO7 RMO3 RP04/5 RPO6 2 4 6 6 11 The default value of INITIALIZE structure level command 1 disks uses the following is always 1. /DATA_CHECK [=options,...] Defines a default for data check operations following all reads and/or writes to the volume. You can specify either or both of the following options: READ Perform checks following all read operations WRITE Perform checks following all write operations If you specify /DATA_CHECK without specifying an option, the system assumes /DATA_ CHECK=WRITE. If you do not specify /DATA_CHECK, the system performs no checking; this is the default. You can override the checking you specify at initialization for disks when you issue a MOUNT command to mount the volume. /DENSITY=n Specifies, for tape volumes, the density in bits per inch (bpi) at which the tape is to be written. You can specify a density of either 800 or 1600. If you do not specify a density for a blank tape, the system uses a default density of 1600. If you do not specify a density for a tape that was previously written, the system uses the density at which the tape was last written. /DIRECTORIES=n Specifies, for user for disk volumes, directories. the number of entries to preallocate The legal values are in the range of 16 through 16000; if you do not specify a value, the INITIALIZE command uses the default value of 16. 106 INITIALIZE /EXTENSION=n Specifies, for disk volumes, the number of blocks to use as a default extension size for all files on the volume. The extension default is used when a file increases to a size greater than its initial default allocation during an update. You can specify a value in do not specify a default uses a value of 5. the range of 0 through 65535; extension size, the INITIALIZE /FILE_PROTECTION=code / Defines, for disk volumes, the default protection to all files on the volume. to be if you command applied Specify the code according to specifying protection. (These the standard syntax rules for rules are given in the discussion of the SET PROTECTION command.) Any attributes not specified are taken from the current default protection. Note that this attribute is not used when the volume 1is being used on a VAX/VMS system, but is provided to control the use of the volume on RSX-11lM systems. VAX/VMS always uses the default file protection; the protection can be changed with the SET PROTECTION/DEFAULT command. /GROUP Defines a disk volume volume defaults to command and a member as a group volume. the group number number of 0. This qualifier defines the system, owner and group. /HEADERS=n Specifies, /INDEX=position Requests, for directory volume. You can disk specify command volumes, structure one be of number file allocates that the placed in the of following index a 16 file headers for the be INITIALIZE the RWED you the the volumes, as to default, disk protection the the allocated 1initially for the index file. The minimum value can specify is 16; the maximum value is the value set with /MAXIMUM_FILES qualifier. By for volume The owner UIC of of the user issuing file for specific headers. the Place the index file at the beginning of MIDDLE Place the index file in the middle of the END Place the index file at the end the BLOCK:n Place the index file at the beginning block specified By default, of the the INITIALIZE command volume. 107 the options: BEGINNING middle volume's location on places of the the volume volume volume of index the file 1logical- in the INITIALIZE /MAXIMUM FILES=n Restricts, for disk volumes, the maximum number of files that the volume can contain, overriding the default value. The defaults are: Default File Maximum Device 4000 8000 RKO6 RKO7 15000 25000 RP04/RPO05S RP0O6 15000 123 RMO3 Floppy is volume The maximum size you can specify for any size, in blocks, divided by (cluster factor plus 1); volume the the minimum value is 0. Note, however, that you should specify a 1low file Once set, the maximum maximum only after careful consideration. can only be increased by re-initializing the volume. /OVERRIDE=options,... volume tape Requests the INITIALIZE command to ignore data on a You can specify one or that protects it from being overwritten. both of the following options: (the volume the Override the expiration date on by the expiration date of the indicated 1is date EXPIRATION first file on the volume) Override a non-blank accessibility ACCESSIBILITY VOL1 or VAX/VMS, HDR1 but 1label may be (this field set field the set by operating other by in is never systems) user the have or volume tape the of You must be the owner (VOLPRO) in order to volume protection to override privilege initialize a tape that has not reached its expiration date or has a non-blank accessibility field. /OWNER_UIC=uic Specifies the user identification code to be in the ownership assigned of the volume and of system files on the volume. Specify the UIC format: , [g,m] g m the is an octal number in range 0 through 377 representing is an octal number in the range 0 through 377 representing UIC is group number. the member number. The brackets are required. If you do not specify /OWNER _UIC, your current ownership of the volume. 108 assigned INITIALIZE /PROTECTION=code Specifies the protection protection on the controls who volume. If to be can read, you do not protection defaults to all Note that the /GROUP, /SHARE, used to define protection for When you access The PROTECTION no access. E (execute) system only respect to applies tapes; Any code indicates read a protection code, the standard syntax rules for rules are given in the discussion command.) specify a protection type specify The files access to all categories of user. and /SYSTEM qualifiers can also be disk volumes. Specify the code according to specifying protection. (These of the SET default to applied to the volume. write, create, and delete and create attributes for an create write and entire specified disk volume, access. access delete Moreover, the system and the owner are write access to tapes, regardless protection code. not restrictions access are with meaningless. always given both read and of what vyou specify in a /SHARE /NOSHARE Controls whether a disk volume is shareable. The protection code for the volume defaults to all types of access for all categories of user. If you specify /NOSHARE, the protection code defaults to no access for group and world. /STRUCTURE=level Specifies, formatted disk If for in volumes you disk Files-11 are are volumes, whether Structure Level formatted specify qualifiers , in allowed. structure level 1 disk is all and group, and read access to /SYSTEM Defines a disk volume volume defaults to types of access Files-11 /STRUCTURE=l, not to the No user privilege is however, only users the 1 or Structure the /CLUSTER The default to all should 2. By level and be default, 2. ! /DATA_CHECK protection types of access to all other users. as a system volume. [1,1] and default volume volume level system, The owner protection for a owner, UIC of provides the all users. required to use with system UICs the /SYSTEM qualifier; can create directories on system volumes. /USER_NAME=string Specifies, for to be command disk recorded on uses the volumes, a user name of up to the volume. 1If not specified, user name under which you logged 12 the characters INITIALIZE in. /VERIFIED /NOVERIFIED Indicates, for disk volumes, whether the disk has bad block data on it. /VERIFIED is the default; the INITIALIZE command assumes that disks contain bad block data and uses the data to mark the bad blocks as allocated. to ignore bad block data on Use /NOVERIFIED the disk. 109 to request INITIALIZE INITIALIZE /WINDOWS=n Specifies, for disk volumes, the number of mapping pointers to be allocated for file windows. When a file is opened, the file You system uses the mapping pointers to access data in the file. specify a value in the range of 7 through 80. The default can number of pointers is 7. Examples l. $ ALLOCATE DMAZE TEMP LIMAZ2E ALLOCATED $ MOUNT TEMF $ $ CREATE/DIRECTORY TEMPILARCHIED] COPY X.% TEMPILARCHIE $ BACK.UP.FILE TEMP INITIALIZE BACK.UP.LFILE T RACK.UF_.FILE mourted on _DMAZZ T -MOUNTEDy UMOUN an initialize to how The above sequence of commands shows RK06/7 volume for backup. First,.the device is allocated, to ensure that no one else can access it. Then, when the volume is physically mounted on the device, the INITIALIZE command initializes it. When the volume is 1initialized, the MOUNT Before you can the file structure available. command makes a directory, place any files on the volume, you must create as shown in the CREATE command example. Finally, the COPY command copies the highest existing versions of files on the default disk to the backup disk. % ALLOCATE MT: aALLOCATED AMTRLY $ INITIALIZE i MOUNT MTRL: MTRLS UMOUNT =T -MDUNTEDy $ COPY ¥.FOR $ DIRECTORY $ DTSMOUNT SOURCE SOURCE SOURCE mownted on MTEILZ MTRLE MTRILG 13 MTRI These commands show the procedure necessary to initialize a tape. After allocating a drive, the tape is loaded on the device and the INITIALIZE command writes the label SOURCE it. Then, the can be written on on MOUNT command mounts the tape so that files it. 110 INQUIRE Requests interactive assignment of a value for a symbol during the execution of a command procedure. 1local or global Format INQUIRE symbol-name [prompt-string] Command Qualifiers Default /GLOBAL /LOCAL /LOCAL /LOCAL Prompts None. Command Parameters symbol-name Specifies a 1 - to 255-alphanumeric character symbol to be given a value. prompt-string Specifies the prompt to be displayed at the terminal when the INQUIRE command 1is executed. 1If the prompt string contains any lowercase characters or multiple blanks or tabs, enclose it in quotation marks. When the system displays the prompt string at places a colon (:) at the end of the string. If you do not specify a prompt string, uses the symbol name to prompt for the a value. the command terminal, it interpreter Description The INQUIRE command displays the prompting message to and reads the response from the device SYSSCOMMAND. This means that when the INQUIRE command is executed in a command procedure executed interactively, the prompting message is always displayed on the terminal, regardless of the 1level of nesting of command procedures. When an INQUIRE command is issued in a batch job, the command reads the response from the next line in the command procedure; if procedures are nested, it reads the response from the first level command procedure. Command Qualifiers /GLOBAL Specifies that the symbol be placed /LOCAL Specifies that the symbol be placed the current command procedure. This is the default, 111 in the global symbol table. in the local symbol table for INQUIRE Examples 1. $ $ INQUIRE CHECK "Enter Y[ES] IF .NOT.CHECK THEN EXIT to The INQUIRE command displays at the terminal: Ernter YIES] continue" the following prompting message to comntinue! The IF command tests the value entered. If you enter an odd numeric value or any non-quoted character string that begins with either a "T" or a "Y" the symbol CHECK will be considered true and the procedure will continue executing. If you enter an even numeric value, any nonquoted character string that begins with either an "N" or string, the symbol will be considered false will exit. $ S INQUIRE an "F," or a null and the procedure COUNT IF COUNT.GT.10 THEN GOTO SKIP S SKIP: The INQUIRE command prompts for a count with the message: COUNT?2 Then, the command procedure uses the value of the symbol COUNT to determine whether to execute the next sequence of commands or to transfer control to the line labeled SKIP. $ IF P1.EQS."" S FORTRAN The IF 'Pl' command THEN INQUIRE checks Pl whether FILE NAME a parameter was passed to the command procedure by checking if the symbol Pl is null; if it is, it means that no parameter was specified, and the INQUIRE command is issued to prompt for the parameter. If Pl was specified, the INQUIRE command is not executed, and the FORTRAN command compiles the name of the file specified as a parameter. 112 JOB Identifies the card reader. beginning of a batch job submitted through a system Format JOB user-name Qualifiers Default /AFTER=absolute~time / [NO]DELETE /DELETE /PARAMETERS=parameters, ... /PRIORITY=n /QUEUE=gueue-name /[NO]TRAILING_BLANKS /QUEUE=SYSSBATCH /TRAILING_BLANKS /NAME=7job-name /NAME=INPBATCH Prompts None. Command Parameters user-name Identifies the user name under which the Jjob is to Specify the user name just as you would enter it during be the procedure. the job is otherwise All qualifiers must not submitted. follow the user-name; system through run. login Description All batch jobs submitted to the reader must be preceded by JOB card identifies the user followed by a PASSWORD card a JOB card. submitting giving the The the the § is job, system card required. and must The be password. The user name and password are validated using the system authorization file in the same manner as they are validated in the login procedure. The process that executes the batch job is assigned the disk and directory defaults and privileges associated with executed at the The card end of a the account. start of the batch job is (12-11-0-1-6-7-8-9 If a LOGIN.COM job. signaled overpunch), by the or by file EOJ exists, command, another JOB it by an is EOF card. Command Qualifiers ~ /AFTER=absolute-time Requests that the job be held until after a specific time. Specify the time value according to the rules for absolute times (these rules are given in Section 6.8). If the specified time immediate processing. has already passed, 113 the job is entering gqueued for JOB /DELETE /NODELETE Controls whether the batch input file is saved after the job is processed. By default, the job, which is saved for the duration of the job, 1is deleted after processing. If you specify /NODELETE, the file 1is saved under the name INPBATCH.COM, by default. If you specify the /NAME qualifier, the file name of the file is the same as the name you specify with /NAME. /NAME=job—-name Specifies a 1- to 8-alphanumeric character file name string to be used as the job name and as the file name for the batch job log file. By default, the system gives the output log file a file name of INPBATCH. /PARAMETERS=parameters,... Specifies from 1 to 8 optional parameters to be passed to the command procedure. The parameters define values to be equated to the symbols named Pl, P2, P3, and so on, in the batch job. The symbols are local to the initial input stream. 1f you specify more than one parameter, and enclose them in parentheses. The commas delimit the parameters. contains any special characters parameter in quotation marks. /PRIORITY=n Specifies the priority for separate them with commas To specify a parameter that or delimiters, enclose the the specified job. The priority, n, must be in the range of 0 the lowest priority and 31 is the highest. through 31, where 0 is By default, jobs are assigned the same priority as your current process's base priority; the user privilege ALTPRI is required to set a priority value that 1is higher than your current process's base priority. If you specify a higher priority than your current base priority and you do not have this privilege, the job is given your current base priority, by default. /QUEUE=queue-name Spec1f1es the name of a particular batch job queue in which the job is to be entered. If you do not specify /QUEUE, then the job is placed in the default system batch job queue, SYS$SBATCH. /TRAILING_BLANKS /NOTRAILINGBLANKS Controls whether input cards in the card image form or if input records are non-blank character. By default, the trailing blanks from the records read Use the /NOTRAILING_BLANKS qualifier records be truncated. 114 deck are read 1in card truncated at the last system does not strip through the card reader. to request that input JOB Examples (seoa SPRINT AVERAGE l. mput data (/S RUN AVERAGE S LINK AVERAGE source statements SFORTRAN SYSSINPUT AVERAGE (S ON WARNING THEN EXIT (S PASSWORD HENRY /S JOB HIGGINS The JOB and PASSWORD cards identify and authorize the user HIGGINS to enter batch jobs. The command stream consists of a FORTRAN command and FORTRAN source statements to be compiled. The file name AVERAGE following the device name SYSSINPUT provides the compiler with a file name for the object and listing files. The output files are cataloged in the user HENRY's default directory. If the compilation is successful, the LINK command creates an executable image, and the RUN command executes it. Input for the program follows the RUN command in the command stream. The last command in the job prints the program listing. command mnput . S PASSWORD HENRY / PARAMETERS = (A, TEST) (S JOB HIGGINS,NAME = BATCH1 — The /NAME qualifier on the JOB card specifies a name for the batch job. When the job completes, the printed log file will be identified as BATCH1.LOG. The JOB card is continued onto a second line with the continuation character (-). The /PARAMETERS qualifier defines Pl as A and P2 as TEST. 115 LIBRARY Creates or modifies an object module library or a macro 1library; or inserts, deletes, replaces, or lists modules, macros, or global symbol names in a library. Format LIBRARY library [file-spec,...] Command Qualifiers Default /COMPRESS [=options,...] /CREATE [=options,...] /DELETE=module,... /EXTRACT {=module,...] /FULL / [NO] GLOBALS /INSERT /REPLACE /REPLACE /REPLACE /MACRO / [NO]NAMES /OBJECT /OUTPUT=file~spec /OBJECT /NONAMES /OBJECT /[NO]JLIST[=file-spec] /GLOBALS /REPLACE /NOLIST /REMOVE=symbol, ... /REPLACE /RSX11 /SELECTIVE_SEARCH /SQUEEZE /REPLACE Prompts Library: library File: file-spec Command Parameters library Specifies the name of the library to be created or modified. Wild cards are not allowed in the library file specification. .If the file specification does not include a file type, the LIBRARY command assumes a default file type of OLB if /OBJECT is specified either explicitly or by default; or a default file type of MLB if /MACRO is specified. file-spec,... Specifies the names of one or more files that contain modules to be inserted in the specified library. This parameter is required when you specify /INSERT or /REPLACE; it is optional whep, you specify /CREATE. Note that the default operation for the LIBRARY command is /REPLACE; if you do not specify a gqualifier *that requests a specific operation, you must enter the file-spec parameter. 116 LIBRARY If you do not specify any of the qualifiers /REPLACE, /CREATE, the file-spec parameter is invalid. If you specify more than one file, you signs plus either with specifications either case, the contents of each file can specified library. No wild cards are allowed in the input file any /INSERT, or the file specifications. If separate (+) or commas are inserted file specification does not include a file type, (,). 1in 1In the the LIBRARY command assumes a default file type of OBJ when /OBJECT is specified either implicitly or by default; a file type of MAR when /MACRO is specified and /RSX1ll is not specified; and a file type of MAC when /MACRO and /RSX1ll are specified. Description Libraries are files that contain one or more entries, or modules, of a similar type; and directories, or tables, that indicate the locations of individual modules within the 1library. There are two types of library: ® Object module 1libraries that catalog frequently called routines; you can use object module libraries as input to the linker. The linker searches the object module 1library when input ® it encounters a reference files specified. it cannot resolve from the : Macro libraries that catalog macro definitions; you can use macro libraries as input to the assembler. The assembler searches the macro library when it encounters a macro that is not defined in the input file. Both object module libraries and macro libraries have a directory called a module name table (MNT) that lists the modules (or, in the case of macro libraries, the macros) in the 1library. An object module 1library also contains a global symbol table (GST) that lists the global symbols defined in each of the modules in the library. When the LIBRARY command adds a file to an object module library, it catalogs the module according to its module name, and not by the file name of the file containing the module. The LIBRARY command creates libraries and modifies their contents. You can use DCL commands to manipulate a library in its entirety, for example, the DELETE, COPY, and RENAME commands can delete, make copies of, or rename libraries, respectively. When you use the LIBRARY command, you can specify qualifiers that request more than one function in a single command, with some restrictions. The qualifiers that perform LIBRARY functions, related qualifiers, and qualifier incompatibilities are summarized in Table 1. 117 LIBRARY LIBRARY N Qualifier Related Qualifiers Incompatible /COMPRESS /OUTPUT /CREATE, /CREATEL /SQUEEZE 2, /GLOBA%S3 /COMPRESS, /EXTRACT /SELECTIVE_SEARCH /DELETE . Functions /EXTRACT /EXTRACT /EXTRACT /OUTPUT /COMPRESS, /CREATE, /DELETE /INSERT, /LIST, /REMOVE, /REPLACE /INSERT /SQUEEZEZ, /GLOBALS3 /EXTRACT JLIST /FULL, /NAMES> /EXTRACT /SELECTIVE_SEARCH3 /REMOVE3 - /REPLACE 1l Table 1 Command Qualifiers The /EXTRACT /SQUEEZEZ2, /GLOBALS3 /EXTRACT /SELECTIVE_SEARCH3 /CREATE, /INSERT, and /REPLACE qualifiers are not incompatible; however, 1if more than one is specified, /CREATE takes precedence over /INSERT and /INSERT takes precedence over /REPLACE. The related qualifiers for /CREATE are applicable only if you enter one or more input files. 2 1Indicates a qualifier that applies only to macro 3 Indicates a that applies only to qualifier libraries object module libraries Command Qualifiers /COMPRESS [=options,...] Requests library the LIBRARY resulting /COMPRESS, command to from module recover unused space deletion. When you 1in the specify the LIBRARY command by default creates a new library one higher than the existing library. Use to specify an alternate name for the with a version number the /OUTPUT qualifier compressed library. You can optionally 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 for the the number library of 512~byte blocks to be allocated GLOBALS:n Specify the maximum number of global symbols the library can contain (for object module libraries only) MODULES:n Specify the maximum number library can contain of modules or macros If you specify more than one option, separate them with plus signs and enclose the list in parentheses. 118 commas the or LIBRARY /CREATE [=options,...] 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 contain modules to be placed in the library. By default, the LIBRARY command specify /MACRO to indicate that Specify one or more of the of the library, overriding BLOCKS:n creates an object module library; the library is a macro library. following options to the system defaults: control the size Specify the number of 512-byte blocks to be allocated for the 1library. By default, the LIBRARY command allocates 100 blocks for a new library. GLOBALS:n Specify the maximum library can contain. sets a maximum of 275 module global macro library. (A macro library symbol directory; therefore libraries If you global MODULES:n defaults to the contain. maximum of maximum number of maximum modules the number 1library of can By default, the LIBRARY command sets a 75 modules for an object module library and modules MODULES 4096. does not have a the maximum for 0.) specify /RSX1ll, the default symbol table entries is 128. Specify 275 number of global symbols the By default, the LIBRARY command global symbols for an object for option, a the macro library. If you maximum wvalue allowed specify for n the is If you specify /RSX11l, the default maximum number of modules for an object module 1library 1is 512; the default maximum number of macros for macro libraries is 256. If you specify more than one option, separate them with plus signs and enclose the list in parentheses. commas or /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 them with commas or plus signs and enclose the list in parentheses. When the issues LIBRARY MODULES Then, The it deletes modules from a 1library, it DELETEDS lists LIBRARY library, Use command the message: the command but names of does not rather have been it has physically deletes the /COMPRESS qualifier modules modules its to deleted. 119 entry compress successfully deleted. remove in a a module from a the module name table. library from which LIBRARY /EXTRACT=module, ... Copies one or more modules from an existing library into a new file. If you specify more than one module, separate the module names with commas or plus signs and enclose the 1list in parentheses. If you specify the /OUTPUT qualifier in conjunction with /EXTRACT, the LIBRARY command writes the output into the file specified by the /OUTPUT qualifier. If you specify /EXTRACT and do not specify /OUTPUT, the LIBRARY command writes the file into a file that has the same file name as the library and a file type of OBJ, MAR, or MAC, depending on the /OBJECT, /MACRO, and /RSX1ll qualifiers. If you specify /EXTRACT in conjunction with /RSX1ll, then the module name on the /EXTRACT qualifier is optional: all modules in the specified library are concatenated into a single file with a file type of OBJ or MAC, depending on the /OBJECT and /MACRO qgualifiers. If you do not specify /RSX1ll, module /FULL you must specify at 1least one name. Requests a full description of each module in the module name table. Use this qualifier in conjunction with the /LIST qualifier to request LIBRARY to list each module in the library in the format: entry SIZE:nnnnn INSERTED:dd-mmm-yyyy /GLOBALS / [NO] GLOBALS Controls, global included for object module symbols in modules in the global symbol IDENT:nn 1libraries, whether the names of being inserted in the library are table. By default, the LIBRARY command places all global symbol names in the global symbol table. Use /NOGLOBALS when you do not want the global symbol names /INSERT Requests in the global the LIBRARY command to symbol add the table. 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 file specified as input contains more than one macro definition, the LIBRARY command creates a separate entry for each macro, naming the module name table entries according to the names specified on the .MACRO directives. When the library, LIBRARY command inserts modules into an existing it checks the module name table before inserting each module. If a module name, macro name, or global symbol name already exists in the 1library, the command issues an error message and does not add the module to the library. One or more modules may be successfully inserted before the error occurs. To insert or there 1is qualifier. a replace a module current in a library regardless of entry with the same name, 120 whether use the /REPLACE LIBRARY /LIST[=file-spec] /NOLIST Controls whether or the contents of the not the LIBRARY library. command creates a listing of /NOLIST is the default. If you specify /LIST without including a file specification, the LIBRARY command writes the output file to the current SYSSOUTPUT device. If you include a file specification that does not have a file type, the LIBRARY command uses the default file type of LIS (LST if /RSX1ll is specified.) If you specify /LIST in conjunction with qualifiers that perform additional operations on the library, the LIBRARY command creates the listing after completing all the other requests; thus the listing reflects the status of the library after all changes have been made. When you specify /LIST, the LIBRARY the following information about the GIRECTORY OF FILE by default, the library file-swrec File name, file being listed. Libraru-~ture command provides, library: LIBRARY type, and CREATED version RBY: LIB number of vvwvyy The type of library (OBJECT or MACRO) and the version number of the librarian that created the library. (If you specify /RSX11, the name of the librarian is LBR.) LAST INSERT The MNT QUCURRKRED date ENTRIES and dd-mmm-wwww time at which ALLOCATED! rmms AT the hhiimnlos last AVATLARLE?D insertion was mm The current status of the module name table: number of entries that can be entered in the the number of entries that are unused (mm). GST ENTRIES ALLOCATEDI? rnd AVATLABLED made. the table maximum (nn) and mm The current status of the global symbol table: the maximum number of entries that can be entered in the table (nn), and the number of entries that are unused (mm). "For a macro library, this line FILE SFACE The both values are always 0. (If you specify /RSX11, lists the entry point table (EST) entries.) AUVATLARBLE? amount of nrmmnn space WORDS available 121 in the library for new files. LIBRARY nnmnn WORDS RECOVERARLE DELETED SFACE! The amount of space occupied by modules whose entries have To recover this been deleted from the module name table. space, use the /COMPRESS qualifier. module e moacisl L4 * The names of all the entries in the module name table. If you specify /LIST, you can also specify /FULL request additional information in the listing. and to /NAMES /MACRO Indicates that the library is a macro library. When you specify the file type of the /MACRO and you do not specify /RSX1ll, input files If you specify /MACRO in conjunction with /RSX1l, the input file library defaults to MLB and the file types default to any of MAR. to MAC. type defaults /NAMES /NONAMES library, Controls, when /LIST is specified for an object module whether the LIBRARY command lists the names of all global symbols in the in the global symbol table as well as the module names module name table. /NONAMES is the default; if R each /NAMES, specify you entry name is displayed in the format: module E et ru-name MORUL swmiaol sumiag aumhol swmtaol sumbol swmiacl ¢ < & ¢ ¢ ¢ If the library is a macro library symbol names are displayed. and specify you /NAMES, no This is /OBJECT Indicates that the library is an object module library. the default. /OUTPUT=file-spec qualifiers /COMPRESS when the /EXTRACT or Specifies, specified, the file specification of the output file. For /EXTRACT, library; a are the output file contains the modules extracted from the contains file the output /COMPRESS, for compressed library. /REMOVE=symbol, ... Requests the LIBRARY command to delete entries for global symbols from the global symbol table. When you specify /REMOVE, the LIBRARY command one or displays more the message: GLOEAL Then, SYMBOLS DELETEDS it displays the names of deleted. 122 global symbols it successfully LIBRARY /REPLACE Requests the LIBRARY command to replace one modules 1in a library with the modules in the specified. The LIBRARY command first deletes if any, for each module or macro in the corresponding global symbols, then inserts macro in the library. or more existing input file or files an existing entry, input the file(s) and new module the or This is the default operation; if you specify an input file parameter and do not specify /CREATE, /INSERT, or /REPLACE, the LIBRARY command the modules in replaces the an files When you use the /REPLACE the each names of MODULE existing module(s) in the file with specified. function, module replaced, "module-mame® the LIBRARY command in the displays format: REPLACED /RSX11 Indicates that the specified object modules in RSX~-11M 1library format, is a 1library containing or macros for the MACRO-1l1 Assembler. /SELECTIVE_SEARCH Defines the 1input files being inserted into a 1library as candidates for selective searches by the linker. If you specify /SELECTIVE_SEARCH, the modules are selectively searched by the linker when the 1library 1is specified as a linker input file: only the other image global modules file. symbols are in the module(s) included in the that symbol are referenced table of the by output /SQUEEZE Requests that the LIBRARY command compress individual macros before adding them to a macro library. When you specify /SQUEEZE, trailing blanks, trailing tabs, and comments are deleted from each macro before insertion in the library. Use /SQUEEZE 1in conjunction with the /CREATE, /INSERT, /REPLACE qualifiers to conserve space in a macro library. and Examples 1. % LIBRARYZCREATE TESTLIR ERRMSG» STARTUR The LIBRARY TESTLIB.OLB in 2. the command and The TERMTEST LIBRARY LIBRARY the the an object modules module ERRMSG.OBJ 1library and named STARTUP.OBJ library. % LIRRARYZINSERT FOLINK creates places command adds TESTLIB.OLB. linker command. TESTLIR SCANL INE TESTLIR/LIRRARY by using If the the The the module module 1library /LIBRARY is SCANLINE.OBJ specified qualifier TERMTEST.OBJ refers as on to any to the input the to LINK routines or global symbols not defined in TERMTEST, the 1linker will search the global symbol table of library TESTLIB.OLB to resolve the symbols. 123 LIBRARY 3. $ FORTRAN $ LIBRARY MODULE SCANLINE TESTLIR SCANLINE "SCANLINE" REFPLACED The FORTRAN command compiles a source program named SCANLINE.FOR and creates an object module SCANLINE.OBJ. The LIBRARY command in this example uses the default function, /REPLACE, to replace the module SCANLINE 1in the library TESTLIB.OLB with the new version. $ LIBRARY/ZDELETE=8TARTUF MODULES TESTLIR DELETEDS STedRTUR $ LIRRARYLIST/NAMES TESTLIR DIRECTORY OF FILE TESTIB.OLRBSZ VUX129.0 ORJECT MODULE LIBRARY CREATED RY LIER: LAST INSERT QUCURRED 10-JUN-78 AT 16:41:23 73 25 AVATLABLED MNT ENTRIES alLLOQCATED: 270 AVAILARLES 2785 GST ENTRIES ALLOCATEDD FILE SPACE AVATLARLED 18347 WORDSG RECOVERARLE DELETEX SFACED ok MODULE D ERRMEG ERRMESE ¥k 00134 WORDS ERREERROR ERREFATAL ERREWARNING S SCANL TNE MODULE SCAMLTNE ¢ LTERARY ZCOMPRESS= (RLOCKEIH0) b FURGE TESTLIROLR TESTLIR The LIBRARY command deletes the module STARTUP from the library TESTLIB.OLB. The next LIBRARY command requests a listing of the contents of the 1library TESTLIB.OLB. The /NAMES qualifier requests a list of each of the global symbols in the modules. The listing indicates that the deletion of the module STARTUP resulted in unused space; the /COMPRESS function deletes the space and requests that 50 blocks be allocated for the library. By default, /COMPRESS creates a new version of the library. The PURGE command purges the earlier version. ORy RUTERM » WRTERM g L LRRARY AEXTRACT=(MESCRIPT AT RUT=TEME g - QUALMAT « MLE L TRNWIN MBI LGOO The /EXTRACT qualifier names three RDTERM, and WRTERM, to be copied macros, DESCRIPTOR, from the macro library [GOODWIN.LIB] on the disk LOCALMAC.MLB in the subdirectory DBB2. The /OUTPUT qualifier requests that the output file have a file name of TEMP. The LIBRARY command writes the output to the file TEMP.MAR in your current default disk and directory. 124 LIBRARY 6. $ LIBRARY/ZMACRO/CREATE= (RLOCKS 40 MODULES?100) . MYMAL TEMP $ MACRO MYMAC/LIBRARY+HCYGNUS/0RJECT The LIBRARY from room command creates a macro library named MYMAC.MLB the macros in the file TEMP.MAR. The new library has for 100 modules in a 40-block file. Although only a single 1input file macros. Each macro The MACRO command 1is is specified, entered assembles in the the the new source file contains three library. file CYGNUS.MAR; the /LIBRARY gqualifier specifies the 1library 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/ZLIST=MYMAC, LISAFULL The LIBRARY command requests a library MYMAC; the output MYMAC.LIS. 125 MYMAD ., MLE full 1listing 1is written to of a the file macro named LINK into a Invokes the VAX-1ll Linker to link one or more object modules program image and defines execution characteristics of the image. This command is described in detail in the VAX-1ll Linker Reference Manual. If you use the /RSX1ll qualifier, the LINK command invokes the RSX-11M The LINK/RSX1l command 1is described under its own Task Builder. heading. Format file-spec,... LINK Default Command Qualifiers /BRIEF / [NO] CONTIGUOUS / [NO] CROSS_REFERENCE / [NO]DEBUG [=file~-spec] / [NO]EXECUTABLE [=file-spec] /NOCONTIGUOUS /NOCROSS_REFERENCE /NODEBUG /EXECUTABLE / [NOIMAP [=file-spec] / [NO] SHAREABLE [=file-spec] / [NO]SYMBOL_TABLE [=file-spec] / [NO]SYSLIB / [NO] SYSSHR / [NO]SYSTEM [=base-address] / [NO] TRACEBACK /NOMAP /NOSHAREABLE /NOSYMBOL_TABLE /SYSLIB /SYSSHR /NOSYSTEM /TRACEBACK /FULL File Qualifiers /INCLUDE=module-name,... /LIBRARY /OPTIONS /SELECTIVE_SEARCH Prompts file-speC,... File: Command Parameters file-spec,... The input files can be object Specifies one or more input files. to be searched for external 1libraries 1linked, be modules to references or from which specific modules are to be included, shareable images to be included in the output image, or option If you specify multiple input files to be read by the linker. ns with commas (,) or plus specificatio file the separate files, signs (+). 1In either case, the linker «creates a single image file. If you do not specify a file type in an input file specification, the 1linker supplies default file types, based on the nature of the file. All object modules are assumed to have file types of OBJ. 126 LINK Command Qualifiers /BRIEF Requests file. the linker /BRIEF A brief to produce is valid form of only a brief if /MAP map (memory is also allocation) specified. the map contains: ) A summary of ) A list of ° A summary of the all image characteristics object modules link-time included performance in the image statistics /CONTIGUOUS /NOCONTIGUOUS Controls default, whether the image the file output is not image file contiguous. 1is contiguous. By /CROSS_REFERENCE /NOCROSS_REFERENCE Controls whether the memory allocation listing (map) contains a symbol cross reference. /CROSS_REFERENCE is valid only if /MAP is also specified and /BRIEF is not specified; /CROSS_REFERENCE must follow /MAP in the command line. A symbol the it. cross 1image, reference its value, /DEBUG [=file-spec] /NODEBUG Controls lists and each global all modules is included in symbol the referenced image that refer 1in to ¢ whether a debugger in the output image. If the object module contains local symbol table and/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 specify /DEBUG, debugging. table only global The /DEBUG qualifier and/or symbols traceback are information, available optionally accepts the name of for and you symbolic an alternate, user-specified debugger. If a file specification is it does not contain a file type, the linker assumes entered, and the default file type of OBJ. If you specify /DEBUG without a file specification, the default VAX/VMS Symbolic Debugger 1is 1linked with the image. For information on using the debugger, see the VAX-1l1l Symbolic Debugger Reference Manual. /EXECUTABLE [=file-spec] /NOEXECUTABLE Controls whether gpiionally the provides 1linker a creates file an executable specification for the image output and image ile. By default, file name the linker creates an executable image with the same as the first input file and a file type of EXE. When you specify /EXECUTABLE, you can control the defaults applied to the output file specification by the placement of the qualifier in the command, as described in Section 6.3.3, "Rules for Entering Output File Qualifiers." Use /NOEXECUTABLE to determine modules, without incurring the an image file. the outcome of linking a set of linker overhead required to create 127 LINK /FULL (memory Requests the linker to produce a full map /FULL is valid only if /MAP is specified. listing. allocation) A full listing contains the following information: ) All the information included in the brief listing ) Detailed descriptions of ) Lists of global symbols by name and by value section in the image file each program section and image /MAP[=file-spec] /NOMAP 1is produced (map) Controls whether a memory allocation listing If you specify and optionally defines the file specification. to /MAP, you can also specify /BRIEF, /FULL or /CROSS_REFERENCE of any specify not do you If map. the of contents the control these qualifiers, the map contains: ) All the information contained in a brief listing ) A list of user~defined global symbols by name ) A list of user-defined program sections When you specify /MAP, you can control the defaults applied to as described in Section 6.3.3, the output file specification, "Rules for Entering Output File Qualifiers." /SHAREABLE [=file-spec] /NOSHAREABLE Requests the linker to produce a shareable image file rather than an executable image. Shareable images cannot be run with the RUN command. However, they can be 1linked with object modules to create executable If By default, the linker creates an executable image. images. /SHAREABLE, and /EXECUTABLE qualifiers the of you specify both the /SHAREABLE qualifier always takes precedence. When you specify /SHAREABLE, you can control the defaults applied the file specification by the placement of to the output qualifier in the command, as described in Section for Entering Output File Qualifiers." 6.3.3, "Rules /SYMBOL_TABLE [=file-spec] /NOSYMBOL_TABLE Requests the linker to create a separate file containing symbol definitions for all global symbols in the image. The output file will be in object module format. If you also specify /DEBUG, the linker includes the global symbol 1image for wuse by the debugger, and also definitions in the creates a separate symbol table file. input to subsequent LINK The symbol table file can be used as commands, to provide the symbol definitions to other images. By default, the linker does not create a symbol table file. the defaults you can control When you specify /SYMBOL TABLE, applied to the output file specification, as described in Section output The 6.3.3, "Rules for Entering Output File Qualifiers." file type always defaults to STB. 128 LINK /SYSLIB /NOSYSLIB Controls whether the default shareable image and system library are to be automatically searched for unresolved references. By default, the linker searches the default system shareable image SYSSLIBRARY:VMSRTL.EXE and then the default system library SYSSLIBRARY:STARLET.OLB when it cannot resolve references using the input file(s) specified in the command. If you specify /NOSYSLIB, neither VMSRTL.EXE nor STARLET.OLB is searched. /SYSSHR /NOSYSSHR Controls 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 default system shareable image SYSSLIBRARY:VMSRTL.EXE and then the default system library SYSSLIBRARY:STARLET.OLB when it cannot resolve references using the input file(s) specified. Use the /NOSYSSHR qualifier to request that only the default system library be searched. /SYSTEM[=base-address] /NOSYSTEM Requests the linker to produce a system image and optionally defines a base address for the image. A system image cannot be run with the RUN command; it must be bootstrapped or otherwise loaded into memory. The base address specifies the virtual memory location at which the 1image 1is to be 1loaded. The address can be expressed in decimal, hexadecimal, or octal, using the radix specifiers %D, $X, or %0, respectively. If you do not specify a base address, the linker uses the default address of %X80000000. If you specify /SYSTEM, you cannot specify either /SHAREABLE or /DEBUG. System images are intended for special purposes, such as standalone operating system diagnostics. When the linker creates a system image, it orders the program sections in alphanumeric order and ignores all program section attributes. /TRACEBACK /NOTRACEBACK Controls whether the linker includes traceback information in the image file. By default, the 1linker 1includes traceback information so that the system can trace the call stack when an error occurs. If you specify /NOTRACEBACK, no traceback reporting when an error occurs. If you specify /DEBUG, /TRACEBACK 129 is assumed. LINK File Qualifiers /INCLUDE=module-name,... Indicates that the associated input file is an object module library, and that only the module names specified are to be unconditionally included as input to the linker. If you specify more At least one module name must be specified. than one module name, separate them with commas and enclose the list in parentheses. If you specify /INCLUDE, you can also specify /LIBRARY; then, the library is subsequently searched for unresolved references. /LIBRARY Indicates that the associated input searched for modules to resolve files. input file 1is a 1library to be any undefined symbols in the a include not If the associated input file specification does You type, the linker assumes the default file type of OLB. file also cannot specify a library as the first input file unless you specify the /INCLUDE qualifier to indicate which modules in the library are to be included in the input. You can use both /INCLUDE and /LIBRARY to qualify a file specification. In this the then first, case, the explicit inclusion of modules occurs library is used to search for unresolved references. /OPTIONS Indicates that the associated input file contains a 1list of options to control the linking. If you specify /OPTIONS and the associated input file specification does not include a file type, the linker uses the default file type of OPT. For complete details on the contents of an options file, VAX-11 Linker Reference Manual. see the /SELECTIVE_SEARCH Indicates that the associated input file is an object module, and that any symbols defined in the module 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. The binary code in the object module is always included. Examples 1. ¢ LINK ORION The linker links the object module in the file ORION.OBJ and creates an executable 2. % image named ORION.EXE. LINKZMAFAFULL DRACQ CYOGNUS s LYRA The linker links the modules DRACO.OBJ, CYGNUS.OBJ, and LYRA.OBJ and creates an executable image named DRACO.EXE. The /MAP and /FULL qualifiers request a full map of the image, with descriptions of each program section, lists of global symbols by name and by value, and a summary of the The map file is named DRACO.MAP. image characteristics. 130 LINK 3. $LINK LSSTESTISERVICE/INCLUDE=DRACOy, $LICYGNUS/EXECUTARLE The LINK command links the object -~ module DRACO from the library SERVICE.OLB in the directory SSTEST with the module CYGNUS.OBJ in the current default directory. The executable image is named CYGNUS.EXE. The placement of the /EXECUTABLE qualifier provides the output file name defzult. $LINK/MAP/ZCROSS CREFERENCEZEXECUTE=DRGWEATH ~ B/ DERLIG ~ $UWFEATHER s MATHL IR/L IRRARY B RUN DROGWEATH LERUGs Version ADERUG-T-INITIAL» to 1.0 lanmsuadge is FORTRANy score and module set ‘WEATHER‘ nDRG: The linker links the object module WEATHER.OBJ with the debugger. 1If any unresolved references are encountered, the linker searches the library MATHLIB.OLB before searching the system library. The /CROSS_REFERENCE qualifier requests a cross reference listing in the map file; the map file 1is named, by default, WEATHER.MAP. The /EXECUTE qualifier requests the linker to name the output file DBGWEATH.EXE. The RUN command executes the image; the message from the debugger 1indicates that it 1is ready to accept debug commands. 131 LINK/RSX11 Invokes the RSX-11lM Task Builder to build an RSX-11lM image. Format LINK/RSX11 file-spec,... Command Qualifiers Default /BRIEF /[NO]DEBUG[=file-spec] /BRIEF /NODEBUG /[NO]EXECUTABLE[=file-spec] / [NO]EXIT[=n] /FULL / [NO] HEADER /[NOIMAP [=file-spec] /[NO]OVERLAY_DESCRIPTION /[NO]POSITION_INDEPENDENT / [NO] POST_MORTEM / [NO] SEQUENTIAL /[NO]SYMBOL_TABLE /EXECUTABLE /NOEXIT /BRIEF /HEADER /NOMAP /NOOVERLAY_DESCRIPTION /NOPOSITION_INDEPENDENT /NOPOST_MORTEM /NOSEQUENTIAL /NOSYMBOL_TABLE / [NO]TRACE /NOTRACE /DEFAULT_LIBRARY=file-spec /TKB_OPTIONS=file-spec File Qualifiers /CONCATENATED [NO] CONCATENATED , ... /INCLUDE=module /LIBRARY /SELECTIVE_SEARCH Prompts File: file-spec,... Command Parameters file-spec,... File specifications of one or more input files. The input files may be object modules to be linked or libraries to be searched If multiple input files are specified, for external references. with commas (,) or plus signs (+). either separated be may they In either case, a single RSX-11M image file is produced. task the type, If a file specification does not contain a file default file types, based on the nature of the supplies builder All object modules are assumed to have a file type of OBJ; file. overlay file type of OLB; libraries are assumed to have a descriptor files are assumed to have a file type of ODL. 132 LINK/RSX11 Command Qualifiers /BRIEF Requests the task allocation) file; builder to produce a brief map (memory /BRIEF is the default if /MAP is specified. The /BRIEF qualifier is valid only if /MAP is also specified. A brief form of the map contains: ) A summary of the image °® A list of all segments ® A summary of attributes in the image task builder statistics /DEBUG [=file-spec] /NODEBUG Controls whether or not an image is bound with a debugger. The /DEBUG qualifier optionally accepts the name of an alternate, user-specified entered, and assumes debugging aid. If a file specification is it does not contain a file type, the task builder the default file type of OBJ. If you specify /DEBUG without a file specification, the default Defines an object module library to use in place of the default debugger, ODT, is used. /DEFAULT LIBRARY=file-spec system library, SYSLIB.OLB. after all libraries specified references The specified library as input files when is searched unresolved are encountered. /EXECUTABLE [=file-spec] /NOEXECUTABLE . Controls whether or not the task builder produces image and optionally provides a file specification file. an for executable the output By default, the task builder creates an image with the same file name as the first input file and a file type of EXE. If the first input file you specify is the name of a library qualified with /INCLUDE, then the default file name for the object module created is the same as the name of the first, or only module specified with /INCLUDE. Use /NOEXECUTABLE when you want to determine the outcome of task building a set of modules without incurring the task builder overhead required to create an image. When you specify /EXECUTABLE, you can ccntrol the defaults applied to the output file specification by the placement of the qualifier in the command, as described in Section 6.3.3, "Rules for Entering Output File Qualifiers."” The output file type always defaults to EXE. /EXIT[=n] /NOEXIT Controls whether the task builder exits after a specified number of error diagnostics. By default, the task builder does not exit because of diagnostic errors. If you specify /EXIT, the task builder exits after n diagnostic errors (n is assumed to be a decimal number, by default). If you specify /EXIT and do not specify a value for n, it defaults to a value of 1. 133 LINK/RSX11 /FULL Requests the task builder to produce a full map (memory allocation) 1listing. The /FULL qualifier is valid only if /MAP is specified. A full map contains the following information: °® All the information included in the brief map ' A file contents section for each module in the ) A list of global symbol definitions by module ) A list of unresolved global symbol image references /HEADER /NOHEADER Controls whether the task builder includes a task header image and in the symbol table file. /MAP [=file-spec] /NOMAP Controls whether produced or not a memory allocation 1listing and optionally defines the file specification. 1in the (map) is If /MAP is specified, the qualifiers /BRIEF or /FULL can also be specified to control the contents of the map. If neither of these qualifiers is specified, /BRIEF is the default. When you specify /MAP, you can control the defaults applied to the output file specification by the placement of the qualifier in the command, as described in Section 6.3.3, "Rules for Entering Output File Qualifiers." The output file type always defaults to MAP. /OVERLAY_DESCRIPTION /NOOVERLAY_DESCRIPTION Indicates whether the input file describes an overlay structure for the image. If the input file specification does not contain a file type, the task builder uses the default file type of ODL. If you specify /OVERLAY DESCRIPTION, you can specify only a single input file; the input file must contain the input file specifications and an overlay description. /POSITION_INDEPENDENT /NOPOSITION_INDEPENDENT Indicates whether or not the image being built contains position independent code. By default, the task builder assumes that code is not position independent. /POST_MORTEM /NOPOST_MORTEM Controls whether the task builder sets the Post Mortem Dump flag. If you specify /POST_MORTEM, the system automatically lists the contents of memory when the image terminates abnormally. /SEQUENTIAL /NOSEQUENTIAL Controls whether the task builder reorders alphabetically when it creates the image. /SEQUENTIAL, the task builder orders program order in which they are input. 134 program sections If you specify sections 1in the LINK/RSX11 /SYMBOL_TABLE [=file-spec] /NOSYMBOL_TABLE Requests the task builder to create a separate module format containing symbol definitions contained in the image. If /DEBUG is specified, the task builder definitions 1in the 1image for use creates a separate symbol table file. The symbol LINK/RSX1l1l table file can be commands, to provide by file for includes 1in all the the debugger, object symbols symbol and also used as 1input to subsequent the symbol definitions to other images. By default, the task builder does not create a symbol table file. When you specify /SYMBOL _TABLE, you can control the defaults applied to the output file specification by the placement of the "Rules always qualifier 1in the command, as described in Section 6.3.3, for Entering Output File Qualifiers." The output file type defaults to STB. /TKB_OPTIONS=file-spec Specifies the name of a file containing task builder options. If the file specification does not include a file type, the default file type of CMD is assumed. You must omit the 1initial slash character (/) 1in an options file specified as input to the LINK/RSX11l command. /TRACE /NOTRACE Indicates whether a when File the trap occurs trace the image is image is traceable. If following the execution you specify /TRACE, of each instruction executed. Qualifiers /CONCATENATED /NOCONCATENATED Indicates whether the associated input file consists of concatenated object modules. By default, the task Dbuilder includes in the image all the modules in the file. If you specify /NOCONCATENATED, the task builder includes only the first module in the file. /INCLUDE=module-name,... Indicates that the associated input file 1is an object module library, and that only the module names specified are to be unconditionally included as input to the task builder. At least one module name must be than one module name, separate list in parentheses, specified. 1If you specify more them with commas and enclose the If you specify /INCLUDE, you cannot specify /LIBRARY; if you want the 1library to also be searched for unresolved references, you must specify the library file specification a second time. 135 LINK/RSX11 /LIBRARY Indicates that the associated input is to be searched library that undefined symbols in the input files. file 1is an object module for modules that resolve any If the associated input file specification does not include a file type, the task builder assumes the default file type of OLB. You cannot specify a library as the first input file. /SELECTIVE_SEARCH Indicates that the associated input file is an object module, and any symbols defined in the module that are not necessary to that resolve outstanding references should be excluded from the symbol table of the output image file and also from the symbol table The binary code in the file, if /SYMBOL_TABLE is specified. object module is always included. Examples 1. AVERAGE ¢ LINKA/RESX11 % RUN AVERAGE The object module AVERAGE.OBJ is linked to image named AVERAGE.EXE. 2. create the task The RUN command executes the task. % LINK/ZRSXLL WEATHERMATHLIE Y» E s FRECTF LUD = (TEMP oS TNC $ MATHLIBALIRBREARY - 4 SDERUG/EXECUTARLE=IRGWEATH The task builder links the object module WEATHER.OBJ with the 1library MATHLIB.OLB; from the TEMP and PRECIP modules MATHLIB is respecified as an input file with the /LIBRARY 1indicate that MATHLIB should also be searched qualifier to for any unresolved references. The image includes the system debugging aid, ODT. RSX-11M image file 3. ¢ COROLARSX1L $ RUN is named DBGWEATH.EXE. The output PAYROLL SYS$EYSTEMIMRG FLEAGE ENTER FILE SPECIFICATION FOR QUTFUT FILE . GIH. FravyROL $ LINK/RGXLL FAYROL/DVERLAY The COBOL/RSX11l command invokes the COBOL compiler to compile a source program named PAYROLL.CBL. The LINK/RSX1l command file, description overlay specifies the name of the PAYROL .ODL, created by the MERGE program. 136 Login Procedure There is no LOGIN command. system and signal your CTRL/C, The then CTRL/Y, or Rather, you get the attention of the intention to access the system by pressing carriage return on a terminal not currently in use. system then prompts validates them. Specify qualifiers you for your user following the entry of name your and your password, user name. and Q gE Format Qualifiers /CLI=command-interpreter /DISK=device-~name Prompts Username: user—-name Password: password Description The login procedure: ® Validates user your name authorization °® right and to based the against system by the checking entries in the vyour user file. Establishes the default session access password on your characteristics user name entry in of the your terminal authorization file. ) Executes either the command procedure file if one exists in your default directory or defined in user authorization file, if any. named LOGIN.COM the command file Qualifiers /CLI=command-interpreter Specifies the name of an alternate command interpreter to override the default command interpreter 1listed 1in the user authorization file. /DISK=device-name Specifies the logical name device of a disk SYSSDISK specification overrides the in the authorization file. device to be associated with the for the terminal session. This default SYS$DISK device established 137 LOGIN PROCEDURE Examples 1. Username: Fassword? HUMPTY CTRL/Y gets the attention of the operating system, which immediately prompts for user name. After validating the user name, the system prompts for the password, but does not echo it. Usernamed FPassword? HIGBINS/DISK=DRE2 UAX/UMS Version 1.0 $ SHOW DEFAULY DRER2IIHIGGING] the for The /DISK qualifier requests that the default disk The SHOW DEFAULT command response session be DBB2. terminal shows that DBB2 is the default disk. 138 LOGOUT Terminates an interactive terminal session. Format LOGOUT Command Qualifiers /BRIEF /FULL Prompts None. Description You must use the LOGOUT command to end a terminal session. If you turn the power off at your terminal without using the LOGOUT command from a direct line, you remain logged in. Command Qualifiers /BRIEF Requests the brief form of the 1logout message. The command interpreter displays your user name and the date and time at which you logged out. /BRIEF is the default for an interactive job. , /FULL Requests the long form of the logout message. When you specify /FULL, the command interpreter displays a summary of accounting information for the terminal session. /FULL is the default for a batch job. Examples 1. ¢ LOGOUY HIGGING 2. % logged out at 23-JAN-1978 17:48156.73 out at 24-~-JAN-1978 14:123145.30 LOGOUT/ZFULL HIGGING Aceounting Ruffered Direct lodgdged informationt I/70 I/0 cournt? cournt? Fasge faults?d Elarsed CPU time? The LOGOUT statistics O command for the 22 Feak working set 10 Fealk wvirtual sizel 68 00:01:30,30 displays terminal 139 a session. Mounted Elarsed summary volumes? time?d of size! 0 &9 O 0 04:1539:102.6 accounting MACRO Invokes the VAX-11l MACRO assembler to assemble one language source or more assembly programs. the MACRO-11 invokes the MACRO command specify /RSX1l, If you assembler; all the other qualifiers apply to both the VAX-1ll and the MACRO-11 assembler. For more information on the VAX-11 MACRO assembler, see the VAX-11 MACRO User's Guide. For information on the MACRO-1l1l assembler, see the RSX-11M MACRO User's Guide. Format MACRO file-spec,... Command Qualifiers Default /RSX11 File Qualifiers /DISABLE=function,... /ENABLE=function,... /DISABLE= (AMA,DBG,FPT,LSB) /ENABLE= (GBL , TBK) /LIBRARY /INO]JLIST[=file-spec] / [NOJOBJECT [=file~spec] / [NO] SHOW [=function,...] /SHOW=(CND,MC,MD) Prompts file-spec,... File: Command Parameters file-spec,... Specifies one or more 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 /RSX11, the MACRO-1l1 assembler uses the default file type of MAC. the separate you If You can specify more than one input file. file is assembled each (,), commas specifications with file specifications with plus If you separate the file separately. the files are concatenated and assembled as a single (+), signs input file, producing single object and listing files. Command Qualifiers /RSX11 Indicates that the assembly language MACRO-11 source statements, and that should be invoked. 140 source the statements are MACRO-11 assembler MACRO File Qualifiers /DISABLE=function,... /ENABLE=function,... Provides initial settings for the functions controlled by the assembler directives. .ENABL and .DSABL. You must specify at least one of the functions listed below. You can use either the short form (equivalent to the assembler directive syntax) or the long form. You can enable or disable: AMA ABSOLUTE Assembly of relative DBG DEBUG Inclusion of local in the object file FPT TRUNCATION Truncation truncation GBL GLOBAL Assumption addresses assembly addresses that absolute symbol table information for use with the debugger of floating-point is disabled, numbers are as undefined external numbers (if are rounded) symbols 1in the symbols LSB LOCAL_BLOCK Local symbol boundaries, or blocks to cross PSECT to contain nonlocal symbols TBK TRACEBACK Providing information traceback mechanism to the debugger /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 1in reverse order of their specification when a macro call is issued in a source program. There 1is no forward searching; when a macro library contains definitions for macro calls in a source program, you must specify the 1library before you specify the name of the source program. /LIST[=file-spec] /NOLIST Controls whether an output listing 1is <created, and provides an output file specification for the listing optionally file. If you issue the MACRO command interactively, the assembler, by default, does not create a 1listing file. When /NOLIST is present, either explicitly or by default, errors are reported on the current output device. If you execute the MACRO command in a batch job, /LIST 1is the default. When you specify /LIST, you can control the defaults applied to the output file specification by the placement of the qualifier in the command, as described in Section 6.3.3, "Rules for Entering Output File Qualifiers." The default file type provided for listing files is LIS (LST if /RSX1l1l is specified). 141 MACRO /OBJECT [=file~spec] /NOOBJECT Controls whether an object module is created by the It also defines the file specification for the file. assembler. By default, the assembler creates an object module with the same file name as the first input file and a file type of OBJ. When you specify /OBJECT, you can control the defaults applied to the output file specification by the placement of the qualifier in the command, as described in Section 6.3.3, "Rules for Entering Output File Qualifiers." The default file type provided for object files is OBJ. /SHOW[=function,...] /NOSHOW [=function,...] Provides initial settings for the functions controlled by the assembler directives .LIST and .NLIST. You can specify one or more of the functions listed below. You can use either the short form (equivalent to the assembler directive syntax) or the long form. If you specify /SHOW without any functions, the 1listing level count is incremented. 1If you specify /NOSHOW without any functions, the listing level count is decremented. CND CONDITIONALS List with unsatisfied conditional code .IF and .ENDC directives MC CALLS List macro calls MD DEFINITIONS List macro definitions ME EXPANSIONS List macro expansions MEB BINARY List binary code generated by of macro calls. For additional details on these Language Reference Manual. and repeat functions, see range the the associated expansions expansion VAX-11 MACRO Examples 1. 4% MACRO 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 1listing file named 2. % ORION.LIS. MACROZLIST CYGNUSy LYRAZOQRJECT=LYRAN This MACRO command requests two separate assemblies. The MACRO command assembles CYGNUS.MAR to produce CYGNUS.LIS and CYGNUS.OBJ. Then it assembles LYRA.MAR and creates a listing file named LYRA.LIS and an object module named LYRAN.OBJ. 142 MACRO 3. $ MACRO MYLIB/LIEBRARY + ALFHA/LIST/0RJECT. + LTESTIOLDLIR/LIRRARY + LIRETA % FPRINT ALFHA 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 in BETA.MAR, OLDLIB, MYLIB, and the system library STARLET.MLB are searched, in that order, for the ALPHA.MAR, definitions. MYLIB.MLB not searched. The PRINT command and prints When macro STARLET.MLB the 143 listing. are calls are searched; found in OLDLIB is MCR Provides a means of running RSX-11lM components in that is Is the RSX-11M command used to invoke the desired component, example, MAC or TKB. If you do not specify a component, for MCR compatible with the RSX-11lM operating system. a manner Format MCR [component [command-string]] Command Qualifiers None. Prompts MCR> Command Parameters component prompts for a command. The component name must be equivalent to the file name portion of the file specification for the component as it exists on the VAX/VMS system disk, that is, you must type MAC, not MACRO, SYS$SYSTEM:filename. For example, to invoke the MACRO-1l1l assembler. command-string Is a valid command string for the component. If you do not specify a command string, the requested component prompts for a command string. Description For information on how to use the MCR command interpreter under VAX/VMS and for a list of the RSX-11lM components available under VAX/VMS, see the VAX-11l/RSX-11M User's Guide. 144 MCR Examples l. $ MOCR DSP MYFILE.DAT & The MCR command precedes a single RSX-11M command. command finishes, DCL prompts for another command. $ When the MCR MCR=FIF MYFILE.DAT/ZGF MCR>"Z $ The MCR command requests activation of MCR command mode. The MCR> prompt indicates that the MCR command interpreter is ready to accept commands. After the PIP command executes, MCR continues prompting until you use CTRL/Z to return to DCL. & MOCR PIF FIFe MYFILE.DAT/ZSF PR Y The MCR command requests PIP, which in turn prompts for command string. Pressing CTRL/Y returns control to DCL. 145 a MOUNT Makes a volume and processing by the files system commands or or data user it contains available for programs. Format MOUNT device-name, ... [volume-label,...] Command Qualifiers1 [logical-name([:]] Default /DATA_CHECK [=option,...] /FOREIGN /OVERRIDE=option,... /OWNER_UIC=uic —/PROCESSOR=0option /PROTECTION=code / [NO]JWRITE Qualifiers /WRITE for Disks Default /ACCESSED=n /EXTENSION=n /GROUP / [NO] SHARE /SYSTEM /UNLOCK /WINDOWS=n /NOSHARE Qualifiers Default for Tapes /BLOCK=n /DENSITY=n / [NO] LABEL /RECORD=n /BLOCK=2048 /LABEL Prompts Device: device-name Label: volume~-label Log_Name: logical-name Command Parameters device-name,... Specifies the physical device name or on which the volume is to be mounted. logical name of the device tape If you specify more than one device name for a multivolume file, separate the device names with either commas (,) or plus signs (+); you can specify more volume labels than device names. 1 For tapes convenience qualifiers that are applicable only to disks and are listed separately. All qualifier descriptions appear alphabetical order, however. 146 to in MOUNT volume-label,... Specifies the label on the volume. For disk volumes, the label can have up to 12 characters; for tape volumes, the label can have up to 6 characters. If you specify more than one volume label for a multivolume tape set, separate them with either commas (,) or plus signs (+). The volumes must be in the same volume set and the 1labels must be specified in the correct order. The volume-label parameter is not required volume with the /FOREIGN qualifier, nor when you mount a when you specify /OVERRIDE=IDENTIFICATION. To specify a logical name when vyou enter either of these qualifiers, type any alphanumeric characters in the volume label parameter position. logical—-name Defines a 1- to 63-alphanumeric be associated with the device. character string logical name to If you do not specify a logical name, the MOUNT command assigns the default logical names DISK$volume-label and TAPES$volume-label to disk and tape devices, respectively. The MOUNT command places the table, unless you specify name in /GROUP cases, it places name tables. names the logical in the or the process /SYSTEM. group or 1logical name 1In the latter system logical Description When you issue the MOUNT command, ) That a volume ° That the o Your UIC you have label is physically on the the MOUNT loaded on volume matches command checks: the device the label against the owner UIC on the volume the right to access the volume. specified specified to ensure For additional information and examples of wusing command, see Chapter 3, "Disk and Tape Volumes." the that MOUNT Command Qualifiers /ACCESSED=n Specifies, for disk volumes, the approximate number of directories that will be 1in use, concurrently, on the volume. You can specify a value from 0 through 255 to override the default specified when the volume was initialized. The user privilege OPER /BLOCK=n Specifies, for tape is required volumes, to use /ACCESSED. the default block size. Legal values are in the range of 18 through 65534. By default, records are written to tape volumes in 2048-byte blocks. For foreign or unlabeled tapes, the default is 512-bytes. 147 MOUNT /DATA_CHECK [=options,...] Overrides the read-check and/or write-check options specified for a volume when it was initialized. You can specify either or both of the following options: ’ READ Perform checks following all read operations WRITE Perform checks following all write operations If you specify /DATA_CHECK without system assumes /DATA_CHECK=WRITE. an specifying option, the /DENSITY=n : Specifies, for foreign or unlabeled tapes, the density (in bpi) You can specify either 800 or at which the tape will be written. 1600. If you do not specify a density for a tape that was previously written, the density defaults to that at which the tape was written. The specified density is used only if you specify /FOREIGN or /NOLABEL and the first operation performed on the tape is a write. If you specify /LABEL, or if the first operation on the tape is a read or written at the density at which the 1is tape the read, first record on the tape is recorded. /EXTENSION=n Specifies, for disk files, the number of blocks by which files will be extended on the volume unless otherwise specified by an individual command or program request. You can specify a value from 0 through 65535 to value specified when the volume was initialized. /FOREIGN Indicates that the tape or disk volume is ANSI not in format used by the VAX/VMS operating system. override the the standard If you mount a volume with the /FOREIGN qualifier, the program you use to read the volume must be able to process the labels on the volume, if any. For example, DOS volumes must be mounted with the /FOREIGN qualifier and processed with the File Transfer Utility (FLX) .1 The default protection applied to foreign volumes is RWLP for the system and owner. If /GROUP is also specified, group members are also given RWLP (Read, Write, Logical I/O and Physical 1I/0) access. If /SYSTEM or /SHARE is specified, the group and world are both given RWLP access. If you mount a volume currently in Files-11 format with the /FOREIGN qualifier, you must have override the volume protection privilege (VOLPRO), or you must be the owner of the volume. 1 PLX is an RSX-11M utility program; RSX~11M utilities under VAX/VMS, for information on how to use see the VAX-1l1l/RSX-11lM User's Guide. 148 MOUNT /GROUP Makes the volume available to other users with the number 1in their wuser identification codes (UICs) issuing the MOUNT command. same group as the user The logical name for the device is placed in the group 1logical name table. You must have the privilege to place a name in the group logical name table (GRPNAM) to use the /GROUP qualifier. /LABEL /NOLABEL Indicates, labels. for tape volumes, whether the tape contains standard If you mount a tape with the /NOLABEL qualifier, an end-of-file condition 1is returned when a tape mark is encountered during reading the tape. The default protection for unlabeled tapes is all access system and owner, and no access to the group and world. /OVERRIDE=option,... Inhibits one or more of MOUNT command the following protection checks to the that the performs: ACCESSIBILITY EXPIRATION (For tapes only). Allows you to override a nonblank VOL1 or HDR1l accessibility field. You must have the user privilege to override volume protection (VOLPRO) or be the owner of the volume. (For tapes only). Allows you to write a tape that has not yet reached its expiration date. You must have the user privilege to override volume protection (VOLPRO) or be the owner of the volume. IDENTIFICATION Allows you to mount a volume when you do not know what the volume label is. If you specify /OVERRIDE=IDENTIFICATION, you can specify anything for the volume-label parameter or you can omit it; the MOUNT command ignores whatever you enter. The volume must be mounted /NOSHARE (either explicitly or by default). ) SETID (For tapes only). Allows you to inhibit checks of the volume set identification when you switch reels in a multi-volume tape set. /OWNER_UIC=uic Requests that the specified user identification code be assigned ownership of the volume while it 1is mounted, overriding the ownership recorded on the volume. Or, if you are mounting a volume /FOREIGN, requests an owner UIC other than your current UIC. Specify the UIC in the format: [g,m] g is an octal number in range of 0 through 377 representing the group number. m is an octal number 1in the representing the member number. The brackets are required. 149 range of O through 377 MOUNT You must have the user privilege to override volume protection to use this qualifier for a Files-1l1 volume; or, you must be the owner of the volume. /PROCESSOR=option Requests that the MOUNT command associate an ancillary control program (ACP) to process the volume, overriding the default manner in which ACPs are associated with devices. The specified option can be one of UNIQUE the following: Create a new process to execute a copy of the default ACP image for the specified device type or controller. \ SAME:device Use the same ACP process currently being file—-spec Create a new process to execute the specified ACP image (for example, a modified or a user-written the device specified. used by ACP) . You must have operator privilege to use the /PROCESSOR qualifier. /PROTECTION=code Specifies the protection code to be assigned to the volume. Specify the code according specifying protection. of the SET PROTECTION category, to the standard syntax rules for (These rules are given in the discussion command.) If you omit a protection that category of user is denied all access. If you do not specify a protection code, the protection defaults to that assigned to the volume when it was initialized. 1If you specify /PROTECTION when you mount a volume with the /SYSTEM or /GROUP qualifiers, the protection code specified overrides any access rights implied by the other qualifiers. If you specify /FOREIGN, the Execute and Delete access codes have no meaning; you can however, specify the access codes P (Physical I/0) and/or L (Logical I/0) to restrict the nature of input/output operations different user categories can perform. You must have the user privilege to override volume protection to use the /PROTECTION qualifier on a Files-1l volume, or you must be the owner /RECORD=n Specifies, of the volume. for tape volumes, the number of characters in each block size record. The record size must be less than or specified or used by default. equal to the Use /RECORD in conjunction with /BLOCK to de-block records. 150 MOUNT /SHARE /NOSHARE Indicates, for a disk volume, whether the volume 1is shareable. If the volume has already been mounted by another user, and you request that it be mounted with the /SHARE qualifier, any other qualifiers you enter are ignored. 1is volume a that assumes command By default, the MOUNT shareable, and allocates the device on which it is mounted. not specify the If you have previously allocated the device and the MOUNT command deallocates the device so qualifier, /SHARE that other users can access it. /SYSTEM Makes the volume available to all users in the system, the UIC-based volume protection allows them access. as long as The logical name for the device is placed in the system logical name table. You must have the privilege to place a name in the system logical name table (SYSNAM) to use the /SYSTEM qualifier. /UNLOCK Requests, for disk volumes, write access to the index file on the volume. The /UNLOCK qualifier is valid only if the volume 1is mounted /NOSHARE. /WINDOWS=n Specifies the number of mapping pointers to be allocated for file windows. When a file is opened, the file system uses the mapping pointers to access data in the file. You can specify a value from 7 to 80 to override value specified when the volume was initialized. the default You must have operator privilege to use the /WINDOWS qualifier. /WRITE /NOWRITE Controls whether the volume can be written. By default, a volume is considered read/write when it is mounted. You can files. specify /NOWRITE to provide read-only access to protect It is equivalent to write-locking the device. Examples 1. % MOUNT $.MATHOS MTS: - STAT..TARFE - 1-MOUNTEDy MATHOS6 mounted on .MTAO:Z EMOUNT COPY STOS1178.DAT STAT.TAFE: The MOUNT command requests that the magnetic tape whose volume label is MATHO6 be mounted on the device MTAO and assigns the logical name STAT_TAPE to the volume. Subsequently ST061178.DAT the to the COPY tape. command 151 copies the disk file MOUNT ¢ ALLOCATE IiM: ALLOCATED SIMEBZ2E DIMBZ2: HMOUNT TEST.FILES UMOUNT -1 -MOUNTELy TEST.FILES mounted on OMB2S The ALLOCATE command requests an available RK06 device. in the response from the After noting the device name ALLOCATE command, the physical volume can be placed on the Then, the MOUNT command mounts the volume. device. $ MOUNT/ZSHARE OMAZ2: FUBLFILES - FL/FROTECTION=(SYS IRWED OUNRWED » GR ERWEXH shareable The MOUNT command mounts the volume PUB_FILES as a The /PROTECTION qualifier allows all types of access volume. to the system, the owner, and to other members of the volume All other users are denied all types of owner's group. access. % MOUNT/FORETGN NT T -MOUNTEDRy EMOU $ MCR MTAL: TESTER mounted on MTALZ FLX foreign volume The MOUNT command requests the mounting of a The MCR FLX command invokes the RSX-1l1M the device MTAl. on File Transfer Utility to process the volume. $ MOUNT IiMAL S FURS..BACK REYSTEM=F~INCVOLLAKEL» incorrect volume label ~MOUNT-T-VOLIDENTy label=’BACK.UF.GMR’y owner="MALCOLM’» format= "NECFILELLR’ The system response to the first MOUNT command indicates that The second message from the label was incorrectly specified. the label on the volume, the the MOUNT command displays and the volume format (DECFILEl11lB indicates volume owner, 2 that the volume is in DIGITAL's Files-11l, Structure Level format). 152 ON Defines the default courses of action when a command or program executed within a command procedure (1) encounters an error condition or (2) is interrupted by CTRL/Y. The specified actions are taken only if the command interpreter 1is enabled for error checking or CTRL/Y interrupts; these are the default conditions. Formats ON severity-level THEN [$] command Command Qualifiers Default None. ON ON CONTROL_Y THEN [$] ERROR THEN $ EXIT command Prompts None. Command Parameters severity—level Specifies the severity condition that will indicated to be taken. The severity-level is of the following keywords: cause the represented action by one WARNING ERROR SEVERE_ERROR You can truncate any of these keywords to one command Specifies the action to be taken when errors than the specified 1level of error occur. valid command line after the keyword THEN; precede the command line with a dollar sign. or more characters. equal to You can you can or greater specify any optionally Description Error Handling: When any command or program is executed, the return status value 1is <checked with the current ON severity level. 1If you specify WARNING, the specified action is taken for warning, error, and severe error returns. If you specify ERROR, the specified action is taken for error and severe error returns; the default action for warnings is to continue. If you specify SEVERE_ERROR, the specified action is taken only for severe, or fatal, errors; the default action for errors and warnings is to continue. If you do not include an ON statement in a command procedure, the command interpreter, by default, issues the EXIT command whenever errors or severe errors occur during command or program execution. In all other cases, command execution continues. 153 ON Any ON statement in a command procedure overrides the effect of a previous ON statement. The effect of an ON statement is canceled whenever the specified command is executed as a result of the specified error condition. Then, the default action, to stop on errors and severe errors, is reinstated. The action specified by an ON command applies only within the command procedure in which the command 1is executed. If you specify an ON command in a procedure that executes another procedure, procedure. the ON command action does not apply to the nested You can request the command interpreter not to check the returned from commands with the SET NOON command; checking with the SET ON command. status restore CTRL/Y Handling: Normally, pressing CTRL/Y during the execution of a command procedure causes the command interpreter to receive control. 1In a command procedure, you can specify an action to be taken when CTRL/Y 1is pressed; this action also applies when CTRL/C CTRL/C is pressed to interrupt handling routine. a command or program that has no Any ON CONTROL_Y statement overrides the effect of a previous statement. An ON CONTROL_Y action remains in effect until explicitly overridden by another ON CONTROL_Y action statement or until the SET NOCONTROL_Y command is executed. Note the following characteristics of CTRL/Y action handling: e If a procedure that has set a CTRL/Y action invokes another procedure, the default action for CTRL/Y for the new command level is to exit. If CTRL/Y is pressed while this level 1is active, control returns to the procedure that specified the CTRL/Y action; execution continues following the @ command. e If an image is executing when CTRL/Y 1is pressed, exit handlers declared by the image, 1if any, are executed before the CTRL/Y action is taken. e If no image is currently executing, that is, the command interpreter is executing a command that does not invoke an image, the command completes before the CTRL/Y action is @ taken. If the CTRL/Y action does not result 1in a transfer of control in the procedure, then the procedure continues executing following the CTRL/Y action. Execution resumes following the command or program image that was interrupted. You can command. disable CTRL/Y interrupts with the SET NOCONTROL Y Then, neither a default nor a user-specified action 1is taken when CTRL/Y is pressed. Note that a command followed by a SET CONTROL_Y command CTRL/Y condition handling. 154 SET NONCONTROL_Y resets the default ON Examples $ ON SEVERE_ERROR THEN CONTINUE After this statement is executed in a command procedure, execution of the procedure will continue when any warning, error, or severe error condition occurs. Once the statement has been executed-as a result of a fatal error condition, the default action, EXIT, is reinstated. $ ON ERROR THEN GOTO BYPASS $ RUN A $ RUN B $ EXIT $ BYPASS: RUN C If either program A or program B returns a status code with a severity level of error or severe error, control is transferred to the statement labeled BYPASS. $ ON WARNING THEN EXIT $ SET NOON $ RUN [SSTEST]LIBRA $ SET ON The ON command requests that the procedure exit when any warnings, errors, or severe errors occur. Later, the SET NOON command disables error checking before executing the RUN command. Regardless of any status code returned by the program LIBRA.EXE, the procedure continues. The next command, the $ SET ON, re-enables error checking and reestablishes initial ON condition. ON CONTROL_Y THEN GOTO CTRL_EXIT N - L l. CTRL_EXIT: CLOSE INFILE CLOSE OUTFILE EXIT The ON command specifies action to be taken when pressed during the execution of this procedure. closing files and exits. CTRL/Y is When CTRL/Y is pressed, the GOTO command that transfers control to the line 1labeled CTRL_EXIT 1is executed. At this label, the procedure performs clean-up operations, in this example, 155 OPEN Opens a file for reading or writing at the command level. Format OPEN logical-name file-spec Command Qualifiers Default /ERROR=1abel /READ /WRITE /READ /READ Prompts Log_Name: logical-name File: file-spec Command Parameters logical-name’ Specifies a logical name file-spec Specifies the name of or output. If the type, the system uses to be assigned to the file. the file or device to be opened for file specification does not include the default file type of DAT. input a file Description A file can be opened for either reading or writing, but not both. After a file 1is opened, it is available for input or output at the command level with the READ and WRITE commands, or it can be accessed within a program image for input or output operations using the logical name. The 1logical devices SYSSINPUT, SYS$SOUTPUT, SYSSCOMMAND, and SYSSERROR do not have to be explicitly opened before they can be cead or written at the command level. All other files must be explicitly opened. You can assign issue more than one OPEN command it different logical names. for the same file, and If you specify the same logical name on more than one OPEN command without closing the file, no warning message is issued and the file is not opened. If the file had been previously read, the next read request returns the record after the record previously read. Command Qualifiers /ERROR=1label Specifies a label on a line in the command procedure control 1if the open request results in an error. routine is specified and an error occurs during the the file, the command procedure continues execution line in the file, as it does if 156 no error occurs. to receive If no error opening of at the next OPEN The error routine specified for this qualifier takes precedence over any action statement indicated in an ON command. If /ERROR is not specified, the current ON condition action is taken. If an error occurs and a target label 1is successfully given control, the reserved global symbol $STATUS contains a successful completion status. /READ Requests that the file be opened for reading. default, if neither /READ nor /WRITE is specified. This 1is the /WRITE Requests that the file be opened for writing. If the specification does not contain a version number and the already exists, a new version of the file is created. file file Examples 1. | $ $ $ OPEN INPUT_FILE AVERAGE.DAT READ_LOOP: READ/END_OF_FILE=ENDIT INPUT_FILE NUM $ GOTO READ_LOOP $ ENDIT: $ CLOSE INPUT_FILE The OPEN command opens the file named AVERAGE.DAT as an input file and assigns it the logical name INPUT FILE. The READ command reads a record from the logical file INPUT_FILE into the symbol named NUM. The procedure executes the lines between the labels READ_LOOP and ENDIT until the end of the file 1is reached. At the end of the file, the CLOSE command closes the file. 2. | $ OPEN/WRITE/ERROR=OPEN_ERROR $ WRITE_LOOP: OUTPUT_FILE TEMP.OUT $ GOTO WRITE_LOOP $ OPEN_ERROR: $ WRITE SYSSOUTPUT $ EXIT "Cannot open The OPEN command opens the file TEMP.OUT" file TEMP.OUT for output and assigns it the logical name OUTPUT_FILE. The /ERROR qualifier specifies that if any error occurs while opening the file, the command interpreter should transfer control to the line at the label OPEN_ERROR. 157 PASSWORD Specifies the password associated with the card for a batch job submitted through JOB user name specified on the system card reader. a Format PASSWORD password Command Qualifiers None. Prompts None. Command Parameters password Specifies the 1- to 8-character password name specified on the JOB command. associated with the user Description The PASSWORD command is valid only in a batch job submitted through the card reader. The $ is required. The password is checked against the password associated with user name specified on the JOB card, and must be correct or the job is rejected. Note that you can suppress printing on the card when you keypunch the PASSWORD <card to prohibit other users from seeing the password. Example l. $EOJ ——— command input stream = ( e — $ PASSWORD HENRY /S JOB HIGGINS The JOB and PASSWORD commands precede a batch from the card reader. An EOJ command marks job. 158 job the submitted end of the PRINT Queues one or more files printer or on a for printing, specified device. either on a default system Format PRINT file-spec,... Command Qualifiers Default /AFTER=absolute~time /DEVICE=device—-name /FORMS=type /HOLD / [NO] IDENTIFY /JOB_COUNT=n /LOWERCASE /NAME=job-name /PRIORITY=n /QUEUE=queue-name /NOHOLD /IDENTIFY /JOB_COUNT=1 /NOLOWERCASE File Qualifiers /BURST /COPIES=n /DELETE /NOBURST /COPIES=1 /NODELETE /FLAG_PAGE /HEADER /PAGE_COUNT=n /NOFLAG_PAGE /NOHEADER / [NO]1FEED /FEED /SPACE [=n] /SPACE=1 Prompts File: file-spec,... Command Parameters file-spec,... Specifies one or more files to be printed. 1If you specify more than one file, separate the file specifications with either commas (,) or plus signs (+). 1In either case, the PRINT command concatenates the files into a single print job. You can specify cards (*). the file name, type, or version fields If you do not specify a file type for the first input PRINT command uses the default file type of LIS. as wild file, the Note that the PRINT command cannot print a file that resides on a device that is allocated. 159 PRINT Description A file or files queued by the PRINT command are considered a job. The system assigns a unique job identification (jobid) to each job in the system and displays this jobid when the PRINT command completes execution. Printer queues are identified by name; if you do not specify a gueue name with the /DEVICE or /QUEUE qualifiers, the system queues the job to an available queue. If no physical printer is currently available with required characteristics, or if the job is in a hold status, the Jjob 1is placed in the queue named SYSSPRINT. the queue The on which PRINT command, it entered the by default, displays the name of job. Command Qualifiers /AFTER=absolute-time Requests that the file not be printed until Specify the time using absolute time values. the standard a specific time of day. syntax If the specified time has already passed, printing immediately. rules the for file is specifying queued for /DEVICE=device-name Requests that the file(s) specified be queued for printing specific device to which queueing is allowed. If /DEVICE specified, files are queued, by default, to SYSSPRINT. qualifier is synonymous with the /QUEUE qualifier. /FORMS=type Specifies the forms type required Specify the forms type using code. Codes for forms types for the specified on a is not This file(s). a numeric value or alphanumeric are installation-defined. /HOLD /NOHOLD Controls whether the file is available for printing immediately. When you specify /HOLD, the file 1is not released for actual printing until you use the SET QUEUE command to release it. /IDENTIFY /NOIDENTIFY Controls whether the PRINT command displays a message the jobid of the print job and the name of the gueue is entered. By default, the PRINT command a job is successfully queued. /JOB_COUNT=n Requests that the entire decimal number from 1 to /LOWERCASE /NOLOWERCASE Indicates letters and that and lowercase the must job be printed 255. specified be displays file(s) printed on letters. 160 a this n information times, contain printer indicating in which it where lowercase that prints whenever n is a alphabetic uppercase PRINT /NAME=job-name Defines a 1- to 8-alphanumeric character name string to identify the job. The job-name is displayed by the SHOW QUEUE command and is printed in the top and bottom rows of the flag page for the job. If you do not specify /NAME, the name string defaults to the file name (truncated to eight characters, if necessary) of the first, or only, file in the job. /PRIORITY=n Specifies the priority of the print job. The priority, n, must be in the range of 0 through 31, where 0 is the lowest priority and 31 is the highest. By default, jobs are assigned the same priority as your current process priority. The user privilege ALTPRI is required to set a priority value that 1is higher than your current process's priority. ) /QUEUE=queue-name Requests that the specified file(s) be printed on a specific device. This qualifier is synonymous with the /DEVICE qualifier. File Qualifiers /BURST /NOBURST Controls whether page precedes However, it a a burst page flag page is printed over is included on output. and contains the same A burst information. the perforation between pages. Use this qualifier to override the installation-defined set up for printers when they are started. /COPIES=n Specifies the number of copies to print. command prints a single copy of a file; request up to 255 copies. defaults By default, the PRINT you can use /COPIES to If you specify /COPIES after the PRINT command name, each file the parameter list is printed the specified number of times. If you specify /COPIES following a file specification, file is printed the specified number of times. only in that /DELETE /NODELETE Controls whether files are deleted after printing. If you specify /DELETE after the PRINT command name, all files specified are deleted. If you specify /DELETE after a file specification, only that file is deleted after it is printed. The protection applied to the the current file must allow delete access to UIC. /FEED /NOFEED Controls 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 62 lines are printed. 161 PRINT /FLAG_PAGE /NOFLAG_PAGE Controls whether a flag page is printed preceding output. If you specify /FLAG with the printed for the entire job. command name, a If you specify /FLAG with any file specification, page is printed preceding the associated file. flag page a separate is flag /HEADER /NOHEADER Controls whether the name of the file is printed at the top of each output page. By default, the file specification is printed only at the top of the first page of output. /PAGE_COUNT=n Specifies the number of pages of the specified file to print. You can only use /PAGE_COUNT to qualify file specifications; it cannot qualify the command name. /SPACE [=n] Specifies the number of spaces (that is, blank 1lines) to leave between 1lines of output on the specified file(s). You can specify 1 or 2 to indicate the number of blank lines. If you do not specify /SPACE, no extra lines are printed between lines of output; if you specify /SPACE without a value for n, output is double-spaced. Examples 1. 4 PFRINT AVERAOGE 236 entered on aueue Jobh LFPAL The PRINT command queues the file AVERAGE.LIS for printing on a system printer. The system displays the jobid and the name of the printer to which it queued the file. 2. % FRINT ALFHA.TXT+EREETALGAMMA Joo entered 237 on queuwe LPALY The PRINT command prints the files ALPHA.TXT, BETA.TXT, and GAMMA.TXT as a single file. The printer output file is named ALPHA .TXT. 3. ¢ $ ASHSIGN LPADY FRINT %.TXT SYSSFRINT Jobh om 238 The ASSIGN entered command aueue creates LFPAOY an entry in the process 1logical name table for the logical name SYSSPRINT to override the system logical name definition. Subsequently, a PRINT command translates the logical name SYS$PRINT and queues the job on the queue LPAO. This 3job consists of the highest versions of all files with the file type of TXT. 4, ¢ PFRINT/COFRIES=]10/0FTER=20 Jobr 237 entered on cueue ALFHA . TXT LFALS The PRINT command queues 10 copies of the file ALPHA.TXT to the printer, but requests that the copies not be printed until after 8:00 P.M. 162 PRINT 5. $ FRINT/LOWERCASE ALFHA.TXT/COFIES=2y BRETADOC/CORIES=3 Job 238 entered on aueue -~ LPALS The print job queued by this print command consists of two copies of ALPHA.TXT followed by three copies of BETA.DOC. This job must be printed on a printer that can print lowercase letters, % FRINT/ZJOB.COUNT=3 ALFHA . TXT s BETA/NOIDENTIFY This PRINT command concatenates the files ALPHA.TXT and BETA.TXT into a single print job, and prints three copies of the job. The /NOIDENTIFY qualifier requests that the jobid not be displayed. $ FRINT/HOLD Job $ SET 240 MASTER . IIOC entered on aueue SYS$SFRINT QUEUE/RELEASE /ZENTRY=240 The PRINT command queues a copy of the file MASTER.DOC to the default printer in a hold status. Later, the SET QUEUE command releases the hold status on the file and makes it available for printing. 163 PURGE Deletes all but the highest specified file or files. numbered version or versions of a Format PURGE [file-specCc,...] Command Qualifiers Default /KEEP=n / [NO] LOG /KEEP=1 /NOLOG Prompts None. Command Parameters file-spec,... Specifies one or more files to be purged. If you than one file, separate them with either commas (,) (+). If you do not command purges all specify files in a the file specify more or plus signs specification, the PURGE current default directory. The PURGE command does not provide file name or file type defaults; version numbers are not allowed. You can use wild cards in either the file name or type field. Command Qualifiers /KEEP=n Specifies the maximum specified file(s). number of versions to If you do not specify /KEEP, all but the most of the specified file(s) are deleted. retain recent of the n version(s) /LOG /NOLOG Controls whether specifications of the files as By default, PURGE files it purges. does not PURGE command it deletes them. display 164 the displays file the specifications file of PURGE Examples l. $ FURGE %.COM The PURGE command deletes all but the most recent version each file with a file type of COM. $ FURGE AVERAGE .FOR/KEEF=2 The PURGE command deletes all but the versions of the file AVERAGE.FOR. $ of two highest numbered FURGE The PURGE command deletes all but the most recent versions of all files $ PURGE in the default directory. [MALCOLM.TESTFILESI/ZLOG YEURGE ~I~FILPURGEDy DRALICMALCOLM. TESTFIILESIAVERAGE.OBJ1 deleted =T ~F ILFURGEDy DRALICMALCOLM. TESTFILESIRACKUF . ORJIZ deleted APURGE The PURGE command purges all A files cataloged in the subdirectory named MALCOLM.TESTFILES. The /LOG qualifier requests the PURGE command to display the specification of files it deletes. 165 READ Reads a single record record to a specified from a symbol specified name. input file and equates the Format READ logical-name symbol-name Command Qualifiers /END_OF_FILE=label /ERROR=Iabel Prompts Log_Name: logical-name Symbol: symbol-name Command Parameters logical-name Specifies the logical name of the input file from which is to be read. The OPEN command assigns a logical name and places the name in the process logical name table. a record to a file If the READ command is executed interactively and the 1logical name 1is specified as SYSSINPUT, SYSSOUTPUT, SYS$SCOMMAND, or SYSSERROR, the command interpreter prompts for input data. symbol-name Specifies a 1-to-255 alphanumeric character symbol name to be equated to the contents of the record being read. The symbol is always defined locally to the current command level. If the symbol is already defined, the READ command redefines it to the new value. Description The READ command can read data only from sequential files devices. After each record is read from the specified file, READ command positions the record pointer at the next record the file. The maximum size single READ Before a file can be written, it must be opened with the command and assigned a logical name. The process permanent OPEN command of any is 255 bytes. record that can be read in a or the in files identified by the logical names SYSSINPUT, SYSSOUTPUT, SYSSERROR, and SYSSCOMMAND do not have to be explicitly opened to be read. l66 READ Command Qualifiers /END-OF-FILE=1label Specifies the label on a line in When the last record in the file transfers control to the line at the current command is read, the command the specified label. procedure. interpreter If /END_OF_FILE is not specified, then control is given to the label spe01f1ed with the /ERROR qualifier, if any, when the end-of-file is reached. If neither /ERROR nor /END is specified, then the READ command that results in an end-of-file condition returns with an error status code. error /ERROR=1l1abel Specifies a label on a line in the command procedure to receive control if the read request results in an error. If no error routine is specified and an error occurs during the reading of the file, the command procedure continues execution at the next line in the file, as it does if no error occurs. The error routine specified for this qualifier takes precedence over any action statement indicated in an ON command. If /ERROR is not specified, the current ON condition action is taken. If an error occurs and the target 1label is successfully given control, the reserved global symbol $STATUS contains a successful completion value. Examples 1. $ OPEN IN NAMES.DAT $ LOOP: S READ/END_OF_FILE=ENDIT IN NAME $ GOTO LOOP $ ENDIT: $ CLOSE 1IN The OPEN command opens the file NAMES.DAT for input and assigns it the 1logical name of IN. The READ command specifies the label ENDIT to receive control when the last record in the file has been read. The procedure loops until all nn 2. | $ records in the file have been processed. READ/ERROR=READERR/END OF FILE=OKAY MSGFILE CODE OKAY: CLOSE MSGFILE N EXIT READERR: CLOSE MSGFILE The READ command specifies labels to receive control at the end-of-file and on error conditions. At the end-of-file, the procedure uses the CLOSE command to close the file and exits. When an error occurs, the procedure closes the file. 167 READ . $ READ SYS$COMMAND $ WRITE OUTPUT_FILE DATA_LINE DATA_LINE The READ command requests data from the current SYS$COMMAND If the command procedure containing these lines is device. executed interactively, the command issues a prompt to the and equates the data accepts a 1line of data, terminal, entered to the symbol name DATA_LINE. Then, the WRITE command writes the identified to the file DATA_LINE OUTPUT_FILE. 168 value of the symbol by the logical name RENAME Changes the directory name, an existing disk file. file name, file type, or file version of specifications are Format RENAME input-file-spec Command output-file-spec Qualifiers Default /[NO]NEW_VERSION /NEW_VERSION Prompts From: input-file-spec To: output-file-spec Command Parameters input-file-spec Specifies the names to be changed. of You file can file whose specify the one or more name, type, specification with wild specifications satisfy the renamed. files whose or cards. fields fields of the case, all files specified are version In this that output-file-spec Specifies the new file specification to be applied to the input file. The RENAME command uses the device, directory, file name, and file type of the input file specification to provide defaults for nonspecified fields in the output If you do not specify a version number for the output file, the RENAME command increments the highest existing version, if any, by one. You can specify version number a wild card of output-file-spec; the in place of the file name, the RENAME type, command or uses the corresponding field in the input file specification to name the output file. Wild cards in corresponding fields of the input and output file specification result in multiple rename operations. If you are renaming multiple files and specify a wild card card for Command for the the file version name or file number as RENAME command type, you must specify a wild well. Qualifiers /NEW_VERSION /NONEW_VERSION Controls whether the version number to name file and type the output already file, exists. 169 automatically if a assigns file with the a new same file RENAME Examples l. % RENAME AVERAGE.ORJ OLDOAVE The RENAME command changes the file name of the highest existing version of the file AVERAGE.OBJ to OLDAVE.OBJ. If no file named AVERAGE.OLD currently exists, the new given a version number of 1. $ RENAME/NONEW..VERSION SCANLINE.ORJSZ file 1is 5X FP « OB.J BACKU to The RENAME command renames the file SCANLINE.OBJ;2 The /NONEW_VERSION qualifier ensures that, if BACKUP.OBJ; 2. BACKUP.OBJ:2 already exists, the RENAME command will not rename the file, but report the error. ¥ RENAME Kk TXTé% X K OLIG The RENAME command renames all versions of all files with file types of TXT to have file types of OLD. The file names and version numbers are not changed. $ RENAME [HIGGINSICOMPLIR.OLE [HIGGINS.LIBRARYI The RENAME command changes the directory name of the object module library COMPLIB.OLB. The library is now cataloged in the subdirectory [HIGGINS.LIBRARY]. PENAME [MALCOLM. TESTFILESISAVE .DAT CLITEST The RENAME command renames the file SAVE.DAT in the directory/ in MALCOLM.TESTFILES to TEST.DAT. the current default directory. 170 The new file is cataloged REQUEST Displays a message requests they a perform; particular at reply. a system System if function, operator's operators more than one all receive the are terminal, identified operator is by and optionally the function(s) designated specified message. for a Format REQUEST message-text Command Qualifiers Default /REPLY /TO[=operators,...] /TO=ALL Prompts None. Command Parameters message-—text Specifies the text of a message operator's terminal(s). to be displayed at the specified The message text can have a maximum of 128 characters:; if type more than one word, enclose the text in quotation marks. you Description When you use operator, the the REQUEST message command is to send displayed at one a message or more to an operators' terminals, according to the keywords specified with the /TO qualifier. If you specify /REPLY, the message is assigned an identification number, so that the operator can respond to the message. If you specify /REPLY, you AOFCOM-S-0FRNOTIFy When ‘the in the operator orerator responds format: receive If you request operator a reply, responds. If you you REQUEST - Enteor REQUEST —~ Message? cannot messase or waiting...hhimmlss request, text press message: notifiedy to your AQFCOM~S-O0FREFLY» messadge the entered you receive bw orerator enter any commands CTRL/C, you receive cancel with a message until the the message: <72 At this time, you can enter either a message to be displayed at the specified operator(s)' terminal(s), or you can press CTRL/Z to cancel the request. If you enter a message, that message is sent All the to the operator and you must messages continue to wait are logged at the central operator's system operator's log file, if initialized. 171 for a console reply. and in REQUEST Command Qualifiers /REPLY Requests a reply to the specified message. request If you message the reply, a is wunique a assigned identification so that the operator can respond. /TO[=operators,...] the send to Specifies one or more operators to whom you wish You can specify one or more of the following keywords. message. commas If you specify more than one keyword, separate them with By default, the message is and enclose the list in parentheses. to sent all terminals currently designated as operators' terminals. ALL Send the message to all operators. CENTRAL Send the message to the central system operator. DEVICES Send the message to operators designated to mount Send the message to operators designated to DISKS OPER1 disk and tape volumes. mount and dismount disk volumes. through OPER12 Send the message to an installation-specified identified as OPR1l, OPR2, PRINTERS and so on. Send the message to operators designated to respond to mount and printer requests. Send the message to operators designated to TAPES operator dismount tape volumes. Examples 1. 4 $ PRINT/ZCOPIES=2 Joab 401 ertered REFORT . QUT /FORME=H on aueue REQUEST/ZREFLYZTO=FRINTERS LFALS - carn o wou erint 10T B "Mave aueued Job 401 ag forms=HE YORFOOM-S~0FRNOTIFy orerator notifiedy waiting...10842116.10 HOPCOM-5-RASTCMPLTEy recuest comslete HOPCOM-S-0FREFLYy AFTER 11:00 be The PRINT command requests that multiple copies of a file After type of paper (/FORMS=H). printed using a special a message queueing the PRINT job, the REQUEST command sends system operator designated to handle users' requests the to the operator how long The message asks about print jobs. before the file will be printed. The reply shows the text entered by the operator. 172 REQUEST 2. $ REQUEST/REFLY "ARE YOU THERE® ZOFCOM-8-0FRNOTIFy orerator rnotifiedr waiting...14154:30.33 I‘\C REQUEST~Enter messadge or cancel recuest with <7Z> REQUEST~-Message2 ? LZOFCOM~-S-0FRNOTIFy orerator motified, waiting... ZOFPCOM~F~RASTCANy recuest was canceled The REQUEST command issues a message to see operators. When no response is received, the request and then CTRL/Z cancels it. 173 14:59:01.38 if there are any CTRL/C interrupts RUN (Image) Places an image into execution in the process. You can truncate the RUN command to a single letter, R. Format RUN file-spec Command Qualifiers / [NO] DEBUG Prompts File: file-spec Command Parameters 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 EXE. Command Qualifiers /DEBUG /NODEBUG Controls, for native VAX-1l images, whether the image 1is to be run with the debugger. If the image was linked with the /DEBUG qualifier and you do not want the debugger to prompt, use the /NODEBUG qualifier. If the 1image 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 1is invalid. Examples 1. 4 RUN LIRRA The 2. % image LIBRA.EXE starts executing in the process. MACROZENABLE=DERUG ORION FOLINK/DERUG $ RUN ORION DERUG ORION Verasion UNERUG-T-INITIALy 1.0 langusge is MACROy score and module set to NERG:TM $ RUNNODERUG DRTON 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 174 on the error. RUN (Process) Creates a subprocess or a detached process to execute a specified image. If you specify any of the command qualifiers listed, the RUN command creates a process. Format RUN file-spec Command Qualifiers Default / [NO]JACCOUNTING /AST_LIMIT=quota /ACCOUNTING /AST_LIMIT=10 /BUFFER LIMIT=QUOTA /DELAY=delta-time /ERROR=file-spec /FILE_LIMIT=quota /BUFFER_LIMIT=10240 /[NO]AUTHORIZE /FILE_LIMIT=20 /INPUT=file-spec /INTERVAL=delta-time /IO BUFFERED=quota /10_BUFFERED=6 /10_DIRECT=6 /10 _DIRECT=quota /MAILBOX=unit /MAXIMUM WORKING_SET=quota /OUTPUT=file~spec /PAGE_FILE=quota /MAXIMUM_WORKING_SET=200 /PAGE_FILE=10000 /PRIORITY =n /PRIVILEGES=privilege-list /PRIVILEGES=SAME /PROCESS_NAME=process-name /QUEUE LIMIT-quota /QUEUE_LIMIT=8 /RESOURCE_WAIT /[NO]RESOURCE WAIT /SCHEDULE=absolute-time /[NO]SERVICE FAILURE /SUBPROCESS _LIMIT=quota /[NO]SWAPPING /TIME_LIMIT=1limit /UIC=uic /WORKING_SET=default /NOSERVICE_FAILURE /SUBPROCESS_LIMIT=8 /SWAPPING /TIME_LIMIT=0 /WORKING_SET=200 Prompts File: file~-spec Command Parameters file-spec Specifies an executable image to be executed in process. If the file specification does not include the RUN command uses the default file type of EXE. a a separate file type, Description When you command, use any of the RUN the qualifiers 1listed above with the command creates a process and displays RUN the process identification (PID) of the process on SYSSOUTPUT. The process executes the image specified in the file-spec parameter.. When the image completes execution, the system deletes the process. 175 RUN (Process) By default, the RUN command creates a subprocess with the same UIC, current disk and directory defaults, privileges, and priority of current process, and deducts resource quotas from the current process to assign to the subprocess. The /UIC qualifier requests the RUN command to create a detached process; you must have the user privilege DETACH to create a detached process. Input, Output, and Error Streams: Use the following qualifiers to assign equivalence names for the logical names SYS$INPUT, SYSSOUTPUT, and SYSSERROR for the process: /INPUT /OUTPUT /ERROR The equivalence names you specify for these process-permanent files are interpreted with the context of the process you are creating. For example, file type defaults and logical name use and translation are image- and language dependent. Defining Process Attributes: Use override the default attributes for the following a process: qualifiers to /BCCOUNTING /PRIORITY /PRIVILEGES /PROCESS_NAME /SERVICE_FAILURE /SWAPPING Assigning Resource Quotas: When you 1issue a RUN command to create a process, you can define quotas to restrict the amount of various system resources available to the process. The following resource quotas are deductible when you create a subprocess; that is, the values you specify are subtracted from your current quota and given to the subprocess: Qualifier Quota /BUFFER_LIMIT /FILE_LIMIT BYTLM FILLM /PAGE_FILE PGFLQUOTA /QUEUE LIMIT TQELM /SUBPROCESS_LIMIT PRCLM The quota amounts are returned to your current process subprocess is deleted. when the 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. 176 RUN You (Process) can also specify limits for the following, non-deductible quotas: Qualifier Quota /AST_LIMIT /IO_BUFFERED ASTLM BIOLM DIOLM WSQUOTA CPULM WSDEFAULT /IO_DIRECT /MAXIMUM_WORKING_SET /TIME_LIMIT /WORKING_SET Hibernation and Scheduled Wakeups: to schedule execution of the image: Use the following qualifiers /DELAY /INTERVAL /SCHEDULE If you the specify any process and of these qualifiers, places it in a state the of RUN command hibernation. creates The process cannot execute the image until it 1is awakened. Time values specified with these three qualifiers control when the process will be awakened to execute the specified image. You can schedule wakeups for a specified delta time (/DELAY qualifier) or absolute time (/SCHEDULE qualifier). Optionally, you can schedule wakeups for recurrent intervals, with the /INTERVAL qualifier. If you specify an interval time, the created fixed process time process is is awakened intervals. returned scheduled wakeup to to execute When a occurs, the state of the image the image specified completes hibernation. is the /PROCESS_NAME name. You CANCEL can command. qualifier use A STOP this to give process command at the When reactivated. the image completes abnormally, for example, if it system service, it does not return to hibernation. Use image normally, the name in terminates calls «created a the Note the of STOP the if Exit process subsequent execution next that a or image in the process, and causes the process to be deleted. The CANCEL command cancels wakeup requests that are scheduled but have not yet been delivered. . Command Qualifiers /ACCOUNTING /NOACCOUNTING Controls created whether accounting records are to be process. By default, all processes system accounting file. You user must have the privilege /AST_LIMIT=quota Specifies the maximum number the created If you do is used; This quota process not the is can have ACNT to disable of Asynchronous logged for are logged in the the accounting. System Traps (ASTs) outstanding. specify an AST limit quota, the default value of 10 minimum required for any process to execute is 2. not deductible. 177 RUN (Process) /AUTHORIZE /NOAUTHORIZE Controls, when the image to be executed is (LOGINOUT.EXE), whether login searches file to validate a detached process. the system login image the user authorization 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 by the /INPUT and /OUTPUT qualifiers 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 the maximum amount process may use for buffered creation. of memory, 1in I/0 operations or bytes, that the temporary mailbox If you do not specify a buffered I/0 quota, the default value of 10240 bytes is used; the minimum amount required for any process to execute is 1024 bytes. This quota is deductible. /DELAY=delta-time Requests that the created process be placed in hibernation, awakened after a specified time interval has elapsed. Specify the delta-time according to the rules for delta specifications (these rules are given in Section 6.8). and time If you specify /INTERVAL with /DELAY, the first wakeup request occurs at the time specified by /DELAY and all subsequent wakeups occur at intervals as specified by /INTERVAL. /ERROR=file-spec Defines a 1- to 63-alphanumeric character equivalence name string for the 1logical 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 number open at any one time. If you do not the system required for This quota of specify an open files that file quota for a uses the default value of 20. any process to execute is 2. process a created can have process, The minimum amount is deductible. /INPUT=file-spec Defines a 1- to 63-alphanumeric 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. 178 RUN (Process) /INTERVAL=delta~time Requests that the created process be placed awakened at reqularly scheduled intervals. Specify the delta time specified entering delta times (these rules in hibernation according to the are given in Section and rules 6.8). for If you specify /DELTA or /SCHEDULE with /INTERVAL, the first wakeup occurs at the time specified by /DELAY or /SCHEDULE, and all subsequent wakeups occur at intervals specified by /INTERVAL. If you specify neither /DELAY nor /SCHEDULE with /INTERVAL, first wakeup occurs immediately, by default. If the image to be executed qualifier has the effect is an RSX-1lM image, the of the /DELAY qualifier. the /INTERVAL Only one wakeup occurs. /10_BUFFERED=quota Specifies the maximum number of system-buffered I/0 the created process can have outstanding at a time. If you do not specify a buffered 6 is used; the minimum required This quota is I/0O quota, the default value for any process to execute is is specify a direct I/0 quota, used; the minimum required for This quota is not deductible. /MAILBOX=unit Specifies the of 2. not deductible. /I0_DIRECT=quota Specifies the maximum number of direct I/0 operations process can have outstanding at a time. If you do not operations unit number of any a mailbox the process to the created default value to execute receive a is of 6 2. termination message when the created process is deleted. If no mailbox is specified, the creating process receives no notification when the process is deleted. Mailbox creation and use described in the VAX/VMS and process termination mailboxes System Services Reference Manual. /MAXIMUM_WORKING_SET=quota Specifies the maximum size to which the image to be the process can increase 1its working set size. increase its working set size by calling the Adjust Limit system are executed in (An image can Working Set service). If you do not default value to execute is specify a working set quota, the of 200. The minimum value required 10 pages. This quota not deductible. 1is system uses a for any process /OUTPUT=file~-spec Defines a 1- to 63-alphanumeric character equivalence name string for the 1logical device name SYSSOUTPUT. The logical name and equivalence name are placed in the process logical name table for the created process. 179 RUN (Process) /PAGE_FILE=quota Specifies the maximum number of pages the paging file for the process; secondary storage to use during that can be allocated in that 1is, the amount of the execution of the image. If you do not specify a paging file quota, the system uses a default value of 10000 pages. The minimum value required for a process to execute is 256 pages. This quota /PRIORITY=n Specifies is deductible. the base priority at which the created process is to execute. The priority, n, is a decimal number from 0 through 31, where 31 is the highest priority and 0 is the lowest. Normal priorities are in the range 0 through 15, and time-critical priorities are in the range of 16 through 31. You must have the user privilege to set any process priority to set the base priority higher than your current process' priority. If you specify a higher value when you do not have the privilege, or if you do not specify a priority, the priority defaults to the priority of the current process. /PRIVILEGES=privilege-list Defines user privileges for the created process. The privilege list consists of one or more of the keywords listed below. You must have a user privilege to give a process you create any privileges that you yourself do not have. [NO]JACNT Allow/disallow process to create processes for which no accounting messages are written ALLPRIV Give [NO]ALLSPOOL Allow/disallow spooled devices [NO]ALTPRI Allow/disallow the process the process all privileges the process to to allocate set priority values [NO] BUGCHK Allow/disallow the process to make bug error log entries [NO] CMEXEC Allow/disallow the process to executive to change its mode [NO] CMKRNL Allow/disallow the process to change its mode to [NO] DETACH check kernel Allow/disallow the process to create detached processes [NO] DIAGNOSE Allow/disallow the process diagnostic I/0 requests [NO] EXQUOTA Allow/disallow the process to to exceed issue its quotas [NO] GROUP Allow/disallow the process to processes in the same group 180 control other RUN (Process) [NO] GRPNAM Allow/disallow the process to place the group logical name table [NO] LOG_IO Allow/disallow the process I/0 requests to a device to [NO] MOUNT Allow/disallow the process volume QIO request to [NO]NETMBX Allow/disallow network device [NO]OPER Allow/disallow the operator functions [NO]PHY_IO Allow/disallow the process I/0 requests to a device [NO] PRMCEB Allow/disallow the process permanent event flag the common issue Allow/disallow permanent global [NO] PRMMBX Allow/disallow the permanent mailboxes [NO] PSWAPM Allow/disallow to process to a mount create a to perform issue physical to create clusters the process sections process the process in 1logical issue process [NO] PRMGBL names to to create to create alter its swap the same mode [NO] SAME Allow/disallow the process to have privileges as the current process [NO] SETPRV Allow/disallow the privileges to other [NO] SYSGBL Allow/disallow the global sections [NO] SYSNAM Allow/disallow the process to place the system logical name table [NO] TMPMBX Allow/disallow the temporary mailbozxes [NO] VOLPRO Allow/disallow protection [NO]WORLD Allow/disallow process processes in process to processes process higher create system process process the to give to to names to create override control in all volume other system If you do not specify /PRIVILEGES, the created process has the same privileges as your current process. If you specify /PRIVILEGES=NOSAME, the created process has no privileges. /PROCESS NAME=process-name Defines a 1- to 15-alphanumeric character name process. number of The process name the process's UIC. is If you do not specify a process null name, by default. 181 for implicitly qualified name, the the by created the group created process has a RUN (Process) /QUEUE_LIMIT=quota Specifies the maximum number of timer gqueue entries that the created process can have outstanding at any one time. This includes timer requests and scheduled wakeup requests. If you do not specify a timer queue entry quota, the system uses the default wvalue of 8. A process does not require any timer queue quota in order to execute, This quota is deductible. /RESOURCE WAIT /NORESOURCE_WAIT Enables or disables resource wait mode for the created process. By default, the system places a process in a wait state when a resource required for a particular function is not available. If you specify /NORESOURCE_WAIT, the process will receive an error status code when a resource is unavailable. /RESOURCE_WAIT is the default. /SCHEDULE=absolute-time Requests that the created process be placed awakened at a specific time of day. 1in hibernation and Specify the absolute time value according to the rules for entering absolute time values (these rules are given in Section 6.8). /SERVICE_FAILURE /NOSERVICEFAILURE 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, a status code indicating an error is returned. If you specify /SERVICE_FAILURE, the process will encounter an exception condition if an error occurs during a system service request. /NOSERVICE_FAILURE is /SUBPROCESS _LIMIT=quota Spec1f1es the maximum number of process is allowed to the default. subprocesses that the created create. If you do not specify a subprocess limit, the system uses the default value of 8. A process does not require any subprocess quota in order This quota /SWAPPING /NOSWAPPING Enables or to execute. is deductible. disables process swap mode for the <created process. By default, a process is swapped from the balance set in physical memory to allow other processes to execute. If you specify /NOSWAPPING, the process is not swapped out of the balance set when it 1is 1in a wait state. /SWAPPING is the default. You must have the user privilege to disable process swapping to specify /NOSWAPPING 182 for a process you create. RUN (Process) /TIME_LIMIT=1imit Specifies the maximum amount of CPU process, process time 1in is is not l-millisecond deleted. A CPU restricted; time units. time this limit is allocated When of the 0 the default. that the created process The specified uic defines a user created process, in the format: is to be the created expires, 1indicates If you restrict CPU time for a process, specify according to the rules for specifying delta time /UIC=uic Specifies to time the that the time values. CPU 1limit a detached process. identification code for the [g,m] g is an octal number in range of 0 through the group number of the process is an octal number 1in the range of m representing The brackets are the individual member 377 representing 0 number of through process 377 the required. /WORKING_SET=default Specifies the default working that set the number in 1is, be executed. If you the do not specify default required for of value a a of process pages size the for default working 200 pages. to execute the working set size, quota is for process; the the 1is 10 pages. image system The minimum number specified cannot be greater than the working with the /MAXIMUM_WORKING_SET qualifier). This created set uses of pages The set quota to value (specified not deductible. Examples 1. # RUNAFROGESS. NAME=SURA ARUN=-S-PROCLITy SCANL INE ddentification of created The RUN command creates a subprocess the 1image SCANLINE. The system identification number of 00133404. 2. B $ named gives RUNZINTERVAL=1240/FROCESS. NAME=GTAT ARUN=G-FROC..ILy CANCEL didentification of srocess is 00133404 SUBA to execute the subprocess an STATCHK created rrocess is 00LDO123 STAT The RUN command creates a subprocess named STAT to execute the image STATCHK.EXE. The process is scheduled to execute the image at 1l-hour-and-40-minute intervals. The process hibernates; however, because neither /DELAY nor /SCHEDULE is specified, the first wakeup occurs immediately. The CANCEL posted by currently command subsequently cancels the /INTERVAL qualifier. executing hibernates. the image, 183 it the If completes wakeup requests the process is the execution and RUN (Process) LYRA - $ RUNAPROCESS..NAME=LYRA S/ RUFFERLLLIMIT=1024 - . /FTLELIMIT=4 ~ $APAGE FTLES=2546 -~ L IMIT=2 S /0UERE $ . /BURPROCESS LLIMIT=2 HA0UTFUT= TTR3 - % AERROR=TTRAS - S-FROCLIIYy identification of created srocess is 00121089 wRUN The RUN commamd creates a subprocess named to LYRA execute the image LYRA.EXE. The resource quotas assigned by command qualifiers provide the subprocess with the minimum quotas The /OUTPUT and /ERROR qualifiers assign required to run. names SYS$OUTPUT and SYSSERROR logical the to es equivalenc Any messages the subprocess writes to for the subprocess. its default output devices are displayed on the terminal TTB3. v (SAME » NOPBWAFM) E100 40/ FRIVILEGES= F RUNZUIC= OVERSEER . ZNORESOURCE .LWALT C. identitication of created rrocess is Q010002C YRUN=-G-FROIOy The RUN command creates a detached process to execute under The It executes the image OVERSEER.EXE. ([100,4]. the UIC RUN command gives the process all the privileges of the except the ability to alter its swap mode. current process, The /NORESOURCE_WAIT qualifier disables for resource wait mode the process. F AKGTENAGROUFE IMALCOLM. TESTFILES] $ RUNSFROCEOSS=GUR L/ INFUT=TESTIOUTL L S0UTFUT= TEST -~ F$LO0GTCAL CPSYSSOUTRUTY ) FROCUIDy UM WATOH -~ identification of created srocess is 001D002E The ASSIGN command creates an entry in the group logical name The RUN command creates a the logical name TEST. for table subprocess to execute the image WATCH.EXE. The /INPUT qualifier defines SYSSINPUT for the The 1logical OUT1.DAT. logical name TEST defines Because the logical name name table, referred to by the subprocesses. the directory for the file TEST is in the group the logical name can be translated and image WATCH.EXE. The /OUTPUT qualifier uses the lexical function FSLOGICAL to name of the current process's logical the translate name string is equated to equivalence The device. SYSSOUTPUT the device SYSSOUTPUT for the subprocess. 184 SET Defines or changes, for the characteristics associated current terminal with files and process. session devices or batch owned by job, the Format: SET option Options CARD_READER [NO] CONTROL_Y DEFAULT MAGTAPE [NO] ON PROCESS PROTECTION QUEUE RMS_DEFAULT TERMINAL [NO] VERIFY WORKING_SET Prompts option Description The in SET command options listed above are this manual. Table 2 lists all of including those operators and that are generally managers. 185 described individually the SET command options, reserved for use system by SET Table 2 SET Command Options Optionl Function ACCOUNTING Initializes the accounting log file CARD_READER Defines the default ASCII translation mode [NO] CONTROL_Y Disables/enables interrupts caused by CTRL/Y DEFAULT Establishes 1 DEVICE Defines device charac;eristics LOGINS1 Allows or disallows users to log in to the system MAGTAPE Defines characteristics of a magnetic tape device [NO] ON card for a reader a device and/or directory current default for file specifications the as interpreter checks Controls whether the command for an error condition following the execution of commands in a command procedure 1 PRINTER ‘'Defines characteristics of a printer PROCESS Defines execution characteristics of current the process PROTECTION Defines the protection status of a file or group of files, or establishes the default protection to be applied to all files subseqguently created during the job QUEUE Changes the attributes associated with one or more entries in a printer or batch job gueue RMS_DEFAULT multi-buffer Provides default multi-block and count values to be used by RMS for file operations TERMINAL Defines operational characteristics of a terminal gici Changes the UIC of the current process [NO] VERIFY Controls whether the command interpreter displays lines in command procedures as it executes them WORKING_SET that 1Indicates 1 Operator's Guide. Changes the current working set limit or guota this command 1is 186 described in the VAX/VMS SET CARD_READER Defines the default reader. be All converted translation mode subsequent using the input read specified for into mode. cards the read into specified a system card card reader the translation will Format SET CARD_READER Command device~name Qualifiers /026 /029 Prompts Device: Command device—-name Parameters device-name Specifies the mode is to be The Command name set. device must of not be the card reader for which currently allocated to any other user. Qualifiers /026 Indicates that the cards were punched on an Indicates that the cards were punched AlLLOCATE CR3 026 punch. 029 punch. /029 on an Example 1. & SLGRAGE ALLOCATED $OEET CARDLREATER CRAQI/D29 $ COFY The by CRAC ALLOCATE CMALCOLM. DATAFILESICARDS DAT command specifying the requests generic command the allocation of a card reader device name. When the ALLOCATE displays the name of the device, the SET CARD_READER command sets the translation mode at 029. Then, the COPY command copies all the cards read into the card reader CRAOQ into the file CARDS.DAT in the directory MALCOLM.DATAFILES. 187 SET CONTROL_Y Controls whether the command interpreter receives control when is CTRL/Y pressed. Format SET CONTROL_Y [NO] Command Qualifiers None. Prompts None. Description it The CTRL/Y function key provides a general—purpose escape; can be used at any time during an interactive terminal session to interrupt the current command, command procedure, or program image. The SET NOCONTROLY command is provided for use in spec1a1 when the SET NOCONTROL_Y command is executed in a applications; system-specified command procedure for a particular wuser at that user can communicate only with the application login, program that controls the terminal. When SET NOCONTROL_Y is in effect, the CTRL/Y function key has the same effect as a CTRL/U function followed by a carriage return. The effect of SET NOCONTROL_Y also applies to the CTRL/C function for all commands and programs that do not have special action routines to respond to CTRL/C. Example 1. 4 SET NOCONTROL.LY After this command, the CTRL/Y function is disabled. 188 SET DEFAULT Changes the default device process. The specifications When you new that do change the and/or default applied not explicitly give default specified device with directory is the device logical name to the SYS$DISK. the current subsequent file directory name. a device or assignment, name for all system equates the Format SET DEFAULT Command device-name Qualifiers None. Prompts Device: Command device~name Parameters device-name Specifies default If you with it in The a device device specify a colon. brackets SET DEFAULT in and/or file a physical If you ([ ] or command directory name to be used specifications. device name, terminate specify a directory < >). performs entire string specified, not device name specified, as is the not recursive. logical name, name the as device you must translation the name enclose on on the left-most portion of usual case. The translation the the is Examples 1. ¢ SET g COFY The DEFAULT Mok SET DEFAULT CARPENTER. directory directory command 2. ¢ SET LCARFENTERD RoX The name for command changes the default directory to disk device does not change. The be as the in default CARPENTER subsequent is assumed to file searches, shown. DEFAULT default the COPY DRa23 This command changes the default disk device default directory name does not change. to DBA2. The p——— ¢ SSET DEFAULT DBB2 { d input stream ——— ([TESTFILES] — SET DEFAULT S PASSWORD HENRY /S JOB HIGGINS The reader. A batch user submits a job in the system card all first command in the batch job is a SET DEFAULT command; file specifications will default to the directory TESTFILES on the disk DBB2. Y $ SAVEDEF := 'F$DIRECTOR() [122001.MALCOLM.TESTFILES] $ SET DEFAULT $ SET DEFAULT 'SAVEDEF' This command procedure uses the F$SDIRECTORY lexical to save the current function default directory in the symbol named default The SET DEFAULT command changes the SAVEDEF. later the symbol SAVEDEF is used to restore the directory; original default. 190 SET MAGTAPE Defines the default characteristics associated with a specific magnetic tape device for subsequent file operations. The SET MAGTAPE command is valid for tape devices that do not currently have volumes mounted on them, or on which foreign volumes. are mounted. Format SET MAGTAPE device-name Command Qualifiers /DENSITY=density /REWIND /UNLOAD Prompts Device: Command device-name Parameters device—-name Specifies the characteristics The device must name of are to be not be the set. tape device currently allocated to for which the any user. Command Qualifiers /DENSITY=density Specifies the default density, in bpi (bits per inch), for all write operations on the tape device when the volume is mounted as a foreign or as an unlabeled tape. The density can be specified as either 800 or 1600. /REWIND Requests the that the beginning of /UNLOAD Requests that unloaded. volume the the on the specified device the specified device be rewound to tape. volume on be rewound and Example 1. & MOUNT $ SET The The tape MTERILI/FOREIGN MAGTAPRE MTRLS MOUNT command SET MAGTAPE at 800 /ZDENBITY=800 mounts a foreign tape on the device MTBl. command defines the density for writing the bpi. 191 SET ON Controls whether the command interpreter performs error following the execution of commands in command procedures. checking Format SET [NO]ON Command Qualifiers None. Prompts None. Description During the execution of command procedures the command interpreter normally checks the status code returned when a DCL command or program image completes, and saves the numeric value of this code in the reserved symbol named $STATUS. The low-order three bits of this value are also saved in the reserved symbol $SEVERITY. The ON command establishes an action to be taken based on the value of S$SEVERITY; the default action 1is to exit from the current procedure when errors or severe errors are encountered. Use the SET NOON command to override the error checking procedure. When SET NOON is in effect, the command interpreter continues to place the status code value in $STATUS and the severity level 1in $SEVERITY, but does not perform any action based on the value. The SET ON or SET NOON command applies only at the current command level. If you use the SET NOON command in a command procedure that executes another procedure, the default, SET ON, is established while the second procedure executes. Example 1. |$ SET NOON $ DELETE #*.SAV;=* $ SET ON $ COPY *,0BJ *.SAV This command procedure routinely copies all object modules into new files with file types of SAV. The DELETE command deletes all existing files with that file type, if any. The SET NOON command ensures that the procedure will continue execution if there are not currently any files with that file type. Following the DELETE restores error checking. Then, of all existing files with file 192 command, the SET ON command the COPY command makes copies types of OBJ. SET PROCESS Changes current execution characteristics terminal session or job. associated with a process for the Format SET PROCESS Command [process—-name] Qualifiers /IDENTIFICATION=process-id /PRIORITY=n /[NO]RESOURCE_WAIT / [NO] SWAPPING Prompts None. Command Parameters process-name Specifies the 1l- to 1l5-alphanumeric character string name of a process whose priority is to be changed. The specified process must have the same group number in as the current process. This /SWAPPING or its user parameter /RESOURCE_WAIT qualifiers are identification code 1is 1invalid if the specified. If you specify /IDENTIFICATION, the process-name parameter is ignored. If you specify neither the process-name parameter nor the /IDENTIFICATION parameter, the priority for your current process Command is changed. Qualifiers /IDENTIFICATION=process-id Specifies the process process when the identification process was created. omit leading identification, you can This qualifier /SWAPPING. 1is invalid if the system assigned When you specify to a the process zeros. you specify /RESOURCE_WAIT or /PRIORITY=n Specifies the new base priority for the requested process. A priority must be in the range of 0 through 31, where priorities 0 through 15 are reserved for normal through 31 are reserved for time-critical The user for any process privilege ALTPRI to a value is required higher priority. If you do not have specify is compared with your value is always used. processes than to the and priorities increase current the priority process's the ALTPRI privilege, the current base priority and 193 16 processes. base value you the lower SET PROCESS You can use the /PRIORITY qualifier to increase or decrease a priority. Note that if you decrease your own base priority and you do not have ALTPRI privilege, you cannot restore its original value. The GROUP and WORLD privileges are required to control other processes in the same group or other processes in the systen, respectively. /RESOURCE_WAIT /NORESOURCE_WAIT Enables or disables resource wait mode for the current process. By default, the system places a process in a wait state when a resource required for a particular function is not immediately available. If you specify /NORESOURCE_WAIT, the process will receive an error status code when system dynamic memory is not available or when the process exceeds one of the following resource quotas: Direct I/0 limit Buffered I/0 limit Buffered I1/0 byte count /RESOURCE_WAIT is (buffer default, removed a quota the default mode. /SWAPPING /NOSWAPPING Enables or disables process swap mode By space) process that for the current process. 1is not currently executing can be from physical memory so that other processes can execute. If you specify /NOSWAPPING, the process is not swapped out of the balance set when it is in a wait state. You must have the user privilege PSWAPM to disable swapping for your process. Examples 1. ¢ RUNSPROCESS.ONAME=TESTER CALL WERUN~G-FROCLINy % BET ddentification of crested rrocess is 00C0012F PROCESS TESTER/FRIORITY=10 The RUN command creates a subprocess and gives it the name TESTER. Subsequently, the SET PROCESS command assigns the subprocess a priority of 2. 10. % SET FROCESS/NORESOURCE.WATT The SET PROCESS command disables resource wait mode current process. 194 for the SET PROTECTION Establishes the protection to be applied to a particular file or a group of files, or establishes the default protection for all files subsequently created during the terminal session or batch job. The protection for a file 1limits the type of access available to other system users. Format SET PROTECTION [=code] Command [file-spec,...] Qualifiers /DEFAULT File Qualifiers /PROTECTION=code Prompts File: file-spec,... Command Parameters code Defines the protection to be applied to the file(s) specified, any; or to be applied to all files subsequently created, /DEFAULT is specified. The format specifying described Codes." if if for specifying the code is the same a code with the /PROTECTION qualifier. below under Specifies one or more the heading files for "How which to the as that for The format is Specify Protection protection is to be changed. A file name and file type are required; number, the protection is changed for version of the file. You can specify wild cards type, and version fields. If you specify /DEFAULT, the specified default created. in you 1is the if you only the directory, cannot enter applied to 195 omit a version highest existing file name, file a file specification; all files subsequently SET PROTECTION Description All disk and tape volumes have access to the volume. You INITIALIZE protection codes that restrict can assign this protection with and MOUNT commands. For disk volumes, each file on the volume, including a directory file, can have a different protection associated with it. The SET PROTECTION command, and other file manipulating commands, allow you to define the protection for individual files. How to Specify Protection Codes: Files accessed by users in four categories: can be potentially @ SYSTEM -- all users who have group numbers of 1 through 10 generally includes system managers, category This (octal). system programmers, and operators. It also includes all users who have either of the user privileges LOG_IO and PHY_IO. @ OWNER -- the UIC of the person who created, and therefore owns, the volume or file, and all processes that execute with that UIC. ® GROUP -- all users who have the same group number in their UICs as the owner of the file. This user category includes the owner @ of the file. WORLD -- all users who do not fall into any of the other three categories. This category includes the owner of the file and all users in the owner's group. Each of these categories of user can be types of following access: allowed or denied the or files e READ -- the right to examine, print, or copy a file e WRITE -- the right to modify the file or to write files e EXECUTE -- the right 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 on a volume a on volume volume) e DELETE -- the right to delete the file or files on the volume Any combination of access types can be specified for any category of user. e The following syntax rules apply: specify When you protection types entered in full or ® e e abbreviate a protection code, you must to 1 character. User categories can be truncated to any number of characters. You can specify the user categories and protection If you omit a user any order. protection category of user When you type is denied that specify a for a type of access. protection code, category from access type with a colon. 196 types in category, that each user separate SET e PROTECTION If you specify more than categories with commas one and user category, separate enclose the entire code the in parentheses. e When you omit a user to an entire volume, of e For category from a protection code applied that category of user is denied all types access. When you omit a user category from a protection code applied to a file or files or from a code specified for the default protection, the current access allowed that category of user remains unchanged. example: B SET FROTECTION=(SYSIRWEDNyGRIR W) /DEFAULT This protection code allows the system all types of access, group members read access only, prohibits all access by users in the world category, and does not change the current access for the owner. Command Qualifiers /DEFAULT Indicates that the protection code all files subsequently created job. If you specify specifications. the defaults file. File /DEFAULT, If you established do not specified is to be applied to during the terminal session or you cannot specify a in your entry in enter code, the the user any file system resets authorization Qualifiers /PROTECTION=code Defines the protection code to be applied to the associated file specification. Use this qualifier to define different protectlon codes to several files in a single command. If you specify the code parameter in addition to gqualifying file specifications with the /PROTECTION qualifier, the attributes specified with the code parameter are applied first, then any attributes specified with the qualifier override them. Specify the code in the format described "How to Specify Protection Codes." above, under the heading Examples 1. 4 SET PROTECTION= {GROUP=RWED This SET applied users in access., y WORLD=R Y /DEFAULT PROTECTION command sets the default to all files subsequently created to the same group unlimited access, and all Default protection changed. 197 for system and protection allow other users read owner are not SET 2. $ PROTECTION SET PROTECTION PAYROLL.LIS - P /PROTECTION=(SYSTEM Ry OWNER(RWELD s GROUFIRW) y $.FAYROLL . QUT/FROTECTION=(SYSTEM ! RWET» GROUF : RWETLD This SET PROTECTION command changes the protection codes applied to two files. To the file PAYROLL.LIS, it gives the system read-only access, the owner read, write, execute, and delete access, and users 1in the owner's group read/write access. To the file PAYROLL.OUT, it gives the system and group all types of access, and does not change the default access for owner and world. 198 SET QUEUE Changes the current status or printing or for batch job system. attributes execution of a but file that is queued not yet processed by for the Format SET QUEUE/ENTRY=jobid Command [queue-name] Qualifiers /AFTER=absolute-time /FORMS=type /HOLD /JOB_COUNT=n / [NO] LOWERCASE /NAME=job~name /PRIORITY=n /RELEASE Prompts None. Command Parameters gueue-name Specifies the entered. No name of the queue 1logical specified queue name in which the translation is name. If you do not specify a queue default name of SYSSPRINT. name, the specified file is on the assumes the performed system Description The system assigns queued printer a or unique batch job entry in number, the called system. The a jobid, PRINT to and each SUBMIT commands display the jobid when they successfully queue a job for processing. Use this Jjobid to specify the entries you want to change. Command Qualifiers /AFTER=absolute-time Requests that the specified then released for passed, the file is Specify the absolute time times job be held until a printing. If the specified released immediately. value (these according rules are to given the specific time rules in Section has for time, already entering 6.8). /ENTRY=jobid Indicates the characteristics particular are to be job modified. 199 within This the qualifier gueue whose is required. SET QUEUE /FORMS=n This qualifier Modifies the forms type for the specified job. on the PRINT defaulted or specified type forms the overrides command. /HOLD Requests that the specified job(s) be placed in a hold status. Jobs in a hold status are not processed until you release them with the SET QUEUE/RELEASE command. /JOB_COUNT=n This print. specified or Specifies the number of copies of the job to the /JOB_COUNT qualifier overrides qualifier defaulted on the PRINT command. /LOWERCASE /NOLOWERCASE Indicates whether the specified printer with lowercase letters. job(s) must printed be on a /NAME=job-name Defines a 1- to 8-alphanumeric character name string to identify the job, overriding the job name assigned to the job when it was queued. /PRIORITY=n Changes the priority of a job relative to other Jjobs that are The priority, n, must be in the range of 0 currently queued. the lowest priority and 31 is the highest. is 0 where 31, through By default, jobs are assigned the same priority as your current you must have the user privilege ALTPRI to set process priority; a priority value greater than your current process's priority. /RELEASE Releases a previously held job for processing. Examples 1. % pRINT/ZHOLD Joub . DaT MYFTLE 112 entoered on auewe SYS$SFRINT /JOR.COUNT=3 2/7RELEASE NTRY ESFE $ owpT GUFU=11 The PRINT command requests that the file MYFILE.DAT be gqueued The SET to the system printer, but placed in a hold status. QUEUE command releases the file for printing and changes the number of copies of the job to three. 2. F QUBMIT WEATHER BogumMLT dob ML CLITMATE ermtered on aueus SYSHSBATOH ot HooET 20 ertered on aueue SYSHEBATCH DUELE SYSHSRATCHAENTRY=211/HOLD/NAME=TEMF Two SUBMIT commands gqueue command procedures for batch The system assigns them jobids of 210 and 211, processing. respectively. The SET QUEUE command places the second job in a hold state and changes the job name to TEMP. 200 SET RMS_DEFAULT Defines default used by values for RMS for VAX-11 sequential or relative the multi-block file files on and operations. multi-buffer Defaults a process-only or can be system-wide counts set for basis. Format SET RMS_DEFAULT Command Qualifiers Default /BLOCK_COUNT=count /BUFFER_COUNT=count /DISK /INDEXED /MAGTAPE /PROCESS /RELATIVE /SEQUENTIAL /SYSTEM /UNIT RECORD /SEQUENTIAL /PROCESS /SEQUENTIAL /SEQUENTIAL /PROCESS Prompts None. Command Parameters None. ’ Description Multi-blocking the speed and of multi-buffering input/output of file operations operations with VAX-11 can enhance RMS. The set with the SET RMS_DEFAULT command are applied for all file operations that do not specify explicit multi-block or multi-buffer counts. defaults For more see the VAX-11l Command information Record on multi-block Management and multi-buffer Services Reference operations, Manual. Qualifiers /BLOCK_COUNT=count Specifies a default multi-block specified allocated 127. count, for each count representing the I/0 buffer, can be for file operations. The number of blocks to be in the range of 1 through /BUFFER_COUNT=count Specifies a default multi-buffer count for file operations. The specified count, representing the number of buffers to be allocated, can be in the range of -128 through 127. A positive value indicates the specified number of buffers must be locked in the process's working set for the I/0 operation. A negative value indicates allocated but do that the not have to specified be locked. 201 number of buffers must be SET RMS_DEFAULT When you use the /BUFFER_COUNT qualifier, you can use the /DISK, /INDEXED, /MAGTAPE, /RELATIVE, /SEQUENTIAL, and /UNIT_RECORD qualifiers to specify the types of file for which the default is to be applied. /DISK ] Indicates that the specified default(s) are to be applied to file If /SEQUENTIAL or /RELATIVE is operations on disk devices. specified, /DISK is assumed. /INDEXED are to be applied Indicates that the specified default(s) is currently unused. qualifier This operations. file indexed /MAGTAPE Indicates that the specified default(s) operations on magnetic tape volumes. are to be to applied to to file to file /PROCESS Indicates that the specified defaults are to be applied operations occurring within the current process. /RELATIVE Indicates that the specified defaults are to be applied operations on relative files. /SEQUENTIAL Indicates that the specified defaults are to be applied to all including operations on disk, operations, file sequential maghetic tape, and unit recerd devices. /SEQUENTIAL is the default if neither /RELATIVE nor /INDEXED is specified. /SYSTEM Indicates that the specified defaults are to be applied to file default for the operations by all processes. The user privilege OPER is required to set the system. /UNIT_RECORD Indicates that the specified default(s) are to be applied to file operations on unit record devices. Examples o % gpr RMS.DEFAULT/DISK/BLOCK.COUNT=16 The SET RMS_DEFAULT command defines the default multi-block count for ~disk file input/output operations as 16 blocks. This default is defined only for the current process, and will be used for disk file operations in user programs that do not explicitly set the multi-block count. 2. FFER DCOUNT =8/MAGTARE % BET ORME. DEFAULT/RU The SET RMS_DEFAULT command defines the default multi-buffer count for Input/output operations on magnetic tapes as eight buffers. 202 SET TERMINAL Changes the characteristics of a specified terminal. Format SET TERMINAL [device-name] Command Qualifiers Default / [NO] BROADCAST /CRFILL[=formula] / [NO]ECHO / [NO]EIGHT_BIT / [NO] ESCAPE / [NO] HARDCOPY /[NO]HOLD_SCREEN / [NO] HOSTSYNC / [NO] INTERACTIVE /LA36 /BROADCAST /CRFILL=0 /ECHO /NOEIGHT BIT /NOESCAPE /NOHOLD_SCREEN /NOHOSTSYNC /INTERACTIVE /LFFILL[=formula] /LFFILL=0 / [NO] LOCAL / [NO] LOWERCASE /PAGE [=n] /[NO]PARITY[=option] / [NO] PASSALL / [NO] READSYNC / [NO] REMOTE / [NO] SCOPE /SPEED=rate / [NO] TAB / [NO] TTSYNC /PAGE=0 /NOPARITY /NOPASSALL /NOREADSYNC /NOTAB /TTSYNC /TYPE_AHEAD / [NO]TYPE_AHEAD /UNKNOWN / [NO]UPPERCASE /VTO05 /VT52 /VT55 /WIDTH=n / [NO] WRAP /WRAP Prompts None. Command Parameters device-name Specifies the be changed. If you do not name of specify characteristics is a terminal. of the the a terminal device current whose characteristics name, the qualifiers SYS$SCOMMAND device, if 203 are to change the SYSSCOMMAND SET TERMINAL Description terminal The SET TERMINAL command allows you to modify specific or to override application, a particular for characteristics (These defaults are defined on system default characteristics. an individual installation basis, based on the most common type in use.) of terminal more The following qualifiers modify based on the specific type of terminal: than one characteristic, /LA36 /VTO05 /VT52 /VT55 The settings affected by each of these gqualifiers are in Table summarized . 3. Command Qualifiers /BROADCAST /NOBROADCAST Controls whether the terminal can receive messages broadcast by any receives terminal a By default, system operator. the messages the system operator or another privileged user sends. Use /NOBROADCAST when you are using a terminal as a non-interactive terminal or when you do not want special output to be interrupted by messages. /CRFILL[=formula] system must generate the Specifies whether following a carriage return on the terminal. The formula is a number in the range of 0 fill characters 9 indicating through null fill characters required to ensure that the of number the carriage return completes successfully before the next meaningful You may need to use this qualifier if you are character is sent. using a non-DIGITAL terminal. The default is /CRFILL=0. /ECHO /NOECHO lines that it or echoes, Controls whether the terminal displays, the input receives. the wuse to (PHY_IO) You must have the physical I/0 privilege When /NOECHO is set, the terminal displays /NOECHO qualifier. only data that a system or user application program writes to it. /EIGHT_BIT /NOEIGHT BIT wuses Indicates whether the terminal an ASCII character interprets characters 8-~bit code. /NOEIGHT BIT is the default; using 7-bit ASCII code. the terminal 204 SET TERMINAL /ESCAPE /NOESCAPE Indicates whether the terminal generates valid escape sequences interpreted by an applications program controlling that will be the terminal. If you specify /ESCAPE, the syntax before passing for on escape sequences, see /HARDCOPY /NOHARDCOPY Indicates whether the to a video terminal. terminal checks the escape sequences them to the program. For information the VAX/VMS terminal I/0 prints User's Guide. hardcopy output, This qualifier is complementary to the /HARDCOPY is equivalent to /NOSCOPE. /SCOPE as qualifier, opposed that is, /HOLD_SCREEN /NOHOLD_SCREEN Enables video and disables the terminals. operation If you specify /HOLD_SCREEN, the /TTSYNC qualifier. /HOSTSYNC /NOHOSTSYNC Controls whether the from the terminal. of the SCROLL the SET TERMINAL system can synchronize key command the flow on VT55 also sets of input When you specify /HOSTSYNC, the system generates CTRL/S and CTRL/Q to enable or disable the reception of input. When the type-ahead buffer is full, the system sends CTRL/S to temporarily stop input; when the buffer is that more input can be entered. /INTERACTIVE /NOINTERACTIVE Indicates that the terminal is empty, in use the system as an sends interactive This qualifier is complementary to the /PASSALL is, /INTERACTIVE is equivalent to /NOPASSALL. CTRL/Q so terminal. qualifier, that /LA36 Indicates that the terminal is an LA36 terminal. When you specify this qualifier, default terminal characteristics for LA36 terminals are set. These settings are summarized in Table 3. /LFFILL[=formula] Specifies whether a line the feed on The the formula number line is a of feed number in null fill following character using The a completes is read. non-DIGITAL default is system must terminal. the may fill characters the range of 0 through 9 indicating characters required to ensure that the successfully You generate need terminal. /LFFILL=0. 205 to before use this the next qualifier meaningful if you are SET TERMINAL /LOCAL /NOLOCAL Controls, for terminals attached to dial-up whether lines, terminal can be accessed from a remote location. the that This qualifier is complementary to the /REMOTE qualifier, The physical 1I/0 /LOCAL 1is equivalent to /NOREMOTE. is, privilege (PHY_IO) is required to use this qualifier. /LOWERCASE /NOLOWERCASE whether Indicates the terminal lowercase and uppercase has characters. If you specify translated /NOLOWERCASE alphabetic all characters are to uppercase. This qualifier is complementary to the /UPPERCASE qualifier, that is, /LOWERCASE is equivalent to /NOUPPERCASE. /PAGE=n hardcopy For Specifies the page 1length of the terminal. terminals, the page size, n, equals the number of print lines between perforations on the paper. When the terminal reads a to the next it advances the paper character, feed form treats terminal the that indicates 0 of size page A perforation. form feeds as if they were line feeds. You can specify values of 0 through 255 for the page default size is installation dependent. /PARITY [=option] /NOPARITY Defines the parity for the terminal. following options: size. The You can specify one of the option, the characters or EVEN OoDD If you specify /PARITY and you do command assumes /PARITY=EVEN. /PASSALL /NOPASSALL Controls whether the system not interprets an specify special passes all data to an application program as 8~bit binary data. to wuse the (PHY_IO) You must have the physical I/0 privilege /PASSALL qualifier. A terminal operating with /PASSALL set does not expand tab characters to blanks, fill carriage return or line feed characters, or recognize control characters. /READSYNC /NOREADSYNC Controls whether the system solicits read data from using CTRL/S and terminates the read using CTRL/Q. a terminal the system does not use CTRL/S and /NOREADSYNC is the default; CTRL/Q to control reads to the terminal. /READSYNC is useful for certain classes of terminals that demand synchronization or on special-purpose terminal 1lines where data synchronization is appropriate. 206 SET TERMINAL /REMOTE /NOREMOTE Controls, for terminals attached to dial-up 1lines, terminal can be accessed from a remote location. The physical qualifier. I/0 privilege this If a terminal is in remote mode, it is reset to /NOREMOTE the terminal is disconnected (that is, when you log out). when This is, qualifier /SCOPE is the terminal is complementary is equivalent to 1is required a video the to the wuse /SCOPE /NOSCOPE Indicates whether (PHY_IO) whether terminal. /HARDCOPY qualifier, that to /NOHARDCOPY. /SPEED=rate Specifies the rate at which the terminal sends and receives data. You can specify rate as a single value to set the input and output baud rates to the same speed. To specify different baud rates for input and output, specify the rate in the format (n,m). The values n and m indicate the input and output baud rates, respectively. The valid values 50 75 110 134 150 for 300 600 1200 1800 2000 The default input and output baud rates are: 2400 3600 4800 7200 9600 transmission rates are installation dependent. /TAB /NOTAB Controls how the terminal handles tab characters. the system expands all tab characters to blanks, stops at 8-character intervals. Use /TAB when you do . blanks, but want the By default, assuming tab not want terminal the system to convert tabs to process the tab characters. terminal synchronizes to /TTSYNC /NOTTSYNC Controls to CTRL/S whether the output by responding and CTRL/Q. /TTSYNC is the default; press CTRL/S and resumes the system stops sending output when you output when you press CTRL/Q. /TYPE_AHEAD /NOTYPE_AHEAD Controls whether input that you the terminal type when accepts there is unsolicited no outstanding When you specify /NOTYPE_AHEAD, the terminal will only accept input when a program or the to input (that is, read). is dedicated, system issues a and read it. Use this qualifier to ensure that a specific dedicated to a particular application. 207 terminal remains SET TERMINAL /UNKNOWN Indicates that the terminal is of an unknown terminal type. When you specify this qualifier, default terminal characteristics for the For a summary of terminals of an unknown type are set. settings, see Table 3. /UPPERCASE /NOUPPERCASE Specifies whether lowercase letters or not the terminal should translate all to uppercase. This qualifier is complementary to the /LOWERCASE qualifier, that is, /UPPERCASE is equivalent to /NOLOWERCASE. /VTO0S /VT52 Indicates that the terminal is a VT05 terminal. When you specify default terminal characteristics for VTO05 qualifier, this For a summary of the settings, see Table 3. terminals are set. Indicates that the terminal is a VT52 terminal. When you specify default terminal <characteristics for VT52 qualifier, this settings are summarized under "VT5x" in These set. are terminals Table 3. /VT55 Indicates that the terminal is a VT55 terminal. When you specify default terminal <characteristics for VTS5 qualifier, this terminals are set. Table 3. These settings are summarized under "VT5x" in /WIDTH=n Specifies the number of characters on each input or output The width, n, must be in the range of 0 through 255, line. the terminal generates a carriage If /WRAP 1is 1in effect, return/line feed when a line reaches the specified width. /WRAP /NOWRAP Controls whether or not the terminal generates a carriage return/line feed when it reaches the end of the line. The end of a line is determined by the setting of the terminal width. If you specify /NOWRAP, the terminal does not generate a carriage return/line feed when it reaches the end of a line, but continues to accept input at the last physical character position on the terminal line. Examples 1. % SET TERMINAL/VTER This SET command establishes the current terminal as a terminal and sets the default characteristics for terminal type. 208 VT52 that SET 2. TERMINAL % SET TERMINAL AWITDTH=132/FAGE=466/NOBROADCAST $ TYFE MEMO . DOC ¢ HET TERMINALALAZS This SET TERMINAL command indicates that the width of terminal lines 1is 132 characters and that the size of each page is 66 lines. The /NOBROADCAST qualifier disables the reception of broadcast messages while the terminal |is printing the file MEMO.DOC. The next SET TERMINAL command restores the terminal to its default state. Table 3 Default Characteristics for Terminals Name UNKNOWN LA36 VTO5 Qualifier /UNKNOWN /LA36 /VTO05 VT5x /VT52 /VT55 BROADCAST * * * * CRFILL * 0 0 0 ECHO * yes yes yes EIGHT_BIT * no no no ESCAPE * * no * HOLD_SCREEN * no no * HOSTSYNC * no no yes LFFILL * 0 0 0 LOWERCASE * yes no yes PAGE * * * * PARITY * no no no PASSALL * no no no READSYNC * no no no REMOTE * * * * SPEED * * * * TAB * no no yes TTSYNC * yes yes yes TYPE_AHEAD * yes yes yes WIDTH * 132 72 80 WRAP * yes yes yes * 1Indicates qualifier. that the current 209 setting 1is not <changed by the SET VERIFY Controls whether command lines in command procedures are displayed the terminal or printed in a batch job log. at Format SET [NO]VERIFY Command Qualifiers None. Prompts None. Command Parameters None. Description By default, when the system processes command procedures executed command lines at the not display the it does interactively, always are error messages and System responses terminal. displayed. the default to override command the SET VERIFY If you use the system displays all the lines in command procedures setting, or functions If any lines contain lexical as it executes them. symbol names that are substituted before command execution, the symbol command interpreter displays the line as it appears after substitution. 1in remains When you change the verification setting, it for all command procedures that you subsequently execute. effect all 1is, that is VERIFY; The default setting for a batch job lines in the command procedure appear in the batch job listing. Examples -——v—-—-—- 1. $ SET VERIFY $ SET NOVERIFY $ EXIT The verification setting is turned on for the execution of a The system displays all the lines in the command procedure. At the procedure, including command lines, as it reads them. end of the procedure, the SET NOVERIFY command restores the system default. 210 SET VERIFY $ VERIFY = 'FS$VERIFY () $ SET NOVERIFY $ IF VERIFY THEN SET VERIFY This command procedure uses the lexical function F$VERIFY to save the current setting of verification in the symbol named VERIFY (the function returns a value of 1 if verification 1is set on, a value of 0 if verification is set off). Then, the SET NOVERIFY the IF command command verification remains off. is turns tests the restored; off verification. value if 211 of VERIFY; if false (0), then Subsequently, true (l), then verification SET WORKING_SET Redefines the default working set size for the process or sets an upper limit to which the working set size can be changed by an image that the process executes. Format SET WORKING_SET Command Qualifiers /LIMIT [=n] /QUOTA [=n] Prompts None. Description A process's working set is the number of pages that are resident in physical memory when an image is executing in the process. Each user is assigned a default working set size to be associated with the process created during login. The maximum size to which any process can increase its working set is defined in the user authorization file. Command Qualifiers /LIMIT[=n] Specifies the maximum number of pages that can be resident in the working set during image execution. The value, n, must be greater than the minimum working set defined at system generation and it must be less than or equal to the authorized limit defined in the user authorization file. If you specify a value greater than the authorized 1limit, the command sets the working set 1limit at the maximum authorized value. If you specify a value greater value 1is also increased. than the current quota, the quota /QUOTA [=n] Specifies the maximum number of pages that any image executing in the process can request. An image can set the working set size for the process by calling the Adjust Working Set Limit system service. If you specify a quota value that quota, the working set quota value. 212 is greater than the authorized 1is set to the authorized gquota SET WORKING_SET Examples 1. $ SHUW WORKING.SET Workimg $ BET New Set Zlimit=100 /Quota=200 WORKINGLSET ZQUOTA=100 Working ALlimit=100 Set Authorized Quota=200 /Quota=100 The SHOW WORKING_SET command displays the current 1limit, quota, and authorized quota. The SET WORKING_SET command sets a quota limiting the maximum number of pages any image can request. $OSET New The and WORKING.SET Working Set ALIMIT=200 ALimit=200 /Quota=200 SET_WORKING SET command sets both the quota allowed to any image in 213 the the working set size process to 200. SHOW Displays information about the current system, or devices in the system. status of the process, the Format SHOW option Options [DAY) TIME DEFAULT DEVICES LOGICAL MAGTAPE NETWORK PRINTER PROCESS PROTECTION QUEUE RMS_DEFAULT STATUS SYMBOL SYSTEM TERMINAL TRANSLATION WORKING_SET Prompts What: option Description The SHOW command options are summarized in Table 4. Each SHOW command option and the format of the information it displays is described separately following Table 4. 214 SHOW Table 4 SHOW Command Options Option DAYTIME Displays The current date and DEFAULT The current default DEVICES The status LOGICAL Current time TIME MAGTAPE The of devices logical status magnetic tape NETWORK The PRINTER Default PROCESS Attributes device name and priority, of and characteristics of network the RMS_DEFAULT The default RMS that SYMBOL Current SYSTEM A TERMINAL The device characteristics TRANSLATION The result of WORKING_SET The current all applied have the time, file The status of accumulated CPU of I/0 operations of memory been multi-block for STATUS list process, protection specific and to including usage, files queued current open file in translating working 215 set but multi-buffer operations job, count, including and count definitions processes the printer information Printer or batch jobs have not completed symbol line accounting default by a a including guotas, QUEUE used of nodes, current The current of resource PROTECTION current system assignments characteristics privileges, the directory device availability current node counts in and the of system a terminal a logical size limit name and quota SHOW DAYTIME Displays the current date and time in the default output stream. Format SHOW [DAY]TIME Command Qualifiers None. Prompts None. Example 1. % SHOW DAYTIME 18- JAN-1977 4% 001034 The SHOW DAYTIME command requests a display date and time. 216 of the current SHOW DEFAULT Displays defaults from a the current default device are applied whenever you omit file specification. and directory name. These a device and/or directory name The default disk'and directory are established in the file. You can change them during a terminal session or with the SET DEFAULT command, or by reassigning the SYSSDISK. authorization in a batch job 1logical name Format SHOW DEFAULT Command Qualifiers None. Prompts None. Examples 1. 4 sHow oEFauULT ODRALSCALPHA B OREY $SHUW OEFAULT DEFa.T DRADIEMIGE . SOURCES) ING BEAZICHIGGIN . SOURCES] G The SHOW DEFAULT command requests a display default device and directory. The SET changes these defaults, and the next SHOW displays that the defaults have in fact been 2. ABHTIGM DBAK! of the DEFAULT DEFAULT changed. current command command GYSOTAK B OCHOW T ALL T NRATECHTGETNGR The ASSIGN command changes the logical name SYSSDISK. This default, as the response from indicates. 217 equivalence name for the also changes the device name the SHOW DEFAULT command SHOW DEVICES Displays the status of all devices in the system, the status of a particular device, or lists the devices that currently have volumes mounted on them and/or are allocated to processes. Format [device-name] SHOW DEVICES Command Qualifiers /ALLOCATED /BRIEF /FULL /BRIEF /BRIEF /MOUNTED Prompts None. Parameters device-name Specifies the name of a device for which information 1is to be You can specify a complete device name or only a displayed. the SHOW DEVICES command provides portion of a device name; defaults for non-specified portions of device names, as follows: e If you truncate a device name, for example if you specify "D", the command lists information about all devices whose device names begin with D. e If you omit a controller designation, the SHOW DEVICES command lists all devices on all controllers with the specified unit number. e If you omit a unit number, the SHOW DEVICES command lists devices on the specified controller. all If you specify the SHOW DEVICES command and specify neither a device name parameter nor any qualifier, the command provides a brief listing of characteristics of all devices in the systenmn. To obtain information about a specific device or generic class of devices, specify a device name. Use the /ALLOCATED or /MOUNTED qualifier for a list of devices processes or mounted, to allocated currently are that respectively. 218 SHOW DEVICES Command Qualifiers /ALLOCATED Requests a display of all devices currently allocated processes. to If you specify a device name, the characteristics of only that device are displayed; 1if the device is not currently allocated the command displays a message indicating that there is no such device. If you specify a generic device name, the characteristics of all allocated devices of that type are displayed. /BRIEF Requests a specified. brief Requests a complete Requests a display mounted on display of information about the device(s) /FULL listing of information about the device(s). /MOUNTED If you device of all specify a device displayed; are mounted, devices that currently them. the device. command If of volumes mounted are only however, issues you characteristics name, a if message specify all the a devices characteristics the device is not indicating generic of have that there device type that displayed. volumes of that currently is no such name, the currently have Examples 1. & sHOW novrens Lisl of Devices an 19-JUN~-1978 09345:42,86 Device Dovicoe levice Name IMAOD: Err. Status am linme Volume Characteristics MNT ALl Free Count Trans Mounmt Count Coumt IMAalt or JTine RBlocks 2938 OPAaod: om line 1 Label AARDVARK MNT ALL 1 0 BRACKUFC 1 20196 2 1 MNT FOR 0 CONSOLE 0 1 1 0 DXALY on lime CRAO: iy line LFACT om lime 8PFL LFRO: TTAOY on line all wr Llirne TTALY o lane 0 TTARE: o line o] Q ALL 4] 0 0 TTH?7: off XMAO: on lirme ORALY o lime MNT DRAZ2T on & line SYSTEMUSERS1 MNT 17397 0 14 SYSTEMUSERSZ2 1 52630 18 1 This line command ® ® ® 0 0 displays, Device Device line) Device name status for each device (indicates characteristics in whether the system: the device (indicates whether the 1is device is allocated or spooled, has a volume mounted on or has a foreign volume mounted on it) Error on it count Volume label (for disk and tape volumes Number of free blocks on the volume Transaction count only) Number volume devices of mount reguests only) 219 issued for the (disk SHOW DEVICES 2. $ SHOW DEVICES DMAO!/FULL 19-JUN-1278 09:45:44,00 MAd S levice orn line Mounted Error Lodgging Ensbled Allocated 1 38 1 Evvroar count? Orerations comeleted? Reference count? Volume label Qurner UIC Volume =rotection Volume status ACF srocess name 00010020 FACTOR 912 Owrer esrocess id Owrner rrocess name Iefault buffer size 2938 1 1 0O 2 Free blocks Tramsaction count Mount count Relastive volume no. Cluster size AARTIVARK COO1,0013 FFOO DER2ACF Max, 4000 files allowed The SHOW DEVICES command requests a full device DMAQ; the RKO06/RK07 of status 1listing of the information the indicates: Date and time of day Device status Error count Number of I/O operations completed Reference count Process identification of the owner of the dev1ce Process name of the owner of the device Default buffer For devices displays: e e @ e size volumes with mounted on them, the command Volume label User identification of the owner of the volume Protection code assigned to the volume mounted is it (indicates whether Volume status /SYSTEM, /GROUP, /SHARE, or /NOSHARE) Name of the Ancillary Control Process (ACP) Relative volume number Default cluster size Maximum number of files allowed on the volume For tape devices, the command also displays the density, the real volume label, and the recordsize. 220 default SHOW LOGICAL Displays all logical names in one or more logical displays the current equivalence name assigned to name by the ASSIGN, ALLOCATE, DEFINE, or MOUNT a name tables; or specified logical commands. Format SHOW LOGICAL Command [logical~name] Qualifiers Default /ALL /ALL /GROUP /PROCESS /SYSTEM Promp_ts None. Command Parameters logical-name Specifies a 1- to 63-alphanumeric character logical name for which the equivalence name is to be displayed. The logical name is translated recursively a maximum of 10 times. For each translation, the process, group, and system logical name tables are searched, first match in that found order, and is displayed. the equivalence name for the If you do not specify a logical name, the command displays logical names in one or more tables, based on the presence of /PROCESS, /GROUP, or /SYSTEM qualifiers. If no gualifiers present and no logical names in Command logical all 1is logical specified, name the command displays tables. all the are all Qualifiers /ALL Specifies that table(s) be all logical names in displayed. If none /SYSTEM is specified, all /GROUP, or tables are displayed. the specified of logical name the qualifiers /PROCESS, names in all logical name /GROUP Indicates, when a the group logical logical-name parameter is present, name table is to be searched. If you in the group logical specify /ALL either name explicitly or table by default, are displayed. that all /PROCESS Indicates, when a logical-name parameter is specified, the process logical name table is to be searched. If you in the specify /ALL either explicitly or by default, process logical name table are displayed. 221 entries that all only only entries SHOW LOGICAL /SYSTEM Indicates, when a logical-name parameter is the that present, system logical name table is to be searched. only If you specify /ALL either explicitly or by default, all names in the system logical name table are displayed. Examples l. g BHOW LOGICAL/FROCESS Comternts of srocess logical name tablel SYSHEINFUT = TTRILZ SYSHOUTPUT = TTRIL? SYS$ERROR = LTTRLS BYSHENIGK = L DRA3ZS BYSECOMMAND = _TTABL: The SHOW LOGICAL command requests a display of the current These are the default logical name process logical names. an for interpreter command the by assignments made interactive process. INFILE XAT (grous) INFILE = DIMEBIIFAYROLL $ HHOW LOGICAL The SHOW LOGICAL command requests a display of the current equivalence name for the logical name INFILE. The response indicates that the 1logical name was found in the group logical name table. & SHOW LOGILCAL/GROUP Comterts of grous logical name tablesl Grour logical name Leble is emely The SHOW command requests a display of names in the group logical name table. indicates that there logical name table. are no logical all current logical The message displayed names in the group g SHOW LOGICAL/BYSETEM BYSEL TRRARY SYSHLTRRARY = DRE2ICSYSLIRI (sustem) The SHOW LOGICAL command requests the equivalence name of The response indicates that the default system SYSSLIBRARY. libraries are in DBB2: [SYSLIB]. 4 GHOW LOGICAL/GROUP/SYSTEM SYSS$NISK SYSHNIEK = (swatem) 1 DRAIICL The SHOW LOGICAL command is qualified by both the /GROUP and /SYSTEM qualifiers; the response indicates that the logical hame SYSSDISK has an equivalence name in the system logical name table. 222 SHOW MAGTAPE Displays magnetic the «current tape device. characteristics and status of a specified Format SHOW MAGTAPE Command device-name Qualifiers None. Prompts Device: Command device-name Parameters device-name Specifies the name of the magnetic to display the characteristics and tape device status. for which you want Example 1. & SHOW MTAOQZ MAGTAFE MTAO? UNKNOWNy DENSITY=800s The SHOW MAGTAPE characteristics of type, It density, and can also display FORMAT=Normal-11l command requests the device MTAO0. format the (default following Position Lost or a display 1t displays normal Even End-of-File Beginning-of-Tape 0dd 223 Parity Parity FParitu of the the device PDP-11). characteristics: Write-Locked End-of-Tape Qdd SHOW NETWORK Displays the availability of the local node as a member of the network and the names of all nodes that are currently accessible by the local node. Format SHOW NETWORK Command Qualifiers None. Prompts None. Command Parameters None. Example 1. 4 guoW NETWORK NETWORK STATUS A8 OF 06~-JUN-1978 12142 LOCAL NOUE NAMED NUMBEER? STATE:D VAXI] 3 ON LIME NOXIE MANTLA XMAQ XMCO CHT and number, The SHOW NETWORK command displays the name, status of the local node and lists available remote nodes. If no remote nodes are available, the command displays: NO REMOTES ACCESSIRLE If the network is unavailable, the command displays: NETWORK UNAVATILABLE 224 SHOW PRINTER Displays printer. the default characteristics currently defined for a system Format SHOW PRINTER [device~name] Command Qualifiers None. Prompts Device: Command device~-name Parameters device~name Specifies the name of to be displayed. the printer for which characteristics are Example 1. % SHOW LEFAG: Devive PRINTER LEI1y LPAOS WINTH=132. srovled to The SHOW PRINTER characteristics of PAGE=64y NOCRy FF» LOWERCASE a display DRR2? command requests the printer LPAO. 225 of the SHOW PROCESS Displays information about the current process. Format SHOW PROCESS Command Qualifiers /ACCOUNTING /ALL /PRIVILEGES /QUOTAS /SUBPROCESSES Prompts None. Command Qualifiers /ACCOUNTING Displays accumulated terminal session. /ALL accounting statistics for the current default the Displays all information available, that Iis, well as the information displayed by the as information /ACCOUNTING, /PRIVILEGES, /QUOTAS, and /SUBPROCESSES qualifiers. /PRIVILEGES Displays the user privileges that have been granted to the process. /QUOTAS The values displayed Displays the process's current guotas. reflect any quota reductions resulting from subprocess creation. /SUBPROCESSES Displays the process name(s) of any subprocesses owned by the if a hierarchy of subprocesses exists, the current process; command displays the names in hierarchical order. 226 SHOW PROCESS Examples l. $% gHOW FPROCESS 19-JUN-1978 Fid ¢ 11:1359244.13 00160030 Frioritwe DNevices ¢ Froc. 4 ~TTF3? name lefault asllocated ¢ The default output ¢ MALCOLM file srec. ! User : MALCOLM uic ¢ r122,0011 DEALSICMALCOLM.TESTFILES] TTF3: of the SHOW PROCESS command displays: Date and time the SHOW PROCESS command is issued Device name of the current SYSSINPUT device User name Process identification Process name number User identification code (UIC) Base execution priority Default device Default directory Devices allocated to the process and volumes mounted, if any 2. % SHOW FROCESS/ACCOUNTING 19-JUN-1978 11:59:44.54 Accounting information? Buffered I1/0 count Direct I/0 count Fade faults ¢ Elarsed CPU time Conmect 3. time ¢ User 2191 ¢ ¢ 0 0 ¢ Fealk § working MALCOLM set size 263 Feak virtual size 3131 Mounted volumes ¢ 00:00825.67 ¢ 180 ! 196 0 01:17%47.76 % SHOW PROCESS/FRIVILEGES 19-JUN-1978 Frocess 11:159:44.71 sriviledges GRFNAM GROUF FRMCER FRMMEX TMFMEX 4, ~TTF32? may maw maw maw may ~-TTF33 User ¢ MALCOLM 4 ¢ insert affect coreate create create im drour lodgical name tasble other rrocesses in same dHrour rermanent common event clusters rermanent mailbox temrorary mailbox $ SHOW FROCESS/QUOTAS 19-JUN~-1978 Frocess name! limit RBuffered Timer ~TTF3¢ User ¢ MALCOLM Quota? Accourt CPU 11:159:44.846 DOCUMENT ¢ 1/0 queue 0 bute count auota entry aquots ¢ Faging file quota Ilefault radge fault cluster 00:100:00.00 ¢ 12480 10 ¢ 227 2560000 127 DNirect I/ Buffered Oren file 0O I/0 limit ¢ limit? auota Subrrocess quota AST limit ¢ ¢ & 6 16 ¢ g 16 e SHUW 5. P e ) PRUCESD ¢ SHOW FROCESS/SUBPROCESBES 19-JUN-1978 11:159140,.41 Subrrocesses owned ~ OQRION -~ CYGNUS - LYRA ~-TTF33 @ 228 User : MALCOLM SHOW PROTECTION Displays the current file protection to be applied to all new files created during the terminal session or batch job. You can change the default protection at any time with the SET PROTECTION command. Format SHOW PROTECTION Command Qualifiers None. Prompts None. Example 1. ¢ $ ¢ SHOW FROTECTIOM SYSTEM=RWEDy BET SHOW OQWNER=RWEDy GROUF=RE, WORLD=ND ACCESS FROTECTION={GROUFI s WORLDERE) Z/DEFAULT RWED FROTECTION BYSTEM=RWELy OQWNER=RWED: GROUFP=RWELy WORLI=RE The SHOW PROTECTION command requests a display of protection defaults; the SET PROTECTION command the current changes the file access allowed to other users in the same group and to miscellaneous system users. The next SHOW PROTECTION command shows the modified protection defaults. 229 SHOW QUEUE Displays the current status of entries in the printer and/or batch job queues. Format [gueue-name] SHOW QUEUE Command Qualifiers /ALL /BATCH /BRIEF /DEVICE /FULL Prompts queue-name Queue: Command Parameters queue-name The Specifies the name of a queue you want to display. gueue-name parameter 1is required 1if you do not specify either /BATCH or /DEVICE. Command Qualifiers /ALL Displays the names of default, the SHOW all jobs in the specified queue. By QUEUE command displays only current jobs and pending jobs owned by the current process. /BATCH Displays entries in all batch job gqueues. /BRIEF Requests a brief listing of information about jobs in the queue. When you specify /BRIEF, only the user name, job number and gueue name are displayed. /DEVICE Displays the status of jobs in all device queues. /FULL Displays the file specifications of each file in each pending job in the queue. 230 SHOW QUEUE Examples 1. $ SHOW ¥ ¥ X QUEUE /DEVICES Device Queue SYSHPRINT Holding Job 261 Device Queue LFOO Forms=0»r MALCOLM Gendev RETA Forms=0y Gersrrt Fladg s Lower Fri=4y 19-JUN-1978 12156 Flag Current Job 260 CRAMER ALFHA y Fri=4y, 19-JUN-1978 12155 FPending Job 261 HIGGINS TEMFO y Pri=4y 12159 Fernding Job 262 HIGGINS TEMFR y Fri=4y 19-JUN-1978 19-JUN~1978 lNevice Queue LIFRY The SHOW QUEUE Forms=0y command Genrrt displays 00!2:' Fladg the status of the printer queues. The first queue, named SYS$PRINT, consists of jobs that are being held. The printer queue, LPAO, is currently processing a job for the user CRAMER; two jobs are pending for the jobs in t HGHOW ¥ user HIGGINS (who the queue LPBO. QUEUE Batelr issued the command). There are no SYS$RATCH/FULL aueue SYSHRATCH Joblim=6y Imierriz4y Swar Curvernt Jobh 263 MALCOLM SLEEF Fri=4y, 19-JUN~1978 Currernt Jobh 2461 HIGGINSE WAITF Fri=4y Currernt 19-JUN-1978 Job 260 13:02 CASEY RECORD Fri=4y 19-JUN-1978 12159 13:08 Currvent Jab 289 MALCOLM BATCHI Fri=4y Current 19-JUN-1978 Job 12158 258 CLAUDIUS XRULE FPri=4y 19-JUN~-1978 Current Job 12:58 297 HAFPY caLe Fri=4y Holding 19-JUN-1978 Jobh 262 12157 HIGGINS FROCEDUR Fri=4y 19-JUN-1978 13311 BATCHAVE Pri=4y 19-JUN~1978 13812 ATTN Fri=4y, 19-JUN~1978 1459 NEALFROCEDURE .COMS 26 Fernding Ll Feriding Job 265 MHIGGING Intervering .obsl Joty DRIIT.COMFs1 267 MIGHINS lelete The SHOW QUEUE command requests batch job queue. The /FULL specifications of pending files a display of all jobs in the qualifier requests the file in the job. The response indicates a held job and t WO pending jobs for the user HIGGINS. The job ATTN, consisting of the file T.COM, is marked for deletion after processing. 231 SHOW RMS_DEFAULT Displays the current default multi-block count and multi-buffer that VAX-11 RMS uses for file operations. count Format SHOW RMS_DEFAULT Command Qualifiers None. Prompts None. Command Parameters None. Example 1. $ SHOW RMS.OEFAULT Frocess Suetem MULTI~ i ELOCK i COUNT : 16 4 H ' MULTI-RUFFER Indexed COUNTS Relastive o) 4] QO 4] Seauential Disk Magtare 0 0 8 0 Unit Record 4] 0 The SHOW RMS_DEFAULT command displays the current process and system default multi-block and multi-buffer counts for all types of file. 232 SHOW STATUS Displays if any. continue the status of the image currently executing in the process, The SHOW STATUS command does not affect the image; you can the execution of the image after displaying its status. Format SHOW STATUS Command Qualifiers None. Prompts None. Example 1. g IUN MYPRUG ", ¢ SHOW STHaTUS Gtotus on Buft. 170 Dir. 170 19-JUN-1978 ¢ 1544 3 143 13816132,.00 Cure.e ws, ¢ Fhws. Meme ¢ Elarsed CFU @ Orern files &7 Fadge Foults The RUN command executes the image MYPROG.EXE. program is running, CTRL/C interrupts it, and the command displays its current status. Current time and date Elapsed CPU time used by the current process Number of page faults Open file count Buffered I/0 count Direct I/0 count Current working set size Current amount of physical menory occupied 233 O 180 00:100318.37 ¢ 2 3 2881 While the SHOW STATUS SHOW SYMBOL are Symbols Displays the current value of a local or global symbol. parameters passing by command), (= statements assignment defined with to a command procedure file, or by the INQUIRE or READ commands. Format [symbol-name] SHOW SYMBOL Command Qualifiers /ALL /GLOBAL /LOCAL Prompts symbol-name Symbol: Command Parameters symbol-name Specifies the 1- to 255-alphanumeric character name of the symbol The symbol-name must begin with whose value you want to display. the The SHOW SYMBOL command searches an alphabetic character. the current command level, then local for local symbol table then the global levels, symbol tables for preceding command for the specified symbol and displays the first symbol table, match it finds. If you specify /ALL, you cannot specify a symbol-name. Command Qualifiers /ALL of all symbols in the Requests that the current values specified specify /ALL and do not If you displayed. be table symbol command SHOW SYMBOL THE /GLOBAL, or /LOCAL specify either contents of the local symbol table for the current the displays command level. /GLOBAL Requests that only the global symbol table be searched for the symbol table are specified symbol name. If you specify /ALL, all names in the global displayed. /LOCAL Requests that only the local symbol table for the current command level be searched for the specified symbol name. If you specify /ALL, all names in the local symbol table for current command level are displayed. 234 the SHOW SYMBOL Examples l. g BHOW SYMROL FRINT FRINT = FRINT/HOLD The SHOW SYMBOL command requests that the current value of the symbol name PRINT be displayed. The command interpreter searches the local symbol table for the current command level then 1local symbol tables for preceding command levels, then the global symbol table. $ooGHM SYMB SGLORAL AL TIM = SHOW TIME LOG = @LOG S TATUS = SEEVERITY ZX00000001 = 1 The SHOW SYMBOL command requests a display defined in the global symbol table. Note of all that the symbols symbols $STATUS and S$SEVERITY, are also displayed. by system, g BHOW TIM SyMEOL ALOCAL which are maintained the TIM = The SHOW SYMBOL command requests that only the table be searched for the symbol named TIM. indicates that TIM currently has 235 no value. 1local symbol The response SHOW SYSTEM Displays a list of processes in the system and status of each. information about the Format SHOW SYSTEM Command Qualifiers None. Prompts None. Example 1. ¢ sHOWw SYSTEM VAX/UMS Pid 00010000 00010001 00030017 00050019 0006001E 00050023 0001003C Processes Frocess Name NULL SWAPPER CRAMER ORION DEBUG . JOR350 OFERATOR on 19-JUN-1978 15:53:00.71 UIC State Pri Dir. I/0 CrU Page flts Ph.Mem 000,000 COM 0 0 02:54303,07 0 0 000,000 HIB 16 0 00:03$25,47 0 0 150,020 LEF 4 265 00800811,32 1275 58 124,001 COM 4 51 00300:06.86 721 144 8 274,010 LEFO 4 -gwarred out ~57 262,020 COM 4 6272 00301308.82 6255 150 B 001,004 LEF 10 62 00$00:00.98 26 35 The response displays: e Process identification ® Process name e User ® Process e @ e e e @ identification code state Current priority Direct 1/0 countl Elapsed CPU timel 1 Number of page faults Physical memory occupied Process indicator?2 1l 7This information is displayed only if the process is if the process is not in the in the balance set; currently balance set, these columns contain the message: -- 2 The swapped out -- letter B indicates a indicates subprocess; process 236 a the batch letter job; the indicates N 1letter S a network SHOW TERMINAL Displays the current characteristics these characteristics can the SET TERMINAL command. be of a changed specific with a terminal. corresponding Each of option of Format SHOW TERMINAL Command [device-name] Qualifiers None. Prompts None. Command Parameters device-name Specifies the characteristics name of a displayed. terminal for 1If you do not the characteristics of the current name SYS$COMMAND are displayed. device which you want the specify a device name, assigned to the logical Example 1. % SHOW TLRMINAL TTF3: /VTS52y WINDTH=80r PAGE=24, SFEED=(2400,2400)y INTERACTIVE, ECHO» LOWERCASEYy TAERs NOEIGHTEITy WRAF» SCOPE, BROAIMIAST» The SHOW TERMINAL current terminal. OWNER=SELF CRFILL=0y LFFILL=0s NO FARITY TYPEAHEADy NOESCAFEs NOHOSTSYNCs command LOCALs TTSYNCy NOHOLDSCREENS» NOREADSYNC» displays 237 the characteristics of the SHOW TRANSLATION in that Searches the process, group, and system logical name tables, order, for a specified logical name and returns the equivalence name of the first match found. Format logical—-name SHOW TRANSLATION Command Qualifiers None. Prompts logical-name Log_Name: Command Parameters logical—-name Specifies a 1- to 63-alphanumeric character which you want to display the translation. logical name for The translation is not recursive. Examples 1. 4 SHOW TRANSLATION FPAYROLIL FAYROLL = IMALICACCOUNTS WORKINGIFACTORL.DATIZ? (rrocess) The SHOW TRANSLATION command displays the current eguivalence name 2. of the logical name PAYROLL. % ABGTGEN DRALT DISK $ ASSTONAGROUT DER3Y & SHOW TRANSLATION DISK = IR&L2 DIGK DISK {rroeess? in ASSIGN commands place entries for the logical name DISK SHOW The tables. name logical group and process the both TRANSLATION command shows the 1logical name for the first entry it finds: logical name table. 3. g RUN the equivalence name placed in the process ORION ey $ # SHOW TRANSLATION TEfeEINal = JTTF3L TERMINAL (e rnress) CONTLINUE The RUN command executes the image ORION.EXE. After CTRL/Y interrupts the image, the SHOW TRANSLATION command displays a the resumes The CONTINUE command logical name assignment. execution of the image. 238 SHOW WORKING_SET Displays the working set quota and 1limit process. assigned to the current Format SHOW WORKING_SET Command Qualifiers None. Prompts None. Example 1. % SHOW WORKING.SET Workinsg The Set limit=100 response process has to this a working pages, and that limit (200 pages). the /Quota=200 command set current 239 limit /Authorized indicates quota of is 100 that pages, equal to (hota=200 the a the quota current of 200 authorized SORT/RSX11 Invokes the PDP-11 SORT utility program to reorder the records in da of the reordere file into a defined sequence and to create a new file records. al For complete details on the qualifiers discussed below and additionthe information on how to define and control sort operations, see PDP~11 SORT Reference Manual. Format SORT/RSX11 input-file-spec Command Qualifiers /DEVICE=device-name /KEY=(field,...) /PROCESS=type output-file~-spec Default /KEY=(CNl.length) /PROCESS=RECORD /RSX11 /SPECIFICATION=file~spec /WORK_FILES=n /WORK_FILES=5 File Qualifiers /ALLOCATION=n /BLOCK_SIZE=n /BUCKET_SIZE=n /CONTIGUOUS /FORMAT= (format,size) /INDEXED=keys /RELATIVE /SEQUENTIAL Prompts File: input-file-spec Output: output-file-spec Command Parameters input-file-spec Specifies the name of the file whose records are to be sorted. This file must be qualified with either the /FORMAT gualifier or the /INDEXED gualifier to indicate the precise format of the file. output-file-spec Specifies the name of the file into which the sorted records are parameter with to be written. You can optionally qualify the output-file-spec the /FORMAT qualifier to indicate the desired output format. 240 SORT/RSX11 Command Qualifiers /DEVI CE=device-name Specifies sort the name execution, of the device overriding installed. to the be used device for work specified files when during SORT was /KEY= field,... Defines the the fields in each input record sort. This qualifier is required. You can specify specified in up the to 10 key format: fields. that Each are the key field basis for must be [a]l [blm.n a defines the way that the data is handle d valid keywords and their meanings are: B C D Two's complement Alphanumeric If alphabetic, If FORTRAN superimposed to 2- or As D above, J As D but with above, but K with As above, trailing but with sign Packed Z ASCII the N Ascending Descending a leading decimal O is sign binary + or + - or sign - sign overpunched the default is general sorting order. You 1is, can n field specifies This field is the is the sort is specify: order the default ascending order. decimal that order specified, in C, number defining is the N, that beginning 1is, records position field relative to the beginning of each indicating the first position in the record. This The zone specifies If not sorted m with I If not specified, alphanumeric. b numeric numeric, convert 4-word floating point P interpreted. binary F D and of record, the are key with 1 required. size of the key field, in bytes. required. If you specify more than one key field, specifications with commas and enclose the list 241 separate the in parentheses. SORT/RSX11 /PROCESS=type Defines the type of sort. following the You can specify one of options: produce an address without file ADDRESS Requests that SORT INDEX Requests that SORT produce an index file containing the key field of each data record and a pointer to its reordering the input file. location in the input file. RECORD Requests SORT to contents of each TAG Requests SORT to sort only on the record keys of each sort the record in the input file. entire record in the input file. By default, the SORT/RSX1ll command produces a record sort. /RSX11 Requests the PDP-11 SORT program. This qualifier is required. /SPECIFICATION=file~spec Specifies the name of a file containing SORT-11 specifications to control the sorting process. see For details on the contents of this file, the SORT PDP-11 Reference Manual. /WORK_FILES=n Defines the number of work files to be used during process, overriding the system-defined default. You can specify from 3 to 8 work files. the ) sorting The default is 5. File Qualifiers /ALLOCATION=n Specifies the number of 5l2-byte blocks to allocate for the This qualifier can only be used to gqualify the output file. output file. If no allocation quantity is specified, SORT-11 uses a allocation quantity based on the type of sorting process. default /BLOCK_SIZE=n Specifies, when the input and/or output file is a magnetic tape If not the size of the blocks to be read or written. volume, specified, the block size defaults to 512 bytes. /BUCKET_SIZE=n Specifies the RMS bucket size allocation This qualifier can only be wused to for the output file. gualify the output file parameter. If no bucket size is specified, SORT-11 uses the bucket size of the input file 1if the input and output file organizations are similar. 1If the input file organization is different than the organization requested for the output file, the default is 1. 242 SORT/RSX11 /CONTIGUOUS Requests the output file to allocated disk space. This the output file parameter. By default, SORT-1l does be written qualifier not create can into only be contiguous contiguously used output to qualify files. /FORMAT= (format,size) Defines the format and record size of input and output where format is one of the keywords listed below and size length, in bytes, of the largest record in the file. The record formats files, is the valid are: FIXED VARIABLE STREAM UNKNOWN This qualifier not is ‘specified required for the on the output input file file, the defaults to the format of the input processing). For ADDRESS_ROUTING file record output size file is 6 record bytes; size for 1is record. 6 file file if format (for sort INDEX bytes specification; output RECORD and TAG sort processing, the output sort plus the processing, size of the the input /INDEXED=keys Specifies that the file and indicates associated the number input file is an indexed sequential of keys in each record in the file. /RELATIVE Requests the output default, file the output file to be in relative file has the same format as the default, output file to the output organization. By the input file. /SEQUENTIAL Requests By file. be in file sequential has the file same organization. format as the input Examples 1. % SORT/RSXLL CUSTOMER FILAFORMAT=(FIXFIIs80) FALF L, SRT/REY= PHA (1. 20) BRT e MIELAPSED SRT == MITOTAL REAL RECORDS TIME: -~ 00100217 SORTED: 1684 The SORT command requests a default alphanumeric sort on records in the file CUSTOMER.FIL. The SORT program sorts records each based record on and the contents writes the ALPHA.SRT. 243 of the sorted first list 20 into characters the output the the in file SCRT/RSX11 $ BORT/REXLL CUSTOMER.FIL/FORMAT= (FIXED,80) 29 23, 2) B TENURE FIL/KEY= (29,2526, GRT =~ MIELAFSED REAL TIMEY 60100125 3245 GRT ~— MITOTAL RECORDS SORTEDS request that the records be sorted first on the 2 characters beginning in column 29, then on the 2 characters beginning in column 26, then on the 2 characters beginning in column 23. If columns 23 through 30 of each record contain a date in the format: The key fields specified for this SORT command dd-mm-yy Phis command creates an output file with ascending order of date. 244 records sorted in STOP Terminates execution of: e A command, image, e A command ® A subprocess CTRL/Y or command procedure that was interrupted by procedure or a detached process Format STOP [process—name] Command Qualifiers /IDENTIFICATION=process-id Prompts None. Command Parameters process—name Specifies the 1- to l5-alphanumeric character string name of the The specified process must have the same identification code (UIC) as the current process to be deleted. group number in its user process. If you specify /IDENTIFICATION, you specify neither the /IDENTIFICATION process is qualifier, terminated. the the process name is ignored. process—name parameter nor image executing in the If the current Description 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 If allowed you STOP to execute interrupt command, procedure, all to the command before the next image 1is run. a command procedure by CTRL/Y and you issue the if the STOP command is executed in a command command levels are unstacked and control returns interpreter. or 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 job process, no notification of deletion occurs; the log file for the batch job does not print. 245 STOP The user privilege GROUP is required to stop other the same group. process processes in to the The user privilege WORLD is required to stop any in the system. Command Qualifiers /IDENTIFICATION=process-id Specifies the process identification the system assigned When you create a process process when the process was created. displays the process command RUN the command, RUN the with identification number of the process it creates. When you specify the process identification, you can omit leading Zeros. Examples 1. % RUN MYPROG ny $ GTOF MYPROG. image the executing The RUN command begins Subsequently, CTRL/Y interrupts the execution and the STOP command terminates the image. 2. % BTESTALL oy $ STOM command executes the procedure The @ (Execute Procedure) interrupts the procedure and the STOP CTRL/Y TESTALL.COM. command returns control to the DCL command interpreter. 3. $ RUN/PROCESHS. ONAME=LIBRA YRUN-G-FROCDTIDy a8TOF LIBRA ddentification of crested rrocess is 0013340D LIBRA The RUN command creates a subprocess named LIBRA to execute Subsequently, the STOP command forces the image LIBRA.EXE. the image to exit and deletes the process. 4, | $ ON ERROR THEN STOP In a command procedure, the ON command establishes a default action when any error occurs as a result of a command or The STOP command stops all command program execution. if this ON command is executed in a command levels; procedure that is executed from within another procedure, control does not return to the outer procedure, but to the command interpreter. 246 SUBMIT Enters a command procedure in the batch job queue. Format SUBMIT file-spec,... Command Qualifiers Default /AFTER=absolute-time /HOLD / [NO] IDENTIFY /NAME=job~name /PARAMETERS=parameters,... /PRIORITY=n /QUEUE=queue-name /REMOTE /NOHOLD /IDENTIFY File Qualifiers /DELETE /NODELETE Prompts File: file-spec,... Command Parameters file-spec,... Specifies one or more command procedures to be submitted for batch job execution. You must specify a file name; if you do not specify type of a COM. file 1If type, you the them either with If specification the file /REMOTE qualifier SUBMIT specify more commas must (,) be or command than plus one signs contains specified. a uses the default file, you can file separate (+). network node name, the Description A file or files queued by the SUBMIT command are considered a job. The system assigns a unique job identification (jobid) to each job in the system. When you submit a batch job, the system displays both the jobid it assigned to the job and the name of the batch job queue Batch Job processing procedure in which Output: by the is written When SUBMIT to a it entered your job. you submit command command, all output file called name.LOG procedures for from the command where name is and deletes the file name of the first command procedure file in the job. (Use the /NAME qualifier to give the job a different name.) This file is initially written on your default disk; when the batch job completes, the If file the after multiple procedure system queues it printed. has procedures exits with an are the file submitted, error or 247 fatal to SYSSPRINT the job error terminates status. if any Command Qualifiers /AFTER=absolute-time Requests that the job be held until after a the time specified immediate processing. value Specify the time already has according time. specific Controls whether or not the job immediate processing. 1is If you specify /HOLD, the job is until you specifically release entering to the rules for to be made available absolute times (these rules are given in Section 6.8). /HOLD /NOHOLD If passed, the job is queued for for not released for processing it with the SET QUEUE/RELEASE command. /IDENTIFY /NOIDENTIFY Controls whether the command interpreter displays the jobid assigned to the job and the name of the queue in which the job - was entered. By default, the jobid and queue name are displayed whenever a job is successfully queued. /NAME=job-name Defines a 1- to 8-alphanumeric character name string to identify The job name is displayed by the SHOW QUEUE command, the job. log, job output and is printed on the flag page of the batch replacing the file name of the log file. If you do not specify /NAME, the name string defaults to the file (truncated to 8 characters, if necessary) of the first, or name only, file in the job. /PARAMETERS=parameters Specifies from 1 to 8 optional parameters to be passed to the The parameters define values to be equated to the symbols job. named Pl, P2, P3, and so on, in each the command procedure in the The symbols are local to the specified command procedures. job. If you specify more than one parameter, separate them with commas and enclose them in parentheses. The commas delimit the parameters. contains parameter any special characters in guotation marks. To specify a or parameter delimiters, enclose that the /PRIORITY=n n, Specifies the priority for the specified job. The priority, in the range of 0 through 31, where 0 is the lowest must be priority and 31 is the highest. current By default, jobs are queued at the same priority as your the user priviledge ALTPRI is required to set process priority; a priority value that is higher priority. 248 than your current process's SUBMIT /QUEUE=queue-name Specifies is to be the name of submitted. /REMOTE Indicates remote node that node. on which be executed. If you the a specific specified batch file specification the file resides /REMOTE, you queue command procedure The specify job and be must contain at which cannot to which specify the any the executed the on name procedure other job a of the 1is to qualifiers. File Qualifiers /DELETE /NODELETE Controls whether specify /DELETE files are after deleted the SUBMIT after command processing. name, all If files job are deleted. If you specify /DELETE specification, only the associated file is following a deleted after The protection allow delete processed. to the code default submitted on the wuser the job. 112 entered input file(s) identification must code (UIC) of the you in the file it is access user who 1in log the file Examples Job on aueue SYSSRATCH The SUBMIT command enters the procedure AVERAGE.COM batch job queue. When the batch job completes, the AVERAGE.LOG 2. % SUBMTT is queued 416 enlered on The SUBMIT command single job. The equated to string MEM. procedures 3. S printing. BACKUP/FORAMETE CTXT o DOC RS:= s MEM Y + *wfiUEHfiGfiy KUINMASTE R Jan for the aueue enters job 1is string After TXT, the AVERAGE.COM SYS$SRATEOM three given P2 to procedure and command three the procedures parameters: string BACKUP.COM RUNMASTER.COM are DOC is and P3 1in Pl a is to the executed, the executed. SUBMITANAME=RATOHL2A7HOLD TESTALL Joby The 447 SUBMIT processing ontered on ausue SYSHERATOH command enters the procedure TESTALL.COM a batch job, but in a HOLD status. The released until the SET QUEUE/RELEASE command as will not be issued. The /NAME parameter identified as BATCH_24. 249 requests that the batch job for job 1is be SYNCHRONIZE Places the process executing a command procedure in a wait state until a specified batch job completes execution. Format SYNCHRONIZE [job-name] Command Qualifiers /ENTRY=jobid /QUEUE=queue~-name Prompts None. Command Parameters job-name of the the job of name the to ds correspon job-name The batch job. defined by /NAME qualifier when the job was submitted or to the Specifies the l1- to 8-alphanumeric character string name default job name assigned by the system. The job must be associated with your current login user name. If you specify /ENTRY, the job-name parameter must specify either a job name or a jobid. is 1ignored. You Description The SYNCHRONIZE command provides batch job synchronization. If a job specified 1is not currently in the system, the command completes immediately with a warning message. Command Qualifiers /ENTRY=jobid Specifies the system-assigned job identification of the batch The system displays the job identification when it job. successfully queues a job for execution; the job identification of a batch job is also displayed when you issue the SHOW QUEUE command. /QUEUE=queue—name Specifies the name of the gqueue on which the job was entered. If not specified, the command assumes that the job is in the default batch job queue, SYS$BATCH. The queue-name specified is subject to one level of logical translation. 250 name SYNCHRONIZE Example l. ¢ SUBMIT/NAME=FREF ¢ SUBRMIT The FHASER first SUBMIT FORMAT.COM for FORMAT/FARAMETERS=(SORT s FURGE) command execution and submits gives The second SUBMIT command queues The procedure PHASER.COM contains the the the the job command procedure the job name PREP. procedure PHASER.COM. line: $ SYNCHRONIZE PREP When this line is batch job named procedure PHASER processed, the system verifies whether PREP is currently executing. If it is, is forced execution. 251 to wait until PREP the the completes TYPE Displays the contents of a file or of group files on the current output device. Format TYPE file-spec,... Command Qualifiers Default /OUTPUT=file-spec /OUTPUT=SYS$OUTPUT Prompts file-spec,... File: Command Parameters file-spec,... If you specify a Specifies one or more files to be displayed. file name and do not specify a file type, the TYPE command uses the default file type of LIS. If you specify more than one file, separate the or plus signs (+). (,) specifications with either commas either case, the files are displayed in the order listed. file 1In type, You can specify wild cards in place of the file name, file The TYPE command displays all files that or file version fields. satisfy the file description. Description When the TYPE command displays output, display in any of the following ways: you can control the at e To temporarily halt the output, then resume it at the line which it was interrupted, use CTRL/S followed by CTRL/Q. e use To suppress the display, but continue command processing, If you press CTRL/O again before the command CTRL/O. in command terminates, output resumes at the current point If you press CTRL/O when the TYPE command is processing. displaying files in a list, the TYPE command suppresses typing the current file and begins typing the next file in the list. e issue then To stop command execution entirely, press CTRL/Y, STOP command or any other DCL command that terminates the the image. Command Qualifiers /OUTPUT=file-spec Requests that the output from the TYPE command be written to specified file, rather than SYSSOUTPUT. 252 the TYPE Examples: l. g TYFE The COMMONDAT TYPE displayed command at the requests terminal. that the file COMMON.DAT be TYFE #JAT g <+ l--.‘D o S The TYPE command contains name. Files with file CTRL/O TYPE is pressed, command interrupts the output begins command, a wild types of the displaying the command. 2353 STOP card in place of the of DAT are displayed; current file stops and the next command file. When terminates the file when the CTRL/Y TYPE UNLOCK Makes accessible a file that became inaccessible as a result of being improperly closed. Format file-spec,... UNLOCK Command Qualifiers None. Prompts file-spec,... File: Command Parameters file-spec,... Specifies one or more files to be unlocked. If you specify more than one file specification, separate them with either commas (,) or plus signs (+). No wild cards are allowed in the file specifications. Example 1. $ VYRE TESTFILE.QUT WTYPEE-QFENTNy s error orening DERALICMALCOLMITESTFILE.QUTS3 irgeut Y TEW~W-FILELOCREDy Tile is deasccess locked $ $ UNLOCK TESTHFILE.OQUT TYRFE TESTFILE.QUT The request to type the output file, TESTFILE.OUT, returns an error message that indicates the file is locked; the UNLOCK command unlocks it. The TYPE command is used to verify the contents of the file, which may be incomplete. 254 WAIT Places time the has procedures commands current process elapsed. to in The delay a wait processing in a procedure state WAIT command for a of the specific until a is provided specified procedure amount of period of for use in command or of a set of time. Format WAIT delta~time Command Qualifiers None., Prompts None. Command Parameters delta-time Specifies the time according to the rules are given in time can contain the days part must Note that command interval to wait. The time must be specified rules for specifying delta time values (these Section 6.8). Note, however, that the delta only be the hours, omitted. if you issue does not prompt; the WAIT minutes, command however, a and seconds interactively, time value is fields; the WAIT required. Description If you enter is placed (You the WAIT in a wait can, processes.) however, Press command state interactively, and you receive CTRL/C interaction. or your cannot enter unsolicited CTRL/Y to current any more messages restore process commands. from normal other terminal Example l.] S LOOP: $ RUN ALPHA $ WAIT 00:10 $ GOTO LOOP The command procedure executes the program image After the RUN command executes the program, the WAIT delays execution of the next command for 10 minutes. ALPHA. command After 10 minutes, the GOTO command executes and the procedure to the label LOOP and executes the program again. procedure loops until interrupted or terminated. If the procedure 1is terminated by pressing command process. be or another If terminated the DCL executed CTRL/C or command procedure with the is interactively, it CTRL/Y and issuing that DELETE/ENTRY 255 runs executed in a new a command. can be the STOP image batch loops The job, 1in it the can WRITE Writes a record to a specified output file. Format logical-name WRITE symbol-name,... Command Qualifiers /ERROR=1label Prompts Log_Name: logical-name Symbol: symbol-name,... Command Parameters logical-name Specifies the logical name assigned to the file to which a record The OPEN command assigns a logical name to a is to be written. 1logical name in the process file and places the logical name table. symbol-name,... output the to record symbol names, character strings enclosed in quotation marks, or literal numeric values. items specified in the symbol name list must be separated by The Specifies data to be written as a single You can specify one or more file. the command interpreter concatenates the items commas; single record and writes the record to the output file. into a The maximum size of any record that can be written is 255 bytes. Description The WRITE command can write records only to sequential files, and cannot be used to append new records at the end of existing files. the OPEN Before a file can be written, it must be opened with The process permanent files command and assigned a logical name. identified by the logical names SYS$INPUT, SYSSOUTPUT, SYSSERROR, and SYSSCOMMAND do not have to be explicitly opened to be written. 256 WRITE Command Qualifiers /ERROR=LABEL Specifies a label control the if on a line write in the request command results in procedure to an If error. receive no error routine is specified and an error occurs during the writing of the file, the command procedure continues execution at the next line in the file, as it does if no error occurs. The error over is any not routine action specified statement specified, the for this qualifier indicated current ON in an ON takes precedence command. condition action is If /ERROR taken. If an error occurs and the target 1label is successfully given control, the reserved global symbol $STATUS contains a successful completion status value. Examples 1.1 $ WRITE SYSSOUTPUT The WRITE command output device. 2. | $ $ $ $ "Beginning writes a second single phase line of of tests" text to the current OPEN/WRITE OUTPUT FILE TESTFILE INQUIRE ID "Assign Test-id Number" WRITE/ERROR=END_LOOP WRITE/ERROR=END_LOOP OUTPUT_FILE OUTPUT_FILE $ ! $ WRITE_LOOP: | "Test-id "" is ",ID $ GOTO WRITE_LOOP $ END_LOOP: $ ! $ $ CLOSE OUTPUT_FILE PRINT/DELETE TESTFILE.DAT The OPEN command command requests particular equated line run to opens the file TESTFILE.DAT; an identification number to be of the the procedure. symbol concatenated with ID. the The symbol The WRITE name number commands ID and a the INQUIRE assigned to a entered write blank a is text line. The lines between the label WRITE LOOP and END LOOP define processing that results 1in additional data written to the file. The label END_LOOP is also used as the target of the /ERROR qualifier on the WRITE command; the CLOSE and PRINT commands of the at this file TESTFILE.DAT is label to the deleted close the system after 257 output file printer. printing. and The queue output a copy file INDEX $s Batch jobs (Cont.), summary of commands, in command procedures, 5-2 in first position of input records, prompt 1-16 synchronize execution, 250 using devices, 5-20 48 for command input, 1-1 $SEVERITY, 5-17, 3 $STATUS, 5-17, 3 define with EXIT command, 91 special cases, 5-19 test in command procedures, 5-18 = (Assignment Statement) command, 5-8, 1 examples, 1-5, 5-10, 5-11 @ (Execute Procedure) 5-4, how to 8 use, 5-4 specify, rules 1-2 command, 12 VAX-11, CLOSE 14 140 140 command, examples, Assignment command, 26 COBOL/RSX11l command, Colon, specify in logical Command interpreter, 28 DCL, 1-2 default, 18 MCR, statements, 1-5, 5-24 specifying, 5-20, 2-11 examples, for 6-12 6-8 3 alphanumeric, 6-8 delete input, 1-7 nonalphanumeric (summary), Assembler, MACRO-~-11l, 24 Characters, 3-3 command, 1-5, 1 Command 1 name, 2-12 1-2 1-2 login, levels, 137 5-7 Command procedures, 1-5, 5-1 change verification mode, 5-4, BASIC command, Batch jobs, 210 for errors, 5-18 creating, 5-1 disable error checking, 22 5-1 delete from queue, 57 display in queue, 5-6, log file, 5-7 modify attributes, 199 mounting devices, 3-12 execute at login, 5-18, signal end-of-data, 86 specify end-of-job, 87 parameters, parameters, 230 5-12 specify password, 158 submit interactively, through card 5-5, 247 reader, 113 5-4 5-12 submit through card reader, summary of commands, 1-16 terminate, 5~16, 245 transfer control, Index-1 192 5-8 executing, 5-4, 8 exit from, 5-16, 91 handle CTRL/Y, 153 handle errors, 5-18, 153 input and output streams, mounting devices, 3-12 nesting, 5-7 5-6, 6-9 144 select at 5-10 check submit 1-8 4-7 substring expressions, devices, 3-3, 12 in batch jobs, 5-20 Alphanumeric characters, 6-8 syntax, execution, Character strings, comparison operators, manipulate in command Allocate ASSIGN program 4-7 input with CTRL/C, procedures, examples, APPEND execution, copy file from, 37 set translation mode, 187 submit batch jobs, 5-6 the number, ALLOCATE command command scheduled wakeups, reader, 5-6 system, 1l-1 login procedure, 137 Account 24 Card time values, 6-14 Accessing CANCEL command, Cancel, command, A Absolute C 5-16, 97 5-6 INDEX (Cont.) CTRL/I, CTRL/K, CTRL/L, CTRL/O, Commands, comments, 6-2 continuable after CTRL/C or CTRL/Y, 4-7 1-9 1-9 1-9 1-9 effect on image execution, 4-7 continue on more than one when displaying multiple line, 6-2 define synonyms for, 1-5 device handling (summary), 1-13 entering, 1-2 execute in command procedures, files, 252 CTRL/Q, 1-9 effect on image execution, 4-7 resume output, 252 5~2 file manipulation (summary), 1-12 CTRL/R, 1-9 CTRL/S, 1-9 prompting, 1-3 CTRL/U, 1-9 program development (summary), 1-14 qualifiers, 6-4 rules for entering, 6-1 summary by function, 1-11 terminal control (summary), 1-11 to control batch jobs (summary), 1-16 effect on image execution, 4-7 suspend output, 252 cancel a command line, 1-7 CTRL/X, 1-9 CTRL/Y, 1-9 disable, 188 interrupt program execution, 4-6 specify action to take, 153 CTRL/Z, 1-9 signal end-of-file from terminal, 5-2 Comments on command lines, 6-2 Compare files, 65 Compilers, BASIC, 22 FORTRAN, 93 D PDP-11 COBOL-74/VAX, 28 Completion status values, 5-18 Concatenate files, Data, 32 entering in command procedure, Continuation character, 6-2 5-2 CONTINUE command, 31 submit in input stream, 48 target of ON command, 5-18 Date, Continue, display, 216 commands on more than one entering in commands, 6-14 DCL command interpreter, 1-2 DEALLOCATE command, 41 line, 6-2 in command procedures, 5-2 image execution after examples, 3-10 DEASSIGN command, 43 DEBUG command, 46 interruption, 4-7 in command procedures, 5-2 Control keys, 1-8 Debugger, 4-5 COPY command, 32 copy files to and from tapes, 3-10 CREATE command, 38 create a file in a batch job, 5-2 CREATE/DIRECTORY, 2-4, 38 examples, 2-4, 3-8 Create, command procedures, 5-1 directories, 38 files, 38 libraries, 116 logical names, 2-11, 18, subdirectories, CTRL key, 1-8 2-4, 38 summary of functions, 1-8 CTRL/C, 1-9 cancel command input, 1-8 compile program with, 4-5 information used by, 4-5 invoke after image interruption, 46 request at run time, 4-5, 174 Debugging, DEPOSIT command, 61 EXAMINE command, 88 Decimal values, 6-10 specify, 6-10 DECK command, 48 example, 5-3 50 Default, disk and directory, 2-7 interrupt program execution, 4-6 relationship to CTRL/Y, 4-6 Index-2 change, 189 display, 217 file specifications, 2-7 after logical name translation, 2-14 INDEX Default, file specifications (Cont.), summary, 2-8 temporary, 2-16, logical names, process list files in, 73 specify in logical names, DIRECTORY 4-9 2-15 logical names, 2-16 in batch jobs, 5-8 in command procedures, 5-4 protection, Directories (Cont.), hierarchies, 2-5 2-9 file types, 2-6 input, output, and error streams, (Cont.) UIC logical DELETE 18, files, protection, 3-2 volumes, allocate, 3-4 mounting, 146 private, 3-7 sharing, 3-8 50 symbol names, command, 1 53 DELETE/ENTRY, 57 DELETE/SYMBOL, 59 DELETE key, 1-7, DISMOUNT 1-9 5-6, input characters, 1-7 input command lines, 1- 7, logical names, 43 print jobs, 57 (tape), set, command, 61 summary, command, 79 EDIT command, 82 191 2-3 4-4 invoke in command procedures, 10 invoking, 82 ' End-of-data, signal with EOD command, End-of-job, specify Entering, Devices, EOD allocate, 3-3, 12 2-1 deallocate, 3-6, 41 display status of, punch, EOJ command, 77 example, default mounting volumes, 146 2-3 3-8, 38 default, 2-7 change, 189 display, 217 3-5, 5-7 87 5-6 2-11, 18, 50 Errors, 1-13 command, 5-2 86 Equivalence names, 218 summary of commands, how to specify, 2-2 create, 87 5-3 EOF handling, Directories, command, example, classes, DIFFERENCES in batch job, 86 commands, 1-2 data in command procedures, 2-3 dismount volumes, 3-6, display default, 217 5-4 Editors, Device names, 2-2 assign logical names, 18, 50 generic, 2-3, 3-4 in file specifications, 2-2 logical, 2-12 physical, DUMP 1-8 symbols, 59 Delta time values, specify, 6-15 Density 77 3-10 Display, files, 252 lines in command procedures, 57 DEPOSIT command, examples, Delete, batch jobs, files, 53 217 select at login, 137 file structures, 3-8 50 names, for 2-16 189 display, Define, values 2-4 2-7, change, 229 command, format, Disk, default, set, 195 system logical names, 2-17 values for qualifiers, 6-5 DEFINE 2-15 73 Directory name, 2-3 in file specifications, 2-3 subdirectory format, 2-4 3-3 display, command, error stream, 2-16, 4-9 for created process, 176 handling in command procedures, 5-18, 153 65 system messages, ESCAPE EXAMINE key, 1l-4 1-9 command, 88 Exception conditions, Execute, 5-4 command Index-3 procedures, 4-8 5-4, 8§ INDEX Execute (Cont.), programs, 174 protection, 3-2 EXIT command, 91 examples, 5-16 Exit, from command procedure, 5-16 handlers, 4-8 image exit, 4-6 Expressions, arithmetic operations, 6-12 comparing arithmetic values, 6-12 (Cont.) comparing character strings, 6-12 containing lexical functions, 5-24 how to specify, 6-11 in assignment statements, 1 logical operations, 6-11 performing arithmetic operations, 6-12 rules of precedence, 6-13 used in IF commands, 5-15 Files (Cont.), open for reading or writing, 5-20, 156 print, 159 protection, 3-1, 196 change, 195 display default, 229 set default, 195 purge, 164 read, 5-20, 166 rename, 169 sort, 240 tapes, 3-9 multi-volume, 3-10 type, 252 unlock, 254 write, 5-20, 256 Files-1ll Structure Level 1, 3-8, 105 Files-11 Structure Level 2, 3-8, 105 Format disk and tape volumes, 104 FORTRAN command, Functions, 93 lexical, how to specify, summary, 5=22 5-22, 5-26 6-13 F G File names, how to specify, null, 2-9 2-6 File specifications, defaults, 2-7 lists, 6-4 2-1 parameters, 6-3 rules for entering, 6-3 temporary defaults, 2-9 using logical names, 2-11 File types, default, 2-6 how to specify, 2-6 null, 2-9 Files, 2-1 append, 14 close, 5-20, 26 commands (summary), 1-12 compare contents, 65 concatenate, 32 copy, 32 Generic device names, 2-3, 3-4 Global symbols, in command procedures, 5-10, 1 in object module libraries, 117 GOTO command, 97 examples, 5-16 Group, logical name table, 2-12 in UIC, 1-2 protection category, 3-2 qualify process names, 4-11 number H HELP command, 99 Hexadecimal values, specify, 6-10 Hibernation and wakeup, 177 create, CREATE command, 38 EDIT command, 82 delete, 53, 164 display, 252 dump, 79 editors, 4-4, 82 formats, 3-8, 3-9, 105 how to specify, 2-1 libraries, 4-3, 116 listing directories, 73 on private volumes, 3-1 IF command, 101 examples of expressions, 5-15 Image, 4-6 create with linker, 126 execute, 174 exit, 4-6 after CTRL/C or CTRL/Y, 4-6 exit handlers, 4-8 interrupt execution, 4-6 Index~-4 INDEX Image (Cont.), relationship to process, RSX-11M, stop LINK 4-8 4-7, 245 Initialization of volumes, 104 INITIALIZE command, examples, Input 3-8, stream, use 104 2-16, 4-9 logical names, INQUIRE command, examples, 3-4, 3-9 for created process, SYSSINPUT, 2-16 Input/output, devices, 3-1 176 qualifier values, specify, 6-6 Log file, for batch jobs, 5-7, Logical names, 2-11 assign, 18, 50 deassign, 43 2-17 111 5-14 output entry, to program terminal, 1-9, execution, 252 default, 4-6 46 how to specify, 2-12 specify as command input, system format, 2-15 system-supplied, 113 Job, batch jobs, 5-1 identification, assigned patch jobs, 5-6 name, specify print jobs, for batch 2-13 use devices to mount to execute LOGIN.COM procedure, job, 5-5 LOGIN.COM 159 test LOGOUT 1-7 Macro in command procedures, volume, 3-4 Lexical functions, 5-22 97 5-22 maintain, command, examples, MACRO 6-8 and command, MACRO-11l, 4-4 maintain, 116 140 140 MCR, command, command 144 interpreter, 144 examine, 88 modify data in, 61 working set, 212, 239 116 1lle6 object module, LIBRARY 1-6 to Memory, 4-4 4-4, in, translation libraries, create examples, 5-23 to 5-26 how to specify, 6-13 macro, 6-8 6-3 Labels, and 139 1-6, uppercase, L create 5-8 entering commands Keywords, 5-8 interactive or batch 5-24 command, suppress file, batch 1l-1 file, for Lowercase, Keys, truncating, in jobs, 3-12 Login, 137 K Libraries, 2-14 2-17 2-11 translation, mode, summary, 2-15 in batch jobs, 5-7 in command procedures, 5-4 display equivalence, 221, 238 5-6 terminal, command, tables, command, example, 247 26 J JOB how to deassigned with CLOSE 1-8 continue, 31 invoke debugger, stop, 245 126 of Interrupt, command command, LINK/RSX11l command, 132 specify libraries, 4-3 Linking programs, 126 with the debugger, 4-5 Listing files in directories, 73 Lists, of file specifications, how to specify, 6-4 132 execution, (Cont.) 4-3, 116 Messages, 116 send 4-4 to operator, 3-5, format, 1-4 system, Index-5 171 INDEX Parameters (Cont.), pass to command procedures, MOUNT command, 146 examples, 3-5, 3-8 Mounting volumes, 3-5 5-12, 8 testing, in batch jobs, 3-12 sharing, 3-8 Multi-volume tapes, 3-10 5-8 networks, how to specify, 2-2 Null file names and file types, 2-9 6-10 display, 226 Process, 1l-1 cancel wakeups, delete, 24 3-5, identification number, 4-9 logical name table, 2-11 name, 4-9, 4- 11 quotas, 4-9 relationship to image, 4-8 set characteristics, 193 171 6-10 Program, from command procedure, debugging, 4- 4 development, command summary, commands, 4 -1 5-4 Owner, execution, for symbol values, Protection, 3-3 codes, 3-1 how to specify, default, 3-3 P Parameters, 1-3 command, file specifications, 6-3 rules for entering, 6-1 248 device allocation, display, 229 file, 3-2, 19 5 tape volumes, 3-3 volumes, 3-1 PURGE command, l64 Index-6 4-4 1-14 interrupt, updating, 4-4 Prompting, 1-3 of a subprocess, 4-11 protection category, 3-2 volume, 3-4 5-12, 4-4 compare versions, 2-16 Output, 233, 226, 236 specify in expressions, 6-l1 Output stream, 2-16, 4-9 for created process, 176 pass to batch job, 245 display information, 156 arithmetic, 6-12 arithmetic comparisons, 6-12 logical, how to specify, 6-l1 SYS$OUTPUT, 4-9 created with RUN command, 175 default logical names, 2-16 Operators, radix, 225 created at login, 1l-1 created to execute the batch 116 ON command, 153 examples, 5-18 OPEN command, 5-20, send message to, change entries, 199 display, 23 0 Printers, display characteristics, queues, 159, 199 ! 230 Priority, process, 4-9, 193 Privileges, 1-2 assigned to user processes, o Operator, 230 queues, Node names, Object module, libraries, 4-3, link, 126 Octal values, specify, 6-10 2-3 Print, files, 159 at the terminal, 252 jobs, delete from queue, 57 display status, display status, 224 how to specify, 2-2 submit batch jobs, 247 rules for entering, 5- 16 PASSWORD command, 158 Physical device names, PRINT command, 159 Nesting command procedures, Numeric values, (Cont.) 4-6 5-14, 196 3-3 111l INDEX (Cont.) Q Qualifiers, command SET 1-3 qualifiers, 6-4 defaults, 6-5 file qualifiers, 6-4 in command procedures, 5-3 rules for entering, 6-4 specify values for, Queues, Quotas, batch jobs, resource, display, 1-2, SET PROTECTION, SET QUEUE, 199 example, 5-6 193 SET RMS SET TERMINAL, READ command, read Read, 210 5-5 SET WORKING_SET, summary of 4-9 SHOW DAYTIME, 216 SHOW DEFAULT, 217 SHOW DEVICES, SHOW LOGICAL, files, 5-20, RENAME REPLY command, 169 command, examples, 3-5 218 to created Resource wait mode, counts, 4-9 process, 176 193 and multi-buffer 201, Task Rules RUN for command, create a execute 144 commands, 6-1 174 command, SET CARD invoking, returned STOP Y, 192~ NOVERIFY, SET ON, 210 192 example, DCL 245 in 5-18 215 240 command, commands, command 5~17 batch job, execution 5-18 procedure, 57 of command procedure, 5-16 file from printing, 57 create, 187 191 NOCONTROL SET by image execution, SET CONTROL Y, 188 SET DEFAULT, 189 NOON, 239 82 command, executed 174 185 SET SET 238 values, Subdirectories, READER, MAGTAPE, 4-4 Status 175 image, SET SET, of options, 4-4 SO0s, S SET 237 Stop, process, an 234 236 defined with EXIT 5-17, 91 (MCR), 132 entering SYMBOL, SYSTEM, invoking, 82 SORT/RSX11l command, 232 interpreter Builder, SHOW SLP, 232 233 SHOW summary RSX-11M, command 224 225 DEFAULT, SHOW WORKING RK06/RK07 disk, backup files on, 3-7 RMS (Record Management Services), 1-6 multi-block 223 SHOW TRANSLATION, 1-2, 3-8 221 SHOW TERMINAL, SHOW TIME, 216 171 quotas, RMS SHOW STATUS, 3-11 REQUEST assign SHOW 3-2 command, Resource 5-20 166 protection, 186 SHOW PROCESS, 226 SHOW PROTECTION, 229 SHOW QUEUE, 230 166 files, 212 options, Sharing disk volumes, SHOW command, 214 6-10 and write 201 203 SHOW MAGTAPE, SHOW NETWORK, SHOW PRINTER, Radix operators, 195 DEFAULT, example, 247 226 (Cont.), PROCESS, SET VERIFY, 6-6 batch job, 5-5 display entries, 230 modify entries, 199 printer, 159 submit command SET 188 how to SUBMIT 38 specify, command, examples, Submit, batch batch Index-7 2-4 247 5-5 jobs jobs reader, Subprocess, create 4-7 2-4 interactively, 5-5 through the card 5-6 with RUN command, 175 INDEX (Cont.) Subprocess delete, multi-volume files, 3-10 245 operator assistance required, display current subprocesses, 3-11 226 rewind and unload, 191 use more than one drive, Task Builder, invoke, 132 4-5 file specification defaults, 2-9 Terminal, 111 1 change characteristics, 203 display characteristics, 237 define synonyms for commands, 1-5 function keys, display current values, 234 session, initiate, 4 substitution, 5-8 SYNCHRONIZE command, 250 for DCL commands, 1-5 Synonyms, 2-16 SYS$COMMAND, display, 139 216 entering in commands, 6-14 Traceback information used by debugger, 4-5 Translate, SYS$DISK, 2-16 change with SET DEFAULT command, 189 SYSSERROR, 2-16, 4-9 logical names, 2-13, 221, 238 apply defaults, 2-14 order of search, 2-13 recursively, 2-14 defined for batch job, 5-7 defined for command procedure, 2-16, 1-1 terminate, Time, defined for batch job, 5-8 5-4 1-7 summary of commands, 1-11 using in command procedures, SYS$INPUT, 1-8 summary, 59 delete, 3-12 Temporary, assign values interactively, 5-14, define, 3-3 protection, relationship to owner, 4-11 Swap mode, 193 Symbol table, 4-5 used by debugger, Symbols, 5-14 (Cont.), Tapes (Cont.), Translation mode for card reader, 187 Truncating keywords, 6-3 4-9 TYPE command, define as SYS$SCOMMAND, 10, 21 defined for batch job, 5-7 defined for command procedure, 252 Type-ahead buffer, 1-7 purged after CTRL/Y, 4-6 5-4 SYSSLIBRARY, 2-17 syssourpuT, 2~-16, 4-9 U defined for batch job, 5-7 defined for command procedure, 5-4 SYS$SYSTEM, UIC (user identification code), 1-2 2-17 Systemnm, default logical names, 2-17 devices, display status of, 210 display all processes, 236 directory name, 2-4 UNLOCK command, 254 User authorization file, 1-2 obtain process defaults, 4-9 logical name table, 2-12 protection category, 3-2 VAX-11 FORTRAN IV-PLUS, 93 T TAB key, VAX-11 MACRO, 140 libraries, 4-4 1-9 Tables, local and global symbol, 4-5, 5-10 logical name, Tapes, allocate, mounting, \'} 3-4 146 2-11 VAX-11l Record Management Services (RMS), 1-6 Verification setting in command procedures, 5-4 set on and off, 210 Version numbers, 2-6 on tape files, 3-10 Index~8 INDEX Volumes, 3-4 dismount, 3-10, 77 display status of, dump contents, initialize, mount, 3-5, protection, WAIT command, example, Wait, for batch (Cont.) Wait current Wakeups, 219 79 3-4, 146 3-1, (Cont.), put job in wait 104 cancel scheduled, schedule with RUN 196 Wild cards, 2-10 input files, 2-10 24 command, W output files, 2-10 Working set, 212, 239 World, 255 WRITE protection category, 5-20 command, example, 256 5-21 Write, job termination, 250 Index-9 protection, 3-2 state, 3-2 177 255 VAX/VMS Command Language Guide AA-D023A~TE User's READER'S NOTE: This use form is for comments eligible Report document submitted discretion. Did you find Did you page to receive (SPR) one service, find errors indicate OOOoaod comments this the Assembly type of language Occasional DIGITAL will at company's the a written reply and are under Software Performance comments on an SPR submit your usable, improvement. in this manual? Higher-level User with for only. form this manual understandable, suggestions number. Please on If you require form. Please make COMMENTS reader If so, and well-organized? specify the error that you most nearly represent. programmer language programmer programmer little (experienced) programming experience Student programmer Other (please specify) Name Date Organization Street City. A State and the Zip Code or Countrv —_—_——— = = - — — — DoNot Tear- Fold Hereand Tape — — — — — — — — — No Postage dlilgliltiall Necessary if Mailed in the United States BUSINESS REPLY MAIL FIRST CLASS PERMIT NO.33 MAYNARD MASS. POSTAGE WILL BE PAID BY ADDRESSEE RT/C SOFTWARE PUBLICATIONS TW/A14 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