root/include/crypto/internal/kpp.h

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

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. kpp_request_ctx
  2. kpp_tfm_ctx
  3. kpp_request_complete
  4. kpp_alg_name

   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  * Key-agreement Protocol Primitives (KPP)
   4  *
   5  * Copyright (c) 2016, Intel Corporation
   6  * Authors: Salvatore Benedetto <salvatore.benedetto@intel.com>
   7  */
   8 #ifndef _CRYPTO_KPP_INT_H
   9 #define _CRYPTO_KPP_INT_H
  10 #include <crypto/kpp.h>
  11 #include <crypto/algapi.h>
  12 
  13 /*
  14  * Transform internal helpers.
  15  */
  16 static inline void *kpp_request_ctx(struct kpp_request *req)
  17 {
  18         return req->__ctx;
  19 }
  20 
  21 static inline void *kpp_tfm_ctx(struct crypto_kpp *tfm)
  22 {
  23         return tfm->base.__crt_ctx;
  24 }
  25 
  26 static inline void kpp_request_complete(struct kpp_request *req, int err)
  27 {
  28         req->base.complete(&req->base, err);
  29 }
  30 
  31 static inline const char *kpp_alg_name(struct crypto_kpp *tfm)
  32 {
  33         return crypto_kpp_tfm(tfm)->__crt_alg->cra_name;
  34 }
  35 
  36 /**
  37  * crypto_register_kpp() -- Register key-agreement protocol primitives algorithm
  38  *
  39  * Function registers an implementation of a key-agreement protocol primitive
  40  * algorithm
  41  *
  42  * @alg:        algorithm definition
  43  *
  44  * Return: zero on success; error code in case of error
  45  */
  46 int crypto_register_kpp(struct kpp_alg *alg);
  47 
  48 /**
  49  * crypto_unregister_kpp() -- Unregister key-agreement protocol primitive
  50  * algorithm
  51  *
  52  * Function unregisters an implementation of a key-agreement protocol primitive
  53  * algorithm
  54  *
  55  * @alg:        algorithm definition
  56  */
  57 void crypto_unregister_kpp(struct kpp_alg *alg);
  58 
  59 #endif

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