libxml-rs 0.1.0-alpha.37

Native-Rust forensic reimplementation of libxml2+libxslt with C ABI drop-in replacement. Cross-version oracle matrix (libxml2 2.7.8-2.15.3, libxslt 1.1.26-1.1.45) with semantic epochs correlated to upstream commits; full xmllint/xmlcatalog/xsltproc CLIs; differential-court-verified C API closure; three-DSO ELF packaging (libxml2.so.16 core + libxslt.so.1/libexslt.so.0 facades, upstream NEEDED chain); fail-closed oracle-isolated function-signature ABI plane (SOURCE_PROTOTYPE + MACHINE_ABI fingerprints, zero silent omissions) and the libc default allocator (ALLOCATOR-DEFAULT-001) verified byte-identical; proof-scoped safety commentary (0 unaccounted unsafe sites); residual ledger 79 FIXED / 3 OPEN; 1183 tests passing.
Documentation
/**
 * @file
 *
 * Dictionary API for libxml-rs
 */

#ifndef __XML_DICT_H__
#define __XML_DICT_H__

#include <stddef.h>
#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlDict xmlDict;
typedef xmlDict *xmlDictPtr;

XMLPUBFUN xmlDictPtr xmlDictCreate(void);
XMLPUBFUN xmlDictPtr xmlDictCreateSub(xmlDictPtr sub);
XMLPUBFUN const xmlChar *xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len);
XMLPUBFUN const xmlChar *xmlDictExists(xmlDictPtr dict, const xmlChar *name, int len);
XMLPUBFUN int xmlDictSize(const xmlDictPtr dict);
XMLPUBFUN void xmlDictFree(xmlDictPtr dict);
XMLPUBFUN size_t xmlDictSetLimit(xmlDictPtr dict, size_t limit);
XMLPUBFUN size_t xmlDictGetUsage(const xmlDictPtr dict);


/* [11.1-S] begin: oracle-extracted declarations
 * Extracted verbatim from the upstream headers (11.1-S header-surface
 * audit: every function the oracle headers declare must be declared by the
 * drop-in headers — the source-compatibility contract. Signatures are the upstream ABI contract.
 */
XMLPUBFUN void xmlDictCleanup (void);
XMLPUBFUN int xmlDictOwns (xmlDict *dict, const xmlChar *str);
XMLPUBFUN const xmlChar * xmlDictQLookup (xmlDict *dict, const xmlChar *prefix, const xmlChar *name);
XMLPUBFUN int xmlDictReference(xmlDict *dict);
XMLPUBFUN int xmlInitializeDict(void);
/* [11.1-S] end: oracle-extracted declarations */

#ifdef __cplusplus
}
#endif

#endif /* __XML_DICT_H__ */