Import BSDDB 4.7.25 (as of svn r89086)

This commit is contained in:
Zachary Ware
2017-09-04 13:40:25 -05:00
parent 4b29e0458f
commit 8f590873d0
4781 changed files with 2241032 additions and 6 deletions

48
mod_db4/mm_hash.h Normal file
View File

@@ -0,0 +1,48 @@
/*-
* Copyright (c) 2004,2008 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
*/