Regenerate C Headers
Goal
Keep the checked-in copies of the plugin ABI header synchronized with the Rust source they are generated from.
Scope
Only ovstorage_plugin.h is generated, from the ovstorage-plugin crate.
It has to be: plugins are prebuilt cdylibs loaded at runtime, so host and
plugin compile separately and must agree on struct layout.
ovstorage.h is NOT generated. The C application API ships as source, so
consumers compile that header together with the implementation it declares
and there is no binary boundary to freeze. Edit it directly, alongside
ovstorage-c-source/src; the link-completeness gate in
make c-source-examples is what holds the two in agreement.
Recipe
- Make the ABI-affecting Rust change under
ovstorage-core/ovstorage-plugin. - Run
make regenerate-headers. - Inspect the diff under
ovstorage-plugin/includeand its copy inovstorage-c-source/include. - Run
make verify-headers-clean. - Commit the Rust source and regenerated headers together.
References
- C/C++ source distribution for C ABI stability rules.