Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
2/*
3 * Copyright (c) Meta Platforms, Inc. and affiliates.
4 * All rights reserved.
5 *
6 * This source code is licensed under both the BSD-style license (found in the
7 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
8 * in the COPYING file in the root directory of this source tree).
9 * You may select, at your option, one of the above-listed licenses.
10 */
11
12#ifndef ZSTD_PRESPLIT_H
13#define ZSTD_PRESPLIT_H
14
15#include <linux/types.h> /* size_t */
16
17#define ZSTD_SLIPBLOCK_WORKSPACESIZE 8208
18
19/* ZSTD_splitBlock():
20 * @level must be a value between 0 and 4.
21 * higher levels spend more energy to detect block boundaries.
22 * @workspace must be aligned for size_t.
23 * @wkspSize must be at least >= ZSTD_SLIPBLOCK_WORKSPACESIZE
24 * note:
25 * For the time being, this function only accepts full 128 KB blocks.
26 * Therefore, @blockSize must be == 128 KB.
27 * While this could be extended to smaller sizes in the future,
28 * it is not yet clear if this would be useful. TBD.
29 */
30size_t ZSTD_splitBlock(const void* blockStart, size_t blockSize,
31 int level,
32 void* workspace, size_t wkspSize);
33
34#endif /* ZSTD_PRESPLIT_H */