Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/openzfs/module/zstd/lib/compress/zstd_opt.h
48774 views
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_OPT_H
13
#define ZSTD_OPT_H
14
15
#if defined (__cplusplus)
16
extern "C" {
17
#endif
18
19
#include "zstd_compress_internal.h"
20
21
/* used in ZSTD_loadDictionaryContent() */
22
void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
23
24
size_t ZSTD_compressBlock_btopt(
25
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
26
void const* src, size_t srcSize);
27
size_t ZSTD_compressBlock_btultra(
28
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
29
void const* src, size_t srcSize);
30
size_t ZSTD_compressBlock_btultra2(
31
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
32
void const* src, size_t srcSize);
33
34
35
size_t ZSTD_compressBlock_btopt_dictMatchState(
36
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
37
void const* src, size_t srcSize);
38
size_t ZSTD_compressBlock_btultra_dictMatchState(
39
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
40
void const* src, size_t srcSize);
41
42
size_t ZSTD_compressBlock_btopt_extDict(
43
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
44
void const* src, size_t srcSize);
45
size_t ZSTD_compressBlock_btultra_extDict(
46
ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
47
void const* src, size_t srcSize);
48
49
/* note : no btultra2 variant for extDict nor dictMatchState,
50
* because btultra2 is not meant to work with dictionaries
51
* and is only specific for the first block (no prefix) */
52
53
#if defined (__cplusplus)
54
}
55
#endif
56
57
#endif /* ZSTD_OPT_H */
58
59