| 4665 | } |
| 4666 | |
| 4667 | function ___syscall192(which, varargs) {SYSCALLS.varargs = varargs; |
| 4668 | try { |
| 4669 | // mmap2 |
| 4670 | var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get() |
| 4671 | off <<= 12; // undo pgoffset |
| 4672 | var ptr; |
| 4673 | var allocated = false; |
| 4674 | if (fd === -1) { |
| 4675 | ptr = _memalign(PAGE_SIZE, len); |
| 4676 | if (!ptr) return -ERRNO_CODES.ENOMEM; |
| 4677 | _memset(ptr, 0, len); |
| 4678 | allocated = true; |
| 4679 | } else { |
| 4680 | var info = FS.getStream(fd); |
| 4681 | if (!info) return -ERRNO_CODES.EBADF; |
| 4682 | var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags); |
| 4683 | ptr = res.ptr; |
| 4684 | allocated = res.allocated; |
| 4685 | } |
| 4686 | SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, flags: flags }; |
| 4687 | return ptr; |
| 4688 | } catch (e) { |
| 4689 | if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); |
| 4690 | return -e.errno; |
| 4691 | } |
| 4692 | } |
| 4693 | |
| 4694 | function ___syscall194(which, varargs) {SYSCALLS.varargs = varargs; |
| 4695 | try { |