Every function in context.cpp, modules.cpp, and version.cpp carries a Doxygen block, and the bodies explain the decisions the code alone does not show: why dlerror is cleared before dlsym rather than testing the returned address, what RTLD_NOW and RTLD_LOCAL buy, why missing contract symbols are collected into one report, why a candidate that fails validation is logged and skipped instead of failing the listing, and why version parsing tests the first character itself. Functions declared in a header carry a brief and implementation prose rather than a second parameter list; Doxygen was reporting duplicate documentation sections for each of them. READMEs in include/internal and src/cli state what those directories hold.
8 lines
490 B
Markdown
8 lines
490 B
Markdown
# Internal Headers
|
|
|
|
libdpm-core.so's own headers, used by its sources and never installed.
|
|
|
|
They declare the types and functions the library's translation units share with each other: the definitions behind the opaque handles `<dpm/core.h>` exposes, and the helpers those sources call across file boundaries.
|
|
|
|
Nothing here is part of the public interface. The install rule ships `include/dpm/` alone, so a consumer or a module compiles against `<dpm/core.h>` and never sees this directory.
|