2016-08-31 01:04:33 +08:00
|
|
|
/**
|
|
|
|
* Copyright (c) 2016-present, Przemyslaw Skibinski, Facebook, Inc.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* This source code is licensed under the BSD-style license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
*/
|
2016-05-12 23:15:41 +08:00
|
|
|
|
|
|
|
#ifndef ZSTD_ZLIBWRAPPER_H
|
|
|
|
#define ZSTD_ZLIBWRAPPER_H
|
|
|
|
|
|
|
|
#if defined (__cplusplus)
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#define Z_PREFIX
|
|
|
|
#include <zlib.h>
|
|
|
|
|
2016-05-27 18:33:19 +08:00
|
|
|
#if !defined(z_const)
|
2016-06-02 16:19:35 +08:00
|
|
|
#if ZLIB_VERNUM >= 0x1260
|
2016-08-31 01:04:33 +08:00
|
|
|
#define z_const const
|
2016-06-02 16:19:35 +08:00
|
|
|
#else
|
|
|
|
#define z_const
|
|
|
|
#endif
|
2016-05-27 18:33:19 +08:00
|
|
|
#endif
|
2016-05-12 23:15:41 +08:00
|
|
|
|
2016-09-22 17:52:00 +08:00
|
|
|
/* returns a string with version of zstd library */
|
|
|
|
const char * zstdVersion(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* COMPRESSION */
|
2016-09-21 22:46:35 +08:00
|
|
|
/* enables/disables zstd compression during runtime */
|
2016-09-22 17:52:00 +08:00
|
|
|
void useZSTDcompression(int turn_on);
|
2016-09-21 22:46:35 +08:00
|
|
|
|
|
|
|
/* check if zstd compression is turned on */
|
2016-09-22 17:52:00 +08:00
|
|
|
int isUsingZSTDcompression(void);
|
2016-05-12 23:15:41 +08:00
|
|
|
|
2016-09-21 23:17:29 +08:00
|
|
|
/* Changes a pledged source size for a given compression stream.
|
2016-09-22 16:23:26 +08:00
|
|
|
It will change ZSTD compression parameters what may improve compression speed and/or ratio.
|
|
|
|
The function should be called just after deflateInit(). */
|
2016-09-21 22:46:35 +08:00
|
|
|
int ZSTD_setPledgedSrcSize(z_streamp strm, unsigned long long pledgedSrcSize);
|
|
|
|
|
2016-05-12 23:15:41 +08:00
|
|
|
|
2016-09-22 17:52:00 +08:00
|
|
|
/* DECOMPRESSION */
|
|
|
|
typedef enum { ZWRAP_FORCE_ZLIB, ZWRAP_FORCE_ZSTD, ZWRAP_AUTO } ZWRAP_decompress_type;
|
|
|
|
|
|
|
|
/* enables/disables automatic recognition of zstd/zlib compressed data during runtime */
|
|
|
|
void setZWRAPdecompressionType(ZWRAP_decompress_type type);
|
|
|
|
|
|
|
|
/* check zstd decompression type */
|
|
|
|
ZWRAP_decompress_type getZWRAPdecompressionType(void);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-05-12 23:15:41 +08:00
|
|
|
#if defined (__cplusplus)
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* ZSTD_ZLIBWRAPPER_H */
|