home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / cpm68k / arc68k.arc / ARCS.H < prev    next >
Text File  |  1987-11-27  |  2KB  |  56 lines

  1.  
  2. /*
  3.  *      arcs.h  1.1
  4.  *
  5.  *      Author: Thom Henderson
  6.  *      Original System V port: Mike Stump
  7.  *      Enhancements, Bug fixes, and cleanup: Chris Seaman
  8.  *      Date: Fri Mar 20 09:57:02 1987
  9.  *      Last Mod.       3/21/87
  10.  *
  11.  */
  12.  
  13. /*
  14.  * ARC - Archive utility - Archive file header format
  15.  * 
  16.  * Version 2.12, created on 12/17/85 at 14:40:26
  17.  * 
  18.  * (C) COPYRIGHT 1985 by System Enhancement Associates; ALL RIGHTS RESERVED
  19.  * 
  20.  *     Description:
  21.  *          This file defines the format of an archive file header, excluding
  22.  *          the archive marker and the header version number.
  23.  * 
  24.  *          Each entry in an archive begins with a one byte archive marker,
  25.  *          which is set to 26.  The marker is followed by a one byte
  26.  *          header type code, from zero to 7.
  27.  * 
  28.  *          If the header type code is zero, then it is an end marker, and
  29.  *          no more data should be read from the archive.
  30.  * 
  31.  *          If the header type code is in the range 2 to 7, then it is
  32.  *          followed by a standard archive header, which is defined below.
  33.  * 
  34.  *          If the header type code is one, then it is followed by an older
  35.  *          format archive header.  The older format header does not contain
  36.  *          the true length.  A header should be read for a length of
  37.  *          sizeof(struct heads)-sizeof(long).  Then set length equal to size
  38.  *          and change the header version to 2.
  39.  * 
  40.  *     Programming note:
  41.  *          The crc value given in the header is based on the unpacked data.
  42.  */
  43.  
  44. struct heads {                         /* archive entry header format */
  45. #ifdef CPM68K
  46.     char name[FNLEN2+1];               /* file name */
  47. #else
  48.     char name[FNLEN1];                 /* file name */
  49. #endif
  50.     long size;                         /* size of file, in bytes */
  51.     unsigned INT date;                 /* creation date */
  52.     unsigned INT time;                 /* creation time */
  53.     INT crc;                           /* cyclic redundancy check */
  54.     long length;                       /* true file length */
  55. };
  56.