wine/dlls/mspatcha/lzxd_dec.h
Conor McCarthy 8695a6986e mspatcha: Partially implement ApplyPatchToFileW and related functions.
This can patch non-executables and 64-bit executable files, but
patching of 32-bit executables is not supported. They are subject to
special processing which alters PE relocations to match with those in
the old file to improve compression. To reverse this, the meaning of
the decoding data must be interpreted. Details, including where to
find that data in the patch file, are included in pa19.c. Interleaved
decompression of large files is also not supported.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=12501
Signed-off-by: Conor McCarthy <conor.mccarthy.444@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 08:18:51 -05:00

28 lines
1.1 KiB
C

/*
* Copyright 2019 Conor McCarthy
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define MAX_NORMAL_WINDOW (8U << 20)
#define MAX_LARGE_WINDOW (32U << 20)
DWORD decode_lzxd_stream(const BYTE *src, const size_t input_size,
BYTE *dst, const size_t output_size,
const size_t predef_size,
DWORD large_window,
PPATCH_PROGRESS_CALLBACK progress_fn,
PVOID progress_ctx);