wasmer/src/apis/emscripten
2018-11-26 12:48:39 -08:00
..
tests Added APIs to support conditional emscripten instantiation 2018-11-20 20:51:11 -08:00
env.rs Added a few more syscalls 2018-11-26 01:17:56 -05:00
errno.rs Add some syscalls 2018-11-24 18:07:45 +01:00
io.rs Segfault-based memory bounds-checking. (#29) 2018-11-26 00:02:59 -05:00
lock.rs Add some syscalls 2018-11-24 18:07:45 +01:00
memory.rs Segfault-based memory bounds-checking. (#29) 2018-11-26 00:02:59 -05:00
mod.rs Added emscripten syscall20 implementation 2018-11-26 12:48:39 -08:00
nullfunc.rs Add some syscalls 2018-11-24 18:07:45 +01:00
process.rs Add some syscalls 2018-11-24 18:07:45 +01:00
README.md Add some syscalls 2018-11-24 18:07:45 +01:00
storage.rs Hack together enough emscripten stack stuff to make it happy 2018-11-26 00:06:50 -05:00
syscalls.rs Added emscripten syscall20 implementation 2018-11-26 12:48:39 -08:00
time.rs Added _clock_gettime emscripten implementation 2018-11-26 12:28:20 -08:00
utils.rs Removed unused code 2018-11-21 21:07:01 -08:00
varargs.rs Segfault-based memory bounds-checking. (#29) 2018-11-26 00:02:59 -05:00

HOST APIS

EMSCRIPTEN APIS

PROCESS
  • _abort     🔝
    fn _abort()
    
  • abort 🔥     🔝
    fn abort(message: u32, instance: &mut Instance)
    
  • abort_on_cannot_grow_memory     🔝
    fn abort_on_cannot_grow_memory()
    
TIMING
  • _clock_gettime     🔝
    
    
ENVIRONMENT
  • _getenv     🔝
    
    
THREAD
  • _pthread_getspecific     🔝
    
    
  • _pthread_key_create     🔝
    
    
  • _pthread_setspecific     🔝
    
    
  • _unsetenv     🔝
    
    
  • ___lock     🔝
    
    
  • ___unlock     🔝
    
    
MEMORY
  • _emscripten_memcpy_big 🔥     🔝
    fn _emscripten_memcpy_big(dest: u32, src: u32, len: u32, instance: &mut Instance) -> u32
    
  • enlarge_memory     🔝
    fn enlarge_memory()
    
  • get_total_memory     🔝
    fn get_total_memory(instance: &mut Instance) -> u32
    
TIMING
  • _clock_gettime     🔝
    
    
STATUS
  • ___set_err_no     🔝
    
    

EMSCRIPTEN SYSCALLS

  • access (___syscall33)     🔝
    
    
  • acct (___syscall51)     🔝
    
    
  • chdir (___syscall12)     🔝
    
    
  • chmod (___syscall15)     🔝
    
    
  • chown (___syscall212)     🔝
    
    
  • clock_nanosleep (___syscall265)     🔝
    
    
  • close (___syscall6)     🔝
    fn close(fd: c_int) -> c_int
    
  • dup (___syscall330)     🔝
    
    
  • dup (___syscall41)     🔝
    
    
  • dup (___syscall63)     🔝
    
    
  • exit (___syscall1)     🔝
    fn exit(status: c_int)
    
  • faccessat (___syscall307)     🔝
    
    
  • fadvise (___syscall272)     🔝
    
    
  • fallocate (___syscall324)     🔝
    
    
  • fchdir (___syscall133)     🔝
    
    
  • fchmod (___syscall94)     🔝
    
    
  • fchmodat (___syscall306)     🔝
    
    
  • fchown (___syscall207)     🔝
    
    
  • fchownat (___syscall298)     🔝
    
    
  • fcntl (___syscall221)     🔝
    
    
  • fdatasync (___syscall148)     🔝
    
    
  • fstat (___syscall197)     🔝
    
    
  • fstatat (___syscall300)     🔝
    
    
  • fstatfs (___syscall269)     🔝
    
    
  • fsync (___syscall118)     🔝
    
    
  • ftruncate (___syscall194)     🔝
    
    
  • futimesat (___syscall299)     🔝
    
    
  • getcwd (___syscall183)     🔝
    
    
  • getdents (___syscall220)     🔝
    
    
  • getgid (___syscall202)     🔝
    
    
  • getgroups (___syscall205)     🔝
    
    
  • getpgid (___syscall132)     🔝
    
    
  • getpgrp (___syscall65)     🔝
    
    
  • getpid (___syscall20)     🔝
    
    
  • getppid (___syscall64)     🔝
    
    
  • getpriority (___syscall96)     🔝
    
    
  • getresgid (___syscall211)     🔝
    
    
  • getrusage (___syscall77)     🔝
    
    
  • getsid (___syscall147)     🔝
    
    
  • ioctl (___syscall54)     🔝
    
    
  • lchown (___syscall198)     🔝
    
    
  • link (___syscall9)     🔝
    
    
  • linkat (___syscall303)     🔝
    
    
  • llseek (___syscall140)     🔝
    
    
  • lstat (___syscall196)     🔝
    
    
  • madvise (___syscall219)     🔝
    
    
  • mincore (___syscall218)     🔝
    
    
  • mkdir (___syscall39)     🔝
    
    
  • mkdirat (___syscall296)     🔝
    
    
  • mknod (___syscall14)     🔝
    
    
  • mknodat (___syscall297)     🔝
    
    
  • mmap (___syscall192)     🔝
    
    
  • mprotect (___syscall125)     🔝
    
    
  • mremap (___syscall163)     🔝
    
    
  • msync (___syscall144)     🔝
    
    
  • munlockall (___syscall153)     🔝
    
    
  • munmap (___syscall91)     🔝
    
    
  • newselect (___syscall142)     🔝
    
    
  • nice (___syscall34)     🔝
    
    
  • open (___syscall5) 🔥     🔝
    fn open(path: u32, flags: c_int, mode: c_int, instance: &mut Instance) -> c_int
    
  • openat (___syscall295)     🔝
    
    
  • pause (___syscall29)     🔝
    
    
  • pipe (___syscall331)     🔝
    
    
  • pipe (___syscall42)     🔝
    
    
  • poll (___syscall168)     🔝
    
    
  • pread (___syscall180)     🔝
    
    
  • preadv (___syscall333)     🔝
    
    
  • prlimit (___syscall340)     🔝
    
    
  • pselect (___syscall308)     🔝
    
    
  • pwrite (___syscall181)     🔝
    
    
  • pwritev (___syscall334)     🔝
    
    
  • read (___syscall3)     🔝
    fn read(fd: c_int, buf: u32, count: size_t, instance: &mut Instance) -> ssize_t
    
  • readlink (___syscall85)     🔝
    
    
  • readlinkat (___syscall305)     🔝
    
    
  • readv (___syscall145)     🔝
    
    
  • recvmmsg (___syscall337)     🔝
    
    
  • rename (___syscall38)     🔝
    
    
  • renameat (___syscall302)     🔝
    
    
  • rmdir (___syscall40)     🔝
    
    
  • rt_sigqueueinfo (___syscall178)     🔝
    
    
  • sendmmsg (___syscall345)     🔝
    
    
  • setdomainname (___syscall121)     🔝
    
    
  • setgid (___syscall214)     🔝
    
    
  • setitimer (___syscall104)     🔝
    
    
  • setpgid (___syscall57)     🔝
    
    
  • setpriority (___syscall97)     🔝
    
    
  • setresgid (___syscall210)     🔝
    
    
  • setrlimit (___syscall75)     🔝
    
    
  • setsid (___syscall66)     🔝
    
    
  • socketcall (___syscall102)     🔝
    
    
  • stat (___syscall195)     🔝
    
    
  • statfs (___syscall268)     🔝
    
    
  • symlink (___syscall83)     🔝
    
    
  • symlinkat (___syscall304)     🔝
    
    
  • sync (___syscall36)     🔝
    
    
  • truncate (___syscall193)     🔝
    
    
  • ugetrlimit (___syscall191)     🔝
    
    
  • umask (___syscall60)     🔝
    
    
  • uname (___syscall122)     🔝
    
    
  • unlink (___syscall10)     🔝
    
    
  • unlinkat (___syscall301)     🔝
    
    
  • utimensat (___syscall320)     🔝
    
    
  • wait (___syscall114)     🔝
    
    
  • write (___syscall4)     🔝
    
    
  • writev (___syscall146)     🔝
    
    

LEGEND     🔝

- Implemented

- Elevated privilege

🔥 - Possible memory access violation

📥 - Access to external memory

📝 - External write to internal memory