xine-lib  1.2.10
goomsl_hash.h
Go to the documentation of this file.
1 #ifndef _GOOMSL_HASH_H
2 #define _GOOMSL_HASH_H
3 
5 typedef struct GOOM_HASH GoomHash;
6 
7 typedef union {
8  void *ptr;
9  int i;
10  float f;
11 } HashValue;
12 
14  char *key;
18 };
19 
20 struct GOOM_HASH {
23 };
24 
25 GoomHash *goom_hash_new(void);
26 void goom_hash_free(GoomHash *gh);
27 
28 void goom_hash_put(GoomHash *gh, const char *key, HashValue value);
29 HashValue *goom_hash_get(GoomHash *gh, const char *key);
30 
31 void goom_hash_put_int (GoomHash *_this, const char *key, int i);
32 void goom_hash_put_float(GoomHash *_this, const char *key, float f);
33 void goom_hash_put_ptr (GoomHash *_this, const char *key, void *ptr);
34 
35 typedef void (*GH_Func)(GoomHash *caller, const char *key, HashValue *value);
36 
37 void goom_hash_for_each(GoomHash *_this, GH_Func func);
39 
40 #endif /* _GOOM_HASH_H */
entry_new
static GoomHashEntry * entry_new(const char *key, HashValue value)
Definition: goomsl_hash.c:9
goom_hash_put_int
void goom_hash_put_int(GoomHash *_this, const char *key, int i)
Definition: goomsl_hash.c:90
entry_free
static void entry_free(GoomHashEntry *entry)
Definition: goomsl_hash.c:23
goom_hash_put
void goom_hash_put(GoomHash *_this, const char *key, HashValue value)
Definition: goomsl_hash.c:77
goom_hash_put
void goom_hash_put(GoomHash *gh, const char *key, HashValue value)
Definition: goomsl_hash.c:77
key
char key[16]
Definition: xine_speex_decoder.c:94
goom_hash_for_each
void goom_hash_for_each(GoomHash *_this, GH_Func func)
Definition: goomsl_hash.c:118
GOOM_HASH::number_of_puts
int number_of_puts
Definition: goomsl_hash.h:22
GOOM_HASH::root
GoomHashEntry * root
Definition: goomsl_hash.h:21
HashValue::i
int i
Definition: goomsl_hash.h:9
goom_hash_put_ptr
void goom_hash_put_ptr(GoomHash *_this, const char *key, void *ptr)
Definition: goomsl_hash.c:102
HashValue::f
float f
Definition: goomsl_hash.h:10
goom_hash_get
HashValue * goom_hash_get(GoomHash *gh, const char *key)
Definition: goomsl_hash.c:85
goom_hash_number_of_puts
int goom_hash_number_of_puts(GoomHash *_this)
Definition: goomsl_hash.c:122
_goom_hash_for_each
static void _goom_hash_for_each(GoomHash *_this, GoomHashEntry *entry, GH_Func func)
Definition: goomsl_hash.c:110
GOOM_HASH_ENTRY::lower
GoomHashEntry * lower
Definition: goomsl_hash.h:16
goom_hash_put_ptr
void goom_hash_put_ptr(GoomHash *_this, const char *key, void *ptr)
Definition: goomsl_hash.c:102
NULL
NULL
Definition: xine_plugin.c:78
GOOM_HASH_ENTRY::key
char * key
Definition: goomsl_hash.h:14
HashValue::ptr
void * ptr
Definition: goomsl_hash.h:8
GOOM_HASH_ENTRY::value
HashValue value
Definition: goomsl_hash.h:15
GOOM_HASH
Definition: goomsl_hash.h:20
entry_get
static HashValue * entry_get(GoomHashEntry *entry, const char *key)
Definition: goomsl_hash.c:51
HashValue
Definition: goomsl_hash.h:7
GOOM_HASH_ENTRY::upper
GoomHashEntry * upper
Definition: goomsl_hash.h:17
goom_hash_put_int
void goom_hash_put_int(GoomHash *_this, const char *key, int i)
Definition: goomsl_hash.c:90
goom_hash_put_float
void goom_hash_put_float(GoomHash *_this, const char *key, float f)
Definition: goomsl_hash.c:96
GH_Func
void(* GH_Func)(GoomHash *caller, const char *key, HashValue *value)
Definition: goomsl_hash.h:35
goom_hash_new
GoomHash * goom_hash_new(void)
Definition: goomsl_hash.c:65
goom_hash_for_each
void goom_hash_for_each(GoomHash *_this, GH_Func func)
Definition: goomsl_hash.c:118
goom_hash_put_float
void goom_hash_put_float(GoomHash *_this, const char *key, float f)
Definition: goomsl_hash.c:96
goomsl_hash.h
goom_hash_number_of_puts
int goom_hash_number_of_puts(GoomHash *_this)
Definition: goomsl_hash.c:122
GOOM_HASH_ENTRY
Definition: goomsl_hash.h:13
config.h
goom_hash_get
HashValue * goom_hash_get(GoomHash *_this, const char *key)
Definition: goomsl_hash.c:85
goom_hash_free
void goom_hash_free(GoomHash *_this)
Definition: goomsl_hash.c:72
goom_hash_new
GoomHash * goom_hash_new(void)
Definition: goomsl_hash.c:65
entry_put
static void entry_put(GoomHashEntry *entry, const char *key, HashValue value)
Definition: goomsl_hash.c:32
goom_hash_free
void goom_hash_free(GoomHash *gh)
Definition: goomsl_hash.c:72