85 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|  * This file has no copyright assigned and is placed in the Public Domain.
 | |
|  * This file is part of the w64 mingw-runtime package.
 | |
|  * No warranty is given; refer to the file DISCLAIMER within this package.
 | |
|  */
 | |
| #if !defined(_BASETYPS_H_)
 | |
| #define _BASETYPS_H_
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| #define EXTERN_C extern "C"
 | |
| #else
 | |
| #define EXTERN_C extern
 | |
| #endif
 | |
| 
 | |
| #define STDMETHODCALLTYPE WINAPI
 | |
| #define STDMETHODVCALLTYPE __cdecl
 | |
| 
 | |
| #define STDAPICALLTYPE WINAPI
 | |
| #define STDAPIVCALLTYPE __cdecl
 | |
| 
 | |
| #define STDAPI EXTERN_C HRESULT WINAPI
 | |
| #define STDAPI_(type) EXTERN_C type WINAPI
 | |
| 
 | |
| #define STDMETHODIMP HRESULT WINAPI
 | |
| #define STDMETHODIMP_(type) type WINAPI
 | |
| 
 | |
| #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
 | |
| #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
 | |
| 
 | |
| #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
 | |
| #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
 | |
| 
 | |
| #if defined(__cplusplus) && !defined(CINTERFACE)
 | |
| 
 | |
| #define __STRUCT__ struct
 | |
| #define STDMETHOD(method) virtual HRESULT WINAPI method
 | |
| #define STDMETHOD_(type,method) virtual type WINAPI method
 | |
| #define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method
 | |
| #define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method
 | |
| #define PURE = 0
 | |
| #define THIS_
 | |
| #define THIS void
 | |
| #define DECLARE_INTERFACE(iface) __STRUCT__ iface
 | |
| #define DECLARE_INTERFACE_(iface,baseiface) __STRUCT__ iface : public baseiface
 | |
| #else
 | |
| 
 | |
| #ifndef __OBJC__
 | |
| #define interface struct
 | |
| #endif
 | |
| 
 | |
| #define STDMETHOD(method) HRESULT (WINAPI *method)
 | |
| #define STDMETHOD_(type,method) type (WINAPI *method)
 | |
| #define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
 | |
| #define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE *method)
 | |
| 
 | |
| #define PURE
 | |
| #define THIS_ INTERFACE *This,
 | |
| #define THIS INTERFACE *This
 | |
| #ifdef CONST_VTABLE
 | |
| #define DECLARE_INTERFACE(iface) typedef struct iface { \
 | |
|   const struct iface##Vtbl *lpVtbl; } iface; \
 | |
|   typedef const struct iface##Vtbl iface##Vtbl; \
 | |
|   const struct iface##Vtbl
 | |
| #else
 | |
| #define DECLARE_INTERFACE(iface) typedef struct iface { \
 | |
|     struct iface##Vtbl *lpVtbl; \
 | |
|   } iface; \
 | |
|   typedef struct iface##Vtbl iface##Vtbl; \
 | |
|   struct iface##Vtbl
 | |
| #endif
 | |
| #define DECLARE_INTERFACE_(iface,baseiface) DECLARE_INTERFACE(iface)
 | |
| #endif
 | |
| 
 | |
| #include <guiddef.h>
 | |
| 
 | |
| #ifndef _ERROR_STATUS_T_DEFINED
 | |
| #define _ERROR_STATUS_T_DEFINED
 | |
| typedef unsigned long error_status_t;
 | |
| #endif
 | |
| 
 | |
| #ifndef _WCHAR_T_DEFINED
 | |
| typedef unsigned short wchar_t;
 | |
| #define _WCHAR_T_DEFINED
 | |
| #endif
 | |
| #endif
 |