code wiki / (root) / nishi_spawn_probe.nx

nishi_spawn_probe.nx

buildroot/runtime/nishi_spawn_probe.nx

3628 B83 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind probetopic nishi
docsdependenciesstructsconstsfunctions

about

nishi_spawn_probe.nx -- verify the GUI keystone's process-spawn imports (IAT slots 20-23): CreateFileA, CreateProcessA, WaitForSingleObject, CloseHandle + generic ReadFile (19). Spawns nishi_fetch.exe with stdout -> a temp file, waits, reads the file back, dumps it. If this prints example.com's rendered text, in-process navigation is unblocked.

dependencies 1 imports · 0 importers

nx_syscalls.nx nishi_spawn_probe.nx

imports: nx_syscalls.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 scopy

structs

none

consts

10const W_ReadFile: i64 = 19
11const W_CreateFileA: i64 = 20
12const W_CreateProcessA: i64 = 21
13const W_WaitForSingleObject: i64 = 22
14const W_CloseHandle: i64 = 23

functions

8func win32(id: i64, args: *i64) -> i64 { return id }
16func w32(p: *u8, o: i64, v: i64) -> i64
called by 1: wp
19func wp(p: *u8, o: i64, v: i64) -> i64 { w32(p,o,v); w32(p,o+4, v / 4294967296); return 0 }
calls 1: w32
20func rd32(p: *u8, o: i64) -> i64 { return (p[o]&0xff)|((p[o+1]&0xff)<<8)|((p[o+2]&0xff)<<16)|((p[o+3]&0xff)<<24) }
called by 1: rp
21func rp(p: *u8, o: i64) -> i64 { return rd32(p,o) | (rd32(p,o+4) * 4294967296) }
calls 1: rd32
22func scopy(dst: *u8, o: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { dst[o+i]=s[i]; i=i+1 } return o+i }
called by 1: main
24func main() -> i64
calls 2: sys_mmapscopy