# python/hash.h

Go to the documentation of this file.

    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 /*@only@*/ /*@null@*/ struct hash_table * htNewTable(int size);
    00019 void htFreeHashTable(/*@only@*/ struct hash_table *ht);
    00020 void htHashStats(const struct hash_table *t);
    00021 int htInTable(struct hash_table *t,  const char * dir, const char * base);
    00022 void htAddToTable(struct hash_table *t, const char * dir, const char * base);
    00023 void htPrintHashStats(struct hash_table *t);
    00024 int htNumEntries(struct hash_table *t);
    00025 void htRemoveFromTable(struct hash_table *t, const char * dir,
    00026                        const char * base);
    00027
    00028 /* these use static storage */
    00029 void htIterStart(htIterator * iter);
    00030 int htIterGetNext(struct hash_table * t, htIterator * iter,
    00031                   const char ** dir, const char ** base);
    00032
    00033 #endif