summaryrefslogtreecommitdiff
path: root/src/msg.fbs
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2018-11-15 20:07:40 -0800
committerRyan Dahl <ry@tinyclouds.org>2018-11-16 12:07:40 +0800
commit48bf4062e4359674e1a417100eb76a6347e77fc1 (patch)
treee52f2c6c63a2afcdf2d5efc059e43c7f55f2c653 /src/msg.fbs
parent9b702da9e53b6efbc7a333380bcfb3d57733730e (diff)
First pass at running subprocesses (#1156)
Diffstat (limited to 'src/msg.fbs')
-rw-r--r--src/msg.fbs37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/msg.fbs b/src/msg.fbs
index 2a9c013a3..d6bbc220e 100644
--- a/src/msg.fbs
+++ b/src/msg.fbs
@@ -53,6 +53,10 @@ union Any {
CwdRes,
Metrics,
MetricsRes,
+ Run,
+ RunRes,
+ RunStatus,
+ RunStatusRes
}
enum ErrorKind: byte {
@@ -78,8 +82,8 @@ enum ErrorKind: byte {
WriteZero,
Other,
UnexpectedEof,
-
BadResource,
+ CommandFailed,
// url errors
@@ -413,4 +417,35 @@ table MetricsRes {
bytes_received: uint64;
}
+enum ProcessStdio: byte { Inherit, Piped, Null }
+
+table Run {
+ args: [string];
+ cwd: string;
+ stdin: ProcessStdio;
+ stdout: ProcessStdio;
+ stderr: ProcessStdio;
+}
+
+table RunRes {
+ rid: uint32;
+ pid: uint32;
+ // The following stdio rids are only valid if "Piped" was specified for the
+ // corresponding stdio stream. The caller MUST issue a close op for all valid
+ // stdio streams.
+ stdin_rid: uint32;
+ stdout_rid: uint32;
+ stderr_rid: uint32;
+}
+
+table RunStatus {
+ rid: uint32;
+}
+
+table RunStatusRes {
+ got_signal: bool;
+ exit_code: int;
+ exit_signal: int;
+}
+
root_type Base;