OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // WARNING this file was generated by generate_nacl_bindings.py | 5 // WARNING this file was generated by generate_nacl_bindings.py |
6 // Do not edit by hand. | 6 // Do not edit by hand. |
7 | 7 |
8 #include "mojo/public/platform/nacl/mojo_irt.h" | 8 #include "mojo/public/platform/nacl/mojo_irt.h" |
9 | 9 |
10 #include <stdio.h> | 10 #include <stdio.h> |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 uint32_t params[4]; | 63 uint32_t params[4]; |
64 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 64 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
65 params[0] = 3; | 65 params[0] = 3; |
66 params[1] = (uint32_t)(&handle); | 66 params[1] = (uint32_t)(&handle); |
67 params[2] = (uint32_t)(rights); | 67 params[2] = (uint32_t)(rights); |
68 params[3] = (uint32_t)(&result); | 68 params[3] = (uint32_t)(&result); |
69 DoMojoCall(params, sizeof(params)); | 69 DoMojoCall(params, sizeof(params)); |
70 return result; | 70 return result; |
71 }; | 71 }; |
72 | 72 |
| 73 static MojoResult irt_MojoDuplicateHandleWithReducedRights( |
| 74 MojoHandle handle, |
| 75 MojoHandleRights rights_to_remove, |
| 76 MojoHandle* new_handle) { |
| 77 uint32_t params[5]; |
| 78 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
| 79 params[0] = 4; |
| 80 params[1] = (uint32_t)(&handle); |
| 81 params[2] = (uint32_t)(&rights_to_remove); |
| 82 params[3] = (uint32_t)(new_handle); |
| 83 params[4] = (uint32_t)(&result); |
| 84 DoMojoCall(params, sizeof(params)); |
| 85 return result; |
| 86 }; |
| 87 |
| 88 static MojoResult irt_MojoDuplicateHandle( |
| 89 MojoHandle handle, |
| 90 MojoHandle* new_handle) { |
| 91 uint32_t params[4]; |
| 92 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
| 93 params[0] = 5; |
| 94 params[1] = (uint32_t)(&handle); |
| 95 params[2] = (uint32_t)(new_handle); |
| 96 params[3] = (uint32_t)(&result); |
| 97 DoMojoCall(params, sizeof(params)); |
| 98 return result; |
| 99 }; |
| 100 |
73 static MojoResult irt_MojoWait( | 101 static MojoResult irt_MojoWait( |
74 MojoHandle handle, | 102 MojoHandle handle, |
75 MojoHandleSignals signals, | 103 MojoHandleSignals signals, |
76 MojoDeadline deadline, | 104 MojoDeadline deadline, |
77 struct MojoHandleSignalsState* signals_state) { | 105 struct MojoHandleSignalsState* signals_state) { |
78 uint32_t params[6]; | 106 uint32_t params[6]; |
79 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 107 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
80 params[0] = 4; | 108 params[0] = 6; |
81 params[1] = (uint32_t)(&handle); | 109 params[1] = (uint32_t)(&handle); |
82 params[2] = (uint32_t)(&signals); | 110 params[2] = (uint32_t)(&signals); |
83 params[3] = (uint32_t)(&deadline); | 111 params[3] = (uint32_t)(&deadline); |
84 params[4] = (uint32_t)(signals_state); | 112 params[4] = (uint32_t)(signals_state); |
85 params[5] = (uint32_t)(&result); | 113 params[5] = (uint32_t)(&result); |
86 DoMojoCall(params, sizeof(params)); | 114 DoMojoCall(params, sizeof(params)); |
87 return result; | 115 return result; |
88 }; | 116 }; |
89 | 117 |
90 static MojoResult irt_MojoWaitMany( | 118 static MojoResult irt_MojoWaitMany( |
91 const MojoHandle* handles, | 119 const MojoHandle* handles, |
92 const MojoHandleSignals* signals, | 120 const MojoHandleSignals* signals, |
93 uint32_t num_handles, | 121 uint32_t num_handles, |
94 MojoDeadline deadline, | 122 MojoDeadline deadline, |
95 uint32_t* result_index, | 123 uint32_t* result_index, |
96 struct MojoHandleSignalsState* signals_states) { | 124 struct MojoHandleSignalsState* signals_states) { |
97 uint32_t params[8]; | 125 uint32_t params[8]; |
98 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 126 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
99 params[0] = 5; | 127 params[0] = 7; |
100 params[1] = (uint32_t)(handles); | 128 params[1] = (uint32_t)(handles); |
101 params[2] = (uint32_t)(signals); | 129 params[2] = (uint32_t)(signals); |
102 params[3] = (uint32_t)(&num_handles); | 130 params[3] = (uint32_t)(&num_handles); |
103 params[4] = (uint32_t)(&deadline); | 131 params[4] = (uint32_t)(&deadline); |
104 params[5] = (uint32_t)(result_index); | 132 params[5] = (uint32_t)(result_index); |
105 params[6] = (uint32_t)(signals_states); | 133 params[6] = (uint32_t)(signals_states); |
106 params[7] = (uint32_t)(&result); | 134 params[7] = (uint32_t)(&result); |
107 DoMojoCall(params, sizeof(params)); | 135 DoMojoCall(params, sizeof(params)); |
108 return result; | 136 return result; |
109 }; | 137 }; |
110 | 138 |
111 static MojoResult irt_MojoCreateMessagePipe( | 139 static MojoResult irt_MojoCreateMessagePipe( |
112 const struct MojoCreateMessagePipeOptions* options, | 140 const struct MojoCreateMessagePipeOptions* options, |
113 MojoHandle* message_pipe_handle0, | 141 MojoHandle* message_pipe_handle0, |
114 MojoHandle* message_pipe_handle1) { | 142 MojoHandle* message_pipe_handle1) { |
115 uint32_t params[5]; | 143 uint32_t params[5]; |
116 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 144 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
117 params[0] = 6; | 145 params[0] = 8; |
118 params[1] = (uint32_t)(options); | 146 params[1] = (uint32_t)(options); |
119 params[2] = (uint32_t)(message_pipe_handle0); | 147 params[2] = (uint32_t)(message_pipe_handle0); |
120 params[3] = (uint32_t)(message_pipe_handle1); | 148 params[3] = (uint32_t)(message_pipe_handle1); |
121 params[4] = (uint32_t)(&result); | 149 params[4] = (uint32_t)(&result); |
122 DoMojoCall(params, sizeof(params)); | 150 DoMojoCall(params, sizeof(params)); |
123 return result; | 151 return result; |
124 }; | 152 }; |
125 | 153 |
126 static MojoResult irt_MojoWriteMessage( | 154 static MojoResult irt_MojoWriteMessage( |
127 MojoHandle message_pipe_handle, | 155 MojoHandle message_pipe_handle, |
128 const void* bytes, | 156 const void* bytes, |
129 uint32_t num_bytes, | 157 uint32_t num_bytes, |
130 const MojoHandle* handles, | 158 const MojoHandle* handles, |
131 uint32_t num_handles, | 159 uint32_t num_handles, |
132 MojoWriteMessageFlags flags) { | 160 MojoWriteMessageFlags flags) { |
133 uint32_t params[8]; | 161 uint32_t params[8]; |
134 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 162 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
135 params[0] = 7; | 163 params[0] = 9; |
136 params[1] = (uint32_t)(&message_pipe_handle); | 164 params[1] = (uint32_t)(&message_pipe_handle); |
137 params[2] = (uint32_t)(bytes); | 165 params[2] = (uint32_t)(bytes); |
138 params[3] = (uint32_t)(&num_bytes); | 166 params[3] = (uint32_t)(&num_bytes); |
139 params[4] = (uint32_t)(handles); | 167 params[4] = (uint32_t)(handles); |
140 params[5] = (uint32_t)(&num_handles); | 168 params[5] = (uint32_t)(&num_handles); |
141 params[6] = (uint32_t)(&flags); | 169 params[6] = (uint32_t)(&flags); |
142 params[7] = (uint32_t)(&result); | 170 params[7] = (uint32_t)(&result); |
143 DoMojoCall(params, sizeof(params)); | 171 DoMojoCall(params, sizeof(params)); |
144 return result; | 172 return result; |
145 }; | 173 }; |
146 | 174 |
147 static MojoResult irt_MojoReadMessage( | 175 static MojoResult irt_MojoReadMessage( |
148 MojoHandle message_pipe_handle, | 176 MojoHandle message_pipe_handle, |
149 void* bytes, | 177 void* bytes, |
150 uint32_t* num_bytes, | 178 uint32_t* num_bytes, |
151 MojoHandle* handles, | 179 MojoHandle* handles, |
152 uint32_t* num_handles, | 180 uint32_t* num_handles, |
153 MojoReadMessageFlags flags) { | 181 MojoReadMessageFlags flags) { |
154 uint32_t params[8]; | 182 uint32_t params[8]; |
155 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 183 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
156 params[0] = 8; | 184 params[0] = 10; |
157 params[1] = (uint32_t)(&message_pipe_handle); | 185 params[1] = (uint32_t)(&message_pipe_handle); |
158 params[2] = (uint32_t)(bytes); | 186 params[2] = (uint32_t)(bytes); |
159 params[3] = (uint32_t)(num_bytes); | 187 params[3] = (uint32_t)(num_bytes); |
160 params[4] = (uint32_t)(handles); | 188 params[4] = (uint32_t)(handles); |
161 params[5] = (uint32_t)(num_handles); | 189 params[5] = (uint32_t)(num_handles); |
162 params[6] = (uint32_t)(&flags); | 190 params[6] = (uint32_t)(&flags); |
163 params[7] = (uint32_t)(&result); | 191 params[7] = (uint32_t)(&result); |
164 DoMojoCall(params, sizeof(params)); | 192 DoMojoCall(params, sizeof(params)); |
165 return result; | 193 return result; |
166 }; | 194 }; |
167 | 195 |
168 static MojoResult irt_MojoCreateDataPipe( | 196 static MojoResult irt_MojoCreateDataPipe( |
169 const struct MojoCreateDataPipeOptions* options, | 197 const struct MojoCreateDataPipeOptions* options, |
170 MojoHandle* data_pipe_producer_handle, | 198 MojoHandle* data_pipe_producer_handle, |
171 MojoHandle* data_pipe_consumer_handle) { | 199 MojoHandle* data_pipe_consumer_handle) { |
172 uint32_t params[5]; | 200 uint32_t params[5]; |
173 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 201 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
174 params[0] = 9; | 202 params[0] = 11; |
175 params[1] = (uint32_t)(options); | 203 params[1] = (uint32_t)(options); |
176 params[2] = (uint32_t)(data_pipe_producer_handle); | 204 params[2] = (uint32_t)(data_pipe_producer_handle); |
177 params[3] = (uint32_t)(data_pipe_consumer_handle); | 205 params[3] = (uint32_t)(data_pipe_consumer_handle); |
178 params[4] = (uint32_t)(&result); | 206 params[4] = (uint32_t)(&result); |
179 DoMojoCall(params, sizeof(params)); | 207 DoMojoCall(params, sizeof(params)); |
180 return result; | 208 return result; |
181 }; | 209 }; |
182 | 210 |
183 static MojoResult irt_MojoSetDataPipeProducerOptions( | 211 static MojoResult irt_MojoSetDataPipeProducerOptions( |
184 MojoHandle data_pipe_producer_handle, | 212 MojoHandle data_pipe_producer_handle, |
185 const struct MojoDataPipeProducerOptions* options) { | 213 const struct MojoDataPipeProducerOptions* options) { |
186 uint32_t params[4]; | 214 uint32_t params[4]; |
187 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 215 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
188 params[0] = 10; | 216 params[0] = 12; |
189 params[1] = (uint32_t)(&data_pipe_producer_handle); | 217 params[1] = (uint32_t)(&data_pipe_producer_handle); |
190 params[2] = (uint32_t)(options); | 218 params[2] = (uint32_t)(options); |
191 params[3] = (uint32_t)(&result); | 219 params[3] = (uint32_t)(&result); |
192 DoMojoCall(params, sizeof(params)); | 220 DoMojoCall(params, sizeof(params)); |
193 return result; | 221 return result; |
194 }; | 222 }; |
195 | 223 |
196 static MojoResult irt_MojoGetDataPipeProducerOptions( | 224 static MojoResult irt_MojoGetDataPipeProducerOptions( |
197 MojoHandle data_pipe_producer_handle, | 225 MojoHandle data_pipe_producer_handle, |
198 struct MojoDataPipeProducerOptions* options, | 226 struct MojoDataPipeProducerOptions* options, |
199 uint32_t options_num_bytes) { | 227 uint32_t options_num_bytes) { |
200 uint32_t params[5]; | 228 uint32_t params[5]; |
201 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 229 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
202 params[0] = 11; | 230 params[0] = 13; |
203 params[1] = (uint32_t)(&data_pipe_producer_handle); | 231 params[1] = (uint32_t)(&data_pipe_producer_handle); |
204 params[2] = (uint32_t)(options); | 232 params[2] = (uint32_t)(options); |
205 params[3] = (uint32_t)(&options_num_bytes); | 233 params[3] = (uint32_t)(&options_num_bytes); |
206 params[4] = (uint32_t)(&result); | 234 params[4] = (uint32_t)(&result); |
207 DoMojoCall(params, sizeof(params)); | 235 DoMojoCall(params, sizeof(params)); |
208 return result; | 236 return result; |
209 }; | 237 }; |
210 | 238 |
211 static MojoResult irt_MojoWriteData( | 239 static MojoResult irt_MojoWriteData( |
212 MojoHandle data_pipe_producer_handle, | 240 MojoHandle data_pipe_producer_handle, |
213 const void* elements, | 241 const void* elements, |
214 uint32_t* num_bytes, | 242 uint32_t* num_bytes, |
215 MojoWriteDataFlags flags) { | 243 MojoWriteDataFlags flags) { |
216 uint32_t params[6]; | 244 uint32_t params[6]; |
217 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 245 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
218 params[0] = 12; | 246 params[0] = 14; |
219 params[1] = (uint32_t)(&data_pipe_producer_handle); | 247 params[1] = (uint32_t)(&data_pipe_producer_handle); |
220 params[2] = (uint32_t)(elements); | 248 params[2] = (uint32_t)(elements); |
221 params[3] = (uint32_t)(num_bytes); | 249 params[3] = (uint32_t)(num_bytes); |
222 params[4] = (uint32_t)(&flags); | 250 params[4] = (uint32_t)(&flags); |
223 params[5] = (uint32_t)(&result); | 251 params[5] = (uint32_t)(&result); |
224 DoMojoCall(params, sizeof(params)); | 252 DoMojoCall(params, sizeof(params)); |
225 return result; | 253 return result; |
226 }; | 254 }; |
227 | 255 |
228 static MojoResult irt_MojoBeginWriteData( | 256 static MojoResult irt_MojoBeginWriteData( |
229 MojoHandle data_pipe_producer_handle, | 257 MojoHandle data_pipe_producer_handle, |
230 void** buffer, | 258 void** buffer, |
231 uint32_t* buffer_num_bytes, | 259 uint32_t* buffer_num_bytes, |
232 MojoWriteDataFlags flags) { | 260 MojoWriteDataFlags flags) { |
233 uint32_t params[6]; | 261 uint32_t params[6]; |
234 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 262 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
235 params[0] = 13; | 263 params[0] = 15; |
236 params[1] = (uint32_t)(&data_pipe_producer_handle); | 264 params[1] = (uint32_t)(&data_pipe_producer_handle); |
237 params[2] = (uint32_t)(buffer); | 265 params[2] = (uint32_t)(buffer); |
238 params[3] = (uint32_t)(buffer_num_bytes); | 266 params[3] = (uint32_t)(buffer_num_bytes); |
239 params[4] = (uint32_t)(&flags); | 267 params[4] = (uint32_t)(&flags); |
240 params[5] = (uint32_t)(&result); | 268 params[5] = (uint32_t)(&result); |
241 DoMojoCall(params, sizeof(params)); | 269 DoMojoCall(params, sizeof(params)); |
242 return result; | 270 return result; |
243 }; | 271 }; |
244 | 272 |
245 static MojoResult irt_MojoEndWriteData( | 273 static MojoResult irt_MojoEndWriteData( |
246 MojoHandle data_pipe_producer_handle, | 274 MojoHandle data_pipe_producer_handle, |
247 uint32_t num_bytes_written) { | 275 uint32_t num_bytes_written) { |
248 uint32_t params[4]; | 276 uint32_t params[4]; |
249 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 277 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
250 params[0] = 14; | 278 params[0] = 16; |
251 params[1] = (uint32_t)(&data_pipe_producer_handle); | 279 params[1] = (uint32_t)(&data_pipe_producer_handle); |
252 params[2] = (uint32_t)(&num_bytes_written); | 280 params[2] = (uint32_t)(&num_bytes_written); |
253 params[3] = (uint32_t)(&result); | 281 params[3] = (uint32_t)(&result); |
254 DoMojoCall(params, sizeof(params)); | 282 DoMojoCall(params, sizeof(params)); |
255 return result; | 283 return result; |
256 }; | 284 }; |
257 | 285 |
258 static MojoResult irt_MojoSetDataPipeConsumerOptions( | 286 static MojoResult irt_MojoSetDataPipeConsumerOptions( |
259 MojoHandle data_pipe_consumer_handle, | 287 MojoHandle data_pipe_consumer_handle, |
260 const struct MojoDataPipeConsumerOptions* options) { | 288 const struct MojoDataPipeConsumerOptions* options) { |
261 uint32_t params[4]; | 289 uint32_t params[4]; |
262 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 290 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
263 params[0] = 15; | 291 params[0] = 17; |
264 params[1] = (uint32_t)(&data_pipe_consumer_handle); | 292 params[1] = (uint32_t)(&data_pipe_consumer_handle); |
265 params[2] = (uint32_t)(options); | 293 params[2] = (uint32_t)(options); |
266 params[3] = (uint32_t)(&result); | 294 params[3] = (uint32_t)(&result); |
267 DoMojoCall(params, sizeof(params)); | 295 DoMojoCall(params, sizeof(params)); |
268 return result; | 296 return result; |
269 }; | 297 }; |
270 | 298 |
271 static MojoResult irt_MojoGetDataPipeConsumerOptions( | 299 static MojoResult irt_MojoGetDataPipeConsumerOptions( |
272 MojoHandle data_pipe_consumer_handle, | 300 MojoHandle data_pipe_consumer_handle, |
273 struct MojoDataPipeConsumerOptions* options, | 301 struct MojoDataPipeConsumerOptions* options, |
274 uint32_t options_num_bytes) { | 302 uint32_t options_num_bytes) { |
275 uint32_t params[5]; | 303 uint32_t params[5]; |
276 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 304 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
277 params[0] = 16; | 305 params[0] = 18; |
278 params[1] = (uint32_t)(&data_pipe_consumer_handle); | 306 params[1] = (uint32_t)(&data_pipe_consumer_handle); |
279 params[2] = (uint32_t)(options); | 307 params[2] = (uint32_t)(options); |
280 params[3] = (uint32_t)(&options_num_bytes); | 308 params[3] = (uint32_t)(&options_num_bytes); |
281 params[4] = (uint32_t)(&result); | 309 params[4] = (uint32_t)(&result); |
282 DoMojoCall(params, sizeof(params)); | 310 DoMojoCall(params, sizeof(params)); |
283 return result; | 311 return result; |
284 }; | 312 }; |
285 | 313 |
286 static MojoResult irt_MojoReadData( | 314 static MojoResult irt_MojoReadData( |
287 MojoHandle data_pipe_consumer_handle, | 315 MojoHandle data_pipe_consumer_handle, |
288 void* elements, | 316 void* elements, |
289 uint32_t* num_bytes, | 317 uint32_t* num_bytes, |
290 MojoReadDataFlags flags) { | 318 MojoReadDataFlags flags) { |
291 uint32_t params[6]; | 319 uint32_t params[6]; |
292 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 320 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
293 params[0] = 17; | 321 params[0] = 19; |
294 params[1] = (uint32_t)(&data_pipe_consumer_handle); | 322 params[1] = (uint32_t)(&data_pipe_consumer_handle); |
295 params[2] = (uint32_t)(elements); | 323 params[2] = (uint32_t)(elements); |
296 params[3] = (uint32_t)(num_bytes); | 324 params[3] = (uint32_t)(num_bytes); |
297 params[4] = (uint32_t)(&flags); | 325 params[4] = (uint32_t)(&flags); |
298 params[5] = (uint32_t)(&result); | 326 params[5] = (uint32_t)(&result); |
299 DoMojoCall(params, sizeof(params)); | 327 DoMojoCall(params, sizeof(params)); |
300 return result; | 328 return result; |
301 }; | 329 }; |
302 | 330 |
303 static MojoResult irt_MojoBeginReadData( | 331 static MojoResult irt_MojoBeginReadData( |
304 MojoHandle data_pipe_consumer_handle, | 332 MojoHandle data_pipe_consumer_handle, |
305 const void** buffer, | 333 const void** buffer, |
306 uint32_t* buffer_num_bytes, | 334 uint32_t* buffer_num_bytes, |
307 MojoReadDataFlags flags) { | 335 MojoReadDataFlags flags) { |
308 uint32_t params[6]; | 336 uint32_t params[6]; |
309 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 337 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
310 params[0] = 18; | 338 params[0] = 20; |
311 params[1] = (uint32_t)(&data_pipe_consumer_handle); | 339 params[1] = (uint32_t)(&data_pipe_consumer_handle); |
312 params[2] = (uint32_t)(buffer); | 340 params[2] = (uint32_t)(buffer); |
313 params[3] = (uint32_t)(buffer_num_bytes); | 341 params[3] = (uint32_t)(buffer_num_bytes); |
314 params[4] = (uint32_t)(&flags); | 342 params[4] = (uint32_t)(&flags); |
315 params[5] = (uint32_t)(&result); | 343 params[5] = (uint32_t)(&result); |
316 DoMojoCall(params, sizeof(params)); | 344 DoMojoCall(params, sizeof(params)); |
317 return result; | 345 return result; |
318 }; | 346 }; |
319 | 347 |
320 static MojoResult irt_MojoEndReadData( | 348 static MojoResult irt_MojoEndReadData( |
321 MojoHandle data_pipe_consumer_handle, | 349 MojoHandle data_pipe_consumer_handle, |
322 uint32_t num_bytes_read) { | 350 uint32_t num_bytes_read) { |
323 uint32_t params[4]; | 351 uint32_t params[4]; |
324 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 352 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
325 params[0] = 19; | 353 params[0] = 21; |
326 params[1] = (uint32_t)(&data_pipe_consumer_handle); | 354 params[1] = (uint32_t)(&data_pipe_consumer_handle); |
327 params[2] = (uint32_t)(&num_bytes_read); | 355 params[2] = (uint32_t)(&num_bytes_read); |
328 params[3] = (uint32_t)(&result); | 356 params[3] = (uint32_t)(&result); |
329 DoMojoCall(params, sizeof(params)); | 357 DoMojoCall(params, sizeof(params)); |
330 return result; | 358 return result; |
331 }; | 359 }; |
332 | 360 |
333 static MojoResult irt_MojoCreateSharedBuffer( | 361 static MojoResult irt_MojoCreateSharedBuffer( |
334 const struct MojoCreateSharedBufferOptions* options, | 362 const struct MojoCreateSharedBufferOptions* options, |
335 uint64_t num_bytes, | 363 uint64_t num_bytes, |
336 MojoHandle* shared_buffer_handle) { | 364 MojoHandle* shared_buffer_handle) { |
337 uint32_t params[5]; | 365 uint32_t params[5]; |
338 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 366 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
339 params[0] = 20; | 367 params[0] = 22; |
340 params[1] = (uint32_t)(options); | 368 params[1] = (uint32_t)(options); |
341 params[2] = (uint32_t)(&num_bytes); | 369 params[2] = (uint32_t)(&num_bytes); |
342 params[3] = (uint32_t)(shared_buffer_handle); | 370 params[3] = (uint32_t)(shared_buffer_handle); |
343 params[4] = (uint32_t)(&result); | 371 params[4] = (uint32_t)(&result); |
344 DoMojoCall(params, sizeof(params)); | 372 DoMojoCall(params, sizeof(params)); |
345 return result; | 373 return result; |
346 }; | 374 }; |
347 | 375 |
348 static MojoResult irt_MojoDuplicateBufferHandle( | 376 static MojoResult irt_MojoDuplicateBufferHandle( |
349 MojoHandle buffer_handle, | 377 MojoHandle buffer_handle, |
350 const struct MojoDuplicateBufferHandleOptions* options, | 378 const struct MojoDuplicateBufferHandleOptions* options, |
351 MojoHandle* new_buffer_handle) { | 379 MojoHandle* new_buffer_handle) { |
352 uint32_t params[5]; | 380 uint32_t params[5]; |
353 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 381 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
354 params[0] = 21; | 382 params[0] = 23; |
355 params[1] = (uint32_t)(&buffer_handle); | 383 params[1] = (uint32_t)(&buffer_handle); |
356 params[2] = (uint32_t)(options); | 384 params[2] = (uint32_t)(options); |
357 params[3] = (uint32_t)(new_buffer_handle); | 385 params[3] = (uint32_t)(new_buffer_handle); |
358 params[4] = (uint32_t)(&result); | 386 params[4] = (uint32_t)(&result); |
359 DoMojoCall(params, sizeof(params)); | 387 DoMojoCall(params, sizeof(params)); |
360 return result; | 388 return result; |
361 }; | 389 }; |
362 | 390 |
363 static MojoResult irt_MojoGetBufferInformation( | 391 static MojoResult irt_MojoGetBufferInformation( |
364 MojoHandle buffer_handle, | 392 MojoHandle buffer_handle, |
365 struct MojoBufferInformation* info, | 393 struct MojoBufferInformation* info, |
366 uint32_t info_num_bytes) { | 394 uint32_t info_num_bytes) { |
367 uint32_t params[5]; | 395 uint32_t params[5]; |
368 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 396 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
369 params[0] = 22; | 397 params[0] = 24; |
370 params[1] = (uint32_t)(&buffer_handle); | 398 params[1] = (uint32_t)(&buffer_handle); |
371 params[2] = (uint32_t)(info); | 399 params[2] = (uint32_t)(info); |
372 params[3] = (uint32_t)(&info_num_bytes); | 400 params[3] = (uint32_t)(&info_num_bytes); |
373 params[4] = (uint32_t)(&result); | 401 params[4] = (uint32_t)(&result); |
374 DoMojoCall(params, sizeof(params)); | 402 DoMojoCall(params, sizeof(params)); |
375 return result; | 403 return result; |
376 }; | 404 }; |
377 | 405 |
378 static MojoResult irt_MojoMapBuffer( | 406 static MojoResult irt_MojoMapBuffer( |
379 MojoHandle buffer_handle, | 407 MojoHandle buffer_handle, |
380 uint64_t offset, | 408 uint64_t offset, |
381 uint64_t num_bytes, | 409 uint64_t num_bytes, |
382 void** buffer, | 410 void** buffer, |
383 MojoMapBufferFlags flags) { | 411 MojoMapBufferFlags flags) { |
384 uint32_t params[7]; | 412 uint32_t params[7]; |
385 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 413 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
386 params[0] = 23; | 414 params[0] = 25; |
387 params[1] = (uint32_t)(&buffer_handle); | 415 params[1] = (uint32_t)(&buffer_handle); |
388 params[2] = (uint32_t)(&offset); | 416 params[2] = (uint32_t)(&offset); |
389 params[3] = (uint32_t)(&num_bytes); | 417 params[3] = (uint32_t)(&num_bytes); |
390 params[4] = (uint32_t)(buffer); | 418 params[4] = (uint32_t)(buffer); |
391 params[5] = (uint32_t)(&flags); | 419 params[5] = (uint32_t)(&flags); |
392 params[6] = (uint32_t)(&result); | 420 params[6] = (uint32_t)(&result); |
393 DoMojoCall(params, sizeof(params)); | 421 DoMojoCall(params, sizeof(params)); |
394 return result; | 422 return result; |
395 }; | 423 }; |
396 | 424 |
397 static MojoResult irt_MojoUnmapBuffer(void* buffer) { | 425 static MojoResult irt_MojoUnmapBuffer(void* buffer) { |
398 uint32_t params[3]; | 426 uint32_t params[3]; |
399 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; | 427 MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
400 params[0] = 24; | 428 params[0] = 26; |
401 params[1] = (uint32_t)(&buffer); | 429 params[1] = (uint32_t)(&buffer); |
402 params[2] = (uint32_t)(&result); | 430 params[2] = (uint32_t)(&result); |
403 DoMojoCall(params, sizeof(params)); | 431 DoMojoCall(params, sizeof(params)); |
404 return result; | 432 return result; |
405 }; | 433 }; |
406 | 434 |
407 struct nacl_irt_mojo kIrtMojo = { | 435 struct nacl_irt_mojo kIrtMojo = { |
408 &irt__MojoGetInitialHandle, | 436 &irt__MojoGetInitialHandle, |
409 &irt_MojoGetTimeTicksNow, | 437 &irt_MojoGetTimeTicksNow, |
410 &irt_MojoClose, | 438 &irt_MojoClose, |
411 &irt_MojoGetRights, | 439 &irt_MojoGetRights, |
| 440 &irt_MojoDuplicateHandleWithReducedRights, |
| 441 &irt_MojoDuplicateHandle, |
412 &irt_MojoWait, | 442 &irt_MojoWait, |
413 &irt_MojoWaitMany, | 443 &irt_MojoWaitMany, |
414 &irt_MojoCreateMessagePipe, | 444 &irt_MojoCreateMessagePipe, |
415 &irt_MojoWriteMessage, | 445 &irt_MojoWriteMessage, |
416 &irt_MojoReadMessage, | 446 &irt_MojoReadMessage, |
417 &irt_MojoCreateDataPipe, | 447 &irt_MojoCreateDataPipe, |
418 &irt_MojoSetDataPipeProducerOptions, | 448 &irt_MojoSetDataPipeProducerOptions, |
419 &irt_MojoGetDataPipeProducerOptions, | 449 &irt_MojoGetDataPipeProducerOptions, |
420 &irt_MojoWriteData, | 450 &irt_MojoWriteData, |
421 &irt_MojoBeginWriteData, | 451 &irt_MojoBeginWriteData, |
(...skipping 16 matching lines...) Expand all Loading... |
438 size_t tablesize) { | 468 size_t tablesize) { |
439 static const size_t size = sizeof(kIrtMojo); | 469 static const size_t size = sizeof(kIrtMojo); |
440 if (0 == strcmp(interface_ident, NACL_IRT_MOJO_v0_1)) { | 470 if (0 == strcmp(interface_ident, NACL_IRT_MOJO_v0_1)) { |
441 if (size <= tablesize) { | 471 if (size <= tablesize) { |
442 memcpy(table, &kIrtMojo, size); | 472 memcpy(table, &kIrtMojo, size); |
443 return size; | 473 return size; |
444 } | 474 } |
445 } | 475 } |
446 return 0; | 476 return 0; |
447 } | 477 } |
OLD | NEW |