2 * Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
5 * This source code is licensed under both the BSD-style license (found in the
6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7 * in the COPYING file in the root directory of this source tree).
8 * You may select, at your option, one of the above-listed licenses.
13 /* *************************************
15 ***************************************/
16 #define ZBUFF_STATIC_LINKING_ONLY
20 ZBUFF_DCtx* ZBUFF_createDCtx(void)
22 return ZSTD_createDStream();
25 ZBUFF_DCtx* ZBUFF_createDCtx_advanced(ZSTD_customMem customMem)
27 return ZSTD_createDStream_advanced(customMem);
30 size_t ZBUFF_freeDCtx(ZBUFF_DCtx* zbd)
32 return ZSTD_freeDStream(zbd);
36 /* *** Initialization *** */
38 size_t ZBUFF_decompressInitDictionary(ZBUFF_DCtx* zbd, const void* dict, size_t dictSize)
40 return ZSTD_initDStream_usingDict(zbd, dict, dictSize);
43 size_t ZBUFF_decompressInit(ZBUFF_DCtx* zbd)
45 return ZSTD_initDStream(zbd);
49 /* *** Decompression *** */
51 size_t ZBUFF_decompressContinue(ZBUFF_DCtx* zbd,
52 void* dst, size_t* dstCapacityPtr,
53 const void* src, size_t* srcSizePtr)
55 ZSTD_outBuffer outBuff;
60 outBuff.size = *dstCapacityPtr;
63 inBuff.size = *srcSizePtr;
64 result = ZSTD_decompressStream(zbd, &outBuff, &inBuff);
65 *dstCapacityPtr = outBuff.pos;
66 *srcSizePtr = inBuff.pos;
71 /* *************************************
73 ***************************************/
74 size_t ZBUFF_recommendedDInSize(void) { return ZSTD_DStreamInSize(); }
75 size_t ZBUFF_recommendedDOutSize(void) { return ZSTD_DStreamOutSize(); }