!***COPYRIGHT (C) 1974, 1975, 1976, 1977 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.*** MODULE ETC(SREG = #17, FREG = #16, VREG = #15, MLIST,TIMER=EXTERNAL(SIX12),FSAVE)= BEGIN GLOBAL BIND ETC = 1; REQUIRE MGNMAC.BLI; REQ(MGNEXT); REQ(MGNMC2); EXTERNAL MOVE, LINK, UNLINK, KILLPORTS, KILLTERMS, KILLMPPS, KILLNODES, KILLMISC, MAKEPORT, MAKETERM, MAKEMISC, MAKETREE, MAKEMPP, DISPPORT, DISPNODES, DISPTERM, DISPMISC, DISPTREE, DISPMPP, MODIPORT, MODITERM, MODIMISC, MODITREE, MODIMPP, DPTNAMES, DTRMNAMES; COMMENT; ! ROUTINE MAKENET ! ======= ======= ! THIS ROUTINE CREATES A NETWORK DEFINATION GLOBAL ROUTINE MAKENET = BEGIN ALLSWITCH _ FALSE; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'PORT:?M?J' ); MAKEPORT( PRIM ); OUTPUTCRLF; OUTPUTCRLF; ALLSWITCH _ TRUE; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'TERMINALS:?M?J' ); MAKETERM( PRIM ); OUTPUTCRLF; OUTPUTCRLF; END; COMMENT; ! ROUTINE DISPNET ! ======= ======= ! THIS ROUTINE DISPLAYS A NETWORK DEFINATION GLOBAL ROUTINE DISPNET = BEGIN IF .PORTTAB EQL 0 AND .TERMTAB EQL 0 THEN OUTPUT( 'NET: ' ) ELSE BEGIN OUTPUT( 'PORTS:?M?J' ); IF .PORTTAB NEQ 0 THEN DPTNAMES() ELSE OUTPUT( ' ' ); OUTPUTCRLF; OUTPUTCRLF; OUTPUT( 'TERMINALS:?M?J' ); IF .TERMTAB NEQ 0 THEN DTRMNAMES() ELSE OUTPUT( ' ' ); END; OUTPUTCRLF; OUTPUTCRLF; END; COMMENT; ! ROUTINE DELENET ! ======= ======= ! THIS ROUTINE DELETES AN ENTIRE NETWORK DEFINATION GLOBAL ROUTINE DELENET = BEGIN IF NOT ( CONFIRMED() ) THEN RETURN; ! OTHERWISE ! KILLPORTS(); KILLTERMS(); END; COMMENT; ! ROUTINE MODINET ! ======= ======= ! THIS ROUTINE MODIFIES AN ENTIRE NETWORK DEFINATION GLOBAL ROUTINE MODINET = BEGIN ALLSWITCH _ TRUE; ZERO( ARGLIST, %THRU% SUB3 + 2 ); MODIPORT( PRIM ); ZERO( ARGLIST, %THRU% SUB3 + 2 ); MODITERM( PRIM ); END; COMMENT; ! ROUTINE MAKEALL ! ======= ======= ! THIS ROUTINE CREATES A MCS DATABASE DEFINATION GLOBAL ROUTINE MAKEALL = BEGIN ALLSWITCH _ TRUE; IF NOT NULL( PRIM, N0NAMELEN * MAXLEVEL ) THEN BEGIN ERROR( 94 ); % GARBAGE AFTER THE COMMAND% RETURN END; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'MISC:?M?J' ); MAKEMISC( PRIM ); OUTPUTCRLF; OUTPUTCRLF; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'TREE:?M?J' ); MAKETREE( PRIM ); OUTPUTCRLF; OUTPUTCRLF; MAKENET(); ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'MPP:?M?J' ); MAKEMPP( PRIM ); OUTPUTCRLF; OUTPUTCRLF; END; GLOBAL ROUTINE MAKENULL = MAKEALL(); COMMENT; ! ROUTINE DISPALL ! ======= ======= ! THIS ROUTINE DISPLAYS A MCS DATABASE DEFINATION GLOBAL ROUTINE DISPALL = BEGIN MAP ROOTFORMAT ROOT; ALLSWITCH _ TRUE; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'MISC:?M?J' ); DISPMISC( PRIM ); OUTPUTCRLF; OUTPUTCRLF; ZERO( ARGLIST, %THRU% SUB3 + 2 ); IF .ROOT[ N0CHILDREN ] EQL 0 THEN OUTPUT( 'TREE: ' ) ELSE BEGIN OUTPUT( 'TREE:?M?J' ); DISPTREE( PRIM ); OUTPUTCRLF; OUTPUTCRLF; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'NODES:?M?J' ); DISPNODES( PRIM ) END; OUTPUTCRLF; OUTPUTCRLF; DISPNET(); IF .PORTTAB NEQ 0 THEN BEGIN ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'PORTS:?M?J' ); DISPPORT( PRIM ) END ELSE OUTPUT( 'PORTS: ' ); OUTPUTCRLF; OUTPUTCRLF; IF .TERMTAB NEQ 0 THEN BEGIN ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'TERMINALS:?M?J' ); DISPTERM( PRIM ) END ELSE OUTPUT( 'TERMINALS: ' ); OUTPUTCRLF; OUTPUTCRLF; ZERO( ARGLIST, %THRU% SUB3 + 2 ); OUTPUT( 'MPP:?M?J' ); DISPMPP( PRIM ); OUTPUTCRLF; OUTPUTCRLF; END; COMMENT; ! ROUTINE DELEALL ! ======= ======= ! THIS ROUTINE DELETES THE ENTIRE MCS DATABASE DEFINATION GLOBAL ROUTINE DELEALL = BEGIN IF NOT ( CONFIRMED() ) THEN RETURN; ! ELSE ! KILLMISC( PRIM ); TYPE( '[NODES DELETED:?M?J]' ); KILLNODES( ROOT<0,0> ); TYPE( '[PORTS DELETED:?M?J]' ); KILLPORTS(); TYPE( '[TERMINALS DELETED:?M?J]' ); KILLTERMS(); TYPE( '[MPPS DELETED:?M?J]' ); KILLMPPS( PRIM ); END; GLOBAL ROUTINE MODIALL = BEGIN ERROR( 25 ) END; GLOBAL ROUTINE DISPNULL = BEGIN ERROR( 26 ) END; GLOBAL ROUTINE DELENULL = BEGIN ERROR( 26 ) END; GLOBAL ROUTINE MODINULL = BEGIN ERROR( 26 ) END; GLOBAL ROUTINE DELECONT = BEGIN ERROR( 25 ) END; GLOBAL ROUTINE MODICONT = BEGIN ERROR( 25 ) END; GLOBAL ROUTINE MAKECONT = BEGIN ERROR( 25 ) END; GLOBAL ROUTINE DISPCONT = BEGIN ERROR( 25 ) END; END; ! END OF MGNETC.BLI