xref: /freebsd-src/sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_literals.h (revision c03c5b1c80914ec656fbee84539355d1fad68bf9)
1*c03c5b1cSMartin Matuska /*
2*c03c5b1cSMartin Matuska  * Copyright (c) 2016-2020, Yann Collet, Facebook, Inc.
3*c03c5b1cSMartin Matuska  * All rights reserved.
4*c03c5b1cSMartin Matuska  *
5*c03c5b1cSMartin Matuska  * This source code is licensed under both the BSD-style license (found in the
6*c03c5b1cSMartin Matuska  * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7*c03c5b1cSMartin Matuska  * in the COPYING file in the root directory of this source tree).
8*c03c5b1cSMartin Matuska  * You may select, at your option, one of the above-listed licenses.
9*c03c5b1cSMartin Matuska  */
10*c03c5b1cSMartin Matuska 
11*c03c5b1cSMartin Matuska #ifndef ZSTD_COMPRESS_LITERALS_H
12*c03c5b1cSMartin Matuska #define ZSTD_COMPRESS_LITERALS_H
13*c03c5b1cSMartin Matuska 
14*c03c5b1cSMartin Matuska #include "zstd_compress_internal.h" /* ZSTD_hufCTables_t, ZSTD_minGain() */
15*c03c5b1cSMartin Matuska 
16*c03c5b1cSMartin Matuska 
17*c03c5b1cSMartin Matuska size_t ZSTD_noCompressLiterals (void* dst, size_t dstCapacity, const void* src, size_t srcSize);
18*c03c5b1cSMartin Matuska 
19*c03c5b1cSMartin Matuska size_t ZSTD_compressRleLiteralsBlock (void* dst, size_t dstCapacity, const void* src, size_t srcSize);
20*c03c5b1cSMartin Matuska 
21*c03c5b1cSMartin Matuska size_t ZSTD_compressLiterals (ZSTD_hufCTables_t const* prevHuf,
22*c03c5b1cSMartin Matuska                               ZSTD_hufCTables_t* nextHuf,
23*c03c5b1cSMartin Matuska                               ZSTD_strategy strategy, int disableLiteralCompression,
24*c03c5b1cSMartin Matuska                               void* dst, size_t dstCapacity,
25*c03c5b1cSMartin Matuska                         const void* src, size_t srcSize,
26*c03c5b1cSMartin Matuska                               void* entropyWorkspace, size_t entropyWorkspaceSize,
27*c03c5b1cSMartin Matuska                         const int bmi2);
28*c03c5b1cSMartin Matuska 
29*c03c5b1cSMartin Matuska #endif /* ZSTD_COMPRESS_LITERALS_H */
30