wasmer_wasix/syscalls/wasix/
sock_addr_peer.rs1use super::*;
2use crate::syscalls::*;
3
4#[instrument(level = "trace", skip_all, fields(%sock, addr = field::Empty), ret)]
16pub fn sock_addr_peer<M: MemorySize>(
17 mut ctx: FunctionEnvMut<'_, WasiEnv>,
18 sock: WasiFd,
19 ro_addr: WasmPtr<__wasi_addr_port_t, M>,
20) -> Errno {
21 let addr = wasi_try!(__sock_actor(
22 &mut ctx,
23 sock,
24 Rights::empty(),
25 |socket, _| socket.addr_peer()
26 ));
27 Span::current().record("addr", format!("{addr:?}"));
28
29 let env = ctx.data();
30 let memory = unsafe { env.memory_view(&ctx) };
31 wasi_try!(crate::net::write_ip_port(
32 &memory,
33 ro_addr,
34 addr.ip(),
35 addr.port()
36 ));
37 Errno::Success
38}