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

Side by Side Diff: mojo/nacl/sfi/nacl_bindings/mojo_irt.c

Issue 2000253002: Add thunks for MojoDuplicateHandle[WithReducedRights](). (Closed) Base URL: https://github.com/domokit/mojo.git@work792_dup_handle_1
Patch Set: Created 4 years, 7 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
« no previous file with comments | « mojo/nacl/nonsfi/irt_mojo_nonsfi.cc ('k') | mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « mojo/nacl/nonsfi/irt_mojo_nonsfi.cc ('k') | mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698