Linux Audio

Check our new training course

Loading...
v3.15
 
 1/*
 2 * Cryptographic API.
 3 *
 4 * Compression operations.
 5 *
 6 * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
 7 *
 8 * This program is free software; you can redistribute it and/or modify it
 9 * under the terms of the GNU General Public License as published by the Free
10 * Software Foundation; either version 2 of the License, or (at your option)
11 * any later version.
12 *
13 */
14#include <linux/types.h>
15#include <linux/crypto.h>
16#include <linux/errno.h>
17#include <linux/string.h>
18#include "internal.h"
19
20static int crypto_compress(struct crypto_tfm *tfm,
21                            const u8 *src, unsigned int slen,
22                            u8 *dst, unsigned int *dlen)
23{
 
 
24	return tfm->__crt_alg->cra_compress.coa_compress(tfm, src, slen, dst,
25	                                                 dlen);
26}
 
27
28static int crypto_decompress(struct crypto_tfm *tfm,
29                             const u8 *src, unsigned int slen,
30                             u8 *dst, unsigned int *dlen)
31{
 
 
32	return tfm->__crt_alg->cra_compress.coa_decompress(tfm, src, slen, dst,
33	                                                   dlen);
34}
35
36int crypto_init_compress_ops(struct crypto_tfm *tfm)
37{
38	struct compress_tfm *ops = &tfm->crt_compress;
39
40	ops->cot_compress = crypto_compress;
41	ops->cot_decompress = crypto_decompress;
42
43	return 0;
44}
45
46void crypto_exit_compress_ops(struct crypto_tfm *tfm)
47{
48}
v5.9
 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);