#include "system.h"
#include <rpmhash.h>
#include "debug.h"
Include dependency graph for rpmhash.c:
Go to the source code of this file.
Data Structures | |
struct | hashBucket_s |
struct | hashTable_s |
Typedefs | |
typedef const void * | voidptr |
typedef hashBucket_s * | hashBucket |
Functions | |
static void * | _free (const void *p) |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. | |
static hashBucket | findEntry (hashTable ht, const void *key) |
Find entry in hash table. | |
static uint32_t | hashFunctionString (uint32_t h, const void *data, size_t size) |
Return hash value of a string. | |
static int | hashEqualityString (const void *key1, const void *key2) |
Compare two hash table entries for equality. | |
hashTable | htCreate (int numBuckets, int keySize, int freeData, hashFunctionType fn, hashEqualityType eq) |
Create hash table. | |
void | htAddEntry (hashTable ht, const void *key, const void *data) |
Add item to hash table. | |
hashTable | htFree (hashTable ht) |
Destroy hash table. | |
int | htHasEntry (hashTable ht, const void *key) |
Check for key in hash table. | |
int | htGetEntry (hashTable ht, const void *key, const void ***data, int *dataCount, const void **tableKey) |
Retrieve item from hash table. |
Definition in file rpmhash.c.
|
|
|
|
|
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
|
|
Find entry in hash table.
Definition at line 53 of file rpmhash.c. References hashTable_s::buckets, hashTable_s::eq, hashTable_s::fn, hashBucket_s::key, hashBucket_s::next, and hashTable_s::numBuckets. |
|
Compare two hash table entries for equality.
Definition at line 107 of file rpmhash.c. Referenced by htCreate(). |
|
Return hash value of a string.
Definition at line 79 of file rpmhash.c. Referenced by htCreate(). |
|
Add item to hash table.
Definition at line 134 of file rpmhash.c. References hashTable_s::buckets, hashBucket_s::data, hashBucket_s::dataCount, hashTable_s::eq, hashTable_s::fn, hashBucket_s::key, hashTable_s::keySize, hashBucket_s::next, hashTable_s::numBuckets, xmalloc(), and xrealloc(). Referenced by doLookup(), and rpmtsRun(). |
|
Create hash table. If keySize > 0, the key is duplicated within the table (which costs memory, but may be useful anyway.
Definition at line 115 of file rpmhash.c. References hashEqualityString(), hashFunctionString(), xcalloc(), and xmalloc(). Referenced by fpCacheCreate(), and rpmtsRun(). |
|
Destroy hash table.
Definition at line 167 of file rpmhash.c. References _free(), hashTable_s::buckets, hashBucket_s::data, hashTable_s::freeData, hashBucket_s::key, hashTable_s::keySize, and hashBucket_s::next. Referenced by fpCacheFree(), and rpmtsRun(). |
|
Retrieve item from hash table.
Definition at line 210 of file rpmhash.c. References hashBucket_s::data, hashBucket_s::dataCount, findEntry(), and hashBucket_s::key. Referenced by cacheContainsDirectory(), and handleOverlappedFiles(). |
|
Check for key in hash table.
Definition at line 203 of file rpmhash.c. References findEntry(). |