rpmdb/fprint.c -
#include 'system.h'
#include 'rpmdb.h'
#include 'rpmmacro.h'
#include 'fprint.h'
#include 'debug.h'
fingerPrintCache fpCacheCreate (int sizeHint)
Create finger print cache.
void fpCacheFree (fingerPrintCache cache)
Destroy finger print cache.
const struct fprintCacheEntry_s * cacheContainsDirectory (fingerPrintCache cache, const char *dirName)
Find directory name entry in cache.
fingerPrint doLookup (fingerPrintCache cache, const char *dirName, const char *baseName, int scareMemory)
Return finger print of a file path.
fingerPrint fpLookup (fingerPrintCache cache, const char *dirName, const char *baseName, int scareMemory)
Return finger print of a file path.
unsigned int fpHashFunction (const void *key)
Return hash value for a finger print.
int fpEqual (const void *key1, const void *key2)
Compare two finger print entries.
void fpLookupList (fingerPrintCache cache, const char **dirNames, const char **baseNames, const int *dirIndexes, int fileCount, fingerPrint *fpList)
Return finger prints of an array of file paths.
void fpLookupHeader (fingerPrintCache cache, Header h, fingerPrint *fpList)
Return finger prints of all file names in header.
Find directory name entry in cache.
Parameters:
Returns: pointer to directory name entry (or NULL if not found).
Definition at line 35 of file fprint.c.
References htGetEntry().
Return finger print of a file path.
Parameters:
Definition at line 55 of file fprint.c.
References alloca(), fingerPrint_s::baseName, cacheContainsDirectory(), fprintCacheEntry_s::dev, fprintCacheEntry_s::dirName, fingerPrint_s::entry, htAddEntry(), fprintCacheEntry_s::ino, fprintCacheEntry_s::isFake, realpath(), rpmCleanPath(), stpncpy(), fingerPrint_s::subDir, xmalloc(), and xstrdup().
Referenced by fpLookup(), and fpLookupList().
Create finger print cache.
Parameters:
Returns: pointer to initialized fingerprint cache
Definition at line 13 of file fprint.c.
References fprintCache_s::ht, htCreate(), and xmalloc().
Referenced by rpmdbFindByFile(), rpmdbFindFpList(), and rpmRunTransactions().
Destroy finger print cache.
Parameters:
Definition at line 23 of file fprint.c.
References fprintCache_s::ht, and htFree().
Referenced by rpmdbFindByFile(), rpmdbFindFpList(), and rpmRunTransactions().
Compare two finger print entries.
exactly equivalent to FP_EQUAL macro.
Parameters:
Returns: result of comparing key1 and key2
Definition at line 209 of file fprint.c.
Return hash value for a finger print.
Hash based on dev and inode only!
Parameters:
Returns: hash value
Definition at line 191 of file fprint.c.
References fingerPrint_s::baseName, fprintCacheEntry_s::dev, fingerPrint_s::entry, and fprintCacheEntry_s::ino.
Return finger print of a file path.
Parameters:
Definition at line 185 of file fprint.c.
References doLookup().
Referenced by rpmdbFindByFile().
Return finger prints of all file names in header.
@warning: scareMemory is assumed!
Parameters:
Return values:
Definition at line 247 of file fprint.c.
References fpLookupList(), HFD_t, HGE_t, int_32, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, and rpmTagType.
Return finger prints of an array of file paths.
@warning: scareMemory is assumed!
Parameters:
Return values:
Definition at line 227 of file fprint.c.
References fingerPrint_s::baseName, doLookup(), fingerPrint_s::entry, and fingerPrint_s::subDir.
Referenced by fpLookupHeader(), rpmdbFindFpList(), and rpmRunTransactions().
Generated automatically by Doxygen for rpm from the source code.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |