blob: bb1763069f3ba4894e247f45cbec5f74ee3c9e2a [file] [log] [blame]
Scott Baker2d897982019-09-24 11:50:08 -07001/*
2 * Copyright (c) 2016-present, 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_LAZY_H
12#define ZSTD_LAZY_H
13
14#if defined (__cplusplus)
15extern "C" {
16#endif
17
18#include "zstd_compress_internal.h"
19
Scott Baker8487c5d2019-10-18 12:49:46 -070020U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip);
Scott Baker2d897982019-09-24 11:50:08 -070021
Scott Baker8487c5d2019-10-18 12:49:46 -070022void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */
Scott Baker2d897982019-09-24 11:50:08 -070023
24size_t ZSTD_compressBlock_btlazy2(
25 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070026 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070027size_t ZSTD_compressBlock_lazy2(
28 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070029 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070030size_t ZSTD_compressBlock_lazy(
31 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070032 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070033size_t ZSTD_compressBlock_greedy(
34 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070035 void const* src, size_t srcSize);
36
37size_t ZSTD_compressBlock_btlazy2_dictMatchState(
38 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
39 void const* src, size_t srcSize);
40size_t ZSTD_compressBlock_lazy2_dictMatchState(
41 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
42 void const* src, size_t srcSize);
43size_t ZSTD_compressBlock_lazy_dictMatchState(
44 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
45 void const* src, size_t srcSize);
46size_t ZSTD_compressBlock_greedy_dictMatchState(
47 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
48 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070049
50size_t ZSTD_compressBlock_greedy_extDict(
51 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070052 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070053size_t ZSTD_compressBlock_lazy_extDict(
54 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070055 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070056size_t ZSTD_compressBlock_lazy2_extDict(
57 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070058 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070059size_t ZSTD_compressBlock_btlazy2_extDict(
60 ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
Scott Baker8487c5d2019-10-18 12:49:46 -070061 void const* src, size_t srcSize);
Scott Baker2d897982019-09-24 11:50:08 -070062
63#if defined (__cplusplus)
64}
65#endif
66
67#endif /* ZSTD_LAZY_H */