Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/tomcrypt/src/misc/crypt/crypt_unregister_cipher.c
5972 views
1
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
2
*
3
* LibTomCrypt is a library that provides various cryptographic
4
* algorithms in a highly modular and flexible manner.
5
*
6
* The library is free for all purposes without any express
7
* guarantee it works.
8
*/
9
#include "tomcrypt.h"
10
11
/**
12
@file crypt_unregister_cipher.c
13
Unregister a cipher, Tom St Denis
14
*/
15
16
/**
17
Unregister a cipher from the descriptor table
18
@param cipher The cipher descriptor to remove
19
@return CRYPT_OK on success
20
*/
21
int unregister_cipher(const struct ltc_cipher_descriptor *cipher)
22
{
23
int x;
24
25
LTC_ARGCHK(cipher != NULL);
26
27
/* is it already registered? */
28
LTC_MUTEX_LOCK(&ltc_cipher_mutex);
29
for (x = 0; x < TAB_SIZE; x++) {
30
if (XMEMCMP(&cipher_descriptor[x], cipher, sizeof(struct ltc_cipher_descriptor)) == 0) {
31
cipher_descriptor[x].name = NULL;
32
cipher_descriptor[x].ID = 255;
33
LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
34
return CRYPT_OK;
35
}
36
}
37
LTC_MUTEX_UNLOCK(&ltc_cipher_mutex);
38
return CRYPT_ERROR;
39
}
40
41