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
12int 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}
21EXPORT_SYMBOL_GPL(crypto_comp_compress);
22
23int 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}
32EXPORT_SYMBOL_GPL(crypto_comp_decompress);
33