PathMake example
?TACL MACRO
comment *******************************************************************
comment * This Macro Creates a Cold start obey file for a runnig pathway  *
comment *-----------------------------------------------------------------*
comment * This example uses $EXP as a pathmon name                        *
comment * To run this macro, enter                                        *
comment *                                                                 *
comment *     PATHCFG $EXP                                                *
comment *                                                                 *
comment * The Cold Start obey file this will create will be called GOEXP  *
comment * To bring up $EXP using the cold start file enter:               *
comment *                                                                 *
comment *     O GOEXP                                                     *
comment *                                                                 *
comment * This will create a cool start file for $EXP called EXPCTL       *
comment * The log1 file will be called EXPLOG                             *
comment * GOEXP, EXPCTL, EXPLOG will be created in the current subvolume  *
comment * The configuration's pathway will be call $P.#PATHMON.EXP        *
comment *                                                                 *
comment * This macro can also be run for several pathmons by entering:    *
comment *                                                                 *
comment *     PATHCFG $EXP $MNTF $STORE $ZVPT                             *
comment *                                                                 *
comment *-----------------------------------------------------------------*
[#if [#empty %1%] |then|
 #output They Syntax is: PATHCTL $PW
 #output where $PW is a running pathway system
|else|

[#DEF ascii STRUCT
BEGIN
BYTE byt0  VALUE 7;  CHAR bell   REDEFINES byt0;
BYTE byt1  VALUE 27; CHAR esc    REDEFINES byt1;
BYTE byt2a VALUE 36; CHAR dollar REDEFINES byt2a;
BYTE byt2  VALUE 37; CHAR perc   REDEFINES byt2;
BYTE byt3  VALUE 38; CHAR amp    REDEFINES byt3;
BYTE byt4  VALUE 64; CHAR at     REDEFINES byt4;
BYTE byt5 (0:1) VALUE 27 73;
CHAR clr (0:1) REDEFINES byt5; == escape sequence
END;
]
#push Norm Blink Invert Dim
#set  Norm   [ascii:esc]6[ascii:at]
#set  Blink  [ascii:esc]6b
#set  Invert [ascii:esc]6[ascii:dollar]
#set  Dim    [ascii:esc]6[ascii:perc]

#push PathwayProcess PathWayLen PathwayName
#set  PathwayProcess %1%
#set  PathWayLen [#Compute [#charcount PathwayProcess] - 1]
#set  PathwayName [#charget PathwayProcess 2 for [#Compute [#charcount PathwayProcess] - 1]]
#output
comment #output [Dim]                            [invert]Pathcfg %1%[Dim]                            [norm]
#output [Dim]Builds an obey file called [invert]GO[PathwayName] [Dim] to start [invert]%1%[norm]
#output To run this %1% should be up and running
[#case [#INPUT [BLINK]Should I proceed "Y" ?[NORM ]]
|Y| #output Please wait...
PURGE GO[PathwayName]
PATHCOM %1%;INFO/OUT GO[PathwayName]/PATHWAY,OBEYFORM
edit GO[PathwayName]!;99990/LOG1 [PathwayName]LOG/;NA;E
edit GO[PathwayName];10000/START PATHWAY COLD !/;NA;E
PATHCOM %1%;INFO/OUT GO[PathwayName]/TCP*,OBEYFORM
PATHCOM %1%;INFO/OUT GO[PathwayName]/SERVER *,OBEYFORM
PATHCOM %1%;INFO/OUT GO[PathwayName]/PROGRAM *,OBEYFORM
PATHCOM %1%;INFO/OUT GO[PathwayName]/TERM    *,OBEYFORM ==
edit GO[PathwayName];CQF/-- /A;NA;10000/-- EXIT/;NA;E
edit GO[PathwayName];.01/COMMENT *------------------------------------------------/;e
edit GO[PathwayName];.02/COMMENT *----- Obey GO[PathwayName] to start $[PathwayName]/;e
edit GO[PathwayName];.03/COMMENT *------------------------------------------------/;e
edit GO[PathwayName];.04/#PUSH INLINEPREFIX/;E
edit GO[PathwayName];.05/#SET  INLINEPREFIX --/;E
edit GO[PathwayName];.06/assign PATHCTL, [PathwayName]CTL/;E
edit GO[PathwayName];.07/PURGE [PathwayName]LOG/;E
edit GO[PathwayName];.08/FUP CREATE [PathwayName]LOG,TYPE E, REC 132, EXT(100,100), MAXEXTENTS 100/;E
edit GO[PathwayName];.09"PATHMON/cpu 2,name $[PathwayName],nowait,term $vhs/3";E
edit GO[PathwayName];.10"PATHCOM/inline,out $P.#PATHWAY.[PathwayName]/$[PathwayName]";na;e
|OTHERWISE| #output OK. POOF! I'm gone.
]
#output
[#if [#empty %2%] |then| |else|
  run PATHCFG %2 to 99%
]
] == First If

Thursday, July 29, 2010 8:37:48 PM, From: jim, To: Tandem