| Index: mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc
|
| diff --git a/mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc b/mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc
|
| index 21b21103b7571d9fa70f243613f07dacc8792c37..cbc89d8b2a87d8adf139f81e4839b6f79a44c79d 100644
|
| --- a/mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc
|
| +++ b/mojo/nacl/sfi/nacl_bindings/mojo_syscall.cc
|
| @@ -130,6 +130,40 @@ ssize_t MojoDescSendMsg(void* handle,
|
| return 0;
|
| }
|
| case 3: {
|
| + if (num_params != 4) {
|
| + return -1;
|
| + }
|
| + MojoHandle handle_value;
|
| + MojoHandleRights volatile* rights_ptr;
|
| + MojoHandleRights rights_value;
|
| + MojoResult volatile* result_ptr;
|
| + MojoResult result_value;
|
| + {
|
| + ScopedCopyLock copy_lock(nap);
|
| + if (!ConvertScalarInput(nap, params[1], &handle_value)) {
|
| + return -1;
|
| + }
|
| + if (!ConvertScalarInOut(nap, params[2], false, &rights_value,
|
| + &rights_ptr)) {
|
| + return -1;
|
| + }
|
| + if (!ConvertScalarOutput(nap, params[3], false, &result_ptr)) {
|
| + return -1;
|
| + }
|
| + }
|
| +
|
| + result_value =
|
| + MojoSystemImplGetRights(g_mojo_system, handle_value, &rights_value);
|
| +
|
| + {
|
| + ScopedCopyLock copy_lock(nap);
|
| + *rights_ptr = rights_value;
|
| + *result_ptr = result_value;
|
| + }
|
| +
|
| + return 0;
|
| + }
|
| + case 4: {
|
| if (num_params != 6) {
|
| return -1;
|
| }
|
| @@ -174,7 +208,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 4: {
|
| + case 5: {
|
| if (num_params != 8) {
|
| return -1;
|
| }
|
| @@ -230,7 +264,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 5: {
|
| + case 6: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -274,7 +308,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 6: {
|
| + case 7: {
|
| if (num_params != 8) {
|
| return -1;
|
| }
|
| @@ -323,7 +357,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 7: {
|
| + case 8: {
|
| if (num_params != 8) {
|
| return -1;
|
| }
|
| @@ -383,7 +417,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 8: {
|
| + case 9: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -427,7 +461,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 9: {
|
| + case 10: {
|
| if (num_params != 4) {
|
| return -1;
|
| }
|
| @@ -459,7 +493,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 10: {
|
| + case 11: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -497,7 +531,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 11: {
|
| + case 12: {
|
| if (num_params != 6) {
|
| return -1;
|
| }
|
| @@ -542,10 +576,10 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 12:
|
| + case 13:
|
| fprintf(stderr, "MojoBeginWriteData not implemented\n");
|
| return -1;
|
| - case 13: {
|
| + case 14: {
|
| if (num_params != 4) {
|
| return -1;
|
| }
|
| @@ -578,7 +612,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 14: {
|
| + case 15: {
|
| if (num_params != 4) {
|
| return -1;
|
| }
|
| @@ -610,7 +644,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 15: {
|
| + case 16: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -648,7 +682,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 16: {
|
| + case 17: {
|
| if (num_params != 6) {
|
| return -1;
|
| }
|
| @@ -693,10 +727,10 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 17:
|
| + case 18:
|
| fprintf(stderr, "MojoBeginReadData not implemented\n");
|
| return -1;
|
| - case 18: {
|
| + case 19: {
|
| if (num_params != 4) {
|
| return -1;
|
| }
|
| @@ -728,7 +762,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 19: {
|
| + case 20: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -767,7 +801,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 20: {
|
| + case 21: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -806,7 +840,7 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 21: {
|
| + case 22: {
|
| if (num_params != 5) {
|
| return -1;
|
| }
|
| @@ -842,10 +876,10 @@ ssize_t MojoDescSendMsg(void* handle,
|
|
|
| return 0;
|
| }
|
| - case 22:
|
| + case 23:
|
| fprintf(stderr, "MojoMapBuffer not implemented\n");
|
| return -1;
|
| - case 23:
|
| + case 24:
|
| fprintf(stderr, "MojoUnmapBuffer not implemented\n");
|
| return -1;
|
| }
|
|
|