root/include/crypto/internal/acompress.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. acomp_request_ctx
  2. acomp_tfm_ctx
  3. acomp_request_complete
  4. acomp_alg_name
  5. __acomp_request_alloc
  6. __acomp_request_free

   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  * Asynchronous Compression operations
   4  *
   5  * Copyright (c) 2016, Intel Corporation
   6  * Authors: Weigang Li <weigang.li@intel.com>
   7  *          Giovanni Cabiddu <giovanni.cabiddu@intel.com>
   8  */
   9 #ifndef _CRYPTO_ACOMP_INT_H
  10 #define _CRYPTO_ACOMP_INT_H
  11 #include <crypto/acompress.h>
  12 
  13 /*
  14  * Transform internal helpers.
  15  */
  16 static inline void *acomp_request_ctx(struct acomp_req *req)
  17 {
  18         return req->__ctx;
  19 }
  20 
  21 static inline void *acomp_tfm_ctx(struct crypto_acomp *tfm)
  22 {
  23         return tfm->base.__crt_ctx;
  24 }
  25 
  26 static inline void acomp_request_complete(struct acomp_req *req,
  27                                           int err)
  28 {
  29         req->base.complete(&req->base, err);
  30 }
  31 
  32 static inline const char *acomp_alg_name(struct crypto_acomp *tfm)
  33 {
  34         return crypto_acomp_tfm(tfm)->__crt_alg->cra_name;
  35 }
  36 
  37 static inline struct acomp_req *__acomp_request_alloc(struct crypto_acomp *tfm)
  38 {
  39         struct acomp_req *req;
  40 
  41         req = kzalloc(sizeof(*req) + crypto_acomp_reqsize(tfm), GFP_KERNEL);
  42         if (likely(req))
  43                 acomp_request_set_tfm(req, tfm);
  44         return req;
  45 }
  46 
  47 static inline void __acomp_request_free(struct acomp_req *req)
  48 {
  49         kzfree(req);
  50 }
  51 
  52 /**
  53  * crypto_register_acomp() -- Register asynchronous compression algorithm
  54  *
  55  * Function registers an implementation of an asynchronous
  56  * compression algorithm
  57  *
  58  * @alg:        algorithm definition
  59  *
  60  * Return:      zero on success; error code in case of error
  61  */
  62 int crypto_register_acomp(struct acomp_alg *alg);
  63 
  64 /**
  65  * crypto_unregister_acomp() -- Unregister asynchronous compression algorithm
  66  *
  67  * Function unregisters an implementation of an asynchronous
  68  * compression algorithm
  69  *
  70  * @alg:        algorithm definition
  71  *
  72  * Return:      zero on success; error code in case of error
  73  */
  74 int crypto_unregister_acomp(struct acomp_alg *alg);
  75 
  76 int crypto_register_acomps(struct acomp_alg *algs, int count);
  77 void crypto_unregister_acomps(struct acomp_alg *algs, int count);
  78 
  79 #endif

/* [<][>][^][v][top][bottom][index][help] */