| 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 #include "mojo/edk/embedder/embedder_internal.h" |
| 6 #include "mojo/edk/system/core.h" |
| 5 #include "mojo/public/c/system/buffer.h" | 7 #include "mojo/public/c/system/buffer.h" |
| 6 #include "mojo/public/c/system/data_pipe.h" | 8 #include "mojo/public/c/system/data_pipe.h" |
| 7 #include "mojo/public/c/system/functions.h" | 9 #include "mojo/public/c/system/functions.h" |
| 8 #include "mojo/public/c/system/message_pipe.h" | 10 #include "mojo/public/c/system/message_pipe.h" |
| 9 #include "third_party/mojo/src/mojo/edk/embedder/embedder_internal.h" | |
| 10 #include "third_party/mojo/src/mojo/edk/system/core.h" | |
| 11 | 11 |
| 12 using mojo::embedder::internal::g_core; | 12 using mojo::edk::internal::g_core; |
| 13 using mojo::system::MakeUserPointer; | 13 |
| 14 //TODO(use_chrome_edk) |
| 15 /* |
| 14 | 16 |
| 15 // Definitions of the system functions. | 17 // Definitions of the system functions. |
| 16 extern "C" { | 18 extern "C" { |
| 17 MojoTimeTicks MojoGetTimeTicksNow() { | 19 MojoTimeTicks MojoGetTimeTicksNow() { |
| 18 return g_core->GetTimeTicksNow(); | 20 return g_core->GetTimeTicksNow(); |
| 19 } | 21 } |
| 20 | 22 |
| 21 MojoResult MojoClose(MojoHandle handle) { | 23 MojoResult MojoClose(MojoHandle handle) { |
| 22 return g_core->Close(handle); | 24 return g_core->Close(handle); |
| 23 } | 25 } |
| 24 | 26 |
| 25 MojoResult MojoWait(MojoHandle handle, | 27 MojoResult MojoWait(MojoHandle handle, |
| 26 MojoHandleSignals signals, | 28 MojoHandleSignals signals, |
| 27 MojoDeadline deadline, | 29 MojoDeadline deadline, |
| 28 MojoHandleSignalsState* signals_state) { | 30 MojoHandleSignalsState* signals_state) { |
| 29 return g_core->Wait(handle, signals, deadline, | 31 return g_core->Wait(handle, signals, deadline signals_state); |
| 30 MakeUserPointer(signals_state)); | |
| 31 } | 32 } |
| 32 | 33 |
| 33 MojoResult MojoWaitMany(const MojoHandle* handles, | 34 MojoResult MojoWaitMany(const MojoHandle* handles, |
| 34 const MojoHandleSignals* signals, | 35 const MojoHandleSignals* signals, |
| 35 uint32_t num_handles, | 36 uint32_t num_handles, |
| 36 MojoDeadline deadline, | 37 MojoDeadline deadline, |
| 37 uint32_t* result_index, | 38 uint32_t* result_index, |
| 38 MojoHandleSignalsState* signals_states) { | 39 MojoHandleSignalsState* signals_states) { |
| 39 return g_core->WaitMany(MakeUserPointer(handles), MakeUserPointer(signals), | 40 return g_core->WaitMany(handles, signals, num_handles, deadline, result_index, |
| 40 num_handles, deadline, MakeUserPointer(result_index), | 41 signals_states); |
| 41 MakeUserPointer(signals_states)); | |
| 42 } | 42 } |
| 43 | 43 |
| 44 MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options, | 44 MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options, |
| 45 MojoHandle* message_pipe_handle0, | 45 MojoHandle* message_pipe_handle0, |
| 46 MojoHandle* message_pipe_handle1) { | 46 MojoHandle* message_pipe_handle1) { |
| 47 return g_core->CreateMessagePipe(MakeUserPointer(options), | 47 return g_core->CreateMessagePipe(options, message_pipe_handle0, |
| 48 MakeUserPointer(message_pipe_handle0), | 48 message_pipe_handle1); |
| 49 MakeUserPointer(message_pipe_handle1)); | |
| 50 } | 49 } |
| 51 | 50 |
| 52 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle, | 51 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle, |
| 53 const void* bytes, | 52 const void* bytes, |
| 54 uint32_t num_bytes, | 53 uint32_t num_bytes, |
| 55 const MojoHandle* handles, | 54 const MojoHandle* handles, |
| 56 uint32_t num_handles, | 55 uint32_t num_handles, |
| 57 MojoWriteMessageFlags flags) { | 56 MojoWriteMessageFlags flags) { |
| 58 return g_core->WriteMessage(message_pipe_handle, MakeUserPointer(bytes), | 57 return g_core->WriteMessage(message_pipe_handle, bytes, num_bytes, handles, |
| 59 num_bytes, MakeUserPointer(handles), num_handles, | 58 num_handles, flags); |
| 60 flags); | |
| 61 } | 59 } |
| 62 | 60 |
| 63 MojoResult MojoReadMessage(MojoHandle message_pipe_handle, | 61 MojoResult MojoReadMessage(MojoHandle message_pipe_handle, |
| 64 void* bytes, | 62 void* bytes, |
| 65 uint32_t* num_bytes, | 63 uint32_t* num_bytes, |
| 66 MojoHandle* handles, | 64 MojoHandle* handles, |
| 67 uint32_t* num_handles, | 65 uint32_t* num_handles, |
| 68 MojoReadMessageFlags flags) { | 66 MojoReadMessageFlags flags) { |
| 69 return g_core->ReadMessage( | 67 return g_core->ReadMessage( |
| 70 message_pipe_handle, MakeUserPointer(bytes), MakeUserPointer(num_bytes), | 68 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags); |
| 71 MakeUserPointer(handles), MakeUserPointer(num_handles), flags); | |
| 72 } | 69 } |
| 73 | 70 |
| 74 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options, | 71 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options, |
| 75 MojoHandle* data_pipe_producer_handle, | 72 MojoHandle* data_pipe_producer_handle, |
| 76 MojoHandle* data_pipe_consumer_handle) { | 73 MojoHandle* data_pipe_consumer_handle) { |
| 77 return g_core->CreateDataPipe(MakeUserPointer(options), | 74 return g_core->CreateDataPipe(options, data_pipe_producer_handle, |
| 78 MakeUserPointer(data_pipe_producer_handle), | 75 data_pipe_consumer_handle); |
| 79 MakeUserPointer(data_pipe_consumer_handle)); | |
| 80 } | 76 } |
| 81 | 77 |
| 82 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle, | 78 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle, |
| 83 const void* elements, | 79 const void* elements, |
| 84 uint32_t* num_elements, | 80 uint32_t* num_elements, |
| 85 MojoWriteDataFlags flags) { | 81 MojoWriteDataFlags flags) { |
| 86 return g_core->WriteData(data_pipe_producer_handle, MakeUserPointer(elements), | 82 return g_core->WriteData(data_pipe_producer_handle, elements num_elements, |
| 87 MakeUserPointer(num_elements), flags); | 83 flags); |
| 88 } | 84 } |
| 89 | 85 |
| 90 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle, | 86 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle, |
| 91 void** buffer, | 87 void** buffer, |
| 92 uint32_t* buffer_num_elements, | 88 uint32_t* buffer_num_elements, |
| 93 MojoWriteDataFlags flags) { | 89 MojoWriteDataFlags flags) { |
| 94 return g_core->BeginWriteData(data_pipe_producer_handle, | 90 return g_core->BeginWriteData(data_pipe_producer_handle, buffer, |
| 95 MakeUserPointer(buffer), | 91 buffer_num_elements, flags); |
| 96 MakeUserPointer(buffer_num_elements), flags); | |
| 97 } | 92 } |
| 98 | 93 |
| 99 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle, | 94 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle, |
| 100 uint32_t num_elements_written) { | 95 uint32_t num_elements_written) { |
| 101 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written); | 96 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written); |
| 102 } | 97 } |
| 103 | 98 |
| 104 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle, | 99 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle, |
| 105 void* elements, | 100 void* elements, |
| 106 uint32_t* num_elements, | 101 uint32_t* num_elements, |
| 107 MojoReadDataFlags flags) { | 102 MojoReadDataFlags flags) { |
| 108 return g_core->ReadData(data_pipe_consumer_handle, MakeUserPointer(elements), | 103 return g_core->ReadData(data_pipe_consumer_handle, elements, num_elements, |
| 109 MakeUserPointer(num_elements), flags); | 104 flags); |
| 110 } | 105 } |
| 111 | 106 |
| 112 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle, | 107 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle, |
| 113 const void** buffer, | 108 const void** buffer, |
| 114 uint32_t* buffer_num_elements, | 109 uint32_t* buffer_num_elements, |
| 115 MojoReadDataFlags flags) { | 110 MojoReadDataFlags flags) { |
| 116 return g_core->BeginReadData(data_pipe_consumer_handle, | 111 return g_core->BeginReadData(data_pipe_consumer_handle, buffer, |
| 117 MakeUserPointer(buffer), | 112 buffer_num_elements, flags); |
| 118 MakeUserPointer(buffer_num_elements), flags); | |
| 119 } | 113 } |
| 120 | 114 |
| 121 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle, | 115 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle, |
| 122 uint32_t num_elements_read) { | 116 uint32_t num_elements_read) { |
| 123 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read); | 117 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read); |
| 124 } | 118 } |
| 125 | 119 |
| 126 MojoResult MojoCreateSharedBuffer( | 120 MojoResult MojoCreateSharedBuffer( |
| 127 const struct MojoCreateSharedBufferOptions* options, | 121 const struct MojoCreateSharedBufferOptions* options, |
| 128 uint64_t num_bytes, | 122 uint64_t num_bytes, |
| 129 MojoHandle* shared_buffer_handle) { | 123 MojoHandle* shared_buffer_handle) { |
| 130 return g_core->CreateSharedBuffer(MakeUserPointer(options), num_bytes, | 124 return g_core->CreateSharedBuffer(options, num_bytes, shared_buffer_handle); |
| 131 MakeUserPointer(shared_buffer_handle)); | |
| 132 } | 125 } |
| 133 | 126 |
| 134 MojoResult MojoDuplicateBufferHandle( | 127 MojoResult MojoDuplicateBufferHandle( |
| 135 MojoHandle buffer_handle, | 128 MojoHandle buffer_handle, |
| 136 const struct MojoDuplicateBufferHandleOptions* options, | 129 const struct MojoDuplicateBufferHandleOptions* options, |
| 137 MojoHandle* new_buffer_handle) { | 130 MojoHandle* new_buffer_handle) { |
| 138 return g_core->DuplicateBufferHandle(buffer_handle, MakeUserPointer(options), | 131 return g_core->DuplicateBufferHandle(buffer_handle, options, |
| 139 MakeUserPointer(new_buffer_handle)); | 132 new_buffer_handle); |
| 140 } | 133 } |
| 141 | 134 |
| 142 MojoResult MojoMapBuffer(MojoHandle buffer_handle, | 135 MojoResult MojoMapBuffer(MojoHandle buffer_handle, |
| 143 uint64_t offset, | 136 uint64_t offset, |
| 144 uint64_t num_bytes, | 137 uint64_t num_bytes, |
| 145 void** buffer, | 138 void** buffer, |
| 146 MojoMapBufferFlags flags) { | 139 MojoMapBufferFlags flags) { |
| 147 return g_core->MapBuffer(buffer_handle, offset, num_bytes, | 140 return g_core->MapBuffer(buffer_handle, offset, num_bytes, buffer, flags); |
| 148 MakeUserPointer(buffer), flags); | |
| 149 } | 141 } |
| 150 | 142 |
| 151 MojoResult MojoUnmapBuffer(void* buffer) { | 143 MojoResult MojoUnmapBuffer(void* buffer) { |
| 152 return g_core->UnmapBuffer(MakeUserPointer(buffer)); | 144 return g_core->UnmapBuffer(buffer); |
| 153 } | 145 } |
| 154 | 146 |
| 155 } // extern "C" | 147 } // extern "C" |
| 148 */ |
| OLD | NEW |