Author: hyperion
Date: Fri Aug  7 17:25:03 2009
New Revision: 42469

URL: http://svn.reactos.org/svn/reactos?rev=42469&view=rev
Log:
added      include/reactos/wine/typeof.h
   Simulate typeof operator for the Wine code that requires it

modified   ReactOS-generic.rbuild
   Force-include typeof.h when compiling with Visual C++

Added:
    trunk/reactos/include/reactos/wine/typeof.h   (with props)
Modified:
    trunk/reactos/ReactOS-generic.rbuild

Modified: trunk/reactos/ReactOS-generic.rbuild
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ReactOS-generic.rbuild?rev=42469&r1=42468&r2=42469&view=diff
==============================================================================
--- trunk/reactos/ReactOS-generic.rbuild [iso-8859-1] (original)
+++ trunk/reactos/ReactOS-generic.rbuild [iso-8859-1] Fri Aug  7 17:25:03 2009
@@ -99,6 +99,7 @@
                <compilerflag>/Zl</compilerflag>
                <compilerflag>/Zi</compilerflag>
                <compilerflag>/W1</compilerflag>
+               <compilerflag>/FItypeof.h</compilerflag>
        </group>
 
        <group compilerset="gcc">

Added: trunk/reactos/include/reactos/wine/typeof.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/typeof.h?rev=42469&view=auto
==============================================================================
--- trunk/reactos/include/reactos/wine/typeof.h (added)
+++ trunk/reactos/include/reactos/wine/typeof.h [iso-8859-1] Fri Aug  7 
17:25:03 2009
@@ -1,0 +1,56 @@
+#define typeof(X_) __typeof_ ## X_
+
+#ifdef _WIN64
+#define __typeof_intptr long long
+#define __typeof_longptr long long
+#else
+#define __typeof_intptr int
+#define __typeof_longptr long
+#endif
+
+#ifdef __cplusplus
+#define __typeof_size size_t
+#define __typeof_wchar wchar_t
+#else
+#define __typeof_size __typeof_intptr
+#define __typeof_wchar unsigned short
+#endif
+
+typedef struct IWineD3D * (__stdcall typeof(WineDirect3DCreate))(unsigned int, 
struct IUnknown *);
+typedef struct IWineD3DClipper * (__stdcall 
typeof(WineDirect3DCreateClipper))(struct IUnknown *);
+typedef int (__stdcall typeof(ImeInquire))(struct _tagIMEINFO *, 
__typeof_wchar *, const __typeof_wchar *);
+typedef int (__stdcall typeof(ImeConfigure))(void *, void *, unsigned int, 
void *);
+typedef int (__stdcall typeof(ImeDestroy))(unsigned int);
+typedef __typeof_longptr (__stdcall typeof(ImeEscape))(void *, unsigned int, 
void *);
+typedef int (__stdcall typeof(ImeSelect))(void *, int);
+typedef int (__stdcall typeof(ImeSetActiveContext))(void *, int);
+typedef unsigned int (__stdcall typeof(ImeToAsciiEx))(unsigned int, unsigned 
int, unsigned char *, unsigned int *, unsigned int, void *);
+typedef int (__stdcall typeof(NotifyIME))(void *, unsigned int, unsigned int, 
unsigned int);
+typedef int (__stdcall typeof(ImeRegisterWord))(const __typeof_wchar *, 
unsigned int, const __typeof_wchar *);
+typedef int (__stdcall typeof(ImeUnregisterWord))(const __typeof_wchar *, 
unsigned int, const __typeof_wchar *);
+typedef unsigned int (__stdcall typeof(ImeGetRegisterWordStyle))(unsigned int, 
struct tagSTYLEBUFW *);
+typedef unsigned int (__stdcall typeof(ImeEnumRegisterWord))(int (__stdcall 
*)(const __typeof_wchar *, unsigned int, const __typeof_wchar *, void *), const 
__typeof_wchar *, unsigned int, const __typeof_wchar *, void *);
+typedef int (__stdcall typeof(ImeSetCompositionString))(void *, unsigned int, 
const void *, unsigned int, const void *, unsigned int);
+typedef unsigned int (__stdcall typeof(ImeConversionList))(void *, const 
__typeof_wchar *, struct tagCANDIDATELIST *, unsigned int, unsigned int);
+typedef int (__stdcall typeof(ImeProcessKey))(void *, unsigned int, 
__typeof_longptr, unsigned char *);
+typedef unsigned int (__stdcall typeof(ImeGetRegisterWordStyle))(unsigned int, 
struct tagSTYLEBUFW *);
+typedef unsigned int (__stdcall typeof(ImeGetImeMenuItems))(void *, unsigned 
int, unsigned int, struct tagIMEMENUITEMINFOW *, struct tagIMEMENUITEMINFOW *, 
unsigned int);
+typedef struct _xmlDoc * (__cdecl typeof(xsltApplyStylesheet))(struct 
_xsltStylesheet *, struct _xmlDoc *, const char **);
+typedef void (__cdecl typeof(xsltCleanupGlobals))(void);
+typedef void (__cdecl typeof(xsltFreeStylesheet))(struct _xsltStylesheet *);
+typedef struct _xsltStylesheet * (__cdecl 
typeof(xsltParseStylesheetDoc))(struct _xmlDoc *);
+typedef struct jpeg_error_mgr * (__cdecl typeof(jpeg_std_error))(struct 
jpeg_error_mgr *);
+typedef void (__cdecl typeof(jpeg_CreateDecompress))(struct 
jpeg_decompress_struct *, int, __typeof_size);
+typedef int (__cdecl typeof(jpeg_read_header))(struct jpeg_decompress_struct 
*, int);
+typedef int (__cdecl typeof(jpeg_start_decompress))(struct 
jpeg_decompress_struct *);
+typedef unsigned int (__cdecl typeof(jpeg_read_scanlines))(struct 
jpeg_decompress_struct *, unsigned char **, unsigned int);
+typedef int (__cdecl typeof(jpeg_finish_decompress))(struct 
jpeg_decompress_struct *);
+typedef void (__cdecl typeof(jpeg_destroy_decompress))(struct 
jpeg_decompress_struct *);
+
+#undef __typeof_intptr
+#undef __typeof_longptr
+#undef __typeof_wchar
+#undef __typeof_size
+
+/* EOF */
+

Propchange: trunk/reactos/include/reactos/wine/typeof.h
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to