home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / macutils.lzh / MACUTILS / UNSIT / stuffit.h < prev    next >
Text File  |  1995-09-17  |  2KB  |  65 lines

  1. /* StuffIt.h: contains declarations for SIT headers */
  2.  
  3. typedef struct sitHdr {            /* 22 bytes */
  4.     OSType    signature;         /* = 'SIT!' -- for verification */
  5.     unsigned short    numFiles;    /* number of files in archive */
  6.     unsigned long    arcLength;    /* length of entire archive incl.
  7.                         hdr. -- for verification */
  8.     OSType    signature2;        /* = 'rLau' -- for verification */
  9.     unsigned char    version;    /* version number */
  10.     char reserved[7];
  11. };
  12.  
  13. typedef struct fileHdr {        /* 112 bytes */
  14.     unsigned char    compRMethod;    /* rsrc fork compression method */
  15.     unsigned char    compDMethod;    /* data fork compression method */
  16.     unsigned char    fName[64];    /* a STR63 */
  17.     OSType    fType;            /* file type */
  18.     OSType    fCreator;        /* er... */
  19.     short FndrFlags;        /* copy of Finder flags.  For our
  20.                         purposes, we can clear:
  21.                         busy,onDesk */
  22.     unsigned long    creationDate;
  23.     unsigned long    modDate;    /* !restored-compat w/backup prgms */
  24.     unsigned long    rsrcLength;    /* decompressed lengths */
  25.     unsigned long    dataLength;
  26.     unsigned long    compRLength;    /* compressed lengths */
  27.     unsigned long    compDLength;
  28.     unsigned short rsrcCRC;        /* crc of rsrc fork */
  29.     unsigned short dataCRC;        /* crc of data fork */
  30.     char reserved[6];
  31.     unsigned short hdrCRC;        /* crc of file header */
  32. };
  33.  
  34.  
  35. /* file format is:
  36.     sitArchiveHdr
  37.         file1Hdr
  38.             file1RsrcFork
  39.             file1DataFork
  40.         file2Hdr
  41.             file2RsrcFork
  42.             file2DataFork
  43.         .
  44.         .
  45.         .
  46.         fileNHdr
  47.             fileNRsrcFork
  48.             fileNDataFork
  49. */
  50.  
  51.  
  52.  
  53. /* compression methods */
  54. #define noComp     0    /* just read each byte and write it to archive */
  55. #define rleComp 1    /* RLE compression */
  56. #define lzwComp 2    /* LZW compression */
  57. #define hufComp 3    /* Huffman compression */
  58.  
  59. #define encrypted 16    /* bit set if encrypted.  ex: encrypted+lpzComp */
  60.  
  61. #define startFolder 32    /* marks start of a new folder */
  62. #define endFolder 33    /* marks end of the last folder "started" */
  63.  
  64. /* all other numbers are reserved */
  65.