Google
 

Trailing-Edge - PDP-10 Archives - AP-D471B-SB_1978 - mgnetc.bli
There are no other files named mgnetc.bli in the archive.
!***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:	<EMPTY>' )
	    ELSE
	    BEGIN
		OUTPUT( 'PORTS:?M?J' );
		IF .PORTTAB NEQ 0 THEN DPTNAMES()
		    ELSE OUTPUT( '	<NONE>' );
		OUTPUTCRLF;
		OUTPUTCRLF;
		OUTPUT( 'TERMINALS:?M?J' );
		IF .TERMTAB NEQ 0 THEN DTRMNAMES()
		    ELSE OUTPUT( '	<NONE>' );
	    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:	<EMPTY>' )
	    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:	<NONE>' );
	OUTPUTCRLF;
	OUTPUTCRLF;
	IF .TERMTAB NEQ 0 THEN
	    BEGIN
		ZERO( ARGLIST, %THRU% SUB3 + 2 );
		OUTPUT( 'TERMINALS:?M?J' );
		DISPTERM( PRIM )
	    END
	    ELSE OUTPUT( 'TERMINALS:	<NONE>' );
	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