Skip to main content

xmlRegisterOutputCallbacks

Function xmlRegisterOutputCallbacks 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn xmlRegisterOutputCallbacks( matchFunc: Option<unsafe extern "C" fn(filename: *const c_char) -> c_int>, openFunc: Option<unsafe extern "C" fn(filename: *const c_char) -> *mut c_void>, writeFunc: Option<xmlOutputWriteCallback>, closeFunc: Option<xmlOutputCloseCallback>, ) -> c_int
Expand description

Register a new set of output I/O callbacks.

§UPSTREAM-PARITY

int xmlRegisterOutputCallbacks(xmlOutputMatchCallback matchFunc,
                               xmlOutputOpenCallback openFunc,
                               xmlOutputWriteCallback writeFunc,
                               xmlOutputCloseCallback closeFunc);

§SAFETY

  • matchFunc, openFunc, writeFunc, closeFunc must be a valid callback (or None); the callback is invoked with the documented context pointer and must itself uphold the same pointer invariants.

The caller must not race this call with concurrent mutation of the same objects from other threads (per-object state is not internally synchronized). Violating any of the above is undefined behavior.

Exercised by the C-API differential courts (courts/suites/data-abi/*-family-probe.c) and the CLI differential courts; those pass byte-for-byte against the upstream oracle.