code wiki / _hdl_build / nx_docpub_publish.nx

nx_docpub_publish.nx

buildroot/runtime/_hdl_build/nx_docpub_publish.nx

5739 B80 linesdepth 6pulls 12 transitivereach 0 importersview sourcekind tooltopic docpub
docsdependenciesstructsconstsfunctions

about

nx_docpub_publish.nx -- the docs arc's PUBLISH LEG, wired to THE NISHI PUBLISHER (operator law: every push flows through ONE publisher via pub_submit; NO workstream pushes directly -- the sites.elf outage fix). Stages the WHOLE self-generated documentation SITE (index + reference set) by enqueueing one durable, flock'd, sha256-identified REQUEST per page to the publisher intake; the publisher SHIPS. Docs are INTERNAL behind the OPAQUE wall (operator 2026-06-21) so dest = the walled /wiki/reference/ doc-root. Proven against a DEDICATED docpub queue; the publisher workstream promotes to the canonical queue + ships (coordinate). NEVER nx_aw_push. license_tier: ORIGINAL expect_exit: 0

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_itoa_lib.nx nx_publisher.nx nx_runpath.nx nx_docpub_publish.nx

imports: nx_syscalls.nxnx_itoa_lib.nxnx_publisher.nxnx_runpath.nx

imported by: nobody (leaf or entry point)

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

main dpp_w sys_write dpp_trunc sys_openat_wr sys_close sys_mmap dpp_one sys_mmap ↻ dpp_mk dpp_cat pub_submit_to sys_mmap ↻ pub_sha_file sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close ↻ sha256_digest sys_mmap ↻ sha256_init sys_mmap ↻ sha256_k sha256_update sha256_compress_ni_blocks blk_set_byte sha256_compress sha256_final blk_set_byte ↻ sha256_compress ↻ sys_munmap pub_hexd pub_build_rec fa_cat fa_appendz fa_append sys_mmap ↻

structs

none

consts

12const K_MAGIC_65536: i64 = 65536

functions

14func dpp_w(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 2: dpp_onemain calls 1: sys_write
19func dpp_n(v: i64) -> i64 { nxi_out(v); return 0 }
called by 2: dpp_onemain calls 1: nxi_out
20func dpp_match(buf: *u8, p: i64, n: i64, needle: *u8) -> i64
25func dpp_contains(buf: *u8, n: i64, needle: *u8) -> i64 { var i: i64 = 0; while i < n { if dpp_match(buf, i, n, needle) == 1 { return 1 } i = i + 1 } return 0 }
called by 1: main calls 1: dpp_match
26func dpp_count(buf: *u8, n: i64, needle: *u8) -> i64 { var i: i64 = 0; var c: i64 = 0; while i < n { if dpp_match(buf, i, n, needle) == 1 { c = c + 1 } i = i + 1 } return c }
called by 1: main calls 1: dpp_match
27func dpp_trunc(path: *u8) -> i64 { let fd: i64 = sys_openat_wr(path, 0x1a4); if fd >= 0 { sys_close(fd) } return 0 }
called by 1: main calls 2: sys_openat_wrsys_close
28func dpp_read(path: *u8, buf: *u8, cap: i64) -> i64
called by 1: main calls 3: sys_openat_rdsys_readsys_close
32func dpp_cat(out: *u8, o: i64, s: *u8) -> i64 { var k: i64 = 0; while s[k] != (0 as u8) { out[o] = s[k]; o = o + 1; k = k + 1 } return o }
called by 1: dpp_mk
33func dpp_mk(prefix: *u8, name: *u8, suffix: *u8, out: *u8) -> i64 { var o: i64 = 0; o = dpp_cat(out, o, prefix); o = dpp_cat(out, o, name); o = dpp_cat(out, o, suffix); out[o] = 0 as u8; return o }
called by 1: dpp_one calls 1: dpp_cat
36func dpp_one(qpath: *u8, name: *u8, ok: *i64) -> i64
45func main() -> i64