Files
mars-nwe/doc/librarys

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.
  • nwfs: filesystem, metadata, quota and NSS namespace support.
  • 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.