home *** CD-ROM | disk | FTP | other *** search
- /* zoo.h */
-
- /*
- The contents of this file are hereby released to the public domain.
- -- Rahul Dhesi 1987/02/08
- */
-
- #define SIZ_TEXT 20
- #define FNAMESIZE 13
- #define MAX_PACK 1
- #define LO_TAG (0xa7dc)
- #define HI_TAG (0xfdc4)
-
- struct zoo_header {
- char text[SIZ_TEXT];
- unsigned lo_tag;
- unsigned hi_tag;
- long zoo_start;
- long zoo_minus;
- char major_ver;
- char minor_ver;
- };
-
- struct direntry {
- unsigned lo_tag;
- unsigned hi_tag;
- char type;
- char packing_method; /* 0 = no packing, 1 = normal LZW */
- long next; /* pos'n of next directory entry */
- long offset; /* position of this file */
- unsigned int date; /* DOS format date */
- unsigned int time; /* DOS format time */
- unsigned int file_crc; /* CRC of this file */
- long org_size;
- long size_now;
- char major_ver;
- char minor_ver; /* minimum version needed to extract */
- char deleted; /* will be 1 if deleted, 0 if not */
- long comment; /* points to comment; zero if none */
- unsigned int cmt_size; /* length of comment, 0 if none */
- char fname[FNAMESIZE]; /* filename */
- };
-
- /* offsets of items within the canonical zoo archive header */
- #define SIZ_ZOOH 34
- #define TEXT_I 0
- #define ZTAG_I 20
- #define ZST_I 24
- #define ZSTM_I 28
- #define MAJV_I 32
- #define MINV_I 33
-
- /* offsets of items within the canonical directory entry structure */
- #define SIZ_DIR 51
- #define DTAG_I 0
- #define DTYP_I 4
- #define PKM_I 5
- #define NXT_I 6
- #define OFS_I 10
- #define DAT_I 14
- #define TIM_I 16
- #define CRC_I 18
- #define ORGS_I 20
- #define SIZNOW_I 24
- #define DMAJ_I 28
- #define DMIN_I 29
- #define DEL_I 30
- #define SPARE_I 31
- #define CMT_I 32
- #define CMTSIZ_I 36
- #define FNAME_I 38
-
- #define FNM_SIZ 13
-