$darkmode
Elektra 0.11.0
Library Split

Problem

Only libelektra-core is supposed to access private data, but this contradicts the goal to keep the library minimal. kdbprivate.h was too generic, it contained many other parts next to the struct definitions of Key/KeySet.

Constraints

Assumptions

Considered Alternatives

Decision

Also allow libelektra-extra (and maybe other explicitly documented libraries) to access private Key/KeySet. Put struct definitions of Key/KeySet in a separate header file, which gets included by parts that need it.

All currently planned libraries and their respective API prefixes are listed in the Notes below.

Rationale

Implications

Related Decisions

Notes