1 tc Run the program VMS TaPe Copy to copy data between a magnetic tape and a "container file" on disk. VMSTPC uses multiple ast driven QIO's to get the tape drive streaming during copy operations. A sample copy of an ANSI D tape blocked at 8192 with serveral hundred files (a Columbia U Kermit tape) took 21 CPU seconds with the TU80 streaming about 95% of the time (done on an 11/785). 22-MAY-1986 09:15 Brian Nelson ( BRIAN@UOFT02.BITNET ) Format: TC from to 2 Parameters from to tape devices or disk files. Required. 2 Qualifier /ANSI The /ANSI qualifier is used to allow VMSTPC to avoid stopping when it finds a NULL length file on an ANSI tape. A null file is simply TWO eof marks following the last HDR label. Since VMSTPC normally thinks that two EOF marks in a row signify the end of the tape, this qualifier enables special checking for corresponding HDR2/EOF2 marks before deciding about EOT. /APPEND The /APPEND qualifier is a bit unusual; if you do NOT specify any other qualifiers it will simply use the MTAACP IO$_SKIPFILE call to find the end of the tape. Additionally, if the tape happends to be ANSI, the files appended may not show up later because the SEQUENCE fields of all the files will be incorrect. This is not a problem for VMSBACKUP, which bypassed RMS, but COPY and DIRECTORY will fail. Thus, for ANSI tapes, either the /ANSI or /BACKUP qualifier should be used with /APPEND. This will cause VMSTPC to look for HDR1 and EOF1 records and modify the four character SEQUENCE field. As you can imagine, this is a bit risky. /BACKUP Also note that the /BACKUP qualifier also uses the IO$_SKIPFILE call, whereas the /ANSI qualifier reads records until it gets a correct END of TAPE; ie it keeps track of HDR2 and EOF2 counts so it can detect a NULL length ANSI file, which is a file composed of HDRn records, followed by two tape marks and the EOFn records followed by a tape mark. /REWIND The /[NO]REWIND qualifier is dangerous when used with /APPEND on ANSI tapes, as the file sequence fields (described above) will be incorrect. /RT11 RT-11 format tape. Also, /RT11 implies /BUF=30/BLOCK=512 if those qualifiers were not present. /DOS11 DOS-11 format tape. /VERIFY The /VERIFY qualifier will force VMSTPC to rewind the tape and verify that was was read from (or written to) the tape is identical to the copy in the disk container file. The /VERIFY option is SLOW; no attempt is made during the verification pass to optimize throughput. /DENSITY value(REQUIRED,TYPE=$NUMBER) /ALLOCATION value(REQUIRED,TYPE=$NUMBER) /EXTENDSIZE value(REQUIRED,TYPE=$NUMBER) /BLOCKSIZE value(REQUIRED,TYPE=$NUMBER) /BUFFERS value(REQUIRED,TYPE=$NUMBER) /DIRECTORY Produce a directory of the files on one tape drive. /JUNK replaces output argument 2 Usage Usage: $ @nyu$lib:getdrive TAPE$density Tnumber RING-OUT $ mount mag$tape:/for/block=65536 ! The drive must be mounted $ tc mag$tape: tape.con ! Copy the tape to TAPE.CON $ @nyu$lib:freedrive Tnumber $ @nyu$lib:getdrive TAPE$density Tonumber RING-OUT $ mount mag$tape:/for/block=65536 ! The drive must be mounted $ tc tape.con mag$tape: ! Copy TAPE.CON to a new tape $ tc/ansi mag$tape: ansi.con ! Allow NULL length ANSI files. $ tc/ver mag$tape: tape.con ! Copy from tape and verify it. $ tc/dir container.file ! Get directory of tape image $ tc/buf=30/blo=512 mag$tape: t.t ! Optimize for a DOS format tape $ tc/dos mag$tape: t.t ! Optimize for a DOS format tape $ @nyu$lib:freedrive Tonumber ! release tape drive