cdc:nos2.source:nam5871:netdbg
Table of Contents
NETDBG
Table Of Contents
- [00006] PROC NETDBG ((OPT1),(OPT2),DBSTAT)
- [00097] PROC NP$PIOE
- [00098] PROC NP$WRTW
- [00099] PROC NP$RTIM
- [00100] PROC NP$ERR
- [00117] ENTRY PROC QTDBG((OPT1),(OPT2),DBSTAT)
Source Code
- NETDBG.txt
- *DECK NETDBG
- USETEXT AIPDEF
- USETEXT NP$DB
- USETEXT NP$MODE
- USETEXT NP$NWL
- PROC NETDBG ((OPT1),(OPT2),DBSTAT);
- *IF,DEF,IMS
- #
- *1DC NETDBG
- *
- * 1. PROC NAME AUTHOR DATE
- * NETDBG J. P. YOUNG 77/04/08
- *
- * 2. FUNCTIONAL DESCRIPTION
- * PROCESSES THE NETDBG CALL FROM AN APPLICATION. THE DEBUG
- * OPTIONS ARE SET AS SPECIFIED WHEN AIP IS COMPILED WITH
- * *DEFINE,DEBUG. OTHERWISE STATUS IS RETURNED INDICATING THE
- * DEBUG OPTION IS NOT AVAILABLE (STATUS = 1).
- *
- * 3. METHOD USED
- * MOST OF THE LOGIC IN THIS PROCEDURE IS CONDITIONALLY COMPILED.
- * WHEN *DEFINE,DEBUG IS NOT USED, STATUS IS SET EQUAL TO 1 AND
- * CONTROL IS RETURNED TO CALLER. WHEN *DEFINE,DEBUG IS USED,
- * DB$SM IS SET TRUE IF OPT1 = 0 OR FALSE OTHERWISE. DB$DM IS
- * SET TRUE IF OPT2 = 0 OR FALSE OTHERWISE. STATUS IS SET EQUAL
- * TO ZERO. THE CALL TO NETDBG IS LOGGED ON FILE ZZZZZDN.
- * WHEN DEBUG OPTION IS DEFINED A TWO WORD ENTRY IS WRITTEN TO
- * THE DEBUG LOG FILE.
- * WORD 0
- * 2
- * 0 4
- * I-------------------------I----------------I
- * I I I
- * I SECONDS SINCE DEADSTART I MILLISECONDS I
- * I I I
- * I-------------------------I----------------I
- *
- * WORD 1
- * 2 4 5
- * 0 1 2 4 2 3
- * I--------I--------I-----I---------I----I--------I
- * I I I I I I I
- * I DB$SMF I DB$DMF I I DB$CAL I I DB$OPC I
- * I I I I I I I
- * I--------I--------I-----I---------I----I--------I
- *
- * DB$SMF - SUPERVISORY MESSAGE LOGGING
- * =1 IF ON
- * DB$DMF - DATA MESSAGE LOGGING
- * =1 IF ON
- * DB$CAL - CALLING ADDRESS
- * DB$OPC - NETDBG OPCODE (=20)
- *
- *
- * 4. ENTRY CONDITIONS
- * OPT1 = 0 LOG SUPERVISORY MESSAGES, EXCEPT FC/ACK
- * NOT 0 NO LOGGING OF SUPERVISORY MESSAGES
- * OPT2 = 0 LOG DATA MESSAGES AND FC/ACK
- * NOT 0 NO LOGGING OF DATA MESSAGES
- *
- * 5. EXIT CONDITIONS
- * DBSTAT = 0 DEBUG OPTION AVAILABLE
- * = 1 DEBUG OPTION NOT AVAILABLE (I.E. AIP LOADED WAS
- * NOT COMPILED WITH *DEFINE,DEBUG)
- * DB$SM AND DB$DM (COMMON BLOCK NP$DB) ARE SET TRUE OR FALSE
- * AS REQUESTED
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * AIPDEF NP$CRT
- * NP$DB NP$DBA NP$MODE NP$NWL
- *
- * 7. PROCEDURES/FUNCTIONS CALLED
- * NP$PIOE - PROCESS I/O ERROR ON DEBUG LOG FILE
- * NP$RTIM - RETURNS CURRENT TIME FROM DEADSTART IN SECONDS
- * AND MILLISECONDS
- * NP$WRTW - WRITES WORDS TO FILE - NOS DATA TRANSFER MACRO
- * NP$ERR - DAYFILE ERROR MESSAGE AND ABORT.
- *
- * 8. DAYFILE/DIAGNOSTIC MESSAGES
- * NETWORK APPLICATION ABORTED, RC = 34.
- * NETDBG: REQUEST INVALID BEFORE NETON.
- *
- #
- *ENDIF
- BEGIN
- *CALL NP$CRT
- # PARAMETERS #
- # #
- ITEM OPT1; # LOG SUPERVISORY MESSAGE OPTION #
- ITEM OPT2; # LOG DATA MESSAGE OPTION #
- ITEM DBSTAT; # DEBUG AVAILABILITY STATUS RETURNED #
- XREF
- BEGIN
- PROC NP$PIOE; # PROCESS I/O ERROR #
- PROC NP$WRTW; # WRITES WORDS TO DEBUG LOG #
- PROC NP$RTIM; # REAL TIME #
- PROC NP$ERR; # DAYFILE ERROR. #
- END
- *IF,DEF,DEBUG
- CONTROL LIST; # NETDBG USES VARIABLE NSUPWRD.#
- #
- LOCAL VARIABLES
- #
- ITEM TIMEWD U; # REAL TIME SINCE DEADSTART #
- ARRAY DBGLOG P(2); # LOG NETDBG CALL #
- *CALL NP$DBA
- *ENDIF
- #**********************************************************************#
- # NETDBG EXECUTION BEGINS HERE #
- ENTRY PROC QTDBG((OPT1),(OPT2),DBSTAT); # QTRM ENTRY PT FOR PROC #
- # #
- # INITIALIZE STATUS #
- *IF,-DEF,DEBUG
- DBSTAT = 1;
- *ENDIF
- *IF,DEF,DEBUG
- DBSTAT = 0;
- *ENDIF
- IF NOT ACCEPTED
- THEN
- NP$ERR("34"); # REQUEST INVALID BEFORE NETON. #
- *IF,DEF,DEBUG
- # SET DEBUG OPTIONS #
- IF OPT1 EQ 0
- THEN DB$SM = TRUE;
- ELSE DB$SM = FALSE;
- IF OPT2 EQ 0
- THEN DB$DM = TRUE;
- ELSE DB$DM = FALSE;
- # FORMAT LOG FILE ENTRY #
- P<CALLADR> = LOC(NETDBG); # GET CALL ADDRESS #
- NP$RTIM(TIMEWD); # REAL TIME SINCE DEADSTART #
- DB$TIME[0] = TIMEWD;
- DB$SMF[0] = DB$SM;
- DB$DMF[0] = DB$DM;
- DB$CAL[0] = CALLADDR[0];
- DB$OPC[0] = OP$DBG;
- NP$WRTW (DB$FET,DBGLOG,2);
- #
- NSUPWRD BASED ARRAY POINTER TO THE USER COMMUNICATION WORD
- WAS SET BY NETON. THE ARRAY IS LOCATED IN NP$NWL COMDECK.
- UPDATE MSGCNT IN NSUP COMMUNICATION WORD.
- #
- MSGCNT[0] = MSGCNT[0] + 1;
- #
- CHECK FOR I/O ERROR IN DEBUG LOG FILE
- #
- IF FET$AT[0] NQ 0
- THEN # I/O ERROR HAS OCCURRED ON FILE#
- BEGIN
- NP$PIOE(DB$FET); # PROCESS I/O ERROR #
- END
- *ENDIF
- END # NETDBG #
- TERM # NETDBG #
cdc/nos2.source/nam5871/netdbg.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator