Index: mojo/public/c/bindings/interface.h |
diff --git a/mojo/public/c/bindings/interface.h b/mojo/public/c/bindings/interface.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7fe5d9d3ec2726e1a57d617910af953286926e65 |
--- /dev/null |
+++ b/mojo/public/c/bindings/interface.h |
@@ -0,0 +1,28 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MOJO_PUBLIC_C_BINDINGS_INTERFACE_H_ |
+#define MOJO_PUBLIC_C_BINDINGS_INTERFACE_H_ |
+ |
+#include <stdint.h> |
+ |
+#include "mojo/public/c/system/handle.h" |
+#include "mojo/public/c/system/macros.h" |
+ |
+MOJO_BEGIN_EXTERN_C |
+ |
+// |MojomInterfaceData| represents a handle to an interface; in particular, this |
+// is the client side of the interface where messages are sent and responses are |
+// received. When encoded, |handle| represents the index into an array of |
+// handles. The encoded version of an invalid handle is '-1' of MojoHandle type. |
+struct MojomInterfaceData { |
+ MojoHandle handle; |
+ uint32_t version; |
+}; |
+MOJO_STATIC_ASSERT(sizeof(struct MojomInterfaceData) == 8, |
+ "struct MojomInterfaceData must be 8 bytes."); |
+ |
+MOJO_END_EXTERN_C |
+ |
+#endif // MOJO_PUBLIC_C_BINDINGS_INTERFACE_H_ |