code wiki / (root) / nx_pushback_publish.nx

nx_pushback_publish.nx

buildroot/runtime/nx_pushback_publish.nx

8072 B145 linesdepth 9pulls 27 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_pushback_publish.nx -- THE COMMUNITY PUSH-BACK COMMAND (/compare/modding MD23 pushback_publish, 2026-09-06). A thin caller of nx_pushback_lib: one sovereign manifest, N community targets from knowledge/modding_communities.conf, one bundle per community (the byte-identical manifest, the estate-written 7z, the content id, magnet, download url and index row, and the publish row carrying the licence row and the referee grade). Every refusal is NAMED on its own line and the summary partition sums (requested = published + refused). usage: nx_pushback_publish publish <pkg-root> <manifest.nxmod> <community[,community...]> [outdir=<dir>] [grade=<file>] [conf=<path>] [jrnl=<path>] nx_pushback_publish communities [conf=<path>] outdir defaults to <pkg-root>/pushback; grade defaults to <pkg-root>/referee.grade (no grade file = UNGRADED, and an ungraded package never publishes); conf defaults to knowledge/modding_communities.conf; jrnl to the ONE asset journal. exits: 0 every requested community published (GREEN) - 2 usage - 3 at least one community refused (RED, each named) - 4 the request refused before any community was tried (conf or manifest unreadable) license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_pushback_lib.nx nx_pushback_publish.nx

imports: nx_syscalls.nxnx_pushback_lib.nx

imported by: nobody (leaf or entry point)

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

main pp_usage pp_arg pp_prefix mm_len sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ pb_conf_load sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close mm_fields mm_is mm_len ↻ mm_dup sys_mmap ↻ mm_atoi pp_kv pp_kvn pp_under sys_mmap ↻ mm_join_path

structs

none

consts

16const PP_EXIT_OK: i64 = 0
17const PP_EXIT_USAGE: i64 = 2
18const PP_EXIT_REFUSED: i64 = 3
19const PP_EXIT_REQUEST: i64 = 4
20const PP_ARGC_PUBLISH: i64 = 5
21const PP_ARG_ROOT: i64 = 2
22const PP_ARG_MANIFEST: i64 = 3
23const PP_ARG_IDS: i64 = 4
24const PP_KEY_OUTDIR: *u8 = "outdir="
25const PP_KEY_GRADE: *u8 = "grade="
26const PP_KEY_CONF: *u8 = "conf="
27const PP_KEY_JRNL: *u8 = "jrnl="
28const PP_VERB_PUBLISH: *u8 = "publish"
29const PP_VERB_COMMUNITIES: *u8 = "communities"

functions

31func pp_usage() -> i64
called by 1: main
36func pp_prefix(s: *u8, pfx: *u8) -> i64
called by 1: pp_arg
41func pp_arg(argc: i64, argv: *i64, key: *u8) -> *u8
called by 1: main calls 2: pp_prefixmm_len
50func pp_kv(k: *u8, v: *u8) -> i64 { pv_puts(" " as *u8); pv_puts(k); pv_puts("=" as *u8); pv_puts(v); return 0 }
called by 1: main
51func pp_kvn(k: *u8, v: i64) -> i64 { pv_puts(" " as *u8); pv_puts(k); pv_puts("=" as *u8); pv_putn(v); return 0 }
called by 1: main
52func pp_under(root: *u8, name: *u8) -> *u8 { let o: *u8 = sys_mmap(PB_PATH_CAP); mm_join_path(root, name, o); return o }
called by 1: main calls 2: sys_mmapmm_join_path
54func main(argc: i64, argv: *i64) -> i64