quakeforge/ruamoko/include/hash.h

26 lines
1.2 KiB
C
Raw Normal View History

2003-04-07 16:38:34 +00:00
#ifndef __ruamoko_hash_h
#define __ruamoko_hash_h
struct _hashtab_t {};
2011-02-13 12:25:36 +00:00
typedef struct _hashtab_t *hashtab_t;
2003-04-07 16:38:34 +00:00
2011-02-13 12:25:36 +00:00
@extern hashtab_t Hash_NewTable (integer size, string gk (void *ele, void *data), void f (void *ele, void *data), void *ud);
@extern void Hash_SetHashCompare (hashtab_t tab, unsigned gh (void *ele, void *data), integer cmp (void *ele1, void *ele2, void *data));
@extern void Hash_DelTable (hashtab_t tab);
@extern void Hash_FlushTable (hashtab_t tab);
2011-02-13 12:25:36 +00:00
@extern integer Hash_Add (hashtab_t tab, void *ele);
@extern integer Hash_AddElement (hashtab_t tab, void *ele);
@extern void *Hash_Find (hashtab_t tab, string key);
@extern void *Hash_FindElement (hashtab_t tab, void *ele);
@extern void **Hash_FindList (hashtab_t tab, string key);
@extern void **Hash_FindElementList (hashtab_t tab, void *ele);
@extern void *Hash_Del (hashtab_t tab, string key);
@extern void *Hash_DelElement (hashtab_t tab, void *ele);
@extern void Hash_Free (hashtab_t tab, void *ele);
@extern integer Hash_String (string str);
2011-02-13 12:25:36 +00:00
@extern integer Hash_Buffer (void *buf, integer len);
@extern void **Hash_GetList (hashtab_t tab);
@extern void Hash_Stats (hashtab_t tab);
2003-04-07 16:38:34 +00:00
#endif // __ruamoko_hash_h