xref: /freebsd/sys/contrib/openzfs/module/zstd/lib/compress/zstd_lazy.h (revision b670c9bafc0e31c7609969bf374b2e80bdc00211)
1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
2 /*
3  * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc.
4  * All rights reserved.
5  *
6  * This source code is licensed under both the BSD-style license (found in the
7  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
8  * in the COPYING file in the root directory of this source tree).
9  * You may select, at your option, one of the above-listed licenses.
10  */
11 
12 #ifndef ZSTD_LAZY_H
13 #define ZSTD_LAZY_H
14 
15 #if defined (__cplusplus)
16 extern "C" {
17 #endif
18 
19 #include "zstd_compress_internal.h"
20 
21 U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip);
22 
23 void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue);  /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */
24 
25 size_t ZSTD_compressBlock_btlazy2(
26         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
27         void const* src, size_t srcSize);
28 size_t ZSTD_compressBlock_lazy2(
29         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
30         void const* src, size_t srcSize);
31 size_t ZSTD_compressBlock_lazy(
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_greedy(
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_btlazy2_dictMatchState(
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_lazy2_dictMatchState(
42         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
43         void const* src, size_t srcSize);
44 size_t ZSTD_compressBlock_lazy_dictMatchState(
45         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
46         void const* src, size_t srcSize);
47 size_t ZSTD_compressBlock_greedy_dictMatchState(
48         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
49         void const* src, size_t srcSize);
50 
51 size_t ZSTD_compressBlock_greedy_extDict(
52         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
53         void const* src, size_t srcSize);
54 size_t ZSTD_compressBlock_lazy_extDict(
55         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
56         void const* src, size_t srcSize);
57 size_t ZSTD_compressBlock_lazy2_extDict(
58         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
59         void const* src, size_t srcSize);
60 size_t ZSTD_compressBlock_btlazy2_extDict(
61         ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
62         void const* src, size_t srcSize);
63 
64 #if defined (__cplusplus)
65 }
66 #endif
67 
68 #endif /* ZSTD_LAZY_H */
69