| 1 |
|
| 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>
|
| 16 |
|
| 17 | #define ZSTD_SLIPBLOCK_WORKSPACESIZE 8208
|
| 18 |
|
| 19 | |
| 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 |
|
| 30 | size_t ZSTD_splitBlock(const void* blockStart, size_t blockSize,
|
| 31 | int level,
|
| 32 | void* workspace, size_t wkspSize);
|
| 33 |
|
| 34 | #endif
|