30 lines
708 B
C
30 lines
708 B
C
/* LibTomCrypt, modular cryptographic library -- Tom St Denis */
|
|
/* SPDX-License-Identifier: Unlicense */
|
|
#include "tomcrypt_private.h"
|
|
|
|
/**
|
|
@file crypt_find_prng.c
|
|
Find a PRNG, Tom St Denis
|
|
*/
|
|
|
|
/**
|
|
Find a registered PRNG by name
|
|
@param name The name of the PRNG to look for
|
|
@return >= 0 if found, -1 if not present
|
|
*/
|
|
int find_prng(const char *name)
|
|
{
|
|
int x;
|
|
LTC_ARGCHK(name != NULL);
|
|
LTC_MUTEX_LOCK(<c_prng_mutex);
|
|
for (x = 0; x < TAB_SIZE; x++) {
|
|
if ((prng_descriptor[x].name != NULL) && XSTRCMP(prng_descriptor[x].name, name) == 0) {
|
|
LTC_MUTEX_UNLOCK(<c_prng_mutex);
|
|
return x;
|
|
}
|
|
}
|
|
LTC_MUTEX_UNLOCK(<c_prng_mutex);
|
|
return -1;
|
|
}
|
|
|