| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // 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 "nacl_bindings/mojo_syscall.h" | 8 #include "nacl_bindings/mojo_syscall.h" |
| 9 | 9 |
| 10 #include <stdio.h> | 10 #include <stdio.h> |
| 11 | 11 |
| 12 #include "mojo/public/c/system/core.h" | 12 #include "mojo/public/c/system/core.h" |
| 13 #include "mojo/public/platform/native/core_system_api.h" |
| 13 #include "nacl_bindings/mojo_syscall_internal.h" | 14 #include "nacl_bindings/mojo_syscall_internal.h" |
| 14 #include "native_client/src/public/chrome_main.h" | 15 #include "native_client/src/public/chrome_main.h" |
| 15 #include "native_client/src/public/nacl_app.h" | 16 #include "native_client/src/public/nacl_app.h" |
| 16 #include "native_client/src/trusted/desc/nacl_desc_custom.h" | 17 #include "native_client/src/trusted/desc/nacl_desc_custom.h" |
| 17 | 18 |
| 18 MojoHandle g_mojo_handle = MOJO_HANDLE_INVALID; | 19 MojoHandle g_mojo_handle = MOJO_HANDLE_INVALID; |
| 20 MojoCoreHandle g_mojo_core = nullptr; |
| 19 | 21 |
| 20 namespace { | 22 namespace { |
| 21 | 23 |
| 22 MojoResult _MojoGetInitialHandle(MojoHandle* handle) { | 24 MojoResult _MojoGetInitialHandle(MojoHandle* handle) { |
| 23 *handle = g_mojo_handle; | 25 *handle = g_mojo_handle; |
| 24 return MOJO_RESULT_OK; | 26 return MOJO_RESULT_OK; |
| 25 } | 27 } |
| 26 | 28 |
| 27 void MojoDescDestroy(void* handle) { | 29 void MojoDescDestroy(void* handle) { |
| 28 } | 30 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 if (!ConvertScalarInOut(nap, params[3], false, | 68 if (!ConvertScalarInOut(nap, params[3], false, |
| 67 &shared_buffer_handle_value, | 69 &shared_buffer_handle_value, |
| 68 &shared_buffer_handle_ptr)) { | 70 &shared_buffer_handle_ptr)) { |
| 69 return -1; | 71 return -1; |
| 70 } | 72 } |
| 71 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { | 73 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { |
| 72 return -1; | 74 return -1; |
| 73 } | 75 } |
| 74 } | 76 } |
| 75 | 77 |
| 76 result_value = MojoCreateSharedBuffer(options, num_bytes_value, | 78 result_value = MojoCoreCreateSharedBuffer( |
| 77 &shared_buffer_handle_value); | 79 g_mojo_core, options, num_bytes_value, &shared_buffer_handle_value); |
| 78 | 80 |
| 79 { | 81 { |
| 80 ScopedCopyLock copy_lock(nap); | 82 ScopedCopyLock copy_lock(nap); |
| 81 *shared_buffer_handle_ptr = shared_buffer_handle_value; | 83 *shared_buffer_handle_ptr = shared_buffer_handle_value; |
| 82 *result_ptr = result_value; | 84 *result_ptr = result_value; |
| 83 } | 85 } |
| 84 | 86 |
| 85 return 0; | 87 return 0; |
| 86 } | 88 } |
| 87 case 1: { | 89 case 1: { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 104 } | 106 } |
| 105 if (!ConvertScalarInOut(nap, params[3], false, &new_buffer_handle_value, | 107 if (!ConvertScalarInOut(nap, params[3], false, &new_buffer_handle_value, |
| 106 &new_buffer_handle_ptr)) { | 108 &new_buffer_handle_ptr)) { |
| 107 return -1; | 109 return -1; |
| 108 } | 110 } |
| 109 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { | 111 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { |
| 110 return -1; | 112 return -1; |
| 111 } | 113 } |
| 112 } | 114 } |
| 113 | 115 |
| 114 result_value = MojoDuplicateBufferHandle(buffer_handle_value, options, | 116 result_value = MojoCoreDuplicateBufferHandle( |
| 115 &new_buffer_handle_value); | 117 g_mojo_core, buffer_handle_value, options, &new_buffer_handle_value); |
| 116 | 118 |
| 117 { | 119 { |
| 118 ScopedCopyLock copy_lock(nap); | 120 ScopedCopyLock copy_lock(nap); |
| 119 *new_buffer_handle_ptr = new_buffer_handle_value; | 121 *new_buffer_handle_ptr = new_buffer_handle_value; |
| 120 *result_ptr = result_value; | 122 *result_ptr = result_value; |
| 121 } | 123 } |
| 122 | 124 |
| 123 return 0; | 125 return 0; |
| 124 } | 126 } |
| 125 case 2: | 127 case 2: |
| (...skipping 26 matching lines...) Expand all Loading... |
| 152 if (!ConvertScalarInOut(nap, params[3], false, | 154 if (!ConvertScalarInOut(nap, params[3], false, |
| 153 &data_pipe_consumer_handle_value, | 155 &data_pipe_consumer_handle_value, |
| 154 &data_pipe_consumer_handle_ptr)) { | 156 &data_pipe_consumer_handle_ptr)) { |
| 155 return -1; | 157 return -1; |
| 156 } | 158 } |
| 157 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { | 159 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { |
| 158 return -1; | 160 return -1; |
| 159 } | 161 } |
| 160 } | 162 } |
| 161 | 163 |
| 162 result_value = | 164 result_value = MojoCoreCreateDataPipe(g_mojo_core, options, |
| 163 MojoCreateDataPipe(options, &data_pipe_producer_handle_value, | 165 &data_pipe_producer_handle_value, |
| 164 &data_pipe_consumer_handle_value); | 166 &data_pipe_consumer_handle_value); |
| 165 | 167 |
| 166 { | 168 { |
| 167 ScopedCopyLock copy_lock(nap); | 169 ScopedCopyLock copy_lock(nap); |
| 168 *data_pipe_producer_handle_ptr = data_pipe_producer_handle_value; | 170 *data_pipe_producer_handle_ptr = data_pipe_producer_handle_value; |
| 169 *data_pipe_consumer_handle_ptr = data_pipe_consumer_handle_value; | 171 *data_pipe_consumer_handle_ptr = data_pipe_consumer_handle_value; |
| 170 *result_ptr = result_value; | 172 *result_ptr = result_value; |
| 171 } | 173 } |
| 172 | 174 |
| 173 return 0; | 175 return 0; |
| 174 } | 176 } |
| (...skipping 23 matching lines...) Expand all Loading... |
| 198 } | 200 } |
| 199 if (!ConvertScalarOutput(nap, params[5], false, &result_ptr)) { | 201 if (!ConvertScalarOutput(nap, params[5], false, &result_ptr)) { |
| 200 return -1; | 202 return -1; |
| 201 } | 203 } |
| 202 if (!ConvertArray(nap, params[2], num_bytes_value, 1, false, | 204 if (!ConvertArray(nap, params[2], num_bytes_value, 1, false, |
| 203 &elements)) { | 205 &elements)) { |
| 204 return -1; | 206 return -1; |
| 205 } | 207 } |
| 206 } | 208 } |
| 207 | 209 |
| 208 result_value = MojoWriteData(data_pipe_producer_handle_value, elements, | 210 result_value = |
| 209 &num_bytes_value, flags_value); | 211 MojoCoreWriteData(g_mojo_core, data_pipe_producer_handle_value, |
| 212 elements, &num_bytes_value, flags_value); |
| 210 | 213 |
| 211 { | 214 { |
| 212 ScopedCopyLock copy_lock(nap); | 215 ScopedCopyLock copy_lock(nap); |
| 213 *num_bytes_ptr = num_bytes_value; | 216 *num_bytes_ptr = num_bytes_value; |
| 214 *result_ptr = result_value; | 217 *result_ptr = result_value; |
| 215 } | 218 } |
| 216 | 219 |
| 217 return 0; | 220 return 0; |
| 218 } | 221 } |
| 219 case 6: | 222 case 6: |
| (...skipping 14 matching lines...) Expand all Loading... |
| 234 return -1; | 237 return -1; |
| 235 } | 238 } |
| 236 if (!ConvertScalarInput(nap, params[2], &num_bytes_written_value)) { | 239 if (!ConvertScalarInput(nap, params[2], &num_bytes_written_value)) { |
| 237 return -1; | 240 return -1; |
| 238 } | 241 } |
| 239 if (!ConvertScalarOutput(nap, params[3], false, &result_ptr)) { | 242 if (!ConvertScalarOutput(nap, params[3], false, &result_ptr)) { |
| 240 return -1; | 243 return -1; |
| 241 } | 244 } |
| 242 } | 245 } |
| 243 | 246 |
| 244 result_value = MojoEndWriteData(data_pipe_producer_handle_value, | 247 result_value = |
| 245 num_bytes_written_value); | 248 MojoCoreEndWriteData(g_mojo_core, data_pipe_producer_handle_value, |
| 249 num_bytes_written_value); |
| 246 | 250 |
| 247 { | 251 { |
| 248 ScopedCopyLock copy_lock(nap); | 252 ScopedCopyLock copy_lock(nap); |
| 249 *result_ptr = result_value; | 253 *result_ptr = result_value; |
| 250 } | 254 } |
| 251 | 255 |
| 252 return 0; | 256 return 0; |
| 253 } | 257 } |
| 254 case 8: { | 258 case 8: { |
| 255 if (num_params != 6) { | 259 if (num_params != 6) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 277 } | 281 } |
| 278 if (!ConvertScalarOutput(nap, params[5], false, &result_ptr)) { | 282 if (!ConvertScalarOutput(nap, params[5], false, &result_ptr)) { |
| 279 return -1; | 283 return -1; |
| 280 } | 284 } |
| 281 if (!ConvertArray(nap, params[2], num_bytes_value, 1, false, | 285 if (!ConvertArray(nap, params[2], num_bytes_value, 1, false, |
| 282 &elements)) { | 286 &elements)) { |
| 283 return -1; | 287 return -1; |
| 284 } | 288 } |
| 285 } | 289 } |
| 286 | 290 |
| 287 result_value = MojoReadData(data_pipe_consumer_handle_value, elements, | 291 result_value = |
| 288 &num_bytes_value, flags_value); | 292 MojoCoreReadData(g_mojo_core, data_pipe_consumer_handle_value, |
| 293 elements, &num_bytes_value, flags_value); |
| 289 | 294 |
| 290 { | 295 { |
| 291 ScopedCopyLock copy_lock(nap); | 296 ScopedCopyLock copy_lock(nap); |
| 292 *num_bytes_ptr = num_bytes_value; | 297 *num_bytes_ptr = num_bytes_value; |
| 293 *result_ptr = result_value; | 298 *result_ptr = result_value; |
| 294 } | 299 } |
| 295 | 300 |
| 296 return 0; | 301 return 0; |
| 297 } | 302 } |
| 298 case 9: | 303 case 9: |
| (...skipping 14 matching lines...) Expand all Loading... |
| 313 return -1; | 318 return -1; |
| 314 } | 319 } |
| 315 if (!ConvertScalarInput(nap, params[2], &num_bytes_read_value)) { | 320 if (!ConvertScalarInput(nap, params[2], &num_bytes_read_value)) { |
| 316 return -1; | 321 return -1; |
| 317 } | 322 } |
| 318 if (!ConvertScalarOutput(nap, params[3], false, &result_ptr)) { | 323 if (!ConvertScalarOutput(nap, params[3], false, &result_ptr)) { |
| 319 return -1; | 324 return -1; |
| 320 } | 325 } |
| 321 } | 326 } |
| 322 | 327 |
| 323 result_value = MojoEndReadData(data_pipe_consumer_handle_value, | 328 result_value = MojoCoreEndReadData( |
| 324 num_bytes_read_value); | 329 g_mojo_core, data_pipe_consumer_handle_value, num_bytes_read_value); |
| 325 | 330 |
| 326 { | 331 { |
| 327 ScopedCopyLock copy_lock(nap); | 332 ScopedCopyLock copy_lock(nap); |
| 328 *result_ptr = result_value; | 333 *result_ptr = result_value; |
| 329 } | 334 } |
| 330 | 335 |
| 331 return 0; | 336 return 0; |
| 332 } | 337 } |
| 333 case 11: { | 338 case 11: { |
| 334 if (num_params != 2) { | 339 if (num_params != 2) { |
| 335 return -1; | 340 return -1; |
| 336 } | 341 } |
| 337 MojoTimeTicks volatile* result_ptr; | 342 MojoTimeTicks volatile* result_ptr; |
| 338 MojoTimeTicks result_value; | 343 MojoTimeTicks result_value; |
| 339 { | 344 { |
| 340 ScopedCopyLock copy_lock(nap); | 345 ScopedCopyLock copy_lock(nap); |
| 341 if (!ConvertScalarOutput(nap, params[1], false, &result_ptr)) { | 346 if (!ConvertScalarOutput(nap, params[1], false, &result_ptr)) { |
| 342 return -1; | 347 return -1; |
| 343 } | 348 } |
| 344 } | 349 } |
| 345 | 350 |
| 346 result_value = MojoGetTimeTicksNow(); | 351 result_value = MojoCoreGetTimeTicksNow(g_mojo_core); |
| 347 | 352 |
| 348 { | 353 { |
| 349 ScopedCopyLock copy_lock(nap); | 354 ScopedCopyLock copy_lock(nap); |
| 350 *result_ptr = result_value; | 355 *result_ptr = result_value; |
| 351 } | 356 } |
| 352 | 357 |
| 353 return 0; | 358 return 0; |
| 354 } | 359 } |
| 355 case 12: { | 360 case 12: { |
| 356 if (num_params != 3) { | 361 if (num_params != 3) { |
| 357 return -1; | 362 return -1; |
| 358 } | 363 } |
| 359 MojoHandle handle_value; | 364 MojoHandle handle_value; |
| 360 MojoResult volatile* result_ptr; | 365 MojoResult volatile* result_ptr; |
| 361 MojoResult result_value; | 366 MojoResult result_value; |
| 362 { | 367 { |
| 363 ScopedCopyLock copy_lock(nap); | 368 ScopedCopyLock copy_lock(nap); |
| 364 if (!ConvertScalarInput(nap, params[1], &handle_value)) { | 369 if (!ConvertScalarInput(nap, params[1], &handle_value)) { |
| 365 return -1; | 370 return -1; |
| 366 } | 371 } |
| 367 if (!ConvertScalarOutput(nap, params[2], false, &result_ptr)) { | 372 if (!ConvertScalarOutput(nap, params[2], false, &result_ptr)) { |
| 368 return -1; | 373 return -1; |
| 369 } | 374 } |
| 370 } | 375 } |
| 371 | 376 |
| 372 result_value = MojoClose(handle_value); | 377 result_value = MojoCoreClose(g_mojo_core, handle_value); |
| 373 | 378 |
| 374 { | 379 { |
| 375 ScopedCopyLock copy_lock(nap); | 380 ScopedCopyLock copy_lock(nap); |
| 376 *result_ptr = result_value; | 381 *result_ptr = result_value; |
| 377 } | 382 } |
| 378 | 383 |
| 379 return 0; | 384 return 0; |
| 380 } | 385 } |
| 381 case 13: { | 386 case 13: { |
| 382 if (num_params != 6) { | 387 if (num_params != 6) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 401 return -1; | 406 return -1; |
| 402 } | 407 } |
| 403 if (!ConvertScalarOutput(nap, params[4], true, &signals_state_ptr)) { | 408 if (!ConvertScalarOutput(nap, params[4], true, &signals_state_ptr)) { |
| 404 return -1; | 409 return -1; |
| 405 } | 410 } |
| 406 if (!ConvertScalarOutput(nap, params[5], false, &result_ptr)) { | 411 if (!ConvertScalarOutput(nap, params[5], false, &result_ptr)) { |
| 407 return -1; | 412 return -1; |
| 408 } | 413 } |
| 409 } | 414 } |
| 410 | 415 |
| 411 result_value = MojoWait(handle_value, signals_value, deadline_value, | 416 result_value = |
| 412 signals_state_ptr ? &signals_state_value : NULL); | 417 MojoCoreWait(g_mojo_core, handle_value, signals_value, deadline_value, |
| 418 signals_state_ptr ? &signals_state_value : NULL); |
| 413 | 419 |
| 414 { | 420 { |
| 415 ScopedCopyLock copy_lock(nap); | 421 ScopedCopyLock copy_lock(nap); |
| 416 if (signals_state_ptr != NULL) { | 422 if (signals_state_ptr != NULL) { |
| 417 memcpy_volatile_out(signals_state_ptr, &signals_state_value, | 423 memcpy_volatile_out(signals_state_ptr, &signals_state_value, |
| 418 sizeof(MojoHandleSignalsState)); | 424 sizeof(MojoHandleSignalsState)); |
| 419 } | 425 } |
| 420 *result_ptr = result_value; | 426 *result_ptr = result_value; |
| 421 } | 427 } |
| 422 | 428 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 if (!ConvertArray(nap, params[2], num_handles_value, sizeof(*signals), | 463 if (!ConvertArray(nap, params[2], num_handles_value, sizeof(*signals), |
| 458 false, &signals)) { | 464 false, &signals)) { |
| 459 return -1; | 465 return -1; |
| 460 } | 466 } |
| 461 if (!ConvertArray(nap, params[6], num_handles_value, | 467 if (!ConvertArray(nap, params[6], num_handles_value, |
| 462 sizeof(*signals_states), true, &signals_states)) { | 468 sizeof(*signals_states), true, &signals_states)) { |
| 463 return -1; | 469 return -1; |
| 464 } | 470 } |
| 465 } | 471 } |
| 466 | 472 |
| 467 result_value = MojoWaitMany( | 473 result_value = MojoCoreWaitMany( |
| 468 handles, signals, num_handles_value, deadline_value, | 474 g_mojo_core, handles, signals, num_handles_value, deadline_value, |
| 469 result_index_ptr ? &result_index_value : NULL, signals_states); | 475 result_index_ptr ? &result_index_value : NULL, signals_states); |
| 470 | 476 |
| 471 { | 477 { |
| 472 ScopedCopyLock copy_lock(nap); | 478 ScopedCopyLock copy_lock(nap); |
| 473 if (result_index_ptr != NULL) { | 479 if (result_index_ptr != NULL) { |
| 474 *result_index_ptr = result_index_value; | 480 *result_index_ptr = result_index_value; |
| 475 } | 481 } |
| 476 *result_ptr = result_value; | 482 *result_ptr = result_value; |
| 477 } | 483 } |
| 478 | 484 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 502 if (!ConvertScalarInOut(nap, params[3], false, | 508 if (!ConvertScalarInOut(nap, params[3], false, |
| 503 &message_pipe_handle1_value, | 509 &message_pipe_handle1_value, |
| 504 &message_pipe_handle1_ptr)) { | 510 &message_pipe_handle1_ptr)) { |
| 505 return -1; | 511 return -1; |
| 506 } | 512 } |
| 507 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { | 513 if (!ConvertScalarOutput(nap, params[4], false, &result_ptr)) { |
| 508 return -1; | 514 return -1; |
| 509 } | 515 } |
| 510 } | 516 } |
| 511 | 517 |
| 512 result_value = MojoCreateMessagePipe(options, &message_pipe_handle0_value, | 518 result_value = MojoCoreCreateMessagePipe(g_mojo_core, options, |
| 513 &message_pipe_handle1_value); | 519 &message_pipe_handle0_value, |
| 520 &message_pipe_handle1_value); |
| 514 | 521 |
| 515 { | 522 { |
| 516 ScopedCopyLock copy_lock(nap); | 523 ScopedCopyLock copy_lock(nap); |
| 517 *message_pipe_handle0_ptr = message_pipe_handle0_value; | 524 *message_pipe_handle0_ptr = message_pipe_handle0_value; |
| 518 *message_pipe_handle1_ptr = message_pipe_handle1_value; | 525 *message_pipe_handle1_ptr = message_pipe_handle1_value; |
| 519 *result_ptr = result_value; | 526 *result_ptr = result_value; |
| 520 } | 527 } |
| 521 | 528 |
| 522 return 0; | 529 return 0; |
| 523 } | 530 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 552 } | 559 } |
| 553 if (!ConvertArray(nap, params[2], num_bytes_value, 1, true, &bytes)) { | 560 if (!ConvertArray(nap, params[2], num_bytes_value, 1, true, &bytes)) { |
| 554 return -1; | 561 return -1; |
| 555 } | 562 } |
| 556 if (!ConvertArray(nap, params[4], num_handles_value, sizeof(*handles), | 563 if (!ConvertArray(nap, params[4], num_handles_value, sizeof(*handles), |
| 557 true, &handles)) { | 564 true, &handles)) { |
| 558 return -1; | 565 return -1; |
| 559 } | 566 } |
| 560 } | 567 } |
| 561 | 568 |
| 562 result_value = | 569 result_value = MojoCoreWriteMessage( |
| 563 MojoWriteMessage(message_pipe_handle_value, bytes, num_bytes_value, | 570 g_mojo_core, message_pipe_handle_value, bytes, num_bytes_value, |
| 564 handles, num_handles_value, flags_value); | 571 handles, num_handles_value, flags_value); |
| 565 | 572 |
| 566 { | 573 { |
| 567 ScopedCopyLock copy_lock(nap); | 574 ScopedCopyLock copy_lock(nap); |
| 568 *result_ptr = result_value; | 575 *result_ptr = result_value; |
| 569 } | 576 } |
| 570 | 577 |
| 571 return 0; | 578 return 0; |
| 572 } | 579 } |
| 573 case 17: { | 580 case 17: { |
| 574 if (num_params != 8) { | 581 if (num_params != 8) { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 605 } | 612 } |
| 606 if (!ConvertArray(nap, params[2], num_bytes_value, 1, true, &bytes)) { | 613 if (!ConvertArray(nap, params[2], num_bytes_value, 1, true, &bytes)) { |
| 607 return -1; | 614 return -1; |
| 608 } | 615 } |
| 609 if (!ConvertArray(nap, params[4], num_handles_value, sizeof(*handles), | 616 if (!ConvertArray(nap, params[4], num_handles_value, sizeof(*handles), |
| 610 true, &handles)) { | 617 true, &handles)) { |
| 611 return -1; | 618 return -1; |
| 612 } | 619 } |
| 613 } | 620 } |
| 614 | 621 |
| 615 result_value = MojoReadMessage( | 622 result_value = MojoCoreReadMessage( |
| 616 message_pipe_handle_value, bytes, | 623 g_mojo_core, message_pipe_handle_value, bytes, |
| 617 num_bytes_ptr ? &num_bytes_value : NULL, handles, | 624 num_bytes_ptr ? &num_bytes_value : NULL, handles, |
| 618 num_handles_ptr ? &num_handles_value : NULL, flags_value); | 625 num_handles_ptr ? &num_handles_value : NULL, flags_value); |
| 619 | 626 |
| 620 { | 627 { |
| 621 ScopedCopyLock copy_lock(nap); | 628 ScopedCopyLock copy_lock(nap); |
| 622 if (num_bytes_ptr != NULL) { | 629 if (num_bytes_ptr != NULL) { |
| 623 *num_bytes_ptr = num_bytes_value; | 630 *num_bytes_ptr = num_bytes_value; |
| 624 } | 631 } |
| 625 if (num_handles_ptr != NULL) { | 632 if (num_handles_ptr != NULL) { |
| 626 *num_handles_ptr = num_handles_value; | 633 *num_handles_ptr = num_handles_value; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 703 return NaClDescMakeCustomDesc(nap, &funcs); | 710 return NaClDescMakeCustomDesc(nap, &funcs); |
| 704 } | 711 } |
| 705 | 712 |
| 706 } // namespace | 713 } // namespace |
| 707 | 714 |
| 708 // The value for this FD must not conflict with uses inside Chromium. However, | 715 // The value for this FD must not conflict with uses inside Chromium. However, |
| 709 // mojo/nacl doesn't depend on any Chromium headers, so we can't use a #define | 716 // mojo/nacl doesn't depend on any Chromium headers, so we can't use a #define |
| 710 // from there. | 717 // from there. |
| 711 #define NACL_MOJO_DESC (NACL_CHROME_DESC_BASE + 3) | 718 #define NACL_MOJO_DESC (NACL_CHROME_DESC_BASE + 3) |
| 712 | 719 |
| 713 void InjectMojo(struct NaClApp* nap) { | |
| 714 NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeMojoDesc(nap)); | |
| 715 g_mojo_handle = MOJO_HANDLE_INVALID; | |
| 716 } | |
| 717 | |
| 718 void InjectMojo(struct NaClApp* nap, MojoHandle handle) { | 720 void InjectMojo(struct NaClApp* nap, MojoHandle handle) { |
| 719 NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeMojoDesc(nap)); | 721 NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeMojoDesc(nap)); |
| 720 g_mojo_handle = handle; | 722 g_mojo_core = MojoCoreCreateCore(); |
| 723 // TODO handle errors? |
| 724 MojoCoreTransferHandle(MojoCoreGetDefaultCore(), handle, g_mojo_core, |
| 725 &g_mojo_handle); |
| 721 } | 726 } |
| 722 | 727 |
| 723 void InjectDisabledMojo(struct NaClApp* nap) { | 728 void InjectDisabledMojo(struct NaClApp* nap) { |
| 724 NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeDisabledMojoDesc(nap)); | 729 NaClAppSetDesc(nap, NACL_MOJO_DESC, MakeDisabledMojoDesc(nap)); |
| 725 } | 730 } |
| OLD | NEW |