diff --git a/controls/button.c b/controls/button.c
index cfbcc26..de52ff8 100644
--- a/controls/button.c
+++ b/controls/button.c
@@ -8,6 +8,7 @@
 #include <string.h>
 #include "win.h"
 #include "button.h"
+#include "winbase.h"
 #include "windef.h"
 #include "wingdi.h"
 #include "wine/winuser16.h"
diff --git a/controls/edit.c b/controls/edit.c
index 25ea9d4..c10729e 100644
--- a/controls/edit.c
+++ b/controls/edit.c
@@ -14,6 +14,8 @@
 #include "config.h"
 
 #include <string.h>
+
+#include "winbase.h"
 #include "winnt.h"
 #include "win.h"
 #include "wine/winbase16.h"
diff --git a/controls/menu.c b/controls/menu.c
index 786782a..fa915d8 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -28,6 +28,7 @@
 #include "nonclient.h"
 #include "user.h"
 #include "message.h"
+#include "queue.h"
 #include "tweak.h"
 
 #include "debugtools.h"
diff --git a/debugger/stack.c b/debugger/stack.c
index 62f9b43..46a2d1d 100644
--- a/debugger/stack.c
+++ b/debugger/stack.c
@@ -7,10 +7,13 @@
  */
 
 #include "config.h"
+
 #include <stdio.h>
 #include <stdlib.h>
+
 #include "debugger.h"
 #include "stackframe.h"
+#include "winbase.h"
 
 #ifdef __i386__
 /*
diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c
index b6bfa13..3168ce3 100644
--- a/dlls/comctl32/commctrl.c
+++ b/dlls/comctl32/commctrl.c
@@ -6,6 +6,8 @@
  *
  */
 
+#include <string.h>
+
 #include "winbase.h"
 #include "heap.h"
 #include "commctrl.h"
diff --git a/dlls/winsock/async.c b/dlls/winsock/async.c
index df88bd7..431d7aa 100644
--- a/dlls/winsock/async.c
+++ b/dlls/winsock/async.c
@@ -77,6 +77,8 @@
 #endif
 
 #include "wine/winbase16.h"
+#include "wingdi.h"
+#include "winuser.h"
 #include "winsock.h"
 #include "winnt.h"
 #include "heap.h"
diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c
index e821e8a..9d202c5 100644
--- a/dlls/winsock/socket.c
+++ b/dlls/winsock/socket.c
@@ -71,6 +71,8 @@
 #endif
 
 #include "wine/winbase16.h"
+#include "wingdi.h"
+#include "winuser.h"
 #include "winsock2.h"
 #include "winnt.h"
 #include "heap.h"
diff --git a/include/dce.h b/include/dce.h
index 3fa10cb..3913c12 100644
--- a/include/dce.h
+++ b/include/dce.h
@@ -7,7 +7,9 @@
 #ifndef __WINE_DCE_H
 #define __WINE_DCE_H
 
-#include "win.h"
+#include "windef.h"
+
+struct tagWND;
 
 /* additional DCX flags 
  */
@@ -49,9 +51,9 @@
 extern void  DCE_Init(void);
 extern DCE*  DCE_AllocDCE( HWND hWnd, DCE_TYPE type );
 extern DCE*  DCE_FreeDCE( DCE *dce );
-extern void  DCE_FreeWindowDCE( WND* );
-extern INT16 DCE_ExcludeRgn( HDC, WND*, HRGN );
+extern void  DCE_FreeWindowDCE( struct tagWND* );
+extern INT16 DCE_ExcludeRgn( HDC, struct tagWND*, HRGN );
 extern HRGN DCE_GetVisRgn( HWND, WORD, HWND, WORD );
-extern BOOL DCE_InvalidateDCE( WND*, const RECT* );
+extern BOOL DCE_InvalidateDCE( struct tagWND*, const RECT* );
 
 #endif  /* __WINE_DCE_H */
diff --git a/include/menu.h b/include/menu.h
index 88e4a5e..855a897 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -5,7 +5,9 @@
 #ifndef __WINE_MENU_H
 #define __WINE_MENU_H
 
