xref: /openbmc/linux/lib/zstd/compress/zstd_opt.h (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1*e0c1b49fSNick Terrell /*
2*e0c1b49fSNick Terrell  * Copyright (c) Yann Collet, Facebook, Inc.
3*e0c1b49fSNick Terrell  * All rights reserved.
4*e0c1b49fSNick Terrell  *
5*e0c1b49fSNick Terrell  * This source code is licensed under both the BSD-style license (found in the
6*e0c1b49fSNick Terrell  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7*e0c1b49fSNick Terrell  * in the COPYING file in the root directory of this source tree).
8*e0c1b49fSNick Terrell  * You may select, at your option, one of the above-listed licenses.
9*e0c1b49fSNick Terrell  */
10*e0c1b49fSNick Terrell 
11*e0c1b49fSNick Terrell #ifndef ZSTD_OPT_H
12*e0c1b49fSNick Terrell #define ZSTD_OPT_H
13*e0c1b49fSNick Terrell 
14*e0c1b49fSNick Terrell 
15*e0c1b49fSNick Terrell #include "zstd_compress_internal.h"
16*e0c1b49fSNick Terrell 
17*e0c1b49fSNick Terrell /* used in ZSTD_loadDictionaryContent() */
18*e0c1b49fSNick Terrell void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
19*e0c1b49fSNick Terrell 
20*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btopt(
21*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
22*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
23*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btultra(
24*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
25*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
26*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btultra2(
27*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
28*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
29*e0c1b49fSNick Terrell 
30*e0c1b49fSNick Terrell 
31*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btopt_dictMatchState(
32*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
33*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
34*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btultra_dictMatchState(
35*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
36*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
37*e0c1b49fSNick Terrell 
38*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btopt_extDict(
39*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
40*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
41*e0c1b49fSNick Terrell size_t ZSTD_compressBlock_btultra_extDict(
42*e0c1b49fSNick Terrell         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
43*e0c1b49fSNick Terrell         void const* src, size_t srcSize);
44*e0c1b49fSNick Terrell 
45*e0c1b49fSNick Terrell         /* note : no btultra2 variant for extDict nor dictMatchState,
46*e0c1b49fSNick Terrell          * because btultra2 is not meant to work with dictionaries
47*e0c1b49fSNick Terrell          * and is only specific for the first block (no prefix) */
48*e0c1b49fSNick Terrell 
49*e0c1b49fSNick Terrell 
50*e0c1b49fSNick Terrell #endif /* ZSTD_OPT_H */
51