| /* | 
 |  * Copyright (C) 1998 Anders Norlander | 
 |  * Copyright (C) 2005 Steven Edwards | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 |  */ | 
 |  | 
 | #ifndef _BASETYPS_H_ | 
 | #define _BASETYPS_H_ | 
 |  | 
 | #ifdef __cplusplus | 
 | # define EXTERN_C extern "C" | 
 | #else | 
 | # define EXTERN_C extern | 
 | #endif | 
 |  | 
 | #define STDMETHODCALLTYPE  __stdcall | 
 | #define STDMETHODVCALLTYPE __cdecl | 
 | #define STDAPICALLTYPE     __stdcall | 
 | #define STDAPIVCALLTYPE    __cdecl | 
 | #define STDAPI             EXTERN_C HRESULT STDAPICALLTYPE | 
 | #define STDAPI_(t)         EXTERN_C t STDAPICALLTYPE | 
 | #define STDMETHODIMP       HRESULT STDMETHODCALLTYPE | 
 | #define STDMETHODIMP_(t)   t STDMETHODCALLTYPE | 
 | #define STDAPIV            EXTERN_C HRESULT STDAPIVCALLTYPE | 
 | #define STDAPIV_(t)        EXTERN_C t STDAPIVCALLTYPE | 
 | #define STDMETHODIMPV      HRESULT STDMETHODVCALLTYPE | 
 | #define STDMETHODIMPV_(t)  t STDMETHODVCALLTYPE | 
 |  | 
 | #if defined(__cplusplus) && !defined(CINTERFACE) | 
 | # define interface struct | 
 | # define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m | 
 | # define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m | 
 | # define PURE =0 | 
 | # define THIS_ | 
 | # define THIS void | 
 | # define DECLARE_INTERFACE(i)    interface i | 
 | # define DECLARE_INTERFACE_(i,b) interface i : public b | 
 | #else | 
 | # define STDMETHOD(m) HRESULT (STDMETHODCALLTYPE *m) | 
 | # define STDMETHOD_(t,m) t (STDMETHODCALLTYPE *m) | 
 | # define PURE | 
 | # define THIS_ INTERFACE *, | 
 | # define THIS INTERFACE * | 
 | # ifdef CONST_VTABLE | 
 | #  define DECLARE_INTERFACE(i) \ | 
 |      typedef interface i { const struct i##Vtbl *lpVtbl; } i; \ | 
 |      typedef struct i##Vtbl i##Vtbl; \ | 
 |      struct i##Vtbl | 
 | # else | 
 | #  define DECLARE_INTERFACE(i) \ | 
 |      typedef interface i { struct i##Vtbl *lpVtbl; } i; \ | 
 |      typedef struct i##Vtbl i##Vtbl; \ | 
 |      struct i##Vtbl | 
 | # endif | 
 | # define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i) | 
 | #endif | 
 |  | 
 | #include <guiddef.h> | 
 |  | 
 | #ifndef _ERROR_STATUS_T_DEFINED | 
 | typedef unsigned long error_status_t; | 
 | #define _ERROR_STATUS_T_DEFINED | 
 | #endif | 
 |  | 
 | #ifndef _WCHAR_T_DEFINED | 
 | typedef unsigned short wchar_t; | 
 | #define _WCHAR_T_DEFINED | 
 | #endif | 
 |  | 
 | #endif /* _BASETYPS_H_ */ |