diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-02 16:39:36 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-02 16:39:36 -0800 |
| commit | 6c8ae19be66cee247980a48e736a4e05d14de179 (patch) | |
| tree | d860767907bf0cbe17ec66422e11bea700cf56d9 /contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h | |
| parent | 8f594c8ebd11f0e5f8a0c6369c3fe7383d250cbe (diff) | |
Diffstat (limited to 'contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h')
| -rw-r--r-- | contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h b/contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h new file mode 100644 index 0000000..68aa390 --- /dev/null +++ b/contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h | |||
| @@ -0,0 +1,78 @@ | |||
| 1 | // Copyright (c) Microsoft Corporation. | ||
| 2 | // Licensed under the MIT License. | ||
| 3 | |||
| 4 | // Stub header to satisfy d3d12.h include | ||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "basetsd.h" | ||
| 8 | |||
| 9 | #define __RPCNDR_H_VERSION__ | ||
| 10 | |||
| 11 | #ifdef CONST_VTABLE | ||
| 12 | #define CONST_VTBL const | ||
| 13 | #else | ||
| 14 | #define CONST_VTBL | ||
| 15 | #endif | ||
| 16 | |||
| 17 | /* Macros for __uuidof template-based emulation */ | ||
| 18 | #if defined(__cplusplus) | ||
| 19 | #if __cpp_constexpr >= 200704l && __cpp_inline_variables >= 201606L | ||
| 20 | #define __wsl_stub_uuidof_use_constexpr 1 | ||
| 21 | #else | ||
| 22 | #define __wsl_stub_uuidof_use_constexpr 0 | ||
| 23 | #endif | ||
| 24 | #ifndef __GNUC__ | ||
| 25 | #error "Only support for compilers that support for `GNU C++ extension`" | ||
| 26 | #endif | ||
| 27 | extern "C++" { | ||
| 28 | #if __wsl_stub_uuidof_use_constexpr | ||
| 29 | __extension__ template<typename T> struct __wsl_stub_uuidof_s; | ||
| 30 | __extension__ template<typename T> constexpr const GUID &__wsl_stub_uuidof(); | ||
| 31 | #else | ||
| 32 | __extension__ template<typename T> const GUID &__wsl_stub_uuidof(); | ||
| 33 | #endif | ||
| 34 | } | ||
| 35 | |||
| 36 | #if __wsl_stub_uuidof_use_constexpr | ||
| 37 | #define __CRT_UUID_DECL(type, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ | ||
| 38 | extern "C++" \ | ||
| 39 | { \ | ||
| 40 | template <> \ | ||
| 41 | struct __wsl_stub_uuidof_s<type> \ | ||
| 42 | { \ | ||
| 43 | static constexpr IID __uuid_inst = { \ | ||
| 44 | l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}; \ | ||
| 45 | }; \ | ||
| 46 | template <> \ | ||
| 47 | constexpr const GUID &__wsl_stub_uuidof<type>() \ | ||
| 48 | { \ | ||
| 49 | return __wsl_stub_uuidof_s<type>::__uuid_inst; \ | ||
| 50 | } \ | ||
| 51 | template <> \ | ||
| 52 | constexpr const GUID &__wsl_stub_uuidof<type *>() \ | ||
| 53 | { \ | ||
| 54 | return __wsl_stub_uuidof_s<type>::__uuid_inst; \ | ||
| 55 | } \ | ||
| 56 | } | ||
| 57 | #else | ||
| 58 | #define __CRT_UUID_DECL(type, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ | ||
| 59 | extern "C++" \ | ||
| 60 | { \ | ||
| 61 | template <> \ | ||
| 62 | inline const GUID &__wsl_stub_uuidof<type>() \ | ||
| 63 | { \ | ||
| 64 | static const IID __uuid_inst = { \ | ||
| 65 | l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}; \ | ||
| 66 | return __uuid_inst; \ | ||
| 67 | } \ | ||
| 68 | template <> \ | ||
| 69 | inline const GUID &__wsl_stub_uuidof<type *>() \ | ||
| 70 | { \ | ||
| 71 | return __wsl_stub_uuidof<type>(); \ | ||
| 72 | } \ | ||
| 73 | } | ||
| 74 | #endif | ||
| 75 | #define __uuidof(type) __wsl_stub_uuidof<__typeof(type)>() | ||
| 76 | #else | ||
| 77 | #define __CRT_UUID_DECL(type, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) | ||
| 78 | #endif | ||
