nx_craft_visitors_material_schema_expanded_t181.nx
buildroot/runtime/nx_craft_visitors_material_schema_expanded_t181.nx
about
nx_game_page_emit.nx -- the SOVEREIGN game-page emitter. Until now the browser page for a wasm
game was assembled by printf blocks in _ops/nx_emit_game.sh -- real emission logic living in
SHELL, against the doctrine (shell only LAUNCHES sovereign ELFs). This organ owns it: reads the
.wasm, base64-encodes it (composes nx_base64 -- one encoder, not a coreutils dependency), and
emits the complete self-contained page (marker, shim, input forwarding, persistence bytes-mover).
usage: nx_game_page_emit <wasm> <out.html> <title> <native-client-name> <controls-html>
RECOVERED 2026-08-02 from buildroot/_build/nx_craft_emit.s (the 14:07 build's data section)
after a failed in-place rewrite TRUNCATED this file to 0 bytes and the damage was copied to
both trees. Every emitted chunk below is the exact byte sequence that build shipped, so the
recovered emitter is byte-equivalent to the last one that passed both gates.
license_tier: ORIGINAL
syscalls.nx -- thin __syscall wrappers used across modules.
Sovereign path: no libc. Every memory allocation, file op, and
clock read in the rest of the runtime routes through one of these
helpers. Numbers match Linux RV64; NishiOS uses the same set.
Extracted from runtime.nx and ir.nx's copy-pasted helpers so the
module-import build doesn't produce duplicate symbols.
dependencies 0 imports · 0 importers
imports: none
imported by: nobody (leaf or entry point)
structs
| 2841 | struct Sha256 { |
| 3338 | struct NxFileWriteResult |
| 3420 | struct NxFileReadRegion |
| 3502 | struct NxFilePrepareResult |
| 3564 | struct NxFilePublishResult |
| 3592 | struct NxFileTargetLock |
| 3639 | struct NxFileReplaceResult |
| 5350 | struct GpaWasmCursor |
| 5355 | struct GpaMemory |
consts
| 225 | const NX_BUF_TINY: nx_size = 64 |
| 226 | const NX_BUF_SMALL: nx_size = 256 |
| 227 | const NX_BUF_MEDIUM: nx_size = 4096 |
| 228 | const NX_BUF_LARGE: nx_size = 65536 |
| 229 | const NX_BUF_HUGE: nx_size = 1048576 |
| 233 | const NX_TIER_MCU: nx_int = 0 |
| 234 | const NX_TIER_SOVEREIGN_CHIP: nx_int = 1 |
| 235 | const NX_TIER_FAMILY_DEVICE: nx_int = 2 |
| 236 | const NX_TIER_WORKSTATION: nx_int = 3 |
| 237 | const NX_TIER_SERVER: nx_int = 4 |
| 238 | const NX_TIER_HPC: nx_int = 5 |
| 242 | const NX_NUM_N0_I32: nx_int = 0 |
| 243 | const NX_NUM_N1_I64: nx_int = 1 |
| 244 | const NX_NUM_N2_I128: nx_int = 2 |
| 245 | const NX_NUM_N3_I256: nx_int = 3 |
| 246 | const NX_NUM_N4_I512: nx_int = 4 |
| 247 | const NX_NUM_N5_BIGINT: nx_int = 5 |
| 255 | const NX_SIZEOF_NX_INT: nx_size = 8 // nx_int currently i64 -> 8 bytes |
| 256 | const NX_SIZEOF_NX_SIZE: nx_size = 8 // nx_size always pointer-width |
| 257 | const NX_SIZEOF_NX_IDX: nx_size = 8 // nx_idx alias of nx_size |
| 261 | const NX_FD_STDIN: nx_fd = 0 |
| 262 | const NX_FD_STDOUT: nx_fd = 1 |
| 263 | const NX_FD_STDERR: nx_fd = 2 |
| 265 | const SYS_MAGIC_1024: i64 = 1024 |
| 266 | const SYS_MAGIC_1000000: i64 = 1000000 |
| 267 | const SYS_MAGIC_4294967296: i64 = 4294967296 |
| 269 | const SYS_READ_GROW_INIT: i64 = 65536 |
| 270 | const SYS_MAGIC_100000: i64 = 100000 |
| 288 | const SYS_READ: i64 = 0 |
| 289 | const SYS_WRITE: i64 = 1 |
| 290 | const SYS_CLOSE: i64 = 3 |
| 291 | const SYS_LSEEK: i64 = 8 |
| 292 | const SYS_OPENAT: i64 = 257 |
| 293 | const SYS_EXIT: i64 = 60 |
| 294 | const SYS_MMAP: i64 = 9 |
| 295 | const SYS_CLOCK_GETTIME: i64 = 228 |
| 296 | const SYS_IOCTL: i64 = 16 |
| 297 | const SYS_CLOCK_NANOSLEEP: i64 = 230 |
| 301 | const SYS_CHROOT: i64 = 161 |
| 302 | const SYS_MOUNT: i64 = 165 |
| 303 | const SYS_UNSHARE: i64 = 272 |
| 304 | const SYS_GETUID: i64 = 102 |
| 305 | const SYS_GETGID: i64 = 104 |
| 306 | const SYS_POLL: i64 = 7 |
| 310 | const SYS_READ: i64 = 63 |
| 311 | const SYS_WRITE: i64 = 64 |
| 312 | const SYS_CLOSE: i64 = 57 |
| 313 | const SYS_LSEEK: i64 = 62 |
| 314 | const SYS_OPENAT: i64 = 56 |
| 315 | const SYS_EXIT: i64 = 93 |
| 316 | const SYS_MMAP: i64 = 222 |
| 317 | const SYS_CLOCK_GETTIME: i64 = 113 |
| 318 | const SYS_IOCTL: i64 = 29 |
| 319 | const SYS_CLOCK_NANOSLEEP: i64 = 115 |
| 326 | const SYS_CHROOT: i64 = 51 |
| 327 | const SYS_MOUNT: i64 = 40 |
| 328 | const SYS_UNSHARE: i64 = 97 |
| 329 | const SYS_GETUID: i64 = 174 |
| 330 | const SYS_GETGID: i64 = 176 |
| 331 | const SYS_POLL: i64 = 73 |
| 389 | const SYS_PATH_MAX: i64 = 4096 // Linux PATH_MAX; getcwd returns -ERANGE below it |
| 393 | const MODE_0755: i64 = 0x1ed // rwxr-xr-x : default mode for a created directory |
| 408 | const AT_FDCWD: i64 = -100 |
| 513 | const NX_MO_RELAXED: i64 = 0 |
| 514 | const NX_MO_CONSUME: i64 = 1 |
| 515 | const NX_MO_ACQUIRE: i64 = 2 |
| 516 | const NX_MO_RELEASE: i64 = 3 |
| 517 | const NX_MO_ACQ_REL: i64 = 4 |
| 518 | const NX_MO_SEQ_CST: i64 = 5 |
| 520 | const NXA_SMALL_MAX: i64 = 256 |
| 521 | const NXA_CHUNK: i64 = 262144 |
| 522 | const NXA_ALIGN: i64 = 16 |
| 523 | const NXA_GAP: i64 = 16 |
| 524 | const NXA_STATE: i64 = 4096 |
| 530 | const NXA_RING: i64 = 128 |
| 531 | const NXA_RBASE: i64 = 64 |
| 566 | const NXA_LOCK: i64 = 4 |
| 574 | const NXA_LOCK_WARN: i64 = NXA_RING * 8 |
| 578 | const NXA_LOCK_WARNED: i64 = 5 |
| 580 | const NXA_CHUNKBASE: i64 = 320 |
| 581 | const NXA_CHUNKMAX: i64 = 192 |
| 602 | const NXA_MAP_INVALID:i64=0-22 // Linux EINVAL, a protocol value rather than a resource budget. |
| 654 | const SYS_STATFS_X86_MEASURED: i64 = 137 |
| 655 | const STATFS_BUF_BYTES: i64 = 144 |
| 656 | const STATFS_I_BSIZE: i64 = 1 |
| 657 | const STATFS_I_BLOCKS: i64 = 2 |
| 658 | const STATFS_I_BAVAIL: i64 = 4 |
| 659 | const STATFS_PERMIL: i64 = 1000 |
| 660 | const STATFS_ERR: i64 = 0 - 1 |
| 1005 | const O_RDONLY: i64 = 0 |
| 1006 | const O_WRONLY_CT: i64 = 0x241 // O_CREAT | O_WRONLY | O_TRUNC |
| 1007 | const O_WRONLY_CA: i64 = 0x441 // O_CREAT | O_WRONLY | O_APPEND |
| 1015 | const O_RDWR_CREATE: i64 = 0x42 |
| 1036 | const MODE_0644: i64 = 0x1a4 // rw-r--r-- : default mode for a generated artifact |
| 1041 | const MODE_0755: i64 = 0x1ed |
| 1054 | const ACCEPT_TMO_S: i64 = 30 |
| 1061 | const O_WRONLY_CREATE_EXCLUSIVE: i64 = 0x1 | 0x40 | 0x80 |
| 1067 | const O_DIRECTORY: i64 = 0x10000 |
| 1081 | const O_CLOEXEC: i64 = 0x80000 |
| 1082 | const O_NOFOLLOW: i64 = 0x20000 |
| 1083 | const O_NONBLOCK: i64 = 0x800 |
| 1084 | const MODE_0600: i64 = 0x180 |
| 1149 | const SYS_LOCK_SH: i64 = 1 |
| 1150 | const SYS_LOCK_EX: i64 = 2 |
| 1151 | const SYS_LOCK_NB: i64 = 4 |
| 1152 | const SYS_LOCK_UN: i64 = 8 |
| 1197 | const SYS_SETPGID: i64 = 109 |
| 1200 | const SYS_SETPGID: i64 = 154 |
| 1223 | const RLIMIT_CPU: i64 = 0 |
| 1224 | const RLIMIT_AS: i64 = 9 |
| 1225 | const WNOHANG: i64 = 1 |
| 1319 | const SYS_CLONE: i64 = 56 |
| 1320 | const SYS_EXECVE: i64 = 59 |
| 1321 | const SYS_WAIT4: i64 = 61 |
| 1322 | const SYS_PIPE2: i64 = 293 |
| 1323 | const SYS_DUP3: i64 = 292 |
| 1327 | const SYS_CLONE: i64 = 220 |
| 1328 | const SYS_EXECVE: i64 = 221 |
| 1329 | const SYS_WAIT4: i64 = 260 |
| 1330 | const SYS_PIPE2: i64 = 59 |
| 1331 | const SYS_DUP3: i64 = 24 |
| 1337 | const CLONE_VM: i64 = 0x00000100 |
| 1338 | const CLONE_VFORK: i64 = 0x00004000 |
| 1339 | const SIGCHLD: i64 = 17 |
| 1389 | const NX_SYS_PRCTL: i64 = 167 |
| 1390 | const NX_PR_SET_PDEATHSIG: i64 = 1 |
| 1391 | const NX_PR_SET_CHILD_SUBREAPER: i64 = 36 |
| 1406 | const SYS_WAITID_PORTABLE: i64 = 95 |
| 1407 | const NX_WAIT_P_PID: i64 = 1 |
| 1408 | const NX_WAIT_EXITED: i64 = 4 |
| 1409 | const NX_WAIT_NOWAIT: i64 = 0x01000000 |
| 1410 | const NX_WAIT_SIGINFO_BYTES: i64 = 128 |
| 1417 | const NX_FD_DENT_BUFFER: i64 = 4096 |
| 1418 | const NX_SYS_CLOSE_RANGE: i64 = 436 // Linux x86_64 and asm-generic ABI |
| 1419 | const NX_FD_UINT_MAX: i64 = 4294967295 |
| 1591 | const SYS_GETDENTS64: i64 = 217 |
| 1594 | const SYS_GETDENTS64: i64 = 61 |
| 1597 | const DT_UNKNOWN: i64 = 0 |
| 1598 | const DT_FIFO: i64 = 1 |
| 1599 | const DT_CHR: i64 = 2 |
| 1600 | const DT_DIR: i64 = 4 |
| 1601 | const DT_BLK: i64 = 6 |
| 1602 | const DT_REG: i64 = 8 |
| 1603 | const DT_LNK: i64 = 10 |
| 1604 | const DT_SOCK: i64 = 12 |
| 1792 | const SYS_SOCKET: i64 = 41 |
| 1793 | const SYS_BIND: i64 = 49 |
| 1794 | const SYS_LISTEN: i64 = 50 |
| 1795 | const SYS_ACCEPT: i64 = 43 |
| 1796 | const SYS_CONNECT: i64 = 42 |
| 1797 | const SYS_SETSOCKOPT: i64 = 54 |
| 1798 | const SYS_SENDTO: i64 = 44 |
| 1799 | const SYS_RECVFROM: i64 = 45 |
| 1800 | const SYS_SHUTDOWN: i64 = 48 |
| 1804 | const SYS_SOCKET: i64 = 198 |
| 1805 | const SYS_BIND: i64 = 200 |
| 1806 | const SYS_LISTEN: i64 = 201 |
| 1807 | const SYS_ACCEPT: i64 = 202 |
| 1808 | const SYS_CONNECT: i64 = 203 |
| 1809 | const SYS_SETSOCKOPT: i64 = 208 |
| 1810 | const SYS_SENDTO: i64 = 206 |
| 1811 | const SYS_RECVFROM: i64 = 207 |
| 1812 | const SYS_SHUTDOWN: i64 = 210 |
| 1816 | const SOL_SOCKET: i64 = 1 |
| 1817 | const SO_REUSEADDR: i64 = 2 |
| 1822 | const SO_SNDTIMEO: i64 = 21 |
| 1823 | const SO_RCVTIMEO: i64 = 20 |
| 1851 | const SYS_ALARM: i64 = 37 |
| 1854 | const AF_INET: i64 = 2 |
| 1855 | const SOCK_STREAM: i64 = 1 |
| 1856 | const SOCK_DGRAM: i64 = 2 |
| 1962 | const SYS_SENDMSG: i64 = 46 |
| 1963 | const SYS_RECVMSG: i64 = 47 |
| 1964 | const SYS_SOCKETPAIR: i64 = 53 |
| 1965 | const SCM_AF_UNIX: i64 = 1 |
| 1966 | const SCM_SOL_SOCKET: i64 = 1 |
| 1967 | const SCM_RIGHTS_TYPE: i64 = 1 |
| 1968 | const SCM_MSG_CMSG_CLOEXEC: i64 = 1073741824 |
| 1969 | const SCM_MSGHDR_BYTES: i64 = 56 |
| 1970 | const SCM_MSGHDR_OFF_IOV: i64 = 16 |
| 1971 | const SCM_MSGHDR_OFF_IOVLEN: i64 = 24 |
| 1972 | const SCM_MSGHDR_OFF_CTRL: i64 = 32 |
| 1973 | const SCM_MSGHDR_OFF_CTRLLEN: i64 = 40 |
| 1974 | const SCM_IOVEC_BYTES: i64 = 16 |
| 1975 | const SCM_IOVEC_OFF_BASE: i64 = 0 |
| 1976 | const SCM_IOVEC_OFF_LEN: i64 = 8 |
| 1977 | const SCM_CMSG_OFF_LEN: i64 = 0 |
| 1978 | const SCM_CMSG_OFF_LEVEL: i64 = 8 |
| 1979 | const SCM_CMSG_OFF_TYPE: i64 = 12 |
| 1980 | const SCM_CMSG_OFF_DATA: i64 = 16 |
| 1981 | const SCM_CMSG_LEN_1FD: i64 = 20 |
| 1982 | const SCM_CMSG_SPACE_1FD: i64 = 24 |
| 1983 | const SCM_IOV_COUNT_ONE: i64 = 1 |
| 1984 | const SCM_U32_BYTES: i64 = 4 |
| 1985 | const SCM_BYTE_RADIX: i64 = 256 |
| 1986 | const SCM_FDPAIR_BYTES: i64 = 8 |
| 1989 | const SCM_PAYLOAD_BYTES: i64 = 1 |
| 1990 | const SCM_PAYLOAD_BYTE: i64 = 70 |
| 1994 | const SCM_ERR_NO_CMSG: i64 = 0 - 901 |
| 1995 | const SCM_ERR_CMSG_LEN: i64 = 0 - 902 |
| 1996 | const SCM_ERR_CMSG_LEVEL: i64 = 0 - 903 |
| 1997 | const SCM_ERR_CMSG_TYPE: i64 = 0 - 904 |
| 2069 | const SCM_SUN_PATH_OFF: i64 = 2 // sockaddr_un = [sa_family: u16][sun_path: 108] |
| 2070 | const SCM_SUN_BYTES: i64 = 110 |
| 2071 | const SCM_SUN_PATH_MAX: i64 = 107 |
| 2196 | const NX_FILE_PERMISSION_MASK:i64=511 |
| 2197 | const NX_FILE_DESCRIPTOR_INVALID:i64=0-22 |
| 2203 | const NX_STAT_X64_BYTES:i64=144 |
| 2204 | const NX_STAT_X64_MODE_OFFSET:i64=24 |
| 2205 | const NX_STAT_X64_BLOCK_OFFSET:i64=56 |
| 2206 | const NX_STAT_X64_SIZE_OFFSET:i64=48 |
| 2207 | const NX_STAT_X64_DEVICE_OFFSET:i64=0 |
| 2208 | const NX_STAT_X64_INODE_OFFSET:i64=8 |
| 2209 | const NX_STAT_TYPE_MASK:i64=61440 |
| 2210 | const NX_STAT_REGULAR_FILE:i64=32768 |
| 2277 | const B64_PAD: i64 = 0x3D // '=' |
| 2839 | const K_MAGIC_536870912: i64 = 536870912 |
| 2878 | const M32: i64 = 0xFFFFFFFF |
| 3256 | const SHA256_WORD_ALIGN: i64 = 8 |
| 3257 | const SHA256_BLOCK_BYTES: i64 = 64 |
| 3258 | const SHA256_ROUND_WORDS: i64 = 64 |
| 3259 | const SHA256_WIDE_WORD: i64 = 8 |
| 3260 | const SHA256_PACKED_WORD: i64 = 4 |
| 3261 | const SHA256_STATE_WORDS: i64 = 8 |
| 3262 | const SHA256_DIGEST_BYTES: i64 = 32 |
| 3263 | const SHA256_SIGNED_MAX: i64 = 9223372036854775807 |
| 3264 | const SHA256_BITS_PER_BYTE: i64 = 8 |
| 3265 | const SHA256_E_INPUT: i64 = 0-1 |
| 3266 | const SHA256_E_WORKSPACE: i64 = 0-2 |
| 3267 | const SHA256_E_MAPPING: i64 = 0-3 |
| 3268 | const SHA256_E_RELEASE: i64 = 0-4 |
| 3332 | const FIO_EINTR: i64 = 0 - 4 |
| 3333 | const FIO_EIO: i64 = 0 - 5 |
| 3334 | const FIO_EINVAL: i64 = 0 - 22 |
| 3335 | const FIO_EEXIST: i64 = 0 - 17 |
| 3336 | const FIO_EBADMSG: i64 = 0 - 74 // Linux ABI: artifact digest mismatch. |
| 3761 | const CCZ_ASCII_0: i64 = 48 |
| 3762 | const CCZ_MINUS: i64 = 45 |
| 3763 | const CCZ_DEC: i64 = 10 |
| 3783 | const NXI_BUF: i64 = 24 |
| 3784 | const NXI_STDOUT: i64 = 1 |
| 3785 | const NXI_STDERR: i64 = 2 |
| 3841 | const VW_PROC_PATH_CAP: i64 = 256 // /proc/<pid>/status path buffer |
| 3842 | const VW_STATUS_BUF: i64 = 8192 // /proc status read buffer |
| 3843 | const VW_PTR_CELL: i64 = 16 // 2-i64 scratch cell (vw_num_at end-pointer out-param) |
| 4006 | const OSF_SLASH: i64 = 47 // '/' -- path separator (namespace-boundary test) |
| 4040 | const OSP_HZ_LINUX: i64 = 100 // Linux USER_HZ: /proc/<pid>/stat starttime ticks/sec |
| 4041 | const OSP_PATH_CAP: i64 = 256 |
| 4042 | const OSP_RD_CAP: i64 = 4096 |
| 4043 | const OSP_STAT_CAP: i64 = 262144 // /proc/stat whole-file read cap (btime scan) |
| 4044 | const OSP_DENT_BUF: i64 = 65536 // getdents64 batch buffer (proven sizing) |
| 4045 | const OSP_F_PPID: i64 = 2 // /proc/<pid>/stat field after ')': state=1 ppid=2 ... utime=12 stime=13 ... starttime=20 |
| 4046 | const OSP_F_START: i64 = 20 |
| 4047 | const OSP_F_UTIME: i64 = 12 // user-mode CPU ticks (cumulative) |
| 4048 | const OSP_F_STIME: i64 = 13 // kernel-mode CPU ticks (cumulative) |
| 4049 | const OSP_ASCII_0: i64 = 48 |
| 4050 | const OSP_ASCII_9: i64 = 57 |
| 4051 | const OSP_SP: i64 = 32 |
| 4052 | const OSP_NL: i64 = 10 |
| 4053 | const OSP_RP: i64 = 41 // ')' |
| 4054 | const OSP_SLASH: i64 = 47 |
| 4055 | const OSP_NUL: i64 = 0 |
| 4056 | const OSP_SENTINEL: i64 = 0 - 1 // "not available on this OS backend" |
| 4286 | const OSP_DIRENT_NAME_OFFSET: i64 = 19 // Linux linux_dirent64 ABI |
| 4361 | const FSX_MAGIC_4095: i64 = 4095 |
| 4363 | const FSX_READ_CAP: i64 = 1048576 // max bytes returned by `read` (truncation is MARKED, never silent) |
| 4364 | const FSX_DENY_CAP: i64 = 8192 // fs_read_deny.conf read cap |
| 4365 | const FSX_PATH_CAP: i64 = 1024 // lowercased path work buffer |
| 4366 | const FSX_DENT_BUF: i64 = 65536 // getdents64 batch buffer (matches the proven vsz/heal sizing) |
| 4367 | const FSX_LS_CAP: i64 = 200 // scale-law: max ls entries EMITTED; true total ALWAYS declared (65KB-dump fix) |
| 4368 | const FSX_RC_ABSENT: i64 = 3 // exit: path absent/unreadable (mirrors nx_fileop's exists convention) |
| 4369 | const FSX_RC_DENIED: i64 = 5 // exit: deny-list refused the read |
| 4370 | const FSX_UPPER_A: i64 = 65 // 'A' (ASCII lowercasing) |
| 4371 | const FSX_UPPER_Z: i64 = 90 // 'Z' |
| 4372 | const FSX_CASE_OFF: i64 = 32 // 'a' - 'A' |
| 4373 | const FSX_ASCII_0: i64 = 48 // '0' (decimal print) |
| 4458 | const FSX_SNIFF_CAP: i64 = 4096 |
| 4607 | const FSX_SEEK_END: i64 = 2 // lseek whence: EOF offset = size, WITHOUT reading a single byte |
| 4694 | const FSX_LINES_SCAN: i64 = 1048576 // line-addressing scan window (matches the proven read cap) |
| 4695 | const FSX_LINES_MAXOUT: i64 = 262144 // max bytes emitted by one `lines` call (transport-friendly) |
| 4696 | const FSX_LINES_DEFN: i64 = 40 // default line count when the caller omits it |
| 4697 | const FSX_LINES_MAXN: i64 = 400 // max lines per call |
| 4767 | const FSX_MODE_RW: i64 = MODE_0644 // 0644 -- the ecosystem's file-create mode idiom |
| 4768 | const FSX_DEC: i64 = 10 // decimal base (pid rendering in the tmp suffix) |
| 4769 | const FSX_EDIT_OUT: i64 = 2097152 // edit output buffer (2x read cap: bounded replacement growth) |
| 4770 | const FSX_TMP_ROOM: i64 = 32 // reserved room for ".nxw" + pid digits + NUL in the tmp name |
| 4771 | const FSX_RC_IO: i64 = 4 // exit: io failure (open/short-write/rename) |
| 4772 | const FSX_RC_NOMATCH: i64 = 6 // exit: edit found 0 occurrences (file UNCHANGED) |
| 4773 | const FSX_RC_AMBIG: i64 = 7 // exit: edit found >1 occurrences without `all` (file UNCHANGED) |
| 4886 | const FSX_NL: i64 = 10 // '\n' -- the row terminator this verb requires and heals |
| 4887 | const FSX_APP_EMPTY: i64 = 0 - 4 // append refused: nothing to append |
| 4888 | const FSX_APP_NONL: i64 = 0 - 5 // append refused: body does not end in a newline |
| 4889 | const FSX_SEEK_SET: i64 = 0 // lseek whence: absolute offset (the tail probe) |
| 5186 | const FSX_JOB_DIR: *u8 = "_jobs/" |
| 5187 | const FSX_JOB_PFX: *u8 = "job_" |
| 5188 | const FSX_JOB_CLAIM: *u8 = ".claim" |
| 5189 | const FSX_JOB_OUT: *u8 = ".out" |
| 5190 | const FSX_JOB_IDMAX: i64 = 24 // a job id is an epoch-shaped integer; longer than this is not an id |
| 5191 | const FSX_JOB_NOSUCH: i64 = 1 // no marker: the id was never claimed (unknown id, or the lane has not claimed it yet) |
| 5192 | const FSX_JOB_RUNNING: i64 = 2 // marker reads state=CLAIMED |
| 5193 | const FSX_JOB_DONE: i64 = 3 // marker reads state=DONE with bytes>0: the output was printed |
| 5194 | const FSX_JOB_DONE_EMPTY: i64 = 4 // marker reads state=DONE with bytes=0: the tool produced NOTHING |
| 5195 | const FSX_JOB_UNPARSED: i64 = 5 // marker present, no state token this reader knows: printed verbatim |
| 5196 | const FSX_JOB_REFUSED: i64 = 6 // id is not digits-only |
| 5197 | const FSX_JOB_OUT_ABSENT: i64 = 7 // marker says DONE with bytes>0 but the output file is unreadable |
| 5198 | const FSX_RC_JOB_RUNNING: i64 = 8 // CLI exit for RUNNING, distinct from every other fs exit code |
| 5199 | const FSX_ASCII_9: i64 = 57 // '9' (decimal parse upper bound) |
| 5309 | const FXC_OPEN_EXCLUSIVE: i64 = 0xc1 // O_WRONLY | O_CREAT | O_EXCL |
| 5310 | const FXC_RENAMEAT2_X86: i64 = 316 |
| 5311 | const FXC_RENAME_NOREPLACE: i64 = 1 |
| 5312 | const FXC_EXISTS: i64 = 0 - 17 |
| 5313 | const FXC_IO: i64 = 0 - 3 |
| 5348 | const GPA_HEADER_BYTES: i64 = 8 |
functions
| 334 | func sys_ioctl(fd: i64, request: i64, arg: i64) -> i64 |
| 345 | func sys_poll(fds: *u8, nfds: i64, timeout_ms: i64) -> i64 |
| 351 | func sys_write(fd: i64, buf: *u8, count: i64) -> i64 |
| 355 | func sys_read(fd: i64, buf: *u8, count: i64) -> i64 |
| 359 | func sys_close(fd: i64) -> i64 |
| 369 | func sys_chdir(path: *u8) -> i64 calls 1: sys_mmap |
| 394 | func sys_getcwd(buf: *u8, cap: i64) -> i64 calls 1: sys_mmap |
| 413 | func sys_unlinkat(path: *u8) -> i64 |
| 420 | func sys_fchmodat(path: *u8, mode: i64) -> i64 calls 1: sys_mmap |
| 436 | func sys_exit_group(code: i64) -> i64 |
| 453 | func sys_setpriority(prio: i64) -> i64 |
| 461 | func sys_setpriority_of(pid: i64, prio: i64) -> i64 |
| 603 | func sys_munmap_direct(addr:*u8,len:i64)->i64 |
| 608 | func sys_munmap(addr: *u8, len: i64) -> i64 |
| 615 | func sys_lseek(fd: i64, offset: i64, whence: i64) -> i64 |
| 663 | func sys_statfs(path: *u8, buf: *i64) -> i64 |
| 668 | func sys_fs_avail_bytes(path: *u8) -> i64 |
| 677 | func sys_fs_used_permil(path: *u8) -> i64 |
| 686 | func sys_exit(code: i64) -> i64 called by 1: nxa_die |
| 720 | func nxa_dump_printable(src: i64, n: i64) -> i64 |
| 741 | func nxa_dump_sizes() -> i64 |
| 766 | func nxa_report_overrun(sz: i64, gs: i64) -> i64 |
| 796 | func nxa_die(msg: *u8) -> i64 |
| 806 | func nxa_lock_addr() -> *i64 |
| 814 | func nxa_lock_take() -> i64 |
| 843 | func nxa_lock_give() -> i64 |
| 857 | func sys_mmap_try(size:i64)->*u8 |
| 864 | func sys_mmap(size: i64) -> *u8 |
| 946 | func sys_arena_mark() -> i64 calls 1: sys_mmap |
| 960 | func sys_arena_reset() -> i64 |
| 984 | func sys_mmap_shared(size: i64) -> *u8 called by 1: sha256_digest_checked_native |
| 998 | func sys_madvise(addr: *u8, len: i64, advice: i64) -> i64 |
| 1009 | func sys_openat_rd(path: *u8) -> i64 |
| 1016 | func sys_openat_rdwr(path: *u8, mode: i64) -> i64 |
| 1055 | func sys_openat_wr(path: *u8, mode: i64) -> i64 called by 1: fsx_write |
| 1062 | func sys_openat_exclusive(path: *u8, mode: i64) -> i64 called by 1: fio_prepare_copy |
| 1068 | func sys_openat_directory(path: *u8) -> i64 |
| 1075 | func sys_openat_append(path: *u8, mode: i64) -> i64 called by 1: fsx_append |
| 1085 | func sys_openat_lock(path: *u8) -> i64 called by 1: fio_target_lock_acquire |
| 1093 | func sys_symlinkat(target: *u8, linkpath: *u8) -> i64 |
| 1105 | func sys_readlinkat(path: *u8, buf: *u8, cap: i64) -> i64 |
| 1122 | func sys_renameat(oldpath: *u8, newpath: *u8) -> i64 |
| 1135 | func sys_fsync(fd: i64) -> i64 |
| 1153 | func sys_flock(fd: i64, op: i64) -> i64 |
| 1161 | func sys_fstatat(path: *u8, statbuf: *u8) -> i64 |
| 1168 | func sys_utimensat(path: *u8, times: *i64) -> i64 |
| 1187 | func nx_kill(pid: i64, sig: i64) -> i64 { return __syscall(129, pid, sig, 0, 0, 0, 0) } |
| 1202 | func sys_setpgid(pid: i64, pgid: i64) -> i64 { return __syscall(SYS_SETPGID, pid, pgid, 0, 0, 0, 0) } |
| 1216 | func nx_prlimit(pid: i64, resource: i64, new_limit: *u8, old_limit: *u8) -> i64 |
| 1228 | func sys_mkdir(path: *u8, mode: i64) -> i64 { return __syscall(34, AT_FDCWD, path, mode, 0, 0, 0) } |
| 1231 | func nx_chmod(path: *u8, mode: i64) -> i64 { return __syscall(53, AT_FDCWD, path, mode, 0, 0, 0) } |
| 1235 | func nx_setsid() -> i64 { return __syscall(112, 0, 0, 0, 0, 0, 0) } |
| 1239 | func sys_clock_gettime_mono(ts: *i64) -> i64 |
| 1247 | func sys_clock_gettime_real(ts: *i64) -> i64 |
| 1252 | func sys_now_realtime_sec() -> i64 |
| 1259 | func sys_now_realtime_ms() -> i64 |
| 1271 | func sys_now_realtime_us() -> i64 |
| 1280 | func sys_now_ms() -> i64 |
| 1291 | func sys_now_us() -> i64 |
| 1302 | func sys_clock_now_us() -> i64 calls 1: sys_now_us |
| 1352 | func sys_unshare(flags: i64) -> i64 |
| 1355 | func sys_mount(source: *u8, target: *u8, fs_type: *u8, mountflags: i64, data: *u8) -> i64 |
| 1358 | func sys_chroot(path: *u8) -> i64 |
| 1361 | func sys_getuid() -> i64 |
| 1364 | func sys_getgid() -> i64 |
| 1368 | func sys_fork() -> i64 |
| 1392 | func sys_prctl(option: i64, arg: i64) -> i64 called by 1: sys_bind_parent_lifetime |
| 1395 | func sys_bind_parent_lifetime(expected_parent: i64, signal: i64) -> i64 calls 1: sys_prctl |
| 1411 | func sys_waitid(idtype: i64, id: i64, info: *u8, options: i64) -> i64 |
| 1420 | func sys_close_inherited_proc(first: i64) -> i64 called by 1: sys_close_inherited calls 6: sys_openat_rdsys_mmapsys_getdents64dirent_reclensys_closesys_munmap |
| 1461 | func sys_close_inherited(first: i64) -> i64 |
| 1467 | func sys_execve_clean(path: *u8, argv: *i64, envp: *i64) -> i64 |
| 1473 | func sys_execve(path: *u8, argv: *i64, envp: *i64) -> i64 called by 1: sys_execve_clean |
| 1482 | func sys_wait4(pid: i64, status: *i64, options: i64) -> i64 |
| 1488 | func wait_exit_code(status: i64) -> i64 called by 1: wait_status_rc |
| 1496 | func wait_term_signal(status: i64) -> i64 called by 1: wait_status_rc |
| 1521 | func wait_status_rc(status: i64) -> i64 |
| 1544 | func sys_default_signal(sig: i64) -> i64 calls 1: sys_mmap |
| 1553 | func sys_ignore_sigpipe() -> i64 calls 1: sys_mmap |
| 1568 | func sys_pipe2(fds: *i64, flags: i64) -> i64 |
| 1574 | func sys_dup3(oldfd: i64, newfd: i64, flags: i64) -> i64 |
| 1608 | func sys_getdents64(fd: i64, buf: *u8, buf_len: i64) -> i64 |
| 1614 | func dirent_reclen(rec: *u8) -> i64 |
| 1621 | func dirent_type(rec: *u8) -> i64 called by 1: fsx_ls_from |
| 1626 | func dirent_name(rec: *u8) -> *u8 |
| 1633 | func sys_read_file(path: *u8, out_len: *i64) -> *u8 |
| 1715 | func sys_free_file(buf: *u8, len: i64) -> i64 calls 1: sys_munmap |
| 1726 | func sys_map_file(path: *u8, out_len: *i64) -> *u8 |
| 1744 | func sys_sleep_ms(ms: i64) -> i64 |
| 1828 | func sys_setsockopt(fd: i64, level: i64, optname: i64, called by 1: sys_set_socket_timeout |
| 1838 | func sys_set_socket_timeout(fd: i64, secs: i64) -> i64 |
| 1852 | func sys_alarm(secs: i64) -> i64 { return __syscall(SYS_ALARM, secs, 0, 0, 0, 0, 0) } |
| 1858 | func sys_socket(domain: i64, sock_type: i64, protocol: i64) -> i64 |
| 1870 | func sockaddr_in_init(addr: *u8, port: i64) -> i64 |
| 1893 | func sys_bind(fd: i64, addr: *u8, addr_len: i64) -> i64 called by 1: sys_unix_listen |
| 1896 | func sys_listen(fd: i64, backlog: i64) -> i64 called by 1: sys_unix_listen |
| 1903 | func sys_accept(fd: i64) -> i64 |
| 1906 | func sys_accept_with_addr(fd: i64, addr: *u8, addr_len: *i64) -> i64 |
| 1910 | func sys_shutdown(fd: i64, how: i64) -> i64 |
| 1913 | func sys_connect(fd: i64, addr: *u8, addr_len: i64) -> i64 called by 1: sys_unix_connect_fd |
| 1916 | func sys_sendto(fd: i64, buf: *u8, n: i64, flags: i64, |
| 1920 | func sys_recvfrom(fd: i64, buf: *u8, n: i64, flags: i64, |
| 1999 | func scm_zero(base: *u8, n: i64) -> i64 { var i: i64 = 0; while i < n { base[i] = 0; i = i + 1 } return 0 } |
| 2000 | func scm_put_i64(base: *u8, off: i64, v: i64) -> i64 |
| 2005 | func scm_get_i64(base: *u8, off: i64) -> i64 called by 1: sys_recv_fd |
| 2012 | func scm_put_u32(base: *u8, off: i64, v: i64) -> i64 called by 1: sys_send_fd |
| 2022 | func scm_get_u32(base: *u8, off: i64) -> i64 called by 1: sys_recv_fd |
| 2034 | func sys_sendmsg(fd: i64, msg: *u8, flags: i64) -> i64 called by 1: sys_send_fd |
| 2037 | func sys_recvmsg(fd: i64, msg: *u8, flags: i64) -> i64 called by 1: sys_recv_fd |
| 2061 | func sys_socketpair(domain: i64, sock_type: i64, protocol: i64, sv: *u8) -> i64 |
| 2072 | func sys_unix_listen(path: *u8, backlog: i64) -> i64 |
| 2100 | func sys_unix_connect_fd(path: *u8) -> i64 |
| 2124 | func sys_send_fd(sock: i64, fd: i64) -> i64 |
| 2158 | func sys_recv_fd(sock: i64, flags: i64) -> i64 |
| 2198 | func sys_fchmod_fd(fd:i64,mode:i64)->i64 |
| 2211 | func sys_fstat_fd(fd:i64,stat:*u8)->i64 |
| 2215 | func sys_stat_permissions(stat:*u8)->i64 |
| 2280 | func b64_enc_char(n: i64) -> i64 called by 1: b64_encode |
| 2290 | func b64url_enc_char(n: i64) -> i64 |
| 2301 | func b64_dec_char(c: i64) -> i64 called by 1: b64_grab |
| 2314 | func b64_encode(in_bytes: *u8, n: i64, out: *u8) -> i64 calls 1: b64_enc_char |
| 2351 | func b64_grab(in_chars: *u8, n: i64, pos: *i64) -> i64 |
| 2370 | func b64_decode(in_chars: *u8, n: i64, out: *u8) -> i64 calls 1: b64_grab |
| 2527 | func nx_bits_popcount64(x: i64) -> i64 |
| 2531 | func nx_bits_popcount32(x: i64) -> i64 |
| 2540 | func nx_bits_clz32(x: i64) -> i64 called by 1: nx_bits_floor_log2 |
| 2544 | func nx_bits_ctz32(x: i64) -> i64 |
| 2553 | func nx_bits_clz64(x: i64) -> i64 |
| 2559 | func nx_bits_ctz64(x: i64) -> i64 |
| 2572 | func nx_bits_rotl64(x: i64, n: i64) -> i64 |
| 2576 | func nx_bits_rotr64(x: i64, n: i64) -> i64 |
| 2586 | func nx_bits_rotl32(x: i64, n: i64) -> i64 called by 1: nx_bits_rotl32_soft |
| 2593 | func nx_bits_rotr32(x: i64, n: i64) -> i64 |
| 2605 | func nx_bits_bswap64(x: i64) -> i64 |
| 2614 | func nx_bits_bswap32(x: i64) -> i64 |
| 2620 | func nx_bits_popcount64_soft(x: i64) -> i64 |
| 2628 | func nx_bits_popcount32_soft(x: i64) -> i64 |
| 2636 | func nx_bits_clz32_soft(x: i64) -> i64 |
| 2658 | func nx_bits_rotl64_soft(x: i64, n: i64) -> i64 |
| 2665 | func nx_bits_rotr64_soft(x: i64, n: i64) -> i64 |
| 2675 | func nx_bits_bswap64_soft(x: i64) -> i64 |
| 2683 | func nx_bits_bswap32_soft(x: i64) -> i64 |
| 2695 | func nx_bits_rotl32_soft(x: i64, n: i64) -> i64 calls 1: nx_bits_rotl32 |
| 2698 | func nx_bits_rotr32_soft(x: i64, n: i64) -> i64 calls 1: nx_bits_rotr32 |
| 2705 | func nx_bits_clz64_soft(x: i64) -> i64 |
| 2722 | func nx_bits_ctz64_soft(x: i64) -> i64 |
| 2738 | func nx_bits_ctz32_soft(x: i64) -> i64 |
| 2760 | func nx_bits_lowest(x: i64) -> i64 |
| 2770 | func nx_bits_clear_lowest(x: i64) -> i64 |
| 2778 | func nx_bits_is_pow2(x: i64) -> i64 |
| 2789 | func nx_bits_next_pow2_32(x: i64) -> i64 |
| 2805 | func nx_bits_parity64(x: i64) -> i64 |
| 2818 | func nx_bits_floor_log2(x: i64) -> i64 calls 1: nx_bits_clz32 |
| 2832 | func nx_bits_bextr(x: i64, start: i64, len: i64) -> i64 |
| 2882 | func rotr32(x: i64, n: i64) -> i64 {
calls 1: nx_bits_rotr32 |
| 2886 | func shr32(x: i64, n: i64) -> i64 { |
| 2893 | func sha256_k(i: i64) -> i64 {
called by 1: sha256_seed_allocated |
| 2963 | func blk_byte(c: *Sha256, n: i64) -> i64 {
called by 1: blk_word |
| 2969 | func blk_set_byte(c: *Sha256, n: i64, v: i64) -> i64 { |
| 2977 | func blk_word(c: *Sha256, i: i64) -> i64 { |
| 2991 | func sha256_compress_ni(c: *Sha256) -> i64 {
called by 1: sha256_compress |
| 3010 | func sha256_compress_ni_blocks(c: *Sha256, blocks: i64, nblk: i64) -> i64 {
called by 1: sha256_update |
| 3032 | func sha256_compress(c: *Sha256) -> i64 { |
| 3095 | func sha256_seed_allocated(c: *Sha256) -> i64 { |
| 3122 | func sha256_init(c: *Sha256) -> i64 { |
| 3133 | func sha256_update(c: *Sha256, bytes: *u8, n: i64) -> i64 { |
| 3163 | func sha256_final(c: *Sha256, out: *u8) -> i64 {
called by 3: sha256_digestsha256_digest_workspacefio_verify_sha256 calls 2: blk_set_bytesha256_compress |
| 3233 | func sha256_destroy(c: *Sha256) -> i64 { |
| 3242 | func sha256_digest(bytes: *u8, n: i64, out: *u8) -> i64 { |
| 3270 | func sha256_context_aligned_bytes() -> i64 { |
| 3273 | func sha256_workspace_bytes() -> i64 { |
| 3276 | func sha256_checked_input(bytes: *u8, n: i64, out: *u8) -> i64 { |
| 3283 | func sha256_ranges_overlap(a: i64, an: i64, b: i64, bn: i64) -> i64 {
called by 1: sha256_digest_workspace |
| 3289 | func sha256_init_workspace(workspace: *u8, capacity: i64) -> i64 { |
| 3300 | func sha256_digest_workspace(bytes: *u8, n: i64, out: *u8, workspace: *u8, capacity: i64) -> i64 { |
| 3314 | func sha256_digest_mapping_native(bytes: *u8, n: i64, out: *u8, mapping: i64) -> i64 {
called by 1: sha256_digest_checked_native calls 3: sha256_workspace_bytessha256_digest_workspacesys_munmap |
| 3323 | func sha256_digest_checked_native(bytes: *u8, n: i64, out: *u8) -> i64 { |
| 3347 | func fio_write_sync_fd(fd: i64, body: *u8, n: i64, result: *NxFileWriteResult) -> i64 |
| 3380 | func fio_sync_parent(path: *u8, result: *NxFileWriteResult) -> i64 |
| 3409 | func fio_unlink(path: *u8) -> i64 { return __syscall(263, 0 - 100, path as i64, 0, 0, 0, 0) } |
| 3412 | func fio_exists(path: *u8) -> i64 |
| 3431 | func fio_region_init(r: *NxFileReadRegion) -> i64 |
| 3437 | func fio_region_close(r: *NxFileReadRegion) -> i64 called by 5: fio_region_failfio_region_nextfio_prepare_copyfio_verify_sha256fsx_edit calls 1: sys_close |
| 3445 | func fio_region_fail(r: *NxFileReadRegion,stage: *u8,code: i64) -> i64 |
| 3450 | func fio_region_open(path: *u8,r: *NxFileReadRegion) -> i64 |
| 3466 | func fio_region_select(r: *NxFileReadRegion,start: i64,length: i64) -> i64 |
| 3476 | func fio_region_next(r: *NxFileReadRegion,out: *u8,cap: i64) -> i64 called by 3: fio_prepare_copyfio_verify_sha256fsx_edit calls 3: fio_region_closesys_readfio_region_fail |
| 3511 | func fio_prepare_copy(source: *u8,candidate: *u8,mode: i64,buffer: *u8,capacity: i64,out: *NxFilePrepareResult) -> i64 called by 1: fio_replace_owned calls 12: sys_mmapfio_region_initfio_region_opensys_openat_exclusivefio_region_nextsys_write+6 |
| 3572 | func fio_publish_candidate(candidate: *u8,live: *u8,out: *NxFilePublishResult) -> i64 |
| 3599 | func fio_target_lock_init(lock: *NxFileTargetLock) -> i64 |
| 3603 | func fio_target_lock_release(lock: *NxFileTargetLock) -> i64 |
| 3614 | func fio_target_lock_acquire(live: *u8,lock: *NxFileTargetLock) -> i64 called by 1: fio_replace_core calls 6: fio_target_lock_initsys_mmapsys_openat_locksys_munmapsys_flocksys_close |
| 3649 | func fio_replace_owned(source: *u8,live: *u8,candidate: *u8,backup: *u8,mode: i64,buffer: *u8,capacity: i64,expected_candidate: *u8,expected_live: *u8,out: *NxFileReplaceResult) -> i64 |
| 3675 | func fio_replace_init(out: *NxFileReplaceResult) -> i64 |
| 3682 | func fio_replace_core(source: *u8,live: *u8,candidate: *u8,backup: *u8,mode: i64,buffer: *u8,capacity: i64,expected_candidate: *u8,expected_live: *u8,out: *NxFileReplaceResult) -> i64 |
| 3691 | func fio_replace_with_backup(source: *u8,live: *u8,candidate: *u8,backup: *u8,mode: i64,buffer: *u8,capacity: i64,out: *NxFileReplaceResult) -> i64 calls 1: fio_replace_core |
| 3695 | func fio_replace_verified(source: *u8,live: *u8,candidate: *u8,backup: *u8,mode: i64,buffer: *u8,capacity: i64,expected_candidate: *u8,expected_live: *u8,out: *NxFileReplaceResult) -> i64 |
| 3708 | func fio_verify_sha256(path: *u8,expected: *u8,buffer: *u8,capacity: i64) -> i64 called by 1: fio_replace_owned calls 10: sys_mmapfio_region_initfio_region_opensha256_initfio_region_nextsha256_update+4 |
| 3764 | func ccz_cat_num(buf: *u8, off: i64, v: i64) -> i64 called by 1: nxi_fd |
| 3789 | func nxi_fd(fd: i64, v: i64) -> i64 |
| 3797 | func nxi_out(v: i64) -> i64 { return nxi_fd(NXI_STDOUT, v) } |
| 3798 | func nxi_err(v: i64) -> i64 { return nxi_fd(NXI_STDERR, v) } calls 1: nxi_fd |
| 3810 | func nxi_buf(dst: *u8, off: i64, v: i64) -> i64 called by 1: fxc_create |
| 3845 | func vw_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 3848 | func vw_contains(hay: *u8, hn: i64, needle: *u8, nn: i64) -> i64 |
| 3862 | func vw_num_at(s: *u8, n: i64, off: i64, endp: *i64) -> i64 |
| 3878 | func vw_parse_row(buf: *u8, ls: i64, le: i64, outp: *i64) -> i64 |
| 3904 | func vw_status_kb(buf: *u8, n: i64, pat: *u8) -> i64 |
| 3927 | func vw_should_kill(vsz_kb: i64, max_gb: i64, last_kill_s: i64, now_s: i64, cooldown_s: i64) -> i64 |
| 3936 | func vw_read(path: *u8, buf: *u8, cap: i64) -> i64 |
| 3947 | func vw_now_s() -> i64 { let ts: *i64 = sys_mmap(16) as *i64; sys_clock_gettime_mono(ts); return ts[0] } |
| 3950 | func vw_selfpid() -> i64 |
| 3961 | func vw_vmsize_parse(buf: *u8, n: i64) -> i64 { return vw_status_kb(buf, n, "VmSize:" as *u8) } calls 1: vw_status_kb |
| 3965 | func vw_status_kb_of(dirname: *u8, label: *u8) -> i64 |
| 3986 | func vw_vmsize_kb_of(dirname: *u8) -> i64 { return vw_status_kb_of(dirname, "VmSize:" as *u8) } calls 1: vw_status_kb_of |
| 3988 | func vw_rss_kb_of(dirname: *u8) -> i64 { return vw_status_kb_of(dirname, "VmRSS:" as *u8) } calls 1: vw_status_kb_of |
| 4009 | func osf_under(path: *u8, root: *u8) -> i64 called by 1: osf_write_forbidden |
| 4020 | func osf_write_forbidden(path: *u8) -> i64 |
| 4058 | func osp_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (OSP_NUL as u8) { n = n + 1 } return n } called by 1: osp_list_pids |
| 4060 | func osp_itoa(v: i64, out: *u8) -> i64 |
| 4073 | func osp_num(buf: *u8, n: i64, off: i64, endp: *i64) -> i64 |
| 4084 | func osp_basename(s: *u8) -> *u8 called by 1: osp_cmd_argv0 |
| 4098 | func osp_bread(path: *u8, buf: *u8, cap: i64) -> i64 called by 4: osp_stat_fieldosp_cmd_argv0osp_selfpidosp_boot_epoch calls 3: sys_openat_rdsys_readsys_close |
| 4107 | func osp_ppath(out: *u8, pid: i64, leaf: *u8) -> i64 |
| 4119 | func osp_list_pids(pids: *i64, cap: i64) -> i64 |
| 4148 | func osp_fd_count_from_fd_result(fd: i64, cause: *i64) -> i64 |
| 4174 | func osp_fd_count_from_fd(fd: i64) -> i64 |
| 4177 | func osp_fd_count(pid: i64) -> i64 |
| 4189 | func osp_stat_field(pid: i64, fidx: i64) -> i64 |
| 4212 | func osp_ppid(pid: i64) -> i64 { return osp_stat_field(pid, OSP_F_PPID) } calls 1: osp_stat_field |
| 4213 | func osp_starttime_ticks(pid: i64) -> i64 { return osp_stat_field(pid, OSP_F_START) } calls 1: osp_stat_field |
| 4217 | func osp_cpu_ticks(pid: i64) -> i64 calls 1: osp_stat_field |
| 4225 | func osp_cmd_argv0(pid: i64, out: *u8, cap: i64) -> i64 |
| 4238 | func osp_hz() -> i64 { return OSP_HZ_LINUX } |
| 4241 | func osp_supervisor_log() -> *u8 { return "/tmp/supervisor.log" as *u8 } |
| 4242 | func osp_uptime_s() -> i64 { let ts: *i64 = sys_mmap(16) as *i64; sys_clock_gettime_mono(ts); return ts[0] } |
| 4243 | func osp_selfpid() -> i64 |
| 4251 | func osp_boot_epoch() -> i64 |
| 4287 | func osp_stat_parent(buf: *u8, n: i64) -> i64 called by 1: osp_children |
| 4302 | func osp_children(parent: i64, children: *i64, capacity: i64) -> i64 |
| 4375 | func fsx_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 4380 | func fsx_putn(v: i64) -> i64 { nxi_out(v); return 0 } |
| 4382 | func fsx_lower(s: *u8, out: *u8, cap: i64) -> i64 |
| 4395 | func fsx_seq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } if b[i] != (0 as u8) { return 0 } return 1 } |
| 4406 | func fsx_cas_val(tok: *u8) -> *u8 called by 1: fsx_cas_ok |
| 4414 | func fsx_cas_ok(cur: i64, tok: *u8) -> i64 |
| 4430 | func fsx_deny_hit(lp: *u8, ln: i64, needle: *u8) -> i64 |
| 4437 | func fsx_conf_deny(lp: *u8, ln: i64, conf: *u8) -> i64 |
| 4460 | func fsx_isalnum(c: i64) -> i64 called by 1: fsx_word_has |
| 4467 | func fsx_ends_with(lp: *u8, ln: i64, suf: *u8) -> i64 |
| 4479 | func fsx_basename_is(lp: *u8, ln: i64, name: *u8) -> i64 |
| 4493 | func fsx_word_has(lp: *u8, ln: i64, w: *u8) -> i64 |
| 4518 | func fsx_content_secret(path: *u8) -> i64 |
| 4550 | func fsx_denied(path: *u8) -> i64 |
| 4594 | func fsx_fail(path: *u8, rc: i64) -> i64 called by 5: fsx_readfsx_read_atfsx_read_linesfsx_tailfsx_ls_from calls 3: sys_closefsx_putsfsx_putn |
| 4622 | func fsx_size(path: *u8) -> i64 |
| 4646 | func fsx_read(path: *u8, cap: i64) -> i64 |
| 4668 | func fsx_read_at(path: *u8, cap: i64, off: i64) -> i64 |
| 4705 | func fsx_read_lines(path: *u8, start: i64, count: i64) -> i64 |
| 4786 | func fsx_tail(path: *u8, count: i64) -> i64 |
| 4866 | func fsx_write_denied(path: *u8) -> i64 |
| 4891 | func fsx_tail_unterminated(path: *u8) -> i64 |
| 4905 | func fsx_append(path: *u8, body: *u8, blen: i64) -> i64 |
| 4936 | func fsx_write(path: *u8, body: *u8, blen: i64) -> i64 |
| 4991 | func fsx_count_occ(hay: *u8, hn: i64, nee: *u8, nl: i64) -> i64 |
| 5004 | func fsx_replace(hay: *u8, hn: i64, nee: *u8, nl: i64, rep: *u8, rl: i64, out: *u8, ocap: i64, allf: i64) -> i64 called by 1: fsx_edit |
| 5038 | func fsx_edit(path: *u8, olds: *u8, news: *u8, allf: i64) -> i64 |
| 5109 | func fsx_edit_self_anchored(olds: *u8, news: *u8) -> i64 |
| 5124 | func fsx_ls(dir: *u8) -> i64 { return fsx_ls_from(dir, 0) } calls 1: fsx_ls_from |
| 5126 | func fsx_ls_from(dir: *u8, skip: i64) -> i64 |
| 5201 | func fsx_find(buf: *u8, n: i64, needle: *u8) -> i64 |
| 5216 | func fsx_kv_int(buf: *u8, n: i64, key: *u8) -> i64 |
| 5234 | func fsx_job_id_ok(id: *u8) -> i64 called by 1: fsx_job_at |
| 5247 | func fsx_job_path(dir: *u8, id: *u8, sfx: *u8, out: *u8) -> i64 called by 1: fsx_job_at |
| 5263 | func fsx_job_at(dir: *u8, id: *u8) -> i64 |
| 5303 | func fsx_job(id: *u8) -> i64 { return fsx_job_at(FSX_JOB_DIR, id) } calls 1: fsx_job_at |
| 5314 | func fxc_create(path: *u8, body: *u8, n: i64) -> i64 |
| 5361 | func gpa_u32(c: *GpaWasmCursor) -> i64 |
| 5375 | func gpa_wasm_header(data: *u8,n: i64) -> i64 calls 1: gpa_same |
| 5380 | func gpa_wasm_name(c: *GpaWasmCursor,name: *u8) -> i64 |
| 5389 | func gpa_memory_section(data: *u8,n: i64,shared: i64,m: *GpaMemory) -> i64 |
| 5412 | func gpa_body_section(c: *GpaWa |