diff options
Diffstat (limited to 'include/winapi/process_io.hpp')
-rw-r--r-- | include/winapi/process_io.hpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/winapi/process_io.hpp b/include/winapi/process_io.hpp index 805ada8..9df145c 100644 --- a/include/winapi/process_io.hpp +++ b/include/winapi/process_io.hpp @@ -21,27 +21,43 @@ struct Stream { Handle handle; }; +/** @brief Redirect child process's stdin. */ struct Stdin : Stream { + /** No redirection. */ Stdin(); + /** Make child process read form a file. */ explicit Stdin(const std::string& file); + /** @overload */ explicit Stdin(const CanonicalPath& file); + /** Make child process read form a pipe. */ explicit Stdin(Pipe&); }; +/** @brief Redirect child process's stdout. */ struct Stdout : Stream { + /** No redirection. */ Stdout(); + /** Redirect child process's stdout to a file. */ explicit Stdout(const std::string& file); + /** @overload */ explicit Stdout(const CanonicalPath& file); + /** Redirect child process's stdout to a pipe. */ explicit Stdout(Pipe&); }; +/** @brief Redirect child process's stderr. */ struct Stderr : Stream { + /** No redirection. */ Stderr(); + /** Redirect child process's stderr to a file. */ explicit Stderr(const std::string& file); + /** @overload */ explicit Stderr(const CanonicalPath& file); + /** Redirect child process's stderr to a pipe. */ explicit Stderr(Pipe&); }; +/** @brief Child process IO settings. */ struct IO { IO() = default; |