code wiki / (root) / nx_iot_research_fetch.nx

nx_iot_research_fetch.nx

buildroot/runtime/nx_iot_research_fetch.nx

6527 B96 linesdepth 21pulls 146 transitivereach 0 importersview sourcekind tooltopic iot
docsdependenciesstructsconstsfunctions

about

nx_iot_research_fetch.nx -- SOVEREIGN multi-source web-fetch to RESEARCH how others do SMART-HOME IoT PAIRING + UNIFICATION (operator 2026-06-22: "use the nishi researcher and see how others do this" -- pair unpaired bulbs + unify the home IoT onto our hub, S-class). Mirrors the proven nx_idam_research_fetch / nx_docpub_research_fetch pattern: own TLS-1.3 (nx_https_fetch_follow) + the Mozilla CA store, saves each source to knowledge/fetched/iot_*.raw so research COMPOUNDS to the Library and can be grepped to CITE (>=2-source no-hearsay). 100% sovereign (own TLS, nx_cc->nxasm, no curl/wget/gcc). Idempotent have-skip (also the per-fetch mmap-leak workaround; re-run fills gaps). Axes = what "pair the bulbs + unify to a sovereign hub, S-class" must learn from the field: (A) WIFI PROVISIONING / ONBOARDING (how an unpaired device joins a network: WPS, Wi-Fi Easy Connect/DPP, captive-portal SoftAP, the access-point pairing dance) (B) DISCOVERY + LOCAL CONTROL (cloud-free hub<->device: mDNS/DNS-SD, MQTT, CoAP -- the LAN floor) (C) HUBS + UNIFY STANDARDS (how others unify: Home Assistant, openHAB, Matter, Thread, Zigbee) (D) NETWORK ISOLATION / IoT SECURITY (the S-class IoT-SSID/VLAN segmentation pattern) (E) VENDOR / ECOSYSTEM (TP-Link et al. -- the real fleet) expect_exit: 0 license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_x509_trust_store.nx nx_trust_store_load_from_certdata. nx_https_fetch_follow.nx nx_iot_research_fetch.nx

imports: nx_syscalls.nxnx_x509_trust_store.nxnx_trust_store_load_from_certdata.nxnx_https_fetch_follow.nx

imported by: nobody (leaf or entry point)

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

main nx_trust_store_load_from_c sys_mmap sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close nx_nss_certdata_parse sys_mmap ↻ _pat_class_cert _pat_value_octal _pat_end _find_newline _starts_with _parse_octal_line sys_mmap ↻ _is_space _decode_octal_escape _is_octal trust_store_alloc sys_mmap ↻ nx_x509_trust_store_load sys_mmap ↻ x509_parse sys_mmap ↻ asn1_cursor_init asn1_expect_tag sys_mmap ↻ asn1_read_tlv_header asn1_read_tag asn1_read_length asn1_read_length ↻ x509_read_tlv sys_mmap ↻ asn1_expect_tag ↻ x509_read_alg_id sys_mmap ↻ asn1_expect_tag ↻

structs

none

consts

20const K_MAGIC_4194304: i64 = 4194304
21const K_MAGIC_8388608: i64 = 8388608

functions

23func gf_puts(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: fetch_savemain calls 1: sys_write
24func gf_putn(v: i64) -> i64
called by 2: fetch_savemain calls 2: sys_writesys_mmap
34func have_file(path: *u8) -> i64
called by 1: fetch_save calls 2: sys_openat_rdsys_close
40func fetch_save(url: *u8, opath: *u8, store: *TrustStore, out: *u8, cap: i64) -> i64
57func main() -> i64