OLD | NEW |
| (Empty) |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef MOJO_PUBLIC_PLATFORM_NATIVE_PLATFORM_HANDLE_PRIVATE_THUNKS_H_ | |
6 #define MOJO_PUBLIC_PLATFORM_NATIVE_PLATFORM_HANDLE_PRIVATE_THUNKS_H_ | |
7 | |
8 #include <stddef.h> | |
9 | |
10 #include "mojo/public/platform/native/platform_handle_private.h" | |
11 | |
12 #pragma pack(push, 8) | |
13 struct MojoPlatformHandlePrivateThunks { | |
14 size_t size; // Should be set to sizeof(PlatformHandleThunks). | |
15 MojoResult (*CreatePlatformHandleWrapper)(MojoPlatformHandle, MojoHandle*); | |
16 MojoResult (*ExtractPlatformHandle)(MojoHandle, MojoPlatformHandle*); | |
17 }; | |
18 #pragma pack(pop) | |
19 | |
20 #ifdef __cplusplus | |
21 inline struct MojoPlatformHandlePrivateThunks | |
22 MojoMakePlatformHandlePrivateThunks() { | |
23 struct MojoPlatformHandlePrivateThunks system_thunks = { | |
24 sizeof(struct MojoPlatformHandlePrivateThunks), | |
25 MojoCreatePlatformHandleWrapper, MojoExtractPlatformHandle}; | |
26 return system_thunks; | |
27 } | |
28 #endif // __cplusplus | |
29 | |
30 typedef size_t (*MojoSetPlatformHandlePrivateThunksFn)( | |
31 const struct MojoPlatformHandlePrivateThunks* thunks); | |
32 | |
33 #endif // MOJO_PUBLIC_PLATFORM_NATIVE_PLATFORM_HANDLE_PRIVATE_THUNKS_H_ | |
OLD | NEW |