xref: /openbmc/linux/lib/zstd/compress/zstd_opt.h (revision 2a598d0b)
1 /*
2  * Copyright (c) Yann Collet, Facebook, Inc.
3  * All rights reserved.
4  *
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.
9  */
10 
11 #ifndef ZSTD_OPT_H
12 #define ZSTD_OPT_H
13 
14 
15 #include "zstd_compress_internal.h"
16 
17 /* used in ZSTD_loadDictionaryContent() */
18 void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
19 
20 size_t ZSTD_compressBlock_btopt(
21         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
22         void const* src, size_t srcSize);
23 size_t ZSTD_compressBlock_btultra(
24         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
25         void const* src, size_t srcSize);
26 size_t ZSTD_compressBlock_btultra2(
27         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
28         void const* src, size_t srcSize);
29 
30 
31 size_t ZSTD_compressBlock_btopt_dictMatchState(
32         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
33         void const* src, size_t srcSize);
34 size_t ZSTD_compressBlock_btultra_dictMatchState(
35         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
36         void const* src, size_t srcSize);
37 
38 size_t ZSTD_compressBlock_btopt_extDict(
39         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
40         void const* src, size_t srcSize);
41 size_t ZSTD_compressBlock_btultra_extDict(
42         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
43         void const* src, size_t srcSize);
44 
45         /* note : no btultra2 variant for extDict nor dictMatchState,
46          * because btultra2 is not meant to work with dictionaries
47          * and is only specific for the first block (no prefix) */
48 
49 
50 #endif /* ZSTD_OPT_H */
51