Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

rpmdb/fprint.c File Reference

More...

#include "system.h"
#include <rpmdb.h>
#include <rpmmacro.h>
#include "fprint.h"
#include "debug.h"

Go to the source code of this file.

Functions

fingerPrintCache fpCacheCreate (int sizeHint)
 Create finger print cache. More...

fingerPrintCache fpCacheFree (fingerPrintCache cache)
 Destroy finger print cache. More...

const struct fprintCacheEntry_scacheContainsDirectory (fingerPrintCache cache, const char *dirName)
 Find directory name entry in cache. More...

fingerPrint doLookup (fingerPrintCache cache, const char *dirName, const char *baseName, int scareMemory)
 Return finger print of a file path. More...

fingerPrint fpLookup (fingerPrintCache cache, const char *dirName, const char *baseName, int scareMemory)
 Return finger print of a file path. More...

unsigned int fpHashFunction (const void *key)
 Return hash value for a finger print. More...

int fpEqual (const void *key1, const void *key2)
 Compare two finger print entries. More...

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. More...


Detailed Description

Definition in file fprint.c.


Function Documentation

const struct fprintCacheEntry_s* cacheContainsDirectory fingerPrintCache    cache,
const char *    dirName
[static]
 

Find directory name entry in cache.

Parameters:
cache  pointer to fingerprint cache
dirName  string to locate in cache
Returns:
pointer to directory name entry (or NULL if not found).

Definition at line 36 of file fprint.c.

References htGetEntry.

Referenced by doLookup.

fingerPrint doLookup fingerPrintCache    cache,
const char *    dirName,
const char *    baseName,
int    scareMemory
[static]
 

Return finger print of a file path.

Parameters:
cache  pointer to fingerprint cache
dirName  leading directory name of path
baseName  file name of path
scareMemory 
Returns:
pointer to the finger print associated with a file path.

Definition at line 59 of file fprint.c.

References alloca, fingerPrint_s::baseName, cacheContainsDirectory, fprintCacheEntry_s::dev, fprintCacheEntry_s::dirName, fingerPrint_s::entry, htAddEntry, fprintCacheEntry_s::ino, realpath, rpmCleanPath, stpncpy, fingerPrint_s::subDir, xmalloc, and xstrdup.

Referenced by fpLookup, and fpLookupList.

fingerPrintCache fpCacheCreate int    sizeHint
 

Create finger print cache.

Parameters:
sizeHint  number of elements expected
Returns:
pointer to initialized fingerprint cache

Definition at line 13 of file fprint.c.

References fprintCache_s::ht, htCreate, and xmalloc.

fingerPrintCache fpCacheFree fingerPrintCache    cache
 

Destroy finger print cache.

Parameters:
cache  pointer to fingerprint cache
Returns:
NULL always

Definition at line 23 of file fprint.c.

References fprintCache_s::ht, and htFree.

int fpEqual const void *    key1,
const void *    key2
 

Compare two finger print entries.

This routine is exactly equivalent to the FP_EQUAL macro.

Parameters:
key1  finger print 1
key2  finger print 2
Returns:
result of comparing key1 and key2

Definition at line 216 of file fprint.c.

References FP_EQUAL.

unsigned int fpHashFunction const void *    key
 

Return hash value for a finger print.

Hash based on dev and inode only!

Parameters:
key  pointer to finger print entry
Returns:
hash value

Definition at line 195 of file fprint.c.

References fingerPrint_s::baseName, fprintCacheEntry_s::dev, fingerPrint_s::entry, and fprintCacheEntry_s::ino.

fingerPrint fpLookup fingerPrintCache    cache,
const char *    dirName,
const char *    baseName,
int    scareMemory
 

Return finger print of a file path.

Parameters:
cache  pointer to fingerprint cache
dirName  leading directory name of file path
baseName  base name of file path
scareMemory 
Returns:
pointer to the finger print associated with a file path.

Definition at line 189 of file fprint.c.

References doLookup.

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.

@warning: scareMemory is assumed!

Parameters:
cache  pointer to fingerprint cache
dirNames  directory names
baseNames  file base names
dirIndexes  index into dirNames for each baseNames
fileCount  number of file entries
Return values:
fpList  pointer to array of finger prints

Definition at line 236 of file fprint.c.

References fingerPrint_s::baseName, doLookup, fingerPrint_s::entry, and fingerPrint_s::subDir.


Generated on Tue Sep 17 15:56:50 2002 for rpm by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002