*DECK FFSEEFS 
USETEXT TEXTFFS 
      PROC FFSEEFS (CODE);
*CALL COPYRITE
# TITLE FFSEEFS - END FILE SERVER BY ABORTING.                         #
  
      BEGIN                            # FFSEEFS                       #
# 
**    FFSEEFS  END FILE SERVER BY ABORTING. 
* 
*     A. LIM                           88/01/24 
* 
*     THIS PROCEDURE TERMINATES THE FILE SERVER ABNORMALLY BY 
*     ABORTING FOR NAM PROTOCOL ERRORS OR INTERNAL ERRORS.
* 
*     PROC FFSEEFS (CODE) 
* 
*     ENTRY    CODE = ERROR CODE FOR ABORTING FILE SERVER.
* 
*     EXIT     FILE SERVER ABORTED. 
* 
*     METHOD   DAYFILE APPROPRIATE MESSAGE. 
*              ABORT. 
* 
# 
  
# 
****  PROC FFSEEFS - XREF LIST
# 
      XREF
        BEGIN 
        PROC ABORT;      # ABORT JOB -MACREL-                          #
        PROC MESSAGE;    # DISPLAY AND DAYFILE A MESSAGE               #
        END 
# 
****
# 
      ITEM CODE          I;            # REASON FOR ENDING CONNECTIONS #
  
  
# 
*     THIS ARRAY DEFINES ALL THE ERROR MESSAGES FOR ENDING FTPS.
# 
      ARRAY EMESSAGE[00:NLAST] S(6);
        BEGIN 
        ITEM ERR$TEXT   C(00,00,53) = 
          [" FTPS-ABORTS WITH ERR/LGL RECEIVED.                  ", 
           " FTPS-ABORTS WITH FC/NAK RECEIVED.                   ", 
           " FTPS-ABORTS WITH NPE CON/CB/R RECEIVED.             ", 
           " FTPS-ABORTS WITH NPE CON/END/N RECEIVED.            ", 
           " FTPS-ABORTS WITH NPE CON/REQ/R RECEIVED.            ", 
           " FTPS-ABORTS WITH NPE FC/ACK/R RECEIVED.             ", 
           " FTPS-ABORTS WITH NPE FC/INIT/R RECEIVED.            ", 
           " FTPS-ABORTS WITH NPE DATA BLOCK RECEIVED.           ", 
           " FTPS-ABORTS WITH NPE CON/ACRQ/A RECEIVED.           ", 
           " FTPS-ABORTS WITH AN INTERNAL ERROR.                 ", 
           " FTPS-ABORTS WITH HOST NAME FILE/ HOST NAME NOT FOUND", 
           " FTPS-ABORTS WITH HOST NAME NOT FOUND.               ", 
           " FFSSIAA-INVALID CONNECTION TYPE IN INITIATE C/N REQ.", 
           " FFSSIAA-INITIATE CONNECTION RECEIVED IN WRONG STATE.", 
           " FFSLNTH-END CONNECTION RECEIVED IN WRONG STATE.     ", 
           " FFSOOBN-SEND DATA RECEIVED IN WRONG STATE.          ", 
           " FFSLNTH-SUSPEND DATA RECEIVED IN WRONG STATE.       ", 
           " FFSLNTH-RESUME DATA RECEIVED IN WRONG STATE.        "
                                                                 ]; 
        ITEM ERR$ID     C(00,06,04);   # ID, FTPS VS FTPI              #
        ITEM ERR$ZBYTE  U(05,18,36) = [0,NLAST(0)]; 
        END 
  
      CONTROL EJECT;
  
#     START MAIN PROCEDURE                                             #
  
      IF CODE GR NLAST
      THEN
        BEGIN                          # CODE OUTSIDE RANGE            #
        CODE = NIERROR;                # FLAG IT AS AN INTERNAL ERROR  #
        END 
  
      IF CODE LQ NNOIPA 
      THEN
        BEGIN                          # MESSAGE BEGINS WITH FTPS/FTPI #
        IF EPTFLAG EQ FTPC$ 
        THEN
          BEGIN                        # CLIENT MODE                   #
          ERR$ID[CODE] = FTPI$;        # REPLACE FTPS WITH FTPI        #
          END 
        END 
  
      MESSAGE(EMESSAGE[CODE],0);       # DAY FILE MESSAGE              #
  
      ABORT;
  
      STOP; 
  
      END                              # FFSEEFS                       #
  
      TERM
