Add config module: INI loader with schema-driven defaults

Config_Def schema tables declare section/key/type/default per module.
Typed getters: config_get_str, _u16, _u32, _flags.
FLAGS type parses space/comma-separated tokens via a Config_Flag_Def table.
config_defaults() gives schema defaults without a file.
config_dump() prints effective values for diagnostics.

config_cli: load a file or --defaults and dump effective config.
dev/example.cfg: sample config covering node, discovery, transport.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-26 22:37:53 +00:00
parent d6e34ed95b
commit ba26bd0cb7
7 changed files with 457 additions and 3 deletions

View File

@@ -57,7 +57,7 @@ Modules are listed in intended build order. Each depends only on modules above i
| 14 | `xorg` | not started | X11 screen geometry queries (XRandR), screen grab source (calls codec), frame viewer sink — see architecture.md |
| 15 | `web node` | not started | Node.js/Express peer — speaks binary protocol on socket side, HTTP/WebSocket to browser; `protocol.mjs` mirrors C protocol module |
| — | `mjpeg_scan` | future | EOI marker scanner for misbehaving hardware that does not deliver clean per-buffer frames; not part of the primary pipeline |
| — | `config` | future | Unified config file reader; nodes currently configured via CLI args — needed before production deployment |
| — | `config` | done | INI file loader with schema-driven defaults, typed getters, FLAGS type for bitmask values |
---