Chromium Code Reviews| Index: mojo/monacl/generator/interface.py |
| diff --git a/mojo/monacl/generator/interface.py b/mojo/monacl/generator/interface.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..92372f805d1cd921968aba2b25d0ad3816684eaf |
| --- /dev/null |
| +++ b/mojo/monacl/generator/interface.py |
| @@ -0,0 +1,110 @@ |
| +# 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. |
| + |
| +# pylint: disable=F0401 |
| + |
| +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. |
|
Mark Seaborn
2014/09/09 19:13:11
Can you elaborate? What does this mean?
Nick Bray (chromium)
2014/09/09 23:12:33
Better off removed. It was a note for myself, but
|
| + 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 |