*DECK,ENDRBF
      PROC ENDRBF;
      BEGIN  # END RBF #
*IF DEF,IMS 
 #
*1DC  ENDRBF
* 
*     1. PROC NAME           AUTHOR              DATE 
*        ENDRBF              G. A. VALENCIA      25 AUGUST 1980 
* 
*     2. FUNCTION DESCRIPTION.
*        TERMINATES RBF EXECUTION.
* 
*     3. METHOD USED. 
*        NETOFF.  IF RPVROLL EQUALS 2 (SET BY INTERRUPT HANDLER) THEN 
*        EXECUTE THE RPV RESET FUNCTION, OTHERWISE ISSUE A SYSTEM 
*        END REQUEST (NORMAL TERMINATION).  IF TRACE IS DEFINED, THE
*        NETOFF, RPV RESET IS DONE BY THE INTERRUPT HANDLER SINCE 
*        THIS ROUTINE IS GONE AFTER THE 02,00 OVERLAY IS LOADED.
* 
*     4. ENTRY PARAMETERS.
*        RPVROLL - EQUALS 2 ONLY IF RBF REPRIEVE PROCESSING HAS BEGUN.
* 
*     5. EXIT PARAMETERS. 
*        NONE 
* 
*     6. SYMPLTEXTS USED. 
*        NONE 
* 
*        RBF$COM
* 
*     7. ROUTINES CALLED. 
*        MESSAGE
*        NETOFF 
*        SYSCALL
* 
*     8. DAYFILE MESSAGES.
*        "RBF STOPPED." 
* 
 #
*ENDIF
  
      XREF ITEM RPVROLL U;   # REPRIEVED, ROLL IN/OUT FLAG             #
      XREF PROC MESSAGE;     # ISSUE A MESSAGE TO THE DAYFILE          #
      XREF PROC SYSCALL;     # MAKES A RA+1 SYSTEM REQUEST             #
      XREF PROC NETOFF;      # END RBF-S NETWORK CONNECTION            #
  
      XREF ARRAY RPVADDR[0:0] S(1);   # RPV PARAMETER BOLCK IN RBFBONES#
        BEGIN 
        ITEM RPVZERO     U(00,00,60); # ZERO OUT FIRST WORD            #
        ITEM RPVLENG     U(00,36,12); # LENGTH OF THE PARAMETER BLOCK  #
        ITEM RPVFUNC     U(00,48,11); # RPV FUNCTION CODE              #
        END 
  
      ARRAY STOPMESSAGE[0:0] S(2);    # NORMAL TERMINATION MESSAGE     #
        BEGIN 
        ITEM STOPMSG     C(00,00,13) = ["RBF STOPPED."];
        ITEM STOPEND     U(01,18,42) = [O"0000"]; 
        END 
      CONTROL EJECT;
#                                                                      #
#     END RBF-S NETWORK CONNECTION (FLUSH AIP TRACE BUFFERS)           #
#                                                                      #
      NETOFF; 
#                                                                      #
#     END EXECUTION, SEND DAYFILE MESSAGE IF NORMAL TERMINATION.       #
#                                                                      #
      IF RPVROLL EQ 2 
      THEN
        BEGIN 
        RPVZERO[0] = 0;        # ZERO UNUSED FIELDS IN TH PARAM. BLK.  #
        RPVLENG[0] = 25;       # LENGTH OF THE PARAMETER BLOCK         #
        RPVFUNC[0] = 3;        # RPV RESET FUNCTION                    #
        SYSCALL("RPVP", O"1 000000" + LOC(RPVADDR));
        END 
      ELSE
        BEGIN 
        MESSAGE(STOPMESSAGE,6);  # SEND DAYFILE MESSAGE           # 
        SYSCALL("END",0);      # NORMAL TERMINATION                    #
        END 
  
      END   # ENDRBF #
      TERM; 
