Fix some type definitions for the WORDS_BIGENDIAN case

Dmitry Timoshkov dmitry at baikal.ru
Mon Jan 2 02:23:43 CST 2006


Hello,

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Fix some type definitions for the WORDS_BIGENDIAN case.

diff -up cvs/hq/wine/include/windef.h wine/include/windef.h
--- cvs/hq/wine/include/windef.h	2005-11-10 11:28:37.000000000 +0800
+++ wine/include/windef.h	2006-01-02 14:35:24.000000000 +0800
@@ -279,8 +279,9 @@ typedef HICON HCURSOR;
 
 /* Callback function pointers types */
 
-typedef INT     (CALLBACK *FARPROC)();
-typedef INT     (CALLBACK *PROC)();
+typedef INT_PTR (CALLBACK *NEARROC)();
+typedef INT_PTR (CALLBACK *FARPROC)();
+typedef INT_PTR (CALLBACK *PROC)();
 
 
 /* Macros to split words and longs. */
diff -up cvs/hq/wine/include/wingdi.h wine/include/wingdi.h
--- cvs/hq/wine/include/wingdi.h	2005-12-05 12:47:51.000000000 +0800
+++ wine/include/wingdi.h	2006-01-02 15:06:11.000000000 +0800
@@ -1289,8 +1289,13 @@ typedef struct
 
 typedef struct
 {
+#ifdef WORDS_BIGENDIAN
+    SHORT   value;
+    WORD    fract;
+#else
     WORD    fract;
     SHORT   value;
+#endif
 } FIXED;
 
 typedef struct tagPOINTFX
@@ -2782,17 +2787,26 @@ typedef INT (CALLBACK *ENHMFENUMPROC)(HD
 #define EMR_MIN 1
 #define EMR_MAX 122
 
-#define ENHMETA_SIGNATURE	1179469088
+#ifdef WORDS_BIGENDIAN
+#define ENHMETA_SIGNATURE	0x20454d46
+#else
+#define ENHMETA_SIGNATURE	0x464d4520
+#endif
 #define ENHMETA_STOCK_OBJECT	0x80000000
 
+#ifdef WORDS_BIGENDIAN
+#define EPS_SIGNATURE                 0x45505346
+#define GDICOMMENT_IDENTIFIER         0x47444943
+#else
+#define EPS_SIGNATURE                 0x46535045
 #define GDICOMMENT_IDENTIFIER         0x43494447
+#endif
 #define GDICOMMENT_WINDOWS_METAFILE   0x80000001
 #define GDICOMMENT_BEGINGROUP         0x00000002
 #define GDICOMMENT_ENDGROUP           0x00000003
 #define GDICOMMENT_MULTIFORMATS       0x40000004
 #define GDICOMMENT_UNICODE_STRING     0x00000040
 #define GDICOMMENT_UNICODE_END        0x00000080
-#define EPS_SIGNATURE                 0x46535045
 
 #define CCHDEVICENAME 32
 #define CCHFORMNAME   32
diff -up cvs/hq/wine/include/winnt.h wine/include/winnt.h
--- cvs/hq/wine/include/winnt.h	2005-11-30 23:19:48.000000000 +0800
+++ wine/include/winnt.h	2006-01-02 15:08:41.000000000 +0800
@@ -1743,12 +1743,21 @@ typedef struct _IMAGE_DOS_HEADER {
 } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
 #include <poppack.h>
 
+#ifdef WORDS_BIGENDIAN
+#define IMAGE_DOS_SIGNATURE    0x4D5A     /* MZ   */
+#define IMAGE_OS2_SIGNATURE    0x4E45     /* NE   */
+#define IMAGE_OS2_SIGNATURE_LE 0x4C45     /* LE   */
+#define IMAGE_OS2_SIGNATURE_LX 0x4C58     /* LX */
+#define IMAGE_VXD_SIGNATURE    0x4C45     /* LE   */
+#define IMAGE_NT_SIGNATURE     0x50450000 /* PE00 */
+#else
 #define IMAGE_DOS_SIGNATURE    0x5A4D     /* MZ   */
 #define IMAGE_OS2_SIGNATURE    0x454E     /* NE   */
 #define IMAGE_OS2_SIGNATURE_LE 0x454C     /* LE   */
 #define IMAGE_OS2_SIGNATURE_LX 0x584C     /* LX */
 #define IMAGE_VXD_SIGNATURE    0x454C     /* LE   */
 #define IMAGE_NT_SIGNATURE     0x00004550 /* PE00 */
+#endif
 
 /*
  * This is the Windows executable (NE) header.
@@ -2849,7 +2858,11 @@ typedef struct _IMAGE_SEPARATE_DEBUG_HEA
 	DWORD	Reserved[ 2 ];
 } IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;
 
+#ifdef WORDS_BIGENDIAN
+#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4449
+#else
 #define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
+#endif
 
 
 typedef struct tagMESSAGE_RESOURCE_ENTRY {
diff -up cvs/hq/wine/include/winver.h wine/include/winver.h
--- cvs/hq/wine/include/winver.h	2005-11-03 22:16:10.000000000 +0800
+++ wine/include/winver.h	2006-01-02 15:02:01.000000000 +0800
@@ -29,9 +29,14 @@ extern "C" {
 #define	VS_VERSION_INFO		1
 #define	VS_USER_DEFINED		100
 
-#define	VS_FFI_SIGNATURE	0xfeef04bdL	/* FileInfo Magic */
-#define	VS_FFI_STRUCVERSION	0x00010000L	/* struc version 1.0 */
-#define	VS_FFI_FILEFLAGSMASK	0x0000003fL	/* valid flags */
+#ifdef WORDS_BIGENDIAN
+#define	VS_FFI_SIGNATURE	0xbd04effe	/* FileInfo Magic */
+#else
+#define	VS_FFI_SIGNATURE	0xfeef04bd	/* FileInfo Magic */
+#endif
+
+#define	VS_FFI_STRUCVERSION	0x00010000	/* struc version 1.0 */
+#define	VS_FFI_FILEFLAGSMASK	0x0000003f	/* valid flags */
 
 /* VS_VERSION.dwFileFlags */
 #define	VS_FF_DEBUG		0x01L





More information about the wine-patches mailing list