.
.         REWIND COMMAND ACTIVITY
.
.
.         (C)  Copyright 1972-1978  John Walker
.
.         This software is in the public domain
.
          AXR$
          DEFUNCT$
          FANG
          PURE      CODE
.
REWIND*   LA        A0,CDBPC,X8         LOAD PARAMETER ADDRESS
          LA        A14,CDOPTS,X8       LOAD OPTION BITS
          LX        X9,PBVAL,A0         LOAD POINTER TO FDT
          LA        A0,FDTYPE,X9        LOAD FILE TYPE
          JTAPE     A0,TINTL            IF PHYSICAL TAPE, REWIND TO FIRST REEL
MSREW     SZ        FDMSAD,X9           CLEAR ADDRESS IF WAD OR FASTRAND
          TOP,U     A14,OPTION('I')     REWIND WITH FREE FOR MASS STORAGE ?
          COMPLETE  .                   ALL DONE
          R$DIT     .                   SET UP EDITOR
          E$COPY    6,('@FREE ')        EDIT FREE COMMAND
          E$FD2     FDIN,X9             EDIT INTERNAL NAME
          LA,H2     A0,,X1              LOAD ADDRESS OF IMAGE BUFFER
          LMJ       X11,CSF             SUBMIT IMAGE VIA CSF$
          IERR      .                   CAN'T GET BAD FORMAT
          LMJ       X5,CSFSTR           EDIT CSF$ STATUS
          COMPLETE  .                   TERMINATE THE COMMAND
.
.         REWIND SINGLE TAPE
.
REWIT     BGET      IOL                 GET AN I/O FILE CONTROL TABLE
          DL        A1,FDIN,X9          LOAD INTERNAL NAME
          DS        A1,IOFN,A0          STORE INTO I/O PACKET
          LA,U      A1,REW$             LOAD REWIND FUNCTION
          TEP,U     A14,OPTION('I')     REWIND WITH INTERLOCK ?
          LA,U      A1,REWI$            YES.  USE REWIND WITH INTERLOCK FUNCTION
          SA        A1,IOFUNC,A0        PUT INTO PACKET
          SZ        IOSTATUS,A0         INSURE STATUS IS POSITIVE
          SZ        IOACW,A0            CLEAR ACCESS WORD
          SX        X9,IOFDT,A0         SET UP FDT POINTER
          IOW$      .                   PERFORM THE OPERATION
          TZ        IOSTATUS,A0         WAS IT ABNORMAL ?
          J         REWERR              YES.  EDIT STATUS CODE AND ERROR
          BRELP     A0                  NORMAL.  RELEASE FILE CONTROL TABLE
          COMPLETE  .                   DONE WITH THIS COMMAND
.
TINTL     TEP,U     A14,OPTION('R')     REWIND THIS REEL OPTION ('R')
          J         REWIT               YES.  GO REWIND IT
          TINTL$    FDIN,X9             RESET THE MULTI-REEL FILE
          TEP,U     A14,OPTION('I')     REWIND WITH INTERLOCK ?
          J         REWIT               YES.  NOW INTERLOCK FIRST REEL
          COMPLETE  .                   COMPLETE THIS OPERATION
.
.         ERROR HANDLER
.
REWERR    LMJ       X11,IOSEDT          EDIT I/O STATUS
          BRELP     A0                  RELEASE PACKET
          ZAP       .                   MARK OPERATION FAILED
          COMPLETE  .                   WIND UP
          END