#ifndef _gdupl_h_ #define _gdupl_h_ #include struct _GHashNode { gpointer key; gpointer value; struct _GHashNode *next; }; struct _GHashIter { GHashTable *hash; gint i; struct _GHashNode *node; }; typedef struct _GHashNode GHashNode; typedef struct _GHashIter GHashIter; struct _GHashTable { gint size; gint nnodes; GHashNode **nodes; GHashFunc hash_func; GEqualFunc key_equal_func; GDestroyNotify key_destroy_func; GDestroyNotify value_destroy_func; }; GHashIter * g_hash_iter_new (GHashTable *hash_table); gpointer g_hash_iter_first (GHashIter *, gpointer *key, gpointer *val); gpointer g_hash_iter_next (GHashIter *, gpointer *key, gpointer *val); void g_hash_iter_destroy (GHashIter *); #endif