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

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

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