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 |