*DECK FFSUSEM 
USETEXT TEXTFFS                        # FS SYSTEM TEXT                #
PROC FFSUSEM(RSPCN, ERNO);
*CALL COPYRITE
# TITLE FFSUSEM - SEND 550 OR 530 ERROR MESSAGE.                       #
  
      BEGIN                            # FFSUSEM                       #
  
# 
**    FFSUSEM - SEND 550 ERROR MESSAGE. 
* 
*     ENTRY     (RSPCN)    = CONNECTION FOR RESPONSES.
*               (ERNO)     = 530 OR 550.
* 
*     EXIT      XXX MESSAGE IS SENT PLUS ANY ADDITIONAL TEXT. 
* 
*     METHOD. 
* 
# 
  
      ITEM RSPCN       U;              # RESPONSE CN ENTRY NUMBER      #
      ITEM ERNO        U;              # MESSAGE NUMBER                #
# 
***   PROC FFSUSEM - XREF LIST BEGIN. 
# 
  
      XREF
        BEGIN 
        PROC ATTACH;                   # ATTACH A FILE                 #
        PROC ABORT;                    # NOS ABORT MACRO               #
        PROC DEFINE;                   # DEFINE A FILE                 #
        PROC FFSLCRP;                  # CN MGMENT REQUEST PROCESSOR   #
        PROC FFSUCDA;                  # CONVERT DISPLAY MSG TO ASCII88#
        FUNC FFSULLN I;                # LINE LENGTH                   #
        END 
  
# 
***   PROC FFSUSEM - XREF LIST END. 
# 
  
      ITEM I                 U;        # LOOP COUNTER                  #
      ITEM INPLNG            U;        # INPUT MESSAGE LENGTH          #
      ITEM LENCHAR           U;        # BYTES IN CONVERTED MESSAGE    #
      ITEM MORE              B;        # INDICATOR FOR MORE MESSAGE    #
      ITEM SENDFLAG          B;        # FLAG FOR ATTACH ROUTINE       #
  
      BASED ARRAY TEMPMSG [0:0] S(1); 
        BEGIN 
        ITEM TEMPWORD      U(00, 00, 60); 
        END 
  
      CONTROL EJECT;
  
                                       CONTROL FTNCALL; 
      MORE = FALSE; 
      FTP$HYPHEN[MSG$550] = " " ; 
      FTP$HYPHEN[MSG$530] = " " ; 
                                  # CHECK FOR MORE XXX ERROR MESSAGE   #
      IF PFM$T[0] NQ 0
      THEN
        BEGIN                          # THERE IS XXX ERROR TEXT       #
        MORE = TRUE;
        IF ERNO NQ 530
        THEN
          BEGIN                        # 550 MESSAGE                   #
          FTP$HYPHEN[MSG$550] = "-" ; 
          MORE$ERNM[0] = "550 " ; 
          P<TEMPMSG> = LOC(FTPRMSG[MSG$550]); 
          END                          # FURTHER XXX TEXT EXISTS       #
        ELSE
          BEGIN                        # 530 MESSAGE                   #
          FTP$HYPHEN[MSG$530] = "-" ; 
          MORE$ERNM[0] = "530 " ; 
          P<TEMPMSG> = LOC(FTPRMSG[MSG$530]); 
          END                          # FURTHER XXX TEXT EXISTS       #
        MORE$TEXT    = C<0,FFSULLN(PFM$MSG,3)>PFM$TEXT; 
        MORE$END     = 0; 
        END 
  
      FFSUCDA(TEMPMSG,
              FMSGSIZ$, 
              SENDBUF,
              LENCHAR); 
      REQ$RCODE[RFTPCM$]  = RCM"RCSENDAT";
      REQ$CTYPE[RFTPCM$]  = RSPCN;
      REQ$ADDR[RFTPCM$]   = LOC(SENDBUF); 
      REQ$LEN[RFTPCM$]    = LENCHAR;
      FFSLCRP;
  
      IF MORE 
      THEN
        BEGIN 
        P<TEMPMSG> = LOC(MORE$MSG[0]);
        I = 4;
        FFSUCDA(TEMPMSG,
                I,
                SENDBUF,
                LENCHAR); 
        REQ$ADDR[RFTPCM$]   = LOC(SENDBUF); 
        REQ$LEN[RFTPCM$]    = LENCHAR;
        FFSLCRP;
        END 
  
      REQ$RCODE[RFTPCM$] = 0; 
      REQ$LEN  [RFTPCM$] = 0; 
      MORE$T[0]          = 0; 
      RETURN; 
  
      END                              # FFSUSEM                       #
  
      TERM
