code wiki / _hdl_build / nx_build_reg_sov.nx

nx_build_reg_sov.nx

buildroot/runtime/_hdl_build/nx_build_reg_sov.nx

6574 B121 linesdepth 3pulls 3 transitivereach 2 importersview sourcekind librarytopic build
docsdependenciesstructsconstsfunctions

about

nx_build_reg_sov.nx -- SOVEREIGN build-registrar library on nx_seg_store (operator law: no flat files, nishi ecosystem only -- [[feedback-no-tsv-sovereign-seg-store]]). Replaces the build_registry.log fa_appendz flat log. Each organ is a key "br:<organ>" -> value "owner|parent|state"; the full id list is the value of "br:ids" (space-delimited). Writes via ss_begin/ss_add/ss_commit (read-append the ids list + write the record in one commit, latest-wins by segid = idempotent). Reads via ss_get_cap. Pure lib, no main. Consumers: nx_build_reg_sov_gate (self-test) + the migrated govern/rooted/evidence/imports. license_tier: ORIGINAL

dependencies 2 imports · 2 importers

nx_seg_store.nx nx_syscalls.nx nx_build_reg_sov.nx nx_build_govern.nx nx_build_reg_sov_gate.nx

imports: nx_seg_store.nxnx_syscalls.nx

imported by: nx_build_govern.nxnx_build_reg_sov_gate.nx

structs

none

consts

10const BR2_SCAN: i64 = 260 // max segments to scan
11const BR2_SLOT: i64 = 256
12const BR2_IDS: i64 = 262144 // ids list buffer

functions

14func br2_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: gpgv_isorgan
15func br2_streq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } if b[i] != (0 as u8) { return 0 } return 1 }
called by 2: in_setmain
16func br2_cat(dst: *u8, off: i64, s: *u8) -> i64 { var o: i64 = off; var i: i64 = 0; while s[i] != (0 as u8) { dst[o] = s[i]; o = o + 1; i = i + 1 } return o }
called by 1: br2_submit_lin
18func br2_key(organ: *u8, out: *u8) -> i64 { out[0] = 98 as u8; out[1] = 114 as u8; out[2] = 58 as u8; var o: i64 = 3; var i: i64 = 0; while organ[i] != (0 as u8) { out[o] = organ[i]; o = o + 1; i = i + 1 } out[o] = 0 as u8; return 0 }
20func br2_get_raw(prefix: *u8, key: *u8, out: *u8, outcap: i64) -> i64
32func br2_field(rec: *u8, idx: i64, out: *u8) -> i64
called by 1: br2_get_field
40func br2_ids_has(ids: *u8, n: i64, organ: *u8) -> i64
called by 1: br2_submit_lin
56func br2_submit_lin(prefix: *u8, organ: *u8, owner: *u8, parent: *u8, state: *u8) -> i64
73func br2_submit(prefix: *u8, organ: *u8, owner: *u8, state: *u8) -> i64 { return br2_submit_lin(prefix, organ, owner, "DESC-ORGANS" as *u8, state) }
called by 2: mainmain calls 1: br2_submit_lin
75func br2_registered(prefix: *u8, organ: *u8) -> i64
called by 1: main calls 3: sys_mmapbr2_keyss_get_cap
81func br2_get_field(prefix: *u8, organ: *u8, idx: i64, out: *u8) -> i64
87func br2_get_state(prefix: *u8, organ: *u8, out: *u8) -> i64 { return br2_get_field(prefix, organ, 2, out) }
called by 1: main calls 1: br2_get_field
88func br2_get_parent(prefix: *u8, organ: *u8, out: *u8) -> i64 { return br2_get_field(prefix, organ, 1, out) }
called by 2: br2_enummain calls 1: br2_get_field
90func br2_distinct(prefix: *u8) -> i64
called by 2: mainmain calls 2: sys_mmapbr2_get_raw
102func br2_enum(prefix: *u8, names: *i64, parents: *i64, cap: i64) -> i64