wasmer_wasix/syscalls/wasix/
tty_get.rs1use super::*;
2use crate::syscalls::*;
3
4#[instrument(level = "trace", skip_all, ret)]
7pub fn tty_get<M: MemorySize>(
8 ctx: FunctionEnvMut<'_, WasiEnv>,
9 tty_state: WasmPtr<Tty, M>,
10) -> Errno {
11 let env = ctx.data();
12
13 let env = ctx.data();
14 let bridge = if let Some(t) = env.runtime.tty() {
15 t
16 } else {
17 return Errno::Notsup;
18 };
19
20 let state = bridge.tty_get();
21 let state = Tty {
22 cols: state.cols,
23 rows: state.rows,
24 width: state.width,
25 height: state.height,
26 stdin_tty: state.stdin_tty,
27 stdout_tty: state.stdout_tty,
28 stderr_tty: state.stderr_tty,
29 echo: state.echo,
30 line_buffered: state.line_buffered,
31 };
32
33 let memory = unsafe { env.memory_view(&ctx) };
34 wasi_try_mem!(tty_state.write(&memory, state));
35
36 Errno::Success
37}