Skip to main content

Module abi

Module abi 

Source
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).
exports_xml2
C ABI exports for libxml2.so.2 — no_mangle extern “C” functions (§1, §16).
exports_xslt
C ABI exports for libxslt.so.1 — no_mangle extern “C” functions (§1, §16).
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).
versioning
C ABI versioning — LIBXML2_VERSION, LIBXSLT_VERSION, runtime version APIs (§83, §84).