Blame view

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