blob: 78fd87b96a08343c5cc9949bfa7666619f8c04aa [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
Willy Tarreaua1bd1fa2019-03-29 17:26:33 +010025#include <inttypes.h>
Emmanuel Hocdet6afd8982018-02-05 15:23:39 +010026
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_ */