xref: /freebsd/sys/contrib/zstd/lib/compress/zstd_opt.h (revision 5ff13fbc199bdf5f0572845351c68ee5ca828e71)
10c16b537SWarner Losh /*
2*5ff13fbcSAllan Jude  * Copyright (c) Yann Collet, Facebook, Inc.
30c16b537SWarner Losh  * All rights reserved.
40c16b537SWarner Losh  *
50c16b537SWarner Losh  * This source code is licensed under both the BSD-style license (found in the
60c16b537SWarner Losh  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
70c16b537SWarner Losh  * in the COPYING file in the root directory of this source tree).
80c16b537SWarner Losh  * You may select, at your option, one of the above-listed licenses.
90c16b537SWarner Losh  */
100c16b537SWarner Losh 
110c16b537SWarner Losh #ifndef ZSTD_OPT_H
120c16b537SWarner Losh #define ZSTD_OPT_H
130c16b537SWarner Losh 
140c16b537SWarner Losh #if defined (__cplusplus)
150c16b537SWarner Losh extern "C" {
160c16b537SWarner Losh #endif
170c16b537SWarner Losh 
1819fcbaf1SConrad Meyer #include "zstd_compress_internal.h"
19052d3c12SConrad Meyer 
200f743729SConrad Meyer /* used in ZSTD_loadDictionaryContent() */
210f743729SConrad Meyer void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
220c16b537SWarner Losh 
2319fcbaf1SConrad Meyer size_t ZSTD_compressBlock_btopt(
2419fcbaf1SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
250f743729SConrad Meyer         void const* src, size_t srcSize);
2619fcbaf1SConrad Meyer size_t ZSTD_compressBlock_btultra(
2719fcbaf1SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
280f743729SConrad Meyer         void const* src, size_t srcSize);
29a0483764SConrad Meyer size_t ZSTD_compressBlock_btultra2(
30a0483764SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
31a0483764SConrad Meyer         void const* src, size_t srcSize);
32a0483764SConrad Meyer 
330f743729SConrad Meyer 
340f743729SConrad Meyer size_t ZSTD_compressBlock_btopt_dictMatchState(
350f743729SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
360f743729SConrad Meyer         void const* src, size_t srcSize);
370f743729SConrad Meyer size_t ZSTD_compressBlock_btultra_dictMatchState(
380f743729SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
390f743729SConrad Meyer         void const* src, size_t srcSize);
4019fcbaf1SConrad Meyer 
4119fcbaf1SConrad Meyer size_t ZSTD_compressBlock_btopt_extDict(
4219fcbaf1SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
430f743729SConrad Meyer         void const* src, size_t srcSize);
4419fcbaf1SConrad Meyer size_t ZSTD_compressBlock_btultra_extDict(
4519fcbaf1SConrad Meyer         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
460f743729SConrad Meyer         void const* src, size_t srcSize);
470c16b537SWarner Losh 
48a0483764SConrad Meyer         /* note : no btultra2 variant for extDict nor dictMatchState,
49a0483764SConrad Meyer          * because btultra2 is not meant to work with dictionaries
50a0483764SConrad Meyer          * and is only specific for the first block (no prefix) */
51a0483764SConrad Meyer 
520c16b537SWarner Losh #if defined (__cplusplus)
530c16b537SWarner Losh }
540c16b537SWarner Losh #endif
550c16b537SWarner Losh 
560c16b537SWarner Losh #endif /* ZSTD_OPT_H */
57