From 24e4feb00297d398f116263398056c39fa3d2609 Mon Sep 17 00:00:00 2001 From: nub31 Date: Sat, 7 Jun 2025 19:06:38 +0200 Subject: [PATCH] ... --- example/core/syscall.nub | 672 +++++++++++++++++++-------------------- 1 file changed, 336 insertions(+), 336 deletions(-) diff --git a/example/core/syscall.nub b/example/core/syscall.nub index 961491c..e0ed545 100644 --- a/example/core/syscall.nub +++ b/example/core/syscall.nub @@ -1,340 +1,340 @@ namespace sys -let read: i64 = 0 -let write: i64 = 1 -let open: i64 = 2 -let close: i64 = 3 -let stat: i64 = 4 -let fstat: i64 = 5 -let lstat: i64 = 6 -let poll: i64 = 7 -let lseek: i64 = 8 -let mmap: i64 = 9 -let mprotect: i64 = 10 -let munmap: i64 = 11 -let brk: i64 = 12 -let rt_sigaction: i64 = 13 -let rt_sigprocmask: i64 = 14 -let rt_sigreturn: i64 = 15 -let ioctl: i64 = 16 -let pread64: i64 = 17 -let pwrite64: i64 = 18 -let readv: i64 = 19 -let writev: i64 = 20 -let access: i64 = 21 -let pipe: i64 = 22 -let select: i64 = 23 -let sched_yield: i64 = 24 -let mremap: i64 = 25 -let msync: i64 = 26 -let mincore: i64 = 27 -let madvise: i64 = 28 -let shmget: i64 = 29 -let shmat: i64 = 30 -let shmctl: i64 = 31 -let dup: i64 = 32 -let dup2: i64 = 33 -let pause: i64 = 34 -let nanosleep: i64 = 35 -let getitimer: i64 = 36 -let alarm: i64 = 37 -let setitimer: i64 = 38 -let getpid: i64 = 39 -let sendfile: i64 = 40 -let socket: i64 = 41 -let connect: i64 = 42 -let accept: i64 = 43 -let sendto: i64 = 44 -let recvfrom: i64 = 45 -let sendmsg: i64 = 46 -let recvmsg: i64 = 47 -let shutdown: i64 = 48 -let bind: i64 = 49 -let listen: i64 = 50 -let getsockname: i64 = 51 -let getpeername: i64 = 52 -let socketpair: i64 = 53 -let setsockopt: i64 = 54 -let getsockopt: i64 = 55 -let clone: i64 = 56 -let fork: i64 = 57 -let vfork: i64 = 58 -let execve: i64 = 59 -let exit: i64 = 60 -let wait4: i64 = 61 -let kill: i64 = 62 -let uname: i64 = 63 -let semget: i64 = 64 -let semop: i64 = 65 -let semctl: i64 = 66 -let shmdt: i64 = 67 -let msgget: i64 = 68 -let msgsnd: i64 = 69 -let msgrcv: i64 = 70 -let msgctl: i64 = 71 -let fcntl: i64 = 72 -let flock: i64 = 73 -let fsync: i64 = 74 -let fdatasync: i64 = 75 -let truncate: i64 = 76 -let ftruncate: i64 = 77 -let getdents: i64 = 78 -let getcwd: i64 = 79 -let chdir: i64 = 80 -let fchdir: i64 = 81 -let rename: i64 = 82 -let mkdir: i64 = 83 -let rmdir: i64 = 84 -let creat: i64 = 85 -let link: i64 = 86 -let unlink: i64 = 87 -let symlink: i64 = 88 -let readlink: i64 = 89 -let chmod: i64 = 90 -let fchmod: i64 = 91 -let chown: i64 = 92 -let fchown: i64 = 93 -let lchown: i64 = 94 -let umask: i64 = 95 -let gettimeofday: i64 = 96 -let getrlimit: i64 = 97 -let getrusage: i64 = 98 -let sysinfo: i64 = 99 -let times: i64 = 100 -let ptrace: i64 = 101 -let getuid: i64 = 102 -let syslog: i64 = 103 -let getgid: i64 = 104 -let setuid: i64 = 105 -let setgid: i64 = 106 -let geteuid: i64 = 107 -let getegid: i64 = 108 -let setpgid: i64 = 109 -let getppid: i64 = 110 -let getpgrp: i64 = 111 -let setsid: i64 = 112 -let setreuid: i64 = 113 -let setregid: i64 = 114 -let getgroups: i64 = 115 -let setgroups: i64 = 116 -let setresuid: i64 = 117 -let getresuid: i64 = 118 -let setresgid: i64 = 119 -let getresgid: i64 = 120 -let getpgid: i64 = 121 -let setfsuid: i64 = 122 -let setfsgid: i64 = 123 -let getsid: i64 = 124 -let capget: i64 = 125 -let capset: i64 = 126 -let rt_sigpending: i64 = 127 -let rt_sigtimedwait: i64 = 128 -let rt_sigqueueinfo: i64 = 129 -let rt_sigsuspend: i64 = 130 -let sigaltstack: i64 = 131 -let utime: i64 = 132 -let mknod: i64 = 133 -let uselib: i64 = 134 -let personality: i64 = 135 -let ustat: i64 = 136 -let statfs: i64 = 137 -let fstatfs: i64 = 138 -let sysfs: i64 = 139 -let getpriority: i64 = 140 -let setpriority: i64 = 141 -let sched_setparam: i64 = 142 -let sched_getparam: i64 = 143 -let sched_setscheduler: i64 = 144 -let sched_getscheduler: i64 = 145 -let sched_get_priority_max: i64 = 146 -let sched_get_priority_min: i64 = 147 -let sched_rr_get_interval: i64 = 148 -let mlock: i64 = 149 -let munlock: i64 = 150 -let mlockall: i64 = 151 -let munlockall: i64 = 152 -let vhangup: i64 = 153 -let modify_ldt: i64 = 154 -let pivot_root: i64 = 155 -let _sysctl: i64 = 156 -let prctl: i64 = 157 -let arch_prctl: i64 = 158 -let adjtimex: i64 = 159 -let setrlimit: i64 = 160 -let chroot: i64 = 161 -let sync: i64 = 162 -let acct: i64 = 163 -let settimeofday: i64 = 164 -let mount: i64 = 165 -let umount2: i64 = 166 -let swapon: i64 = 167 -let swapoff: i64 = 168 -let reboot: i64 = 169 -let sethostname: i64 = 170 -let setdomainname: i64 = 171 -let iopl: i64 = 172 -let ioperm: i64 = 173 -let create_module: i64 = 174 -let init_module: i64 = 175 -let delete_module: i64 = 176 -let get_kernel_syms: i64 = 177 -let query_module: i64 = 178 -let quotactl: i64 = 179 -let nfsservctl: i64 = 180 -let getpmsg: i64 = 181 -let putpmsg: i64 = 182 -let afs_syscall: i64 = 183 -let tuxcall: i64 = 184 -let security: i64 = 185 -let gettid: i64 = 186 -let readahead: i64 = 187 -let setxattr: i64 = 188 -let lsetxattr: i64 = 189 -let fsetxattr: i64 = 190 -let getxattr: i64 = 191 -let lgetxattr: i64 = 192 -let fgetxattr: i64 = 193 -let listxattr: i64 = 194 -let llistxattr: i64 = 195 -let flistxattr: i64 = 196 -let removexattr: i64 = 197 -let lremovexattr: i64 = 198 -let fremovexattr: i64 = 199 -let tkill: i64 = 200 -let time: i64 = 201 -let futex: i64 = 202 -let sched_setaffinity: i64 = 203 -let sched_getaffinity: i64 = 204 -let set_thread_area: i64 = 205 -let io_setup: i64 = 206 -let io_destroy: i64 = 207 -let io_getevents: i64 = 208 -let io_submit: i64 = 209 -let io_cancel: i64 = 210 -let get_thread_area: i64 = 211 -let lookup_dcookie: i64 = 212 -let epoll_create: i64 = 213 -let epoll_ctl_old: i64 = 214 -let epoll_wait_old: i64 = 215 -let remap_file_pages: i64 = 216 -let getdents64: i64 = 217 -let set_tid_address: i64 = 218 -let restart_syscall: i64 = 219 -let semtimedop: i64 = 220 -let fadvise64: i64 = 221 -let timer_create: i64 = 222 -let timer_settime: i64 = 223 -let timer_gettime: i64 = 224 -let timer_getoverrun: i64 = 225 -let timer_delete: i64 = 226 -let clock_settime: i64 = 227 -let clock_gettime: i64 = 228 -let clock_getres: i64 = 229 -let clock_nanosleep: i64 = 230 -let exit_group: i64 = 231 -let epoll_wait: i64 = 232 -let epoll_ctl: i64 = 233 -let tgkill: i64 = 234 -let utimes: i64 = 235 -let vserver: i64 = 236 -let mbind: i64 = 237 -let set_mempolicy: i64 = 238 -let get_mempolicy: i64 = 239 -let mq_open: i64 = 240 -let mq_unlink: i64 = 241 -let mq_timedsend: i64 = 242 -let mq_timedreceive: i64 = 243 -let mq_notify: i64 = 244 -let mq_getsetattr: i64 = 245 -let kexec_load: i64 = 246 -let waitid: i64 = 247 -let add_key: i64 = 248 -let request_key: i64 = 249 -let keyctl: i64 = 250 -let ioprio_set: i64 = 251 -let ioprio_get: i64 = 252 -let inotify_init: i64 = 253 -let inotify_add_watch: i64 = 254 -let inotify_rm_watch: i64 = 255 -let migrate_pages: i64 = 256 -let openat: i64 = 257 -let mkdirat: i64 = 258 -let mknodat: i64 = 259 -let fchownat: i64 = 260 -let futimesat: i64 = 261 -let newfstatat: i64 = 262 -let unlinkat: i64 = 263 -let renameat: i64 = 264 -let linkat: i64 = 265 -let symlinkat: i64 = 266 -let readlinkat: i64 = 267 -let fchmodat: i64 = 268 -let faccessat: i64 = 269 -let pselect6: i64 = 270 -let ppoll: i64 = 271 -let unshare: i64 = 272 -let set_robust_list: i64 = 273 -let get_robust_list: i64 = 274 -let splice: i64 = 275 -let tee: i64 = 276 -let sync_file_range: i64 = 277 -let vmsplice: i64 = 278 -let move_pages: i64 = 279 -let utimensat: i64 = 280 -let epoll_pwait: i64 = 281 -let signalfd: i64 = 282 -let timerfd_create: i64 = 283 -let eventfd: i64 = 284 -let fallocate: i64 = 285 -let timerfd_settime: i64 = 286 -let timerfd_gettime: i64 = 287 -let accept4: i64 = 288 -let signalfd4: i64 = 289 -let eventfd2: i64 = 290 -let epoll_create1: i64 = 291 -let dup3: i64 = 292 -let pipe2: i64 = 293 -let inotify_init1: i64 = 294 -let preadv: i64 = 295 -let pwritev: i64 = 296 -let rt_tgsigqueueinfo: i64 = 297 -let perf_event_open: i64 = 298 -let recvmmsg: i64 = 299 -let fanotify_init: i64 = 300 -let fanotify_mark: i64 = 301 -let prlimit64: i64 = 302 -let name_to_handle_at: i64 = 303 -let open_by_handle_at: i64 = 304 -let clock_adjtime: i64 = 305 -let syncfs: i64 = 306 -let sendmmsg: i64 = 307 -let setns: i64 = 308 -let getcpu: i64 = 309 -let process_vm_readv: i64 = 310 -let process_vm_writev: i64 = 311 -let kcmp: i64 = 312 -let finit_module: i64 = 313 -let sched_setattr: i64 = 314 -let sched_getattr: i64 = 315 -let renameat2: i64 = 316 -let seccomp: i64 = 317 -let getrandom: i64 = 318 -let memfd_create: i64 = 319 -let kexec_file_load: i64 = 320 -let bpf: i64 = 321 -let execveat: i64 = 322 -let userfaultfd: i64 = 323 -let membarrier: i64 = 324 -let mlock2: i64 = 325 -let copy_file_range: i64 = 326 -let preadv2: i64 = 327 -let pwritev2: i64 = 328 -let pkey_mprotect: i64 = 329 -let pkey_alloc: i64 = 330 -let pkey_free: i64 = 331 -let statx: i64 = 332 -let io_pgetevents: i64 = 333 -let rseq: i64 = 334 -let pkey_mprotect: i64 = 335 +// let read: i64 = 0 +// let write: i64 = 1 +// let open: i64 = 2 +// let close: i64 = 3 +// let stat: i64 = 4 +// let fstat: i64 = 5 +// let lstat: i64 = 6 +// let poll: i64 = 7 +// let lseek: i64 = 8 +// let mmap: i64 = 9 +// let mprotect: i64 = 10 +// let munmap: i64 = 11 +// let brk: i64 = 12 +// let rt_sigaction: i64 = 13 +// let rt_sigprocmask: i64 = 14 +// let rt_sigreturn: i64 = 15 +// let ioctl: i64 = 16 +// let pread64: i64 = 17 +// let pwrite64: i64 = 18 +// let readv: i64 = 19 +// let writev: i64 = 20 +// let access: i64 = 21 +// let pipe: i64 = 22 +// let select: i64 = 23 +// let sched_yield: i64 = 24 +// let mremap: i64 = 25 +// let msync: i64 = 26 +// let mincore: i64 = 27 +// let madvise: i64 = 28 +// let shmget: i64 = 29 +// let shmat: i64 = 30 +// let shmctl: i64 = 31 +// let dup: i64 = 32 +// let dup2: i64 = 33 +// let pause: i64 = 34 +// let nanosleep: i64 = 35 +// let getitimer: i64 = 36 +// let alarm: i64 = 37 +// let setitimer: i64 = 38 +// let getpid: i64 = 39 +// let sendfile: i64 = 40 +// let socket: i64 = 41 +// let connect: i64 = 42 +// let accept: i64 = 43 +// let sendto: i64 = 44 +// let recvfrom: i64 = 45 +// let sendmsg: i64 = 46 +// let recvmsg: i64 = 47 +// let shutdown: i64 = 48 +// let bind: i64 = 49 +// let listen: i64 = 50 +// let getsockname: i64 = 51 +// let getpeername: i64 = 52 +// let socketpair: i64 = 53 +// let setsockopt: i64 = 54 +// let getsockopt: i64 = 55 +// let clone: i64 = 56 +// let fork: i64 = 57 +// let vfork: i64 = 58 +// let execve: i64 = 59 +// let exit: i64 = 60 +// let wait4: i64 = 61 +// let kill: i64 = 62 +// let uname: i64 = 63 +// let semget: i64 = 64 +// let semop: i64 = 65 +// let semctl: i64 = 66 +// let shmdt: i64 = 67 +// let msgget: i64 = 68 +// let msgsnd: i64 = 69 +// let msgrcv: i64 = 70 +// let msgctl: i64 = 71 +// let fcntl: i64 = 72 +// let flock: i64 = 73 +// let fsync: i64 = 74 +// let fdatasync: i64 = 75 +// let truncate: i64 = 76 +// let ftruncate: i64 = 77 +// let getdents: i64 = 78 +// let getcwd: i64 = 79 +// let chdir: i64 = 80 +// let fchdir: i64 = 81 +// let rename: i64 = 82 +// let mkdir: i64 = 83 +// let rmdir: i64 = 84 +// let creat: i64 = 85 +// let link: i64 = 86 +// let unlink: i64 = 87 +// let symlink: i64 = 88 +// let readlink: i64 = 89 +// let chmod: i64 = 90 +// let fchmod: i64 = 91 +// let chown: i64 = 92 +// let fchown: i64 = 93 +// let lchown: i64 = 94 +// let umask: i64 = 95 +// let gettimeofday: i64 = 96 +// let getrlimit: i64 = 97 +// let getrusage: i64 = 98 +// let sysinfo: i64 = 99 +// let times: i64 = 100 +// let ptrace: i64 = 101 +// let getuid: i64 = 102 +// let syslog: i64 = 103 +// let getgid: i64 = 104 +// let setuid: i64 = 105 +// let setgid: i64 = 106 +// let geteuid: i64 = 107 +// let getegid: i64 = 108 +// let setpgid: i64 = 109 +// let getppid: i64 = 110 +// let getpgrp: i64 = 111 +// let setsid: i64 = 112 +// let setreuid: i64 = 113 +// let setregid: i64 = 114 +// let getgroups: i64 = 115 +// let setgroups: i64 = 116 +// let setresuid: i64 = 117 +// let getresuid: i64 = 118 +// let setresgid: i64 = 119 +// let getresgid: i64 = 120 +// let getpgid: i64 = 121 +// let setfsuid: i64 = 122 +// let setfsgid: i64 = 123 +// let getsid: i64 = 124 +// let capget: i64 = 125 +// let capset: i64 = 126 +// let rt_sigpending: i64 = 127 +// let rt_sigtimedwait: i64 = 128 +// let rt_sigqueueinfo: i64 = 129 +// let rt_sigsuspend: i64 = 130 +// let sigaltstack: i64 = 131 +// let utime: i64 = 132 +// let mknod: i64 = 133 +// let uselib: i64 = 134 +// let personality: i64 = 135 +// let ustat: i64 = 136 +// let statfs: i64 = 137 +// let fstatfs: i64 = 138 +// let sysfs: i64 = 139 +// let getpriority: i64 = 140 +// let setpriority: i64 = 141 +// let sched_setparam: i64 = 142 +// let sched_getparam: i64 = 143 +// let sched_setscheduler: i64 = 144 +// let sched_getscheduler: i64 = 145 +// let sched_get_priority_max: i64 = 146 +// let sched_get_priority_min: i64 = 147 +// let sched_rr_get_interval: i64 = 148 +// let mlock: i64 = 149 +// let munlock: i64 = 150 +// let mlockall: i64 = 151 +// let munlockall: i64 = 152 +// let vhangup: i64 = 153 +// let modify_ldt: i64 = 154 +// let pivot_root: i64 = 155 +// let _sysctl: i64 = 156 +// let prctl: i64 = 157 +// let arch_prctl: i64 = 158 +// let adjtimex: i64 = 159 +// let setrlimit: i64 = 160 +// let chroot: i64 = 161 +// let sync: i64 = 162 +// let acct: i64 = 163 +// let settimeofday: i64 = 164 +// let mount: i64 = 165 +// let umount2: i64 = 166 +// let swapon: i64 = 167 +// let swapoff: i64 = 168 +// let reboot: i64 = 169 +// let sethostname: i64 = 170 +// let setdomainname: i64 = 171 +// let iopl: i64 = 172 +// let ioperm: i64 = 173 +// let create_module: i64 = 174 +// let init_module: i64 = 175 +// let delete_module: i64 = 176 +// let get_kernel_syms: i64 = 177 +// let query_module: i64 = 178 +// let quotactl: i64 = 179 +// let nfsservctl: i64 = 180 +// let getpmsg: i64 = 181 +// let putpmsg: i64 = 182 +// let afs_syscall: i64 = 183 +// let tuxcall: i64 = 184 +// let security: i64 = 185 +// let gettid: i64 = 186 +// let readahead: i64 = 187 +// let setxattr: i64 = 188 +// let lsetxattr: i64 = 189 +// let fsetxattr: i64 = 190 +// let getxattr: i64 = 191 +// let lgetxattr: i64 = 192 +// let fgetxattr: i64 = 193 +// let listxattr: i64 = 194 +// let llistxattr: i64 = 195 +// let flistxattr: i64 = 196 +// let removexattr: i64 = 197 +// let lremovexattr: i64 = 198 +// let fremovexattr: i64 = 199 +// let tkill: i64 = 200 +// let time: i64 = 201 +// let futex: i64 = 202 +// let sched_setaffinity: i64 = 203 +// let sched_getaffinity: i64 = 204 +// let set_thread_area: i64 = 205 +// let io_setup: i64 = 206 +// let io_destroy: i64 = 207 +// let io_getevents: i64 = 208 +// let io_submit: i64 = 209 +// let io_cancel: i64 = 210 +// let get_thread_area: i64 = 211 +// let lookup_dcookie: i64 = 212 +// let epoll_create: i64 = 213 +// let epoll_ctl_old: i64 = 214 +// let epoll_wait_old: i64 = 215 +// let remap_file_pages: i64 = 216 +// let getdents64: i64 = 217 +// let set_tid_address: i64 = 218 +// let restart_syscall: i64 = 219 +// let semtimedop: i64 = 220 +// let fadvise64: i64 = 221 +// let timer_create: i64 = 222 +// let timer_settime: i64 = 223 +// let timer_gettime: i64 = 224 +// let timer_getoverrun: i64 = 225 +// let timer_delete: i64 = 226 +// let clock_settime: i64 = 227 +// let clock_gettime: i64 = 228 +// let clock_getres: i64 = 229 +// let clock_nanosleep: i64 = 230 +// let exit_group: i64 = 231 +// let epoll_wait: i64 = 232 +// let epoll_ctl: i64 = 233 +// let tgkill: i64 = 234 +// let utimes: i64 = 235 +// let vserver: i64 = 236 +// let mbind: i64 = 237 +// let set_mempolicy: i64 = 238 +// let get_mempolicy: i64 = 239 +// let mq_open: i64 = 240 +// let mq_unlink: i64 = 241 +// let mq_timedsend: i64 = 242 +// let mq_timedreceive: i64 = 243 +// let mq_notify: i64 = 244 +// let mq_getsetattr: i64 = 245 +// let kexec_load: i64 = 246 +// let waitid: i64 = 247 +// let add_key: i64 = 248 +// let request_key: i64 = 249 +// let keyctl: i64 = 250 +// let ioprio_set: i64 = 251 +// let ioprio_get: i64 = 252 +// let inotify_init: i64 = 253 +// let inotify_add_watch: i64 = 254 +// let inotify_rm_watch: i64 = 255 +// let migrate_pages: i64 = 256 +// let openat: i64 = 257 +// let mkdirat: i64 = 258 +// let mknodat: i64 = 259 +// let fchownat: i64 = 260 +// let futimesat: i64 = 261 +// let newfstatat: i64 = 262 +// let unlinkat: i64 = 263 +// let renameat: i64 = 264 +// let linkat: i64 = 265 +// let symlinkat: i64 = 266 +// let readlinkat: i64 = 267 +// let fchmodat: i64 = 268 +// let faccessat: i64 = 269 +// let pselect6: i64 = 270 +// let ppoll: i64 = 271 +// let unshare: i64 = 272 +// let set_robust_list: i64 = 273 +// let get_robust_list: i64 = 274 +// let splice: i64 = 275 +// let tee: i64 = 276 +// let sync_file_range: i64 = 277 +// let vmsplice: i64 = 278 +// let move_pages: i64 = 279 +// let utimensat: i64 = 280 +// let epoll_pwait: i64 = 281 +// let signalfd: i64 = 282 +// let timerfd_create: i64 = 283 +// let eventfd: i64 = 284 +// let fallocate: i64 = 285 +// let timerfd_settime: i64 = 286 +// let timerfd_gettime: i64 = 287 +// let accept4: i64 = 288 +// let signalfd4: i64 = 289 +// let eventfd2: i64 = 290 +// let epoll_create1: i64 = 291 +// let dup3: i64 = 292 +// let pipe2: i64 = 293 +// let inotify_init1: i64 = 294 +// let preadv: i64 = 295 +// let pwritev: i64 = 296 +// let rt_tgsigqueueinfo: i64 = 297 +// let perf_event_open: i64 = 298 +// let recvmmsg: i64 = 299 +// let fanotify_init: i64 = 300 +// let fanotify_mark: i64 = 301 +// let prlimit64: i64 = 302 +// let name_to_handle_at: i64 = 303 +// let open_by_handle_at: i64 = 304 +// let clock_adjtime: i64 = 305 +// let syncfs: i64 = 306 +// let sendmmsg: i64 = 307 +// let setns: i64 = 308 +// let getcpu: i64 = 309 +// let process_vm_readv: i64 = 310 +// let process_vm_writev: i64 = 311 +// let kcmp: i64 = 312 +// let finit_module: i64 = 313 +// let sched_setattr: i64 = 314 +// let sched_getattr: i64 = 315 +// let renameat2: i64 = 316 +// let seccomp: i64 = 317 +// let getrandom: i64 = 318 +// let memfd_create: i64 = 319 +// let kexec_file_load: i64 = 320 +// let bpf: i64 = 321 +// let execveat: i64 = 322 +// let userfaultfd: i64 = 323 +// let membarrier: i64 = 324 +// let mlock2: i64 = 325 +// let copy_file_range: i64 = 326 +// let preadv2: i64 = 327 +// let pwritev2: i64 = 328 +// let pkey_mprotect: i64 = 329 +// let pkey_alloc: i64 = 330 +// let pkey_free: i64 = 331 +// let statx: i64 = 332 +// let io_pgetevents: i64 = 333 +// let rseq: i64 = 334 +// let pkey_mprotect: i64 = 335 extern func call(num: i64, ...args: any) calls core_syscall