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   
                                                                         
