X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libhashkit%2Falgorithm.h;h=fa5f3ae5dacc61c4255a7d0af328d807b2af8175;hb=000909672d7d6337c2115a9f263d22e39a28917c;hp=d3f576c394b7c230b43f9f3b7c28839bca96a01e;hpb=e42302e08fa4d04cb21eaf7493f5f92b11169c03;p=m6w6%2Flibmemcached diff --git a/libhashkit/algorithm.h b/libhashkit/algorithm.h index d3f576c3..fa5f3ae5 100644 --- a/libhashkit/algorithm.h +++ b/libhashkit/algorithm.h @@ -11,38 +11,75 @@ * @brief HashKit Header */ -#ifndef HASHKIT_ALGORITHM_H -#define HASHKIT_ALGORITHM_H +#pragma once #ifdef __cplusplus extern "C" { #endif HASHKIT_API -uint32_t hashkit_default(const char *key, size_t key_length); +uint32_t libhashkit_one_at_a_time(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_fnv1_64(const char *key, size_t key_length); +uint32_t libhashkit_fnv1_64(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_fnv1a_64(const char *key, size_t key_length); +uint32_t libhashkit_fnv1a_64(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_fnv1_32(const char *key, size_t key_length); +uint32_t libhashkit_fnv1_32(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_fnv1a_32(const char *key, size_t key_length); +uint32_t libhashkit_fnv1a_32(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_crc32(const char *key, size_t key_length); -#ifdef HAVE_HSIEH_HASH +uint32_t libhashkit_crc32(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_hsieh(const char *key, size_t key_length); -#endif +uint32_t libhashkit_hsieh(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_murmur(const char *key, size_t key_length); +uint32_t libhashkit_murmur(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_jenkins(const char *key, size_t key_length); +uint32_t libhashkit_jenkins(const char *key, size_t key_length); + HASHKIT_API -uint32_t hashkit_md5(const char *key, size_t key_length); +uint32_t libhashkit_md5(const char *key, size_t key_length); + +HASHKIT_LOCAL +uint32_t hashkit_one_at_a_time(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_fnv1_32(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_fnv1a_32(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_crc32(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_hsieh(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_murmur(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_jenkins(const char *key, size_t key_length, void *context); + +HASHKIT_LOCAL +uint32_t hashkit_md5(const char *key, size_t key_length, void *context); + +HASHKIT_API +void libhashkit_md5_signature(const unsigned char *key, size_t length, unsigned char *result); #ifdef __cplusplus } #endif - -#endif /* HASHKIT_ALGORITHM_H */