7 #ifndef GLOBUS_HASHTABLE_H
8 #define GLOBUS_HASHTABLE_H
77 typedef struct globus_l_hashtable_s * globus_hashtable_t;
81 globus_hashtable_t * table,
87 globus_hashtable_copy(
88 globus_hashtable_t * dest_table,
89 globus_hashtable_t * src_table,
94 globus_hashtable_t * table,
99 globus_hashtable_t * table,
105 globus_hashtable_t * table,
111 globus_hashtable_t * table,
116 globus_hashtable_t * table,
121 globus_hashtable_t * table);
125 globus_hashtable_t * table);
143 globus_hashtable_t * table);
147 globus_hashtable_t * table);
151 globus_hashtable_t * table);
155 globus_hashtable_t * table);
159 globus_hashtable_t * table);
162 globus_hashtable_destroy_all(
163 globus_hashtable_t * table,
197 globus_hashtable_ulong_hash(
202 globus_hashtable_ulong_keyeq(
int(* globus_hashtable_hash_func_t)(void *key, int limit)
Definition: globus_hashtable.h:41
int globus_hashtable_destroy(globus_hashtable_t *table)
Destroy a hash tableDestroys a hashtable representation, releasing any resources used to represent th...
Definition: globus_hashtable.c:716
int globus_hashtable_string_keyeq(void *string1, void *string2)
Null-terminated string equality predicate.
Definition: globus_hashtable.c:810
void(* globus_hashtable_copy_func_t)(void **dest_key, void **dest_datum, void *src_key, void *src_datum)
Definition: globus_hashtable.h:62
int globus_hashtable_insert(globus_hashtable_t *table, void *key, void *datum)
Insert a datum into a hash table.
Definition: globus_hashtable.c:282
int globus_hashtable_int_hash(void *integer, int limit)
Integer hash function.
Definition: globus_hashtable.c:871
int globus_bool_t
Boolean type.
Definition: globus_types.h:78
void * globus_hashtable_first(globus_hashtable_t *table)
Initialize iterator to first hash table entry.
Definition: globus_hashtable.c:597
void * globus_hashtable_lookup(globus_hashtable_t *table, void *key)
Look up a datum in a hash table.
Definition: globus_hashtable.c:408
List data type.
Definition: globus_list.h:28
int globus_hashtable_init(globus_hashtable_t *table, int size, globus_hashtable_hash_func_t hash_func, globus_hashtable_keyeq_func_t keyeq_func)
Initialize a hash table.
Definition: globus_hashtable.c:68
void * globus_hashtable_prev(globus_hashtable_t *table)
Decrement hash table iterator.
Definition: globus_hashtable.c:681
void(* globus_hashtable_destructor_func_t)(void *datum)
Definition: globus_hashtable.h:74
int globus_hashtable_size(globus_hashtable_t *table)
Hash table size.
Definition: globus_hashtable.c:578
int globus_hashtable_string_hash(void *string, int limit)
Null-terminated string hash function.
Definition: globus_hashtable.c:788
void * globus_hashtable_next(globus_hashtable_t *table)
Increment hash table iterator.
Definition: globus_hashtable.c:624
void * globus_hashtable_update(globus_hashtable_t *table, void *key, void *datum)
Update a hash table mapping.
Definition: globus_hashtable.c:362
int globus_hashtable_to_list(globus_hashtable_t *table, globus_list_t **list)
Create a list of all datums in a hash table.
Definition: globus_hashtable.c:529
int globus_hashtable_voidp_hash(void *voidp, int limit)
Void pointer hash function.
Definition: globus_hashtable.c:834
globus_bool_t globus_hashtable_empty(globus_hashtable_t *table)
Test hash table emptiness.
Definition: globus_hashtable.c:565
int(* globus_hashtable_keyeq_func_t)(void *key1, void *key2)
Definition: globus_hashtable.h:53
int globus_hashtable_int_keyeq(void *integer1, void *integer2)
Integer equality predicate.
Definition: globus_hashtable.c:883
void * globus_hashtable_last(globus_hashtable_t *table)
Initialize iterator to last hash table entry.
Definition: globus_hashtable.c:654
int globus_hashtable_voidp_keyeq(void *voidp1, void *voidp2)
Void pointer equality predicate.
Definition: globus_hashtable.c:852
void * globus_hashtable_remove(globus_hashtable_t *table, void *key)
Remove a datum from a hash table.
Definition: globus_hashtable.c:448