# 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](nwcore/README.md): common Mars helpers plus imported NSS core runtime. - [nwfs](nwfs/README.md): filesystem, metadata, quota and NSS namespace support. - [nwtui](nwtui/README.md): small terminal UI abstraction built on termbox2. - [nwssl](nwssl/README.md): MatrixSSL/OpenSSL-compatibility wrapper used by Mars components. ## Database and service libraries - [nwflaim](nwflaim/README.md): FLAIM database library used by Mars services. - [nwxflaim](nwxflaim/README.md): 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](nwowfat/README.md): bundled libowfat support library. - [nwmatrixssl](nwmatrixssl/README.md): bundled MatrixSSL TLS implementation. - [nwlibsodium](nwlibsodium/README.md): 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.