Fix some type definitions for the WORDS_BIGENDIAN case
Alexandre Julliard
julliard at winehq.org
Tue Jan 3 05:41:00 CST 2006
Dmitry Timoshkov <dmitry at baikal.ru> writes:
> 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
I'm not sure what you are trying to achieve here. If you want to load
little-endian files on big-endian machines, you need to swap
everything; swapping only the signature is not going to do any good.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list