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

Function trace_preadv

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

Source from the content-addressed store, hash-verified

143#[ensures(ctx_safe(ctx))]
144#[ensures(trace_safe(trace, ctx))]
145pub fn trace_preadv(
146 ctx: &mut VmCtx,
147 fd: HostFd,
148 iovs: &WasmIoVecs,
149 iovcnt: usize,
150 offset: usize,
151) -> RuntimeResult<usize> {
152 let native_iovs = ctx.translate_iovs(iovs);
153 // native_iovs
154 let os_fd: usize = fd.to_raw();
155 let r = os_preadv(os_fd, &native_iovs, iovcnt, offset);
156 RuntimeError::from_syscall_ret(r)
157}
158
159#[with_ghost_var(trace: &mut Trace)]
160#[requires(ctx.fits_in_lin_mem(ptr, cnt as u32, trace))]

Callers 1

wasi_fd_preadFunction · 0.85

Calls 2

translate_iovsMethod · 0.80
to_rawMethod · 0.80

Tested by

no test coverage detected