code wiki / _hdl_build / nx_autorun_poke.nx

nx_autorun_poke.nx

buildroot/runtime/_hdl_build/nx_autorun_poke.nx

2700 B62 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_autorun_poke.nx -- the EVENT trigger for nx_autorun_daemon (event-driven mode). Writes ONE byte to the daemon's FIFO -> wakes it for exactly one re-prove beat. Non-blocking: if no daemon is listening (no reader on the FIFO) the O_NONBLOCK open returns ENXIO and the poke reports it instead of hanging. Any producer -- a git post-commit hook, nx_attempt_loop after authoring, or a human -- calls this: it is the ecosystem's "something changed, re-prove the rungs" signal, replacing the old 6h clock. Sovereign: syscalls only, no .sh. license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_autorun_poke.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 pk_fifo_path sys_mmap ↻ pk_read_all sys_openat_rd sys_read sys_close pk_cat pk_p sys_write sys_exit sys_write ↻ sys_close ↻

structs

none

consts

9const O_MAGIC_4096: i64 = 4096
10const O_MAGIC_4080: i64 = 4080
11const O_WRONLY_NB: i64 = 0x801 // O_WRONLY (1) | O_NONBLOCK (0x800)

functions

13func pk_p(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
15func pk_read_all(path: *u8, buf: *u8, cap: i64) -> i64
25func pk_cat(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { dst[off+i] = s[i]; i = i + 1 } return off + i }
called by 1: pk_fifo_path
28func pk_fifo_path(out: *u8) -> i64
called by 1: main calls 3: sys_mmappk_read_allpk_cat
49func main() -> i64