code wiki / _hdl_build / nx_ad_serve.nx

nx_ad_serve.nx

buildroot/runtime/_hdl_build/nx_ad_serve.nx

3942 B80 linesdepth 2pulls 2 transitivereach 112 importersview sourcekind librarytopic ad
docsdependenciesstructsconstsfunctions

about

nx_ad_serve.nx -- LIB: the "Brought to you by" PLACEMENT emitter for the performance ad engine (ADS-004, CALLOUT-004). Emits a static, clean, first-party banner -- the polite old-time-radio sponsorship byline -- with ZERO third-party JavaScript (the headline promise: no surveillance auctions, no third-party scripts, no cross-site profiles). Impression COUNTS ride W5 first-party pageview tracking (PRESENT) + the ADS-019 filter + ADS-007 meter; this organ's job is the clean placement itself. DEFENSIVE AT THE BOUNDARY (rule 12): the sponsor's business name + banner text are EXTERNAL input, so they are HTML-escaped before emission -- a sponsor named "<script>..." cannot inject script. The emitted markup uses single-quoted attributes + inline first-party styling only; NO <script>, <iframe>, src=, <object>, <embed> -- and `as_has_thirdparty_js` proves it (the gate also proves that detector FIRES on a planted third-party tag, so GREEN means "proven clean", not "assumed"). license_tier: ORIGINAL

dependencies 1 imports · 32 importers

nx_syscalls.nx nx_ad_serve.nx nx_ad_banner.nx nx_ad_banner_builder.nx nx_ad_banner_builder_gate.nx nx_ad_banner_exceed.nx nx_ad_banner_exceed_gate.nx nx_ad_banner_gate.nx nx_ad_emitter_apply.nx nx_ad_emitter_apply_gate.nx nx_ad_exceed.nx nx_ad_feedback.nx

diagram shows first 10 each side; +0 more imports, +22 more importers in the complete lists below.

imports: nx_syscalls.nx

imported by: nx_ad_banner.nxnx_ad_banner_builder.nxnx_ad_banner_builder_gate.nxnx_ad_banner_exceed.nxnx_ad_banner_exceed_gate.nxnx_ad_banner_gate.nxnx_ad_emitter_apply.nxnx_ad_emitter_apply_gate.nxnx_ad_exceed.nxnx_ad_feedback.nxnx_ad_feedback_gate.nxnx_ad_h2h.nxnx_ad_intake.nxnx_ad_nb_fold_gate.nxnx_ad_offering.nxnx_ad_offering_gate.nxnx_ad_serve_gate.nxnx_ad_serve_policy.nxnx_creature_battle_gate.nxnx_creature_world_gate.nxnx_food_science.nxnx_food_stirfry_gate.nxnx_game_grow.nxnx_game_render.nxnx_game_render_gate.nxnx_game_scaffold.nxnx_game_scaffold_gate.nxnx_inventory.nxnx_maze_gate.nxnx_nishi_builder_gate.nxnx_web_render.nxnx_web_render_gate.nx

structs

none

consts

none

functions

16func as_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
19func as_append(dst: *u8, off: i64, s: *u8) -> i64
27func as_append_escaped(dst: *u8, off: i64, s: *u8, slen: i64) -> i64
45func as_emit_banner(business: *u8, blen: i64, bannertext: *u8, tlen: i64, out: *u8) -> i64
57func as_contains(hay: *u8, n: i64, needle: *u8) -> i64
73func as_has_thirdparty_js(html: *u8, n: i64) -> i64