suricata
util-bloomfilter-counting.h
Go to the documentation of this file.
1
/* Copyright (C) 2007-2010 Open Information Security Foundation
2
*
3
* You can copy, redistribute or modify this Program under the terms of
4
* the GNU General Public License version 2 as published by the Free
5
* Software Foundation.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* version 2 along with this program; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15
* 02110-1301, USA.
16
*/
17
18
/**
19
* \file
20
*
21
* \author Victor Julien <victor@inliniac.net>
22
*/
23
24
#ifndef __BLOOMFILTERCOUNTING_H__
25
#define __BLOOMFILTERCOUNTING_H__
26
27
/* Bloom filter structure */
28
typedef
struct
BloomFilterCounting_
{
29
uint8_t *
array
;
30
uint32_t
array_size
;
/* size in buckets */
31
uint8_t
type
;
/* 1, 2 or 4 byte counters */
32
uint8_t
hash_iterations
;
33
uint32_t (*
Hash
)(
const
void
*, uint16_t, uint8_t, uint32_t);
34
}
BloomFilterCounting
;
35
36
/* prototypes */
37
BloomFilterCounting
*
BloomFilterCountingInit
(uint32_t, uint8_t, uint8_t, uint32_t (*Hash)(
const
void
*, uint16_t, uint8_t, uint32_t));
38
void
BloomFilterCountingFree
(
BloomFilterCounting
*);
39
void
BloomFilterCountingPrint
(
BloomFilterCounting
*);
40
int
BloomFilterCountingAdd
(
BloomFilterCounting
*,
const
void
*, uint16_t);
41
int
BloomFilterCountingRemove
(
BloomFilterCounting
*,
const
void
*, uint16_t);
42
int
BloomFilterCountingTest
(
BloomFilterCounting
*,
const
void
*, uint16_t);
43
44
void
BloomFilterCountingRegisterTests
(
void
);
45
46
#endif
/* __BLOOMFILTERCOUNTING_H__ */
47
BloomFilterCounting
struct BloomFilterCounting_ BloomFilterCounting
BloomFilterCountingPrint
void BloomFilterCountingPrint(BloomFilterCounting *)
Definition:
util-bloomfilter-counting.c:88
BloomFilterCounting_::array
uint8_t * array
Definition:
util-bloomfilter-counting.h:29
BloomFilterCounting_::hash_iterations
uint8_t hash_iterations
Definition:
util-bloomfilter-counting.h:32
BloomFilterCountingFree
void BloomFilterCountingFree(BloomFilterCounting *)
Definition:
util-bloomfilter-counting.c:78
BloomFilterCountingInit
BloomFilterCounting * BloomFilterCountingInit(uint32_t, uint8_t, uint8_t, uint32_t(*Hash)(const void *, uint16_t, uint8_t, uint32_t))
Definition:
util-bloomfilter-counting.c:34
BloomFilterCountingAdd
int BloomFilterCountingAdd(BloomFilterCounting *, const void *, uint16_t)
Definition:
util-bloomfilter-counting.c:99
BloomFilterCountingRemove
int BloomFilterCountingRemove(BloomFilterCounting *, const void *, uint16_t)
Definition:
util-bloomfilter-counting.c:127
BloomFilterCounting_
Definition:
util-bloomfilter-counting.h:28
BloomFilterCounting_::array_size
uint32_t array_size
Definition:
util-bloomfilter-counting.h:30
BloomFilterCounting_::Hash
uint32_t(* Hash)(const void *, uint16_t, uint8_t, uint32_t)
Definition:
util-bloomfilter-counting.h:33
BloomFilterCountingRegisterTests
void BloomFilterCountingRegisterTests(void)
Definition:
util-bloomfilter-counting.c:393
BloomFilterCounting_::type
uint8_t type
Definition:
util-bloomfilter-counting.h:31
BloomFilterCountingTest
int BloomFilterCountingTest(BloomFilterCounting *, const void *, uint16_t)
Definition:
util-bloomfilter-counting.c:183
src
util-bloomfilter-counting.h
Generated on Wed Oct 4 2023 23:30:42 for suricata by
1.8.18