From f9a83294245759cba76de1e2b3b8b5886b305e79 Mon Sep 17 00:00:00 2001 From: Pat Hickey Date: Fri, 25 Oct 2019 05:23:26 -0700 Subject: [PATCH] WasiCtxBuilder: add methods to provide Files each for stdio (#147) --- src/ctx.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/ctx.rs b/src/ctx.rs index c56ee1f6ea..3f4d9d5cf9 100644 --- a/src/ctx.rs +++ b/src/ctx.rs @@ -96,6 +96,24 @@ impl WasiCtxBuilder { Ok(self) } + /// Provide a File to use as stdin + pub fn stdin(mut self, file: File) -> Result { + self.fds.insert(0, FdEntry::from(file)?); + Ok(self) + } + + /// Provide a File to use as stdout + pub fn stdout(mut self, file: File) -> Result { + self.fds.insert(1, FdEntry::from(file)?); + Ok(self) + } + + /// Provide a File to use as stderr + pub fn stderr(mut self, file: File) -> Result { + self.fds.insert(2, FdEntry::from(file)?); + Ok(self) + } + /// Add a preopened directory. pub fn preopened_dir>(mut self, dir: File, guest_path: P) -> Self { self.preopens.push((guest_path.as_ref().to_owned(), dir));