code wiki / _hdl_build / nx_seat.nx
nx_seat.nx
buildroot/runtime/_hdl_build/nx_seat.nx
about
nx_seat.nx -- THE AGENT-SEAT token-engine organ (seat-system S0+S3, 2026-07-20).
MISSION (operator): move Claude's token lift INTO the ecosystem. Measured 12-session baseline:
cache_read 920.8M tok vs output 6.1M -- fat tool results re-read every turn dominate cost.
So: boot = ONE call, HARD-CAPPED <=4096B digest (vs ~40K-token memory-file boot); the substrate
is digested SERVER-SIDE and only the decision surface reaches a seat's context window.
nx_seat boot <ws> [journal] [debtprefix] [frontierprefix] [meterlog] -> capped JSON digest
nx_seat meter <seat> <sessions> <out_tok> <cread_tok> <ccreate_tok> <note> [logpath]
-> ONE O_APPEND TSV row to knowledge/status/token_efficiency.log (conflict-free, S3)
nx_seat meterlog [n] [logpath] -> last n metering rows (tail-window, declared)
nx_seat shift [days] [meterlog] [ws.jrnl] -> ENGINE-SHIFT SCOREBOARD (F831): claude-vs-local
seat-class aggregates + DONE-closures in window -> tokens-per-closed-rung, capped JSON
nx_seat reap [actor] [note] [claims.jrnl] [ws.jrnl] -> F214 ORPHAN REAP: forks the nx_claims
organ's reap verb (releases ONLY provably-EXPIRED claims, age>ttl by the claim's OWN
ttl -- the wrapper NEVER decides expiry itself) then appends one ORPHAN-REAPED audit
frame per reaped ws to the ws journal (who/when/why); idempotent, additive-only
nx_seat resume_map <transcripts_dir> <temp_root|-> <win_start_epoch|latest> [win_end] [frames.jrnl|-]
-> DM2 CRASH-RESUME MAP (/compare/devmgmt): per-seat lane/last-action/IN-FLIGHT/resume-point
evidence from transcript JSONL tails + scratchpads + task-child outputs; full population,
partition printed AND summed; in-flight wrong only toward flagging. The last arg is the DM1
frames journal -- the convention DIR (knowledge/status/chbeat) or one chbeat_<YYYYMMDD>.jrnl --
which joins ESTATE-side frames to each seat by session id (actlog col1) and reports
SKIP / PARTIAL (covered window stated) / COVERS. SSOT: buildroot copy of this file.
nx_seat selftest [tmpbase] -> gv-lib gate T1..T6 incl SCALE tooth (300-frame journal
-> output still <=4096B; fixture gates prove correctness NEVER scale -- ark v1 lesson)
SCALE-LAW: every read is tail-windowed with the true size DECLARED in output (journal_bytes vs
window_bytes); output budget declared as budget_bytes. AUTHORITY: nx_ws_cycle next remains the
scoped debt gate; boot is the recon DIGEST and says so in its output (no drift, no dup gate).
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 10 imports · 0 importers
imports: nx_sovjson_lib.nxnx_store_seed_lib.nxnx_seg_store.nxnx_gate_verdict.nxnx_tool_run.nxnx_syscalls.nxnx_claims.nxnx_costest_lib.nxnx_rungclose_lib.nxnx_gauge_lib.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 42 | const ST_GAUGE_STAMP: *u8 = "knowledge/status/seat_gauge.stamp" // CE9: the heartbeat the codeeffectiveness.gauge row reads |
| 43 | const ST_LEDGER: *u8 = "knowledge/status/costcal.ledger" // EC56: the boards' land and retract events, written by the costcal beat |
| 44 | const ST_FRAME_SLACK: i64 = 64 // EC62: a frame's fixed parts -- the timestamp digits, four tabs, the newline and the terminator |
| 45 | const ST_WIPSTATUS: *u8 = "knowledge/status/wip.status" // EC57: the costcal beat's ONE canonical started-not-landed line |
| 46 | const ST_WORKLIST: *u8 = "knowledge/status/rungclose.worklist" // EC57 c: the fleet census's close-first worklist (nx_rungclose census all) |
| 47 | const ST_CLOSESTATUS: *u8 = "knowledge/status/rungclose.status" // EC57: the fleet census's ONE canonical state line |
| 48 | const ST_CF_DAY_S: i64 = 86400 // EC57 c: a close-first row's idle time is quoted in whole days |
| 49 | const ST_CF_FIX_ROWS: i64 = 4 // T23: the planted worklist holds three rows; one spare |
| 50 | const ST_CF_FIX_NAME_B: i64 = 16 // T23: more than the longest planted domain plus rung name (fxdom and S1) |
| 51 | const ST_STAMP_SUFFIX: *u8 = ".gauge.stamp" // EC56: a run over non-default evidence stamps BESIDE its own meter log, never the production heartbeat |
| 52 | const ST_GAUGE_AXES: i64 = 2 // CE9: the meter log and the ws journal; a window that read only one is BLIND, never zero |
| 53 | const ST_MAGIC_172800: i64 = 172800 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 54 | const ST_MAGIC_7200000: i64 = 7200000 // NX-UNNAMED: mechanical, collision-free placeholder -- this name RESTATES the value and so carries no meaning. Replace it with a domain term that says WHY, or move the number to a config row. |
| 60 | const ST_FORK_TIMEOUT_MS: i64 = 30000 |
| 61 | const ST_MAGIC_4096: i64 = 4096 |
| 62 | const ST_MAGIC_86400: i64 = 86400 |
| 63 | const ST_MAGIC_4092: i64 = 4092 |
| 64 | const ST_MAGIC_8192: i64 = 8192 |
| 65 | const ST_MAGIC_8188: i64 = 8188 |
| 66 | const ST_MAGIC_3600: i64 = 3600 |
| 67 | const ST_MAGIC_1024: i64 = 1024 |
| 68 | const ST_MAGIC_9000: i64 = 9000 |
| 69 | const ST_MAGIC_90000: i64 = 90000 |
| 70 | const ST_MAGIC_100000: i64 = 100000 // selftest: a row this far back falls in the PREVIOUS 1-day shift window |
| 71 | const ST_FIX_CUR_CREAD: i64 = 2000 // selftest ratchet fixture: the current window's cache-read tokens (not a ratchet input) |
| 72 | const ST_FIX_PREV_OUT_HIGH: i64 = 4000 // selftest ratchet fixture: previous-window out tokens high enough that the current window reads GREEN |
| 73 | const ST_MAGIC_65536: i64 = 65536 |
| 76 | const ST_JRNL_BUF: i64 = 8388608 |
| 78 | const ST_CAP: i64 = 1048576 |
| 81 | const ST_DRIFTLOG: *u8 = "knowledge/status/artifactdrift.log" |
| 82 | const ST_DRIFTCAP: i64 = 4096 |
| 83 | const ST_OUTCAP: i64 = 4096 |
| 84 | const ST_OUTBUF: i64 = 8192 |
| 85 | const ST_SEEK_SET: i64 = 0 |
| 86 | const ST_SEEK_END: i64 = 2 |
| 87 | const ST_TAB: i64 = 9 |
| 88 | const ST_NL: i64 = 10 |
| 89 | const ST_STDERR: i64 = 2 |
| 90 | const ST_SPAN: i64 = 16 |
| 91 | const ST_EXIT_USAGE: i64 = 2 |
| 92 | const ST_ACTIVE_MAX: i64 = 8 |
| 93 | const ST_FRONT_MAX: i64 = 5 |
| 94 | const ST_ROW_ESC: i64 = 240 |
| 95 | const ST_NOTE_ESC: i64 = 160 |
| 96 | const ST_WS_ESC: i64 = 40 |
| 97 | const ST_TITLE_ESC: i64 = 60 |
| 98 | const ST_STALE_SEC: i64 = 7200 |
| 99 | const ST_MODE_RW: i64 = 0x1a4 |
| 100 | const ST_ST_FRAMES: i64 = 300 |
| 103 | const ST_CLAIMS_JRNL: *u8 = "knowledge/status/claims.jrnl" // the canonical plane checkin/checkout/reap ALREADY write; named once here so the four sites cannot drift |
| 104 | const ST_CLAIMRES_PFX: *u8 = "debt-" // claim resource = this + the row's OWN id column, so selector and claimer derive the same name with no shared literal to drift |
| 105 | const ST_CLAIMRES_B: i64 = 64 // len("debt-")=5 + widest i64 decimal=20 + NUL=1 = 26; 64 is the next power of two above that (also covers the frontier prefix below) |
| 106 | const ST_CLAIMRES_FPFX: *u8 = "frontier-" // ready's rows are frontier F-ids, so they claim under their OWN namespace and can never collide with a debt-<id> |
| 109 | const ST_RM_DIRBUF: i64 = 1048576 // getdents64 batch buffer -- LOOPED to completion, so this is throughput not coverage (census-organ figure) |
| 110 | const ST_RM_PATHCAP: i64 = 4096 // PATH_MAX, the kernel's own bound |
| 111 | const ST_RM_NAMECAP: i64 = 256 // NAME_MAX+1, the kernel's own bound |
| 112 | const ST_RM_STATBUF: i64 = 256 // struct stat is 144B on x86_64; ccz_mtime precedent allocates 256 |
| 113 | const ST_RM_STAT_MTIME_IDX: i64 = 11 // st_mtim.tv_sec at byte 88 = i64[11] (x86_64 ABI, ccz_mtime precedent) |
| 114 | const ST_RM_STAT_SIZE_IDX: i64 = 6 // st_size at byte 48 = i64[6] (x86_64 ABI) |
| 115 | const ST_RM_DENT_TYPE_OFF: i64 = 18 // linux_dirent64 d_type (kernel ABI) |
| 116 | const ST_RM_DT_DIR: i64 = 4 // DT_DIR (kernel ABI) |
| 117 | const ST_RM_TYPEMAX: i64 = 64 // per-file distinct entry-type census slots; overflow ANNOUNCES types_floor=1 (counts become a FLOOR, never silent) |
| 118 | const ST_RM_TYPENAME: i64 = 32 // stored type-name cap; longest observed harness type is 21B (file-history-snapshot) |
| 119 | const ST_RM_SLOT: i64 = 512 // one condensed-evidence string slot: ST_ROW_ESC=240 max + NUL + margin |
| 120 | const ST_RM_TSCAP: i64 = 40 // ISO-8601 timestamp verbatim copy; observed wire form is 24B |
| 121 | const ST_RM_DANGROW: i64 = 192 // one formatted in-flight row: "id="+ST_RM_IDCAP+" tool="+ST_RM_TOOLCAP+NUL < 192 |
| 122 | const ST_RM_IDCAP: i64 = 48 // tool_use id copy cap; observed toolu_ ids are 30B |
| 123 | const ST_RM_TOOLCAP: i64 = 64 // tool-name copy cap; longest registered tool name observed ~40B |
| 124 | const ST_RM_LINE: i64 = 65536 // report line build buffer; content bounded by the cond caps above |
| 125 | const ST_RM_HASHMUL: i64 = 131 // polynomial rolling-hash base for tool-id pairing (prime > byte alphabet) |
| 126 | const ST_RM_I64B: i64 = 8 // sizeof(i64) |
| 127 | const ST_RM_QUOTE: i64 = 34 |
| 128 | const ST_RM_BSLASH: i64 = 92 |
| 129 | const ST_RM_LBRACE: i64 = 123 |
| 130 | const ST_RM_RBRACE: i64 = 125 |
| 131 | const ST_RM_LBRACK: i64 = 91 |
| 132 | const ST_RM_RBRACK: i64 = 93 |
| 133 | const ST_RM_COLON: i64 = 58 |
| 134 | const ST_RM_SPACE: i64 = 32 |
| 135 | const ST_RM_DOT: i64 = 46 |
| 136 | const ST_RM_SLASH: i64 = 47 |
| 138 | const ST_RM_R_OK: i64 = 0 |
| 139 | const ST_RM_R_BYTES: i64 = 1 |
| 140 | const ST_RM_R_LINES: i64 = 2 |
| 141 | const ST_RM_R_MALFORMED: i64 = 3 |
| 142 | const ST_RM_R_TAILMAL: i64 = 4 |
| 143 | const ST_RM_R_TAILUNTERM: i64 = 5 |
| 144 | const ST_RM_R_USES: i64 = 6 |
| 145 | const ST_RM_R_RESULTS: i64 = 7 |
| 146 | const ST_RM_R_DANGLING: i64 = 8 |
| 147 | const ST_RM_R_LASTKIND: i64 = 9 |
| 148 | const ST_RM_R_TYPES: i64 = 10 |
| 149 | const ST_RM_R_TYPEFLOOR: i64 = 11 |
| 150 | const ST_RM_R_NULFINAL: i64 = 12 |
| 151 | const ST_RM_R_SIDECHAIN: i64 = 13 |
| 152 | const ST_RM_R_ORPHANRES: i64 = 14 |
| 153 | const ST_RM_R_HASTEXT: i64 = 15 |
| 154 | const ST_RM_R_DANGBUF: i64 = 16 |
| 155 | const ST_RM_R_TAILMALLEN: i64 = 17 |
| 156 | const ST_RM_R_SLOTS: i64 = 24 |
| 158 | const ST_RM_S_TITLE: i64 = 0 |
| 159 | const ST_RM_S_PROMPT: i64 = 1 |
| 160 | const ST_RM_S_TEXT: i64 = 2 |
| 161 | const ST_RM_S_TOOL: i64 = 3 |
| 162 | const ST_RM_S_INPUT: i64 = 4 |
| 163 | const ST_RM_S_TS: i64 = 5 |
| 164 | const ST_RM_S_LPROMPT: i64 = 6 |
| 165 | const ST_RM_S_N: i64 = 7 |
| 167 | const ST_RM_K_UNKNOWN: i64 = 0 |
| 168 | const ST_RM_K_ASSIST: i64 = 1 |
| 169 | const ST_RM_K_AWAIT: i64 = 2 |
| 170 | const ST_RM_K_META: i64 = 3 |
| 171 | const ST_RM_K_QUEUE: i64 = 4 |
| 177 | const ST_RM_J_SKIP: i64 = 0 // no journal declared / unreadable / empty -> abstain, never acquit |
| 178 | const ST_RM_J_PARTIAL: i64 = 1 // frames exist but do NOT span the requested window (backfill mid-drain) |
| 179 | const ST_RM_J_COVERS: i64 = 2 // derived coverage spans the whole requested window |
| 180 | const ST_RM_JCOL_TS: i64 = 0 |
| 181 | const ST_RM_JCOL_WS: i64 = 1 |
| 182 | const ST_RM_JCOL_TOOL: i64 = 2 |
| 184 | const ST_RM_JG_FRAMES: i64 = 0 |
| 185 | const ST_RM_JG_MINTS: i64 = 1 |
| 186 | const ST_RM_JG_MAXTS: i64 = 2 |
| 187 | const ST_RM_JG_INWIN: i64 = 3 |
| 188 | const ST_RM_JG_TSZERO: i64 = 4 |
| 189 | const ST_RM_JG_FILES: i64 = 5 |
| 190 | const ST_RM_JG_BYTES: i64 = 6 |
| 191 | const ST_RM_JG_MALFORMED: i64 = 7 |
| 192 | const ST_RM_JG_SLOTS: i64 = 12 |
| 194 | const ST_RM_JSEATMAX: i64 = 256 // distinct in-window session ids collectable in estate-only mode; overflow ANNOUNCES seats_floor=1 |
| 195 | const ST_RM_SIDLEN: i64 = 36 // canonical session-uuid length (8-4-4-4-12 + 4 dashes), the id's own format |
| 196 | const ST_RM_A_UNCOVERED: i64 = 0 |
| 197 | const ST_RM_A_AGREE: i64 = 1 |
| 198 | const ST_RM_A_DIFFER: i64 = 2 |
| 200 | const ST_RM_ST_CRASHED: i64 = 0 |
| 201 | const ST_RM_ST_COMPLETED: i64 = 1 |
| 202 | const ST_RM_ST_IDLE: i64 = 2 |
| 203 | const ST_RM_ST_UNKNOWN: i64 = 3 |
functions
| 206 | func st_puts(s: *u8) -> i64 { return sj_puts(s) } |
| 207 | func st_werr(s: *u8) -> i64 { return sj_werr(s) } |
| 208 | func st_vlen(s: *u8) -> i64 { return sj_vlen(s) } |
| 209 | func st_cat(d: *u8, o: i64, s: *u8) -> i64 { return sj_cat(d, o, s) } called by 23: st_topdebt_unclaimedst_close_firstst_ready_wlst_stamp_besidest_shiftst_passthrough+17 calls 1: sj_cat |
| 210 | func st_catn(d: *u8, o: i64, v: i64) -> i64 { return sj_catn(d, o, v) } called by 20: st_meter_append_atst_close_firstst_ready_wlst_shiftst_passthroughst_boot_cj+14 calls 1: sj_catn |
| 211 | func st_cat_esc(d: *u8, o: i64, q: *u8, s: i64, e: i64, maxn: i64) -> i64 { return sj_cat_esc(d, o, q, s, e, maxn) } called by 9: st_close_firstst_ready_wlst_passthroughst_boot_cjst_do_briefst_do_checkin+3 calls 1: sj_cat_esc |
| 212 | func st_atoi_z(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 { if c <= 57 { v = v * 10 + (c - 48) } } i = i + 1 } return v } called by 1: main |
| 213 | func st_atoi_span(q: *u8, s: i64, e: i64) -> i64 { return sj_atoi_span(q, s, e) } called by 10: st_last_ts_litst_last_ts_spanst_last_briefst_topdebt_unclaimedst_ready_wlst_shift_acc+4 calls 1: sj_atoi_span |
| 214 | func st_le(q: *u8, i: i64, n: i64) -> i64 { return sj_le(q, i, n) } called by 21: st_hasst_first_kickst_last_ts_litst_last_ts_spanst_last_briefst_topdebt_unclaimed+15 calls 1: sj_le |
| 215 | func st_col(q: *u8, ls: i64, le: i64, c: i64, out: *i64) -> i64 { return sj_col(q, ls, le, c, out) } called by 17: st_hasst_first_kickst_last_ts_litst_last_ts_spanst_last_briefst_topdebt_unclaimed+11 calls 1: sj_col |
| 228 | func st_cap_of(buf: *u8, off: i64, len: i64, cs: *i64) -> i64 called by 1: st_boot_cj |
| 253 | func st_lit_eq(q: *u8, s: i64, e: i64, lit: *u8) -> i64 { return sj_lit_eq(q, s, e, lit) } called by 25: st_hasst_first_kickst_last_ts_litst_last_briefst_topdebt_unclaimedst_ready_wl+19 calls 1: sj_lit_eq |
| 254 | func st_span_eq(q: *u8, s1: i64, e1: i64, s2: i64, e2: i64) -> i64 |
| 260 | func st_contains(q: *u8, n: i64, lit: *u8) -> i64 { return sj_span_has(q, 0, n, lit) } |
| 262 | func st_read(path: *u8, buf: *u8, cap: i64, sizep: *i64) -> i64 |
| 290 | func st_meter_append(logpath: *u8, seat: *u8, sess: i64, outk: i64, cread: i64, ccre: i64, note: *u8) -> i64 |
| 294 | func st_meter_append_at(logpath: *u8, ts: i64, seat: *u8, sess: i64, outk: i64, cread: i64, ccre: i64, note: *u8) -> i64 |
| 327 | func st_has(q: *u8, n: i64, verb: *u8, ws: *u8) -> i64 |
| 340 | func st_first_kick(q: *u8, upto: i64, ws_s: i64, ws_e: i64) -> i64 |
| 353 | func st_last_ts_lit(q: *u8, n: i64, ws: *u8) -> i64 |
| 367 | func st_last_ts_span(q: *u8, n: i64, ws_s: i64, ws_e: i64) -> i64 |
| 383 | func st_last_brief(q: *u8, n: i64, ws: *u8, fs: *i64) -> i64 |
| 432 | func st_topdebt_unclaimed(dp: *u8, bufp: *i64, fs: *i64, cjrn: *u8, actor: *u8, now: i64, cb: *i64) -> i64 |
| 537 | func st_frontier_status(fbuf: *u8, fn: i64, ids: i64, ide: i64) -> i64 |
| 556 | func st_deps_block_count(fbuf: *u8, fn: i64, ds: i64, de: i64) -> i64 |
| 586 | func st_close_first(out: *u8, o0: i64, lane: *u8, maxn: i64, wl: *u8, now: i64) -> i64 called by 1: st_ready_wl calls 12: sys_mmapsys_read_filest_catrgc_work_asofrgc_work_freshrgc_work_pick+6 |
| 653 | func st_ready_wl(lane: *u8, maxn: i64, fp: *u8, cj: *u8, wl: *u8, out: *u8) -> i64 called by 3: st_ready_cjst_selftestmain calls 16: sys_mmapsts_loadsys_now_realtime_secst_vlenst_catst_catn+10 |
| 788 | func st_ready_cj(lane: *u8, maxn: i64, fp: *u8, cj: *u8, out: *u8) -> i64 |
| 791 | func st_ready(lane: *u8, maxn: i64, fp: *u8, out: *u8) -> i64 |
| 794 | func st_has_span_done(q: *u8, n: i64, ws_s: i64, ws_e: i64) -> i64 |
| 811 | func st_starts(q: *u8, s: i64, e: i64, lit: *u8) -> i64 |
| 823 | func st_done_stands(q: *u8, n: i64, from: i64, ws_s: i64, ws_e: i64, r1: *i64, r2: *i64) -> i64 |
| 837 | func st_shift_acc(mb: *u8, mn: i64, q: *u8, n: i64, lo: i64, hi: i64, acc: *i64) -> i64 |
| 894 | func st_stamp_int(b: *u8, n: i64, key: *u8) -> i64 |
| 919 | func st_ratchet(tpd: i64, ptpd: i64, why: *i64) -> *u8 called by 1: st_shift |
| 929 | func st_ratchet_landed(tpl: i64, ptpl: i64, why: *i64) -> *u8 called by 1: st_shift |
| 938 | func st_stamp_beside(ml: *u8) -> *u8 |
| 945 | func st_shift(days: i64, ml: *u8, jr: *u8, lg: *u8, stamp: *u8, out: *u8) -> i64 called by 2: st_selftestmain calls 13: sys_now_realtime_secsys_mmapst_readst_shift_accsys_read_fileces_events_window+7 |
| 1163 | func st_passthrough(out: *u8, o0: i64, key: *u8, path: *u8, absent: *u8) -> i64 called by 4: st_closecensusst_driftst_wipst_selftest calls 5: st_catsys_mmapst_readst_cat_escst_catn |
| 1199 | func st_closecensus(out: *u8, o0: i64) -> i64 |
| 1202 | func st_drift(out: *u8, o0: i64) -> i64 |
| 1207 | func st_wip(out: *u8, o0: i64) -> i64 |
| 1210 | func st_boot_cj(ws: *u8, jr: *u8, dp: *u8, fp: *u8, ml: *u8, cj: *u8, out: *u8) -> i64 called by 2: st_bootst_selftest calls 23: sys_mmapst_readsys_now_realtime_secst_catst_catnst_cat_esc+17 |
| 1469 | func st_boot(ws: *u8, jr: *u8, dp: *u8, fp: *u8, ml: *u8, out: *u8) -> i64 |
| 1473 | func st_frame(jr: *u8, ts: i64, verb: *u8, ws: *u8, actor: *u8, note: *u8) -> i64 |
| 1500 | func st_cframe(cjr: *u8, ts: i64, verb: *u8, res: *u8, actor: *u8, ttl: i64, note: *u8) -> i64 |
| 1532 | func st_lastbrief_into(ws: *u8, jr: *u8, out: *u8, cap: i64) -> i64 |
| 1567 | func st_do_brief(ws: *u8, actor: *u8, note: *u8, wj: *u8, out: *u8) -> i64 |
| 1590 | func st_claims_run(verb: *u8, cj: *u8, ws: *u8, actor: *u8, ttl: i64, note: *u8, cout: *u8, ccap: i64, colen: *i64) -> i64 |
| 1612 | func st_clamp_ttl(ttl: i64, ceil: i64) -> i64 |
| 1630 | func st_do_checkin(ws: *u8, actor: *u8, ttl: i64, note: *u8, cj: *u8, wj: *u8, out: *u8) -> i64 |
| 1674 | func st_jpathish(s: *u8) -> i64 called by 1: st_co_argshift |
| 1689 | func st_co_argshift(a4: *u8, a5: *u8, nout: *i64) -> i64 |
| 1701 | func st_claims_state(cj: *u8, ws: *u8, cout: *u8, ccap: i64, colen: *i64) -> i64 |
| 1720 | func st_do_checkout(ws: *u8, actor: *u8, note: *u8, cj: *u8, wj: *u8, out: *u8) -> i64 called by 2: st_selftestmain calls 15: st_framesys_now_realtime_secsys_openat_rdst_catst_cat_escst_vlen+9 |
| 1783 | func st_tagval(q: *u8, ls: i64, le: i64, tag: *u8, out: *i64) -> i64 |
| 1803 | func st_reap_run(cj: *u8, actor: *u8, note: *u8, cout: *u8, ccap: i64, colen: *i64) -> i64 |
| 1821 | func st_reap_ttl(cfg: *u8) -> i64 |
| 1860 | func st_last_ts_verb_span(q: *u8, n: i64, verb: *u8, ws_s: i64, ws_e: i64) -> i64 |
| 1880 | func st_reaped_span(q: *u8, n: i64, ws_s: i64, ws_e: i64) -> i64 |
| 1893 | func st_ws_closed(q: *u8, n: i64, ws_s: i64, ws_e: i64) -> i64 |
| 1902 | func st_ws_sweep(wj: *u8, actor: *u8, note: *u8, ttl: i64, now: i64, cov: *i64) -> i64 |
| 1954 | func st_do_reap(actor: *u8, note: *u8, cj: *u8, wj: *u8, out: *u8) -> i64 |
| 2030 | func st_rm_slot(strs: *u8, k: i64) -> *u8 { return ((strs as i64) + k * ST_RM_SLOT) as *u8 } |
| 2032 | func st_rm_emit(lb: *u8, o: i64) -> i64 |
| 2039 | func st_rm_find(q: *u8, s: i64, e: i64, lit: *u8) -> i64 |
| 2054 | func st_rm_str_end(q: *u8, s: i64, le: i64) -> i64 |
| 2073 | func st_rm_top(q: *u8, ls: i64, le: i64, key: *u8, sp: *i64) -> i64 |
| 2116 | func st_rm_cond(dst: *u8, q: *u8, s: i64, e: i64) -> i64 |
| 2122 | func st_rm_hash(q: *u8, s: i64, e: i64) -> i64 called by 1: st_rm_pair |
| 2131 | func st_rm_census(tn: *u8, tc: *i64, ntypes: *i64, q: *u8, s: i64, e: i64, res: *i64) -> i64 |
| 2151 | func st_rm_kind(q: *u8, s: i64, e: i64) -> i64 |
| 2167 | func st_rm_ends(name: *u8, ext: *u8) -> i64 |
| 2176 | func st_rm_join(dst: *u8, dir: *u8, name: *u8) -> i64 |
| 2185 | func st_rm_statml(path: *u8, mtp: *i64, szp: *i64) -> i64 |
| 2200 | func st_rm_enum(dir: *u8, ext: *u8, names: *u8, mt: *i64, szs: *i64, cap: i64, nonj: *i64, statfail: *i64, grew: *i64) -> i64 |
| 2253 | func st_rm_pair(q: *u8, n: i64, res: *i64) -> i64 |
| 2365 | func st_rm_scan(path: *u8, res: *i64, strs: *u8, tn: *u8, tc: *i64) -> i64 called by 2: st_rm_childrenst_rm_seat calls 14: st_rm_slotsys_mmapsys_map_filest_lest_rm_findst_rm_top+8 |
| 2468 | func st_rm_state_code(res: *i64) -> i64 |
| 2480 | func st_rm_code_lit(c: i64) -> *u8 |
| 2490 | func st_rm_children(troot: *u8, sid: *u8, lb: *u8, res2: *i64, strs2: *u8, tn2: *u8, tc2: *i64) -> i64 |
| 2640 | func st_rm_sid(dst: *u8, name: *u8) -> i64 |
| 2655 | func st_rm_jscan(path: *u8, ids: *u8, nseats: i64, jfr: *i64, jlt: *i64, jtool: *u8, jg: *i64, ws: i64, we: i64, tszero: i64) -> i64 |
| 2718 | func st_rm_jrnl(jrn: *u8, ids: *u8, nseats: i64, jfr: *i64, jlt: *i64, jtool: *u8, jg: *i64, ws: i64, we: i64) -> i64 |
| 2763 | func st_rm_jseats_file(path: *u8, ids: *u8, nids: *i64, ws: i64, we: i64, floor: *i64) -> i64 |
| 2806 | func st_rm_jseats(jrn: *u8, ids: *u8, nids: *i64, ws: i64, we: i64, floor: *i64) -> i64 |
| 2839 | func st_rm_is_sid(id: *u8) -> i64 |
| 2850 | func st_rm_jseat_block(sid: *u8, lb: *u8, frames: i64, lastts: i64, tool: *u8) -> i64 |
| 2878 | func st_rm_jstate_lit(s: i64) -> *u8 called by 1: st_resume_map |
| 2886 | func st_rm_seat(dir: *u8, name: *u8, smt: i64, ssz: i64, troot: *u8, lb: *u8, res: *i64, strs: *u8, tn: *u8, tc: *i64, res2: *i64, strs2: *u8, tn2: *u8, tc2: *i64, jstate: i64, jfr_i: i64, jlt_i: i64, jtool_i: *u8) -> i64 |
| 3022 | func st_resume_map(dir: *u8, troot: *u8, latest: i64, wsin: i64, wein: i64, jrn: *u8) -> i64 |
| 3264 | func st_selftest(base0: *u8) -> i64 |
| 4042 | func main(argc: i64, argv: *i64) -> i64 |