#[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_intExpand 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,closeFuncmust 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.