ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/basetyps.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 3074 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6 #ifndef _BASETYPS_H_
7 #define _BASETYPS_H_
8
9 #ifdef __cplusplus
10 #define EXTERN_C extern "C"
11 #else
12 #define EXTERN_C extern
13 #endif
14
15 /* Keep in sync with winnt.h header. */
16 #ifndef STDMETHODCALLTYPE
17 #define STDMETHODCALLTYPE WINAPI
18 #define STDMETHODVCALLTYPE __cdecl
19 #define STDAPICALLTYPE WINAPI
20 #define STDAPIVCALLTYPE __cdecl
21
22 #define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
23 #define STDAPI_(type) EXTERN_C type STDAPICALLTYPE
24
25 #define STDMETHODIMP HRESULT STDMETHODCALLTYPE
26 #define STDMETHODIMP_(type) type STDMETHODCALLTYPE
27
28 #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
29 #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
30
31 #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
32 #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
33 #endif
34
35 #if defined (__cplusplus) && !defined (CINTERFACE)
36
37 #ifdef COM_STDMETHOD_CAN_THROW
38 #define COM_DECLSPEC_NOTHROW
39 #else
40 #define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
41 #endif
42
43 #define __STRUCT__ struct
44 #ifndef __OBJC__
45 #undef interface
46 #define interface __STRUCT__
47 #endif
48 #define STDMETHOD(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method
49 #define STDMETHOD_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODCALLTYPE method
50 #define STDMETHODV(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODVCALLTYPE method
51 #define STDMETHODV_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODVCALLTYPE method
52 #define PURE = 0
53 #define THIS_
54 #define THIS void
55 #define DECLARE_INTERFACE(iface) interface DECLSPEC_NOVTABLE iface
56 #define DECLARE_INTERFACE_(iface, baseiface) interface DECLSPEC_NOVTABLE iface : public baseiface
57 #else
58
59 #ifndef __OBJC__
60 #undef interface
61 #define interface struct
62 #endif
63
64 #define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE *method)
65 #define STDMETHOD_(type, method) type (STDMETHODCALLTYPE *method)
66 #define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
67 #define STDMETHODV_(type, method) type (STDMETHODVCALLTYPE *method)
68
69 #define PURE
70 #define THIS_ INTERFACE *This,
71 #define THIS INTERFACE *This
72 #ifdef CONST_VTABLE
73 #define DECLARE_INTERFACE(iface) typedef interface iface { const struct iface##Vtbl *lpVtbl; } iface; typedef const struct iface##Vtbl iface##Vtbl; const struct iface##Vtbl
74 #else
75 #define DECLARE_INTERFACE(iface) typedef interface iface { struct iface##Vtbl *lpVtbl; } iface; typedef struct iface##Vtbl iface##Vtbl; struct iface##Vtbl
76 #endif
77 #define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE (iface)
78 #endif
79
80 #define IFACEMETHOD(method) /*override*/ STDMETHOD (method)
81 #define IFACEMETHOD_(type, method) /*override*/ STDMETHOD_(type, method)
82 #define IFACEMETHODV(method) /*override*/ STDMETHODV (method)
83 #define IFACEMETHODV_(type, method) /*override*/ STDMETHODV_(type, method)
84
85 #include <guiddef.h>
86
87 #ifndef _ERROR_STATUS_T_DEFINED
88 #define _ERROR_STATUS_T_DEFINED
89 typedef unsigned __LONG32 error_status_t;
90 #endif
91
92 #ifndef _WCHAR_T_DEFINED
93 #define _WCHAR_T_DEFINED
94 typedef unsigned short wchar_t;
95 #endif
96
97 #endif