From e5888a1ffdae813d7575f5fb02275c6bb07e5199 Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 30 Mar 2011 15:46:40 +0300 Subject: Import sources from 2011-03-30 iso image --- sys/src/cmd/tapefs/zip.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 sys/src/cmd/tapefs/zip.h (limited to 'sys/src/cmd/tapefs/zip.h') diff --git a/sys/src/cmd/tapefs/zip.h b/sys/src/cmd/tapefs/zip.h new file mode 100755 index 000000000..9b703de28 --- /dev/null +++ b/sys/src/cmd/tapefs/zip.h @@ -0,0 +1,83 @@ +typedef struct ZipHead ZipHead; + +enum +{ + /* + * magic numbers + */ + ZHeader = 0x04034b50, + ZCHeader = 0x02014b50, + ZECHeader = 0x06054b50, + + /* + * "general purpose flag" bits + */ + ZEncrypted = 1 << 0, + ZTrailInfo = 1 << 3, /* uncsize, csize, and crc are in trailer */ + ZCompPatch = 1 << 5, /* compression patched data */ + + ZCrcPoly = 0xedb88320, + + /* + * compression method + */ + ZDeflate = 8, + + /* + * internal file attributes + */ + ZIsText = 1 << 0, + + /* + * file attribute interpretation, from high byte of version + */ + ZDos = 0, + ZAmiga = 1, + ZVMS = 2, + ZUnix = 3, + ZVMCMS = 4, + ZAtariST = 5, + ZOS2HPFS = 6, + ZMac = 7, + ZZsys = 8, + ZCPM = 9, + ZNtfs = 10, + + /* + * external attribute flags for ZDos + */ + ZDROnly = 0x01, + ZDHidden = 0x02, + ZDSystem = 0x04, + ZDVLable = 0x08, + ZDDir = 0x10, + ZDArch = 0x20, + + ZHeadSize = 4 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 2 + 2, + ZHeadCrc = 4 + 2 + 2 + 2 + 2 + 2, + ZTrailSize = 4 + 4 + 4, + ZCHeadSize = 4 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 4 + 4, + ZECHeadSize = 4 + 2 + 2 + 2 + 2 + 4 + 4 + 2, +}; + +/* + * interesting info from a zip header + */ +struct ZipHead +{ + int madeos; /* version made by */ + int madevers; + int extos; /* version needed to extract */ + int extvers; + int flags; /* general purpose bit flag */ + int meth; + int modtime; + int moddate; + ulong crc; + ulong csize; + ulong uncsize; + int iattr; + ulong eattr; + ulong off; + char *file; +}; -- cgit v1.2.3