## HOST APIS #### EMSCRIPTEN APIS ###### PROCESS - **\_abort** ✅     [:top:](#host-apis) ```rust fn _abort() ``` - **abort** ✅ 🔥     [:top:](#host-apis) ```rust fn abort(ctx: &mut Ctx, message: u32, ) ``` - **abort_on_cannot_grow_memory** ✅     [:top:](#host-apis) ```rust fn abort_on_cannot_grow_memory() ``` ###### TIMING - **\_clock_gettime**     [:top:](#host-apis) ```rust ``` ###### ENVIRONMENT - **\_getenv** ✅     [:top:](#host-apis) ```rust fn _getenv(ctx: &mut Ctx, name: c_int, ) ``` - **\_putenv** ✅     [:top:](#host-apis) ```rust fn _putenv(ctx: &mut Ctx, name: c_int, ) ``` - **\_setenv** ✅     [:top:](#host-apis) ```rust fn _setenv(name: c_int, value: c_int, overwrite: c_int, instance: &mut Instance ``` - **\_unsetenv** ✅     [:top:](#host-apis) ```rust fn _unsetenv(ctx: &mut Ctx, name: c_int, ) ``` ###### THREAD - **\_pthread_getspecific**     [:top:](#host-apis) ```rust ``` - **\_pthread_key_create**     [:top:](#host-apis) ```rust ``` - **\_pthread_rwlock_destroy**     [:top:](#host-apis) ```rust ``` - **\_pthread_rwlock_init**     [:top:](#host-apis) ```rust ``` - **\_pthread_rwlock_wrlock**     [:top:](#host-apis) ```rust ``` - **\_pthread_setspecific**     [:top:](#host-apis) ```rust ``` - **\_\_\_lock**     [:top:](#host-apis) ```rust ``` - **\_\_\_unlock**     [:top:](#host-apis) ```rust ``` ###### MEMORY - **\_emscripten_memcpy_big** ✅ 🔥     [:top:](#host-apis) ```rust fn _emscripten_memcpy_big(ctx: &mut Ctx, dest: u32, src: u32, len: u32, ) -> u32 ``` - **enlarge_memory** ✅     [:top:](#host-apis) ```rust fn enlarge_memory() ``` - **get_total_memory** ✅     [:top:](#host-apis) ```rust fn get_total_memory(ctx: &mut Ctx, ) -> u32 ``` ###### TIMING - **\_clock_gettime**     [:top:](#host-apis) ```rust ``` ###### STATUS - **\_\_\_set_err_no**     [:top:](#host-apis) ```rust ``` --- #### EMSCRIPTEN SYSCALLS - **access** (\_\_\_syscall33)     [:top:](#host-apis) ```rust ``` - **acct** (\_\_\_syscall51)     [:top:](#host-apis) ```rust ``` - **chdir** (\_\_\_syscall12)     [:top:](#host-apis) ```rust ``` - **chmod** (\_\_\_syscall15)     [:top:](#host-apis) ```rust ``` - **chown** (\_\_\_syscall212)     [:top:](#host-apis) ```rust ``` - **clock_nanosleep** (\_\_\_syscall265)     [:top:](#host-apis) ```rust ``` - **close** (\_\_\_syscall6) ✅ ❗️     [:top:](#host-apis) ```rust fn close(fd: c_int) -> c_int ``` - **dup** (\_\_\_syscall330)     [:top:](#host-apis) ```rust ``` - **dup** (\_\_\_syscall41)     [:top:](#host-apis) ```rust ``` - **dup2** (\_\_\_syscall63)     [:top:](#host-apis) ```rust ``` - **exit** (\_\_\_syscall1) ✅     [:top:](#host-apis) ```rust fn exit(status: c_int) ``` - **faccessat** (\_\_\_syscall307)     [:top:](#host-apis) ```rust ``` - **fadvise** (\_\_\_syscall272)     [:top:](#host-apis) ```rust ``` - **fallocate** (\_\_\_syscall324)     [:top:](#host-apis) ```rust ``` - **fchdir** (\_\_\_syscall133)     [:top:](#host-apis) ```rust ``` - **fchmod** (\_\_\_syscall94)     [:top:](#host-apis) ```rust ``` - **fchmodat** (\_\_\_syscall306)     [:top:](#host-apis) ```rust ``` - **fchown** (\_\_\_syscall207)     [:top:](#host-apis) ```rust ``` - **fchownat** (\_\_\_syscall298)     [:top:](#host-apis) ```rust ``` - **fcntl** (\_\_\_syscall221)     [:top:](#host-apis) ```rust ``` - **fdatasync** (\_\_\_syscall148)     [:top:](#host-apis) ```rust ``` - **fstat** (\_\_\_syscall197)     [:top:](#host-apis) ```rust ``` - **fstatat** (\_\_\_syscall300)     [:top:](#host-apis) ```rust ``` - **fstatfs** (\_\_\_syscall269)     [:top:](#host-apis) ```rust ``` - **fsync** (\_\_\_syscall118)     [:top:](#host-apis) ```rust ``` - **ftruncate** (\_\_\_syscall194)     [:top:](#host-apis) ```rust ``` - **futimesat** (\_\_\_syscall299)     [:top:](#host-apis) ```rust ``` - **getcwd** (\_\_\_syscall183)     [:top:](#host-apis) ```rust ``` - **getdents** (\_\_\_syscall220)     [:top:](#host-apis) ```rust ``` - **getgid** (\_\_\_syscall202)     [:top:](#host-apis) ```rust ``` - **getgroups** (\_\_\_syscall205)     [:top:](#host-apis) ```rust ``` - **getpgid** (\_\_\_syscall132)     [:top:](#host-apis) ```rust ``` - **getpgrp** (\_\_\_syscall65)     [:top:](#host-apis) ```rust ``` - **getpid** (\_\_\_syscall20)     [:top:](#host-apis) ```rust ``` - **getppid** (\_\_\_syscall64)     [:top:](#host-apis) ```rust ``` - **getpriority** (\_\_\_syscall96)     [:top:](#host-apis) ```rust ``` - **getresgid** (\_\_\_syscall211)     [:top:](#host-apis) ```rust ``` - **getrusage** (\_\_\_syscall77)     [:top:](#host-apis) ```rust ``` - **getsid** (\_\_\_syscall147)     [:top:](#host-apis) ```rust ``` - **ioctl** (\_\_\_syscall54)     [:top:](#host-apis) ```rust ``` - **lchown** (\_\_\_syscall198)     [:top:](#host-apis) ```rust ``` - **link** (\_\_\_syscall9)     [:top:](#host-apis) ```rust ``` - **linkat** (\_\_\_syscall303)     [:top:](#host-apis) ```rust ``` - **llseek** (\_\_\_syscall140)     [:top:](#host-apis) ```rust ``` - **lstat** (\_\_\_syscall196)     [:top:](#host-apis) ```rust ``` - **madvise** (\_\_\_syscall219)     [:top:](#host-apis) ```rust ``` - **mincore** (\_\_\_syscall218)     [:top:](#host-apis) ```rust ``` - **mkdir** (\_\_\_syscall39)     [:top:](#host-apis) ```rust ``` - **mkdirat** (\_\_\_syscall296)     [:top:](#host-apis) ```rust ``` - **mknod** (\_\_\_syscall14)     [:top:](#host-apis) ```rust ``` - **mknodat** (\_\_\_syscall297)     [:top:](#host-apis) ```rust ``` - **mmap** (\_\_\_syscall192)     [:top:](#host-apis) ```rust ``` - **mprotect** (\_\_\_syscall125)     [:top:](#host-apis) ```rust ``` - **mremap** (\_\_\_syscall163)     [:top:](#host-apis) ```rust ``` - **msync** (\_\_\_syscall144)     [:top:](#host-apis) ```rust ``` - **munlockall** (\_\_\_syscall153)     [:top:](#host-apis) ```rust ``` - **munmap** (\_\_\_syscall91)     [:top:](#host-apis) ```rust ``` - **newselect** (\_\_\_syscall142)     [:top:](#host-apis) ```rust ``` - **nice** (\_\_\_syscall34)     [:top:](#host-apis) ```rust ``` - **open** (\_\_\_syscall5) ✅ ❗️ 🔥     [:top:](#host-apis) ```rust fn open(ctx: &mut Ctx, path: u32, flags: c_int, mode: c_int, ) -> c_int ``` - **openat** (\_\_\_syscall295)     [:top:](#host-apis) ```rust ``` - **pause** (\_\_\_syscall29)     [:top:](#host-apis) ```rust ``` - **pipe** (\_\_\_syscall331)     [:top:](#host-apis) ```rust ``` - **pipe** (\_\_\_syscall42)     [:top:](#host-apis) ```rust ``` - **poll** (\_\_\_syscall168)     [:top:](#host-apis) ```rust ``` - **pread** (\_\_\_syscall180)     [:top:](#host-apis) ```rust ``` - **preadv** (\_\_\_syscall333)     [:top:](#host-apis) ```rust ``` - **prlimit** (\_\_\_syscall340)     [:top:](#host-apis) ```rust ``` - **pselect** (\_\_\_syscall308)     [:top:](#host-apis) ```rust ``` - **pwrite** (\_\_\_syscall181)     [:top:](#host-apis) ```rust ``` - **pwritev** (\_\_\_syscall334)     [:top:](#host-apis) ```rust ``` - **read** (\_\_\_syscall3) ✅ ❗️     [:top:](#host-apis) ```rust fn read(ctx: &mut Ctx, fd: c_int, buf: u32, count: size_t, ) -> ssize_t ``` - **readlink** (\_\_\_syscall85)     [:top:](#host-apis) ```rust ``` - **readlinkat** (\_\_\_syscall305)     [:top:](#host-apis) ```rust ``` - **readv** (\_\_\_syscall145)     [:top:](#host-apis) ```rust ``` - **recvmmsg** (\_\_\_syscall337)     [:top:](#host-apis) ```rust ``` - **rename** (\_\_\_syscall38)     [:top:](#host-apis) ```rust ``` - **renameat** (\_\_\_syscall302)     [:top:](#host-apis) ```rust ``` - **rmdir** (\_\_\_syscall40)     [:top:](#host-apis) ```rust ``` - **rt_sigqueueinfo** (\_\_\_syscall178)     [:top:](#host-apis) ```rust ``` - **sendmmsg** (\_\_\_syscall345)     [:top:](#host-apis) ```rust ``` - **setdomainname** (\_\_\_syscall121)     [:top:](#host-apis) ```rust ``` - **setgid** (\_\_\_syscall214)     [:top:](#host-apis) ```rust ``` - **setitimer** (\_\_\_syscall104)     [:top:](#host-apis) ```rust ``` - **setpgid** (\_\_\_syscall57)     [:top:](#host-apis) ```rust ``` - **setpriority** (\_\_\_syscall97)     [:top:](#host-apis) ```rust ``` - **setresgid** (\_\_\_syscall210)     [:top:](#host-apis) ```rust ``` - **setrlimit** (\_\_\_syscall75)     [:top:](#host-apis) ```rust ``` - **setsid** (\_\_\_syscall66)     [:top:](#host-apis) ```rust ``` - **socketcall** (\_\_\_syscall102)     [:top:](#host-apis) ```rust ``` - **stat** (\_\_\_syscall195)     [:top:](#host-apis) ```rust ``` - **statfs** (\_\_\_syscall268)     [:top:](#host-apis) ```rust ``` - **symlink** (\_\_\_syscall83)     [:top:](#host-apis) ```rust ``` - **symlinkat** (\_\_\_syscall304)     [:top:](#host-apis) ```rust ``` - **sync** (\_\_\_syscall36)     [:top:](#host-apis) ```rust ``` - **truncate** (\_\_\_syscall193)     [:top:](#host-apis) ```rust ``` - **ugetrlimit** (\_\_\_syscall191)     [:top:](#host-apis) ```rust ``` - **umask** (\_\_\_syscall60)     [:top:](#host-apis) ```rust ``` - **uname** (\_\_\_syscall122)     [:top:](#host-apis) ```rust ``` - **unlink** (\_\_\_syscall10)     [:top:](#host-apis) ```rust ``` - **unlinkat** (\_\_\_syscall301)     [:top:](#host-apis) ```rust ``` - **utimensat** (\_\_\_syscall320)     [:top:](#host-apis) ```rust ``` - **wait** (\_\_\_syscall114)     [:top:](#host-apis) ```rust ``` - **write** (\_\_\_syscall4)     [:top:](#host-apis) ```rust ``` - **writev** (\_\_\_syscall146)     [:top:](#host-apis) ```rust ``` ### LEGEND     [:top:](#host-apis) ✅ - Implemented ❗️ - Elevated privilege 🔥 - Possible memory access violation 📥 - Access to external memory 📝 - External write to internal memory