00001 #ifndef H_HASH 00002 #define H_HASH 00003 00008 struct hash_table; 00009 typedef struct hash_table * hashTable; 00010 00011 struct ht_iterator { 00012 int bucket; 00013 int item; 00014 }; 00015 00016 typedef struct ht_iterator htIterator; 00017 00018 struct hash_table *htNewTable(int size); 00019 void htFreeHashTable(struct hash_table *ht); 00020 int htInTable(struct hash_table *t, const char * dir, const char * base); 00021 void htAddToTable(struct hash_table *t, const char * dir, const char * base); 00022 void htPrintHashStats(struct hash_table *t); 00023 int htNumEntries(struct hash_table *t); 00024 void htRemoveFromTable(struct hash_table *t, const char * dir, 00025 const char * base); 00026 00027 /* these use static storage */ 00028 void htIterStart(htIterator * iter); 00029 int htIterGetNext(struct hash_table * t, htIterator * iter, 00030 const char ** dir, const char ** base); 00031 00032 #endif
1.2.6-20010408 written by Dimitri van Heesch,
© 1997-2001