1 /* HashKit
2  * Copyright (C) 2009 Brian Aker
3  * All rights reserved.
4  *
5  * Use and distribution licensed under the BSD license.  See
6  * the COPYING file in the parent directory for full text.
7  */
8 
9 /**
10  * @file
11  * @brief HashKit Header
12  */
13 
14 #ifndef HASHKIT_ALGORITHM_H
15 #define HASHKIT_ALGORITHM_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 HASHKIT_API
22 uint32_t libhashkit_one_at_a_time(const char *key, size_t key_length);
23 
24 HASHKIT_API
25 uint32_t libhashkit_fnv1_64(const char *key, size_t key_length);
26 
27 HASHKIT_API
28 uint32_t libhashkit_fnv1a_64(const char *key, size_t key_length);
29 
30 HASHKIT_API
31 uint32_t libhashkit_fnv1_32(const char *key, size_t key_length);
32 
33 HASHKIT_API
34 uint32_t libhashkit_fnv1a_32(const char *key, size_t key_length);
35 
36 HASHKIT_API
37 uint32_t libhashkit_crc32(const char *key, size_t key_length);
38 
39 HASHKIT_API
40 uint32_t libhashkit_jenkins(const char *key, size_t key_length);
41 
42 HASHKIT_API
43 uint32_t libhashkit_md5(const char *key, size_t key_length);
44 
45 HASHKIT_LOCAL
46 uint32_t hashkit_one_at_a_time(const char *key, size_t key_length, void *context);
47 
48 HASHKIT_LOCAL
49 uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *context);
50 
51 HASHKIT_LOCAL
52 uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *context);
53 
54 HASHKIT_LOCAL
55 uint32_t hashkit_fnv1_32(const char *key, size_t key_length, void *context);
56 
57 HASHKIT_LOCAL
58 uint32_t hashkit_fnv1a_32(const char *key, size_t key_length, void *context);
59 
60 HASHKIT_LOCAL
61 uint32_t hashkit_crc32(const char *key, size_t key_length, void *context);
62 
63 HASHKIT_LOCAL
64 uint32_t hashkit_jenkins(const char *key, size_t key_length, void *context);
65 
66 HASHKIT_LOCAL
67 uint32_t hashkit_md5(const char *key, size_t key_length, void *context);
68 
69 HASHKIT_API
70 void libhashkit_md5_signature(const unsigned char *key, size_t length, unsigned char *result);
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* HASHKIT_ALGORITHM_H */
77