nx_verify_port_core.nx
buildroot/runtime/nx_verify_port_core.nx
about
nx_verify_port_core.nx -- the portability linter's SCANNER (importable; nx_verify's `portability` verb
+ nx_portability_gate both use THIS one implementation, DRY). A LOGIC-layer source must not touch the
OS directly: raw "/proc" "/sys" "/dev" "/tmp" string literals or raw __syscall( outside the seams.
//-comments are skipped (docs may NAME the law); strings are scanned (couplings live in strings).
license_tier: ORIGINAL
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_portability_gate.nx
structs
| none |
consts
| 8 | const VP_NL: i64 = 10 |
| 9 | const VP_ASCII_0: i64 = 48 // '0' (decimal print) |
| 10 | const VP_COMMENT_LEN: i64 = 2 // "//" is two chars |
| 39 | const VP_RD_CAP: i64 = 1048576 // per-file scan cap |
| 40 | const VP_C_SCANNED: i64 = 0 // census counts[] slots |
| 41 | const VP_C_COUPLED: i64 = 1 |
| 42 | const VP_C_HITS: i64 = 2 |
| 43 | const VP_C_EXEMPT: i64 = 3 |
| 44 | const VP_PATH_CAP: i64 = 1024 |
| 45 | const VP_DENT_BUF: i64 = 65536 // getdents64 batch (proven sizing) |
functions
| 12 | func vp_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 13 | func vp_putn(v: i64) -> i64 |
| 23 | func vp_matchat(buf: *u8, i: i64, n: i64, lit: *u8) -> i64 called by 1: vp_scan |
| 29 | func vp_name_has(s: *u8, needle: *u8) -> i64 called by 1: vp_exempt_name |
| 48 | func vp_read(path: *u8, buf: *u8, cap: i64) -> i64 |
| 58 | func vp_exempt_name(name: *u8) -> i64 |
| 66 | func vp_ends(s: *u8, suf: *u8) -> i64 called by 1: vp_census |
| 76 | func vp_scan(buf: *u8, n: i64) -> i64 |
| 101 | func vp_census(dir: *u8, counts: *i64) -> i64 |