PROC WREPLNK (RSTATUS);
      BEGIN  # WREPLNK #
*copyc ICS$ICSZCOM
      ITEM RSTATUS    U;

      ITEM OUTER$LOOP U;
      ITEM FWA        U;
      ITEM SIGNAL     B;
      ITEM STAT       U;

      XREF
        BEGIN
        PROC ABORT;
        PROC PAUSE;
        PROC PUTLNK;
        PROC SEND;
        END

#  INITIALIZE                                                         #

      RSTATUS = MLSOK;
      IF NOT OPENED
      THEN
        BEGIN
        RSTATUS = NOT$OPENED;
        RETURN;
        END

#  TERMINATE ANY PRIOR PARTIAL RECORD                                 #

      IF POSITION EQ MID$RECORD
      THEN
        BEGIN
        PUTLNK (FWA, (0), (TERMINATE),(FALSE), STAT);
        IF RSTATUS NQ MLSOK
        THEN
          BEGIN
          RSTATUS = STAT;
          RETURN;
          END

        END

      AI$EOP = TRUE;
      FIRST$MSG = TRUE;
      LAST$MSG = TRUE;

#  SEND THE EOP INDICATION                                            #

      FOR OUTER$LOOP = 0
      DO
        BEGIN  # OUTER$LOOP #
        SEND (APPL$NAME, ARB$INFO, (SIGNAL), FWA, (0), PARTNER$NAME,
          STAT);
        IF  (RSTATUS EQ MLSOK) OR (RSTATUS EQ MLSSF)
        THEN
          BEGIN
          GOTO OUTEREND;
          END

        IF (RSTATUS EQ MLSBI) OR (RSTATUS EQ MLSPN) OR (RSTATUS EQ
          MLSRF) OR (RSTATUS EQ MLSBA)
        THEN
          BEGIN
          PAUSE(PAUS$CNT);
          TEST OUTER$LOOP;
          END

        IF (RSTATUS EQ MLSRN)
        THEN
          BEGIN
          RSTATUS = PARTNER$QUIT;
          RETURN;
          END

        ELSE
          BEGIN
          ABORT;
          END

        END  # OUTER$LOOP #

OUTEREND%

#  STORE THE FILE POSITION INFORMATION                                #

      POSITION = EOP;
      ANY$PUTS = TRUE;
      END  # WREPLNK #

    TERM
