mod c_api

module c_api

Public C API entry points.

Each submodule exposes extern "C" functions that cbindgen collects into rgpot-core/include/rgpot.h. All functions in this module follow three invariants:

  1. Return [``rgpot_status_t``](crate::status::rgpot_status_t) (or a pointer / void for constructors and destructors).

  2. Wrap the body in [``catch_unwind``](crate::status::catch_unwind) to prevent panics from crossing the FFI boundary.

  3. Validate pointer arguments and call [set_last_error](crate::status::set_last_error) before returning a non-success status.

Submodules

  • types — Convenience constructors for [rgpot_force_input_t](crate::types::rgpot_force_input_t) and [rgpot_force_out_t](crate::types::rgpot_force_out_t).

  • potential — Lifecycle functions for [rgpot_potential_t](crate::potential::rgpot_potential_t): create, calculate, free.

  • rpc — RPC client functions (feature-gated on rpc): connect, calculate, disconnect.

Modules