Skip to main content

xmlRegisterInputCallbacks

Function xmlRegisterInputCallbacks 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn xmlRegisterInputCallbacks( 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>, readFunc: Option<xmlInputReadCallback>, closeFunc: Option<xmlInputCloseCallback>, ) -> c_int
Expand description

Register a new set of input I/O callbacks.

§UPSTREAM-PARITY

int xmlRegisterInputCallbacks(xmlInputMatchCallback matchFunc,
                              xmlInputOpenCallback openFunc,
                              xmlInputReadCallback readFunc,
                              xmlInputCloseCallback closeFunc);

§SAFETY

  • matchFunc, openFunc, readFunc, 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.