aboutsummaryrefslogtreecommitdiff
path: root/contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-02 16:39:36 -0800
committer3gg <3gg@shellblade.net>2025-12-02 16:39:36 -0800
commit6c8ae19be66cee247980a48e736a4e05d14de179 (patch)
treed860767907bf0cbe17ec66422e11bea700cf56d9 /contrib/DirectX-Headers-1.618.2/include/wsl/stubs/rpcndr.h
parent8f594c8ebd11f0e5f8a0c6369c3fe7383d250cbe (diff)
Immediate-mode renderer, triangle demo, shader compilation in cmake, Agility SDKHEADmain
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.h78
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
27extern "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