*DECK DLAREP
USETEXT DLFPDEF
USETEXT ABH
USETEXT DEQCOM
USETEXT DLTLC
USETEXT NP$NWN1
USETEXT OUTCDA
USETEXT WRDPAIR
USETEXT ZHRCD
PROC DLAREP; # AIP DEBUG LOG FILE HEADER REPORT #
*IF DEF,IMS
#
*
*1DC DLAREP
*
* 1. PROC NAME AUTHOR DATE.
* DLAREP S.KRULEVITCH 78/12/19
*
* 2. FUNCTIONAL DESCRIPTION.
* FORMATS AIP DEBUG LOG FILE HEADERS.
*
* 3. METHOD USED.
* SWITCH ON OPERATION CODE TO FORMAT DATA
*
* 4. ENTRY PARAMETERS.
* ZHRCD - CONTAINS DEBUG LOG FILE ENTRY
*
* 5. EXIT PARAMETERS.
* DLCC TEXT LENGTH IN CHARACTERS
* TRUNC TEXT LENGTH IN CHARACTERS
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED.
* ABH DEQCOM DLFPDEF DLTLC
* NP$DBA NP$DLA NP$NWNC OUTCDA WRDPAIR
* NP$DBA NP$DLA OUTCDA WRDPAIR
* ZHRCD
*
* 7. ROUTINES CALLED.
* DLDISDE CONVERT FIELD TO DECIMAL DISPLAY
* DLDISO CONVERT FIELD TO OCTAL DISPLAY
* DLWRITC WRITE LINE TO CIO BUFFER
*
* 8. DAYFILE MESSAGES.
* NONE.
*
#
*ENDIF
#
EXTERNAL REFERENCES
#
XREF
BEGIN
PROC DLDISDE; # CONVERT FIELD TO DECIMAL DISPLAY #
PROC DLDISO; # CONVERT FIELD TO OCTAL DISPLAY #
PROC DLWRITC; # WRITE LINE TO CIO BUFFER #
END
#
COMMON VARIABLES
#
BASED ARRAY DBGLG P(2);
*CALL NP$DBA
BASED ARRAY DATLINE P(4);
*CALL NP$DLA
#
LOCAL VARIABLES
#
BEGIN
#
ITEM DEFINITIONS
#
ITEM CHARWD C(WC); # TEMPORARY VARIABLE #
ITEM I; # INDEX VARIABLE FOR TEXT #
ITEM LINLEN; # LENGTH OF OUTPUT LINE #
# #
# ARRAY DEFINITIONS #
# #
ARRAY LINE1 P(7); # CHARACTER ARRAY FOR FORMATTING LINE 1 #
BEGIN
ITEM L1$NAME C(0, 0,10); # PROCEDURE NAME #
ITEM L1$CALL C(1, 0, 6); # CALL ADDRESS #
ITEM L1$FMT1 C(1,36, 4);
ITEM L1$WRD1 C(1,0,WC);
ITEM L1$FMT2 C(2, 0, 4);
ITEM L1$CLN C(2,24, 6); # ACN OR ALN VALUE FOR GETS #
ITEM L1$HAPT C(2,24, 6); # HEADER ADDRESS FOR PUTS #
ITEM L1$WRD2 C(2,0,WC);
ITEM L1$FMT3 C(3, 0, 7);
ITEM L1$HAGT C(3,24, 6); # HEADER ADDRESS FOR GETS #
ITEM L1$TAP1 C(3,42, 3); # TEXT ADDR FOR PUT (LEFT 3) #
ITEM L1$NAPT C(3,42, 3); # NUMBER OF FRAGMENTS FOR PUTF #
ITEM L1$WRD3 C(3,0,WC);
ITEM L1$TAP2 C(4, 0,10); # TEXT ADDR FOR PUT (RIGHT 3) #
ITEM L1$FMT4 C(4, 0, 8);
ITEM L1$TAG1 C(4,36, 4); # TEXT ADDR FOR GET (LEFT 4) #
ITEM L1$NAGT C(4,42, 3);
ITEM L1$TAA1 C(4,48, 2); # TAA ADDR FOR PUTF (LEFT 2) #
ITEM L1$WRD4 C(4,0,WC);
ITEM L1$TAA2 C(5, 0,10); # TAA ADDR FOR PUTF (RIGHT 4) #
ITEM L1$FMT5 C(5, 0,10);
ITEM L1$TAG2 C(5, 0, 2); # TEXT ADDR FOR GET (RIGHT 2) #
ITEM L1$TAA3 C(5,42, 3); # TAA ADDR FOR GETF (LEFT 3) #
ITEM L1$WRD5 C(5, 0,WC);
ITEM L1$TLMX C(6, 0,10); # TLMAX FOR GET #
ITEM L1$TLEQ C(6, 0, 1); # INSERT = SIGN #
ITEM L1$TAA4 C(6, 0,10); # TAA ADDR FOR GETF (RIGHT 3) #
ITEM L1$WRD6 C(6, 0,WC);
END
ARRAY MSGNO P(2);
BEGIN
ITEM MSG$FMT C(0,0,10)=[" MSG NO."];
ITEM MSG$MCT C(1,0,6); # MSG$COUNT #
ITEM MSG$TERM I(1,36,24)=[0];
END
ARRAY HDRLINE P(9);
BEGIN
ITEM HL$FMT1 C(0, 0,10) = [" ABT = "];
ITEM HL$ABT C(0,42, 2);
ITEM HL$FMT2 C(1, 0,10) = [" ADR = "];
ITEM HL$ADR C(1,36, 4);
ITEM HL$FMT3 C(2, 0,10) = [" ABN = "];
ITEM HL$ABN1 C(2,42, 3);
ITEM HL$ABN2 C(3, 0, 3);
ITEM HL$FMT4 C(3, 0,10) = [" ACT ="];
ITEM HL$ACT C(4, 0, 2);
ITEM HL$FMT5 C(4,12, 8) = [" STATUS"];
ITEM HL$FMT6 C(5, 0,10) = [" = "];
ITEM HL$ST1 U(5,18, 6);
ITEM HL$ST2 U(5,24, 6);
ITEM HL$ST3 U(5,30, 6);
ITEM HL$ST4 U(5,36, 6);
ITEM HL$ST5 U(5,42, 6);
ITEM HL$ST6 U(5,48, 6);
ITEM HL$ST7 U(5,54, 6);
ITEM HL$ST8 U(6, 0, 6);
ITEM HL$FMT7 C(6, 0,10) = [" TLC = "];
ITEM HL$TLC C(7, 0,10);
ITEM HL$FMT9 I(8, 0,WL) = [0];
END
# HEADER BUFFER FOR BLOCK TYPE 4 (APPPN) #
ARRAY HDRLINE2 P(9) ;
BEGIN
ITEM HL2$FMT1 C(0,0,10) = [" ABT = "] ;
ITEM HL2$ABT C(0,42,2) ;
ITEM HL2$FMT2 C(1,0,09) = [" DN = "] ;
ITEM HL2$DN C(1,36,3) ;
ITEM HL2$D1 C(1,54,1) = [" "] ;
ITEM HL2$FMT3 C(2,0,9) = [" SN = "] ;
ITEM HL2$SN C(2,36,3) ;
ITEM HL2$D2 C(2,54,1) = [" "] ;
ITEM HL2$FMT4 C(3,0,09) = [" CN = "] ;
ITEM HL2$CN C(3,36,3) ;
ITEM HL2$D3 C(3,54,1) = [" "] ;
ITEM HL2$FMT5 C(4,0,09) = [" BT = "] ;
ITEM HL2$BT C(4,36,3) ;
ITEM HL2$D4 C(4,54,1) = [" "] ;
ITEM HL2$FMT6 C(5,0,10) = [" ACT = "] ;
ITEM HL2$ACT C(5,42,3) ;
ITEM HL2$FMT7 C(6,0,10) = [" TLC = "] ;
ITEM HL2$TLC C(7,0,10) ;
ITEM HL2$FMT8 I(8,0,WL) = [0] ;
END
ARRAY HDRLINB P(9) ;
BEGIN # HEADER LINE FOR NETLOG CALLS #
ITEM HB$FIL1 C(0,0,60)= [" "];
ITEM HB$FIL2 C(6,0,10)= [" TLW ="];
ITEM HB$TLW C(7,0,10) ;
ITEM HB$FIL3 I(8,0,60) = [0] ;
END
ARRAY ONLINE1 P(7); # LOG ENTRY CHARACTER ARRAY - LINE 1 #
BEGIN
ITEM ON1$OP C(0, 0,10) = [" NETON ("];
ITEM ON1$CAD C(1, 0, 6);
ITEM ON1$RP C(1,36, 4) = [") "];
ITEM ON1$FM1 C(2, 0,10) = [" ANAME = "];
ITEM ON1$NAM C(3, 0,10);
ITEM ON1$FM2 C(4, 0,10) = [" DATE ="];
ITEM ON1$DAT C(5, 0,10);
ITEM ON1$FM3 C(6, 0,10) = [" "];
END
ARRAY ONLINE2 P(6); # LOG ENTRY CHARACTER ARRAY - LINE 2 #
BEGIN
ITEM ON2$FM1 C(0, 0,10) = [" NSUP ADD"];
ITEM ON2$FM2 C(1, 0, 4) = ["R = "];
ITEM ON2$NAD C(1,24, 6);
ITEM ON2$FM3 C(2, 0,10) = [" MINACN ="];
ITEM ON2$MIN C(3, 0, 5);
ITEM ON2$FM4 C(3,30, 5) = [" MAX"];
ITEM ON2$FM5 C(4, 0, 5) = ["ACN ="];
ITEM ON2$MAX C(4,30, 5);
ITEM ON2$FM6 I(5, 0,60) = [0];
END
ARRAY DBGLOG P(7); # LOG NETDBG CALL MESSAGE CHARACTER ARRAY #
BEGIN
ITEM TX$DBG C(0, 0,10) = [" NETDBG ("];
ITEM TX$CALL C(1, 0, 6);
ITEM TX$RP C(1,36, 4) = [") "];
ITEM TX$OPT1 C(2, 0,10) = [" OPT1 = "];
ITEM TX$OPV1 U(2,54, 6);
ITEM TX$OPT2 C(3, 0,10) = [" OPT2 = "];
ITEM TX$OPV2 U(3,54, 6);
ITEM TX$DATE C(4, 0,10) = [" DATE ="];
ITEM TX$YMD C(5, 0,10);
ITEM TX$ZERO C(6, 0,10) = [" "];
END
ARRAY OFFLINE P(7); # LOG ENTRY CHARACTER ARRAY #
BEGIN
ITEM OFF$OP C(0, 0,10) = [" NETOFF ("];
ITEM OFF$CAD C(1, 0, 6);
ITEM OFF$FM1 C(1,36, 4) = [") "];
ITEM OFF$FM2 C(2, 0,10) = [" DATE ="];
ITEM OFF$DAT C(3, 0,10);
ITEM OFF$FM3 C(4, 0,30) = [" "];
END
ARRAY RSTLINE P(7); # LOG ENTRY FOR RESET WORKLIST #
BEGIN
ITEM RST$OP C(0, 0,10) = [" NETRR ("];
ITEM RST$CAD C(1, 0, 6);
ITEM RST$FM1 C(1,36, 4) = [") "];
ITEM RST$FM2 C(2, 0,10) = [" DATE ="];
ITEM RST$DAT C(3, 0,10);
ITEM RST$FM3 C(4, 0,30) = [" "];
END
BASED ARRAY ONLINE P(4);
BEGIN
ITEM ON$NSUP I(0,6,AL); # USER COMMUNICATION WORD #
ITEM ON$CALL I(0,24,AL);
ITEM ON$OPC I(0,54,6); # NETON OPCODE (=6) #
ITEM ON$MIN I(1,0,WL); # MINACN #
ITEM ON$MAX I(2,0,WL); # MAXACN #
END # ONLINE #
# SWITCH DEFINITION #
# #
SWITCH NAMCALL RTRN,PUT,GET,GETL,RTRN,RTRN,ON,OFF,GETF,
PUTF,GTFL,XFR,RST,LOG,RTRN,RTRN,RTRN,DBG;
#**********************************************************************#
#
DLAREP EXECUTION STARTS HERE
#
# ZERO WORDS AT END OF CHARACTER ARRAY #
L1$WRD1[0] = " ";
L1$WRD2[0] = " ";
L1$WRD3[0] = " ";
L1$WRD4[0] = " ";
L1$WRD5[0] = " ";
L1$WRD6[0] = " ";
DLDISDE(OUMSGNO, 6,CHARWD); # CONVERT MESSAGE COUNT #
MSG$MCT[0] = CHARWD;
# SWITCH ON OPERATION CODE FOR NAM PROCEDURE CALL #
P<DATLINE> = LOC(TEMPB1);
GOTO NAMCALL [DL$OPC[0]];
PUT:
L1$NAME[0] = " NETPUT (";
# FORMAT TA PARAMETER FOR NETPUT #
L1$FMT3[0] = " TA =";
DLDISO(DL$TA[0],6,CHARWD); # CONVERT TEXT ADDR TO DISPLAY #
L1$TAP1[0] = C<0,3> CHARWD; # PUT TEXT ADDR IN OUTPUT LINE #
L1$TAP2[0] = C<3,3> CHARWD;
LINLEN = 7;
GOTO FL11;
PUTF:
L1$NAME[0] = " NETPUTF (";
# FORMAT NA PARAMETER FOR NETPUTF #
LTAA = DL$TL[0]; # NUMBER OF FRAGMENTS #
L1$FMT3[0] = " NA =";
DLDISDE(DL$TL[0],3,CHARWD); # CONVERT NA TO DISPLAY CODE #
L1$NAPT[0] = C<0,3> CHARWD; # PUT NA INTO OUTPUT LINE #
# FORMAT TAA PARAMETER FOR NETPUTF #
L1$FMT4[0] = " TAA =";
DLDISO(DL$TA[0],6,CHARWD); # CONVERT TAA TO DISPLAY CODE #
L1$TAA1[0] = C<0,2> CHARWD; # PUT TAA INTO OUTPUT LINE #
L1$TAA2[0] = C<2,4> CHARWD;
LINLEN = 7;
FL11:
# FORMAT HA PARAMETER FOR NETPUT AND NETPUTF #
L1$FMT1[0] = ") ";
DLDISO(DL$HA[0],6,CHARWD); # CONVERT HA TO DISPLAY #
L1$HAPT[0] = CHARWD; #PUT HEADER ADDR IN OUTPUT LINE#
L1$FMT2[0] = "HA =";
GOTO FL110;
GET:
L1$NAME[0] = " NETGET (";
L1$FMT2[0] = "CN =";
GOTO FL12;
GETL:
L1$NAME[0] = " NETGETL (";
L1$FMT2[0] = "LN =";
FL12:
# FORMAT MESSAGE TEXT ADDRESS FOR NETGET AND NETGETL #
L1$FMT4[0] = " TA = ";
DLDISO(DL$TA[0],6,CHARWD); # CONVERT TA TO DISPLAY #
L1$TAG1[0] = C<0,4> CHARWD; # PUT TEXT ADDR IN OUTPUT LINE #
L1$FMT5[0] = " TLMAX ";
L1$TAG2[0] = C<4,2> CHARWD; # OUTPUT LAST 2 CHAR OF TA #
# FORMAT TEXT LENGTH MAXIMUM FOR NETGET AND NETGETL #
DLDISDE(DL$TL[0],5,CHARWD); # CONVERT TLMAX TO DISPLAY #
L1$TLMX[0] = C<0,5> CHARWD; #PUT TLMAX VALUE IN OUTPUT LINE#
L1$TLEQ[0] = "="; # PUT EQUAL SIGN IN OUTPUT #
LINLEN = 7;
GOTO FL19;
GETF:
L1$NAME[0] = " NETGETF (";
L1$FMT2[0] = "CN =";
GOTO FL18;
GTFL:
L1$NAME[0] = " NETGTFL (";
L1$FMT2[0] = "LN =";
FL18:
# FORMAT NUMBER OF FRAGMENTS FOR NETGETF AND NETGTFL #
LTAA = DL$TL[0]; # NUMBER OF FRAGMENTS #
L1$FMT4[0] = " NA = ";
DLDISDE(DL$TL[0],3,CHARWD); # CONVERT NA TO DISPLAY CODE #
L1$NAGT[0] = C<0,3> CHARWD; # PUT NA VALUE IN OUTPUT LINE #
# FORMAT TAA PARAMETER FOR NETGETF AND NETGTFL #
L1$FMT5[0] = " TAA = ";
DLDISO(DL$TA[0],6,CHARWD); # CONVERT TAA VALUE TO DISPLAY #
L1$TAA3[0] = C<0,3> CHARWD; # PUT TAA VALUE IN OUTPUT LINE #
L1$TAA4[0] = C<3,3> CHARWD;
LINLEN = 7;
FL19:
L1$FMT1[0] = ") A";
# FORMAT ACN OR ALN VALUE #
DLDISDE(DL$ADR[0],4,CHARWD); # CONVERT CONNECTION/LIST NO #
L1$CLN[0] = C<0,4> CHARWD; # PUT CONNECT/LINE NO IN OUTPUT#
# FORMAT HA PARAMETER #
L1$FMT3[0] = "HA =";
DLDISO(DL$HA[0],6,CHARWD); # CONVERT HA TO DISPLAY #
L1$HAGT[0] = C<0,6> CHARWD; #PUT HEADER ADDR IN OUTPUT LINE#
FL110:
DLDISO(DL$CALL[0],6,CHARWD); # CONVERT CALL ADDR TO DISPLAY #
L1$CALL = C<0,6>CHARWD; # PUT CALL ADDR IN OUTPUT LINE #
OUPART = TRUE;
DLWRITC(LINE1,LINLEN); # OUTPUT LINE 1 FOR LOG ENTRY #
OUPART = FALSE;
DLWRITC(MSGNO,2); # OUTPUT MESSAGE NUMBER #
# CONVERT HEADER FIELDS TO DISPLAY CODE. #
P<ABH> = P<DATLINE> + 3;
IF ABHABT[0] EQ APPPN
THEN
BEGIN # PROCESS FOR BT 4 #
DLDISDE(ABHABT[0],2,CHARWD) ;
HL2$ABT[0] = C<0,2>CHARWD ;
DLDISDE(ABHDN[0],3,CHARWD) ;
HL2$DN[0] = C<0,3>CHARWD ;
DLDISDE(ABHSN[0],3,CHARWD) ;
HL2$SN[0] = C<0,3>CHARWD ;
DLDISDE(ABHCN[0],3,CHARWD) ;
HL2$CN[0] = C<0,3>CHARWD ;
DLDISDE(ABHBT[0],2,CHARWD) ;
HL2$BT[0] = C<0,2>CHARWD ;
DLDISDE(ABHACT[0],3,CHARWD) ;
HL2$ACT[0] = C<0,3>CHARWD ;
DLDISDE(ABHTLC[0],4,CHARWD) ;
HL2$TLC[0] = C<0,4>CHARWD ;
DLWRITC(HDRLINE2,9) ;
END # PROCESS FOR BT 4 #
ELSE
BEGIN # PROCESS FOR OTHER BT #
DLDISDE(ABHABT[0],2,CHARWD); # CONVERT ABT TO DISPLAY CODE #
HL$ABT[0] = C<0,2> CHARWD; # PUT IN OUTPUT LINE #
DLDISDE(ABHADR[0],4,CHARWD); # CONVERT ADR TO DISPLAY CODE #
HL$ADR[0] = C<0,4> CHARWD; # PUT ADR IN OUTPUT LINE #
DLDISDE(ABHABN[0],6,CHARWD); # CONVERT ABN TO DISPLAY #
HL$ABN1[0] = C<0,3> CHARWD; # PUT ABN IN OUTPUT LINE #
HL$ABN2[0] = C<3,3> CHARWD;
DLDISDE(ABHACT[0],2,CHARWD); # CONVERT ACT TO DISPLAY CODE #
HL$ACT[0] = C<0,2> CHARWD; # PUT ACT IN OUTPUT LINE #
DLDISDE(ABHTLC[0],4,CHARWD); # CONVERT TLC TO DISPLAY CODE #
HL$TLC[0] = C<0,4> CHARWD; # PUT TLC IN OUTPUT LINE #
# CONVERT VALUE OF EACH STATUS BIT AND FORMAT INTO OUTPUT LINE #
HL$ST1[0] = ABHIBU[0] + O"33";
HL$ST2[0] = ABHB41[0] + O"33";
HL$ST3[0] = ABHB42[0] + O"33";
HL$ST4[0] = ABHB43[0] + O"33";
HL$ST5[0] = ABHNFE[0] + O"33";
HL$ST6[0] = ABHXPT[0] + O"33";
HL$ST7[0] = ABHCAN[0] + O"33";
HL$ST8[0] = ABHBIT[0] + O"33";
# WRITE HEADER LINE FOR MESSAGE BEING LOGGED TO FILE OUTPUT #
DLWRITC(HDRLINE,9);
END # PROCESS FOR OTHER BT #
IF ABHABT[0] EQ 0
THEN
DLCC = 0 ;
ELSE
DLCC = ABHTLC[0] ;
TRUNC = (2*ABHTLC[0]+NW$ROUND[ABHACT[0]])/NW$FACT[ABHACT[0]];
CT = ABHACT[0]; # SAVE ACT FOR PROCEDURE DLDIS #
GOTO RTRN;
ON:
P<ONLINE> = P<DATLINE> + 1;
DLDISO(ON$CALL,6,CHARWD);
ON1$CAD[0] = CHARWD;
ON1$NAM[0] = L1NAME; # NAME FROM ENTRY PARAMETER #
ON1$DAT[0] = C<0,9>SDTYYMMDD;
OUPART = TRUE;
DLWRITC(ONLINE1,7); # OUTPUT FIRST LINE OF LOG ENTRY#
OUPART = FALSE;
DLWRITC(MSGNO,2); # OUTPUT MESSAGE NUMBER #
# FORMAT SECOND LINE OF LOG ENTRY FOR NETON CALL #
DLDISO(ON$NSUP,6,CHARWD); # CONVERT NSUP ADDR TO DISPLAY #
ON2$NAD[0] = CHARWD; # PUT NSUP ADDRESS IN OUTPUT LINE #
DLDISDE(ON$MIN,5,CHARWD); # CONVERT MINACN TO DISPLAY #
ON2$MIN[0] = C<0,5> CHARWD; # PUT MINACN IN OUTPUT LINE #
DLDISDE(ON$MAX,5,CHARWD); # CONVERT MAXACN TO DISPLAY #
ON2$MAX[0] = C<0,5> CHARWD; # PUT MAXACN IN OUTPUT LINE #
DLWRITC(ONLINE2,6); # OUTPUT SECOND LINE OF NETON #
GOTO RTRN;
XFR:
GOTO RTRN ;
DBG:
P<DBGLG> = P<DATLINE>;
DLDISO(DB$CAL,6,CHARWD);
TX$CALL[0] = CHARWD; # PUT CALL ADDR IN OUTPUT LINE #
IF DB$SMF # CONVERT OPTIONS TO DISPLAY CODE #
THEN
TX$OPV1[0] = O"33";
ELSE
TX$OPV1[0] = O"34";
IF DB$DMF
THEN
TX$OPV2[0] = O"33";
ELSE
TX$OPV2[0] = O"34";
TX$YMD[0] = L2DATE[0]; # PUT DATE IN OUTPUT LINE #
OUPART = TRUE;
DLWRITC(DBGLOG,7); # OUTPUT MESSAGE #
OUPART = FALSE;
DLWRITC(MSGNO,2); # OUTPUT MESSAGE NUMBER #
GOTO RTRN;
LOG:
L1$NAME[0] = " NETLOG ("; # SET PROCEDURE NAME #
DLDISO(DL$CALL[0],6,CHARWD);
L1$CALL = CHARWD; # SET PROCEDURE CALL ADDRESS #
L1$FMT1 = ")";
L1$WRD2[0] = " "; # CLEAR LINES #
L1$WRD3[0] = " ";
L1$WRD4[0] = " ";
L1$WRD5[0] = " ";
L1$WRD6[0] = " ";
LINLEN = 7;
DLCC = DL$SIZE[0]; # SET TEXT LENGTH #
TRUNC = DLCC;
OUPART = TRUE; # OUTPUT PART OF LINE #
DLWRITC(LINE1,LINLEN); # OUTPUT LINE 1 FOR LOG ENTRY #
OUPART = FALSE; # OUTPUT REST OF THE LINE #
DLWRITC(MSGNO,2); # OUTPUT MESSAGE NUMBER #
DLDISO(DL$SIZE[0],3,CHARWD); # OUTPUT TLW PART #
HB$TLW = CHARWD;
DLWRITC(HDRLINB,8);
GOTO RTRN;
OFF:
DLDISO(DL$CALL[0],6,CHARWD); # CONVERT CALL ADDR TO DISPLAY #
OFF$CAD[0] = C<0,6> CHARWD; # PUT CALL ADDRESS IN OUTPUT LINE #
OFF$DAT[0] = L2DATE[0]; # PUT DISPLAY CODE DATE IN OUTPUT LINE #
OUPART = TRUE;
DLWRITC(OFFLINE,7); # OUTPUT NETOFF #
OUPART = FALSE;
DLWRITC(MSGNO,2); # OUTPUT MESSAGE NUMBER #
GOTO RTRN;
RST:
DLDISO(DL$CALL[0],6,CHARWD); # CONVERT CALL ADDR TO DISPLAY #
RST$CAD[0] = C<0,6> CHARWD; # PUT CALL ADDRESS IN OUTPUT LINE #
RST$DAT[0] = L2DATE[0]; # PUT DISPLAY CODE DATE IN OUTPUT LINE #
OUPART = TRUE;
DLWRITC(RSTLINE,7); # OUTPUT NETRSET #
OUPART = FALSE;
DLWRITC(MSGNO,2); # OUTPUT MESSAGE NUMBER #
GOTO RTRN;
RTRN:
RETURN;
END # DLAREP #
TERM