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

Side by Side Diff: mojo/nacl/sfi/nacl_bindings_generator/interface.py

Issue 2051163002: Nuke NaCl SFI, part 1. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 6 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 unified diff | Download patch
OLDNEW
(Empty)
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
3 # found in the LICENSE file.
4
5 # pylint: disable=F0401
6
7 import interface_dsl
8
9 def MakeInterface():
10 mojo = interface_dsl.Interface()
11
12 # This function is not provided by the Mojo system APIs, but instead allows
13 # trusted code to provide a handle for use by untrusted code. See the
14 # implementation in mojo_syscall.cc.tmpl.
15 f = mojo.Func('_MojoGetInitialHandle', 'MojoResult')
16 f.Param('handle').Out('MojoHandle')
17
18 f = mojo.Func('MojoGetTimeTicksNow', 'MojoTimeTicks')
19
20 f = mojo.Func('MojoClose', 'MojoResult')
21 f.Param('handle').In('MojoHandle')
22
23 f = mojo.Func('MojoGetRights', 'MojoResult')
24 f.Param('handle').In('MojoHandle')
25 f.Param('rights').Out('MojoHandleRights')
26
27 f = mojo.Func('MojoDuplicateHandleWithReducedRights', 'MojoResult')
28 f.Param('handle').In('MojoHandle')
29 f.Param('rights_to_remove').In('MojoHandleRights')
30 f.Param('new_handle').Out('MojoHandle')
31
32 f = mojo.Func('MojoDuplicateHandle', 'MojoResult')
33 f.Param('handle').In('MojoHandle')
34 f.Param('new_handle').Out('MojoHandle')
35
36 f = mojo.Func('MojoWait', 'MojoResult')
37 f.Param('handle').In('MojoHandle')
38 f.Param('signals').In('MojoHandleSignals')
39 f.Param('deadline').In('MojoDeadline')
40 f.Param('signals_state').OutFixedStruct('MojoHandleSignalsState').Optional()
41
42 f = mojo.Func('MojoWaitMany', 'MojoResult')
43 f.Param('handles').InArray('MojoHandle', 'num_handles')
44 f.Param('signals').InArray('MojoHandleSignals', 'num_handles')
45 f.Param('num_handles').In('uint32_t')
46 f.Param('deadline').In('MojoDeadline')
47 f.Param('result_index').Out('uint32_t').Optional()
48 p = f.Param('signals_states')
49 p.OutFixedStructArray('MojoHandleSignalsState', 'num_handles').Optional()
50
51 f = mojo.Func('MojoCreateMessagePipe', 'MojoResult')
52 p = f.Param('options')
53 p.InExtensibleStruct('MojoCreateMessagePipeOptions').Optional()
54 f.Param('message_pipe_handle0').Out('MojoHandle')
55 f.Param('message_pipe_handle1').Out('MojoHandle')
56
57 f = mojo.Func('MojoWriteMessage', 'MojoResult')
58 f.Param('message_pipe_handle').In('MojoHandle')
59 f.Param('bytes').InArray('void', 'num_bytes').Optional()
60 f.Param('num_bytes').In('uint32_t')
61 f.Param('handles').InArray('MojoHandle', 'num_handles').Optional()
62 f.Param('num_handles').In('uint32_t')
63 f.Param('flags').In('MojoWriteMessageFlags')
64
65 f = mojo.Func('MojoReadMessage', 'MojoResult')
66 f.Param('message_pipe_handle').In('MojoHandle')
67 f.Param('bytes').OutArray('void', 'num_bytes').Optional()
68 f.Param('num_bytes').InOut('uint32_t').Optional()
69 f.Param('handles').OutArray('MojoHandle', 'num_handles').Optional()
70 f.Param('num_handles').InOut('uint32_t').Optional()
71 f.Param('flags').In('MojoReadMessageFlags')
72
73 f = mojo.Func('MojoCreateDataPipe', 'MojoResult')
74 p = f.Param('options')
75 p.InExtensibleStruct('MojoCreateDataPipeOptions').Optional()
76 f.Param('data_pipe_producer_handle').Out('MojoHandle')
77 f.Param('data_pipe_consumer_handle').Out('MojoHandle')
78
79 f = mojo.Func('MojoSetDataPipeProducerOptions', 'MojoResult')
80 f.Param('data_pipe_producer_handle').In('MojoHandle')
81 p = f.Param('options')
82 p.InExtensibleStruct('MojoDataPipeProducerOptions').Optional()
83
84 f = mojo.Func('MojoGetDataPipeProducerOptions', 'MojoResult')
85 f.Param('data_pipe_producer_handle').In('MojoHandle')
86 p = f.Param('options')
87 p.OutExtensibleStruct('MojoDataPipeProducerOptions', 'options_num_bytes')
88 f.Param('options_num_bytes').In('uint32_t')
89
90 f = mojo.Func('MojoWriteData', 'MojoResult')
91 f.Param('data_pipe_producer_handle').In('MojoHandle')
92 f.Param('elements').InArray('void', 'num_bytes')
93 f.Param('num_bytes').InOut('uint32_t')
94 f.Param('flags').In('MojoWriteDataFlags')
95
96 f = mojo.Func('MojoBeginWriteData', 'MojoResult')
97 f.Param('data_pipe_producer_handle').In('MojoHandle')
98 f.Param('buffer').Out('void*')
99 f.Param('buffer_num_bytes').InOut('uint32_t')
100 f.Param('flags').In('MojoWriteDataFlags')
101 # TODO(ncbray): support two-stage reads and writes.
102 # https://code.google.com/p/chromium/issues/detail?id=401761
103 f.IsBrokenInNaCl()
104
105 f = mojo.Func('MojoEndWriteData', 'MojoResult')
106 f.Param('data_pipe_producer_handle').In('MojoHandle')
107 f.Param('num_bytes_written').In('uint32_t')
108
109 f = mojo.Func('MojoSetDataPipeConsumerOptions', 'MojoResult')
110 f.Param('data_pipe_consumer_handle').In('MojoHandle')
111 p = f.Param('options')
112 p.InExtensibleStruct('MojoDataPipeConsumerOptions').Optional()
113
114 f = mojo.Func('MojoGetDataPipeConsumerOptions', 'MojoResult')
115 f.Param('data_pipe_consumer_handle').In('MojoHandle')
116 p = f.Param('options')
117 p.OutExtensibleStruct('MojoDataPipeConsumerOptions', 'options_num_bytes')
118 f.Param('options_num_bytes').In('uint32_t')
119
120 f = mojo.Func('MojoReadData', 'MojoResult')
121 f.Param('data_pipe_consumer_handle').In('MojoHandle')
122 f.Param('elements').OutArray('void', 'num_bytes')
123 f.Param('num_bytes').InOut('uint32_t')
124 f.Param('flags').In('MojoReadDataFlags')
125
126 f = mojo.Func('MojoBeginReadData', 'MojoResult')
127 f.Param('data_pipe_consumer_handle').In('MojoHandle')
128 f.Param('buffer').Out('const void*')
129 f.Param('buffer_num_bytes').InOut('uint32_t')
130 f.Param('flags').In('MojoReadDataFlags')
131 # TODO(ncbray): support two-stage reads and writes.
132 # https://code.google.com/p/chromium/issues/detail?id=401761
133 f.IsBrokenInNaCl()
134
135 f = mojo.Func('MojoEndReadData', 'MojoResult')
136 f.Param('data_pipe_consumer_handle').In('MojoHandle')
137 f.Param('num_bytes_read').In('uint32_t')
138
139 f = mojo.Func('MojoCreateSharedBuffer', 'MojoResult')
140 p = f.Param('options')
141 p.InExtensibleStruct('MojoCreateSharedBufferOptions').Optional()
142 f.Param('num_bytes').In('uint64_t')
143 f.Param('shared_buffer_handle').Out('MojoHandle')
144
145 f = mojo.Func('MojoDuplicateBufferHandle', 'MojoResult')
146 f.Param('buffer_handle').In('MojoHandle')
147 p = f.Param('options')
148 p.InExtensibleStruct('MojoDuplicateBufferHandleOptions').Optional()
149 f.Param('new_buffer_handle').Out('MojoHandle')
150
151 f = mojo.Func('MojoGetBufferInformation', 'MojoResult')
152 f.Param('buffer_handle').In('MojoHandle')
153 p = f.Param('info')
154 p.OutExtensibleStruct('MojoBufferInformation', 'info_num_bytes')
155 f.Param('info_num_bytes').In('uint32_t')
156
157 f = mojo.Func('MojoMapBuffer', 'MojoResult')
158 f.Param('buffer_handle').In('MojoHandle')
159 f.Param('offset').In('uint64_t')
160 f.Param('num_bytes').In('uint64_t')
161 f.Param('buffer').Out('void*')
162 f.Param('flags').In('MojoMapBufferFlags')
163 # TODO(ncbray): support mmaping.
164 # https://code.google.com/p/chromium/issues/detail?id=401761
165 f.IsBrokenInNaCl()
166
167 f = mojo.Func('MojoUnmapBuffer', 'MojoResult')
168 f.Param('buffer').In('void*')
169 # TODO(ncbray): support mmaping.
170 # https://code.google.com/p/chromium/issues/detail?id=401761
171 f.IsBrokenInNaCl()
172
173 mojo.Finalize()
174
175 return mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698