A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 52 lines 1.5 kB view raw
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_register_cipher.c 13 Register a cipher, Tom St Denis 14*/ 15 16/** 17 Register a cipher with the descriptor table 18 @param cipher The cipher you wish to register 19 @return value >= 0 if successfully added (or already present), -1 if unsuccessful 20*/ 21int register_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 (cipher_descriptor[x].name != NULL && cipher_descriptor[x].ID == cipher->ID) { 31 LTC_MUTEX_UNLOCK(&ltc_cipher_mutex); 32 return x; 33 } 34 } 35 36 /* find a blank spot */ 37 for (x = 0; x < TAB_SIZE; x++) { 38 if (cipher_descriptor[x].name == NULL) { 39 XMEMCPY(&cipher_descriptor[x], cipher, sizeof(struct ltc_cipher_descriptor)); 40 LTC_MUTEX_UNLOCK(&ltc_cipher_mutex); 41 return x; 42 } 43 } 44 45 /* no spot */ 46 LTC_MUTEX_UNLOCK(&ltc_cipher_mutex); 47 return -1; 48} 49 50/* ref: HEAD -> master, tag: v1.18.2 */ 51/* git commit: 7e7eb695d581782f04b24dc444cbfde86af59853 */ 52/* commit time: 2018-07-01 22:49:01 +0200 */