diff options
Diffstat (limited to 'libglusterfs/src/rbthash.h')
| -rw-r--r-- | libglusterfs/src/rbthash.h | 12 | 
1 files changed, 10 insertions, 2 deletions
diff --git a/libglusterfs/src/rbthash.h b/libglusterfs/src/rbthash.h index 73b5b8e3012..96d7a9a5166 100644 --- a/libglusterfs/src/rbthash.h +++ b/libglusterfs/src/rbthash.h @@ -24,6 +24,7 @@  #include "mem-pool.h"  #include "logging.h"  #include "common-utils.h" +#include "list.h"  #include <pthread.h> @@ -38,12 +39,14 @@ struct rbthash_bucket {  typedef struct rbthash_entry {          void            *data;          void            *key; -        int             keylen; -        uint32_t        keyhash; +        int              keylen; +        uint32_t         keyhash; +        struct list_head list;  } rbthash_entry_t;  typedef uint32_t (*rbt_hasher_t) (void *data, int len);  typedef void (*rbt_data_destroyer_t) (void *data); +typedef void (*rbt_traverse_t) (void *data, void *mydata);  typedef struct rbthash_table {          int                     size; @@ -54,6 +57,7 @@ typedef struct rbthash_table {          rbt_hasher_t            hashfunc;          rbt_data_destroyer_t    dfunc;          gf_boolean_t            pool_alloced; +        struct list_head        list;  } rbthash_table_t;  extern rbthash_table_t * @@ -75,4 +79,8 @@ rbthash_replace (rbthash_table_t *tbl, void *key, int keylen, void *newdata);  extern void  rbthash_table_destroy (rbthash_table_t *tbl); + +extern void +rbthash_table_traverse (rbthash_table_t *tbl, rbt_traverse_t traverse, +                        void *mydata);  #endif  | 
