Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/cmzstd/lib/compress/zstd_preSplit.h
4998 views
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
11
#ifndef ZSTD_PRESPLIT_H
12
#define ZSTD_PRESPLIT_H
13
14
#include <stddef.h> /* size_t */
15
16
#define ZSTD_SLIPBLOCK_WORKSPACESIZE 8208
17
18
/* ZSTD_splitBlock():
19
* @level must be a value between 0 and 4.
20
* higher levels spend more energy to detect block boundaries.
21
* @workspace must be aligned for size_t.
22
* @wkspSize must be at least >= ZSTD_SLIPBLOCK_WORKSPACESIZE
23
* note:
24
* For the time being, this function only accepts full 128 KB blocks.
25
* Therefore, @blockSize must be == 128 KB.
26
* While this could be extended to smaller sizes in the future,
27
* it is not yet clear if this would be useful. TBD.
28
*/
29
size_t ZSTD_splitBlock(const void* blockStart, size_t blockSize,
30
int level,
31
void* workspace, size_t wkspSize);
32
33
#endif /* ZSTD_PRESPLIT_H */
34
35