code wiki / _hdl_build / nx_ecomat_put.nx

nx_ecomat_put.nx

buildroot/runtime/_hdl_build/nx_ecomat_put.nx

5864 B102 linesdepth 4pulls 5 transitivereach 0 importersview sourcekind tooltopic ecomat
docsdependenciesstructsconstsfunctions

about

nx_ecomat_put.nx -- store-native autoid domain adder for the ecomat maturity plane (acl F771). Adds ONE domain to the seg-store at the next CONTIGUOUS id, atomically under flock. ss_commit REPLACES the store with the write-set (gate-proven), so this RELOADS every existing domain + adds the new one + commits the whole set (load-all/write-all, like nx_frontier_put). Kills the two-edit-surface seeder clobber (no seeder-source edit). No hw writes (Rule 26). Gate: nx_ecomat_put_gate 3/3 on a throwaway. nx_ecomat_put addauto <axis> <layer> <cur> <bar> <weight> <domain> <bench> <nextrung> [evlog] [evpat] [prefix] exit: 0 ok (ECOMAT-PUT id=N) | 2 usage | 1 fail-closed. license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_ecomat_lib.nx nx_seg_store.nx nx_syscalls.nx nx_ecomat_put.nx

imports: nx_ecomat_lib.nxnx_seg_store.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main ep_werr sys_write sys_exit ep_vlen ep_atoi ep_lock sys_mmap sys_openat_append sys_flock ss_open ss_open2 sys_mmap ↻ ss_manifest_dyn ss_manifest_file_dyn sys_mmap ↻ ss_cat ss_readall sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close sys_munmap ss_cat ↻ ss_loadfile sys_map_file sys_openat_rd ↻ sys_lseek ↻ sys_close ↻ ss_readall ↻ ss_load_aux2 sys_mmap ↻ ss_cat ↻ ss_loadfile ↻ ss_r32 sys_munmap ↻ ssl_total_keys ss_r32 ↻ ssl_pow2

structs

none

consts

12const EP_MAGIC_1024: i64 = 1024
14const EP_STDERR: i64 = 2
15const EP_MODE: i64 = 420
16const EP_LOCK_EX: i64 = 2

functions

18func ep_puts(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
19func ep_werr(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(EP_STDERR, s, n); return 0 }
called by 1: main calls 1: sys_write
20func ep_vlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: main
21func ep_atoi(s: *u8) -> i64 { var v: i64 = 0; var i: i64 = 0; while s[i] != (0 as u8) { let c: i64 = s[i] as i64; if c >= 48 { if c <= 57 { v = v * 10 + (c - 48) } } i = i + 1 } return v }
called by 1: main
22func ep_catn(fd: i64, v: i64) -> i64 { var m: i64 = v; if m < 0 { m = 0 } let t: *u8 = sys_mmap(28); var k: i64 = 0; if m == 0 { t[0] = 48 as u8; k = 1 } while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } let o: *u8 = sys_mmap(28); var i: i64 = 0; while i < k { o[i] = t[k-1-i]; i = i + 1 } sys_write(fd, o, k); return 0 }
called by 1: main calls 2: sys_mmapsys_write
23func ep_lock(prefix: *u8) -> i64
37func main(argc: i64, argv: *i64) -> i64