System.Native ABI references
These unchanged MIT-licensed files come from the official dotnet/runtime
v10.0.12 tag, commit 4271d88e0aebf3d04f188f1334c2220d80555ef6.
SourceManifest.json records the upstream paths and exact file hashes.
LICENSE.TXT preserves Microsoft's full license.
Only the ABI declarations extracted into Native/SystemNativeContracts.h are
compiled. SystemNativeExtras.cpp contains XFESystem's implementations over the
real native guest services. Upstream POSIX implementations in this directory are
contract references and are not compiled into the guest. Microsoft NativeAOT
runtime packages remain a separate external dependency, with their own license,
third-party notices and package identity.
The native DateTime ABI uses 100 ns ticks since 1970; the hardware PAL uses Windows FILETIME since 1601. The adapter subtracts the verified epoch offset and halts explicitly when the RTC fails: the native DateTime ABI has no error channel and the managed caller would misinterpret zero as 1970. Unsupported storage, OS accounts, network interfaces, dynamic loading and POSIX tty services return failures. Managed RAM workspace paths and PS/2 desktop reports do not implement POSIX file storage or standard-input byte streams.