palladium-plugin-api 0.2.1

Zero-dependency C ABI types for Palladium plugin boundaries
Documentation

C ABI type definitions for the Palladium plugin system.

This crate is intentionally dependency-free. All types are #[repr(C)] and safe to expose across shared library (cdylib) and WASM boundaries.

Plugin authors implement the required C exports; the engine host reads plugin metadata and calls actor lifecycle functions through these types.

Required exports (every plugin shared library)

PdPluginInfo* pd_plugin_init(void);
void          pd_plugin_shutdown(void);

void*   pd_actor_create (const char* type_name, uint32_t type_name_len,
                         const uint8_t* config,  uint32_t config_len);
void    pd_actor_destroy(void* actor);
int32_t pd_actor_on_start  (void* actor, PdActorContext* ctx);
int32_t pd_actor_on_message(void* actor, PdActorContext* ctx,
                            const uint8_t* envelope_bytes,
                            const uint8_t* payload, uint32_t payload_len);
void    pd_actor_on_stop   (void* actor, PdActorContext* ctx, int32_t reason);