at master 34 lines 1.2 kB view raw
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 */