code wiki / _hdl_build / nx_ad_banner_daemon.nx

nx_ad_banner_daemon.nx

buildroot/runtime/_hdl_build/nx_ad_banner_daemon.nx

4522 B85 linesdepth 5pulls 6 transitivereach 0 importersview sourcekind servicetopic ad
docsdependenciesstructsconstsfunctions

about

nx_ad_banner_daemon.nx -- a thin standalone HTTP daemon that serves the BANNER BUILDER live for testing. GET any path -> the builder form; POST -> the form re-rendered with the generated banner preview + HTML. Server-rendered, ZERO JavaScript. Composes nx_ad_banner_builder (abb_page). Plain HTTP (loopback/LAN); TLS-fronting is a later rung. argv: [1]=port (default 8093). Sovereign, no gcc/.sh. license_tier: ORIGINAL

dependencies 2 imports · 0 importers

nx_ad_banner_builder.nx nx_syscalls.nx nx_ad_banner_daemon.nx

imports: nx_ad_banner_builder.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 bd_atoi sys_mmap sys_socket sys_write sys_exit sys_setsockopt sys_bind sys_listen sys_accept sys_set_socket_timeout sys_mmap ↻ sys_setsockopt ↻ sys_munmap sys_read bd_find bd_starts abb_page as_append abb_input as_append ↻ sys_mmap ↻ abb_get sys_mmap ↻ nx_http_form_get_field nxf_decode_chunk nxf_hex_nibble as_len as_append_escaped as_append ↻ bd_send sys_mmap ↻ bd_cat bd_itoa sys_mmap ↻ bd_catb sys_write ↻ sys_close

structs

none

consts

7const K_MAGIC_262144: i64 = 262144
8const K_MAGIC_8093: i64 = 8093
9const K_MAGIC_1000000: i64 = 1000000
10const K_MAGIC_65536: i64 = 65536
11const K_MAGIC_65535: i64 = 65535

functions

13func bd_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
14func bd_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 { return v } if c > 57 { return v } v = v * 10 + (c - 48); i = i + 1 } return v }
called by 1: main
15func bd_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: bd_send
16func bd_catb(dst: *u8, off: i64, src: *u8, n: i64) -> i64 { var o: i64 = off; var i: i64 = 0; while i < n { dst[o] = src[i]; o = o + 1; i = i + 1 } return o }
called by 1: bd_send
17func bd_itoa(dst: *u8, off: i64, v: i64) -> i64
called by 1: bd_send calls 1: sys_mmap
25func bd_find(buf: *u8, n: i64, needle: *u8, nl: i64) -> i64
called by 1: main
31func bd_starts(buf: *u8, n: i64, pre: *u8) -> i64 { var i: i64 = 0; while pre[i] != (0 as u8) { if i >= n { return 0 } if buf[i] != pre[i] { return 0 } i = i + 1 } return 1 }
called by 1: main
34func bd_send(cfd: i64, status: *u8, body: *u8, blen: i64) -> i64
43func main(argc: i64, argv: *i64) -> i64