Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
zstd_decompress_module.c
Go to the documentation of this file.
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#include <linux/kernel.h>
13#include <linux/module.h>
14#include <linux/string.h>
15#include <linux/zstd.h>
16
17#include "common/zstd_deps.h"
18
19/* Common symbols. zstd_compress must depend on zstd_decompress. */
20
21unsigned int zstd_is_error(size_t code)
22{
23 return ZSTD_isError(code);
24}
26
27zstd_error_code zstd_get_error_code(size_t code)
28{
29 return ZSTD_getErrorCode(code);
30}
32
33const char *zstd_get_error_name(size_t code)
34{
35 return ZSTD_getErrorName(code);
36}
38
39/* Decompression symbols. */
40
42{
43 return ZSTD_estimateDCtxSize();
44}
46
47zstd_dctx *zstd_init_dctx(void *workspace, size_t workspace_size)
48{
49 if (workspace == NULL)
50 return NULL;
51 return ZSTD_initStaticDCtx(workspace, workspace_size);
52}
54
55size_t zstd_decompress_dctx(zstd_dctx *dctx, void *dst, size_t dst_capacity,
56 const void *src, size_t src_size)
57{
58 return ZSTD_decompressDCtx(dctx, dst, dst_capacity, src, src_size);
59}
61
62size_t zstd_dstream_workspace_bound(size_t max_window_size)
63{
64 return ZSTD_estimateDStreamSize(max_window_size);
65}
67
68zstd_dstream *zstd_init_dstream(size_t max_window_size, void *workspace,
69 size_t workspace_size)
70{
71 if (workspace == NULL)
72 return NULL;
73 (void)max_window_size;
74 return ZSTD_initStaticDStream(workspace, workspace_size);
75}
77
78size_t zstd_reset_dstream(zstd_dstream *dstream)
79{
81}
83
84size_t zstd_decompress_stream(zstd_dstream *dstream, zstd_out_buffer *output,
85 zstd_in_buffer *input)
86{
87 return ZSTD_decompressStream(dstream, output, input);
88}
90
91size_t zstd_find_frame_compressed_size(const void *src, size_t src_size)
92{
93 return ZSTD_findFrameCompressedSize(src, src_size);
94}
96
97size_t zstd_get_frame_header(zstd_frame_header *header, const void *src,
98 size_t src_size)
99{
100 return ZSTD_getFrameHeader(header, src, src_size);
101}
103
104MODULE_LICENSE("Dual BSD/GPL");
105MODULE_DESCRIPTION("Zstd Decompressor");
char * dst
Definition lz4.h:833
const char * src
Definition lz4.h:866
#define input(b, o, c, n, m)
Definition compress42.c:610
#define output(b, o, c, n)
Definition compress42.c:592
Definition inftrees.h:24
#define NULL
Definition getopt1.c:37
#define header(is_bt, len_min, ret_op)
Definition lz_encoder_mf.c:191
#define MODULE_DESCRIPTION(description)
Definition module.h:16
#define EXPORT_SYMBOL(symbol)
Definition module.h:13
#define MODULE_LICENSE(license)
Definition module.h:15
size_t zstd_decompress_dctx(zstd_dctx *dctx, void *dst, size_t dst_capacity, const void *src, size_t src_size)
Definition zstd_decompress_module.c:55
unsigned int zstd_is_error(size_t code)
Definition zstd_decompress_module.c:21
zstd_error_code zstd_get_error_code(size_t code)
Definition zstd_decompress_module.c:27
size_t zstd_dctx_workspace_bound(void)
Definition zstd_decompress_module.c:41
const char * zstd_get_error_name(size_t code)
Definition zstd_decompress_module.c:33
size_t zstd_reset_dstream(zstd_dstream *dstream)
Definition zstd_decompress_module.c:78
size_t zstd_find_frame_compressed_size(const void *src, size_t src_size)
Definition zstd_decompress_module.c:91
size_t zstd_decompress_stream(zstd_dstream *dstream, zstd_out_buffer *output, zstd_in_buffer *input)
Definition zstd_decompress_module.c:84
size_t zstd_get_frame_header(zstd_frame_header *header, const void *src, size_t src_size)
Definition zstd_decompress_module.c:97
zstd_dctx * zstd_init_dctx(void *workspace, size_t workspace_size)
Definition zstd_decompress_module.c:47
size_t zstd_dstream_workspace_bound(size_t max_window_size)
Definition zstd_decompress_module.c:62
zstd_dstream * zstd_init_dstream(size_t max_window_size, void *workspace, size_t workspace_size)
Definition zstd_decompress_module.c:68
ZSTD_ErrorCode ZSTD_getErrorCode(size_t code)
Definition zstd_common.c:45
const char * ZSTD_getErrorName(size_t code)
Definition zstd_common.c:41
#define ZSTD_isError
Definition zstd_internal.h:49
ZSTD_DCtx * ZSTD_initStaticDCtx(void *workspace, size_t workspaceSize)
Definition zstd_decompress.c:272
size_t ZSTD_decompressStream(ZSTD_DStream *zds, ZSTD_outBuffer *output, ZSTD_inBuffer *input)
Definition zstd_decompress.c:1924
size_t ZSTD_estimateDCtxSize(void)
Definition zstd_decompress.c:223
size_t ZSTD_DCtx_reset(ZSTD_DCtx *dctx, ZSTD_ResetDirective reset)
Definition zstd_decompress.c:1797
ZSTD_DStream * ZSTD_initStaticDStream(void *workspace, size_t workspaceSize)
Definition zstd_decompress.c:1555
size_t ZSTD_estimateDStreamSize(size_t windowSize)
Definition zstd_decompress.c:1831
size_t ZSTD_findFrameCompressedSize(const void *src, size_t srcSize)
Definition zstd_decompress.c:769
size_t ZSTD_getFrameHeader(ZSTD_frameHeader *zfhPtr, const void *src, size_t srcSize)
Definition zstd_decompress.c:524
size_t ZSTD_decompressDCtx(ZSTD_DCtx *dctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize)
Definition zstd_decompress.c:1077
@ ZSTD_reset_session_only
Definition zstd.h:491