*DECK RHFOFF
USETEXT COMCBEG 
USETEXT COMADEF 
USETEXT COMACBF 
PROC RHFOFF;
# TITLE RHFOFF - LOG OFF OF NETWORK. #
  
      BEGIN  # RHFOFF # 
  
# 
**    RHFOFF - LOG OFF OF NETWORK.
* 
*     RHFOFF GENERATES A NETOFF CALL TO THE RHF SUBSYSTEM IN ORDER TO 
*     END NETWORK ACCESS. 
* 
*     PROC RHFOFF 
* 
*     ENTRY   -  NONE.
* 
*     EXIT    -  APPLICATION TABLE ADDRESS IS ZERO-D. 
*                DBUGDATA FLAG SET TO FALSE.
*                DBUGSUP FLAG SET TO FALSE. 
* 
*     PROCESS -  CALL SYSTEM TO MAKE AN RA+1 REQUEST FOR SSC SO AS TO 
*                  CALL THE RHF SUBSYSTEM FOR A NETOFF FUNCTION.
*                SET THE DEBUG DATA AND DEBUG SUPERVISORY MESSAGES
*                  TO FALSE.
*                ZERO THE APPLICATION TABLE ADDRESS.
*                IF NUMFILEXFR .NE. 0,
*                THEN:  
*                  CALL DAYFMSG SO AS TO ABORT THE CONTROL POINT AND
*                    WRITE A FATAL ERROR MESSAGE TO THE DAYFILE.
* 
# 
  
# 
****  PROC RHFOFF - XREF LIST BEGIN.
# 
  
      XREF
        BEGIN 
        PROC DAYFMSG;                #  WRITE DAYFILE MESSAGE # 
        PROC CALLSYS;                # MAKES RA+1 REQUESTS #
        PROC DBGSMSG;                # DISPLAY STAT MSG # 
        END 
  
# 
****  PROC RHFOFF - XREF LIST END.
# 
  
      CONTROL WEAK DAYFMSG;          #  DAYFMSG IS LOADED WHEN RHFXFR 
                                        IS LOADED # 
      CONTROL WEAK DBGSMSG;          # LOADED BY RHFDBG # 
  
                                               CONTROL EJECT; 
# 
*     FORMAT THE RHF SUBSYSTEM REQUEST/REPLY PARAMETER BLOCK FOR A
*     NETOFF FUNCTION.
# 
  
      BKF$FNCNUM[0] = NETOFFFUNC; 
      SSCPARAMAD[0] = LOC (BKFORRQRLY); 
      BKF$DONE[0]   = FALSE;
      CALLSYS (SSCCALL);
      DBGSSC = DBGSSC + 1;
  
      IF (DBUGSUP OR DBUGDAT) 
      THEN
        BEGIN 
        DBGSMSG ("NETGET" , DBGGET[0]); 
        DBGSMSG ("NETGETL", DBGGETL[0]);
        DBGSMSG ("NETPUT" , DBGPUT[0]); 
        DBGSMSG ("NETWAIT", DBGWAIT[0]);
        DBGSMSG ("NETXFR" , DBGXFR[0]); 
        DBGSMSG ("NETUXFR", DBGUXFR[0]);
        DBGSMSG ("NETXFRC", DBGXFRC[0]);
        DBGSMSG ("CALLNG" , DBGXNG[0]); 
        DBGSMSG ("CALLNP" , DBGXNP[0]); 
        DBGSMSG ("SSCX  " , DBGXFT[0]); 
        DBGSMSG ("SSC   " , DBGSSC[0]); 
        END 
  
  
      BKF$ATA[0] = 0; 
      DBUGDAT    = FALSE; 
      DBUGSUP    = FALSE; 
  
      IF NUMFILEXFR NE 0
      THEN
        BEGIN 
        DAYFMSG(NETOFF$XFR);
        END 
  
      END  # RHFOFF # 
  
      TERM
