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