Expand description
C ABI compatibility layer (§4, §14).
This module implements the external C-compatible world:
- Types, structs, constants matching upstream layout
- C ABI exports (libxml2.so.2, libxslt.so.1)
- Callbacks, allocator hooks, ownership membrane
- Versioning macros and runtime reporting
§Architecture
external C-compatible world
↕
ABI / ownership membrane ← this module
↕
safe internal Rust semantics (src/xml, src/xslt, ...)§Phase 0 status
This module is scaffolded. The ABI membrane will be constructed in Phase 1
(Compatibility Skeleton, §85 Phase 1) after the archaeological atlas is
complete. See atlas/PARITY_MATRIX.md for current API completeness metrics.
Modules§
- allocator
- C ABI allocator compatibility — xmlMemSetup, xmlMemGet, xmlMalloc, xmlFree, etc. (§58).
- callbacks
- C ABI callback function type definitions — matching upstream callback signatures (§14, §20).
- constants
- C ABI constants — supplementary ABI constants not defined as enum variants or flag bits in
types.rs(§14). - data_
globals - Exported C data globals — the classic libxml2/libxslt public variables (11.1-G data-ABI closure, residual R-000135).
- exports_
automata - exports_automata — family closure (11.1-I).
- exports_
buffer - C ABI exports for the buffer family — xmlBuf* / xmlBuffer* / xmlCharStr* (upstream buf.c, tree.c, xmlstring.c, 2.15.3).
- exports_
hash - exports_hash — family closure (11.1-I). Filled by workstream.
- exports_
html - exports_html — HTML C ABI family (HTMLparser.h, HTMLtree.h, SAX2.h).
- exports_
misc - exports_misc — family closure (11.1-I).
- exports_
nano - exports_nano — xmlNanoFTP*/xmlNanoHTTP*/xmlIOFTP*/xmlIOHTTP* C ABI family (§11.1-I).
- exports_
parser - exports_parser — C ABI exports for the XML parser family (§11.1-I).
- exports_
parserint - exports_parserint — xmlParse* internal parser entry points (§11.1-I).
- exports_
relaxng - exports_relaxng — RELAX NG C ABI exports (family closure 11.1-I).
- exports_
schema - exports_schema — C ABI exports for the XML Schema family.
- exports_
shell - exports_shell — XML shell family C ABI exports (11.1-I shell closure).
- exports_
string - exports_string — xmlStr*/xmlUTF8*/xmlString* C ABI family (§11.1-I).
- exports_
tree - exports_tree — tree construction/editing/content/property/namespace/free family closure (11.1-I).
- exports_
treedump - exports_treedump — copy/dump/serialize/debug/nodelist C ABI family (§11.1-I).
- exports_
uri - C ABI exports for the URI subsystem (
uri.h) — family closure (11.1-I). - exports_
xinclude - C ABI exports for the XInclude family —
xmlXInclude*(upstreamxinclude.h, 2.15.3). - exports_
xml2 - C ABI exports for libxml2.so.2 — no_mangle extern “C” functions (§1, §16).
- exports_
xptr - exports_xptr — the
xmlXPtr*family of C ABI exports (family closure 11.1-I). - exports_
xslt - C ABI exports for libxslt.so.1 — no_mangle extern “C” functions (§1, §16).
- exports_
xslt_ apply - C ABI exports for libxslt.so.1 — the “apply” family (§16, Phase 8).
- exports_
xslt_ avt - exports_xslt_avt — attribute value templates / namespace fixup / utility family closure.
- exports_
xslt_ compile - C ABI exports for libxslt.so.1 — the “compile” family (§16, Phase 8).
- exports_
xslt_ exec - C ABI exports for libxslt.so.1 — the “exec” family (§16, Phase 8).
- exports_
xslt_ ext - C ABI exports for libxslt.so.1 — the “ext” family (§16, Phase 8).
- exports_
xslt_ functions - C ABI exports for libxslt.so.1 — the “functions” (XPath extension functions) family (§16, Phase 8).
- exports_
xslt_ internals - exports_xslt_internals — family closure (11.1-I). Filled by workstream.
- exports_
xslt_ util - C ABI exports for libxslt.so.1 — the “util” family (§16, Phase 8).
- exports_
xslt_ vars - C ABI exports for libxslt.so.1 — the “vars” family (§16, Phase 8).
- ownership
- C ABI ownership contracts — who frees what, when, and under what conditions (§18).
- structs
- C ABI struct definitions — exact upstream layout (§14, §17).
- types
- C ABI type definitions — matching upstream libxml2/libxslt (§14).
- ucs_
blocks - Generated Unicode block classification functions (upstream xmlunicode.c).
- ucs_cat
- Generated Unicode category classification functions (upstream xmlunicode.c).
- versioning
- C ABI versioning — LIBXML2_VERSION, LIBXSLT_VERSION, runtime version APIs (§83, §84).