This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define SILC_HASH_SIM_CONTEXT_LEN "context_len"
/* Macros that can be used to declare SILC Hash API functions. */
#define SILC_HASH_SIM_CONTEXT_LEN "context_len"
/* Macros that can be used to declare SILC Hash API functions. */
void silc_##hash##_init(void *context)
#define SILC_HASH_API_UPDATE(hash) \
void silc_##hash##_update(void *context, const unsigned char *data, \
SilcUInt32 len)
void silc_##hash##_init(void *context)
#define SILC_HASH_API_UPDATE(hash) \
void silc_##hash##_update(void *context, const unsigned char *data, \
SilcUInt32 len)
void silc_##hash##_final(void *context, unsigned char *digest)
#define SILC_HASH_API_TRANSFORM(hash) \
void silc_##hash##_transform(SilcUInt32 *state, const unsigned char *buffer)
void silc_##hash##_final(void *context, unsigned char *digest)
#define SILC_HASH_API_TRANSFORM(hash) \
void silc_##hash##_transform(SilcUInt32 *state, const unsigned char *buffer)
* out of the data indicated by `data' of length of `data_len' bytes.
* If `hash' is NULL then SHA1 hash function is used automatically.
* The caller must free the returned string.
* out of the data indicated by `data' of length of `data_len' bytes.
* If `hash' is NULL then SHA1 hash function is used automatically.
* The caller must free the returned string.