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

Function trace_pwritev

src/os/mod.rs:222–234  ·  view source on GitHub ↗
(
    ctx: &mut VmCtx,
    fd: HostFd,
    iovs: &WasmIoVecs,
    iovcnt: usize,
    offset: usize,
)

Source from the content-addressed store, hash-verified

220#[ensures(ctx_safe(ctx))]
221#[ensures(trace_safe(trace, ctx))]
222pub fn trace_pwritev(
223 ctx: &mut VmCtx,
224 fd: HostFd,
225 iovs: &WasmIoVecs,
226 iovcnt: usize,
227 offset: usize,
228) -> RuntimeResult<usize> {
229 let native_iovs = ctx.translate_iovs(iovs);
230 // native_iovs
231 let os_fd: usize = fd.to_raw();
232 let r = os_pwritev(os_fd, &native_iovs, iovcnt, offset);
233 RuntimeError::from_syscall_ret(r)
234}
235
236#[with_ghost_var(trace: &mut Trace)]
237#[requires(ctx.fits_in_lin_mem(ptr, cnt as u32, trace))]

Callers 1

wasi_fd_pwriteFunction · 0.85

Calls 2

translate_iovsMethod · 0.80
to_rawMethod · 0.80

Tested by

no test coverage detected