18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Cryptographic API.
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Compression operations.
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci#include <linux/crypto.h>
108c2ecf20Sopenharmony_ci#include "internal.h"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciint crypto_comp_compress(struct crypto_comp *comp,
138c2ecf20Sopenharmony_ci			 const u8 *src, unsigned int slen,
148c2ecf20Sopenharmony_ci			 u8 *dst, unsigned int *dlen)
158c2ecf20Sopenharmony_ci{
168c2ecf20Sopenharmony_ci	struct crypto_tfm *tfm = crypto_comp_tfm(comp);
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst,
198c2ecf20Sopenharmony_ci	                                                 dlen);
208c2ecf20Sopenharmony_ci}
218c2ecf20Sopenharmony_ciEXPORT_SYMBOL_GPL(crypto_comp_compress);
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciint crypto_comp_decompress(struct crypto_comp *comp,
248c2ecf20Sopenharmony_ci			   const u8 *src, unsigned int slen,
258c2ecf20Sopenharmony_ci			   u8 *dst, unsigned int *dlen)
268c2ecf20Sopenharmony_ci{
278c2ecf20Sopenharmony_ci	struct crypto_tfm *tfm = crypto_comp_tfm(comp);
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst,
308c2ecf20Sopenharmony_ci	                                                   dlen);
318c2ecf20Sopenharmony_ci}
328c2ecf20Sopenharmony_ciEXPORT_SYMBOL_GPL(crypto_comp_decompress);
33