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, 67 insertions, 61 deletions
diff --git a/isisd/dict.h b/isisd/dict.h
index 2977a90f..1a5e9d7c 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.1 2003/12/23 08:09:48 jardin Exp $
+ * $Id: dict.h,v 1.2 2004/09/10 20:48:21 hasso Exp $
* $Name: $
*/
@@ -31,37 +31,41 @@
*/
#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;
@@ -70,59 +74,61 @@ typedef struct dict_t {
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