Skip to content

inseam-ffi

C ABI over the node — the Swift/GUI transport adapter (design/node-api.md). Like every transport, this is a thin, logic-free skin over the operations seam: one handle wraps a booted kernel plus the tokio runtime it needs; requests block the calling thread and responses cross the boundary as JSON (the same serde views the seam defines). The crate is itself a distribution: it links the first-party linked plugins and ships a base composition, layered under the node’s composition.toml (design/composition.md).

Conventions (mirrored in include/inseam_ffi.h):

  • Fallible calls take char **error_out; on failure they return null and, when error_out is non-null, store a message the caller must free.
  • Every char * returned by this library is freed with inseam_string_free, and nodes with inseam_node_free. Passing pointers from anywhere else is undefined behavior.