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_COMPRESS_ADVANCED_H
1262306a36Sopenharmony_ci#define ZSTD_COMPRESS_ADVANCED_H
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/*-*************************************
1562306a36Sopenharmony_ci*  Dependencies
1662306a36Sopenharmony_ci***************************************/
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#include <linux/zstd.h> /* ZSTD_CCtx */
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci/*-*************************************
2162306a36Sopenharmony_ci*  Target Compressed Block Size
2262306a36Sopenharmony_ci***************************************/
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci/* ZSTD_compressSuperBlock() :
2562306a36Sopenharmony_ci * Used to compress a super block when targetCBlockSize is being used.
2662306a36Sopenharmony_ci * The given block will be compressed into multiple sub blocks that are around targetCBlockSize. */
2762306a36Sopenharmony_cisize_t ZSTD_compressSuperBlock(ZSTD_CCtx* zc,
2862306a36Sopenharmony_ci                               void* dst, size_t dstCapacity,
2962306a36Sopenharmony_ci                               void const* src, size_t srcSize,
3062306a36Sopenharmony_ci                               unsigned lastBlock);
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#endif /* ZSTD_COMPRESS_ADVANCED_H */
33