code wiki / _hdl_build / nx_games_manifest_native.nx
nx_games_manifest_native.nx
buildroot/runtime/_hdl_build/nx_games_manifest_native.nx
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
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
structs
| 15 | struct Sha256 |
consts
| 12 | const K_MAGIC_65536: i64 = 65536 |
| 20 | const M32: i64 = 0xFFFFFFFF |
functions
| 21 | func sha256_k(i: i64) -> i64 called by 1: sha256_init |
| 88 | func blk_byte(c: *Sha256, n: i64) -> i64 { let p: *u8 = c.bufptr as *u8; return p[n] as i64 } called by 1: blk_word |
| 89 | func blk_set_byte(c: *Sha256, n: i64, v: i64) -> i64 { let p: *u8 = c.bufptr as *u8; p[n] = v & 0xFF; return 0 } |
| 90 | func blk_word(c: *Sha256, i: i64) -> i64 |
| 96 | func sha256_compress(c: *Sha256) -> i64 |
| 127 | func sha256_init(c: *Sha256) -> i64 |
| 142 | func sha256_update(c: *Sha256, bytes: *u8, n: i64) -> i64 |
| 152 | func sha256_final(c: *Sha256, out: *u8) -> i64 |
| 175 | func sha256_digest(bytes: *u8, n: i64, out: *u8) -> i64 |
| 183 | func 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 |
| 184 | func mf_putdec(buf: *u8, off: i64, v: i64) -> i64 |
| 193 | func mf_hexn(buf: *u8, off: i64, dig: *u8, nch: i64) -> i64 called by 1: main |
| 204 | func 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 } |
| 206 | func main() -> i64 |