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

Side by Side Diff: nacl_bindings_generator/interface.py

Issue 1086743002: Support pointers in the NaCl bindings generator. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Tweaks Created 5 years, 8 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
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
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
OLDNEW
« no previous file with comments | « nacl_bindings_generator/generate_nacl_bindings.py ('k') | nacl_bindings_generator/interface_dsl.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698