1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis */
2 /* SPDX-License-Identifier: Unlicense */
3 #include "tomcrypt_private.h"
4 
5 /**
6   @file crypt_find_cipher.c
7   Find a cipher in the descriptor tables, Tom St Denis
8 */
9 
10 /**
11    Find a registered cipher by name
12    @param name   The name of the cipher to look for
13    @return >= 0 if found, -1 if not present
14 */
find_cipher(const char * name)15 int find_cipher(const char *name)
16 {
17    int x;
18    LTC_ARGCHK(name != NULL);
19    LTC_MUTEX_LOCK(&ltc_cipher_mutex);
20    for (x = 0; x < TAB_SIZE; x++) {
21        if (cipher_descriptor[x] != NULL && !XSTRCMP(cipher_descriptor[x]->name, name)) {
22           LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
23           return x;
24        }
25    }
26    LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
27    return -1;
28 }
29 
30