The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/crypto/compress.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 <asm/scatterlist.h>
   18 #include <linux/string.h>
   19 #include "internal.h"
   20 
   21 static int crypto_compress(struct crypto_tfm *tfm,
   22                             const u8 *src, unsigned int slen,
   23                             u8 *dst, unsigned int *dlen)
   24 {
   25         return tfm->__crt_alg->cra_compress.coa_compress(crypto_tfm_ctx(tfm),
   26                                                          src, slen, dst,
   27                                                          dlen);
   28 }
   29 
   30 static int crypto_decompress(struct crypto_tfm *tfm,
   31                              const u8 *src, unsigned int slen,
   32                              u8 *dst, unsigned int *dlen)
   33 {
   34         return tfm->__crt_alg->cra_compress.coa_decompress(crypto_tfm_ctx(tfm),
   35                                                            src, slen, dst,
   36                                                            dlen);
   37 }
   38 
   39 int crypto_init_compress_flags(struct crypto_tfm *tfm, u32 flags)
   40 {
   41         return flags ? -EINVAL : 0;
   42 }
   43 
   44 int crypto_init_compress_ops(struct crypto_tfm *tfm)
   45 {
   46         int ret = 0;
   47         struct compress_tfm *ops = &tfm->crt_compress;
   48         
   49         ret = tfm->__crt_alg->cra_compress.coa_init(crypto_tfm_ctx(tfm));
   50         if (ret)
   51                 goto out;
   52 
   53         ops->cot_compress = crypto_compress;
   54         ops->cot_decompress = crypto_decompress;
   55         
   56 out:
   57         return ret;
   58 }
   59 
   60 void crypto_exit_compress_ops(struct crypto_tfm *tfm)
   61 {
   62         tfm->__crt_alg->cra_compress.coa_exit(crypto_tfm_ctx(tfm));
   63 }

Cache object: d2ec91c393f3117345b978236152246e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.