Document the namespaces and the opaque handles

dpm_core carries a namespace block saying what it holds and why its
members keep external linkage while staying off the export table. Each
unnamed namespace says its contents are private to that translation
unit, and the one in the info module says why it has to be unnamed
there: a module is built without hidden visibility or a version script,
so a helper with external linkage would reach that module's exports.

The three opaque handles in the public header were undocumented. What
documentation they had came from the struct definitions in
include/internal, which a consumer never sees.

EXTRACT_ANON_NSPACES was off, so the documentation on every file-private
helper was written and discarded. Doxygen also capitalizes the first
letter of a brief, which turned libdpm-core.so into Libdpm-core.so
wherever a brief opened with it; those are reworded.

Bare references to the library are replaced with the artifact name
throughout, including three in the info module's output. The
cli_info_version regex follows.
This commit is contained in:
2026-08-16 01:42:04 -04:00
parent 5230ac8748
commit 50b95fb729
12 changed files with 129 additions and 36 deletions

View File

@@ -71,7 +71,7 @@ namespace dpm_core {
* Loads the named module's .so from the context's module path and
* verifies the complete contract.
*
* @param ctx The libdpm-core context
* @param ctx The libdpm-core.so context
* @param name The module name
* @param reason Receives the refusal reason on failure
* @return The validated module (caller owns), or nullptr on failure