mirror of
https://github.com/fluencelabs/wasmer
synced 2025-06-23 13:41:32 +00:00
Improved formatting
This commit is contained in:
@ -87,7 +87,8 @@ pub extern "C" fn _getpwnam(name_ptr: c_int, ctx: &mut Ctx) -> c_int {
|
|||||||
let passwd = &*libc_getpwnam(name.as_ptr());
|
let passwd = &*libc_getpwnam(name.as_ptr());
|
||||||
let passwd_struct_offset = call_malloc(mem::size_of::<GuestPasswd>() as _, ctx);
|
let passwd_struct_offset = call_malloc(mem::size_of::<GuestPasswd>() as _, ctx);
|
||||||
|
|
||||||
let passwd_struct_ptr = emscripten_memory_pointer!(ctx.memory(0), passwd_struct_offset) as *mut GuestPasswd;
|
let passwd_struct_ptr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), passwd_struct_offset) as *mut GuestPasswd;
|
||||||
(*passwd_struct_ptr).pw_name = copy_cstr_into_wasm(ctx, passwd.pw_name);
|
(*passwd_struct_ptr).pw_name = copy_cstr_into_wasm(ctx, passwd.pw_name);
|
||||||
(*passwd_struct_ptr).pw_passwd = copy_cstr_into_wasm(ctx, passwd.pw_passwd);
|
(*passwd_struct_ptr).pw_passwd = copy_cstr_into_wasm(ctx, passwd.pw_passwd);
|
||||||
(*passwd_struct_ptr).pw_gecos = copy_cstr_into_wasm(ctx, passwd.pw_gecos);
|
(*passwd_struct_ptr).pw_gecos = copy_cstr_into_wasm(ctx, passwd.pw_gecos);
|
||||||
@ -121,7 +122,8 @@ pub extern "C" fn _getgrnam(name_ptr: c_int, ctx: &mut Ctx) -> c_int {
|
|||||||
let group = &*libc_getgrnam(name.as_ptr());
|
let group = &*libc_getgrnam(name.as_ptr());
|
||||||
let group_struct_offset = call_malloc(mem::size_of::<GuestGroup>() as _, ctx);
|
let group_struct_offset = call_malloc(mem::size_of::<GuestGroup>() as _, ctx);
|
||||||
|
|
||||||
let group_struct_ptr = emscripten_memory_pointer!(ctx.memory(0), group_struct_offset) as *mut GuestGroup;
|
let group_struct_ptr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), group_struct_offset) as *mut GuestGroup;
|
||||||
(*group_struct_ptr).gr_name = copy_cstr_into_wasm(ctx, group.gr_name);
|
(*group_struct_ptr).gr_name = copy_cstr_into_wasm(ctx, group.gr_name);
|
||||||
(*group_struct_ptr).gr_passwd = copy_cstr_into_wasm(ctx, group.gr_passwd);
|
(*group_struct_ptr).gr_passwd = copy_cstr_into_wasm(ctx, group.gr_passwd);
|
||||||
(*group_struct_ptr).gr_gid = group.gr_gid;
|
(*group_struct_ptr).gr_gid = group.gr_gid;
|
||||||
|
@ -6,5 +6,5 @@ macro_rules! debug {
|
|||||||
macro_rules! emscripten_memory_pointer {
|
macro_rules! emscripten_memory_pointer {
|
||||||
($memory:expr, $pointer:expr) => {
|
($memory:expr, $pointer:expr) => {
|
||||||
unsafe { $memory.as_ptr().add($pointer as usize) }
|
unsafe { $memory.as_ptr().add($pointer as usize) }
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
@ -374,13 +374,15 @@ pub extern "C" fn ___syscall102(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
"=> socket: {}, address: {:?}, address_len: {}",
|
"=> socket: {}, address: {:?}, address_len: {}",
|
||||||
socket, address, address_len
|
socket, address, address_len
|
||||||
);
|
);
|
||||||
let address_len_addr = emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
let address_len_addr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
||||||
// let mut address_len_addr: socklen_t = 0;
|
// let mut address_len_addr: socklen_t = 0;
|
||||||
|
|
||||||
let fd = unsafe { accept(socket, address, address_len_addr) };
|
let fd = unsafe { accept(socket, address, address_len_addr) };
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let address_linux = emscripten_memory_pointer!(ctx.memory(0), address_addr) as *mut LinuxSockAddr;
|
let address_linux =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), address_addr) as *mut LinuxSockAddr;
|
||||||
(*address_linux).sa_family = (*address).sa_family as u16;
|
(*address_linux).sa_family = (*address).sa_family as u16;
|
||||||
(*address_linux).sa_data = (*address).sa_data;
|
(*address_linux).sa_data = (*address).sa_data;
|
||||||
};
|
};
|
||||||
@ -401,7 +403,8 @@ pub extern "C" fn ___syscall102(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
let address: u32 = socket_varargs.get(ctx);
|
let address: u32 = socket_varargs.get(ctx);
|
||||||
let address_len: u32 = socket_varargs.get(ctx);
|
let address_len: u32 = socket_varargs.get(ctx);
|
||||||
let address = emscripten_memory_pointer!(ctx.memory(0), address) as *mut sockaddr;
|
let address = emscripten_memory_pointer!(ctx.memory(0), address) as *mut sockaddr;
|
||||||
let address_len_addr = emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
let address_len_addr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
||||||
unsafe { getsockname(socket, address, address_len_addr) }
|
unsafe { getsockname(socket, address, address_len_addr) }
|
||||||
}
|
}
|
||||||
7 => {
|
7 => {
|
||||||
@ -411,7 +414,8 @@ pub extern "C" fn ___syscall102(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
let address: u32 = socket_varargs.get(ctx);
|
let address: u32 = socket_varargs.get(ctx);
|
||||||
let address_len: u32 = socket_varargs.get(ctx);
|
let address_len: u32 = socket_varargs.get(ctx);
|
||||||
let address = emscripten_memory_pointer!(ctx.memory(0), address) as *mut sockaddr;
|
let address = emscripten_memory_pointer!(ctx.memory(0), address) as *mut sockaddr;
|
||||||
let address_len_addr = emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
let address_len_addr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
||||||
unsafe { getpeername(socket, address, address_len_addr) }
|
unsafe { getpeername(socket, address, address_len_addr) }
|
||||||
}
|
}
|
||||||
11 => {
|
11 => {
|
||||||
@ -438,7 +442,8 @@ pub extern "C" fn ___syscall102(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
let address_len: u32 = socket_varargs.get(ctx);
|
let address_len: u32 = socket_varargs.get(ctx);
|
||||||
let buf_addr = emscripten_memory_pointer!(ctx.memory(0), buf) as *mut c_void;
|
let buf_addr = emscripten_memory_pointer!(ctx.memory(0), buf) as *mut c_void;
|
||||||
let address = emscripten_memory_pointer!(ctx.memory(0), address) as *mut sockaddr;
|
let address = emscripten_memory_pointer!(ctx.memory(0), address) as *mut sockaddr;
|
||||||
let address_len_addr = emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
let address_len_addr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), address_len) as *mut socklen_t;
|
||||||
unsafe { recvfrom(socket, buf_addr, flags, len, address, address_len_addr) as i32 }
|
unsafe { recvfrom(socket, buf_addr, flags, len, address, address_len_addr) as i32 }
|
||||||
}
|
}
|
||||||
14 => {
|
14 => {
|
||||||
@ -473,7 +478,8 @@ pub extern "C" fn ___syscall102(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
let value: u32 = socket_varargs.get(ctx);
|
let value: u32 = socket_varargs.get(ctx);
|
||||||
let option_len: u32 = socket_varargs.get(ctx);
|
let option_len: u32 = socket_varargs.get(ctx);
|
||||||
let value_addr = emscripten_memory_pointer!(ctx.memory(0), value) as *mut c_void;
|
let value_addr = emscripten_memory_pointer!(ctx.memory(0), value) as *mut c_void;
|
||||||
let option_len_addr = emscripten_memory_pointer!(ctx.memory(0), option_len) as *mut socklen_t;
|
let option_len_addr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), option_len) as *mut socklen_t;
|
||||||
unsafe { getsockopt(socket, level, name, value_addr, option_len_addr) }
|
unsafe { getsockopt(socket, level, name, value_addr, option_len_addr) }
|
||||||
}
|
}
|
||||||
16 => {
|
16 => {
|
||||||
@ -610,8 +616,10 @@ pub extern "C" fn ___syscall145(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
let mut ret = 0;
|
let mut ret = 0;
|
||||||
unsafe {
|
unsafe {
|
||||||
for i in 0..iovcnt {
|
for i in 0..iovcnt {
|
||||||
let guest_iov_addr = emscripten_memory_pointer!(ctx.memory(0), (iov + i * 8)) as *mut GuestIovec;
|
let guest_iov_addr =
|
||||||
let iov_base = emscripten_memory_pointer!(ctx.memory(0), (*guest_iov_addr).iov_base) as *mut c_void;
|
emscripten_memory_pointer!(ctx.memory(0), (iov + i * 8)) as *mut GuestIovec;
|
||||||
|
let iov_base = emscripten_memory_pointer!(ctx.memory(0), (*guest_iov_addr).iov_base)
|
||||||
|
as *mut c_void;
|
||||||
let iov_len: usize = (*guest_iov_addr).iov_len as _;
|
let iov_len: usize = (*guest_iov_addr).iov_len as _;
|
||||||
// debug!("=> iov_addr: {:?}, {:?}", iov_base, iov_len);
|
// debug!("=> iov_addr: {:?}, {:?}", iov_base, iov_len);
|
||||||
let curr = read(fd, iov_base, iov_len);
|
let curr = read(fd, iov_base, iov_len);
|
||||||
@ -643,8 +651,10 @@ pub extern "C" fn ___syscall146(which: c_int, mut varargs: VarArgs, ctx: &mut Ct
|
|||||||
let mut ret = 0;
|
let mut ret = 0;
|
||||||
unsafe {
|
unsafe {
|
||||||
for i in 0..iovcnt {
|
for i in 0..iovcnt {
|
||||||
let guest_iov_addr = emscripten_memory_pointer!(ctx.memory(0), (iov + i * 8)) as *mut GuestIovec;
|
let guest_iov_addr =
|
||||||
let iov_base = emscripten_memory_pointer!(ctx.memory(0), (*guest_iov_addr).iov_base) as *const c_void;
|
emscripten_memory_pointer!(ctx.memory(0), (iov + i * 8)) as *mut GuestIovec;
|
||||||
|
let iov_base = emscripten_memory_pointer!(ctx.memory(0), (*guest_iov_addr).iov_base)
|
||||||
|
as *const c_void;
|
||||||
let iov_len: usize = (*guest_iov_addr).iov_len as _;
|
let iov_len: usize = (*guest_iov_addr).iov_len as _;
|
||||||
// debug!("=> iov_addr: {:?}, {:?}", iov_base, iov_len);
|
// debug!("=> iov_addr: {:?}, {:?}", iov_base, iov_len);
|
||||||
let curr = write(fd, iov_base, iov_len);
|
let curr = write(fd, iov_base, iov_len);
|
||||||
|
@ -73,7 +73,8 @@ pub extern "C" fn _clock_gettime(clk_id: libc::clockid_t, tp: c_int, ctx: &mut C
|
|||||||
};
|
};
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let timespec_struct_ptr = emscripten_memory_pointer!(ctx.memory(0), tp) as *mut GuestTimeSpec;
|
let timespec_struct_ptr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), tp) as *mut GuestTimeSpec;
|
||||||
(*timespec_struct_ptr).tv_sec = timespec.sec as _;
|
(*timespec_struct_ptr).tv_sec = timespec.sec as _;
|
||||||
(*timespec_struct_ptr).tv_nsec = timespec.nsec as _;
|
(*timespec_struct_ptr).tv_nsec = timespec.nsec as _;
|
||||||
}
|
}
|
||||||
@ -192,7 +193,8 @@ pub extern "C" fn _localtime(time_p: u32, ctx: &mut Ctx) -> c_int {
|
|||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
let tm_struct_offset = env::call_malloc(mem::size_of::<guest_tm>() as _, ctx);
|
let tm_struct_offset = env::call_malloc(mem::size_of::<guest_tm>() as _, ctx);
|
||||||
let tm_struct_ptr = emscripten_memory_pointer!(ctx.memory(0), tm_struct_offset) as *mut guest_tm;
|
let tm_struct_ptr =
|
||||||
|
emscripten_memory_pointer!(ctx.memory(0), tm_struct_offset) as *mut guest_tm;
|
||||||
// debug!(
|
// debug!(
|
||||||
// ">>>>>>> time = {}, {}, {}, {}, {}, {}, {}, {}",
|
// ">>>>>>> time = {}, {}, {}, {}, {}, {}, {}, {}",
|
||||||
// result_tm.tm_sec, result_tm.tm_min, result_tm.tm_hour, result_tm.tm_mday,
|
// result_tm.tm_sec, result_tm.tm_min, result_tm.tm_hour, result_tm.tm_mday,
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
use wasmer_runtime_core::{module::Module, vm::Ctx};
|
|
||||||
//use wasmer_runtime_core::Instance;
|
|
||||||
use super::env;
|
use super::env;
|
||||||
use super::env::get_emscripten_data;
|
use super::env::get_emscripten_data;
|
||||||
use libc::stat;
|
use libc::stat;
|
||||||
@ -7,6 +5,8 @@ use std::ffi::CStr;
|
|||||||
use std::mem::size_of;
|
use std::mem::size_of;
|
||||||
use std::os::raw::c_char;
|
use std::os::raw::c_char;
|
||||||
use std::slice;
|
use std::slice;
|
||||||
|
use wasmer_runtime_core::{module::Module, vm::Ctx};
|
||||||
|
|
||||||
/// We check if a provided module is an Emscripten generated one
|
/// We check if a provided module is an Emscripten generated one
|
||||||
pub fn is_emscripten_module(module: &Module) -> bool {
|
pub fn is_emscripten_module(module: &Module) -> bool {
|
||||||
for (_, import_name) in &module.0.imported_functions {
|
for (_, import_name) in &module.0.imported_functions {
|
||||||
|
@ -5,5 +5,5 @@ extern crate wasmer_runtime_core;
|
|||||||
mod macros;
|
mod macros;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
pub mod update;
|
pub mod update;
|
||||||
pub mod webassembly;
|
|
||||||
pub mod utils;
|
pub mod utils;
|
||||||
|
pub mod webassembly;
|
||||||
|
Reference in New Issue
Block a user