]>
git.proxmox.com Git - ceph.git/blob - ceph/src/zstd/lib/deprecated/zbuff_decompress.c
2 * Copyright (c) 2016-present, Yann Collet, Facebook, Inc.
5 * This source code is licensed under the BSD-style license found in the
6 * LICENSE file in the root directory of this source tree. An additional grant
7 * of patent rights can be found in the PATENTS file in the same directory.
12 /* *************************************
14 ***************************************/
15 #define ZBUFF_STATIC_LINKING_ONLY
19 ZBUFF_DCtx
* ZBUFF_createDCtx(void)
21 return ZSTD_createDStream();
24 ZBUFF_DCtx
* ZBUFF_createDCtx_advanced(ZSTD_customMem customMem
)
26 return ZSTD_createDStream_advanced(customMem
);
29 size_t ZBUFF_freeDCtx(ZBUFF_DCtx
* zbd
)
31 return ZSTD_freeDStream(zbd
);
35 /* *** Initialization *** */
37 size_t ZBUFF_decompressInitDictionary(ZBUFF_DCtx
* zbd
, const void* dict
, size_t dictSize
)
39 return ZSTD_initDStream_usingDict(zbd
, dict
, dictSize
);
42 size_t ZBUFF_decompressInit(ZBUFF_DCtx
* zbd
)
44 return ZSTD_initDStream(zbd
);
48 /* *** Decompression *** */
50 size_t ZBUFF_decompressContinue(ZBUFF_DCtx
* zbd
,
51 void* dst
, size_t* dstCapacityPtr
,
52 const void* src
, size_t* srcSizePtr
)
54 ZSTD_outBuffer outBuff
;
59 outBuff
.size
= *dstCapacityPtr
;
62 inBuff
.size
= *srcSizePtr
;
63 result
= ZSTD_decompressStream(zbd
, &outBuff
, &inBuff
);
64 *dstCapacityPtr
= outBuff
.pos
;
65 *srcSizePtr
= inBuff
.pos
;
70 /* *************************************
72 ***************************************/
73 size_t ZBUFF_recommendedDInSize(void) { return ZSTD_DStreamInSize(); }
74 size_t ZBUFF_recommendedDOutSize(void) { return ZSTD_DStreamOutSize(); }