#[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 table surface of this ABI. Tables 0..5 are raw network tables; tables
6..14 are normalized solver tables with per unit/radian values and dense
zero based row ids; the matrix tables carry COO triplets in that dense index
space with dimensions in schema metadata. New columns extend the Arrow
schema without changing an existing C signature.
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.