;TAPEREW.MAR routine to rewind a MOUNTED tape ;Wolfgang J. Moeller, GWDG, D-3400 Goettingen, F.R.Germany .title taperew rewind mounted magtape ; ; INTEGER FUNCTION taperew(devnam) = status ; CHARACTER*(*) devnam ; ; rewinds mounted tape device "devnam" ; assuming no file is currently accessed. ; ; bugs: ; USES EVENT FLAG 0 ;***** $iodef $fibdef ;***** rew_v: $qiow chan=0-0,- func=io$_acpcontrol,- iosb=iosb,- p1=fib_descr ; address of file info blk descr iosb: .blkw 4 fib: .blkb fib$c_length fib_descr: .long fib$c_length .address fib ;***** .entry TAPEREW,^m $assign_s devnam=@4(ap),- chan=rew_v+qiow$_chan blbc r0,99$ movc5 #0,(sp),#0,#fib$c_length,fib ; clear fib movw #fib$c_rewindvol,fib+fib$w_cntrlfunc $qiow_g rew_v blbc r0,21$ movzwl iosb,r0 21$: pushl r0 $dassgn_s chan=rew_v+qiow$_chan blbs r0,30$ blbs (sp),99$ ; ; both qio and deassign failed bicb3 #^c7,r0,r1 bicb3 #^c7,(sp),r2 cmpb r1,r2 blssu 99$ ; return qio status if it has ; the same or higher severity 30$: movl (sp)+,r0 99$: ret .end