mirror of
https://github.com/fluencelabs/wasmer
synced 2024-12-14 06:35:40 +00:00
545 lines
12 KiB
Markdown
545 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_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
|