nx_capture_fixture_t218.nx source
↩ module page · 14 lines · 675 B
1import "nx_syscalls.nx"
2func main(argc:i64,argv:*i64)->i64{
3 if argc!=2{return 2}
4 let mode:*u8=argv[1] as *u8
5 if mode[0]==101 as u8{return 0}
6 if mode[0]==102 as u8{sys_write(1,"failure",7);return 7}
7 if mode[0]==116 as u8{sys_write(1,"waiting",7);sys_sleep_ms(5000);return 0}
8 if mode[0]!=108 as u8{return 2}
9 let b:*u8=sys_mmap_try(4096);if (b as i64)<=0{return 3}
10 var total:i64=0
11 while total<196613{var n:i64=196613-total;if n>4096{n=4096};var i:i64=0;while i<n{b[i]=((total+i)%251) as u8;i=i+1}
12 var off:i64=0;while off<n{let w:i64=sys_write(1,b+off,n-off);if w<=0{sys_munmap_direct(b,4096);return 4};off=off+w};total=total+n
13 };sys_munmap_direct(b,4096);return 0
14}