-#include "win.h"
+#include "windef.h"
+
+struct tagWND;
 
 LRESULT WINAPI PopupMenuWndProc( HWND hwnd, UINT message, WPARAM wParam,
                                  LPARAM lParam );
@@ -15,9 +17,9 @@
 extern HMENU MENU_GetSysMenu(HWND hWndOwner, HMENU hSysPopup);
 extern UINT MENU_GetMenuBarHeight( HWND hwnd, UINT menubarWidth,
                                      INT orgX, INT orgY );
-extern BOOL MENU_PatchResidentPopup( HQUEUE16, WND* );
-extern void MENU_TrackMouseMenuBar( WND *wnd, INT ht, POINT pt );
-extern void MENU_TrackKbdMenuBar( WND *wnd, UINT wParam, INT vkey );
+extern BOOL MENU_PatchResidentPopup( HQUEUE16, struct tagWND* );
+extern void MENU_TrackMouseMenuBar( struct tagWND *wnd, INT ht, POINT pt );
+extern void MENU_TrackKbdMenuBar( struct tagWND *wnd, UINT wParam, INT vkey );
 extern UINT MENU_DrawMenuBar( HDC hDC, LPRECT lprect,
                                 HWND hwnd, BOOL suppress_draw );
 extern UINT MENU_FindSubMenu( HMENU *hmenu, HMENU hSubTarget );
diff --git a/include/message.h b/include/message.h
index 2c789e4..b4ff920 100644
--- a/include/message.h
+++ b/include/message.h
@@ -7,13 +7,14 @@
 #ifndef __WINE_MESSAGE_H
 #define __WINE_MESSAGE_H
 
-#include "win.h"
-#include "queue.h"
+#include "windef.h"
+
+struct tagMSG;
 
 extern DWORD MSG_WineStartTicks;  /* Ticks at Wine startup */
 
 /* message.c */
