blob: c17f8c9ff42a4cc80e84a30176d2be730d62c3fe [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
Willy Tarreau340b07e2020-01-15 10:54:42 +010027unsigned int hash_djb2(const void *input, int len);
28unsigned int hash_wt6(const void *input, int len);
29unsigned int hash_sdbm(const void *input, int len);
30unsigned int hash_crc32(const void *input, int len);
31uint32_t hash_crc32c(const void *input, int len);
Bhaskar98634f02013-10-29 23:30:51 -040032
33#endif /* _COMMON_HASH_H_ */