summaryrefslogtreecommitdiff
path: root/isisd/dict.h
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/dict.h')
-rw-r--r--isisd/dict.h128
1 files changed, 61 insertions, 67 deletions
diff --git a/isisd/dict.h b/isisd/dict.h
index 1a5e9d7c..9395d1c0 100644
--- a/isisd/dict.h
+++ b/isisd/dict.h
@@ -14,7 +14,7 @@
* into proprietary software; there is no requirement for such software to
* contain a copyright notice related to this source.
*
- * $Id: dict.h,v 1.2 2004/09/10 20:48:21 hasso Exp $
+ * $Id: dict.h,v 1.3 2005/09/25 12:04:25 hasso Exp $
* $Name: $
*/
@@ -31,41 +31,37 @@
*/
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
- typedef unsigned long dictcount_t;
+typedef unsigned long dictcount_t;
#define DICTCOUNT_T_MAX ULONG_MAX
/*
* The dictionary is implemented as a red-black tree
*/
- typedef enum
- { dnode_red, dnode_black } dnode_color_t;
+typedef enum { dnode_red, dnode_black } dnode_color_t;
- typedef struct dnode_t
- {
-#if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
+typedef struct dnode_t {
+ #if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
struct dnode_t *dict_left;
struct dnode_t *dict_right;
struct dnode_t *dict_parent;
dnode_color_t dict_color;
const void *dict_key;
void *dict_data;
-#else
+ #else
int dict_dummy;
-#endif
- } dnode_t;
+ #endif
+} dnode_t;
- typedef int (*dict_comp_t) (const void *, const void *);
- typedef dnode_t *(*dnode_alloc_t) (void *);
- typedef void (*dnode_free_t) (dnode_t *, void *);
+typedef int (*dict_comp_t)(const void *, const void *);
+typedef dnode_t *(*dnode_alloc_t)(void *);
+typedef void (*dnode_free_t)(dnode_t *, void *);
- typedef struct dict_t
- {
-#if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
+typedef struct dict_t {
+ #if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
dnode_t dict_nilnode;
dictcount_t dict_nodecount;
dictcount_t dict_maxcount;
@@ -74,61 +70,59 @@ extern "C"
dnode_free_t dict_freenode;
void *dict_context;
int dict_dupes;
-#else
+ #else
int dict_dummmy;
-#endif
- } dict_t;
+ #endif
+} dict_t;
- typedef void (*dnode_process_t) (dict_t *, dnode_t *, void *);
+typedef void (*dnode_process_t)(dict_t *, dnode_t *, void *);
- typedef struct dict_load_t
- {
-#if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
+typedef struct dict_load_t {
+ #if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
dict_t *dict_dictptr;
dnode_t dict_nilnode;
-#else
+ #else
int dict_dummmy;
-#endif
- } dict_load_t;
-
- extern dict_t *dict_create (dictcount_t, dict_comp_t);
- extern void dict_set_allocator (dict_t *, dnode_alloc_t, dnode_free_t,
- void *);
- extern void dict_destroy (dict_t *);
- extern void dict_free_nodes (dict_t *);
- extern void dict_free (dict_t *);
- extern dict_t *dict_init (dict_t *, dictcount_t, dict_comp_t);
- extern void dict_init_like (dict_t *, const dict_t *);
- extern int dict_verify (dict_t *);
- extern int dict_similar (const dict_t *, const dict_t *);
- extern dnode_t *dict_lookup (dict_t *, const void *);
- extern dnode_t *dict_lower_bound (dict_t *, const void *);
- extern dnode_t *dict_upper_bound (dict_t *, const void *);
- extern void dict_insert (dict_t *, dnode_t *, const void *);
- extern dnode_t *dict_delete (dict_t *, dnode_t *);
- extern int dict_alloc_insert (dict_t *, const void *, void *);
- extern void dict_delete_free (dict_t *, dnode_t *);
- extern dnode_t *dict_first (dict_t *);
- extern dnode_t *dict_last (dict_t *);
- extern dnode_t *dict_next (dict_t *, dnode_t *);
- extern dnode_t *dict_prev (dict_t *, dnode_t *);
- extern dictcount_t dict_count (dict_t *);
- extern int dict_isempty (dict_t *);
- extern int dict_isfull (dict_t *);
- extern int dict_contains (dict_t *, dnode_t *);
- extern void dict_allow_dupes (dict_t *);
- extern int dnode_is_in_a_dict (dnode_t *);
- extern dnode_t *dnode_create (void *);
- extern dnode_t *dnode_init (dnode_t *, void *);
- extern void dnode_destroy (dnode_t *);
- extern void *dnode_get (dnode_t *);
- extern const void *dnode_getkey (dnode_t *);
- extern void dnode_put (dnode_t *, void *);
- extern void dict_process (dict_t *, void *, dnode_process_t);
- extern void dict_load_begin (dict_load_t *, dict_t *);
- extern void dict_load_next (dict_load_t *, dnode_t *, const void *);
- extern void dict_load_end (dict_load_t *);
- extern void dict_merge (dict_t *, dict_t *);
+ #endif
+} dict_load_t;
+
+extern dict_t *dict_create(dictcount_t, dict_comp_t);
+extern void dict_set_allocator(dict_t *, dnode_alloc_t, dnode_free_t, void *);
+extern void dict_destroy(dict_t *);
+extern void dict_free_nodes(dict_t *);
+extern void dict_free(dict_t *);
+extern dict_t *dict_init(dict_t *, dictcount_t, dict_comp_t);
+extern void dict_init_like(dict_t *, const dict_t *);
+extern int dict_verify(dict_t *);
+extern int dict_similar(const dict_t *, const dict_t *);
+extern dnode_t *dict_lookup(dict_t *, const void *);
+extern dnode_t *dict_lower_bound(dict_t *, const void *);
+extern dnode_t *dict_upper_bound(dict_t *, const void *);
+extern void dict_insert(dict_t *, dnode_t *, const void *);
+extern dnode_t *dict_delete(dict_t *, dnode_t *);
+extern int dict_alloc_insert(dict_t *, const void *, void *);
+extern void dict_delete_free(dict_t *, dnode_t *);
+extern dnode_t *dict_first(dict_t *);
+extern dnode_t *dict_last(dict_t *);
+extern dnode_t *dict_next(dict_t *, dnode_t *);
+extern dnode_t *dict_prev(dict_t *, dnode_t *);
+extern dictcount_t dict_count(dict_t *);
+extern int dict_isempty(dict_t *);
+extern int dict_isfull(dict_t *);
+extern int dict_contains(dict_t *, dnode_t *);
+extern void dict_allow_dupes(dict_t *);
+extern int dnode_is_in_a_dict(dnode_t *);
+extern dnode_t *dnode_create(void *);
+extern dnode_t *dnode_init(dnode_t *, void *);
+extern void dnode_destroy(dnode_t *);
+extern void *dnode_get(dnode_t *);
+extern const void *dnode_getkey(dnode_t *);
+extern void dnode_put(dnode_t *, void *);
+extern void dict_process(dict_t *, void *, dnode_process_t);
+extern void dict_load_begin(dict_load_t *, dict_t *);
+extern void dict_load_next(dict_load_t *, dnode_t *, const void *);
+extern void dict_load_end(dict_load_t *);
+extern void dict_merge(dict_t *, dict_t *);
#if defined(DICT_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
#ifdef KAZLIB_SIDEEFFECT_DEBUG