-extern BOOL MSG_InternalGetMessage( int type, MSG *msg, HWND hwnd,
+extern BOOL MSG_InternalGetMessage( int type, struct tagMSG *msg, HWND hwnd,
                                     HWND hwndOwner, WPARAM code,
                                     WORD flags, BOOL sendIdle, BOOL* idleSent );
 
@@ -21,7 +22,7 @@
 extern BOOL TIMER_Init( void );
 extern void TIMER_RemoveWindowTimers( HWND hwnd );
 extern void TIMER_RemoveQueueTimers( HQUEUE16 hqueue );
-extern BOOL TIMER_GetTimerMsg( MSG *msg, HWND hwnd,
+extern BOOL TIMER_GetTimerMsg( struct tagMSG *msg, HWND hwnd,
                                  HQUEUE16 hQueue, BOOL remove );
 
 /* event.c */
diff --git a/include/nonclient.h b/include/nonclient.h
index 8e82b53..8d0f9df 100644
--- a/include/nonclient.h
+++ b/include/nonclient.h
@@ -7,18 +7,20 @@
 #ifndef __WINE_NONCLIENT_H
 #define __WINE_NONCLIENT_H
 
-#include "win.h"
+#include "windef.h"
+
+struct tagWND;
 
 extern LONG   NC_HandleNCPaint( HWND hwnd , HRGN clip);
-extern LONG   NC_HandleNCActivate( WND *pwnd, WPARAM16 wParam );
-extern LONG   NC_HandleNCCalcSize( WND *pWnd, RECT *winRect );
+extern LONG   NC_HandleNCActivate( struct tagWND *pwnd, WPARAM16 wParam );
+extern LONG   NC_HandleNCCalcSize( struct tagWND *pWnd, RECT *winRect );
 extern LONG   NC_HandleNCHitTest( HWND hwnd, POINT16 pt );
-extern LONG   NC_HandleNCLButtonDown( WND* pWnd, WPARAM16 wParam, LPARAM lParam );
-extern LONG   NC_HandleNCLButtonDblClk( WND *pWnd, WPARAM16 wParam, LPARAM lParam);
+extern LONG   NC_HandleNCLButtonDown( struct tagWND* pWnd, WPARAM16 wParam, LPARAM lParam );
+extern LONG   NC_HandleNCLButtonDblClk( struct tagWND *pWnd, WPARAM16 wParam, LPARAM lParam);
 extern LONG   NC_HandleSysCommand( HWND hwnd, WPARAM16 wParam, POINT16 pt );
 extern LONG   NC_HandleSetCursor( HWND hwnd, WPARAM16 wParam, LPARAM lParam );
 extern void   NC_DrawSysButton( HWND hwnd, HDC hdc, BOOL down );
 extern BOOL NC_DrawSysButton95( HWND hwnd, HDC hdc, BOOL down );
-extern BOOL NC_GetSysPopupPos( WND* wndPtr, RECT* rect );
+extern BOOL NC_GetSysPopupPos( struct tagWND* wndPtr, RECT* rect );
 
 #endif /* __WINE_NONCLIENT_H */
diff --git a/include/queue.h b/include/queue.h
index e12c572..d3a6c24 100644
--- a/include/queue.h
+++ b/include/queue.h
@@ -8,6 +8,7 @@
 #define __WINE_QUEUE_H
 
 #include "windef.h"
+#include "winbase.h"
 #include "wingdi.h"
 #include "winuser.h"
 #include "thread.h"
diff --git a/include/stackframe.h b/include/stackframe.h
index 73177c9..80b3073 100644
--- a/include/stackframe.h
+++ b/include/stackframe.h
@@ -8,8 +8,10 @@
 #define __WINE_STACKFRAME_H
 
 #include <string.h>
+
 #include "ldt.h"
 #include "thread.h"
+#include "winnt.h"
 
 #include "pshpack1.h"
 
diff --git a/include/struct32.h b/include/struct32.h
index 6910c54..ca70f92 100644
--- a/include/struct32.h
+++ b/include/struct32.h
@@ -6,7 +6,6 @@
 #include "windef.h"
 #include "wingdi.h"
 #include "wine/winuser16.h"
-#include "queue.h"
 
 extern void STRUCT32_MINMAXINFO32to16( const MINMAXINFO*, MINMAXINFO16* );
 extern void STRUCT32_MINMAXINFO16to32( const MINMAXINFO16*, MINMAXINFO* );
diff --git a/include/thread.h b/include/thread.h
index 882b1e1..88ffd4b 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -8,12 +8,13 @@
 #define __WINE_THREAD_H
 
 #include "config.h"
-#include "winbase.h"
-#include "syslevel.h"
+
 #include "ntdef.h" /* UNICODE_STRING */
 
 struct _PDB;
 struct __EXCEPTION_FRAME;
+struct _SECURITY_ATTRIBUTES;
+struct tagSYSLEVEL;
 
 /* Thread exception block
 
@@ -84,7 +85,7 @@
     void        *entry_arg;      /* --3 1b4 Entry point arg (was: unknown) */
     DWORD        unknown5[4];    /* --n 1b8 Unknown */
     DWORD        sys_count[4];   /* --3 1c8 Syslevel mutex entry counters */
-    SYSLEVEL    *sys_mutex[4];   /* --3 1d8 Syslevel mutex pointers */
+    struct tagSYSLEVEL *sys_mutex[4];   /* --3 1d8 Syslevel mutex pointers */
     DWORD        unknown6[5];    /* --n 1e8 Unknown */
 
     /* The following are Wine-specific fields (NT: GDI stuff) */
@@ -123,7 +124,7 @@
 extern TEB *THREAD_CreateInitialThread( struct _PDB *pdb, int server_fd );
 extern TEB *THREAD_Create( struct _PDB *pdb, int fd, DWORD flags, 
                            DWORD stack_size, BOOL alloc_stack16,
-                           LPSECURITY_ATTRIBUTES sa, int *server_handle );
+                           struct _SECURITY_ATTRIBUTES *sa, int *server_handle );
 extern BOOL THREAD_IsWin16( TEB *thdb );
 extern TEB *THREAD_IdToTEB( DWORD id );
 
diff --git a/include/win.h b/include/win.h
index 5e7d5dd..ff5c70f 100644
--- a/include/win.h
+++ b/include/win.h
@@ -9,9 +9,8 @@
 
 #include "windef.h"
 #include "wingdi.h"
+#include "winproc.h"
 #include "winuser.h"
-#include "queue.h"
-#include "class.h"
 
 #define WND_MAGIC     0x444e4957  /* 'WIND' */
 
@@ -56,6 +55,7 @@
 struct tagCLASS;
 struct tagDCE;
 struct tagDC;
+struct tagMESSAGEQUEUE;
 struct tagWND_DRIVER;
 
 typedef struct tagWND
@@ -220,7 +220,7 @@
 extern BOOL ICONTITLE_Init( void );
 
 /* windows/focus.c */
-extern void FOCUS_SwitchFocus( MESSAGEQUEUE *pMsgQ, HWND , HWND );
+extern void FOCUS_SwitchFocus( struct tagMESSAGEQUEUE *pMsgQ, HWND , HWND );
 
 /* windows/edit.c */
 extern LRESULT WINAPI EditWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
diff --git a/include/winbase.h b/include/winbase.h
index 95169b6..467fa8a 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -158,7 +158,7 @@
 #define DRIVE_RAMDISK              6
 
 /* The security attributes structure */
-typedef struct
+typedef struct _SECURITY_ATTRIBUTES
 {
     DWORD   nLength;
     LPVOID  lpSecurityDescriptor;
@@ -1764,7 +1764,8 @@
 
 #if defined(__i386__) && defined(__GNUC__)
 
-static inline PVOID WINAPI InterlockedCompareExchange( PVOID *dest, PVOID xchg, PVOID compare )
+extern inline PVOID WINAPI InterlockedCompareExchange( PVOID *dest, PVOID xchg, PVOID compare );
+extern inline PVOID WINAPI InterlockedCompareExchange( PVOID *dest, PVOID xchg, PVOID compare )
 {
     PVOID ret;
     __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
@@ -1772,7 +1773,8 @@
     return ret;
 }
 
-static inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val )
+extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val );
+extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val )
 {
     LONG ret;
     __asm__ __volatile__( "lock; xchgl %0,(%1)"
@@ -1780,7 +1782,8 @@
     return ret;
 }
 
-static inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr )
+extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr );
+extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr )
 {
     LONG ret;
     __asm__ __volatile__( "lock; xaddl %0,(%1)"
@@ -1788,31 +1791,36 @@
     return ret;
 }
 
-static inline LONG WINAPI InterlockedIncrement( PLONG dest )
+extern inline LONG WINAPI InterlockedIncrement( PLONG dest );
+extern inline LONG WINAPI InterlockedIncrement( PLONG dest )
 {
     return InterlockedExchangeAdd( dest, 1 ) + 1;
 }
 
-static inline LONG WINAPI InterlockedDecrement( PLONG dest )
+extern inline LONG WINAPI InterlockedDecrement( PLONG dest );
+extern inline LONG WINAPI InterlockedDecrement( PLONG dest )
 {
     return InterlockedExchangeAdd( dest, -1 ) - 1;
 }
 
-static inline DWORD WINAPI GetLastError(void)
+extern inline DWORD WINAPI GetLastError(void);
+extern inline DWORD WINAPI GetLastError(void)
 {
     DWORD ret;
     __asm__ __volatile__( ".byte 0x64\n\tmovl 0x60,%0" : "=r" (ret) );
     return ret;
 }
 
-static inline DWORD WINAPI GetCurrentThreadId(void)
+extern inline DWORD WINAPI GetCurrentThreadId(void);
+extern inline DWORD WINAPI GetCurrentThreadId(void)
 {
     DWORD ret;
     __asm__ __volatile__( ".byte 0x64\n\tmovl 0x24,%0" : "=r" (ret) );
     return ret;
 }
 
-static inline void WINAPI SetLastError( DWORD err )
+extern inline void WINAPI SetLastError( DWORD err );
+extern inline void WINAPI SetLastError( DWORD err )
 {
     __asm__ __volatile__( ".byte 0x64\n\tmovl %0,0x60" : : "r" (err) : "memory" );
 }
diff --git a/include/wine/winuser16.h b/include/wine/winuser16.h
index cc17562..56b4c6f 100644
--- a/include/wine/winuser16.h
+++ b/include/wine/winuser16.h
@@ -1,11 +1,9 @@
 #ifndef __WINE_WINE_WINUSER16_H
 #define __WINE_WINE_WINUSER16_H
 
+#include "wine/wingdi16.h" /* wingdi.h needed for COLORREF */
 #include "winuser.h" /* winuser.h needed for MSGBOXCALLBACK */
-                     /* wingdi.h needed for COLORREF */
-#include "wine/wingdi16.h"
-
-
+                     
 #include "pshpack1.h"
 
 typedef struct tagCOMSTAT16
diff --git a/include/winpos.h b/include/winpos.h
index c5c5300..9a32f4d 100644
--- a/include/winpos.h
+++ b/include/winpos.h
@@ -7,7 +7,9 @@
 #ifndef __WINE_WINPOS_H
 #define __WINE_WINPOS_H
 
-#include "win.h"
+#include "windef.h"
+
+struct tagWND;
 
 #define DWP_MAGIC  ((INT)('W' | ('P' << 8) | ('O' << 16) | ('S' << 24)))
 
@@ -31,11 +33,11 @@
 } DWP;
 
 extern BOOL WINPOS_RedrawIconTitle( HWND hWnd );
