10c16b537SWarner Losh /* 20c16b537SWarner Losh * Copyright (c) 2016-present, Yann Collet, Facebook, Inc. 30c16b537SWarner Losh * All rights reserved. 40c16b537SWarner Losh * 50c16b537SWarner Losh * This source code is licensed under both the BSD-style license (found in the 60c16b537SWarner Losh * LICENSE file in the root directory of this source tree) and the GPLv2 (found 70c16b537SWarner Losh * in the COPYING file in the root directory of this source tree). 80c16b537SWarner Losh * You may select, at your option, one of the above-listed licenses. 90c16b537SWarner Losh */ 100c16b537SWarner Losh 110c16b537SWarner Losh #ifndef ZSTD_LAZY_H 120c16b537SWarner Losh #define ZSTD_LAZY_H 130c16b537SWarner Losh 140c16b537SWarner Losh #if defined (__cplusplus) 150c16b537SWarner Losh extern "C" { 160c16b537SWarner Losh #endif 170c16b537SWarner Losh 1819fcbaf1SConrad Meyer #include "zstd_compress_internal.h" 19052d3c12SConrad Meyer 200f743729SConrad Meyer U32 ZSTD_insertAndFindFirstIndex(ZSTD_matchState_t* ms, const BYTE* ip); 210c16b537SWarner Losh 22*2b9c00cbSConrad Meyer void ZSTD_preserveUnsortedMark (U32* const table, U32 const size, U32 const reducerValue); /*! used in ZSTD_reduceIndex(). preemptively increase value of ZSTD_DUBT_UNSORTED_MARK */ 230c16b537SWarner Losh 2419fcbaf1SConrad Meyer size_t ZSTD_compressBlock_btlazy2( 2519fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 260f743729SConrad Meyer void const* src, size_t srcSize); 2719fcbaf1SConrad Meyer size_t ZSTD_compressBlock_lazy2( 2819fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 290f743729SConrad Meyer void const* src, size_t srcSize); 3019fcbaf1SConrad Meyer size_t ZSTD_compressBlock_lazy( 3119fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 320f743729SConrad Meyer void const* src, size_t srcSize); 3319fcbaf1SConrad Meyer size_t ZSTD_compressBlock_greedy( 3419fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 350f743729SConrad Meyer void const* src, size_t srcSize); 360f743729SConrad Meyer 370f743729SConrad Meyer size_t ZSTD_compressBlock_btlazy2_dictMatchState( 380f743729SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 390f743729SConrad Meyer void const* src, size_t srcSize); 400f743729SConrad Meyer size_t ZSTD_compressBlock_lazy2_dictMatchState( 410f743729SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 420f743729SConrad Meyer void const* src, size_t srcSize); 430f743729SConrad Meyer size_t ZSTD_compressBlock_lazy_dictMatchState( 440f743729SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 450f743729SConrad Meyer void const* src, size_t srcSize); 460f743729SConrad Meyer size_t ZSTD_compressBlock_greedy_dictMatchState( 470f743729SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 480f743729SConrad Meyer void const* src, size_t srcSize); 4919fcbaf1SConrad Meyer 5019fcbaf1SConrad Meyer size_t ZSTD_compressBlock_greedy_extDict( 5119fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 520f743729SConrad Meyer void const* src, size_t srcSize); 5319fcbaf1SConrad Meyer size_t ZSTD_compressBlock_lazy_extDict( 5419fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 550f743729SConrad Meyer void const* src, size_t srcSize); 5619fcbaf1SConrad Meyer size_t ZSTD_compressBlock_lazy2_extDict( 5719fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 580f743729SConrad Meyer void const* src, size_t srcSize); 5919fcbaf1SConrad Meyer size_t ZSTD_compressBlock_btlazy2_extDict( 6019fcbaf1SConrad Meyer ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 610f743729SConrad Meyer void const* src, size_t srcSize); 620c16b537SWarner Losh 630c16b537SWarner Losh #if defined (__cplusplus) 640c16b537SWarner Losh } 650c16b537SWarner Losh #endif 660c16b537SWarner Losh 670c16b537SWarner Losh #endif /* ZSTD_LAZY_H */ 68