suricata
util-rohash.h
Go to the documentation of this file.
1/* Copyright (C) 2007-2012 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 SURICATA_UTIL_ROHASH_H
25#define SURICATA_UTIL_ROHASH_H
26
27typedef struct ROHashTable_ {
28 uint8_t locked;
29 uint8_t hash_bits;
30 uint16_t item_size;
31 uint32_t items;
32 void *data;
35
36/* init time */
37ROHashTable *ROHashInit(uint8_t hash_bits, uint16_t item_size);
39void ROHashFree(ROHashTable *table);
40int ROHashInitQueueValue(ROHashTable *table, void *value, uint16_t size);
41uint32_t ROHashMemorySize(ROHashTable *table);
42
43/* run time */
44void *ROHashLookup(ROHashTable *table, void *data, uint16_t size);
45
46#endif /* SURICATA_UTIL_ROHASH_H */
Flow * head
Definition flow-hash.h:1
uint16_t item_size
Definition util-rohash.h:30
TAILQ_HEAD(, ROHashTableItem_) head
uint8_t locked
Definition util-rohash.h:28
uint8_t hash_bits
Definition util-rohash.h:29
uint32_t items
Definition util-rohash.h:31
uint32_t ROHashMemorySize(ROHashTable *table)
void * ROHashLookup(ROHashTable *table, void *data, uint16_t size)
struct ROHashTable_ ROHashTable
void ROHashFree(ROHashTable *table)
Definition util-rohash.c:91
int ROHashInitFinalize(ROHashTable *table)
create final hash data structure
ROHashTable * ROHashInit(uint8_t hash_bits, uint16_t item_size)
initialize a new rohash
Definition util-rohash.c:64
int ROHashInitQueueValue(ROHashTable *table, void *value, uint16_t size)
Add a new value to the hash.