diff --git a/controls/button.c b/controls/button.c index cfbcc269251..de52ff86394 100644 --- a/controls/button.c +++ b/controls/button.c @@ -8,6 +8,7 @@ #include #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 25ea9d4c070..c10729e617c 100644 --- a/controls/edit.c +++ b/controls/edit.c @@ -14,6 +14,8 @@ #include "config.h" #include + +#include "winbase.h" #include "winnt.h" #include "win.h" #include "wine/winbase16.h" diff --git a/controls/menu.c b/controls/menu.c index 786782a04e4..fa915d82c77 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 62f9b431aae..46a2d1d1000 100644 --- a/debugger/stack.c +++ b/debugger/stack.c @@ -7,10 +7,13 @@ */ #include "config.h" + #include #include + #include "debugger.h" #include "stackframe.h" +#include "winbase.h" #ifdef __i386__ /* diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c index b6bfa1352fa..3168ce3de20 100644 --- a/dlls/comctl32/commctrl.c +++ b/dlls/comctl32/commctrl.c @@ -6,6 +6,8 @@ * */ +#include + #include "winbase.h" #include "heap.h" #include "commctrl.h" diff --git a/dlls/winsock/async.c b/dlls/winsock/async.c index df88bd79749..431d7aae3e0 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 e821e8a613d..9d202c5f4de 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 3fa10cb5557..3913c128c45 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 @@ typedef struct tagDCE 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 88e4a5eaf5e..855a897a147 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 BOOL MENU_IsMenuActive(void); 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 2c789e47395..b4ff920bf52 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 MSG_InternalGetMessage( int type, MSG *msg, HWND hwnd, 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 8e82b531c12..8d0f9dff729 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 e12c5726fb3..d3a6c245979 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 73177c91558..80b307322a2 100644 --- a/include/stackframe.h +++ b/include/stackframe.h @@ -8,8 +8,10 @@ #define __WINE_STACKFRAME_H #include + #include "ldt.h" #include "thread.h" +#include "winnt.h" #include "pshpack1.h" diff --git a/include/struct32.h b/include/struct32.h index 6910c546d4c..ca70f9242be 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 882b1e1df64..88ffd4bcc56 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 @@ typedef struct _TEB 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 @@ typedef struct _TEB 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 5e7d5dd85eb..ff5c70f5592 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 @@ typedef enum struct tagCLASS; struct tagDCE; struct tagDC; +struct tagMESSAGEQUEUE; struct tagWND_DRIVER; typedef struct tagWND @@ -220,7 +220,7 @@ extern HWND ICONTITLE_Create( WND* ); 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 95169b62370..467fa8a7fe8 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -158,7 +158,7 @@ typedef struct #define DRIVE_RAMDISK 6 /* The security attributes structure */ -typedef struct +typedef struct _SECURITY_ATTRIBUTES { DWORD nLength; LPVOID lpSecurityDescriptor; @@ -1764,7 +1764,8 @@ INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR); #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 @@ static inline PVOID WINAPI InterlockedCompareExchange( PVOID *dest, PVOID xchg, 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 @@ static inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val ) 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 @@ static inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr ) 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 cc17562effb..56b4c6f8442 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 c5c53001930..9a32f4d3169 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 @@ typedef struct } 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 @@ extern LONG WINPOS_SendNCCalcSize(HWND hwnd, BOOL calcValidRect, 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 c7a343be0d9..44018e6ebbf 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 e061794c915..b1f55f1056f 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 dfcfdadb99d..021007ab6e0 100644 --- a/misc/debugstr.c +++ b/misc/debugstr.c @@ -5,8 +5,10 @@ #include #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 49ed9833bf7..00e71f59b33 100644 --- a/misc/error.c +++ b/misc/error.c @@ -8,6 +8,7 @@ #include #include +#include "winbase.h" #include "windef.h" #include "stackframe.h" #include "debugtools.h" diff --git a/windows/defdlg.c b/windows/defdlg.c index c35bf2ce2b0..15d28cd3aee 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 e7b570548fa..045aae94f5c 100644 --- a/windows/defwnd.c +++ b/windows/defwnd.c @@ -7,6 +7,7 @@ #include +#include "class.h" #include "win.h" #include "user.h" #include "heap.h" diff --git a/windows/dialog.c b/windows/dialog.c index 5223c774d34..c5d40e0284d 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 dc79a533b2d..d99496fa173 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 1e67fccc043..b7e537f82cf 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 549c02252b3..c72a4674984 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 508b7db5750..6a53f28cccc 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 7bb5127f1af..acb759278a7 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)