* Summary: Chained hash tables * Description: This module implements the hash table support used in * various places in the library. * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. /if not defined(XML_HASH_H__) /define XML_HASH_H__ /include "libxmlrpg/xmlTypesC" * The hash table.
d xmlHashTablePtr… d s * based(######typedef######)
/include "libxmlrpg/xmlversion" /include "libxmlrpg/parser" /include "libxmlrpg/dict" * function types: * xmlHashDeallocator: * @payload: the data in the hash * @name: the name associated * * Callback to free data from a hash.
d xmlHashDeallocator… d s * based(######typedef######) d procptr
* xmlHashCopier: * @payload: the data in the hash * @name: the name associated * * Callback to copy data from a hash. * * Returns a copy of the data or NULL in case of error.
d xmlHashCopier s * based(######typedef######) d procptr
* xmlHashScanner: * @payload: the data in the hash * @data: extra scannner data * @name: the name associated * * Callback when scanning data in a hash with the simple scanner.
d xmlHashScanner s * based(######typedef######) d procptr
* xmlHashScannerFull: * @payload: the data in the hash * @data: extra scannner data * @name: the name associated * @name2: the second name associated * @name3: the third name associated * * Callback when scanning data in a hash with the full scanner.
d xmlHashScannerFull… d s * based(######typedef######) d procptr
* Constructor and destructor.
d xmlHashCreate pr extproc('xmlHashCreate') d like(xmlHashTablePtr) d size value like(xmlCint)
d xmlHashCreateDict… d pr extproc('xmlHashCreateDict') d like(xmlHashTablePtr) d size value like(xmlCint) d dict value like(xmlDictPtr)
d xmlHashFree pr extproc('xmlHashFree') d table value like(xmlHashTablePtr) d f value like(xmlHashDeallocator)
* Add a new entry to the hash table.
d xmlHashAddEntry… d pr extproc('xmlHashAddEntry') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d userdata * value options(*string) void *
d xmlHashUpdateEntry… d pr extproc('xmlHashUpdateEntry') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d userdata * value options(*string) void * d f value like(xmlHashDeallocator)
d xmlHashAddEntry2… d pr extproc('xmlHashAddEntry2') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d userdata * value options(*string) void *
d xmlHashUpdateEntry2… d pr extproc('xmlHashUpdateEntry2') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d userdata * value options(*string) void * d f value like(xmlHashDeallocator)
d xmlHashAddEntry3… d pr extproc('xmlHashAddEntry3') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar * d userdata * value options(*string) void *
d xmlHashUpdateEntry3… d pr extproc('xmlHashUpdateEntry3') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar * d userdata * value options(*string) void * d f value like(xmlHashDeallocator)
* Remove an entry from the hash table.
d xmlHashRemoveEntry… d pr extproc('xmlHashRemoveEntry') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d f value like(xmlHashDeallocator)
d xmlHashRemoveEntry2… d pr extproc('xmlHashRemoveEntry2') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d f value like(xmlHashDeallocator)
d xmlHashRemoveEntry3… d pr extproc('xmlHashRemoveEntry3') d like(xmlCint) d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar * d f value like(xmlHashDeallocator)
* Retrieve the userdata.
d xmlHashLookup pr * extproc('xmlHashLookup') void * d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar *
d xmlHashLookup2 pr * extproc('xmlHashLookup2') void * d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar *
d xmlHashLookup3 pr * extproc('xmlHashLookup3') void * d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar *
d xmlHashQLookup pr * extproc('xmlHashQLookup') void * d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d prefix * value options(*string) const xmlChar *
d xmlHashQLookup2… d pr * extproc('xmlHashQLookup2') void * d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d prefix * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d prefix2 * value options(*string) const xmlChar *
d xmlHashQLookup3… d pr * extproc('xmlHashQLookup3') void * d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d prefix * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d prefix2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar * d prefix3 * value options(*string) const xmlChar *
* Helpers.
d xmlHashCopy pr extproc('xmlHashCopy') d like(xmlHashTablePtr) d table value like(xmlHashTablePtr) d f value like(xmlHashCopier)
d xmlHashSize pr extproc('xmlHashSize') d like(xmlCint) d table value like(xmlHashTablePtr)
d xmlHashScan pr extproc('xmlHashScan') d table value like(xmlHashTablePtr) d f value like(xmlHashScanner) d data * value options(*string) void *
d xmlHashScan3 pr extproc('xmlHashScan3') d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar * d f value like(xmlHashScanner) d data * value options(*string) void *
d xmlHashScanFull… d pr extproc('xmlHashScanFull') d table value like(xmlHashTablePtr) d f value like(xmlHashScannerFull) d data * value options(*string) void *
d xmlHashScanFull3… d pr extproc('xmlHashScanFull3') d table value like(xmlHashTablePtr) d name * value options(*string) const xmlChar * d name2 * value options(*string) const xmlChar * d name3 * value options(*string) const xmlChar * d f value like(xmlHashScannerFull) d data * value options(*string) void *
/endif XML_HASH_H__