Expand description
Stable C ABI for dynamic appctl sync plugins.
The host (appctl binary) loads a cdylib built against this crate,
calls appctl_plugin_register, and receives a PluginManifest containing
a PluginVtable of extern “C” function pointers.
JSON is used as the wire format between host and plugin so the ABI does not depend on matching Rust toolchains or serde versions.
Structs§
- Introspect
Response - JSON envelope returned by the plugin’s introspect function on success.
- Plugin
Manifest - Static metadata returned by every plugin.
- Plugin
Vtable - Function pointer table. Every function takes and returns heap-allocated
null-terminated UTF-8 JSON strings the host must free via
free_string.
Constants§
- SDK_
ABI_ VERSION - Bumped whenever the vtable shape changes. Plugins must refuse to load if the host reports a different value.
Functions§
- cstr_
to_ ⚠string - Used by the host to recover a string returned from a plugin.