*DECK     CSSIDC
USETEXT TEXTCS
USETEXT TEXTSS
USETEXT TXTAPSS 
      PROC CSSIDC;
# TITLE - ISSUE DEBUG COMMAND.                                         #
      BEGIN 
# 
**    CSSIDC - ISSUE DEBUG COMMAND. 
* 
*     D.K. ENDO    82/05/28 
* 
*     THIS PROCEDIRE ACTIONS DEBUG COMMANDS FROM THE HOP. 
* 
*     PROC CSSIDC 
* 
*     ENTRY        1. HOP DEBUG COMMAND SM-S. 
* 
*     EXIT         1. APPROPRIATE ACTION TAKEN. 
* 
# 
# 
****  PROC CSSIDC - XREF LIST BEGINS. 
# 
      XREF
        BEGIN 
        PROC NETDBG;         # TURNS AIP TRACE ON OR OFF               #
        PROC NETDMB;         # DUMPS APPLICATION-S FIELD LENGTH        #
        PROC NETREL;         # RELEASES THE AIP TRACE FILE             #
        PROC NETSTC;         # CLEARS AND/OR STARTS STATISTICS         #
        END 
# 
****
# 
# 
****  PROC CSSIDC - DEBUG XREF LIST BEGINS. 
# 
      $BEGIN
      XREF
        BEGIN 
        PROC SSSPSI;         # PREPARE SS STATISTICS INFORMATION.      #
        END 
      $END
# 
****
# 
  
  
      ITEM STATIS;           # STATUS RETURNED FROM, NET PROC-S        #
  
  
# 
      THIS ARRAY DEFINES THE FIELDS IN THE DUMP I.D.  THIS IS SET WHEN
      NVF RECEIVES A HOP/DU/U SM FROM NAM.
# 
      ARRAY DUMP$ID [00:00] S(1); 
        BEGIN 
        ITEM DID$NIN    U(00,42,09);   # NETWORK INVOCATION NUMBER     #
        ITEM DID$PID    U(00,51,06);   # PROCDUCT I.D.(FOR NVF)        #
        ITEM DID$DPN    U(00,57,03);   # DUMP NUMBER                   #
        ITEM DID$WORD   I(00,00,60) = [0];
         END
  
  
# 
*     THIS ARRAY DEFINES THE LFN USED FOR THE NETREL CALL.
# 
      ARRAY NTRL$LFN [00:00] S(1);
        BEGIN 
        ITEM NRL$NAM    C(00,00,04) = ["NRF2"]; 
        ITEM NRL$ZFIL   U(00,24,36) = [0];
        END 
      CONTROL EJECT;
#                                                                      #
#                            CSSIDC CODE BEGINS HERE                   #
#                                                                      #
# 
*     IF THIS SM IS HOP/DU/U, THEN SET THE DUMP I.D. AND ISSUE THE DUMP 
*     REQUEST.  IF THE DUMP I.D. IS GREATER THAN OR EQUAL TO SIX, THEN
*     SET IT TO ZERO, ELSE INCREMENT IT BY ONE. 
# 
      IF PFCSFC[0] EQ HOPDU 
      THEN
        BEGIN 
        DID$NIN[0] = CRNT$NIN;
        DID$PID[0] = CSPID$;
        DID$DPN[0] = CRNT$DPN;
  
        NETDMB(DUMP$ID,FALSE);
  
        IF CRNT$DPN GQ 6
        THEN
          BEGIN 
          CRNT$DPN = 0; 
          END 
        ELSE
          BEGIN 
          CRNT$DPN = CRNT$DPN + 1;
          END 
        END 
  
  
# 
*     IF THIS SM IS HOP/TRCE/U, THEN CALL NETDBG TO TURN ALL TRACING
*     ON. 
# 
      ELSE IF PFCSFC[0] EQ HOPTRCE
      THEN
        BEGIN 
        NETDBG(FALSE,FALSE,STATIS); 
        END 
  
  
# 
*     IF THIS SM IS HOP/NOTR/U, THEN CALL NETDBG TO TURN ALL TRACING
*     OFF.
# 
      ELSE IF PFCSFC[0] EQ HOPNOTR
      THEN
        BEGIN 
        NETDBG(TRUE,TRUE,STATIS); 
        END 
  
  
# 
*     IF THIS SM IS HOP/RS/U, THEN CALL NETSTC TO CLEAR THE CURRENT 
*     STATISTICS AND RESTART THE STATISTICS GATHERING.
# 
      ELSE IF PFCSFC[0] EQ HOPRS
      THEN
        BEGIN 
        $BEGIN
        SSSPSI;              # SEND STAT INFO TO STAT FILE (ZZZZZSN)   #
        $END
        NETSTC(FALSE,STATIS); 
  
        NETSTC(TRUE,STATIS);
        END 
  
  
# 
*     IF THIS SM IS HOP/REL/U, THEN CALL NETREL TO RELEASE THE CURRENT
*     DEBUG LOG FILE. 
# 
      ELSE IF PFCSFC[0] EQ HOPREL 
      THEN
        BEGIN 
        IF MC NQ 0
        THEN
          BEGIN 
          NETREL(NTRL$LFN,0,FALSE); 
          END 
        END 
  
  
# 
*     IF THIS SM IS HOP/DB/U,THEN SET THE DEBUG FLAG IN THE NVF CONTROL 
*     BLOCK.
# 
      ELSE IF PFCSFC[0] EQ HOPDB
      THEN
        BEGIN 
        DBGFLAG = TRUE; 
        END 
  
  
# 
*     IF THIS SM IS HOP/DE/U, THEN CLEAR THE DEBUG FLAG IN THE NVF
*     CONTROL BLOCK.
# 
      ELSE IF PFCSFC[0] EQ HOPDE
      THEN
        BEGIN 
        DBGFLAG = FALSE;
        END 
  
  
      RETURN;                # **** RETURN ****                        #
  
      END # CSSIDC #
      TERM
