The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

rpmhash.h (3)
  • >> rpmhash.h (3) ( Linux man: Библиотечные вызовы )
  •  

    NAME

    rpmdb/rpmhash.h - Hash table implemenation. 
     
    

    SYNOPSIS


     

    Typedefs


    typedef hashTable_s * hashTable

    typedef unsigned int(* hashFunctionType )(const void *string)

    typedef int(* hashEqualityType )(const void *key1, const void *key2)
     

    Functions


    unsigned int hashFunctionString (const void *string)
    Return hash value of a string.
    int hashEqualityString (const void *key1, const void *key2)
    Compare two hash table entries for equality.
    hashTable htCreate (int numBuckets, int keySize, int freeData, hashFunctionType fn, hashEqualityType eq)
    Create hash table.
    void htFree (hashTable ht)
    Destroy hash table.
    void htAddEntry (hashTable ht, const void *key, const void *data)
    Add item to hash table.
    int htGetEntry (hashTable ht, const void *key, const void ***data, int *dataCount, const void **tableKey)
    Retrieve item from hash table.
    int htHasEntry (hashTable ht, const void *key)
    Check for key in hash table.  

    DETAILED DESCRIPTION

    Hash table implemenation.

    Definition in file rpmhash.h.  

    TYPEDEF DOCUMENTATION

     

    typedef int(* hashEqualityType)(const void * key1, const void * key2)

    Definition at line 24 of file rpmhash.h.

    Referenced by htCreate().  

    typedef unsigned int(* hashFunctionType)(const void * string)

    Definition at line 19 of file rpmhash.h.

    Referenced by htCreate().  

    typedef struct hashTable_s* hashTable

    Definition at line 11 of file rpmhash.h.  

    FUNCTION DOCUMENTATION

     

    int hashEqualityString (const void * key1, const void * key2)

    Compare two hash table entries for equality.

    Parameters:

    key1
    entry 1
    key2
    entry 2

    Returns: 0 if entries are equal

    Definition at line 59 of file rpmhash.c.  

    unsigned int hashFunctionString (const void * string)

    Return hash value of a string.

    Parameters:

    string
    string on which to calculate hash value

    Returns: hash value

    Definition at line 66 of file rpmhash.c.  

    void htAddEntry (hashTable ht, const void * key, const void * data)

    Add item to hash table.

    Parameters:

    ht
    pointer to hash table
    key
    pointer to key
    data
    pointer to data value

    Definition at line 101 of file rpmhash.c.

    References hashBucket_s::data, hashBucket_s::dataCount, hashBucket_s::key, hashBucket_s::next, xmalloc(), and xrealloc().

    Referenced by doLookup(), and rpmRunTransactions().  

    hashTable htCreate (int numBuckets, int keySize, int freeData, hashFunctionType fn, hashEqualityType eq)

    Create hash table.

    If keySize > 0, the key is duplicated within the table (which costs memory, but may be useful anyway.

    Parameters:

    numBuckets
    number of hash buckets
    keySize
    size of key (0 if unknown)
    freeData
    Should data be freed when table is destroyed?
    fn
    function to generate hash value for key
    eq
    function to compare hash keys for equality

    Returns: pointer to initialized hash table

    Definition at line 83 of file rpmhash.c.

    References hashEqualityType, hashFunctionType, xcalloc(), and xmalloc().

    Referenced by fpCacheCreate(), and rpmRunTransactions().  

    void htFree (hashTable ht)

    Destroy hash table.

    Parameters:

    ht
    pointer to hash table

    Definition at line 133 of file rpmhash.c.

    References _free(), hashBucket_s::data, hashBucket_s::key, and hashBucket_s::next.

    Referenced by fpCacheFree(), and rpmRunTransactions().  

    int htGetEntry (hashTable ht, const void * key, const void *** data, int * dataCount, const void ** tableKey)

    Retrieve item from hash table.

    Parameters:

    ht
    pointer to hash table
    key
    pointer to key value

    Return values:

    data
    address to store data value from bucket
    dataCount
    address to store data value size from bucket
    tableKey
    address to store key value from bucket (may be NULL)

    Returns: 0 on success, 1 if the item is not found.

    Definition at line 169 of file rpmhash.c.

    References hashBucket_s::data, hashBucket_s::dataCount, findEntry(), and hashBucket_s::key.

    Referenced by cacheContainsDirectory(), and handleOverlappedFiles().  

    int htHasEntry (hashTable ht, const void * key)

    Check for key in hash table.

    Parameters:

    ht
    pointer to hash table
    key
    pointer to key value

    Returns: 1 if the key is present, 0 otherwise

    Definition at line 162 of file rpmhash.c.

    References findEntry().  

    AUTHOR

    Generated automatically by Doxygen for rpm from the source code.


     

    Index

    NAME
    SYNOPSIS
    Typedefs
    Functions
    DETAILED DESCRIPTION
    TYPEDEF DOCUMENTATION
    typedef int(* hashEqualityType)(const void * key1, const void * key2)
    typedef unsigned int(* hashFunctionType)(const void * string)
    typedef struct hashTable_s* hashTable
    FUNCTION DOCUMENTATION
    int hashEqualityString (const void * key1, const void * key2)
    unsigned int hashFunctionString (const void * string)
    void htAddEntry (hashTable ht, const void * key, const void * data)
    hashTable htCreate (int numBuckets, int keySize, int freeData, hashFunctionType fn, hashEqualityType eq)
    void htFree (hashTable ht)
    int htGetEntry (hashTable ht, const void * key, const void *** data, int * dataCount, const void ** tableKey)
    int htHasEntry (hashTable ht, const void * key)
    AUTHOR


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру