diff options
author | Max <mparisi@stevens.edu> | 2020-10-29 14:27:37 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-10-29 14:27:37 -0400 |
commit | 47a1bdea8872c79dd2cd7d75ca7f254b9ed13170 (patch) | |
tree | f254bbac3fde59afbc4abe7f07ea763bed53b20c /include/SDK/DWC/gamespy/hashtable.h | |
parent | f13fcff4a5f496e8bc1fa4ff759698d9ac37c478 (diff) |
match up to func_801DCFE4, add string.h and stdlib.h, add types.h to Makefile include path, and move GameSpy under DWC
Diffstat (limited to 'include/SDK/DWC/gamespy/hashtable.h')
-rw-r--r-- | include/SDK/DWC/gamespy/hashtable.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/SDK/DWC/gamespy/hashtable.h b/include/SDK/DWC/gamespy/hashtable.h new file mode 100644 index 0000000..beb4812 --- /dev/null +++ b/include/SDK/DWC/gamespy/hashtable.h @@ -0,0 +1,34 @@ +#ifndef POKEREVO_HASHTABLE_H
+#define POKEREVO_HASHTABLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <DWC/gamespy/darray.h>
+
+typedef s32 (*HashFunction)(void *, s32);
+
+typedef struct HashTable {
+ DArray **chains;
+ s32 size;
+ DtorFunction dtor;
+ HashFunction hashFunc;
+ CompareFunction compar;
+} HashTable;
+
+HashTable *TableNew(u32 p1, s32 p2, HashFunction hf, CompareFunction cmp, DtorFunction dtor);
+HashTable *TableNew2(u32 p1, s32 size, s32 p3, HashFunction hf, CompareFunction cmp, DtorFunction dtor);
+void TableFree(HashTable *table);
+s32 TableCount(HashTable *table);
+void TableEnter(HashTable *table, void *elem);
+BOOL TableRemove(HashTable *table, void *elem);
+void *TableLookup(HashTable *table, void *elem);
+void TableMapSafe(HashTable *table, MapFunction p2, s32 p3);
+void *TableMapSafe2(HashTable *table, MapFunction p2, s32 p3);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //POKEREVO_HASHTABLE_H
|