LCOV - code coverage report
Current view: top level - include/crypto/internal - acompress.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 0 12 0.0 %
Date: 2021-04-22 12:43:58 Functions: 0 1 0.0 %

          Line data    Source code
       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           0 : static inline void *acomp_request_ctx(struct acomp_req *req)
      17             : {
      18           0 :         return req->__ctx;
      19             : }
      20             : 
      21           0 : static inline void *acomp_tfm_ctx(struct crypto_acomp *tfm)
      22             : {
      23           0 :         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           0 : static inline struct acomp_req *__acomp_request_alloc(struct crypto_acomp *tfm)
      38             : {
      39           0 :         struct acomp_req *req;
      40             : 
      41           0 :         req = kzalloc(sizeof(*req) + crypto_acomp_reqsize(tfm), GFP_KERNEL);
      42           0 :         if (likely(req))
      43           0 :                 acomp_request_set_tfm(req, tfm);
      44           0 :         return req;
      45             : }
      46             : 
      47           0 : static inline void __acomp_request_free(struct acomp_req *req)
      48             : {
      49           0 :         kfree_sensitive(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             : void crypto_unregister_acomp(struct acomp_alg *alg);
      73             : 
      74             : int crypto_register_acomps(struct acomp_alg *algs, int count);
      75             : void crypto_unregister_acomps(struct acomp_alg *algs, int count);
      76             : 
      77             : #endif

Generated by: LCOV version 1.14