-extern BOOL WINPOS_ShowIconTitle( WND* pWnd, BOOL bShow );
-extern void   WINPOS_GetMinMaxInfo( WND* pWnd, POINT *maxSize,
+extern BOOL WINPOS_ShowIconTitle( struct tagWND* pWnd, BOOL bShow );
+extern void   WINPOS_GetMinMaxInfo( struct tagWND* pWnd, POINT *maxSize,
                                     POINT *maxPos, POINT *minTrack,
                                     POINT *maxTrack );
-extern UINT WINPOS_MinMaximize( WND* pWnd, UINT16 cmd, LPRECT16 lpPos);
+extern UINT WINPOS_MinMaximize( struct tagWND* pWnd, UINT16 cmd, LPRECT16 lpPos);
 extern BOOL WINPOS_SetActiveWindow( HWND hWnd, BOOL fMouse,
                                       BOOL fChangeFocus );
 extern BOOL WINPOS_ChangeActiveWindow( HWND hwnd, BOOL mouseMsg );
@@ -43,11 +45,11 @@
                                   RECT *newWindowRect, RECT *oldWindowRect,
                                   RECT *oldClientRect, WINDOWPOS *winpos,
                                   RECT *newClientRect );
-extern LONG WINPOS_HandleWindowPosChanging16(WND *wndPtr, struct tagWINDOWPOS16 *winpos);
-extern LONG WINPOS_HandleWindowPosChanging(WND *wndPtr, WINDOWPOS *winpos);
-extern INT16 WINPOS_WindowFromPoint( WND* scopeWnd, POINT16 pt, WND **ppWnd );
-extern void WINPOS_CheckInternalPos( WND* wndPtr );
-extern BOOL WINPOS_ActivateOtherWindow(WND* pWnd);
+extern LONG WINPOS_HandleWindowPosChanging16(struct tagWND *wndPtr, struct tagWINDOWPOS16 *winpos);
+extern LONG WINPOS_HandleWindowPosChanging(struct tagWND *wndPtr, WINDOWPOS *winpos);
+extern INT16 WINPOS_WindowFromPoint( struct tagWND* scopeWnd, POINT16 pt, struct tagWND **ppWnd );
+extern void WINPOS_CheckInternalPos( struct tagWND* wndPtr );
+extern BOOL WINPOS_ActivateOtherWindow(struct tagWND* pWnd);
 extern BOOL WINPOS_CreateInternalPosAtom(void);
 
 #endif  /* __WINE_WINPOS_H */
