Fixed mismatches between the Wine headers and the Microsoft headers.

diff --git a/include/winbase.h b/include/winbase.h
index cdf69f6..c560fed 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -145,7 +145,8 @@
     BYTE cBytes;
     BYTE fFixedDisk;
     WORD nErrCode;
-    BYTE reserved[4];
+    WORD Reserved1;
+    WORD Reserved2;
     BYTE szPathName[OFS_MAXPATHNAME];
 } OFSTRUCT, *POFSTRUCT, *LPOFSTRUCT;
 
@@ -651,7 +652,7 @@
   BYTE    ACLineStatus;
   BYTE    BatteryFlag;
   BYTE    BatteryLifePercent;
-  BYTE    reserved;
+  BYTE    Reserved1;
   DWORD   BatteryLifeTime;
   DWORD   BatteryFullLifeTime;
 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
@@ -923,10 +924,17 @@
 
 typedef struct tagCOMSTAT
 {
-    DWORD status;
+    DWORD fCtsHold : 1;
+    DWORD fDsrHold : 1;
+    DWORD fRlsdHold : 1;
+    DWORD fXoffHold : 1;
+    DWORD fXoffSent : 1;
+    DWORD fEof : 1;
+    DWORD fTxim : 1;
+    DWORD fReserved : 25;
     DWORD cbInQue;
     DWORD cbOutQue;
-} COMSTAT,*LPCOMSTAT;
+} COMSTAT, *LPCOMSTAT;
 
 typedef struct tagDCB
 {
@@ -1938,14 +1946,23 @@
 #define DOCKINFO_USER_UNDOCKED	(DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)
 #define DOCKINFO_USER_DOCKED	(DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)
 
-typedef struct HW_PROFILE_INFOAtag {
+typedef struct tagHW_PROFILE_INFOA {
     DWORD dwDockInfo;
     CHAR  szHwProfileGuid[HW_PROFILE_GUIDLEN];
     CHAR  szHwProfileName[MAX_PROFILE_LEN];
 } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
 
+typedef struct tagHW_PROFILE_INFOW {
+    DWORD dwDockInfo;
+    WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
+    WCHAR szHwProfileName[MAX_PROFILE_LEN];
+} HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
+
+DECL_WINELIB_TYPE_AW(HW_PROFILE_INFO)
+DECL_WINELIB_TYPE_AW(LPHW_PROFILE_INFO)
+
 /* Stream data structures and defines */
-/*the types of backup data -- WIN32_STREAM_ID.dwStreamID below*/
+/*the types of backup data -- WIN32_STREAM_ID.dwStreamId below*/
 #define BACKUP_INVALID        0
 #define BACKUP_DATA           1
 #define BACKUP_EA_DATA        2
@@ -1965,7 +1982,7 @@
 #define STREAM_SPARSE_ATTRIBUTE    8
 
 typedef struct _WIN32_STREAM_ID {
-	DWORD   dwStreamID;
+	DWORD   dwStreamId;
 	DWORD   dwStreamAttributes;
 	LARGE_INTEGER Size;
 	DWORD   dwStreamNameSize;
diff --git a/include/wingdi.h b/include/wingdi.h
index 6b5b698..8dc40b2 100644
--- a/include/wingdi.h
+++ b/include/wingdi.h
@@ -1694,7 +1694,7 @@
     LONG         bV4Height;
     WORD         bV4Planes;
     WORD         bV4BitCount;
-    DWORD        bV4Compression;
+    DWORD        bV4V4Compression;
     DWORD        bV4SizeImage;
     LONG         bV4XPelsPerMeter;
     LONG         bV4YPelsPerMeter;
@@ -1949,15 +1949,10 @@
     DWORD nPalEntries;
     SIZEL szlDevice;
     SIZEL szlMillimeters;
-
-    /* Fields for winver >= win95 */
     DWORD cbPixelFormat;
     DWORD offPixelFormat;
     DWORD bOpenGL;
-
-    /* Fields for winver >= win98 */
     SIZEL szlMicrometers;
-
 } ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
 
 typedef struct {
@@ -2170,7 +2165,7 @@
 } EMRFILLRGN, *PEMRFILLRGN;
 
 typedef struct {
-    DWORD signature;
+    DWORD dSignature;
     DWORD nVersion;
     DWORD cbData;
     DWORD offData;
@@ -2256,7 +2251,7 @@
 typedef struct {
     EMR      emr;
     RECTL    rclBounds;
-    POINTL   aptlDst[3];
+    POINTL   aptlDest[3];
     LONG     xSrc;
     LONG     ySrc;
     LONG     cxSrc;
diff --git a/include/winnt.h b/include/winnt.h
index 02ac25b..b4cc51c 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -1736,6 +1736,7 @@
  * File formats definitions
  */
 
+#include "pshpack2.h"
 typedef struct _IMAGE_DOS_HEADER {
     WORD  e_magic;      /* 00: MZ Header signature */
     WORD  e_cblp;       /* 02: Bytes on last page of file */
@@ -1757,6 +1758,7 @@
     WORD  e_res2[10];   /* 28: Reserved words */
     DWORD e_lfanew;     /* 3c: Offset to extended header */
 } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
+#include "poppack.h"
 
 #define IMAGE_DOS_SIGNATURE    0x5A4D     /* MZ   */
 #define IMAGE_OS2_SIGNATURE    0x454E     /* NE   */
@@ -1769,6 +1771,7 @@
  * This is the Windows executable (NE) header.
  * the name IMAGE_OS2_HEADER is misleading, but in the SDK this way.
  */
+#include "pshpack2.h"
 typedef struct
 {
     WORD  ne_magic;             /* 00 NE signature 'NE' */
@@ -1797,12 +1800,14 @@
     WORD  ne_cres;              /* 34 # of resource segments */
     BYTE  ne_exetyp;            /* 36 Flags indicating target OS */
     BYTE  ne_flagsothers;       /* 37 Additional information flags */
-    WORD  fastload_offset;      /* 38 Offset to fast load area (should be ne_pretthunks)*/
-    WORD  fastload_length;      /* 3a Length of fast load area (should be ne_psegrefbytes) */
+    WORD  ne_pretthunks;        /* 38 Offset to return thunks */
+    WORD  ne_psegrefbytes;      /* 3a Offset to segment ref. bytes */
     WORD  ne_swaparea;          /* 3c Reserved by Microsoft */
     WORD  ne_expver;            /* 3e Expected Windows version number */
-} IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER;
+} IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
+#include "poppack.h"
 
+#include "pshpack2.h"
 typedef struct _IMAGE_VXD_HEADER {
   WORD  e32_magic;
   BYTE  e32_border;
@@ -1850,13 +1855,13 @@
   DWORD e32_instpreload;
   DWORD e32_instdemand;
   DWORD e32_heapsize;
-  BYTE   e32_res3[12];
+  BYTE  e32_res3[12];
   DWORD e32_winresoff;
   DWORD e32_winreslen;
   WORD  e32_devid;
   WORD  e32_ddkver;
 } IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER;
-
+#include "poppack.h"
 
 /* These defines describe the meanings of the bits in the Characteristics
    field */
@@ -2325,11 +2330,10 @@
     union {
         DWORD   VirtualAddress;
         DWORD   RelocCount;
-    } u;
+    } DUMMYUNIONNAME;
     DWORD   SymbolTableIndex;
     WORD    Type;
-} IMAGE_RELOCATION;
-typedef IMAGE_RELOCATION *PIMAGE_RELOCATION;
+} IMAGE_RELOCATION, *PIMAGE_RELOCATION;
 
 #include "poppack.h"
 
@@ -3053,8 +3057,10 @@
  * TOKEN_SOURCEL
  */
 
+#define TOKEN_SOURCE_LENGTH 8
+
 typedef struct _TOKEN_SOURCE {
-  char Sourcename[8];
+  char SourceName[TOKEN_SOURCE_LENGTH];
   LUID SourceIdentifier;
 } TOKEN_SOURCE;
 
diff --git a/include/winuser.h b/include/winuser.h
index d7a0f68..0bc490c 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -325,10 +325,10 @@
 
 typedef struct
 {
-    HWND    hWnd;
-    UINT    wMessage;
+    HWND    hwnd;
+    UINT    message;
     WPARAM  wParam;
-    LPARAM    lParam;
+    LPARAM  lParam;
 } HARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
 
 
@@ -1683,14 +1683,14 @@
 typedef struct
 {
     DWORD   mkSize;
-    CHAR    mkKeyList;
+    CHAR    mkKeylist;
     CHAR    szKeyphrase[1];
 } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
 
 typedef struct
 {
     DWORD   mkSize;
-    WCHAR   mkKeyList;
+    WCHAR   mkKeylist;
     WCHAR   szKeyphrase[1];
 } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;