xref: /linux/crypto/compress.c (revision c441a909)
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