summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/strace/strace.proto
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/strace/strace.proto')
-rw-r--r--pkg/sentry/strace/strace.proto49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkg/sentry/strace/strace.proto b/pkg/sentry/strace/strace.proto
new file mode 100644
index 000000000..906c52c51
--- /dev/null
+++ b/pkg/sentry/strace/strace.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 The gVisor Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package gvisor;
+
+message Strace {
+ // Process name that made the syscall.
+ string process = 1;
+
+ // Syscall function name.
+ string function = 2;
+
+ // List of syscall arguments formatted as strings.
+ repeated string args = 3;
+
+ oneof info {
+ StraceEnter enter = 4;
+ StraceExit exit = 5;
+ }
+}
+
+message StraceEnter {}
+
+message StraceExit {
+ // Return value formatted as string.
+ string return = 1;
+
+ // Formatted error string in case syscall failed.
+ string error = 2;
+
+ // Value of errno upon syscall exit.
+ int64 err_no = 3; // errno is a macro and gets expanded :-(
+
+ // Time elapsed between syscall enter and exit.
+ int64 elapsed_ns = 4;
+}