wasmer/lib/emscripten/src/README.md

533 lines
12 KiB
Markdown

## 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_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