summaryrefslogtreecommitdiff
path: root/src/post/goom/goom_hash.h
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2004-06-27 11:58:47 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2004-06-27 11:58:47 +0000
commit90f730ca714fb53f47ee16be46fcb06bd98d53ed (patch)
treec028f9afa30ec4137501fdada9c6ef1130daf2fb /src/post/goom/goom_hash.h
parent29f04d913513a470bc91aff3e6c0fca699e460f8 (diff)
downloadxine-lib-90f730ca714fb53f47ee16be46fcb06bd98d53ed.tar.gz
xine-lib-90f730ca714fb53f47ee16be46fcb06bd98d53ed.tar.bz2
include the new goom version 2k4-dev15
everybody: test, test, test CVS patchset: 6756 CVS date: 2004/06/27 11:58:47
Diffstat (limited to 'src/post/goom/goom_hash.h')
-rw-r--r--src/post/goom/goom_hash.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/post/goom/goom_hash.h b/src/post/goom/goom_hash.h
new file mode 100644
index 000000000..c869e67e4
--- /dev/null
+++ b/src/post/goom/goom_hash.h
@@ -0,0 +1,34 @@
+#ifndef _GOOM_HASH_H
+#define _GOOM_HASH_H
+
+typedef struct GOOM_HASH_ENTRY GoomHashEntry;
+typedef struct GOOM_HASH GoomHash;
+
+typedef union {
+ void *ptr;
+ int i;
+ float f;
+} HashValue;
+
+struct GOOM_HASH_ENTRY {
+ char *key;
+ HashValue value;
+ GoomHashEntry *lower;
+ GoomHashEntry *upper;
+};
+
+struct GOOM_HASH {
+ GoomHashEntry *root;
+};
+
+GoomHash *goom_hash_new();
+void goom_hash_free(GoomHash *gh);
+
+void goom_hash_put(GoomHash *gh, const char *key, HashValue value);
+HashValue *goom_hash_get(GoomHash *gh, const char *key);
+
+void goom_hash_put_int(GoomHash *_this, const char *key, int i);
+void goom_hash_put_float(GoomHash *_this, const char *key, float f);
+void goom_hash_put_ptr(GoomHash *_this, const char *key, void *ptr);
+
+#endif /* _GOOM_HASH_H */