Documentation changes for: Using the DG/RDOS Command Line Interpreter Part Number 093-000471-00 This file (filename 093000471.00) contains information that affects the following pages of your manual: 1-5 *3-26 *3-88 *1-6 *3-30 *3-89 1-7 3-32 *3-98 *1-9 3-33 *3-100 *1-10 *3-34 3-104 *2-9 *3-35 *3-105 *2-20 *3-45 *3-111 *2-21 3-49 *3-118 3-6 3-63 *3-121 *3-8 3-66 4-1 *3-9 *3-71 *4-5 *3-10 *3-75 *4-6 3-12 3-85 C-1 This fifth revision of 093000471.00 was updated on October 7, 1992. Items appearing here since the last revision are easy to identify: in the list above, asterisks (*) mark pages with changes printed in this file for the first time. And, in the margin of pages that follow, change bars (|) mark the new material. For example, this revision of 093000471.00 contains a change to page 3-9 of its parent manual. You are seeing this change for the first time, and bars appear next to it. To keep your manual current, you should do either of the following: o Mark the affected pages of your manual so that you will know to refer to this file for additional information. o Print this file, punch holes to fit your binder, and insert the pages into your manual. Copyright (c) Data General Corporation, 1987-1992 inclusive All Rights Reserved Licensed Material - Property of Data General Corporation ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 1-5 Replace the third paragraph under the heading "Correcting Typing Mistakes" with the following one: If you type LISR instead of LIST, you can correct the line by pressing the character delete key and then typing a T: LISRT ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 1-6 Replace the first paragraph with the following: | The ABBREVIATE command enables the CLI to recognize unique | abbreviations of all CLI commands. When you start DG/RDOS, the | ABBREVIATE feature may be on or off. To determine its status, | type the CLI command | | ABBREVIATE | | The system responds by displaying the word ON or OFF. If the | ABBREVIATE feature is off, you can turn it on by typing | | ABBREVIATE ON ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 1-7 Delete the table entry for the TAB character and change the table entry for the backslash character to read as follows: | Keyboard | Character | Symbol | Function ----------|----------|----------------------------------------- Backslash | \ | Deletes from the current line all | | characters preceding the cursor. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 1-9 In the section "Control Sequences," change the list to read as follows: a) If the second character is a CTRL-A, -B, -C, -D, or -F, the actions described in Table 1-3 are taken. | b) If the second character is CTRL-Q or CTRL-S, the actions | described in Table 1-2 are taken. The next character | is treated as the second character of the CTRL-C sequence. | | c) If the second character is not a CTRL character, the | console driver handles the second character as if the | CTRL-C were never entered. | | d) If the second character is a control character that is | not covered by rule a or b above, it is echoed but no | action is taken. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 1-10 In Table 1-3, the entry for "CTRL-F" should read as follows: | CTRL-F Terminate a foreground program from the | background console. Add the section "SCREENEDIT Control Characters" just before the heading "CLI Responses." SCREENEDIT Control Characters The SCREENEDIT control characters, like the cursor control keys, help you move the cursor around on the terminal screen. They also allow you to insert characters, delete characters, and terminate command lines. When you start DG/RDOS, the SCREENEDIT feature may be on or off. To determine its status, type the CLI command SCREENEDIT The system responds by displaying the word ON or OFF. If the SCREENEDIT feature is off, you can turn it on by typing SCREENEDIT ON The command SCREENEDIT OFF turns the feature off. Character Function --------- -------- Ctrl-A Moves the cursor one position past the last character on the current line. If characters from a previous CLI command line are still in the CLI's command-line buffer, typing Ctrl-A will reveal all or part of that command line. Ctrl-B Moves the cursor back to the beginning of the current or previous word. Ctrl-E Turns insert mode on or off. Ctrl-F Moves the cursor forward to the beginning of the next word. If words from a previous command line are still in the CLI's command-line buffer, typing Ctrl-F may reveal all or part of a word from that command line. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Character Function --------- -------- Ctrl-H Moves the cursor to the beginning of the line. (Ctrl-H has the same effect as HOME.) Ctrl-J Terminates the current line. (Ctrl-J has the same function as New Line.) Ctrl-K Erases the characters between the cursor and the end of the line. (Ctrl-K has the same function as ERASE EOL.) Ctrl-L Terminates the current line and clears the display. (Ctrl-L has the same effect as ERASE PAGE.) Ctrl-M Erases the characters between the cursor and the end of the line and then terminates the current line. (Ctrl-M has the same effect as CR). Ctrl-U Erases the current line and moves the cursor to the beginning of the line. Ctrl-W Displays the last CLI command you entered. Pressing Ctrl-W a second time displays the next-to-last command line, and so on. (Ctrl-W has the same effect as the uparrow.) Ctrl-X Moves the cursor one position to the right. If characters from a previous command line are still in the CLI's command-line buffer, typing Ctrl-X may reveal a character from that command line. (Ctrl-X has the same function as the rightarrow.) Ctrl-Y Moves the cursor one position to the left. (Ctrl-Y has the same function as the leftarrow.) ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 2-9 Replace the last paragraph on the page: You can use templates with the following CLI commands: | BUILD | DELETE | DISK | DUMP | LIST | LOAD | MOVE | REV | UNLINK ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 2-20 In the section "Determining the Amount of Free Disk Space," replace the second paragraph: | For a primary partition, DISK displays the diskname, the total | number of blocks in the partition (MAX), the number of used | blocks (USED, made up of blocks allocated to files, secondary | partitions, and subdirectories), the number of free blocks | (LEFT), and the maximum number of contiguous blocks (MAX | CONTIG). | Replace the information in Figure 2-4 with the following: | Max: wwww Used: xxxx Left: yyyy Max contig: zzzz | | wwww is the xxxx is the yyyy is the zzzz is the | total number number of number of number of | of blocks blocks in blocks free blocks forming | use for storage the largest | contiguous | free space ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 2-21 Replace the example at the top of the page with the following: | DISK DA0 | | DA0 Max: 24660 Used: 23161 Left: 1499 Max contig: 910 ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-6 Replace the first paragraph with the following: The ABBREVIATE command enables the CLI to recognize unique abbreviations of all CLI commands. When you start DG/RDOS, the ABBREVIATE feature may be on or off. To determine its status, type the CLI command ABBREVIATE The system responds by displaying the word ON or OFF. If the ABBREVIATE feature is off, you can turn it on by typing ABBREVIATE ON ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-8 Replace the third and fourth paragraphs with the following: | The program DISKBOOT.SV must reside in the primary partition of | the disk that holds sysname. | When you use the BOOT disk format, DISKBOOT displays a Filename? prompt. Enter the system filename or the name of a stand-alone program. You can respond to Filename? with to bootstrap a system with the name SYS.SV, the default system name. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-9 Replace the first paragraph: All DG/RDOS stand-alone programs conform to the rules. If you need to bootstrap a program that does not follow them, use the BOOT command and name the directory that contains the program. | When DISKBOOT asks Filename?, type the program name and append the /A switch. Replace the current "Restart Feature" section with the following one: Restart Feature If you issue the command BOOT system-name in order to start DG/RDOS and your computer's switch register is set to -1, the operating system you have just booted will try to execute a program named RESTART.SV. Likewise, if you enter the command BOOT disk-name while your switch register is set to -1, you will not see the Filename? prompt; rather, the operating system pointed to by SYS.SV will try to execute RESTART.SV. You must supply this restart program yourself. If DG/RDOS is unable to find this file, it goes through its regular startup routine. To set the switch register, follow the directions below: 1) For 16-bit systems, do the following: a) Enter your system's virtual console. b) To open the switch register, type 10A. c) Set all of the bits in the switch register to 1. You can usually do this by typing 177777. d) To leave the virtual console, type P. | 2) For MV/3000 DC Series and MV/5000 DC Series systems, do the following: a) Enter your system's System Control Program. b) Since the CPU is still running, type the SCP-CLI command HALT. c) Type FLAGS RADIX 8 to make sure that the current radix is octal. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 d) To open the switch register and set all of the bits to 1, type EXAMINE SET SWR 177777. e) To leave the System Control Program, type CONTINUE. 3) For other 32-bit systems, do the following: a) Enter your system's System Control Program. (On some systems the CPU is still running; you should type the SCP-CLI command HALT.) b) To open the switch register, type EXAMINE SWREG. c) Set all of the bits in the switch register to 1. You can usually do this by typing 177777. d) To leave the System Control Program, type CONTINUE. Listed below are several consequences of running a RESTART.SV that ends by chaining to the CLI. 1) If you are working on a DESKTOP GENERATION system, the date and time will not have been set when you reach the CLI. 2) If you are working on a DESKTOP GENERATION Model 10 or 10SP, your terminal emulator will not have been loaded when you reach the CLI. 3) If you are working on a system that includes intelligent asynchronous controllers, when you reach the CLI, DG/RDOS will not have loaded code on those controllers. 4) On any machine, if you want to run the macro UP.MC as the system is coming up, RESTART.SV must pass the EREXQ flag (octal 17) to the CLI in AC2. Replace the current "Local Switches" section with the following one: | Local Switches | | /A Appending /A to your response to the Filename? query | informs DISKBOOT that you are loading a stand-alone | program that does not conform to default BOOT | conventions. Replace the first example with the following: BOOT DEO Master device released ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Filename? MYSYS | Loads DISKBOOT.SV from DE0, releases the master directory, and asks for the system name. When you supply the system name | MYSYS, DISKBOOT bootstraps MYSYS from disk directory DE0. MYSYS requests the date and time, then activates the CLI. Replace the last example with the following: BOOT DJ0 Master device released Filename? FOO.SV/A | Invoke DISKBOOT and execute the program FOO.SV. FOO.SV does not conform to BOOT conventions, thus the /A switch. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-10 In the "Global Switches" section, add this entry: | /S Sort the inputfilenames alphabetically. No | absolute pathnames (those containing colons) | are allowed. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-12 Change the format for invoking the BURST utility so that it reads as follows: [CHAIN] BURST [buffersize/S] [command] [source] [destination] Also, add the following paragraph between what are currently the first and second paragraphs: If the BURST operation you want to perform will cause the utility to access the master directory, you must use the optional command CHAIN. Before BURST can access the master directory, it must release that directory, and in order to release the master directory, the utility must be running at level 0. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-26 The syntax for the CPART command is as follows: | CPART partitionname[.DR] blockcount | [...partitionname[.DR] blockcount] ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-30 In the "Global Switches" section, add this entry: | /S Delete the filenames alphabetically. No | absolute pathnames (those containing colons) | are allowed. In the "Local Switches" section, add this entry: | listfile/L Send output to the specified listfile. | This overrides the global /V and /L switches. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Pages 3-32 and 3-33 Change the page's header, the syntax description, and the first paragraph on the page to read as follows: -------------------------------------------------------------- DIR Command Display the name of or change the current directory. -------------------------------------------------------------- DIR [directoryname] If you do not supply an argument on your command line, DIR displays the name of the current directory. This is the same name that is stored in the CLI variable %GDIR%. If you do supply an argument, DIR makes directoryname your new current directory. Directoryname can be a subdirectory, secondary partition, or primary partition and can be in a pathname. Place the following note after the third paragraph on page 3-32: NOTE: Don't use the unit name of a write-protected disk or diskette as an argument to the DIR command. All you should do with a write-protected disk or diskette is to read it using the IMOVE, BURST, or FCOPY utility. Replace the current "Examples" section with the following one: Examples DIR PARSETZ DIR PARSETZ The command DIR PARSETZ makes PARSETZ the new current directory. Then the second DIR command displays the name of the current directory--in this example, PARSETZ. DIR DJ0:APPLICAT:DBMS DIR DBMS This example makes directory DBMS the new current directory. Directory DBMS resides on diskette DJ0 in secondary partition APPLICAT. DIR initializes all the directories listed in its directory-specifier argument. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 DIR PARSETZ DIR PARSETZ We know that directory PARSETZ is initialized because it was a previous current directory. We can, therefore, use it as an argument to the DIR command without specifying all the directo- ries in the path from directory DBMS to directory PARSETZ. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Pages 3-34 and 3-35 Change page 34's header, the syntax description, the command description, and the examples to read as follows: | -------------------------------------------------------------- | | DISK Command | Display the allocation of disk storage space for the current | or specified partition. | | -------------------------------------------------------------- | | DISK [directoryname [...directoryname]] | | If you do not supply an argument on your command line, DISK | displays the current allocation of disk space, in decimal | blocks, for the current partition. Do not use any of the | switches below if you do not supply an argument. | | Any argument that you supply must be initialized on the system. | If you use template characters in your directoryname, DISK will | search for a match in the current directory. DISK displays the | disk space allocation information for each directoryname that | you specify. You can use the global and local switches descri- | bed below. | | The display reports the allocation of disk blocks for a parti- | tion as follows: | | Diskname Max: mmmm Used: uuuu Left: ffff Max contig: cccc | | where: | | Diskname is the partition name. | | mmmm is the total amount of space allocated to | the partition. | | uuuu is the number of blocks in use. | | ffff is the number of blocks free for use. | | cccc is the number of blocks forming the | largest contiguous unallocated space. | | If the current directory is a subdirectory, DISK calculates the | space usage of its parent partition. If the current directory | is a primary partition, DISK surveys the entire disk for space | usage. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 | When determining space requirements, note that all directories | require some space for their system and map directories (SYS.DR | and MAP.DR). The master directory also requires space for the | bootstrap program and system files. | | Global Switches | | /A Include permanent files. Files with the P attribute | are excluded unless you use this switch. | | /K Exclude links. | | /L Send the output to $LPT. | | /N Exclude non-links. | | /S Sort alphabetically. No absolute pathnames (those | containing colons) are allowed. | | Global switches /A, /K, and /N do not affect files that are | specified explicitly on the command line. | | Local Switches | | mm-dd-yy/A Include only files created on or after | this date. | | mm-dd-yy/B Include only files created before this | date. | | listfile/L Send output to the specified listfile. | This overrides the global /L switch. | | template/N Exclude files that match this template. | | Local switches /A, /B, and /N do not affect files that are | specified explicitly on the command line. | | Example | | DISK DA0 DR0 | DA0 Max: 1274240 Used: 1000000 Left: 274240 Max contig: 232321 | DR0 Max: 28656 Used: 928 Left: 27728 Max contig: 27662 | | This response indicates that on DA0, 274240 out of 1274240 | blocks are still available for use and the largest amount of | free contiguous blocks is 232321. On DR0, 27728 out of 28656 | blocks are still available for use and the largest amount of | free contiguous blocks is 27662. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-45 The syntax for the EQUIV command is as follows: | EQUIV newname oldname [...newname oldname] ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-49 Change the format for invoking the FCOPY utility so that it reads as follows: [CHAIN] FCOPY [source destination] Also, add the following paragraph immediately after the description of the utility's syntax: If the FCOPY operation you want to perform will cause the utility to access the master directory, you must use the optional command CHAIN. Before FCOPY can access the master directory, it must release that directory, and in order to release the master directory, the utility must be running at level 0. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-63 Add the following note after the first paragraph on the page: NOTE: Don't use the unit name of a write-protected disk or diskette as an argument to the INIT command. All you should do with a write-protected disk or diskette is to read it using the IMOVE, BURST, or FCOPY utility. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-66 Replace the current table entry for ["]uvltext["]/U with the following one: uvltext/U Creates a user volume label. As long as uvltext consists of 1 to 72 characters surrounded by double quotation marks, the utility puts this text in a label. (The semicolon and backslash are illegal in UVLs.) You can request a total of nine user volume labels. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-71 The syntax for the LINK command is as follows: | LINK resolutionfile/2 | linkfile resolutionfile | [...resolutionfile/2 | linkfile resolutionfile] ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-75 In the "Local Switches" section, add this entry: | listfile/L Send output to the specified listfile. | This overrides the global /L switch. Replace the paragraph at the end of the section: | Local switches /A, /B, and /N do not affect files that are | specified explicitly on the command line. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-85 Replace page 3-85 with the following material: -------------------------------------------------------------- MDIR Command Displays the name of or sets the master directory. -------------------------------------------------------------- MDIR [diskname] Used without an argument, MDIR displays the name of the master directory. This is the same name that is stored in the CLI variable %MDIR%. Used with a disk-name argument, MDIR allows you to make a new directory your master directory without rebooting the operating system. However, before you use the command in this manner, your system must meet the following criteria: 1) Both the current master directory and the proposed new master directory must be primary partitions (that is, disks). 2) Neither directory can be initialized. 3) No foreground program can be running, and the CLI must be running in the background at base level. Examples MDIR DA0 The primary partition DA0 is the master directory. RELEASE DA0 MDIR DR0 MDIR DR0 DIR DR0 In this example, the RELEASE command ensures that the directory DA0 is not initialized, and then the first MDIR command makes ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 the RAM disk DR0 the new master directory. The second MDIR command simply confirms that the master directory has been changed. The final command makes DR0 the current directory. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-88 In the "Global Switches" section, add this entry: | /N Exclude non-links. | | /S Move the files alphabetically. No absolute | pathnames (those containing colons) | are allowed. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-89 In the "Local Switches" section, add this entry: | listfile/L Send output to the specified listfile. | This overrides the global /V and | /L switches. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-98 Before the "Examples" section, add this paragraph: | You can use the RENAME command to move a file within a direc- | tory structure, as long as all relevent directories are ini- | tialized and the file does not have to be moved physically on | the disk. For example, you can rename a file that has the | pathname PARTITION:DIR1:X to PARTITION:DIR2:Y or PARTITION:Z. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-100 The syntax for the REV command is as follows: | REV program[.SV] [...program[.SV]] Add this paragraph after the first paragraph: | You can use template characters and date switches to select the | program names. You do not need to supply the .SV extension. Before the "Examples" section, add this information: | Global Switches | | /A Include permanent files. Files with the P | attribute are excluded unless you use | this switch. | | /K Exclude links. | | /L Send output to $LPT. | | /N Exclude non-links. | | /S Sort alphabetically. No absolute pathnames | (those containing colons) are allowed. | | Global switches /A, /K, and /N do not affect files that are | specified explicitly on the command line. | | Local Switches | | mm-dd-yy/A Include only files created on or | after this date. | | mm-dd-yy/B Include only files created before | this date. | | listfile/L Send output to the specified listfile. | This overrides the global /L switch. | | template/N Exclude files that match this template. | | Local switches /A, /B, and /N do not affect files that are | specified explicitly on the command line. This example should follow the existing example: ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 | REV/K/S -.SV 1-1-92/A | BURST.SV 03.00 | CLI.SV 03.00 | ICOPY.SV 03.00 | IMOVE.SV 03.00 | LABEL.SV 03.00 | LFE.SV 07.60 | MAC.SV 07.60 | MACXR.SV 07.60 | RLDR.SV 07.60 | SEDIT.SV 07.60 | | This example displays in alphabetical order the revision of all | files (excluding links) that have .SV extensions and were | created on or after January 1, 1992. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-104 The CLI has a new command, SCREENEDIT. The description of this command belongs between the explanations of the RLDR utility and the SDAY command. ------------------------------------------------------------- SCREENEDIT Command Turns SCREENEDIT mode on or off. ------------------------------------------------------------- SCREENEDIT [ON ] [OFF] When you boot DG/RDOS, SCREENEDIT mode may be on or off. To determine its status, type the command SCREENEDIT DG/RDOS will respond by displaying the word ON or OFF. If SCREENEDIT mode is off, you can turn it on by entering the command SCREENEDIT ON You can now use the control character CTRL-E to turn insert mode on and off, CTRL-U to erase a line of input, etc. To turn SCREENEDIT mode off, simply type SCREENEDIT OFF. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-105 Before the "Examples" section, add this paragraph: | Note: Do not use slashes (/) to separate the month, day, and | year. The CLI will expand your arguments in ways you did not intend. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-111 Change the second paragraph to read as follows: | Note that you cannot spool to a multiplexor line (QTY) unless | you use SYSGEN and CONFIG to treat the line as a linked $ | device. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-118 In the section "Global Switches," add this entry: | /S Unlink the linkfiles alphabetically. No | absolute pathnames (those containing colons) | are allowed. In the section "Local Switches," add this entry: | listfile/L Send output to the specified listfile. | This overrides the global /V and | /L switches. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 3-121 Before the "Global Switches" section, add this paragraph: | Also, XFER will not read tape files created by utilities like | BURST, IMOVE, or LABEL properly. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 4-1 Strike out the first sentence in the NOTE near the bottom of the page. You can use either uppercase or lowercase letters when you type commands and arguments into a macro file. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 4-5 Replace the first example, the second paragraph, and the second example with the following: MESSAGE Message displays whatever you type. when you execute the file, the CLI responds: | MESSAGE DISPLAYS WHATEVER YOU TYPE. When you enclose your text argument in quotation marks ("), the CLI displays every character you type literally, except for the | quotation marks; lowercase characters are preserved when you | enclose your text. When you do not use quotation marks, the CLI interprets and executes any special command line symbols, including angle brackets, commas, and control characters (see tables 1-1 and 1-2 in Chapter 1). This can work to your advantage. For example, the following line in a macro file reports the value of a CLI variable: MESSAGE The device name for your keyboard is %GCIN% | THE DEVICE NAME FOR YOUR KEYBOARD IS $TTI The CLI replaces the variable %GCIN% with its real value. Delete the next paragraph, which begins "Note that both the CLI" and delete its sample error messages. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page 4-6 Change the example at the top of the page to read as follows: | For example, we have the following lines in a macro file: | | MESSAGE "Transfer complete." | MESSAGE "Insert next diskette." | MESSAGE/P | | When we invoke the file, the terminal displays: | | Transfer complete. | Insert next diskette. | | Strike any key to continue ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Page C-1 Add the following appendix to the manual. Appendix C The CLI's Assembly Language Interface: CLI.CM and COM.CM Assembly language programs can use the CLI through the CLI files CLI.CM and COM.CM. An assembly language program can execute CLI commands and utilities, and pass arguments from the CLI to the program. Thus, a program can call on the CLI for its ability to handle operations such as file management. Using the CLI from an assembly language program requires an understanding of the CLI's interpretation mechanisms. The CLI uses two files, CLI.CM and COM.CM, to communicate with user and utility programs. Note that when a foreground process generates a .CM file, the CLI adds an initial F to the filename, as in FCLI.CM or FCOM.CM; the foreground file is functionally identical to its background counterpart. This chapter refers to the type of file without the F prefix. CLI.CM Files CLI.CM is a file that utilities and user programs can use to store certain commands for the CLI to execute. For example, the SYSGEN utility, which generates DG/RDOS operating systems, stores an RLDR command line in CLI.CM in order to use RLDR to build executable programs. User programs can use system calls to store CLI command lines in CLI.CM and then swap or chain to the CLI to execute CLI.CM's contents with an .EXEC system call. A swap saves the program's memory image, allowing the CLI to execute temporarily; a chain overwrites the executing program with the CLI. User programs can also execute the contents of CLI.CM if they use the system call .ERTN to return from a swap (see the section "Using the CLI to Interpret Program Errors" later in this appendix). When a program issues the .EXEC system call to swap or chain to the CLI while there is an octal 17 (mnemonic EREXQ) in AC2, the CLI searches for and executes the file CLI.CM. The CLI execu- tes the commands in CLI.CM as if you had entered the commands interactively from a terminal. To return to your program from a swap, include a CLI POP command as the last command in CLI.CM, or issue a POP command ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 from the CLI. POP returns processing to the next higher level program. To return to a user program from a chain, include a command to execute the program as the last line in CLI.CM, or execute the program from the CLI. COM.CM Files The CLI uses COM.CM files to store command lines and switches for utility programs and user programs. When the CLI reads a command line and the first word is not a CLI command, the CLI assumes the first word is the name of a utility program or user program. The CLI builds a file called COM.CM (or FCOM.CM in the foreground), in which it stores the complete command line, including filenames, switches, and arguments, in an edited format. When the CLI then invokes a utility, the utility examines COM.CM. When the CLI invokes a user program, the program can also examine COM.CM. In this way, you can use COM.CM to pass instructions and arguments to your program. The CLI places command lines in COM.CM in a specific format. That is, you can enter a utility command line in a number of ways, but COM.CM will always hold the command line in a format that the utility expects. The same is true for command lines that invoke user programs. In the COM.CM format for a user command, each character of the user command and filename arguments occupies a byte. Each filename is terminated with a null byte. For example, if you enter the command line TEST the CLI writes the command line to COM.CM with the word and byte organization shown in Figure C-1. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 Contents | Left Right Word| Byte Byte |-------|------- 0 | T | E 1 | S | T 2 | NULL | 0 3 | 0 | 0 4 | 0 | 377(8) ---------------- Figure C-1. COM.CM File Example After each argument in the command line, the CLI reserves four bytes for switches. Global switches are placed after the first filename argument, and local switches are placed after each subsequent argument. The CLI does not interpret switches when building COM.CM, but sets an appropriate bit for each one. Figure C-2 illustrates the bits set for letter switches in COM.CM files. 0 1 2 3 4 5 6 7 _______________________________ Byte 1 | A | B | C | D | E | F | G | H | Byte 2 | I | J | K | L | M | N | O | P | Byte 3 | Q | R | S | T | U | V | W | X | Byte 4 | Y | Z | | | | | | | ------------------------------- Figure C-2. Bits Set for Letter Switches in COM.CM Although the CLI does not interpret switches when it builds COM.CM, your program can interpret the switches and act on what it reads. To read arguments in COM.CM, use the system call .RDL, which reads a line from a disk file and terminates on encountering a null byte. To read switches in COM.CM, use the .RDS system call, which reads a specified number of bytes, in this case 4. You can examine the contents of a COM.CM file with the command FPRINT/Z/B COM.CM This command prints the file in byte format, starting with location 0. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 COM.CM Examples Figure C-3 illustrates how the CLI builds a COM.CM file for the sample command line TEST/B A ZZZ/X MUMBL Contents | Left Right Word| Byte Byte |-------|------- 0 | T | E > Command filename TEST, 1 | S | T terminated by null byte. 2 | NULL | 1B9 > Global switch field of TEST. 3 | 0 | 0 1 in bit position 9 for /B switch. 4 | 0 | A > Argument A, terminated by null byte. 5 | NULL | 0 > 4 bytes reserved for local switches 6 | 0 | 0 of argument A. None set. 7 | 0 | Z > Argument ZZZ, terminated by null byte. 8 | Z | Z 9 | NULL | 0 10 | 0 | 1B15 > Local switches of ZZZ. 1 in bit 11 | 0 | M position 15 for /X switch. 12 | U | M > Argument MUMBL, terminated by null 13 | B | L byte. 14 | NULL | 0 15 | 0 | 0 > Local switches of MUMBL. None set. 16 | 0 |377(8) > Terminating byte. Figure C-3. Sample COM.CM File Using the CLI to Interpret Program Errors The .ERTN system call, which returns from a swap with an error status, enables you to instruct the CLI to interpret errors. When the program encounters an error that prevents it from proceeding, the CLI interprets the error code found in AC2 and displays an error message on the terminal. The CLI error message names the program that takes the error return instead of the program that causes the error, as the CLI is not active while the program executes. However, the content of the message will be accurate. Alternatively, your program can use .ERTN with the code for the mnemonic EREXQ, 17 octal, in AC2. When the program stops on an error and the CLI examines AC2, EREXQ instructs it to examine CLI.CM. The CLI then executes the contents of CLI.CM as a macro. In this way, you can specify an action you want your program to take if it encounters an error. ♀ Using the DG/RDOS Command Line Interpreter, 093-000471-00 7/Oct/92 Documentation Changes, Revision 05 --End of Update File--