modules/lib7z/7zLib.h
author Mihai Sucan <msucan@mozilla.com>
Sat, 20 Nov 2010 15:53:14 -0400
changeset 57953 0fa9ae503e4b532b4f8f32e3bcf065440ddc65f8
parent 42483 64e1cfd8ba01945a5f2dd2fc6d98dd2c5455068e
permissions -rw-r--r--
Bug 597756 - Fx 4 Web Console fails to show javascript errors if a tab is closed and the same document is then re-opened in a new tab; f=rcampbell r=gavin.sharp a=blocking2.0

/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
/*****************************************************************************
 *
 * This 7z Library is based the 7z Client and 7z Standalone Extracting Plugin
 * code from the LZMA SDK.
 * It is in the public domain (see http://www.7-zip.org/sdk.html).
 *
 * Any copyright in these files held by contributors to the Mozilla Project is
 * also dedicated to the Public Domain.
 * http://creativecommons.org/licenses/publicdomain/
 *
 * Contributor(s):
 *   Alex Pakhotin <alexp@mozilla.com>
 *
 *****************************************************************************/

#ifndef __7ZLIB_H
#define __7ZLIB_H

#define SZ_OK 0
#define SZ_ERROR_DATA 1
#define SZ_ERROR_PARAM 5
#define SZ_ERROR_FAIL 11
#define SZ_ERROR_NO_ARCHIVE 17

const WCHAR* GetExtractorError();

typedef void SzExtractProgressCallback(int nPercentComplete);

/**
 * Extract 7z-archive
 */
int SzExtract(const WCHAR *archiveName,
              const WCHAR *fileToExtract, const WCHAR *outputDir,
              SzExtractProgressCallback *progressCallback);

int SzExtractSfx(const WCHAR *archiveName, DWORD sfxStubSize,
                 const WCHAR *fileToExtract, const WCHAR *outputDir,
                 SzExtractProgressCallback *progressCallback);

int SzGetSfxArchiveInfo(const WCHAR *archiveName, const DWORD sfxStubSize,
                        ULONGLONG *pUncompressedSize, DWORD *pNumberOfFiles = NULL, DWORD *pNumberOfDirs = NULL);

#endif // __7ZLIB_H