Files
mars-nwe/doc/librarys
Mario Fetka a15f6a380d docs: unify MD documentation consistency pass
- Replace nwcall with nwconn throughout (nwcall was a naming confusion)
- Fix transport rule: libnwtransport library linked by nwconn, not a daemon split
- Update NSS audit count from 474 to 522 (0 partial, 0 open, 4 temp)
- Fix doc/librarys/nwcore: include root is include/nwcore, not include/core
- Add libnwnss entry to doc/librarys/README.md
- Clarify nwfs role as NCP wrapper around libnwnss in doc/librarys/nwfs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 17:27:49 +02:00
..

Library overview

This directory documents the libraries that are built or vendored by mars-nwe. It is intentionally separate from the API headers: the headers define ABI/API, while these notes explain which library should be used by mars-nwe code and which imported helpers are only low-level dependencies.

Mars/NW libraries

  • nwcore: common Mars helpers plus imported NSS core runtime.
  • nwnss: imported NSS userspace provider — namespace, XAttr, trustee, quota, salvage and AdminVolume semantics. Host-FS/OtherFS policy lives in parallel *Userspace.c companions.
  • nwfs: Mars/NCP filesystem wrapper around libnwnss; owns NCP wire parsing, volume options and host persistence.
  • nwtui: small terminal UI abstraction built on termbox2.
  • nwssl: MatrixSSL/OpenSSL-compatibility wrapper used by Mars components.

Database and service libraries

  • nwflaim: FLAIM database library used by Mars services.
  • nwxflaim: XML FLAIM companion library.

Wrapped or vendored third-party libraries

These pages document third-party libraries that are useful project-facing surfaces or long-lived wrapped dependencies. Some vendored packages are intentionally documented under their owning Mars library instead of receiving a standalone public page. For example, iniparser and Unicode tables are internal nwcore details, and termbox2 is an internal nwtui backend.

  • nwowfat: bundled libowfat support library.
  • nwmatrixssl: bundled MatrixSSL TLS implementation.
  • nwlibsodium: bundled libsodium cryptographic primitives.

Naming rule

The directory names use the nw... prefix for documentation even when the underlying CMake target or upstream project keeps its original name. This keeps Mars-specific documentation grouped and avoids collisions with upstream docs.

NSS userspace adaptation boundary

See ../NSS_USERSPACE_ADAPTATION.md for the rule that NSS imports provide semantics and dependency provenance, while Mars NWE provides the userspace storage, xattr, AdminVolume and integration backends.