Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'MC_LTL'
[simgrid.git] / include / xbt / hash.h
1 /* hash.h - Various hashing functions.                                      */
2
3 /* Copyright (c) 2008, 2009, 2010. The SimGrid Team.
4  * All rights reserved.                                                     */
5
6 /* This program is free software; you can redistribute it and/or modify it
7  * under the terms of the license (GNU LGPL) which comes with this package. */
8
9 #ifndef XBT_HASH_H
10 #define XBT_HASH_H
11 #include "xbt/str.h"
12
13 /* Chord needs a SHA1 algorithm. Let's drop it in there */
14 typedef struct s_xbt_sha_ s_xbt_sha_t, *xbt_sha_t;
15
16 XBT_PUBLIC(xbt_sha_t) xbt_sha_new(void);
17 XBT_PUBLIC(void) xbt_sha_free(xbt_sha_t sha);
18
19 XBT_PUBLIC(void) xbt_sha_feed(xbt_sha_t sha, const unsigned char *data,
20                               size_t len);
21 XBT_PUBLIC(void) xbt_sha_reset(xbt_sha_t sha);
22
23 XBT_PUBLIC(void) xbt_sha_print(xbt_sha_t sha, char *hash);
24 XBT_PUBLIC(char *) xbt_sha_read(xbt_sha_t sha);
25
26 XBT_PUBLIC(void) xbt_sha(const char *data, char *hash);
27
28
29 #endif                          /* XBT_HASH_H */