[Nroffing...]


pip(1)                      24/01/78                       pip(1)



NAME
     pip -- dos format magtape program


SYNOPSIS
     pip <command> <unit> <options> [files]

             command:        get:    copy tape to unix
                             in:     ditto
                             put:    copy unix to tape
                             out:    ditto
                             cat:    catalog mag tape
                             dir:    ditto
                             ls:     ditto

             unit:           the single digit mag-tape unit number

             options:

             -v:             verbose -- print file names as they are
                             processed

             -l:             map upper case characters to lower during transfer.

             -u:             map lower case chars to upper during transfer.

             -a:             process all the files on the tape EXCEPT THE ONES
                             LISTED ON THE COMMAND LINE. (Only meaningful on input)

             -t:             trim out the trailing null characters IN EACH
                             BUFFER READ FROM THE TAPE(!)



DESCRIPTION
     pip allows dos format mag-tapes to be read, written and  ca-
     taloged.   It  is quite simple to use, although it's command
     syntax is completely different from DOS/PIP.   The  examples
     should make everything clear.

     Files are output in the exact order specified on the command
     line.   Upon  input,  each  file  on the tape is checked for
     equality with each of the ones listed on the  command  line.
     Thus the order of input files is unimportant.



EXAMPLES
     To catalog a DOS format tape (on drive 1):

             % pip cat 1

     To write a bunch of files onto a mag-tape (drive 2, for  ex-
     ample):



                              - 1 -




pip(1)                      24/01/78                       pip(1)


             % pip out 2 file1.c file2.c ...

     To read selected files from a DOS tape:

             % pip in 2 file1.ftn file2.ftn ...


     To copy all the files from the tape EXCEPT ln.c and dd.c:

             % pip in 2 ln.c dd.c




DIAGNOSTICS
     The usual concerning unopenable files, etc.

     "Bad header on file %d":        probably not a DOS tape.

     "mag-tape read error":          what you'd expect.


BUGS
     Not really bugs, but the user should be aware of  a  few  of
     the peculearities of DOS formatted tapes:

     DOS always writes out 512 byte block  tape  records.   Since
     your  typical  file  is usually not an exact multiple of 512
     bytes, DOS padds the last record with zeros.  PIP does this,
     too,  so, in general, writing out a unix file and then read-
     ing it back  in  does  not  yield  exactly  the  same  data.
     (Although the difference should only be a few extra zeros at
     the end of the file.) The '-t' option will fix this in  most
     cases,  but  it is a kludgy fix, as it won't properly handle
     data containing embedded nulls.


     Second, DOS is more restrictive on the syntax of file names.
     UNIX allows 14-character names, consisting of just about any
     ASCII character, while DOS allows only (up to) 6  characters
     of  file  name,  and (up to) 3 characters of file extension,
     with a '.' between them.  The name is furthermore restricted
     to the "radix-50" character set of "[A-Z0-9$. ]".  Note that
     DOS cannot distinguish between names which  differ  only  in
     upper/lower case characters.  Thus UNIX file names  which do
     not conform to these restrictions are trunicated,  etc.,  to
     fit.   (Extra characters, and characters not in the radix-50
     set are ignored.) On input, this presents a special problem.
     If  you  ask  for  "longfilename",  PIP will look for a file
     named "longfi.len".  In the unlikely  event  that  he  finds
     such  a  file name, he would still use "longfilename" as the
     name of the output, UNIX file.



     The user should also be aware that DOS produces and normally


                              - 2 -




pip(1)                      24/01/78                       pip(1)


     expects  UPPER CASE characters only, while UNIX produces and
     normally expects lower case.  The '-l' and '-u' options  al-
     low the desired case to be produced in each case.  (Use '-l'
     with 'get' and '-u' with 'put'.)






















































                              - 3 -


