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_hash.c 13 Unregister a hash, Tom St Denis 14 */ 15 16 /** 17 Unregister a hash from the descriptor table 18 @param hash The hash descriptor to remove 19 @return CRYPT_OK on success 20 */ unregister_hash(const struct ltc_hash_descriptor * hash)21int unregister_hash(const struct ltc_hash_descriptor *hash) 22 { 23 int x; 24 25 LTC_ARGCHK(hash != NULL); 26 27 /* is it already registered? */ 28 LTC_MUTEX_LOCK(<c_hash_mutex); 29 for (x = 0; x < TAB_SIZE; x++) { 30 if (XMEMCMP(&hash_descriptor[x], hash, sizeof(struct ltc_hash_descriptor)) == 0) { 31 hash_descriptor[x].name = NULL; 32 LTC_MUTEX_UNLOCK(<c_hash_mutex); 33 return CRYPT_OK; 34 } 35 } 36 LTC_MUTEX_UNLOCK(<c_hash_mutex); 37 return CRYPT_ERROR; 38 } 39 40 /* ref: $Format:%D$ */ 41 /* git commit: $Format:%H$ */ 42 /* commit time: $Format:%ai$ */ 43