/* 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); case LIBHASHSUM_SHA0: return libhashsum_init_sha0_hasher(hasher); case LIBHASHSUM_SHA1: return libhashsum_init_sha1_hasher(hasher); default: errno = EINVAL; return -1; } }