home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 487.lha / coppy / ReadMe < prev    next >
Text File  |  1991-03-12  |  4KB  |  94 lines

  1.  * copy.c - Ben Williams, Barry Chalmers
  2.  *
  3.  *          February 9th... and onward, 1991
  4.  *
  5.  *          Written so we could see what was going on during ram copies
  6.  *          over the "DNET" network. We found it rather unerving to be
  7.  *          sitting around waiting for ten minutes while, at 9600 baud,
  8.  *          dnet mumbled to the other system about how long this file
  9.  *          was, and how the perpetrators really should have used
  10.  *          a 'real' net or at least "sneakernet". :^) This is not a
  11.  *          complete implementation of the AmigaDOS "copy" command, but
  12.  *          it does have most of the major functionality - more than
  13.  *          enough for network use.
  14.  *
  15.  *          Not as fast as the system copy due to bar handling and such;
  16.  *          AmigaDOS is a better choice is speed is the primary issue.
  17.  *
  18.  *          No attempt was made to make the command efficient in terms
  19.  *          of command size (or anything else, for that matter). We
  20.  *          just needed the bar capability, and this provides it. If this
  21.  *          command is of use to you, great. If not, throw it out and
  22.  *          forget about it.
  23.  *
  24.  *          The following "normal" AmigaDOS copy parameters/ops are not
  25.  *          supported in this version of 'coppy':
  26.  *
  27.  *              the keyword 'FROM'
  28.  *              the keyword 'TO'
  29.  *              the keyword 'ALL'
  30.  *              the keyword 'QUIET'
  31.  *              the keyword 'CLONE'
  32.  *              the keyword 'BUF'
  33.  *              the keyword 'DATE'
  34.  *              the keyword 'NOPRO'
  35.  *              the keyword 'COM'
  36.  *
  37.  *          As a result, the output files will:
  38.  *              - have the current date/time
  39.  *              - not have the original file comment, if any
  40.  *              - have the original files protection bits
  41.  *
  42.  *          And, you cannot copy multiple levels of a directory tree,
  43.  *          or a directory (in other words, the coppy command won't
  44.  *          create directories).
  45.  *
  46.  *          The lack of the 'FROM' and 'TO' arguments has no effect on
  47.  *          the ability of the command to do the work for which it was
  48.  *          intended.
  49.  *
  50.  *          The bar graph that shows the remaining amount of file to copy
  51.  *          will not appear if the file is less than about 1k. Copies of
  52.  *          that size are so fast that it's kind of pointless to put up the
  53.  *          bar (yes, even over DNET!). In multiple file copies, short
  54.  *          files will be accounted for in the second bar graph, which
  55.  *          indicates number of files to go in the copy.
  56.  *
  57.  *          Filenames may contain the following wildcards:
  58.  *              
  59.  *                wildcard       meaning
  60.  *             -------------   ---------------------------------------------
  61.  *                   *         "any number of any characters"
  62.  *                   ?         "one of any character"
  63.  *                   #         "any number of the FOLLOWING character"
  64.  *
  65.  *             NOTE: Underneath it all, this copy command uses the Lattice
  66.  *                   (now SAS) C library stcpma() function. This function
  67.  *                   is a little bit stupid... it won't allow the use of
  68.  *                   more than one '*' wildcard in a pattern; and we are
  69.  *                   processing '#?' sequences into '*' characters for the
  70.  *                   stpcpma() function, so you can't use multiple sequences
  71.  *                   of '#?', either. Luckily, this would be an exceptional
  72.  *                   use of a copy operation. At least, for us. :^)
  73.  *
  74.  * The following table indicates the possible combinations of legal source
  75.  * and destination specifiers available here. The term 'wildname' is a
  76.  * filename that may contain wildcards. The term 'filename' must not contain
  77.  * wildcards.
  78.  *
  79.  *       source          dest
  80.  *   --------------  -------------
  81.  *   [path]wildname  [path]filename
  82.  *   [path]wildname  [path]dirname
  83.  *   [path]wildname  devname
  84.  *   [path]wildname  ""             (this is shorthand for "here", or 'cd')
  85.  *   [path]dirname   [path]dirname
  86.  *   [path]dirname   devname
  87.  *   devname         [path]dirname
  88.  *   devname         devname
  89.  *   devname         [path]filename (only legal when 1 file in devname)
  90.  *   [path]dirname   [path]filename (only legal when 1 file in [path]dirname)
  91.  *   
  92.  *    coppy will return (0) if successful, (1) if user aborted op and target
  93.  *    file was deleted, or (>1) if there was an internal problem.
  94.