lib/zstd/compress/zstd_preSplit.h

Source file repositories/reference/linux-study-clean/lib/zstd/compress/zstd_preSplit.h

File Facts

System
Linux kernel
Corpus path
lib/zstd/compress/zstd_preSplit.h
Extension
.h
Size
1236 bytes
Lines
35
Domain
Kernel Services
Bucket
lib
Inferred role
Kernel Services: implementation source
Status
source implementation candidate

Why This File Exists

Shared kernel service surface used by multiple subsystems, including helpers, cryptography, virtualization support, and async I/O infrastructure.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef ZSTD_PRESPLIT_H
#define ZSTD_PRESPLIT_H

#include <linux/types.h>  /* size_t */

#define ZSTD_SLIPBLOCK_WORKSPACESIZE 8208

/* ZSTD_splitBlock():
 * @level must be a value between 0 and 4.
 *        higher levels spend more energy to detect block boundaries.
 * @workspace must be aligned for size_t.
 * @wkspSize must be at least >= ZSTD_SLIPBLOCK_WORKSPACESIZE
 * note:
 * For the time being, this function only accepts full 128 KB blocks.
 * Therefore, @blockSize must be == 128 KB.
 * While this could be extended to smaller sizes in the future,
 * it is not yet clear if this would be useful. TBD.
 */
size_t ZSTD_splitBlock(const void* blockStart, size_t blockSize,
                    int level,
                    void* workspace, size_t wkspSize);

#endif /* ZSTD_PRESPLIT_H */

Annotation

Implementation Notes