blob: e225f043551ad030bc96281a25b2aaae9e3fd2d8 [file] [log] [blame]
Bhaskar98634f02013-10-29 23:30:51 -04001/*
2 * include/common/hash.h
3 * Macros for different hashing function.
4 *
5 * Copyright (C) 2000-2011 Willy Tarreau - w@1wt.eu
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation, version 2.1
10 * exclusively.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22#ifndef _COMMON_HASH_H_
23#define _COMMON_HASH_H_
24
Emmanuel Hocdet6afd8982018-02-05 15:23:39 +010025#include <stdint.h>
26
Dan Dubovikbd57a9f2014-07-08 08:51:03 -070027unsigned int hash_djb2(const char *key, int len);
28unsigned int hash_wt6(const char *key, int len);
29unsigned int hash_sdbm(const char *key, int len);
Willy Tarreauc829ee42015-01-20 19:17:09 +010030unsigned int hash_crc32(const char *key, int len);
Emmanuel Hocdet6afd8982018-02-05 15:23:39 +010031uint32_t hash_crc32c(const char *key, int len);
Bhaskar98634f02013-10-29 23:30:51 -040032
33#endif /* _COMMON_HASH_H_ */