~drizzle-trunk/drizzle/development

1130.3.47 by Monty Taylor
Added two more checks from cpplint. Added BSD license header for crc files.
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 * Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved.
4
 * 
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
7
 * are met:
8
 * 1. Redistributions of source code must retain the above copyright
9
 *    notice, this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright
11
 *    notice, this list of conditions and the following disclaimer in the
12
 *    documentation and/or other materials provided with the distribution.
13
 * 
14
 * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
 * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
18
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24
 * SUCH DAMAGE.
25
 */
26
1143.1.1 by Jay Pipes
Fix for bug#437896. Adds a non-ZLIB crc32 hash function taken from PostgreSQL/libmemcached and fixes casting problems in command_log and command_log_reader.
27
/* 
28
 * The crc32 functions and data was originally written by Spencer
29
 * Garrett <srg@quick.com> and was gleaned from the PostgreSQL source
30
 * tree via the files contrib/ltree/crc32.[ch] and from FreeBSD at
31
 * src/usr.bin/cksum/crc32.c.
32
 */
33
1259.6.2 by Joe Daly
rename hash_algorithm to algorithm
34
#ifndef DRIZZLED_ALGORITHM_CRC32_H
35
#define DRIZZLED_ALGORITHM_CRC32_H
1143.2.9 by Jay Pipes
Merge Monty's fixes for moving crc32 function into a library.
36
1241.9.1 by Monty Taylor
Removed global.h. Fixed all the headers.
37
#ifdef HAVE_SYS_TYPES_H
38
# include <sys/types.h>
39
#endif
40
1143.2.9 by Jay Pipes
Merge Monty's fixes for moving crc32 function into a library.
41
namespace drizzled
42
{
1259.6.2 by Joe Daly
rename hash_algorithm to algorithm
43
namespace algorithm
1143.2.9 by Jay Pipes
Merge Monty's fixes for moving crc32 function into a library.
44
{
45
46
uint32_t crc32(const char *key, size_t key_length);
47
1259.6.2 by Joe Daly
rename hash_algorithm to algorithm
48
} /* namespace algorithm */
1143.2.9 by Jay Pipes
Merge Monty's fixes for moving crc32 function into a library.
49
} /* namespace drizzled */
50
1259.6.2 by Joe Daly
rename hash_algorithm to algorithm
51
#endif /* DRIZZLED_ALGORITHM_CRC32_H */