| Index: mojo/system/entrypoints.cc
|
| diff --git a/mojo/system/entrypoints.cc b/mojo/system/entrypoints.cc
|
| index b70fcadf8b625b3bf8c2eecdaecc376d3b34f771..2ee2c3e1dd39d0799b6a55366b463dcef0ba458a 100644
|
| --- a/mojo/system/entrypoints.cc
|
| +++ b/mojo/system/entrypoints.cc
|
| @@ -12,6 +12,9 @@
|
|
|
| static mojo::system::Core* g_core = NULL;
|
|
|
| +using mojo::system::MakeUserPointer;
|
| +using mojo::system::MakeUserPointerValue;
|
| +
|
| namespace mojo {
|
| namespace system {
|
| namespace entrypoints {
|
| @@ -49,14 +52,18 @@ MojoResult MojoWaitMany(const MojoHandle* handles,
|
| const MojoHandleSignals* signals,
|
| uint32_t num_handles,
|
| MojoDeadline deadline) {
|
| - return g_core->WaitMany(handles, signals, num_handles, deadline);
|
| + return g_core->WaitMany(MakeUserPointer(handles),
|
| + MakeUserPointer(signals),
|
| + num_handles,
|
| + deadline);
|
| }
|
|
|
| MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options,
|
| MojoHandle* message_pipe_handle0,
|
| MojoHandle* message_pipe_handle1) {
|
| - return g_core->CreateMessagePipe(
|
| - options, message_pipe_handle0, message_pipe_handle1);
|
| + return g_core->CreateMessagePipe(MakeUserPointer(options),
|
| + MakeUserPointer(message_pipe_handle0),
|
| + MakeUserPointer(message_pipe_handle1));
|
| }
|
|
|
| MojoResult MojoWriteMessage(MojoHandle message_pipe_handle,
|
| @@ -65,41 +72,54 @@ MojoResult MojoWriteMessage(MojoHandle message_pipe_handle,
|
| const MojoHandle* handles,
|
| uint32_t num_handles,
|
| MojoWriteMessageFlags flags) {
|
| - return g_core->WriteMessage(
|
| - message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
|
| + return g_core->WriteMessage(message_pipe_handle,
|
| + MakeUserPointer(bytes),
|
| + num_bytes,
|
| + MakeUserPointer(handles),
|
| + num_handles,
|
| + flags);
|
| }
|
|
|
| MojoResult MojoReadMessage(MojoHandle message_pipe_handle,
|
| void* bytes,
|
| uint32_t* num_bytes,
|
| MojoHandle* handles,
|
| - uint32_t* num_handles,
|
| + uint32_t* num_handles,
|
| MojoReadMessageFlags flags) {
|
| - return g_core->ReadMessage(
|
| - message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
|
| + return g_core->ReadMessage(message_pipe_handle,
|
| + MakeUserPointer(bytes),
|
| + MakeUserPointer(num_bytes),
|
| + MakeUserPointer(handles),
|
| + MakeUserPointer(num_handles),
|
| + flags);
|
| }
|
|
|
| MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options,
|
| MojoHandle* data_pipe_producer_handle,
|
| MojoHandle* data_pipe_consumer_handle) {
|
| - return g_core->CreateDataPipe(
|
| - options, data_pipe_producer_handle, data_pipe_consumer_handle);
|
| + return g_core->CreateDataPipe(MakeUserPointer(options),
|
| + MakeUserPointer(data_pipe_producer_handle),
|
| + MakeUserPointer(data_pipe_consumer_handle));
|
| }
|
|
|
| MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle,
|
| const void* elements,
|
| uint32_t* num_elements,
|
| MojoWriteDataFlags flags) {
|
| - return g_core->WriteData(
|
| - data_pipe_producer_handle, elements, num_elements, flags);
|
| + return g_core->WriteData(data_pipe_producer_handle,
|
| + MakeUserPointer(elements),
|
| + MakeUserPointer(num_elements),
|
| + flags);
|
| }
|
|
|
| MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle,
|
| void** buffer,
|
| uint32_t* buffer_num_elements,
|
| MojoWriteDataFlags flags) {
|
| - return g_core->BeginWriteData(
|
| - data_pipe_producer_handle, buffer, buffer_num_elements, flags);
|
| + return g_core->BeginWriteData(data_pipe_producer_handle,
|
| + MakeUserPointer(buffer),
|
| + MakeUserPointer(buffer_num_elements),
|
| + flags);
|
| }
|
|
|
| MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle,
|
| @@ -111,16 +131,20 @@ MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle,
|
| void* elements,
|
| uint32_t* num_elements,
|
| MojoReadDataFlags flags) {
|
| - return g_core->ReadData(
|
| - data_pipe_consumer_handle, elements, num_elements, flags);
|
| + return g_core->ReadData(data_pipe_consumer_handle,
|
| + MakeUserPointer(elements),
|
| + MakeUserPointer(num_elements),
|
| + flags);
|
| }
|
|
|
| MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle,
|
| const void** buffer,
|
| uint32_t* buffer_num_elements,
|
| MojoReadDataFlags flags) {
|
| - return g_core->BeginReadData(
|
| - data_pipe_consumer_handle, buffer, buffer_num_elements, flags);
|
| + return g_core->BeginReadData(data_pipe_consumer_handle,
|
| + MakeUserPointer(buffer),
|
| + MakeUserPointer(buffer_num_elements),
|
| + flags);
|
| }
|
|
|
| MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle,
|
| @@ -132,15 +156,18 @@ MojoResult MojoCreateSharedBuffer(
|
| const struct MojoCreateSharedBufferOptions* options,
|
| uint64_t num_bytes,
|
| MojoHandle* shared_buffer_handle) {
|
| - return g_core->CreateSharedBuffer(options, num_bytes, shared_buffer_handle);
|
| + return g_core->CreateSharedBuffer(MakeUserPointer(options),
|
| + num_bytes,
|
| + MakeUserPointer(shared_buffer_handle));
|
| }
|
|
|
| MojoResult MojoDuplicateBufferHandle(
|
| MojoHandle buffer_handle,
|
| const struct MojoDuplicateBufferHandleOptions* options,
|
| MojoHandle* new_buffer_handle) {
|
| - return g_core->DuplicateBufferHandle(
|
| - buffer_handle, options, new_buffer_handle);
|
| + return g_core->DuplicateBufferHandle(buffer_handle,
|
| + MakeUserPointer(options),
|
| + MakeUserPointer(new_buffer_handle));
|
| }
|
|
|
| MojoResult MojoMapBuffer(MojoHandle buffer_handle,
|
| @@ -148,11 +175,15 @@ MojoResult MojoMapBuffer(MojoHandle buffer_handle,
|
| uint64_t num_bytes,
|
| void** buffer,
|
| MojoMapBufferFlags flags) {
|
| - return g_core->MapBuffer(buffer_handle, offset, num_bytes, buffer, flags);
|
| + return g_core->MapBuffer(buffer_handle,
|
| + offset,
|
| + num_bytes,
|
| + MakeUserPointer(buffer),
|
| + flags);
|
| }
|
|
|
| MojoResult MojoUnmapBuffer(void* buffer) {
|
| - return g_core->UnmapBuffer(buffer);
|
| + return g_core->UnmapBuffer(MakeUserPointerValue(buffer));
|
| }
|
|
|
| } // extern "C"
|
|
|