aboutsummaryrefslogtreecommitdiffstats
path: root/libhashsum_init_hasher.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libhashsum_init_hasher.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/libhashsum_init_hasher.c b/libhashsum_init_hasher.c
new file mode 100644
index 0000000..fc39758
--- /dev/null
+++ b/libhashsum_init_hasher.c
@@ -0,0 +1,27 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+
+
+int
+libhashsum_init_hasher(struct libhashsum_hasher *hasher, enum libhashsum_algorithm algorithm)
+{
+ switch (algorithm) {
+ case LIBHASHSUM_MD2:
+ return libhashsum_init_md2_hasher(hasher);
+ case LIBHASHSUM_MD4:
+ return libhashsum_init_md4_hasher(hasher);
+ case LIBHASHSUM_MD5:
+ return libhashsum_init_md5_hasher(hasher);
+ case LIBHASHSUM_RIPEMD_128:
+ return libhashsum_init_ripemd_128_hasher(hasher);
+ case LIBHASHSUM_RIPEMD_160:
+ return libhashsum_init_ripemd_160_hasher(hasher);
+ case LIBHASHSUM_RIPEMD_256:
+ return libhashsum_init_ripemd_256_hasher(hasher);
+ case LIBHASHSUM_RIPEMD_320:
+ return libhashsum_init_ripemd_320_hasher(hasher);
+ default:
+ errno = EINVAL;
+ return -1;
+ }
+}