1 |
/* hash.h -- decls for hash table |
/* hash.h -- decls for hash table |
2 |
Copyright (C) 1995 Free Software Foundation, Inc. |
Copyright 1995, 2001 Free Software Foundation, Inc. |
3 |
Written by Greg McGary <gkm@gnu.ai.mit.edu> |
Written by Greg McGary <gkm@gnu.ai.mit.edu> |
4 |
|
|
5 |
This program is free software; you can redistribute it and/or modify |
This program is free software; you can redistribute it and/or modify |
47 |
unsigned long cardinality, unsigned long size)); |
unsigned long cardinality, unsigned long size)); |
48 |
void **hash_find_slot __P((struct hash_table *ht, void const *key)); |
void **hash_find_slot __P((struct hash_table *ht, void const *key)); |
49 |
void *hash_find_item __P((struct hash_table *ht, void const *key)); |
void *hash_find_item __P((struct hash_table *ht, void const *key)); |
50 |
void *hash_insert __P((struct hash_table *ht, void *item)); |
const void *hash_insert __P((struct hash_table *ht, void *item)); |
51 |
void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot)); |
const void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot)); |
52 |
void *hash_delete __P((struct hash_table *ht, void const *item)); |
const void *hash_delete __P((struct hash_table *ht, void const *item)); |
53 |
void *hash_delete_at __P((struct hash_table *ht, void const *slot)); |
const void *hash_delete_at __P((struct hash_table *ht, void const *slot)); |
54 |
void hash_delete_items __P((struct hash_table *ht)); |
void hash_delete_items __P((struct hash_table *ht)); |
55 |
void hash_free_items __P((struct hash_table *ht)); |
void hash_free_items __P((struct hash_table *ht)); |
56 |
void hash_free __P((struct hash_table *ht, int free_items)); |
void hash_free __P((struct hash_table *ht, int free_items)); |
59 |
void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare)); |
void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare)); |
60 |
|
|
61 |
extern void *hash_deleted_item; |
extern void *hash_deleted_item; |
62 |
#define HASH_VACANT(item) ((item) == 0 || (void *) (item) == hash_deleted_item) |
#define HASH_VACANT(item) \ |
63 |
|
((item) == 0 || (const void *) (item) == hash_deleted_item) |
64 |
|
|
65 |
|
|
66 |
/* hash and comparison macros for string keys. */ |
/* hash and comparison macros for string keys. */ |