MCPcopy Create free account
hub / github.com/PLSysSec/wave / trace_send

Function trace_send

src/os/mod.rs:587–598  ·  view source on GitHub ↗

#[ensures(effects!(old(trace), trace, effect!(FdAccess), effect!(ReadMem, addr, count)))]

(
    ctx: &mut VmCtx,
    fd: HostFd,
    ptr: SboxPtr,
    cnt: usize,
    flags: i32,
)

Source from the content-addressed store, hash-verified

585#[ensures(trace_safe(trace, ctx))]
586// #[ensures(effects!(old(trace), trace, effect!(FdAccess), effect!(ReadMem, addr, count)))]
587pub fn trace_send(
588 ctx: &mut VmCtx,
589 fd: HostFd,
590 ptr: SboxPtr,
591 cnt: usize,
592 flags: i32,
593) -> RuntimeResult<usize> {
594 let slice = ctx.slice_mem_mut(ptr, cnt as u32);
595 let os_fd: usize = fd.to_raw();
596 let r = os_sendto(os_fd, slice, cnt, flags, 0, 0);
597 RuntimeError::from_syscall_ret(r)
598}
599
600#[with_ghost_var(trace: &mut Trace)]
601#[requires(ctx_safe(ctx))]

Callers 1

wasi_sock_sendFunction · 0.85

Calls 2

slice_mem_mutMethod · 0.80
to_rawMethod · 0.80

Tested by

no test coverage detected