aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/winapi/process_io.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/winapi/process_io.hpp')
-rw-r--r--include/winapi/process_io.hpp16
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;