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

Unified Diff: mojo/monacl/gen/interface.py

Issue 385983008: Mojo + NaCl prototype. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Better diff Created 6 years, 5 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
Index: mojo/monacl/gen/interface.py
diff --git a/mojo/monacl/gen/interface.py b/mojo/monacl/gen/interface.py
new file mode 100644
index 0000000000000000000000000000000000000000..4622b1dfedc26f9e019e53723676d7e41026548d
--- /dev/null
+++ b/mojo/monacl/gen/interface.py
@@ -0,0 +1,108 @@
+# 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.
+
+import interface_dsl
+
+def makeInterface():
+ mojo = interface_dsl.Interface()
+
+ f = mojo.func('MojoCreateSharedBuffer', 'MojoResult')
+ f.param('options').inStruct('MojoCreateSharedBufferOptions').optional()
+ f.param('num_bytes').inp('uint64_t')
+ f.param('shared_buffer_handle').out('MojoHandle')
+
+ f = mojo.func('MojoDuplicateBufferHandle', 'MojoResult')
+ f.param('buffer_handle').inp('MojoHandle')
+ f.param('options').inStruct('MojoDuplicateBufferHandleOptions').optional()
+ f.param('new_buffer_handle').out('MojoHandle')
+
+ f = mojo.func('MojoMapBuffer', 'MojoResult')
+ f.param('buffer_handle').inp('MojoHandle')
+ f.param('offset').inp('uint64_t')
+ f.param('num_bytes').inp('uint64_t')
+ f.param('buffer').out('void*')
+ f.param('flags').inp('MojoMapBufferFlags')
+
+ f = mojo.func('MojoUnmapBuffer', 'MojoResult')
+ f.param('buffer').inp('void*')
+
+ f = mojo.func('MojoCreateDataPipe', 'MojoResult')
+ f.param('options').inStruct('MojoCreateDataPipeOptions').optional()
+ f.param('data_pipe_producer_handle').out('MojoHandle')
+ f.param('data_pipe_consumer_handle').out('MojoHandle')
+
+ f = mojo.func('MojoWriteData', 'MojoResult')
+ f.param('data_pipe_producer_handle').inp('MojoHandle')
+ f.param('elements').inArray('void', 'num_bytes')
+ f.param('num_bytes').inOut('uint32_t')
+ f.param('flags').inp('MojoWriteDataFlags')
+
+ f = mojo.func('MojoBeginWriteData', 'MojoResult')
+ f.param('data_pipe_producer_handle').inp('MojoHandle')
+ # TODO this output is a little weird.
+ f.param('buffer').out('void*')
+ f.param('buffer_num_bytes').inOut('uint32_t')
+ f.param('flags').inp('MojoWriteDataFlags')
+
+ f = mojo.func('MojoEndWriteData', 'MojoResult')
+ f.param('data_pipe_producer_handle').inp('MojoHandle')
+ f.param('num_bytes_written').inp('uint32_t')
+
+ f = mojo.func('MojoReadData', 'MojoResult')
+ f.param('data_pipe_consumer_handle').inp('MojoHandle')
+ f.param('elements').outArray('void', 'num_bytes')
+ f.param('num_bytes').inOut('uint32_t')
+ f.param('flags').inp('MojoReadDataFlags')
+
+ f = mojo.func('MojoBeginReadData', 'MojoResult')
+ f.param('data_pipe_consumer_handle').inp('MojoHandle')
+ # TODO this output is a little weird.
+ f.param('buffer').out('const void*')
+ f.param('buffer_num_bytes').inOut('uint32_t')
+ f.param('flags').inp('MojoReadDataFlags')
+
+ f = mojo.func('MojoEndReadData', 'MojoResult')
+ f.param('data_pipe_consumer_handle').inp('MojoHandle')
+ f.param('num_bytes_read').inp('uint32_t')
+
+ f = mojo.func('MojoGetTimeTicksNow', 'MojoTimeTicks')
+
+ f = mojo.func('MojoClose', 'MojoResult')
+ f.param('handle').inp('MojoHandle')
+
+ f = mojo.func('MojoWait', 'MojoResult')
+ f.param('handle').inp('MojoHandle')
+ f.param('signals').inp('MojoHandleSignals')
+ f.param('deadline').inp('MojoDeadline')
+
+ f = mojo.func('MojoWaitMany', 'MojoResult')
+ f.param('handles').inArray('MojoHandle', 'num_handles')
+ f.param('signals').inArray('MojoHandleSignals', 'num_handles')
+ f.param('num_handles').inp('uint32_t')
+ f.param('deadline').inp('MojoDeadline')
+
+ f = mojo.func('MojoCreateMessagePipe', 'MojoResult')
+ f.param('options').inStruct('MojoCreateMessagePipeOptions').optional()
+ f.param('message_pipe_handle0').out('MojoHandle')
+ f.param('message_pipe_handle1').out('MojoHandle')
+
+ f = mojo.func('MojoWriteMessage', 'MojoResult')
+ f.param('message_pipe_handle').inp('MojoHandle')
+ f.param('bytes').inArray('void', 'num_bytes').optional()
+ f.param('num_bytes').inp('uint32_t')
+ f.param('handles').inArray('MojoHandle', 'num_handles').optional()
+ f.param('num_handles').inp('uint32_t')
+ f.param('flags').inp('MojoWriteMessageFlags')
+
+ f = mojo.func('MojoReadMessage', 'MojoResult')
+ f.param('message_pipe_handle').inp('MojoHandle')
+ f.param('bytes').outArray('void', 'num_bytes').optional()
+ f.param('num_bytes').inOut('uint32_t').optional()
+ f.param('handles').outArray('MojoHandle', 'num_handles').optional()
+ f.param('num_handles').inOut('uint32_t').optional()
+ f.param('flags').inp('MojoReadMessageFlags')
+
+ mojo.finalize()
+
+ return mojo

Powered by Google App Engine
This is Rietveld 408576698