MODULE FTS_parse !++ ! FTS_Parse.CLD ! ! Copyright (C) 1991 TGV Inc. ! ! Description: ! ! DCL-type interface to the FTS. ! ! Written By: ! ! May 1991 Bruce R. Miller TGV Inc. ! ! Copyright (c) 1991 Bruce R. Miller ! All rights reserved. ! ! Redistribution and use in source and binary forms are permitted ! provided that the above copyright notice and this paragraph are ! duplicated in all such forms and that any documentation, ! advertising materials, and other materials related to such ! distribution and use acknowledge that the software was developed ! by Bruce R. Miller. ! THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR ! IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! ! Modifications: ! ! Note: ! If we get rid of all the keywords in WATCH and UNWATCH, we can ! save over 8k on the image size (16 blocks). !-- DEFINE VERB ALONONPAGED !++ ! Description: ! ! Calls EXE$ALONONPAGED ! ! Syntax: ! ! FTS> ALONONPAGED [/size=n] !-- ROUTINE FTS_ALONONPAGED QUALIFIER Size,LABEL=Size,VALUE(REQUIRED) DEFINE VERB CRASH !++ ! Description: ! ! Cause VMS to crash ! ! Syntax: ! ! FTS> CRASH [/PID=pid] !-- ROUTINE FTS_CRASH QUALIFIER PID,LABEL=PID,VALUE(REQUIRED) DEFINE VERB CRETVA !++ ! Description: ! ! Map a virtual address range ! ! Syntax: ! ! FTS> CRETVA startva endva !-- ROUTINE FTS_CRETVA PARAMETER P1,LABEL=startva,VALUE(REQUIRED) PARAMETER P2,LABEL=endva,VALUE(REQUIRED) QUALIFIER ACCESS,LABEL=ACCESS,VALUE(REQUIRED) QUALIFIER PROTECTION,LABEL=PROTECTION,VALUE(REQUIRED) ! QUALIFIER PID,LABEL=PID,VALUE(REQUIRED) DEFINE VERB DEANONPAGED !++ ! Description: ! ! Calls EXE$DEANONPAGED ! ! Syntax: ! ! FTS> DEANONPAGED S0addr [/size=n] !-- ROUTINE FTS_DEANONPAGED PARAMETER P1,LABEL=addr,VALUE(REQUIRED) QUALIFIER Size,LABEL=Size,VALUE(REQUIRED) DEFINE VERB DEPOSIT !++ ! Description: ! ! Deposit a value at the specified memory location ! ! Syntax: ! ! FTS> DEPOSIT location value !-- ROUTINE FTS_Deposit PARAMETER P1,LABEL=location,VALUE(REQUIRED) PARAMETER P2,LABEL=value,VALUE(REQUIRED) QUALIFIER SIZE,LABEL=SIZE,VALUE(REQUIRED) QUALIFIER PID,LABEL=PID,VALUE(REQUIRED) DEFINE VERB DFWM !++ ! Description: ! ! Maximize the process priviledges ! ! Syntax: ! ! FTS> DFWM ! ! Notes: ! Now that I think about it, it's probably a bad idea to include this... !-- ROUTINE FTS_DFWM NOPARAMETERS DEFINE VERB DIR SYNONYM CD !++ ! Description: ! ! User thinks he's at the $ prompt ! ! Syntax: ! ! FTS> DIR !-- ROUTINE FTS_Directory NOPARAMETERS DEFINE VERB EXAMINE SYNONYM EX !++ ! Description: ! ! Examine the specified memory location ! ! Syntax: ! ! FTS> EXAMINE location !-- ROUTINE FTS_Examine PARAMETER P1,LABEL=location,VALUE(REQUIRED) QUALIFIER SIZE,LABEL=SIZE,VALUE(REQUIRED) QUALIFIER PID,LABEL=PID,VALUE(REQUIRED) DEFINE VERB Exit SYNONYM Quit !++ ! Description: ! ! Leave the FTS utility. ! ! Syntax: ! ! FTS> EXIT !-- ROUTINE Exit_FTS NOPARAMETERS DEFINE VERB FORCEX !++ ! Description: ! ! Forces exit of a given process. ! ! Syntax: ! ! FTS> FORCEX [pid] [/rcode=x] !-- ROUTINE FTS_ForceX PARAMETER P1,LABEL=pid,VALUE(REQUIRED) QUALIFIER RCODE,LABEL=RCode,VALUE(REQUIRED) DEFINE VERB HALT !++ ! Description: ! ! Execute a HALT instruction in KRNL mode ! ! Syntax: ! ! FTS> HALT !-- ROUTINE FTS_HALT DEFINE VERB Hello !++ ! Description: ! ! I dunno... ! ! Syntax: ! ! FTS> HELLO !-- ROUTINE FTS_Hello PARAMETER P1, LABEL = Who DEFINE VERB Help !++ ! Description: ! ! Obtain help by looking up info in FTS help library. ! ! Syntax: ! ! FTS> HELP [Help_Line] !-- ROUTINE FTS_Help PARAMETER P1, LABEL = Help_Line, VALUE (TYPE = $Rest_of_Line) DEFINE VERB LOAD !++ ! Description: ! ! Load a module (make it P1 resident) ! ! Syntax: ! ! FTS> LOAD [module] !-- PARAMETER P1, LABEL = Module, Prompt="Module", VALUE (REQUIRED, TYPE = FTS_Loadable_Modules) DEFINE TYPE FTS_Loadable_Modules KEYWORD JASMON SYNTAX = LOAD_JASMON KEYWORD XDT SYNTAX = LOAD_XDT DEFINE SYNTAX LOAD_JASMON !++ ! Description: ! ! Load the JASMON code into P1 space !-- PARAMETER P1, Label=Option, VALUE(Required) QUALIFIER OUTPUT, Label=Output, VALUE(Required) ROUTINE FTS_LOAD_JASMON DEFINE SYNTAX LOAD_XDT !++ ! Description: ! ! Install XDelta and invoke it !-- PARAMETER P1, Label=Option, VALUE(Required) QUALIFIER OUTPUT, Label=Output, VALUE(Required) ROUTINE FTS_LOAD_XDT DEFINE VERB NOOP !++ ! Description: ! ! Do nothing. ! ! Syntax: ! ! FTS> NOOP !-- ROUTINE FTS_NOOP NOPARAMETERS !DEFINE VERB READ !++ ! Description: ! ! Read in a file full of FTS commands and execute them. ! ! Syntax: ! ! FTS> READ !-- ! ROUTINE FTS_READ ! PARAMETER P1, Label=FILE, VALUE(TYPE=$FILE,REQUIRED) ! QUALIFIER LOG,LABEL=Log DEFINE VERB Set !++ ! Description: ! ! Set something ! ! Syntax: ! ! FTS> SET [what] !-- PARAMETER P1, LABEL = Option, Prompt="What", VALUE (REQUIRED, TYPE = Set_Options) DEFINE TYPE Set_Options KEYWORD PAGE SYNTAX = Set_Page DEFINE SYNTAX Set_Page !++ ! Description: ! ! Modify memory page ! ! Syntax: ! FTS> SET PAGE addr [size] /PROTECTION=prot {[/PID] [/REFCOUNT]} !-- PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P3, Label=Addr, VALUE(Required) PARAMETER P4, Label=Size, VALUE(TYPE=$NUMBER) QUALIFIER PROTECTION,LABEL=Protection,VALUE(REQUIRED) ROUTINE FTS_Set_Page DEFINE VERB SHOW !++ ! Description: ! ! Display information about the system ! ! Syntax: ! ! FTS> SHOW [what] !-- PARAMETER P1, LABEL = Option, Prompt="What", VALUE (REQUIRED, TYPE = Show_Options) DEFINE TYPE Show_Options KEYWORD DEFAULT SYNTAX = Show_Default KEYWORD ERROR SYNTAX = Show_Error KEYWORD ETHER SYNTAX = Show_Ether KEYWORD PAGE SYNTAX = Show_Page DEFINE SYNTAX Show_Default !++ ! Description: ! ! Display the default directory string for the given process !-- ROUTINE FTS_Show_Default PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P3, Label=PID DEFINE SYNTAX Show_Error !++ ! Description: ! ! Evaluate an error condition !-- ROUTINE FTS_Show_Error PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P3, Label=RCode, VALUE(Required) DEFINE SYNTAX Show_ETHER !++ ! Description: ! ! Display information about the system's EtherNet cards ! ! Syntax: ! ! FTS> SHOW ETHER !-- ROUTINE FTS_Show_Ether PARAMETER P1, Label=Option, VALUE(Required) DEFINE SYNTAX Show_PAGE !++ ! Description: ! ! Display information about a virtual page ! ! Syntax: ! ! FTS> SHOW PAGE !-- ROUTINE FTS_Show_Page PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P3, Label=Addr, VALUE(Required) DEFINE VERB Spawn !++ ! Description: ! ! Spawn a CLI process. ! ! Syntax: ! ! FTS> SPAWN !-- ROUTINE FTS_Spawn PARAMETER P1, LABEL = Command_Line, VALUE (TYPE = $Rest_of_Line) DEFINE VERB UNLOAD !++ ! Description: ! ! Deactivate and remove and a module. ! ! Syntax: ! ! FTS> UNLOAD [module] !-- PARAMETER P1, LABEL = Module, Prompt="Module", VALUE (REQUIRED, TYPE = FTS_Unloadable_Modules) DEFINE TYPE FTS_Unloadable_Modules KEYWORD JASMON SYNTAX = UNLOAD_JASMON DEFINE SYNTAX UNLOAD_JASMON !++ ! Description: ! ! Unload the JASMON code from P1 space !-- PARAMETER P1, Label=Option, VALUE(Required) ROUTINE FTS_UNLOAD_JASMON DEFINE VERB UNWASTE !++ ! Description: ! ! Tries to get a process out of the RWAST state ! ! Syntax: ! ! FTS> UNWASTE pid !-- ROUTINE FTS_UnWaste PARAMETER P1,LABEL=pid,VALUE(REQUIRED) DEFINE VERB UNWATCH !++ ! Description: ! ! Stop monitoring something ! ! Syntax: ! ! FTS> UNWATCH [service] !-- PARAMETER P1, LABEL = Option, Prompt="Command", VALUE (REQUIRED, TYPE = Unwatch_Options) DEFINE TYPE Unwatch_Options KEYWORD RMS SYNTAX = UNWATCH_RMS KEYWORD SS SYNTAX = UNWATCH_SS DEFINE SYNTAX UNWATCH_RMS !++ ! Description: ! ! Un-Monitor RMS ! ! Syntax: ! ! FTS> UNWATCH RMS [service] !-- ROUTINE FTS_UNWATCH_RMS PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=Service, Prompt="Service", VALUE(Required,TYPE=UNWATCH_RMS_Options) DEFINE TYPE UNWATCH_RMS_Options KEYWORD CLOSE KEYWORD CONNECT KEYWORD CREATE KEYWORD DELETE KEYWORD FLUSH KEYWORD GET KEYWORD OPEN KEYWORD PUT DEFINE SYNTAX UNWATCH_SS !++ ! Description: ! ! Stop monitoring a system service ! ! Syntax: ! ! FTS> UNWATCH SS [service] !-- ROUTINE FTS_UNWATCH_SS PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=Service, Prompt="Service", VALUE(Required,TYPE=UNWATCH_SS_Options) DEFINE TYPE UNWATCH_SS_Options KEYWORD ASSIGN KEYWORD CANCEL KEYWORD CANEXH KEYWORD CANTIM KEYWORD CANWAK KEYWORD CHKPRO KEYWORD CRETVA KEYWORD DASSGN KEYWORD DEQ KEYWORD ENQ KEYWORD ENQW KEYWORD GETLKI KEYWORD GETLKIW KEYWORD LOOKUP_LICENSE KEYWORD LKWSET KEYWORD GRANT_LICENSE KEYWORD QIO KEYWORD QIOW KEYWORD RELEASE_LICENSE KEYWORD SETIME KEYWORD SETPRT KEYWORD TRNLNM DEFINE VERB Version !++ ! ! Description: ! ! Display information about this FTS version. ! ! Syntax: ! ! FTS> VERSION !-- ROUTINE FTS_Version NOPARAMETERS DEFINE VERB WAKE !++ ! Description: ! ! Wakes up a given process. ! ! Syntax: ! ! FTS> WAKE [pid] !-- ROUTINE FTS_Wake PARAMETER P1,LABEL=pid,VALUE(REQUIRED) DEFINE VERB WATCH !++ ! Description: ! ! Monitor something ! ! Syntax: ! ! FTS> WATCH [service] !-- PARAMETER P1, LABEL = Option, Prompt="Command", VALUE (REQUIRED, TYPE = Watch_Options) DEFINE TYPE Watch_Options KEYWORD DEVICE SYNTAX = WATCH_DEVICE KEYWORD RMS SYNTAX = WATCH_RMS KEYWORD SS SYNTAX = WATCH_SS DEFINE SYNTAX WATCH_DEVICE !++ ! Description: ! ! Monitor device activity ! ! Syntax: ! ! FTS> WATCH DEVICE [service] !-- ROUTINE FTS_WATCH_DEVICE PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=DEVICE, Prompt="device", VALUE(Required) QUALIFIER FDT,LABEL=FDT QUALIFIER ALTSTART,LABEL=ALTSTART QUALIFIER CANCEL,LABEL=CANCEL QUALIFIER STARTIO,LABEL=STARTIO QUALIFIER IOPOST,LABEL=IOPOST DEFINE SYNTAX WATCH_RMS !++ ! Description: ! ! Monitor RMS ! ! Syntax: ! ! FTS> WATCH RMS [service] !-- ROUTINE FTS_WATCH_RMS PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=Service, Prompt="Service", VALUE(Required,TYPE=WATCH_RMS_Options) DEFINE TYPE WATCH_RMS_Options KEYWORD CLOSE KEYWORD CONNECT KEYWORD CREATE KEYWORD DELETE KEYWORD FLUSH KEYWORD GET KEYWORD OPEN KEYWORD PUT DEFINE SYNTAX WATCH_SS !++ ! Description: ! ! Monitor a system service ! ! Syntax: ! ! FTS> WATCH SS [service] !-- ROUTINE FTS_WATCH_SS PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=Service, Prompt="Service", VALUE(Required,TYPE=WATCH_SS_Options) DEFINE TYPE WATCH_SS_Options KEYWORD ASSIGN KEYWORD CANCEL KEYWORD CANEXH KEYWORD CANTIM KEYWORD CANWAK KEYWORD CHKPRO KEYWORD CRETVA KEYWORD DASSGN KEYWORD DEQ KEYWORD ENQ KEYWORD ENQW KEYWORD GETLKI KEYWORD GETLKIW KEYWORD GRANT_LICENSE KEYWORD LKWSET KEYWORD LOOKUP_LICENSE KEYWORD QIO SYNTAX = WATCH_SS_QIO KEYWORD QIOW SYNTAX = WATCH_SS_QIOW KEYWORD RELEASE_LICENSE KEYWORD SETIME KEYWORD SETPRT KEYWORD SETPRV KEYWORD TRNLNM DEFINE SYNTAX WATCH_SS_QIO ROUTINE FTS_WATCH_SS_QIO PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=Service, VALUE(Required) PARAMETER P3, Label=Device, VALUE(Required) QUALIFIER STYLE, LABEL=STYLE, VALUE(REQUIRED,TYPE=QIO_STYLES) DEFINE SYNTAX WATCH_SS_QIOW ROUTINE FTS_WATCH_SS_QIO PARAMETER P1, Label=Option, VALUE(Required) PARAMETER P2, Label=Service, VALUE(Required) PARAMETER P3, Label=Device, VALUE(Required) QUALIFIER STYLE, LABEL=STYLE, VALUE(REQUIRED,TYPE=QIO_STYLES) DEFINE TYPE QIO_STYLES KEYWORD NULL KEYWORD DEFAULT KEYWORD TGV KEYWORD UCX KEYWORD PSI DEFINE VERB XYZZY !++ ! Description: ! ! ??? ! ! Syntax: ! ! FTS> XYZZY !-- ROUTINE FTS_XYZZY NOPARAMETERS