#[unsafe(no_mangle)]pub unsafe extern "C" fn pio_to_arrow(
net: *const PioNetwork,
table: i32,
out_array: *mut FFI_ArrowArray,
out_schema: *mut FFI_ArrowSchema,
errbuf: *mut c_char,
errlen: usize,
) -> i32Expand description
Export one network table over the Arrow C Data Interface: the to_
conversion whose output type is Arrow structs rather than a string, and the
bulk plane this ABI evolves on. Tables 0..5 are raw network tables; tables 6
and up are normalized solver tables with per unit/radian values and dense
zero based row ids. New or richer columns arrive in the Arrow schema, leaving
the C signatures fixed.
table is one of the PIO_ARROW_TABLE_* selectors. Raw table columns use
EXTERNAL bus ids (the pio_bus_ids id space), not the gridfm schema. On
success (returns 0),
out_array and out_schema are populated with owned C Data Interface
structs: ownership of the Arrow buffers transfers to the caller, both
release callbacks are non-NULL, and the caller MUST invoke each exactly
once when done (skipping one leaks; the structs outlive pio_network_free).
On error (returns -1) the message is written into errbuf and the
out-params are left untouched. Only built with the arrow cargo feature.