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

Side by Side Diff: mojo/monacl/generator/NOT_FOR_COMMIT/libmojo.cc

Issue 385983008: Mojo + NaCl prototype. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ClipDep Created 6 years, 3 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 // WARNING this file was generated by generate_monacl_bindings.py
6 // Do not edit by hand.
7
8 #include "mojo/public/c/system/core.h"
9 #include "native_client/src/public/chrome_main.h"
10 #include "native_client/src/public/imc_syscalls.h"
11 #include "native_client/src/public/imc_types.h"
12
13 #define NACL_MOJO_DESC (NACL_CHROME_DESC_BASE + 2)
14
15 static void DoMojoCall(uint32_t params[], int num_params) {
16 NaClAbiNaClImcMsgIoVec iov[1] = {
17 {params, num_params}
18 };
19 NaClAbiNaClImcMsgHdr msgh = {iov, 1, NULL, 0};
20 // Note: return value unchecked. We're relying on the result parameter being
21 // unmodified - if the syscall fails, the Mojo function will return whatever
22 // the result parameter was initialized to before this function was called.
23 imc_sendmsg(NACL_MOJO_DESC, &msgh, 0);
24 }
25
26 MojoResult MojoCreateSharedBuffer(
27 const struct MojoCreateSharedBufferOptions* options,
28 uint64_t num_bytes,
29 MojoHandle* shared_buffer_handle){
30 uint32_t params[5];
31 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
32 params[0] = 0;
33 params[1] = reinterpret_cast<uint32_t>(options);
34 params[2] = reinterpret_cast<uint32_t>(&num_bytes);
35 params[3] = reinterpret_cast<uint32_t>(shared_buffer_handle);
36 params[4] = reinterpret_cast<uint32_t>(&result);
37 DoMojoCall(params, sizeof(params));
38 return result;
39 }
40
41 MojoResult MojoDuplicateBufferHandle(
42 MojoHandle buffer_handle,
43 const struct MojoDuplicateBufferHandleOptions* options,
44 MojoHandle* new_buffer_handle){
45 uint32_t params[5];
46 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
47 params[0] = 1;
48 params[1] = reinterpret_cast<uint32_t>(&buffer_handle);
49 params[2] = reinterpret_cast<uint32_t>(options);
50 params[3] = reinterpret_cast<uint32_t>(new_buffer_handle);
51 params[4] = reinterpret_cast<uint32_t>(&result);
52 DoMojoCall(params, sizeof(params));
53 return result;
54 }
55
56 MojoResult MojoMapBuffer(
57 MojoHandle buffer_handle,
58 uint64_t offset,
59 uint64_t num_bytes,
60 void** buffer,
61 MojoMapBufferFlags flags){
62 uint32_t params[7];
63 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
64 params[0] = 2;
65 params[1] = reinterpret_cast<uint32_t>(&buffer_handle);
66 params[2] = reinterpret_cast<uint32_t>(&offset);
67 params[3] = reinterpret_cast<uint32_t>(&num_bytes);
68 params[4] = reinterpret_cast<uint32_t>(buffer);
69 params[5] = reinterpret_cast<uint32_t>(&flags);
70 params[6] = reinterpret_cast<uint32_t>(&result);
71 DoMojoCall(params, sizeof(params));
72 return result;
73 }
74
75 MojoResult MojoUnmapBuffer(void* buffer){
76 uint32_t params[3];
77 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
78 params[0] = 3;
79 params[1] = reinterpret_cast<uint32_t>(&buffer);
80 params[2] = reinterpret_cast<uint32_t>(&result);
81 DoMojoCall(params, sizeof(params));
82 return result;
83 }
84
85 MojoResult MojoCreateDataPipe(
86 const struct MojoCreateDataPipeOptions* options,
87 MojoHandle* data_pipe_producer_handle,
88 MojoHandle* data_pipe_consumer_handle){
89 uint32_t params[5];
90 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
91 params[0] = 4;
92 params[1] = reinterpret_cast<uint32_t>(options);
93 params[2] = reinterpret_cast<uint32_t>(data_pipe_producer_handle);
94 params[3] = reinterpret_cast<uint32_t>(data_pipe_consumer_handle);
95 params[4] = reinterpret_cast<uint32_t>(&result);
96 DoMojoCall(params, sizeof(params));
97 return result;
98 }
99
100 MojoResult MojoWriteData(
101 MojoHandle data_pipe_producer_handle,
102 const void* elements,
103 uint32_t* num_bytes,
104 MojoWriteDataFlags flags){
105 uint32_t params[6];
106 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
107 params[0] = 5;
108 params[1] = reinterpret_cast<uint32_t>(&data_pipe_producer_handle);
109 params[2] = reinterpret_cast<uint32_t>(elements);
110 params[3] = reinterpret_cast<uint32_t>(num_bytes);
111 params[4] = reinterpret_cast<uint32_t>(&flags);
112 params[5] = reinterpret_cast<uint32_t>(&result);
113 DoMojoCall(params, sizeof(params));
114 return result;
115 }
116
117 MojoResult MojoBeginWriteData(
118 MojoHandle data_pipe_producer_handle,
119 void** buffer,
120 uint32_t* buffer_num_bytes,
121 MojoWriteDataFlags flags){
122 uint32_t params[6];
123 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
124 params[0] = 6;
125 params[1] = reinterpret_cast<uint32_t>(&data_pipe_producer_handle);
126 params[2] = reinterpret_cast<uint32_t>(buffer);
127 params[3] = reinterpret_cast<uint32_t>(buffer_num_bytes);
128 params[4] = reinterpret_cast<uint32_t>(&flags);
129 params[5] = reinterpret_cast<uint32_t>(&result);
130 DoMojoCall(params, sizeof(params));
131 return result;
132 }
133
134 MojoResult MojoEndWriteData(
135 MojoHandle data_pipe_producer_handle,
136 uint32_t num_bytes_written){
137 uint32_t params[4];
138 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
139 params[0] = 7;
140 params[1] = reinterpret_cast<uint32_t>(&data_pipe_producer_handle);
141 params[2] = reinterpret_cast<uint32_t>(&num_bytes_written);
142 params[3] = reinterpret_cast<uint32_t>(&result);
143 DoMojoCall(params, sizeof(params));
144 return result;
145 }
146
147 MojoResult MojoReadData(
148 MojoHandle data_pipe_consumer_handle,
149 void* elements,
150 uint32_t* num_bytes,
151 MojoReadDataFlags flags){
152 uint32_t params[6];
153 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
154 params[0] = 8;
155 params[1] = reinterpret_cast<uint32_t>(&data_pipe_consumer_handle);
156 params[2] = reinterpret_cast<uint32_t>(elements);
157 params[3] = reinterpret_cast<uint32_t>(num_bytes);
158 params[4] = reinterpret_cast<uint32_t>(&flags);
159 params[5] = reinterpret_cast<uint32_t>(&result);
160 DoMojoCall(params, sizeof(params));
161 return result;
162 }
163
164 MojoResult MojoBeginReadData(
165 MojoHandle data_pipe_consumer_handle,
166 const void** buffer,
167 uint32_t* buffer_num_bytes,
168 MojoReadDataFlags flags){
169 uint32_t params[6];
170 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
171 params[0] = 9;
172 params[1] = reinterpret_cast<uint32_t>(&data_pipe_consumer_handle);
173 params[2] = reinterpret_cast<uint32_t>(buffer);
174 params[3] = reinterpret_cast<uint32_t>(buffer_num_bytes);
175 params[4] = reinterpret_cast<uint32_t>(&flags);
176 params[5] = reinterpret_cast<uint32_t>(&result);
177 DoMojoCall(params, sizeof(params));
178 return result;
179 }
180
181 MojoResult MojoEndReadData(
182 MojoHandle data_pipe_consumer_handle,
183 uint32_t num_bytes_read){
184 uint32_t params[4];
185 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
186 params[0] = 10;
187 params[1] = reinterpret_cast<uint32_t>(&data_pipe_consumer_handle);
188 params[2] = reinterpret_cast<uint32_t>(&num_bytes_read);
189 params[3] = reinterpret_cast<uint32_t>(&result);
190 DoMojoCall(params, sizeof(params));
191 return result;
192 }
193
194 MojoTimeTicks MojoGetTimeTicksNow(){
195 uint32_t params[2];
196 MojoTimeTicks result = 0;
197 params[0] = 11;
198 params[1] = reinterpret_cast<uint32_t>(&result);
199 DoMojoCall(params, sizeof(params));
200 return result;
201 }
202
203 MojoResult MojoClose(MojoHandle handle){
204 uint32_t params[3];
205 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
206 params[0] = 12;
207 params[1] = reinterpret_cast<uint32_t>(&handle);
208 params[2] = reinterpret_cast<uint32_t>(&result);
209 DoMojoCall(params, sizeof(params));
210 return result;
211 }
212
213 MojoResult MojoWait(
214 MojoHandle handle,
215 MojoHandleSignals signals,
216 MojoDeadline deadline){
217 uint32_t params[5];
218 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
219 params[0] = 13;
220 params[1] = reinterpret_cast<uint32_t>(&handle);
221 params[2] = reinterpret_cast<uint32_t>(&signals);
222 params[3] = reinterpret_cast<uint32_t>(&deadline);
223 params[4] = reinterpret_cast<uint32_t>(&result);
224 DoMojoCall(params, sizeof(params));
225 return result;
226 }
227
228 MojoResult MojoWaitMany(
229 const MojoHandle* handles,
230 const MojoHandleSignals* signals,
231 uint32_t num_handles,
232 MojoDeadline deadline){
233 uint32_t params[6];
234 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
235 params[0] = 14;
236 params[1] = reinterpret_cast<uint32_t>(handles);
237 params[2] = reinterpret_cast<uint32_t>(signals);
238 params[3] = reinterpret_cast<uint32_t>(&num_handles);
239 params[4] = reinterpret_cast<uint32_t>(&deadline);
240 params[5] = reinterpret_cast<uint32_t>(&result);
241 DoMojoCall(params, sizeof(params));
242 return result;
243 }
244
245 MojoResult MojoCreateMessagePipe(
246 const struct MojoCreateMessagePipeOptions* options,
247 MojoHandle* message_pipe_handle0,
248 MojoHandle* message_pipe_handle1){
249 uint32_t params[5];
250 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
251 params[0] = 15;
252 params[1] = reinterpret_cast<uint32_t>(options);
253 params[2] = reinterpret_cast<uint32_t>(message_pipe_handle0);
254 params[3] = reinterpret_cast<uint32_t>(message_pipe_handle1);
255 params[4] = reinterpret_cast<uint32_t>(&result);
256 DoMojoCall(params, sizeof(params));
257 return result;
258 }
259
260 MojoResult MojoWriteMessage(
261 MojoHandle message_pipe_handle,
262 const void* bytes,
263 uint32_t num_bytes,
264 const MojoHandle* handles,
265 uint32_t num_handles,
266 MojoWriteMessageFlags flags){
267 uint32_t params[8];
268 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
269 params[0] = 16;
270 params[1] = reinterpret_cast<uint32_t>(&message_pipe_handle);
271 params[2] = reinterpret_cast<uint32_t>(bytes);
272 params[3] = reinterpret_cast<uint32_t>(&num_bytes);
273 params[4] = reinterpret_cast<uint32_t>(handles);
274 params[5] = reinterpret_cast<uint32_t>(&num_handles);
275 params[6] = reinterpret_cast<uint32_t>(&flags);
276 params[7] = reinterpret_cast<uint32_t>(&result);
277 DoMojoCall(params, sizeof(params));
278 return result;
279 }
280
281 MojoResult MojoReadMessage(
282 MojoHandle message_pipe_handle,
283 void* bytes,
284 uint32_t* num_bytes,
285 MojoHandle* handles,
286 uint32_t* num_handles,
287 MojoReadMessageFlags flags){
288 uint32_t params[8];
289 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT;
290 params[0] = 17;
291 params[1] = reinterpret_cast<uint32_t>(&message_pipe_handle);
292 params[2] = reinterpret_cast<uint32_t>(bytes);
293 params[3] = reinterpret_cast<uint32_t>(num_bytes);
294 params[4] = reinterpret_cast<uint32_t>(handles);
295 params[5] = reinterpret_cast<uint32_t>(num_handles);
296 params[6] = reinterpret_cast<uint32_t>(&flags);
297 params[7] = reinterpret_cast<uint32_t>(&result);
298 DoMojoCall(params, sizeof(params));
299 return result;
300 }
301
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698