// Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. /* Package zip provides support for reading and writing ZIP archives. See: http://www.pkware.com/documents/casestudies/APPNOTE.TXT This package does not support ZIP64 or disk spanning. */ package zip import "os" // Compression methods. const ( Store uint16 = 0 Deflate uint16 = 8 ) const ( fileHeaderSignature = 0x04034b50 directoryHeaderSignature = 0x02014b50 directoryEndSignature = 0x06054b50 dataDescriptorLen = 12 ) type FileHeader struct { Name string CreatorVersion uint16 ReaderVersion uint16 Flags uint16 Method uint16 ModifiedTime uint16 ModifiedDate uint16 CRC32 uint32 CompressedSize uint32 UncompressedSize uint32 Extra []byte Comment string } type directoryEnd struct { diskNbr uint16 // unused dirDiskNbr uint16 // unused dirRecordsThisDisk uint16 // unused directoryRecords uint16 directorySize uint32 directoryOffset uint32 // relative to file commentLen uint16 comment string } func recoverError(err *os.Error) { if e := recover(); e != nil { if osErr, ok := e.(os.Error); ok { *err = osErr return } panic(e) } }