20 #if defined(_FPRINT_INTERNAL)
27 struct fprintCacheEntry_s {
36 struct fprintCache_s {
52 const struct fprintCacheEntry_s *
entry;
62 #define FP_ENTRY_EQUAL(a, b) (((a)->dev == (b)->dev) && ((a)->ino == (b)->ino))
66 #define FP_EQUAL(a, b) ( \
67 FP_ENTRY_EQUAL((a).entry, (b).entry) && \
68 !strcmp((a).baseName, (b).baseName) && ( \
69 ((a).subDir == (b).subDir) || \
70 ((a).subDir && (b).subDir && !strcmp((a).subDir, (b).subDir)) \
106 const char * baseName,
int scareMem)
128 int fpEqual(
const void * key1,
const void * key2)
142 const char ** baseNames,
const rpmuint32_t * dirIndexes,
157 void * _p,
int filenr)
fingerPrintCache fpCacheFree(fingerPrintCache cache)
Destroy finger print cache.
fingerPrint fpLookup(fingerPrintCache cache, const char *dirName, const char *baseName, int scareMem)
Return finger print of a file path.
Hash table implemenation.
uint32_t fpHashFunction(uint32_t h, const void *data, size_t size)
Return hash value for a finger print.
struct rpmte_s * rpmte
An element of a transaction set, i.e.
int fpEqual(const void *key1, const void *key2)
Compare two finger print entries.
const char const bson * data
Associates a trailing sub-directory and final base name with an existing directory finger print...
static const char * dirName
const struct fprintCacheEntry_s * entry
struct fprintCache_s * fingerPrintCache
const char const char size_t size
void fpLookupList(fingerPrintCache cache, const char **dirNames, const char **baseNames, const rpmuint32_t *dirIndexes, rpmuint32_t fileCount, fingerPrint *fpList)
Return finger prints of an array of file paths.
fingerPrintCache fpCacheCreate(int sizeHint)
Create finger print cache.
void fpLookupSubdir(hashTable symlinks, hashTable fphash, fingerPrintCache fpc, void *_p, int filenr)
Check file for to be installed symlinks in their path, correct their fingerprint and add it to newht...