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