Linux 6.9-rc4
[sfrench/cifs-2.6.git] / crypto / compress.c
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Cryptographic API.
4  *
5  * Compression operations.
6  *
7  * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
8  */
9 #include <linux/crypto.h>
10 #include "internal.h"
11
12 int crypto_comp_compress(struct crypto_comp *comp,
13                          const u8 *src, unsigned int slen,
14                          u8 *dst, unsigned int *dlen)
15 {
16         struct crypto_tfm *tfm = crypto_comp_tfm(comp);
17
18         return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst,
19                                                          dlen);
20 }
21 EXPORT_SYMBOL_GPL(crypto_comp_compress);
22
23 int crypto_comp_decompress(struct crypto_comp *comp,
24                            const u8 *src, unsigned int slen,
25                            u8 *dst, unsigned int *dlen)
26 {
27         struct crypto_tfm *tfm = crypto_comp_tfm(comp);
28
29         return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst,
30                                                            dlen);
31 }
32 EXPORT_SYMBOL_GPL(crypto_comp_decompress);