OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // Note: This header should be compilable as C. | 5 // Note: This header should be compilable as C. |
6 | 6 |
7 #ifndef MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_IMPL_PRIVATE_THUNKS_H_ | 7 #ifndef MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_IMPL_PRIVATE_THUNKS_H_ |
8 #define MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_IMPL_PRIVATE_THUNKS_H_ | 8 #define MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_IMPL_PRIVATE_THUNKS_H_ |
9 | 9 |
10 #include "mojo/public/c/system/buffer.h" | 10 #include "mojo/public/c/system/buffer.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 MojoResult (*TransferHandle)(MojoSystemImpl from_system, | 27 MojoResult (*TransferHandle)(MojoSystemImpl from_system, |
28 MojoHandle handle, | 28 MojoHandle handle, |
29 MojoSystemImpl to_system, | 29 MojoSystemImpl to_system, |
30 MojoHandle* result_handle); | 30 MojoHandle* result_handle); |
31 }; | 31 }; |
32 | 32 |
33 struct MojoSystemImplThunksPrivate { | 33 struct MojoSystemImplThunksPrivate { |
34 size_t size; // Should be set to sizeof(MojoExplicitThunksPrivate). | 34 size_t size; // Should be set to sizeof(MojoExplicitThunksPrivate). |
35 MojoTimeTicks (*GetTimeTicksNow)(MojoSystemImpl system); | 35 MojoTimeTicks (*GetTimeTicksNow)(MojoSystemImpl system); |
36 MojoResult (*Close)(MojoSystemImpl system, MojoHandle handle); | 36 MojoResult (*Close)(MojoSystemImpl system, MojoHandle handle); |
| 37 MojoResult (*GetRights)(MojoSystemImpl system, |
| 38 MojoHandle handle, |
| 39 MojoHandleRights* rights); |
37 MojoResult (*Wait)(MojoSystemImpl system, | 40 MojoResult (*Wait)(MojoSystemImpl system, |
38 MojoHandle handle, | 41 MojoHandle handle, |
39 MojoHandleSignals signals, | 42 MojoHandleSignals signals, |
40 MojoDeadline deadline, | 43 MojoDeadline deadline, |
41 struct MojoHandleSignalsState* signals_state); | 44 struct MojoHandleSignalsState* signals_state); |
42 MojoResult (*WaitMany)(MojoSystemImpl system, | 45 MojoResult (*WaitMany)(MojoSystemImpl system, |
43 const MojoHandle* handles, | 46 const MojoHandle* handles, |
44 const MojoHandleSignals* signals, | 47 const MojoHandleSignals* signals, |
45 uint32_t num_handles, | 48 uint32_t num_handles, |
46 MojoDeadline deadline, | 49 MojoDeadline deadline, |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 MojoSystemImplCreateImpl, | 149 MojoSystemImplCreateImpl, |
147 MojoSystemImplTransferHandle}; | 150 MojoSystemImplTransferHandle}; |
148 return system_thunks; | 151 return system_thunks; |
149 } | 152 } |
150 | 153 |
151 inline MojoSystemImplThunksPrivate MojoMakeSystemImplThunksPrivate() { | 154 inline MojoSystemImplThunksPrivate MojoMakeSystemImplThunksPrivate() { |
152 MojoSystemImplThunksPrivate system_thunks = { | 155 MojoSystemImplThunksPrivate system_thunks = { |
153 sizeof(MojoSystemImplThunksPrivate), | 156 sizeof(MojoSystemImplThunksPrivate), |
154 MojoSystemImplGetTimeTicksNow, | 157 MojoSystemImplGetTimeTicksNow, |
155 MojoSystemImplClose, | 158 MojoSystemImplClose, |
| 159 MojoSystemImplGetRights, |
156 MojoSystemImplWait, | 160 MojoSystemImplWait, |
157 MojoSystemImplWaitMany, | 161 MojoSystemImplWaitMany, |
158 MojoSystemImplCreateMessagePipe, | 162 MojoSystemImplCreateMessagePipe, |
159 MojoSystemImplWriteMessage, | 163 MojoSystemImplWriteMessage, |
160 MojoSystemImplReadMessage, | 164 MojoSystemImplReadMessage, |
161 MojoSystemImplCreateDataPipe, | 165 MojoSystemImplCreateDataPipe, |
162 MojoSystemImplSetDataPipeProducerOptions, | 166 MojoSystemImplSetDataPipeProducerOptions, |
163 MojoSystemImplGetDataPipeProducerOptions, | 167 MojoSystemImplGetDataPipeProducerOptions, |
164 MojoSystemImplWriteData, | 168 MojoSystemImplWriteData, |
165 MojoSystemImplBeginWriteData, | 169 MojoSystemImplBeginWriteData, |
166 MojoSystemImplEndWriteData, | 170 MojoSystemImplEndWriteData, |
167 MojoSystemImplSetDataPipeConsumerOptions, | 171 MojoSystemImplSetDataPipeConsumerOptions, |
168 MojoSystemImplGetDataPipeConsumerOptions, | 172 MojoSystemImplGetDataPipeConsumerOptions, |
169 MojoSystemImplReadData, | 173 MojoSystemImplReadData, |
170 MojoSystemImplBeginReadData, | 174 MojoSystemImplBeginReadData, |
171 MojoSystemImplEndReadData, | 175 MojoSystemImplEndReadData, |
172 MojoSystemImplCreateSharedBuffer, | 176 MojoSystemImplCreateSharedBuffer, |
173 MojoSystemImplDuplicateBufferHandle, | 177 MojoSystemImplDuplicateBufferHandle, |
174 MojoSystemImplGetBufferInformation, | 178 MojoSystemImplGetBufferInformation, |
175 MojoSystemImplMapBuffer, | 179 MojoSystemImplMapBuffer, |
176 MojoSystemImplUnmapBuffer}; | 180 MojoSystemImplUnmapBuffer}; |
177 return system_thunks; | 181 return system_thunks; |
178 } | 182 } |
179 #endif | 183 #endif |
180 | 184 |
181 #endif // MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_IMPL_PRIVATE_THUNKS_H_ | 185 #endif // MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_IMPL_PRIVATE_THUNKS_H_ |
OLD | NEW |