#include "system.h"
#include <rpmlib.h>
#include "rpmhash.h"
#include "debug.h"
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 | |
hashBucket | findEntry (hashTable ht, const void *key) |
Find entry in hash table. | |
int | hashEqualityString (const void *key1, const void *key2) |
Compare two hash table entries for equality. | |
unsigned int | hashFunctionString (const void *string) |
Return hash value of a string. | |
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. | |
void | 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.
|
Definition at line 13 of file rpmhash.c. Referenced by findEntry(), htAddEntry(), htFree(), htGetEntry(), and htHasEntry(). |
|
|
|
Find entry in hash table.
Definition at line 42 of file rpmhash.c. References hashTable_s::buckets, hashTable_s::eq, hashTable_s::fn, hashBucket, hashTable, hashBucket_s::key, hashBucket_s::next, and hashTable_s::numBuckets. |
|
Compare two hash table entries for equality.
Definition at line 59 of file rpmhash.c. Referenced by fpCacheCreate(). |
|
Return hash value of a string.
Definition at line 66 of file rpmhash.c. Referenced by fpCacheCreate(). |
|
Add item to hash table.
Definition at line 101 of file rpmhash.c. References hashTable_s::buckets, hashBucket_s::data, hashBucket_s::dataCount, hashTable_s::eq, hashTable_s::fn, hashBucket, hashTable, hashBucket_s::key, hashTable_s::keySize, hashBucket_s::next, hashTable_s::numBuckets, xmalloc(), and xrealloc(). Referenced by doLookup(), and rpmRunTransactions(). |
|
Create hash table. If keySize > 0, the key is duplicated within the table (which costs memory, but may be useful anyway.
Definition at line 83 of file rpmhash.c. References hashEqualityType, hashFunctionType, hashTable, xcalloc(), and xmalloc(). Referenced by fpCacheCreate(), and rpmRunTransactions(). |
|
Destroy hash table.
Definition at line 133 of file rpmhash.c. References _free(), hashTable_s::buckets, hashBucket_s::data, hashTable_s::freeData, hashBucket, hashTable, hashBucket_s::key, hashTable_s::keySize, hashBucket_s::next, and hashTable_s::numBuckets. Referenced by fpCacheFree(), and rpmRunTransactions(). |
|
Retrieve item from hash table.
Definition at line 169 of file rpmhash.c. References hashBucket_s::data, hashBucket_s::dataCount, findEntry(), hashBucket, hashTable, and hashBucket_s::key. Referenced by cacheContainsDirectory(), and handleOverlappedFiles(). |
|
Check for key in hash table.
Definition at line 162 of file rpmhash.c. References findEntry(), hashBucket, and hashTable. |