**This describes proposed C API changes for a possible Pacemaker 3.0.0 release. Discussion should be directed to the [[Mailing lists|developers mailing list]].**
These changes are only proposed and may not make it into the final release.
== Overview ==
The main goals for 3.0.0 are:
* Limit the public API primarily to the high-level APIs in libpacemaker, and make the vast majority of the lower-level APIs in other libraries internal. Only those lower-level APIs known to be used by DLM and SBD will definitely be kept. **If anyone wants to keep access to lower-level APIs, please specify which ones in a message to the developers list.**
* Make the contents of structs in the public API opaque. All access to the struct data must be via functions.
* Prefix all public API symbols with <code>pcmk_</code> (capitalized as appropriate).
== Specific changes ==
TBD