zstd_opt.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Copyright (c) Meta Platforms, Inc. and affiliates.
  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. #ifndef ZSTD_OPT_H
  11. #define ZSTD_OPT_H
  12. #if defined (__cplusplus)
  13. extern "C" {
  14. #endif
  15. #include "zstd_compress_internal.h"
  16. /* used in ZSTD_loadDictionaryContent() */
  17. void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend);
  18. size_t ZSTD_compressBlock_btopt(
  19. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  20. void const* src, size_t srcSize);
  21. size_t ZSTD_compressBlock_btultra(
  22. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  23. void const* src, size_t srcSize);
  24. size_t ZSTD_compressBlock_btultra2(
  25. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  26. void const* src, size_t srcSize);
  27. size_t ZSTD_compressBlock_btopt_dictMatchState(
  28. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  29. void const* src, size_t srcSize);
  30. size_t ZSTD_compressBlock_btultra_dictMatchState(
  31. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  32. void const* src, size_t srcSize);
  33. size_t ZSTD_compressBlock_btopt_extDict(
  34. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  35. void const* src, size_t srcSize);
  36. size_t ZSTD_compressBlock_btultra_extDict(
  37. ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
  38. void const* src, size_t srcSize);
  39. /* note : no btultra2 variant for extDict nor dictMatchState,
  40. * because btultra2 is not meant to work with dictionaries
  41. * and is only specific for the first block (no prefix) */
  42. #if defined (__cplusplus)
  43. }
  44. #endif
  45. #endif /* ZSTD_OPT_H */