]>
git.saurik.com Git - apple/libc.git/blob - include/strhash.h
1 #ifndef _STRHASH_H_INCLUDE
2 #define _STRHASH_H_INCLUDE
4 /* $FreeBSD: /repoman/r/ncvs/src/include/strhash.h,v 1.3 1999/08/28 04:59:30 peter Exp $ */
9 * Terry Jones & Jordan Hubbard
11 * PCS Computer Systeme, GmbH.
12 * Munich, West Germany
15 * All rights reserved.
17 * This is unsupported software and is subject to change without notice.
18 * the author makes no representations about the suitability of this software
19 * for any purpose. It is supplied "as is" without express or implied
22 * Permission to use, copy, modify, and distribute this software and its
23 * documentation for any purpose and without fee is hereby granted, provided
24 * that the above copyright notice appear in all copies and that both that
25 * copyright notice and this permission notice appear in supporting
26 * documentation, and that the name of the author not be used in
27 * advertising or publicity pertaining to distribution of the software
28 * without specific, written prior permission.
33 * This is the definition file for hash.c. The plunderer from down-under
34 * did the code, I just helped define the spec. That's why his name gets
40 typedef struct _node
{
51 #include <sys/cdefs.h>
54 hash_table
*hash_create(int size
);
55 void hash_destroy(hash_table
*table
, char *key
,
56 void (*nukefunc
)(char *k
, void *d
));
57 void *hash_search(hash_table
*table
, char *key
, void *datum
,
58 void (*replace_func
)(void *d
));
59 void hash_traverse(hash_table
*table
,
60 int (*func
)(char *k
, void *d
, void *arg
), void *arg
);
61 void hash_purge(hash_table
*table
, void (*purge_func
)(char *k
, void *d
));
64 extern void hash_stats();
68 #endif /* _STRHASH_H_INCLUDE */