diff --git a/loader/module.c b/loader/module.c
index c7a343b..44018e6 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -25,6 +25,7 @@
 #include "pe_image.h"
 #include "dosexe.h"
 #include "process.h"
+#include "syslevel.h"
 #include "thread.h"
 #include "selectors.h"
 #include "stackframe.h"
diff --git a/loader/ne/module.c b/loader/ne/module.c
index e061794..b1f55f1 100644
--- a/loader/ne/module.c
+++ b/loader/ne/module.c
@@ -24,6 +24,7 @@
 #include "global.h"
 #include "process.h"
 #include "snoop.h"
+#include "syslevel.h"
 #include "builtin16.h"
 #include "stackframe.h"
 #include "debugtools.h"
diff --git a/misc/debugstr.c b/misc/debugstr.c
index dfcfdad..021007a 100644
--- a/misc/debugstr.c
+++ b/misc/debugstr.c
@@ -5,8 +5,10 @@
 #include <ctype.h>
 
 #include "debugtools.h"
-#include "wtypes.h"
 #include "thread.h"
+#include "winbase.h"
+#include "winnt.h"
+#include "wtypes.h"
 
 /* ---------------------------------------------------------------------- */
 
diff --git a/misc/error.c b/misc/error.c
index 49ed983..00e71f5 100644
--- a/misc/error.c
+++ b/misc/error.c
@@ -8,6 +8,7 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "winbase.h"
 #include "windef.h"
 #include "stackframe.h"
 #include "debugtools.h"
