blob: b2169dfe31ca0d8f0f609a26a8246e52417087f4 [file] [log] [blame]
* 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__