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 let bridge = if let Some(t) = env.tty() {
13 t
14 } else {
15 return Errno::Notsup;
16 };
17
18 let state = bridge.tty_get();
19 let state = Tty {
20 cols: state.cols,
21 rows: state.rows,
22 width: state.width,
23 height: state.height,
24 stdin_tty: state.stdin_tty,
25 stdout_tty: state.stdout_tty,
26 stderr_tty: state.stderr_tty,
27 echo: state.echo,
28 line_buffered: state.line_buffered,
29 };
30
31 let memory = unsafe { env.memory_view(&ctx) };
32 wasi_try_mem!(tty_state.write(&memory, state));
33
34 Errno::Success
35}