code wiki / _hdl_build / nx_games_manifest_native.nx

nx_games_manifest_native.nx

buildroot/runtime/_hdl_build/nx_games_manifest_native.nx

13056 B277 linesdepth 8pulls 9 transitivereach 0 importersview sourcekind tooltopic games
docsdependenciesstructsconstsfunctions

about

nx_games_manifest_native.nx -- sovereign game-update manifest generator, driven from the NATIVE STORE (nx_native_config games-reg-, NO pipe file) -- Steam-depot / itch-wharf equivalent, sovereign + no-tsv. Reads the games registry (id/title/path/channel), SHA-256 hashes each game's served bytes (staged at /tmp/games_live/<id>), and emits /tmp/games_manifest.json = {generator, hash, games:[{id,title,path, channel,version(=content sha256 prefix),sha256,bytes}]}. Deployed to the hub docroot -> served at /games-manifest.json by the gateway (which already serves docroot files; no gateway code change). SHA-256 (FIPS 180-4) inlined from nx_game_manifest (the canonical core imports RV64 nx_syscalls which collides, so we inline the pure core; KAT sha256("abc") gates first). Ed25519 signing = next rung. license_tier: ORIGINAL (sha256 core: INDEPENDENT_REDERIVE nx_sha256.nx)

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_native_config.nx nx_games_manifest_native.nx

imports: nx_syscalls.nxnx_native_config.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap sha256_digest sys_mmap ↻ sha256_init sys_mmap ↻ sha256_k sha256_update blk_set_byte sha256_compress blk_word blk_byte sha256_final blk_set_byte ↻ sha256_compress ↻ ncfg_open ss_open_cached ssc_init sys_mmap ↻ ssc_sig_of ss_cat sys_fstatat ssc_streq ss_open ss_open2 sys_mmap ↻ ss_manifest_dyn ss_manifest_file_dyn ss_cat ↻ ss_loadfile sys_map_file ss_readall ss_load_aux2 sys_mmap ↻ ss_cat ↻ ss_loadfile ↻ ss_r32 sys_munmap ssl_total_keys ss_r32 ↻

structs

15struct Sha256

consts

12const K_MAGIC_65536: i64 = 65536
20const M32: i64 = 0xFFFFFFFF

functions

21func sha256_k(i: i64) -> i64
called by 1: sha256_init
88func blk_byte(c: *Sha256, n: i64) -> i64 { let p: *u8 = c.bufptr as *u8; return p[n] as i64 }
called by 1: blk_word
89func blk_set_byte(c: *Sha256, n: i64, v: i64) -> i64 { let p: *u8 = c.bufptr as *u8; p[n] = v & 0xFF; return 0 }
90func blk_word(c: *Sha256, i: i64) -> i64
called by 1: sha256_compress calls 1: blk_byte
96func sha256_compress(c: *Sha256) -> i64
called by 2: sha256_updatesha256_final calls 1: blk_word
127func sha256_init(c: *Sha256) -> i64
called by 1: sha256_digest calls 2: sys_mmapsha256_k
142func sha256_update(c: *Sha256, bytes: *u8, n: i64) -> i64
152func sha256_final(c: *Sha256, out: *u8) -> i64
175func sha256_digest(bytes: *u8, n: i64, out: *u8) -> i64
183func mf_puts(buf: *u8, off: i64, s: *u8) -> i64 { var o: i64=off; var i: i64=0; while s[i]!=(0 as u8){buf[o]=s[i];o=o+1;i=i+1} return o }
called by 1: main
184func mf_putdec(buf: *u8, off: i64, v: i64) -> i64
called by 1: main calls 1: sys_mmap
193func mf_hexn(buf: *u8, off: i64, dig: *u8, nch: i64) -> i64
called by 1: main
204func mf_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: main calls 1: sys_write
206func main() -> i64