rpmdb/fprint.h File Reference
Identify a file name path by a unique "finger print".
More...
#include "rpmhash.h"
#include "header.h"
Go to the source code of this file.
|
Data Structures |
struct | fprintCacheEntry_s |
| Finger print cache entry. More...
|
struct | fprintCache_s |
| Finger print cache. More...
|
struct | fingerPrint_s |
| Associates a trailing sub-directory and final base name with an existing directory finger print. More...
|
Defines |
#define | fpFree(a) free((void *)(a).baseName) |
#define | FP_ENTRY_EQUAL(a, b) (((a)->dev == (b)->dev) && ((a)->ino == (b)->ino)) |
#define | FP_EQUAL(a, b) |
Typedefs |
typedef struct fprintCache_s * | fingerPrintCache |
typedef struct fingerPrint_s | fingerPrint |
Functions |
int | rpmdbFindFpList (rpmdb db, fingerPrint *fpList, dbiIndexSet *matchList, int numItems) |
| Find fingerprint matches in database.
|
fingerPrintCache | fpCacheCreate (int sizeHint) |
| Create finger print cache.
|
void | fpCacheFree (fingerPrintCache cache) |
| Destroy finger print cache.
|
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.
|
Detailed Description
Identify a file name path by a unique "finger print".
Definition in file fprint.h.
Define Documentation
#define FP_ENTRY_EQUAL |
( |
a, |
|
|
b |
|
) |
(((a)->dev == (b)->dev) && ((a)->ino == (b)->ino)) |
#define FP_EQUAL |
( |
a, |
|
|
b |
|
) |
|
Value:
( \
FP_ENTRY_EQUAL((a).entry, (b).entry) && \
!strcmp((a).baseName, (b).baseName) && ( \
((a).subDir == (b).subDir) || \
((a).subDir && (b).subDir && !strcmp((a).subDir, (b).subDir)) \
) \
)
Definition at line 61 of file fprint.h.
#define fpFree |
( |
a |
|
) |
free((void *)(a).baseName) |
Typedef Documentation
- Todo:
- Convert to pointer and make abstract.
Definition at line 19 of file fprint.h.
Function Documentation
Create finger print cache.
- Parameters:
-
| sizeHint | number of elements expected |
- Returns:
- pointer to initialized fingerprint cache
Definition at line 13 of file fprint.c.
Destroy finger print cache.
- Parameters:
-
| cache | pointer to fingerprint cache |
Definition at line 23 of file fprint.c.
int fpEqual |
( |
const void * |
key1, |
|
|
const void * |
key2 | |
|
) |
| | |
Compare two finger print entries.
exactly equivalent to FP_EQUAL macro.
- Parameters:
-
| key1 | finger print 1 |
| key2 | finger print 2 |
- Returns:
- result of comparing key1 and key2
Definition at line 209 of file fprint.c.
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 191 of file fprint.c.
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 185 of file fprint.c.
Return finger prints of all file names in header.
- Warning:
- : scareMemory is assumed!
- Parameters:
-
| cache | pointer to fingerprint cache |
| h | package header |
- Return values:
-
| fpList | pointer to array of finger prints |
Definition at line 247 of file fprint.c.
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 227 of file fprint.c.