162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright (c) Yann Collet, Facebook, Inc. 362306a36Sopenharmony_ci * All rights reserved. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * This source code is licensed under both the BSD-style license (found in the 662306a36Sopenharmony_ci * LICENSE file in the root directory of this source tree) and the GPLv2 (found 762306a36Sopenharmony_ci * in the COPYING file in the root directory of this source tree). 862306a36Sopenharmony_ci * You may select, at your option, one of the above-listed licenses. 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#ifndef ZSTD_OPT_H 1262306a36Sopenharmony_ci#define ZSTD_OPT_H 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include "zstd_compress_internal.h" 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/* used in ZSTD_loadDictionaryContent() */ 1862306a36Sopenharmony_civoid ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cisize_t ZSTD_compressBlock_btopt( 2162306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 2262306a36Sopenharmony_ci void const* src, size_t srcSize); 2362306a36Sopenharmony_cisize_t ZSTD_compressBlock_btultra( 2462306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 2562306a36Sopenharmony_ci void const* src, size_t srcSize); 2662306a36Sopenharmony_cisize_t ZSTD_compressBlock_btultra2( 2762306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 2862306a36Sopenharmony_ci void const* src, size_t srcSize); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cisize_t ZSTD_compressBlock_btopt_dictMatchState( 3262306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 3362306a36Sopenharmony_ci void const* src, size_t srcSize); 3462306a36Sopenharmony_cisize_t ZSTD_compressBlock_btultra_dictMatchState( 3562306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 3662306a36Sopenharmony_ci void const* src, size_t srcSize); 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_cisize_t ZSTD_compressBlock_btopt_extDict( 3962306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 4062306a36Sopenharmony_ci void const* src, size_t srcSize); 4162306a36Sopenharmony_cisize_t ZSTD_compressBlock_btultra_extDict( 4262306a36Sopenharmony_ci ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], 4362306a36Sopenharmony_ci void const* src, size_t srcSize); 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci /* note : no btultra2 variant for extDict nor dictMatchState, 4662306a36Sopenharmony_ci * because btultra2 is not meant to work with dictionaries 4762306a36Sopenharmony_ci * and is only specific for the first block (no prefix) */ 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci#endif /* ZSTD_OPT_H */ 51