nx_body_matched_serving_probe_t345.nx source
↩ module page · 19 lines · 1613 B
1import "nx_tool_run.nx"
2import "nx_behaveprobe.nx"
3import "nx_itoa_lib.nx"
4func mbp_text(s:*u8)->i64{var n:i64=0;while s[n]!=0 as u8{n=n+1};return sys_write(1,s,n)}
5func main(argc:i64,argv:*i64)->i64{
6 if argc<2{return 2};let av:*i64=sys_mmap_try((argc+1)*__size_of(i64)) as *i64;if (av as i64)<=0{return 2}
7 var i:i64=1;while i<argc{av[i]=argv[i];i=i+1};av[argc]=0
8 let output:*u8=av[1] as *u8
9 var pass:i64=0;var mode:i64=0;while mode<2{
10 var path:*u8="/volume1/homes/elderwesto/nishihost/nx_body_gen.elf.prev" as *u8
11 if mode==1{path="/volume1/homes/elderwesto/nishihost/nx_body_gen.elf" as *u8};av[0]=path as i64
12 if mode==0{av[1]="/volume1/homes/elderwesto/nishihost/buildroot/knowledge/gates/body-skin-matched-previous-t345.nxmesh" as *u8 as i64}else{av[1]=output as i64}
13 var out:NxBufOwned;out.buf=0 as *u8;out.len=0;out.cap=0;var evidence:NxRunEvidence
14 let rc:i64=tr_run_capture_owned_result(path,av,&out,BP_TMO,0,"/volume1/homes/elderwesto/nishihost" as *u8,&evidence)
15 mbp_text("MATCHED mode=" as *u8);nxi_out(mode);mbp_text(" rc=" as *u8);nxi_out(rc);mbp_text(" exited=" as *u8);nxi_out(evidence.exited);mbp_text(" exit=" as *u8);nxi_out(evidence.exit_code);mbp_text(" reaped=" as *u8);nxi_out(evidence.reaped);mbp_text(" bytes=" as *u8);nxi_out(out.len);mbp_text("\n" as *u8)
16 var off:i64=0;while off<out.len{let n:i64=sys_write(1,out.buf+off,out.len-off);if n<=0{return 3};off=off+n}
17 if rc==0&&evidence.exited==1&&evidence.exit_code==0&&evidence.reaped==1{pass=pass+1};nx_bo_release(&out);mode=mode+1
18 };sys_munmap_direct(av as *u8,(argc+1)*__size_of(i64));if pass!=2{return 1};return 0
19}