| Index: mojo/public/platform/native/system_thunks.h
|
| diff --git a/mojo/public/platform/native/system_thunks.h b/mojo/public/platform/native/system_thunks.h
|
| index de82eba1bfc1e7adedb30737f1c575e0de8c13c0..d53485c360769954ae8fa7d3f9f0cb7d7533a149 100644
|
| --- a/mojo/public/platform/native/system_thunks.h
|
| +++ b/mojo/public/platform/native/system_thunks.h
|
| @@ -2,6 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +// Note: This header should be compilable as C.
|
| +
|
| #ifndef MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_THUNKS_H_
|
| #define MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_THUNKS_H_
|
|
|
| @@ -43,9 +45,10 @@ struct MojoSystemThunks {
|
| const MojoHandleSignals* signals,
|
| uint32_t num_handles,
|
| MojoDeadline deadline);
|
| - MojoResult (*CreateMessagePipe)(const MojoCreateMessagePipeOptions* options,
|
| - MojoHandle* message_pipe_handle0,
|
| - MojoHandle* message_pipe_handle1);
|
| + MojoResult (*CreateMessagePipe)(
|
| + const struct MojoCreateMessagePipeOptions* options,
|
| + MojoHandle* message_pipe_handle0,
|
| + MojoHandle* message_pipe_handle1);
|
| MojoResult (*WriteMessage)(MojoHandle message_pipe_handle,
|
| const void* bytes,
|
| uint32_t num_bytes,
|
| @@ -58,7 +61,7 @@ struct MojoSystemThunks {
|
| MojoHandle* handles,
|
| uint32_t* num_handles,
|
| MojoReadMessageFlags flags);
|
| - MojoResult (*CreateDataPipe)(const MojoCreateDataPipeOptions* options,
|
| + MojoResult (*CreateDataPipe)(const struct MojoCreateDataPipeOptions* options,
|
| MojoHandle* data_pipe_producer_handle,
|
| MojoHandle* data_pipe_consumer_handle);
|
| MojoResult (*WriteData)(MojoHandle data_pipe_producer_handle,
|
| @@ -82,12 +85,12 @@ struct MojoSystemThunks {
|
| MojoResult (*EndReadData)(MojoHandle data_pipe_consumer_handle,
|
| uint32_t num_elements_read);
|
| MojoResult (*CreateSharedBuffer)(
|
| - const MojoCreateSharedBufferOptions* options,
|
| + const struct MojoCreateSharedBufferOptions* options,
|
| uint64_t num_bytes,
|
| MojoHandle* shared_buffer_handle);
|
| MojoResult (*DuplicateBufferHandle)(
|
| MojoHandle buffer_handle,
|
| - const MojoDuplicateBufferHandleOptions* options,
|
| + const struct MojoDuplicateBufferHandleOptions* options,
|
| MojoHandle* new_buffer_handle);
|
| MojoResult (*MapBuffer)(MojoHandle buffer_handle,
|
| uint64_t offset,
|
| @@ -98,6 +101,8 @@ struct MojoSystemThunks {
|
| };
|
| #pragma pack(pop)
|
|
|
| +
|
| +#ifdef __cplusplus
|
| // Intended to be called from the embedder. Returns a |MojoCore| initialized
|
| // to contain pointers to each of the embedder's MojoCore functions.
|
| inline MojoSystemThunks MojoMakeSystemThunks() {
|
| @@ -124,6 +129,8 @@ inline MojoSystemThunks MojoMakeSystemThunks() {
|
| };
|
| return system_thunks;
|
| }
|
| +#endif
|
| +
|
|
|
| // Use this type for the function found by dynamically discovering it in
|
| // a DSO linked with mojo_system. For example:
|
| @@ -132,6 +139,7 @@ inline MojoSystemThunks MojoMakeSystemThunks() {
|
| // "MojoSetSystemThunks"));
|
| // The expected size of |system_thunks} is returned.
|
| // The contents of |system_thunks| are copied.
|
| -typedef size_t (*MojoSetSystemThunksFn)(const MojoSystemThunks* system_thunks);
|
| +typedef size_t (*MojoSetSystemThunksFn)(
|
| + const struct MojoSystemThunks* system_thunks);
|
|
|
| #endif // MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_THUNKS_H_
|
|
|