OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # pylint: disable=F0401 | 5 # pylint: disable=F0401 |
6 | 6 |
7 import interface_dsl | 7 import interface_dsl |
8 | 8 |
9 def MakeInterface(): | 9 def MakeInterface(): |
10 mojo = interface_dsl.Interface() | 10 mojo = interface_dsl.Interface() |
11 | 11 |
12 f = mojo.Func('MojoCreateSharedBuffer', 'MojoResult') | 12 f = mojo.Func('MojoCreateSharedBuffer', 'MojoResult') |
13 p = f.Param('options') | 13 p = f.Param('options') |
14 p.InExtensibleStruct('MojoCreateSharedBufferOptions').Optional() | 14 p.InExtensibleStruct('MojoCreateSharedBufferOptions').Optional() |
15 f.Param('num_bytes').In('uint64_t') | 15 f.Param('num_bytes').In('uint64_t') |
16 f.Param('shared_buffer_handle').Out('MojoHandle') | 16 f.Param('shared_buffer_handle').Out('MojoHandle') |
17 | 17 |
18 f = mojo.Func('MojoDuplicateBufferHandle', 'MojoResult') | 18 f = mojo.Func('MojoDuplicateBufferHandle', 'MojoResult') |
19 f.Param('buffer_handle').In('MojoHandle') | 19 f.Param('buffer_handle').In('MojoHandle') |
20 p = f.Param('options') | 20 p = f.Param('options') |
21 p.InExtensibleStruct('MojoDuplicateBufferHandleOptions').Optional() | 21 p.InExtensibleStruct('MojoDuplicateBufferHandleOptions').Optional() |
22 f.Param('new_buffer_handle').Out('MojoHandle') | 22 f.Param('new_buffer_handle').Out('MojoHandle') |
23 | 23 |
24 f = mojo.Func('MojoMapBuffer', 'MojoResult') | 24 f = mojo.Func('MojoMapBuffer', 'MojoResult') |
25 f.Param('buffer_handle').In('MojoHandle') | 25 f.Param('buffer_handle').In('MojoHandle') |
26 f.Param('offset').In('uint64_t') | 26 f.Param('offset').In('uint64_t') |
27 f.Param('num_bytes').In('uint64_t') | 27 f.Param('num_bytes').In('uint64_t') |
28 f.Param('buffer').Out('void*') | 28 f.Param('buffer').Out('void*') |
29 f.Param('flags').In('MojoMapBufferFlags') | 29 f.Param('flags').In('MojoMapBufferFlags') |
| 30 # TODO(ncbray): support mmaping. |
| 31 # https://code.google.com/p/chromium/issues/detail?id=401761 |
| 32 f.IsBrokenInNaCl() |
30 | 33 |
31 f = mojo.Func('MojoUnmapBuffer', 'MojoResult') | 34 f = mojo.Func('MojoUnmapBuffer', 'MojoResult') |
32 f.Param('buffer').In('void*') | 35 f.Param('buffer').In('void*') |
| 36 # TODO(ncbray): support mmaping. |
| 37 # https://code.google.com/p/chromium/issues/detail?id=401761 |
| 38 f.IsBrokenInNaCl() |
33 | 39 |
34 f = mojo.Func('MojoCreateDataPipe', 'MojoResult') | 40 f = mojo.Func('MojoCreateDataPipe', 'MojoResult') |
35 p = f.Param('options') | 41 p = f.Param('options') |
36 p.InExtensibleStruct('MojoCreateDataPipeOptions').Optional() | 42 p.InExtensibleStruct('MojoCreateDataPipeOptions').Optional() |
37 f.Param('data_pipe_producer_handle').Out('MojoHandle') | 43 f.Param('data_pipe_producer_handle').Out('MojoHandle') |
38 f.Param('data_pipe_consumer_handle').Out('MojoHandle') | 44 f.Param('data_pipe_consumer_handle').Out('MojoHandle') |
39 | 45 |
40 f = mojo.Func('MojoWriteData', 'MojoResult') | 46 f = mojo.Func('MojoWriteData', 'MojoResult') |
41 f.Param('data_pipe_producer_handle').In('MojoHandle') | 47 f.Param('data_pipe_producer_handle').In('MojoHandle') |
42 f.Param('elements').InArray('void', 'num_bytes') | 48 f.Param('elements').InArray('void', 'num_bytes') |
43 f.Param('num_bytes').InOut('uint32_t') | 49 f.Param('num_bytes').InOut('uint32_t') |
44 f.Param('flags').In('MojoWriteDataFlags') | 50 f.Param('flags').In('MojoWriteDataFlags') |
45 | 51 |
46 f = mojo.Func('MojoBeginWriteData', 'MojoResult') | 52 f = mojo.Func('MojoBeginWriteData', 'MojoResult') |
47 f.Param('data_pipe_producer_handle').In('MojoHandle') | 53 f.Param('data_pipe_producer_handle').In('MojoHandle') |
48 f.Param('buffer').Out('void*') | 54 f.Param('buffer').Out('void*') |
49 f.Param('buffer_num_bytes').InOut('uint32_t') | 55 f.Param('buffer_num_bytes').InOut('uint32_t') |
50 f.Param('flags').In('MojoWriteDataFlags') | 56 f.Param('flags').In('MojoWriteDataFlags') |
| 57 # TODO(ncbray): support two-stage reads and writes. |
| 58 # https://code.google.com/p/chromium/issues/detail?id=401761 |
| 59 f.IsBrokenInNaCl() |
51 | 60 |
52 f = mojo.Func('MojoEndWriteData', 'MojoResult') | 61 f = mojo.Func('MojoEndWriteData', 'MojoResult') |
53 f.Param('data_pipe_producer_handle').In('MojoHandle') | 62 f.Param('data_pipe_producer_handle').In('MojoHandle') |
54 f.Param('num_bytes_written').In('uint32_t') | 63 f.Param('num_bytes_written').In('uint32_t') |
55 | 64 |
56 f = mojo.Func('MojoReadData', 'MojoResult') | 65 f = mojo.Func('MojoReadData', 'MojoResult') |
57 f.Param('data_pipe_consumer_handle').In('MojoHandle') | 66 f.Param('data_pipe_consumer_handle').In('MojoHandle') |
58 f.Param('elements').OutArray('void', 'num_bytes') | 67 f.Param('elements').OutArray('void', 'num_bytes') |
59 f.Param('num_bytes').InOut('uint32_t') | 68 f.Param('num_bytes').InOut('uint32_t') |
60 f.Param('flags').In('MojoReadDataFlags') | 69 f.Param('flags').In('MojoReadDataFlags') |
61 | 70 |
62 f = mojo.Func('MojoBeginReadData', 'MojoResult') | 71 f = mojo.Func('MojoBeginReadData', 'MojoResult') |
63 f.Param('data_pipe_consumer_handle').In('MojoHandle') | 72 f.Param('data_pipe_consumer_handle').In('MojoHandle') |
64 f.Param('buffer').Out('const void*') | 73 f.Param('buffer').Out('const void*') |
65 f.Param('buffer_num_bytes').InOut('uint32_t') | 74 f.Param('buffer_num_bytes').InOut('uint32_t') |
66 f.Param('flags').In('MojoReadDataFlags') | 75 f.Param('flags').In('MojoReadDataFlags') |
| 76 # TODO(ncbray): support two-stage reads and writes. |
| 77 # https://code.google.com/p/chromium/issues/detail?id=401761 |
| 78 f.IsBrokenInNaCl() |
67 | 79 |
68 f = mojo.Func('MojoEndReadData', 'MojoResult') | 80 f = mojo.Func('MojoEndReadData', 'MojoResult') |
69 f.Param('data_pipe_consumer_handle').In('MojoHandle') | 81 f.Param('data_pipe_consumer_handle').In('MojoHandle') |
70 f.Param('num_bytes_read').In('uint32_t') | 82 f.Param('num_bytes_read').In('uint32_t') |
71 | 83 |
72 f = mojo.Func('MojoGetTimeTicksNow', 'MojoTimeTicks') | 84 f = mojo.Func('MojoGetTimeTicksNow', 'MojoTimeTicks') |
73 | 85 |
74 f = mojo.Func('MojoClose', 'MojoResult') | 86 f = mojo.Func('MojoClose', 'MojoResult') |
75 f.Param('handle').In('MojoHandle') | 87 f.Param('handle').In('MojoHandle') |
76 | 88 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 | 125 |
114 # This function is not provided by the Mojo system APIs, but instead allows | 126 # This function is not provided by the Mojo system APIs, but instead allows |
115 # trusted code to provide a handle for use by untrusted code. See the | 127 # trusted code to provide a handle for use by untrusted code. See the |
116 # implementation in mojo_syscall.cc.tmpl. | 128 # implementation in mojo_syscall.cc.tmpl. |
117 f = mojo.Func('_MojoGetInitialHandle', 'MojoResult') | 129 f = mojo.Func('_MojoGetInitialHandle', 'MojoResult') |
118 f.Param('handle').Out('MojoHandle') | 130 f.Param('handle').Out('MojoHandle') |
119 | 131 |
120 mojo.Finalize() | 132 mojo.Finalize() |
121 | 133 |
122 return mojo | 134 return mojo |
OLD | NEW |