1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* zip.h -- IO on .zip files using zlib
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Version 1.1, February 14h, 2010
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Modifications for Zip64 support
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync For more info read MiniZip_info.txt
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ---------------------------------------------------------------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Condition of use and distribution are the same than zlib :
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync This software is provided 'as-is', without any express or implied
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync warranty. In no event will the authors be held liable for any damages
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync arising from the use of this software.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Permission is granted to anyone to use this software for any purpose,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync including commercial applications, and to alter it and redistribute it
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync freely, subject to the following restrictions:
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync 1. The origin of this software must not be misrepresented; you must not
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync claim that you wrote the original software. If you use this software
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync in a product, an acknowledgment in the product documentation would be
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync appreciated but is not required.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync 2. Altered source versions must be plainly marked as such, and must not be
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync misrepresented as being the original software.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync 3. This notice may not be removed or altered from any source distribution.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ---------------------------------------------------------------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Changes
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync See header of zip.h
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifndef _zip12_H
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define _zip12_H
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifdef __cplusplus
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern "C" {
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync//#define HAVE_BZIP2
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifndef _ZLIB_H
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include "zlib.h"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifndef _ZLIBIOAPI_H
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include "ioapi.h"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifdef HAVE_BZIP2
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include "bzlib.h"
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define Z_BZIP2ED 12
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#if defined(STRICTZIP) || defined(STRICTZIPUNZIP)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* like the STRICT of WIN32, we define a pointer that cannot be converted
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync from (void*) without cast */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef struct TagzipFile__ { int unused; } zipFile__;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef zipFile__ *zipFile;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#else
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef voidp zipFile;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define ZIP_OK (0)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define ZIP_EOF (0)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define ZIP_ERRNO (Z_ERRNO)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define ZIP_PARAMERROR (-102)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define ZIP_BADZIPFILE (-103)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define ZIP_INTERNALERROR (-104)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifndef DEF_MEM_LEVEL
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# if MAX_MEM_LEVEL >= 8
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# define DEF_MEM_LEVEL 8
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# else
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# define DEF_MEM_LEVEL MAX_MEM_LEVEL
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync# endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* default memLevel */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* tm_zip contain date/time info */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef struct tm_zip_s
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync{
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt tm_sec; /* seconds after the minute - [0,59] */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt tm_min; /* minutes after the hour - [0,59] */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt tm_hour; /* hours since midnight - [0,23] */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt tm_mday; /* day of the month - [1,31] */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt tm_mon; /* months since January - [0,11] */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt tm_year; /* years - [1980..2044] */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync} tm_zip;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef struct
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync{
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync tm_zip tmz_date; /* date in understandable format */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong dosDate; /* if dos_date == 0, tmu_date is used */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* uLong flag; */ /* general purpose bit flag 2 bytes */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong internal_fa; /* internal file attributes 2 bytes */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong external_fa; /* external file attributes 4 bytes */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync} zip_fileinfo;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef const char* zipcharpc;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define APPEND_STATUS_CREATE (0)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define APPEND_STATUS_CREATEAFTER (1)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#define APPEND_STATUS_ADDINZIP (2)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Create a zipfile.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync an Unix computer "zlib/zlib113.zip".
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync will be created at the end of the file.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (useful if the file contain a self extractor code)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync add files in existing zip (be sure you don't add file that doesn't exist)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync If the zipfile cannot be opened, the return value is NULL.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Else, the return value is a zipFile Handle, usable with other function
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync of this zip package.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* Note : there is no delete function into a zipfile.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync If you want delete file into a zipfile, you must open a zipfile, and create another
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Of couse, you can use RAW reading and writing to copy the file you did not want delte
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern zipFile ZEXPORT zipOpen2 OF((const char *pathname,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int append,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zipcharpc* globalcomment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zlib_filefunc_def* pzlib_filefunc_def));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int append,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zipcharpc* globalcomment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zlib_filefunc64_def* pzlib_filefunc_def));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int zip64));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Open a file in the ZIP for writing.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync filename : the filename in zip (if NULL, '-' without quote will be used
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync *zipfi contain supplemental information
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync contains the extrafield data the the local header
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync contains the extrafield data the the local header
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if comment != NULL, comment contain the comment string
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync method contain the compression method (0 for store, Z_DEFLATED for deflate)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zip64 is set to 1 if a zip64 extended information block should be added to the local file header.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync this MUST be '1' if the uncompressed size is >= 0xffffffff.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int raw));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int raw,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int zip64));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Same than zipOpenNewFileInZip, except if raw=1, we write raw file
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int raw,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int windowBits,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int memLevel,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int strategy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* password,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong crcForCrypting));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int raw,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int windowBits,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int memLevel,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int strategy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* password,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong crcForCrypting,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int zip64
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Same than zipOpenNewFileInZip2, except
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync windowBits,memLevel,,strategy : see parameter strategy in deflateInit2
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync password : crypting password (NULL for no crypting)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync crcForCrypting : crc of file to compress (needed for crypting)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int raw,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int windowBits,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int memLevel,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int strategy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* password,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong crcForCrypting,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong versionMadeBy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong flagBase
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* filename,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const zip_fileinfo* zipfi,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_local,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uInt size_extrafield_global,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* comment,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int raw,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int windowBits,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int memLevel,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int strategy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* password,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong crcForCrypting,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong versionMadeBy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong flagBase,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int zip64
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Same than zipOpenNewFileInZip4, except
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync versionMadeBy : value for Version made by field
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync flag : value for flag field (compression level info will be added)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const void* buf,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync unsigned len));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Write data in the zipfile
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipCloseFileInZip OF((zipFile file));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Close the current file in the zipfile
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong uncompressed_size,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong crc32));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ZPOS64_T uncompressed_size,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uLong crc32));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Close the current file in the zipfile, for file opened with
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync parameter raw=1 in zipOpenNewFileInZip2
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync uncompressed_size and crc32 are value for the uncompressed size
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipClose OF((zipFile file,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync const char* global_comment));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Close the zipfile
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncextern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zipRemoveExtraInfoBlock - Added by Mathias Svensson
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Remove extra information block from a extra information data for the local file header or central directory header
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync 0x0001 is the signature header for the ZIP64 extra information blocks
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync usage.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Remove ZIP64 Extra information from a central director extra field data
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zipRemoveExtraInfoBlock(pCenDirExtraFieldData, &nCenDirExtraFieldDataLen, 0x0001);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Remove ZIP64 Extra information from a Local File Header extra field data
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#ifdef __cplusplus
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync}
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#endif /* _zip64_H */