Index: mojo/nacl/sfi/nacl_bindings/mojo_irt.c |
diff --git a/mojo/nacl/sfi/nacl_bindings/mojo_irt.c b/mojo/nacl/sfi/nacl_bindings/mojo_irt.c |
index 4da9e63d38f015e3af7df9de38b367b27ad34f24..41c8c49509ad8aa6e94fd49a5b1385db63d88467 100644 |
--- a/mojo/nacl/sfi/nacl_bindings/mojo_irt.c |
+++ b/mojo/nacl/sfi/nacl_bindings/mojo_irt.c |
@@ -57,6 +57,19 @@ static MojoResult irt_MojoClose(MojoHandle handle) { |
return result; |
}; |
+static MojoResult irt_MojoGetRights( |
+ MojoHandle handle, |
+ MojoHandleRights* rights) { |
+ uint32_t params[4]; |
+ MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
+ params[0] = 3; |
+ params[1] = (uint32_t)(&handle); |
+ params[2] = (uint32_t)(rights); |
+ params[3] = (uint32_t)(&result); |
+ DoMojoCall(params, sizeof(params)); |
+ return result; |
+}; |
+ |
static MojoResult irt_MojoWait( |
MojoHandle handle, |
MojoHandleSignals signals, |
@@ -64,7 +77,7 @@ static MojoResult irt_MojoWait( |
struct MojoHandleSignalsState* signals_state) { |
uint32_t params[6]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 3; |
+ params[0] = 4; |
params[1] = (uint32_t)(&handle); |
params[2] = (uint32_t)(&signals); |
params[3] = (uint32_t)(&deadline); |
@@ -83,7 +96,7 @@ static MojoResult irt_MojoWaitMany( |
struct MojoHandleSignalsState* signals_states) { |
uint32_t params[8]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 4; |
+ params[0] = 5; |
params[1] = (uint32_t)(handles); |
params[2] = (uint32_t)(signals); |
params[3] = (uint32_t)(&num_handles); |
@@ -101,7 +114,7 @@ static MojoResult irt_MojoCreateMessagePipe( |
MojoHandle* message_pipe_handle1) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 5; |
+ params[0] = 6; |
params[1] = (uint32_t)(options); |
params[2] = (uint32_t)(message_pipe_handle0); |
params[3] = (uint32_t)(message_pipe_handle1); |
@@ -119,7 +132,7 @@ static MojoResult irt_MojoWriteMessage( |
MojoWriteMessageFlags flags) { |
uint32_t params[8]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 6; |
+ params[0] = 7; |
params[1] = (uint32_t)(&message_pipe_handle); |
params[2] = (uint32_t)(bytes); |
params[3] = (uint32_t)(&num_bytes); |
@@ -140,7 +153,7 @@ static MojoResult irt_MojoReadMessage( |
MojoReadMessageFlags flags) { |
uint32_t params[8]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 7; |
+ params[0] = 8; |
params[1] = (uint32_t)(&message_pipe_handle); |
params[2] = (uint32_t)(bytes); |
params[3] = (uint32_t)(num_bytes); |
@@ -158,7 +171,7 @@ static MojoResult irt_MojoCreateDataPipe( |
MojoHandle* data_pipe_consumer_handle) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 8; |
+ params[0] = 9; |
params[1] = (uint32_t)(options); |
params[2] = (uint32_t)(data_pipe_producer_handle); |
params[3] = (uint32_t)(data_pipe_consumer_handle); |
@@ -172,7 +185,7 @@ static MojoResult irt_MojoSetDataPipeProducerOptions( |
const struct MojoDataPipeProducerOptions* options) { |
uint32_t params[4]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 9; |
+ params[0] = 10; |
params[1] = (uint32_t)(&data_pipe_producer_handle); |
params[2] = (uint32_t)(options); |
params[3] = (uint32_t)(&result); |
@@ -186,7 +199,7 @@ static MojoResult irt_MojoGetDataPipeProducerOptions( |
uint32_t options_num_bytes) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 10; |
+ params[0] = 11; |
params[1] = (uint32_t)(&data_pipe_producer_handle); |
params[2] = (uint32_t)(options); |
params[3] = (uint32_t)(&options_num_bytes); |
@@ -202,7 +215,7 @@ static MojoResult irt_MojoWriteData( |
MojoWriteDataFlags flags) { |
uint32_t params[6]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 11; |
+ params[0] = 12; |
params[1] = (uint32_t)(&data_pipe_producer_handle); |
params[2] = (uint32_t)(elements); |
params[3] = (uint32_t)(num_bytes); |
@@ -219,7 +232,7 @@ static MojoResult irt_MojoBeginWriteData( |
MojoWriteDataFlags flags) { |
uint32_t params[6]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 12; |
+ params[0] = 13; |
params[1] = (uint32_t)(&data_pipe_producer_handle); |
params[2] = (uint32_t)(buffer); |
params[3] = (uint32_t)(buffer_num_bytes); |
@@ -234,7 +247,7 @@ static MojoResult irt_MojoEndWriteData( |
uint32_t num_bytes_written) { |
uint32_t params[4]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 13; |
+ params[0] = 14; |
params[1] = (uint32_t)(&data_pipe_producer_handle); |
params[2] = (uint32_t)(&num_bytes_written); |
params[3] = (uint32_t)(&result); |
@@ -247,7 +260,7 @@ static MojoResult irt_MojoSetDataPipeConsumerOptions( |
const struct MojoDataPipeConsumerOptions* options) { |
uint32_t params[4]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 14; |
+ params[0] = 15; |
params[1] = (uint32_t)(&data_pipe_consumer_handle); |
params[2] = (uint32_t)(options); |
params[3] = (uint32_t)(&result); |
@@ -261,7 +274,7 @@ static MojoResult irt_MojoGetDataPipeConsumerOptions( |
uint32_t options_num_bytes) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 15; |
+ params[0] = 16; |
params[1] = (uint32_t)(&data_pipe_consumer_handle); |
params[2] = (uint32_t)(options); |
params[3] = (uint32_t)(&options_num_bytes); |
@@ -277,7 +290,7 @@ static MojoResult irt_MojoReadData( |
MojoReadDataFlags flags) { |
uint32_t params[6]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 16; |
+ params[0] = 17; |
params[1] = (uint32_t)(&data_pipe_consumer_handle); |
params[2] = (uint32_t)(elements); |
params[3] = (uint32_t)(num_bytes); |
@@ -294,7 +307,7 @@ static MojoResult irt_MojoBeginReadData( |
MojoReadDataFlags flags) { |
uint32_t params[6]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 17; |
+ params[0] = 18; |
params[1] = (uint32_t)(&data_pipe_consumer_handle); |
params[2] = (uint32_t)(buffer); |
params[3] = (uint32_t)(buffer_num_bytes); |
@@ -309,7 +322,7 @@ static MojoResult irt_MojoEndReadData( |
uint32_t num_bytes_read) { |
uint32_t params[4]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 18; |
+ params[0] = 19; |
params[1] = (uint32_t)(&data_pipe_consumer_handle); |
params[2] = (uint32_t)(&num_bytes_read); |
params[3] = (uint32_t)(&result); |
@@ -323,7 +336,7 @@ static MojoResult irt_MojoCreateSharedBuffer( |
MojoHandle* shared_buffer_handle) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 19; |
+ params[0] = 20; |
params[1] = (uint32_t)(options); |
params[2] = (uint32_t)(&num_bytes); |
params[3] = (uint32_t)(shared_buffer_handle); |
@@ -338,7 +351,7 @@ static MojoResult irt_MojoDuplicateBufferHandle( |
MojoHandle* new_buffer_handle) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 20; |
+ params[0] = 21; |
params[1] = (uint32_t)(&buffer_handle); |
params[2] = (uint32_t)(options); |
params[3] = (uint32_t)(new_buffer_handle); |
@@ -353,7 +366,7 @@ static MojoResult irt_MojoGetBufferInformation( |
uint32_t info_num_bytes) { |
uint32_t params[5]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 21; |
+ params[0] = 22; |
params[1] = (uint32_t)(&buffer_handle); |
params[2] = (uint32_t)(info); |
params[3] = (uint32_t)(&info_num_bytes); |
@@ -370,7 +383,7 @@ static MojoResult irt_MojoMapBuffer( |
MojoMapBufferFlags flags) { |
uint32_t params[7]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 22; |
+ params[0] = 23; |
params[1] = (uint32_t)(&buffer_handle); |
params[2] = (uint32_t)(&offset); |
params[3] = (uint32_t)(&num_bytes); |
@@ -384,7 +397,7 @@ static MojoResult irt_MojoMapBuffer( |
static MojoResult irt_MojoUnmapBuffer(void* buffer) { |
uint32_t params[3]; |
MojoResult result = MOJO_RESULT_INVALID_ARGUMENT; |
- params[0] = 23; |
+ params[0] = 24; |
params[1] = (uint32_t)(&buffer); |
params[2] = (uint32_t)(&result); |
DoMojoCall(params, sizeof(params)); |
@@ -395,6 +408,7 @@ struct nacl_irt_mojo kIrtMojo = { |
&irt__MojoGetInitialHandle, |
&irt_MojoGetTimeTicksNow, |
&irt_MojoClose, |
+ &irt_MojoGetRights, |
&irt_MojoWait, |
&irt_MojoWaitMany, |
&irt_MojoCreateMessagePipe, |