//! Shared FFI plumbing for the polled C-ABI modules that read string buffers
//! back from Swift (store, ads).
//!
//! Every native module follows the same contract: `@_cdecl` Swift entry points
//! called from Rust, results read back as polled state or a drained event queue
//! — never callbacks into Rust, because re-entrancy against winit's event loop
//! is not safe. The string getters return pointers to Swift-owned buffers valid
//! only until the next regenerating call, so callers copy immediately via
//! [`read_cstr`].
use ;
/// Copy a backend-owned C string into an owned `String`. Null → empty.
pub unsafe