A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 113 lines 3.9 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 10/* ---- LTC_BASE64 Routines ---- */ 11#ifdef LTC_BASE64 12int base64_encode(const unsigned char *in, unsigned long len, 13 unsigned char *out, unsigned long *outlen); 14 15int base64_decode(const unsigned char *in, unsigned long len, 16 unsigned char *out, unsigned long *outlen); 17int base64_strict_decode(const unsigned char *in, unsigned long len, 18 unsigned char *out, unsigned long *outlen); 19#endif 20 21#ifdef LTC_BASE64_URL 22int base64url_encode(const unsigned char *in, unsigned long len, 23 unsigned char *out, unsigned long *outlen); 24int base64url_strict_encode(const unsigned char *in, unsigned long inlen, 25 unsigned char *out, unsigned long *outlen); 26 27int base64url_decode(const unsigned char *in, unsigned long len, 28 unsigned char *out, unsigned long *outlen); 29int base64url_strict_decode(const unsigned char *in, unsigned long len, 30 unsigned char *out, unsigned long *outlen); 31#endif 32 33/* ===> LTC_HKDF -- RFC5869 HMAC-based Key Derivation Function <=== */ 34#ifdef LTC_HKDF 35 36int hkdf_test(void); 37 38int hkdf_extract(int hash_idx, 39 const unsigned char *salt, unsigned long saltlen, 40 const unsigned char *in, unsigned long inlen, 41 unsigned char *out, unsigned long *outlen); 42 43int hkdf_expand(int hash_idx, 44 const unsigned char *info, unsigned long infolen, 45 const unsigned char *in, unsigned long inlen, 46 unsigned char *out, unsigned long outlen); 47 48int hkdf(int hash_idx, 49 const unsigned char *salt, unsigned long saltlen, 50 const unsigned char *info, unsigned long infolen, 51 const unsigned char *in, unsigned long inlen, 52 unsigned char *out, unsigned long outlen); 53 54#endif /* LTC_HKDF */ 55 56/* ---- MEM routines ---- */ 57int mem_neq(const void *a, const void *b, size_t len); 58void zeromem(volatile void *dst, size_t len); 59void burn_stack(unsigned long len); 60 61const char *error_to_string(int err); 62 63extern const char *crypt_build_settings; 64 65/* ---- HMM ---- */ 66int crypt_fsa(void *mp, ...); 67 68/* ---- Dynamic language support ---- */ 69int crypt_get_constant(const char* namein, int *valueout); 70int crypt_list_all_constants(char *names_list, unsigned int *names_list_size); 71 72int crypt_get_size(const char* namein, unsigned int *sizeout); 73int crypt_list_all_sizes(char *names_list, unsigned int *names_list_size); 74 75#ifdef LTM_DESC 76void init_LTM(void); 77#endif 78#ifdef TFM_DESC 79void init_TFM(void); 80#endif 81#ifdef GMP_DESC 82void init_GMP(void); 83#endif 84 85#ifdef LTC_ADLER32 86typedef struct adler32_state_s 87{ 88 unsigned short s[2]; 89} adler32_state; 90 91void adler32_init(adler32_state *ctx); 92void adler32_update(adler32_state *ctx, const unsigned char *input, unsigned long length); 93void adler32_finish(adler32_state *ctx, void *hash, unsigned long size); 94int adler32_test(void); 95#endif 96 97#ifdef LTC_CRC32 98typedef struct crc32_state_s 99{ 100 ulong32 crc; 101} crc32_state; 102 103void crc32_init(crc32_state *ctx); 104void crc32_update(crc32_state *ctx, const unsigned char *input, unsigned long length); 105void crc32_finish(crc32_state *ctx, void *hash, unsigned long size); 106int crc32_test(void); 107#endif 108 109int compare_testvector(const void* is, const unsigned long is_len, const void* should, const unsigned long should_len, const char* what, int which); 110 111/* ref: HEAD -> master, tag: v1.18.2 */ 112/* git commit: 7e7eb695d581782f04b24dc444cbfde86af59853 */ 113/* commit time: 2018-07-01 22:49:01 +0200 */