C----------------------------------------------------------------------------- C C Program: S P L T A P C C Purpose: Spools tape to EOV label and then rewinds it. C C Author: Jan H. Belgraver C C Date: 6-Apr-88 C C Version: V1.0 8-Apr-88 C C Description: SPLTAP winds tape up to the end by using the Space Files QIO. C The number of files to space is set to the max. value of 9999. C After encountering the end the tape is rewound and unloaded. C C Luns: 2 MM: (fixed to 2 in INITMM !!) C 5,6 TI: C C Event flags: 1, 2 C C Calls to: ASSIGN, CLOSE, INITMM, WTQIO C C Building: @SPLTAPBLD.CMD C C Modified by: C C----------------------------------------------------------------------------- C C C C PROGRAM S P L T A P C C LOGICAL*1 IOST(4) INTEGER*2 IPARMT(6), 1 IOST2(2) EQUIVALENCE (IOST(1), IOST2(1)) ! 2nd status word DATA IODET /"2000/ ! Detach device DATA IORWU /"2540/ ! Rewind and unload tape DATA IOSPF /"2440/ ! Space files IPARMT(1) = 9999 ! Max. no. of files to skip LUNT = 2 ! LUN tape drive. CALL ERRSET (37,.TRUE.,.FALSE.,.FALSE.,.FALSE.) c CALL PRINID (6) ! Print task-id C----------------------------------------------------------------------------- C C Check if magtape can be used (should be write-locked), if not STOP. C INITMM attaches MM:. C C----------------------------------------------------------------------------- CALL ASSIGN (LUNT, 'MM:') CALL INITMM (0) C----------------------------------------------------------------------------- C C Now we can start spacing max. number of files to find end of tape. C C----------------------------------------------------------------------------- WRITE (6, 1) 1 FORMAT (/' . . . . Winding / Rewinding Tape . . . .') 10 CALL WTQIO (IOSPF, LUNT, LUNT,, IOST, IPARMT) IF (IOST(1) .NE. 1) GOTO 910 GOTO 10 910 IF (IOST(1) .NE. -10) GOTO 915 WRITE (6,911) 911 FORMAT (/' [SPLTAP] -- EOF found') WRITE (6,1002) IOST(1), IOST2(2) 915 IF (IOST(1) .NE. -11) GOTO 920 WRITE (6,916) 916 FORMAT (/' [SPLTAP] -- EOV found') D WRITE (6,1002) IOST(1), IOST2(2) GOTO 990 920 IF (IOST(1) .NE. -56) GOTO 925 WRITE (6,921) 921 FORMAT (/' [SPLTAP] -- Bad Block encountered') WRITE (6,1002) IOST(1), IOST2(2) GOTO 990 925 IF (IOST(1) .NE. -62) GOTO 930 WRITE (6,926) 926 FORMAT (/' [SPLTAP] -- EOT found') WRITE (6,1002) IOST(1), IOST2(2) 1002 FORMAT (/' -- IOST =', I6, ' -- Bytecount =', I6) GOTO 990 930 WRITE (6,931) IOST(1), IOST2(2) 931 FORMAT (/' [SPLTAP] FATAL -- Tape read error', $ ' -- IOST =', I6, ' -- Bytecount =', I6) 990 CALL QIO (IODET, LUNT, LUNT,, IOST)! Detach MM: CALL QIO (IORWU, LUNT, LUNT,, IOST)! Rewind and put Off-Line CLOSE (UNIT = LUNT) ! close tape LUN c CALL BELL (0) STOP END