summaryrefslogtreecommitdiff
path: root/db-4.8.30/mod_db4/mm_hash.h
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
committerJesse Morgan <jesse@jesterpm.net>2016-12-17 21:28:53 -0800
commit54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch)
tree18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/mod_db4/mm_hash.h
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/mod_db4/mm_hash.h')
-rw-r--r--db-4.8.30/mod_db4/mm_hash.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/db-4.8.30/mod_db4/mm_hash.h b/db-4.8.30/mod_db4/mm_hash.h
new file mode 100644
index 0000000..4a1a5c2
--- /dev/null
+++ b/db-4.8.30/mod_db4/mm_hash.h
@@ -0,0 +1,48 @@
+/*-
+ * Copyright (c) 2004-2009 Oracle. All rights reserved.
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0.txt
+ *
+ * authors: Thies C. Arntzen <thies@php.net>
+ * Sterling Hughes <sterling@php.net>
+ * George Schlossnagle <george@omniti.com>
+ */
+
+#ifndef _MM_HASH_H
+#define _MM_HASH_H
+#include "mm.h"
+
+typedef void (*MM_HashDtor)(void *);
+
+typedef struct _MM_Bucket {
+ struct _MM_Bucket *next;
+ char *key;
+ int length;
+ unsigned int hash;
+ void *data;
+} MM_Bucket;
+
+#define MM_HASH_SIZE 1009
+typedef struct _Hash {
+ MM_Bucket *buckets[ MM_HASH_SIZE ];
+ MM *mm;
+ MM_HashDtor dtor;
+ int nElements;
+} MM_Hash;
+
+MM_Hash *mm_hash_new(MM *, MM_HashDtor);
+void mm_hash_free(MM_Hash *table);
+void *mm_hash_find(MM_Hash *table, const void *key, int length);
+void mm_hash_add(MM_Hash *table, char *key, int length, void *data);
+void mm_hash_delete(MM_Hash *table, char *key, int length);
+void mm_hash_update(MM_Hash *table, char *key, int length, void *data);
+#endif
+
+/*
+Local variables:
+tab-width: 4
+c-basic-offset: 4
+End:
+vim600: noet sw=4 ts=4 fdm=marker
+vim<600: noet sw=4 ts=4
+*/