1 /* SPDX-License-Identifier: GPL-2.0-or-later * << 2 /* 1 /* 3 * RNG: Random Number Generator algorithms un 2 * RNG: Random Number Generator algorithms under the crypto API 4 * 3 * 5 * Copyright (c) 2008 Neil Horman <nhorman@tux 4 * Copyright (c) 2008 Neil Horman <nhorman@tuxdriver.com> 6 * Copyright (c) 2015 Herbert Xu <herbert@gond !! 5 * >> 6 * This program is free software; you can redistribute it and/or modify it >> 7 * under the terms of the GNU General Public License as published by the Free >> 8 * Software Foundation; either version 2 of the License, or (at your option) >> 9 * any later version. >> 10 * 7 */ 11 */ 8 12 9 #ifndef _CRYPTO_INTERNAL_RNG_H 13 #ifndef _CRYPTO_INTERNAL_RNG_H 10 #define _CRYPTO_INTERNAL_RNG_H 14 #define _CRYPTO_INTERNAL_RNG_H 11 15 12 #include <crypto/algapi.h> 16 #include <crypto/algapi.h> 13 #include <crypto/rng.h> 17 #include <crypto/rng.h> 14 18 15 int crypto_register_rng(struct rng_alg *alg); !! 19 extern const struct crypto_type crypto_rng_type; 16 void crypto_unregister_rng(struct rng_alg *alg << 17 int crypto_register_rngs(struct rng_alg *algs, << 18 void crypto_unregister_rngs(struct rng_alg *al << 19 << 20 #if defined(CONFIG_CRYPTO_RNG) || defined(CONF << 21 int crypto_del_default_rng(void); << 22 #else << 23 static inline int crypto_del_default_rng(void) << 24 { << 25 return 0; << 26 } << 27 #endif << 28 20 29 static inline void *crypto_rng_ctx(struct cryp 21 static inline void *crypto_rng_ctx(struct crypto_rng *tfm) 30 { 22 { 31 return crypto_tfm_ctx(&tfm->base); 23 return crypto_tfm_ctx(&tfm->base); 32 } << 33 << 34 static inline void crypto_rng_set_entropy(stru << 35 cons << 36 { << 37 crypto_rng_alg(tfm)->set_ent(tfm, data << 38 } 24 } 39 25 40 #endif 26 #endif 41 27
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.