diff --git a/windows/defdlg.c b/windows/defdlg.c
index c35bf2c..15d28cd 100644
--- a/windows/defdlg.c
+++ b/windows/defdlg.c
@@ -6,6 +6,7 @@
  */
 
 #include "windef.h"
+#include "winbase.h"
 #include "wingdi.h"
 #include "wine/winuser16.h"
 #include "dialog.h"
diff --git a/windows/defwnd.c b/windows/defwnd.c
index e7b5705..045aae9 100644
--- a/windows/defwnd.c
+++ b/windows/defwnd.c
@@ -7,6 +7,7 @@
 
 #include <string.h>
 
+#include "class.h"
 #include "win.h"
 #include "user.h"
 #include "heap.h"
diff --git a/windows/dialog.c b/windows/dialog.c
index 5223c77..c5d40e0 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -24,6 +24,7 @@
 #include "user.h"
 #include "winproc.h"
 #include "message.h"
+#include "queue.h"
 #include "debugtools.h"
 
 DEFAULT_DEBUG_CHANNEL(dialog);
diff --git a/windows/focus.c b/windows/focus.c
index dc79a53..d99496f 100644
--- a/windows/focus.c
+++ b/windows/focus.c
@@ -14,6 +14,7 @@
 #include "winpos.h"
 #include "hook.h"
 #include "message.h"
+#include "queue.h"
 #include "task.h"
 #include "debugtools.h"
 
diff --git a/windows/input.c b/windows/input.c
index 1e67fccc..b7e537f 100644
--- a/windows/input.c
+++ b/windows/input.c
@@ -27,6 +27,7 @@
 #include "keyboard.h"
 #include "mouse.h"
 #include "message.h"
+#include "queue.h"
 #include "module.h"
 #include "debugtools.h"
 #include "struct32.h"
diff --git a/windows/user.c b/windows/user.c
index 549c022..c72a467 100644
--- a/windows/user.c
+++ b/windows/user.c
@@ -15,6 +15,7 @@
 #include "gdi.h"
 #include "task.h"
 #include "queue.h"
+#include "class.h"
 #include "win.h"
 #include "clipboard.h"
 #include "menu.h"
diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c
index 508b7db..6a53f28 100644
--- a/windows/x11drv/event.c
+++ b/windows/x11drv/event.c
@@ -37,6 +37,7 @@
 #include "options.h"
 #include "queue.h"
 #include "shell.h"
+#include "win.h"
 #include "winpos.h"
 #include "services.h"
 #include "file.h"
diff --git a/windows/x11drv/keyboard.c b/windows/x11drv/keyboard.c
index 7bb5127..acb7592 100644
--- a/windows/x11drv/keyboard.c
+++ b/windows/x11drv/keyboard.c
@@ -29,6 +29,7 @@
 #include "keyboard.h"
 #include "message.h"
 #include "winnls.h"
+#include "win.h"
 #include "x11drv.h"
 
 DEFAULT_DEBUG_CHANNEL(keyboard)
