code wiki / (root) / nx_docket.nx

nx_docket.nx source

↩ module page · 45 lines · 2017 B

1// nx_docket.nx -- Nishi Office docketing (F507) CLI/MCP organ: self-verifying demo over 2// nx_docket_lib. Data-driven URCP deadline rules + Rule 6 weekend roll + business-day mode. 3// license_tier: ORIGINAL 4 5import "nx_docket_lib.nx" 6const K_MAGIC_1460: i64 = 1460 7const K_MAGIC_1561: i64 = 1561 8 9func main() -> i64 { 10 let p: *u8 = "/tmp/nx_docket_demo-" as *u8 11 dk_rule_put(p, "answer" as *u8, 21, 0, "URCP12 answer" as *u8) 12 dk_rule_put(p, "appeal" as *u8, 30, 0, "URAP4 appeal" as *u8) 13 dk_rule_put(p, "SOL-PI" as *u8, K_MAGIC_1460, 0, "4yr PI statute" as *u8) 14 dk_rule_put(p, "disc" as *u8, 28, 0, "discovery response" as *u8) 15 dk_rule_put(p, "biz5" as *u8, 5, 1, "5 business days" as *u8) 16 let t: i64 = 100 17 let a: i64 = dk_compute(p, "answer" as *u8, t) 18 if a != 121 { return __syscall(93, 61, 0, 0, 0, 0, 0) } 19 let ap: i64 = dk_compute(p, "appeal" as *u8, t) 20 if ap != 130 { return __syscall(93, 62, 0, 0, 0, 0, 0) } 21 let sol: i64 = dk_compute(p, "SOL-PI" as *u8, t) 22 if sol != K_MAGIC_1561 { return __syscall(93, 63, 0, 0, 0, 0, 0) } 23 let d: i64 = dk_compute(p, "disc" as *u8, t) 24 if d != 128 { return __syscall(93, 64, 0, 0, 0, 0, 0) } 25 let bz: i64 = dk_compute(p, "biz5" as *u8, t) 26 if bz != 107 { return __syscall(93, 65, 0, 0, 0, 0, 0) } 27 let out: *u8 = sys_mmap(512) 28 var o: i64 = 0 29 o = mt_catcopy(out, o, "NISHI-DOCKET OK rules=5(data-driven) trigger=day" as *u8) 30 o = mt_catn(out, o, t) 31 o = mt_catcopy(out, o, " answer(21cal)=day" as *u8) 32 o = mt_catn(out, o, a) 33 o = mt_catcopy(out, o, " appeal(30cal)=day" as *u8) 34 o = mt_catn(out, o, ap) 35 o = mt_catcopy(out, o, " SOL-PI(1460cal)=day" as *u8) 36 o = mt_catn(out, o, sol) 37 o = mt_catcopy(out, o, "[URCP-Rule6-rolled-from-Sun] disc(28cal)=day" as *u8) 38 o = mt_catn(out, o, d) 39 o = mt_catcopy(out, o, " biz5(5biz)=day" as *u8) 40 o = mt_catn(out, o, bz) 41 out[o] = 10 as u8 42 o = o + 1 43 sys_write(1, out, o) 44 return __syscall(93, 0, 0, 0, 0, 0, 0) 45}