summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2009-01-14 20:06:29 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2009-01-14 20:06:29 +0100
commit3e353c58a138d87ae31a9a18ec716c08ba3dc3cf (patch)
treec39e7f47f8abe853f6e6fcd5e6fad17f6012c6db
parent6ceaa21f2a40cce6a9c45e99a9164618250fe6a3 (diff)
src: constify hashtable parameter in hash() callbacks
This patch constifies the hashtable parameter that is passed to the hash callbacks registered when the hashtable is created. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/hash.h7
-rw-r--r--src/cache.c8
-rw-r--r--src/filter.c4
-rw-r--r--src/hash.c3
4 files changed, 13 insertions, 9 deletions
diff --git a/include/hash.h b/include/hash.h
index d260f65..2fb0a27 100644
--- a/include/hash.h
+++ b/include/hash.h
@@ -17,8 +17,8 @@ struct hashtable {
uint32_t initval;
uint32_t datasize;
- uint32_t (*hash)(const void *data, struct hashtable *table);
- int (*compare)(const void *data1, const void *data2);
+ uint32_t (*hash)(const void *data, const struct hashtable *table);
+ int (*compare)(const void *data1, const void *data2);
struct slist_head members[0];
};
@@ -33,7 +33,8 @@ void hashtable_destroy_node(struct hashtable_node *h);
struct hashtable *
hashtable_create(int hashsize, int limit, int datasize,
- uint32_t (*hash)(const void *data, struct hashtable *table),
+ uint32_t (*hash)(const void *data,
+ const struct hashtable *table),
int (*compare)(const void *data1, const void *data2));
void hashtable_destroy(struct hashtable *h);
diff --git a/src/cache.c b/src/cache.c
index 525832b..553dddf 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -28,7 +28,8 @@
#include <stdlib.h>
#include <string.h>
-static uint32_t __hash4(const struct nf_conntrack *ct, struct hashtable *table)
+static uint32_t
+__hash4(const struct nf_conntrack *ct, const struct hashtable *table)
{
uint32_t a[4] = {
[0] = nfct_get_attr_u32(ct, ATTR_IPV4_SRC),
@@ -49,7 +50,8 @@ static uint32_t __hash4(const struct nf_conntrack *ct, struct hashtable *table)
return ((uint64_t)jhash2(a, 4, 0) * table->hashsize) >> 32;
}
-static uint32_t __hash6(const struct nf_conntrack *ct, struct hashtable *table)
+static uint32_t
+__hash6(const struct nf_conntrack *ct, const struct hashtable *table)
{
uint32_t a[10];
@@ -63,7 +65,7 @@ static uint32_t __hash6(const struct nf_conntrack *ct, struct hashtable *table)
return ((uint64_t)jhash2(a, 10, 0) * table->hashsize) >> 32;
}
-static uint32_t hash(const void *data, struct hashtable *table)
+static uint32_t hash(const void *data, const struct hashtable *table)
{
int ret = 0;
const struct us_conntrack *u = data;
diff --git a/src/filter.c b/src/filter.c
index 218ba0c..a3432a2 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -44,14 +44,14 @@ struct ct_filter {
#define FILTER_POOL_SIZE 128
#define FILTER_POOL_LIMIT INT_MAX
-static uint32_t hash(const void *data, struct hashtable *table)
+static uint32_t hash(const void *data, const struct hashtable *table)
{
const uint32_t *f = data;
return jhash_1word(*f, 0) % table->hashsize;
}
-static uint32_t hash6(const void *data, struct hashtable *table)
+static uint32_t hash6(const void *data, const struct hashtable *table)
{
return jhash2(data, 4, 0) % table->hashsize;
}
diff --git a/src/hash.c b/src/hash.c
index eb099dc..efc6a18 100644
--- a/src/hash.c
+++ b/src/hash.c
@@ -46,7 +46,8 @@ void hashtable_destroy_node(struct hashtable_node *h)
struct hashtable *
hashtable_create(int hashsize, int limit, int datasize,
- uint32_t (*hash)(const void *data, struct hashtable *table),
+ uint32_t (*hash)(const void *data,
+ const struct hashtable *table),
int (*compare)(const void *data1, const void *data2))
{
int i;