# hash.h File Reference

Go to the source code of this file.

## Typedefs

typedef struct hash_table * | hashTable
typedef ht_iterator | htIterator

## Functions

hash_table * | htNewTable (int size)
void | htFreeHashTable (struct hash_table *ht)
void | htHashStats (const struct hash_table *t)
int | htInTable (struct hash_table *t, const char *dir, const char *base)
void | htAddToTable (struct hash_table *t, const char *dir, const char *base)
void | htPrintHashStats (struct hash_table *t)
int | htNumEntries (struct hash_table *t)
void | htRemoveFromTable (struct hash_table *t, const char *dir, const char *base)
void | htIterStart (htIterator *iter)
int | htIterGetNext (struct hash_table *t, htIterator *iter, const char **dir, const char **base)

## Detailed Description

Definition in file hash.h.

## Typedef Documentation

typedef struct struct hash_table* hashTable

| Definition at line 9 of file hash.h.

typedef struct ht_iterator htIterator

| Definition at line 16 of file hash.h.

## Function Documentation

void htAddToTable | ( | struct hash_table * | t,
|  | const char * | dir,
|  | const char * | base
| ) |

| Definition at line 133 of file hash.c. References bucket::allocated, filePath::base, CHUNK, bucket::data, filePath::dir, htHashStrings(), and in_table_aux(). Referenced by compareFileList().

void htFreeHashTable | ( | struct hash_table * | ht | ) |

| Definition at line 53 of file hash.c. References filePath::base, bucket::data, and filePath::dir. Referenced by ugFindUpgradePackages().

void htHashStats | ( | const struct hash_table * | t | ) |

| Definition at line 71 of file hash.c.

int htInTable | ( | struct hash_table * | t,
|  | const char * | dir,
|  | const char * | base
| ) |

| Definition at line 122 of file hash.c. References htHashStrings(), and in_table_aux(). Referenced by findPackagesWithRelocatedFiles(), and removeMovedFilesAlreadyHandled().

int htIterGetNext | ( | struct hash_table * | t,
|  | htIterator * | iter,
|  | const char ** | dir,
|  | const char ** | base
| ) |

| Definition at line 185 of file hash.c. References filePath::base, and filePath::dir.

void htIterStart | ( | htIterator * | iter | ) |

| Definition at line 180 of file hash.c.

struct hash_table* htNewTable | ( | int | size | ) |

| Definition at line 32 of file hash.c. References bucket::allocated, hash_table::bucket, CHUNK, bucket::data, hash_table::entries, bucket::firstFree, hash_table::overHead, and hash_table::size. Referenced by ugFindUpgradePackages().

int htNumEntries | ( | struct hash_table * | t | ) |

| Definition at line 176 of file hash.c.

void htPrintHashStats | ( | struct hash_table * | t | ) |

void htRemoveFromTable | ( | struct hash_table * | t,
|  | const char * | dir,
|  | const char * | base
| ) |

| Definition at line 158 of file hash.c. References htHashStrings(), and in_table_aux(). Referenced by findPackagesWithRelocatedFiles(), and removeMovedFilesAlreadyHandled().