Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: mojo/public/go/system/impl/mojo_types.go

Issue 695583002: Update mojo sdk to rev e083961bf11fd0c94d40be8853761da529b6d444 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Patch in https://codereview.chromium.org/692823003 Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/go/system/impl/core_impl.go ('k') | mojo/public/interfaces/application/application.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/go/system/impl/mojo_types.go
diff --git a/mojo/public/go/system/impl/mojo_types.go b/mojo/public/go/system/impl/mojo_types.go
new file mode 100644
index 0000000000000000000000000000000000000000..9156a4594e5e680127324fd22204301cbb9366f9
--- /dev/null
+++ b/mojo/public/go/system/impl/mojo_types.go
@@ -0,0 +1,212 @@
+// Copyright 2014 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.
+
+package impl
+
+//#include "mojo/public/platform/native/system_thunks.h"
+//#include "mojo/public/c/system/main.h"
+import "C"
+import (
+ "math"
+ "unsafe"
+)
+
+// Go equivalent definitions of the various system types defined in Mojo.
+// mojo/public/c/system/types.h
+// mojo/public/c/system/data_pipe.h
+// mojo/public/c/system/message_pipe.h
+//
+type MojoTimeTicks int64
+type MojoHandle uint32
+type MojoResult int32
+type MojoDeadline uint64
+type MojoHandleSignals uint32
+type MojoWriteMessageFlags uint32
+type MojoReadMessageFlags uint32
+type MojoWriteDataFlags uint32
+type MojoReadDataFlags uint32
+type MojoCreateDataPipeOptionsFlags uint32
+type MojoCreateMessagePipeOptionsFlags uint32
+type MojoCreateSharedBufferOptionsFlags uint32
+type MojoDuplicateBufferHandleOptionsFlags uint32
+type MojoMapBufferFlags uint32
+
+const (
+ MOJO_DEADLINE_INDEFINITE MojoDeadline = math.MaxUint64
+ MOJO_HANDLE_INVALID MojoHandle = 0
+ MOJO_RESULT_OK MojoResult = 0
+ MOJO_RESULT_CANCELLED = -1
+ MOJO_RESULT_UNKNOWN = -2
+ MOJO_RESULT_INVALID_ARGUMENT = -3
+ MOJO_RESULT_DEADLINE_EXCEEDED = -4
+ MOJO_RESULT_NOT_FOUND = -5
+ MOJO_RESULT_ALREADY_EXISTS = -6
+ MOJO_RESULT_PERMISSION_DENIED = -7
+ MOJO_RESULT_RESOURCE_EXHAUSTED = -8
+ MOJO_RESULT_FAILED_PRECONDITION = -9
+ MOJO_RESULT_ABORTED = -10
+ MOJO_RESULT_OUT_OF_RANGE = -11
+ MOJO_RESULT_UNIMPLEMENTED = -12
+ MOJO_RESULT_INTERNAL = -13
+ MOJO_RESULT_UNAVAILABLE = -14
+ MOJO_RESULT_DATA_LOSS = -15
+ MOJO_RESULT_BUSY = -16
+ MOJO_RESULT_SHOULD_WAIT = -17
+
+ MOJO_HANDLE_SIGNAL_NONE MojoHandleSignals = 0
+ MOJO_HANDLE_SIGNAL_READABLE = 1 << 0
+ MOJO_HANDLE_SIGNAL_WRITABLE = 1 << 1
+
+ MOJO_WRITE_MESSAGE_FLAG_NONE MojoWriteMessageFlags = 0
+ MOJO_READ_MESSAGE_FLAG_NONE MojoReadMessageFlags = 0
+ MOJO_READ_MESSAGE_FLAG_MAY_DISCARD = 1 << 0
+
+ MOJO_READ_DATA_FLAG_NONE MojoReadDataFlags = 0
+ MOJO_READ_DATA_FLAG_ALL_OR_NONE = 1 << 0
+ MOJO_READ_DATA_FLAG_DISCARD = 1 << 1
+ MOJO_READ_DATA_FLAG_QUERY = 1 << 2
+ MOJO_WRITE_DATA_FLAG_NONE MojoWriteDataFlags = 0
+ MOJO_WRITE_DATA_FLAG_ALL_OR_NONE MojoWriteDataFlags = 1 << 0
+
+ MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE MojoCreateDataPipeOptionsFlags = 0
+ MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_MAY_DISCARD = 1 << 0
+ MOJO_CREATE_MESSAGE_PIPE_OPTIONS_FLAG_NONE MojoCreateMessagePipeOptionsFlags = 0
+
+ MOJO_CREATE_SHARED_BUFFER_OPTIONS_FLAG_NONE MojoCreateSharedBufferOptionsFlags = 0
+ MOJO_DUPLICATE_BUFFER_HANDLE_OPTIONS_FLAG_NONE MojoDuplicateBufferHandleOptionsFlags = 0
+ MOJO_MAP_BUFFER_FLAG_NONE MojoMapBufferFlags = 0
+)
+
+// DataPipeOptions is used to specify creation parameters for a data pipe.
+type DataPipeOptions struct {
+ flags MojoCreateDataPipeOptionsFlags
+ // The size of an element in bytes. All transactions and buffers will
+ // be an integral number of elements.
+ elemSize uint32
+ // The capacity of the data pipe in bytes. Must be a multiple of elemSize.
+ capacity uint32
+}
+
+func (opts *DataPipeOptions) cType() *C.struct_MojoCreateDataPipeOptions {
+ if opts == nil {
+ return nil
+ }
+ var cOpts C.struct_MojoCreateDataPipeOptions
+ cOpts = C.struct_MojoCreateDataPipeOptions{
+ (C.uint32_t)(unsafe.Sizeof(cOpts)),
+ opts.flags.cType(),
+ (C.uint32_t)(opts.elemSize),
+ (C.uint32_t)(opts.capacity),
+ }
+ return &cOpts
+}
+
+// MessagePipeOptions is used to specify creation parameters for a message pipe.
+type MessagePipeOptions struct {
+ flags MojoCreateMessagePipeOptionsFlags
+}
+
+func (opts *MessagePipeOptions) cType() *C.struct_MojoCreateMessagePipeOptions {
+ if opts == nil {
+ return nil
+ }
+ var cOpts C.struct_MojoCreateMessagePipeOptions
+ cOpts = C.struct_MojoCreateMessagePipeOptions{
+ (C.uint32_t)(unsafe.Sizeof(cOpts)),
+ opts.flags.cType(),
+ }
+ return &cOpts
+}
+
+// SharedBufferOptions is used to specify creation parameters for a
+// shared buffer.
+type SharedBufferOptions struct {
+ flags MojoCreateSharedBufferOptionsFlags
+}
+
+func (opts *SharedBufferOptions) cType() *C.struct_MojoCreateSharedBufferOptions {
+ if opts == nil {
+ return nil
+ }
+ var cOpts C.struct_MojoCreateSharedBufferOptions
+ cOpts = C.struct_MojoCreateSharedBufferOptions{
+ (C.uint32_t)(unsafe.Sizeof(cOpts)),
+ opts.flags.cType(),
+ }
+ return &cOpts
+}
+
+// DuplicateBufferHandleOptions is used to specify parameters in
+// duplicating access to a shared buffer.
+type DuplicateBufferHandleOptions struct {
+ flags MojoDuplicateBufferHandleOptionsFlags
+}
+
+func (opts *DuplicateBufferHandleOptions) cType() *C.struct_MojoDuplicateBufferHandleOptions {
+ if opts == nil {
+ return nil
+ }
+ var cOpts C.struct_MojoDuplicateBufferHandleOptions
+ cOpts = C.struct_MojoDuplicateBufferHandleOptions{
+ (C.uint32_t)(unsafe.Sizeof(cOpts)),
+ opts.flags.cType(),
+ }
+ return &cOpts
+}
+
+// Convenience functions to convert Go types to their equivalent C types.
+func (m MojoHandle) cType() C.MojoHandle {
+ return (C.MojoHandle)(m)
+}
+func (m MojoDeadline) cType() C.MojoDeadline {
+ return (C.MojoDeadline)(m)
+}
+func (m MojoHandleSignals) cType() C.MojoHandleSignals {
+ return (C.MojoHandleSignals)(m)
+}
+func (m MojoWriteMessageFlags) cType() C.MojoWriteMessageFlags {
+ return (C.MojoWriteMessageFlags)(m)
+}
+func (m MojoReadMessageFlags) cType() C.MojoReadMessageFlags {
+ return (C.MojoReadMessageFlags)(m)
+}
+func (m MojoWriteDataFlags) cType() C.MojoWriteDataFlags {
+ return (C.MojoWriteDataFlags)(m)
+}
+func (m MojoReadDataFlags) cType() C.MojoReadDataFlags {
+ return (C.MojoReadDataFlags)(m)
+}
+func (m MojoCreateDataPipeOptionsFlags) cType() C.MojoCreateDataPipeOptionsFlags {
+ return (C.MojoCreateDataPipeOptionsFlags)(m)
+}
+func (m MojoCreateMessagePipeOptionsFlags) cType() C.MojoCreateMessagePipeOptionsFlags {
+ return (C.MojoCreateMessagePipeOptionsFlags)(m)
+}
+func (m MojoCreateSharedBufferOptionsFlags) cType() C.MojoCreateSharedBufferOptionsFlags {
+ return (C.MojoCreateSharedBufferOptionsFlags)(m)
+}
+func (m MojoDuplicateBufferHandleOptionsFlags) cType() C.MojoDuplicateBufferHandleOptionsFlags {
+ return (C.MojoDuplicateBufferHandleOptionsFlags)(m)
+}
+func (m MojoMapBufferFlags) cType() C.MojoMapBufferFlags {
+ return (C.MojoMapBufferFlags)(m)
+}
+func cArrayMojoHandle(m []MojoHandle) *C.MojoHandle {
+ if len(m) == 0 {
+ return nil
+ }
+ return (*C.MojoHandle)(&m[0])
+}
+func cArrayMojoHandleSignals(m []MojoHandleSignals) *C.MojoHandleSignals {
+ if len(m) == 0 {
+ return nil
+ }
+ return (*C.MojoHandleSignals)(&m[0])
+}
+func cArrayBytes(m []byte) unsafe.Pointer {
+ if len(m) == 0 {
+ return nil
+ }
+ return unsafe.Pointer(&m[0])
+}
« no previous file with comments | « mojo/public/go/system/impl/core_impl.go ('k') | mojo/public/interfaces/application/application.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698