.TITLE CATTBL - Catchall Command Table .IDENT /2.1/ .ENABL LC ;+ ; ; Free software BY ; Project Software & Development, Inc. ; ; This software is furnished for free and may be used and copied as ; desired. This software or any other copies thereof may be provided or ; otherwise made available to any other person. No title to and ; ownership of the software is hereby transferred or allowed. ; ; The information in this software is subject to change without notice ; and should not be construed as a commitment by PROJECT SOFTWARE ; AND DEVELOPMENT, INC. ; ; PROJECT SOFTWARE assumes no responsibility for the use or reliability ; of this software on any equipment whatsoever. ; ; Project Software & Development, Inc. ; 14 Story St. ; Cambridge, Ma. 02138 ; 617-661-1444 ; ; ; Title: CATTBL.MAC ; Author: Gary Larsen & Robin Miller ; Date: September 20, 1982 ; ; Description: ; ; This module contains the Catchall command table. ; ; Modification History: ; ; October 8, 1984 by Robin Miller. ; o Comment out commands which are less than three characters in ; length (CD and SD) for clarity on RSX-11M+. The RSX-11M+ MCR ; dispatcher does not allow less than 3 characters for a command. ; o Comment out short form commands since they are not possible on ; RSX-11M+ (Abort, Broadcast, Help, LOgout, Macro, Run, Print, ; Show, and UNlock). ; ; September 17, 1984 by Robin Miller. ; Added commands ABX (ABO), INX (INS), and RMX (REM), to allow ; non-privileged users to execute privileged commands/tasks. ; ; September 10, 1984 by Robin Miller. ; o Removed entry for PSDI communications task startup. ; o Change DSCSYS command to BRUSYS for RSX-11M+. ; ;- .ENABL AMA .NLIST BEX, CND P$$MCR = 0 ; Allow non-priv to execute priv. ; Command status (O.STAT) bit definitions: B.PRIV == 1 ; Command is privileged PR = 1 ; Local symbol for table B.MULT == 2 ; Command is multiple lines MU = 2 ; Local symbol for table B.MCR == 4 ; Spawn the command to the MCR MCR = 4 ; Local symbol for table B.DCL == 10 ; Spawn the command to the DCL DCL = 10 ; Local symbol for table B.IG == 20 ; Ignore command from command line IG = 20 ; Local symbol for table B.TASK == 40 ; Task image to be RUN/INStalled. TSK = 40 ; Local symbol for table B.UKEY == 100 ; Use keyword for MCR command line UK = 100 ; Local symbol for table ; Table entry offsets: O.KEY == 0 ; Address of keyword string O.MIN == 2 ; Minimum # of characters to match O.MAX == 3 ; Maximum # of characters to match O.STAT == 4 ; Status word bits (see above) O.ACT == 6 ; Action routine address (if any) O.CMD == 8. ; Command line to spawn TBLSIZ == 10. ; Size of table entry in bytes ; Local/global storage: SAVTBL::.WORD 0 ; SAVED TABLE ENTRY ADDRESS ; ; This macro generates entrys in the command table. ; ; KEYWRD = the command name, ; MIN = the minimum number of characters to match, ; STATUS = various status bits for this command (see above). ; ACTION = the action routine to call. If there is no action ; routine to call, the command is spawned along with the ; command line (if any) to the command line interpreter. ; CMDLIN = the command line to spawn (if any). If there is a ; command line, no parameters from the original command ; line are copied. This is used for a direct translation ; (i.e., the command "POOL" is translated to "SET /POOL"). ; .MACRO CMD KEYWRD,MIN,STATUS,ACTION,CMDLIN .NCHR $$$, .PSECT $KEYS,RO,D,REL,CON $$$KEY=. .ASCIZ "KEYWRD" .PSECT .WORD $$$KEY .BYTE MIN .BYTE $$$ .WORD STATUS .IF NB ACTION .WORD ACTION .IFF .WORD 0 .ENDC .IF NB .PSECT $CMDS,RO,D,REL,CON $$$CMD=. .ASCIZ "CMDLIN" .PSECT .WORD $$$CMD .IFF .WORD 0 .ENDC .ENDM ; The Catchall command table (must be in alphabetical order): ; ; Keyword,min Cli/Status Action Command Line ; ----------- ---------- ------ ------------ CMDTBL:: ;*** CMD ABORT,1, MCR!UK, , .IFDF P$$MCR CMD ABX,3, MCR!PR, , .ENDC ; P$$MCR CMD APPEND,2, DCL, , CMD ASSIGN,2, DCL, , CMD ATS,3, MCR!IG, ATS, ;*** CMD BROADCAST,1, DCL, , CMD BRUSYS,6, MCR!PR!MU!IG, BRUSYS, CMD BYE,3, MCR!PR!TSK, BYE, CMD CAT,3, MCR, CATVER, ;*** CMD CD,2, DCL, , CMD CHD,3, DCL, , CMD CLOCK,3, MCR!IG, , CMD CLR,2, MCR!IG, CLRSCR, CMD COPY,1, DCL, , CMD CREATE,2, DCL, , CMD DELETE,2, DCL, , CMD DIRECTORY,1, DCL, , CMD DLE,3, DCL, , CMD DLG,3, MCR, , ; CMD DLN,3, MCR, , CMD EDIT,1, MCR, , CMD FIND,2, MCR!IG, , CMD FORTRAN,2, MCR, , ;*** CMD FRANK,3, MCR!PR, FRANK, CMD FREE,1, MCR, FREE, ;*** CMD HELP,1, MCR!UK, , CMD INFO,1, MCR, , .IFDF P$$MCR CMD INX,3, MCR!PR, , .ENDC ; P$$MCR CMD LA120,5, MCR!IG, , CMD LA36,4, MCR!IG, , CMD LINK,3, DCL, , ;*** CMD LOGOUT,2, DCL, , ;*** CMD MACRO,1, DCL, , CMD NARROW,1, MCR!IG, NARROW, ;*** CMD NEWS,2, MCR!IG, , CMD NOPRIV,3, MCR!IG, , CMD PHONE,2, MCR!PR!TSK, , CMD POOL,2, MCR!IG, , CMD PRF,3, DCL, , ;*** CMD PRINT,1, DCL, , CMD PSDI,4, PR!IG, PSDI, CMD PURGE,2, DCL, PURGE, CMD RENAME,2, DCL, , .IFDF P$$MCR CMD RMX,3, MCR!PR, , .ENDC ; P$$MCR CMD RSXNET,2, MCR!PR!TSK, , ;*** CMD RUN,1, DCL, , ;*** CMD SD,2, DCL, , CMD SHB,3, MCR, , CMD SHD,3, DCL, , ;*** CMD SHOW,1, DCL, , CMD SHQ,3, MCR!IG, , CMD SHT,3, DCL, , CMD SHW,3, MCR!IG, , CMD SHUTUP,6, MCR!PR!IG!TSK, SHUTUP, CMD SPOOL,2, DCL, , CMD SYS,3, MCR!IG, , CMD TRUNCATE,2, MCR, TRUNCATE, CMD TYPE,1, DCL, , ;*** CMD UNLOCK,2, DCL, , CMD USERS,1, MCR!PR!TSK, , ;*** CMD VTL,1, MCR!UK, , CMD VTL,1, MCR!TSK, , CMD VT100,5, MCR!IG, VT100, CMD VT102,5, MCR!IG, VT100, CMD VT52,4, MCR!IG, VT52, CMD WIDE,1, MCR!IG, WIDE, CMD WHO,2, MCR!PR!TSK, , .WORD 0 ; End of the command table. RUNENT::CMD RUN,3, MCR, FLYRUN, .END