Files
mars-nwe/doc/librarys/nwfs

nwfs

nwfs contains Mars filesystem support and the gradually imported NSS filesystem, metadata and namespace code.

Public include roots

Consumers should receive include/nwfs as an include root and keep NSS subdirectories in include names. Examples:

#include <quota.h>
#include <public/zXattr.h>
#include <include/nameSpace.h>
#include <comn/namespace/dosNSpace.h>
#include <comn/authsys/zasAuthModel.h>

Do not expose include/nwfs/public, include/nwfs/include, or similar subdirectories as standalone public include roots. The subdirectory is part of the include name.

Current scope

The active Mars-owned parts provide xattr metadata handling, quota helpers and filesystem tests. NSS namespace files are being imported bottom-up and are not all active yet.

API usage guidance

Mars code should prefer the active nwfs public headers for metadata and quota operations. NSS namespace internals should remain internal until the full Namespace, Beast and AdminVolume dependency chain is available.

NSS adaptation boundary

nwfs should expose NetWare/NSS semantics to Mars NWE, not embed a fake NSS filesystem. NSS xattr, metadata, namespace and rights code may be imported as provenance-preserving library code, but persistence must be mapped onto Mars userspace storage: host filesystem xattrs, Mars metadata files, and generated AdminVolume state.

See doc/NSS_USERSPACE_ADAPTATION.md for the project-wide boundary.