12874c5fdSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds * Cryptographic API.
41da177e4SLinus Torvalds *
51da177e4SLinus Torvalds * Compression operations.
61da177e4SLinus Torvalds *
71da177e4SLinus Torvalds * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
81da177e4SLinus Torvalds */
91da177e4SLinus Torvalds #include <linux/crypto.h>
101da177e4SLinus Torvalds #include "internal.h"
111da177e4SLinus Torvalds
crypto_comp_compress(struct crypto_comp * comp,const u8 * src,unsigned int slen,u8 * dst,unsigned int * dlen)12*c441a909SEric Biggers int crypto_comp_compress(struct crypto_comp *comp,
131da177e4SLinus Torvalds const u8 *src, unsigned int slen,
141da177e4SLinus Torvalds u8 *dst, unsigned int *dlen)
151da177e4SLinus Torvalds {
16*c441a909SEric Biggers struct crypto_tfm *tfm = crypto_comp_tfm(comp);
17*c441a909SEric Biggers
186c2bb98bSHerbert Xu return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst,
191da177e4SLinus Torvalds dlen);
201da177e4SLinus Torvalds }
21*c441a909SEric Biggers EXPORT_SYMBOL_GPL(crypto_comp_compress);
221da177e4SLinus Torvalds
crypto_comp_decompress(struct crypto_comp * comp,const u8 * src,unsigned int slen,u8 * dst,unsigned int * dlen)23*c441a909SEric Biggers int crypto_comp_decompress(struct crypto_comp *comp,
241da177e4SLinus Torvalds const u8 *src, unsigned int slen,
251da177e4SLinus Torvalds u8 *dst, unsigned int *dlen)
261da177e4SLinus Torvalds {
27*c441a909SEric Biggers struct crypto_tfm *tfm = crypto_comp_tfm(comp);
28*c441a909SEric Biggers
296c2bb98bSHerbert Xu return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst,
301da177e4SLinus Torvalds dlen);
311da177e4SLinus Torvalds }
32*c441a909SEric Biggers EXPORT_SYMBOL_GPL(crypto_comp_decompress);
33