Google
 

Trailing-Edge - PDP-10 Archives - AP-D471B-SB_1978 - err.bli
There are no other files named err.bli in the archive.
!***COPYRIGHT (C) 1974, 1975, 1976, 1977 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.***
MODULE ERR(RESERVE(#11, #12, #13, #14), SREG = #17, FREG = #16,
 DREGS = 4, VREG = #15, MLIST, TIMER = EXTERNAL(SIX12), FSAVE,  ENTRIES=(ERR)) = 
    BEGIN
	REQUIRE	 DATA.BLI;			! EVERYONE NEEDS THIS

! LAST MODIFIED:	2 JUL 76 BY CDO

	EXTERNAL
		ERLEAF,
		GETREQUEST,
		OUTMSG,
		WHYERROR,
		KILGROUP;
! ROUTINE ERR
! ======= ===
! THIS ROUTINE PROCESS THE ENTRIES INTO THE ERROR LEAF

GLOBAL ROUTINE ERR =
    BEGIN
	REGISTER
		MHPTR,
		GHPTR,
		UDX,
		SRCPTR;

	MAP	FORMAT GHPTR;
	MAP	FORMAT MHPTR;
	MAP	FORMAT SRCPTR;

	BIND	WHYSTR = PLIT(	0,		!NO ERROR 0
				PLIT(#440700000000,
				     #000003000016,
				     ASCIZ 'NOT SIGNED ON:'),
				PLIT(#440700000000,
				     #000004000020,
				     ASCIZ 'NOT ENOUGH DATA:'),
				PLIT(#440700000000,
				     #000005000031,
				     ASCIZ 'UNKNOWN TRANSACTION CODE:'),
				PLIT(#440700000000,
				     #000010000044,
				     ASCIZ 'MAY NOT ENTER THAT TRANSACTION CODE:')
			     ),
		WHATB = PLIT(	#440700000000,
				#000001000001,
				ASCIZ '??' ),

		WHATE = PLIT(	#440703000000,
				#000001000003,
				ASCIZ '???M?J' );

	IF (GHPTR _ GETREQUEST(ERLEAF)) EQL 0 THEN RETURN;

	IF .GHPTR[G0TYPEOFSENDER] EQL LEAFTYPE THEN RETURN;

	SRCPTR _ .GHPTR[G0SENDER];			! GET THE SENDER

	UDX _ .SRCPTR[S0PORTPTR];			! GET UDX OF SENDER

	OUTMSG(WHATB, .UDX, TRUE, TRUE);

	IF .WHYERROR GTR 0 AND .WHYERROR LSS .WHYSTR[-1] THEN OUTMSG(.WHYSTR[.WHYERROR],.UDX,TRUE,TRUE);

	MHPTR _ .GHPTR[ G0FMHPTR ];		!TO THE MESSAGE HEADER

	DO OUTMSG(.MHPTR[M0INCHNK],.UDX,TRUE,TRUE) WHILE (MHPTR_.MHPTR[M0FORE]) NEQ 0;

	OUTMSG(WHATE,.UDX, TRUE, FALSE);

	KILGROUP( .GHPTR, -1)	!CLEAN UP THE INPUT SIDE

    END;



    END;				! END OF ERR.BLI