Compile user32 with NDK, clean up its headers, and separate it from the intenral win32k stuff
Modified: trunk/reactos/include/win32k/brush.h
Added: trunk/reactos/include/win32k/caret.h
Modified: trunk/reactos/include/win32k/cursoricon.h
Modified: trunk/reactos/include/win32k/ntuser.h
Modified: trunk/reactos/include/win32k/paint.h
Modified: trunk/reactos/lib/user32/include/draw.h
Modified: trunk/reactos/lib/user32/include/user32.h
Added: trunk/reactos/lib/user32/include/user32p.h
Modified: trunk/reactos/lib/user32/misc/dllmain.c
Modified: trunk/reactos/lib/user32/windows/dialog.c
Modified: trunk/reactos/subsys/win32k/include/caret.h
Modified: trunk/reactos/subsys/win32k/w32k.h

Modified: trunk/reactos/include/win32k/brush.h
--- trunk/reactos/include/win32k/brush.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/include/win32k/brush.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -74,13 +74,6 @@
 #define  BRUSHOBJ_UnlockBrush(pBrush) GDIOBJ_UnlockObjByPtr(pBrush)
 BOOL INTERNAL_CALL BRUSH_Cleanup(PVOID ObjectBody);
 
-#ifdef __USE_W32API
-typedef struct _PATRECT {
-	RECT r;
-	HBRUSH hBrush;
-} PATRECT, * PPATRECT;
-#endif
-
 HBRUSH STDCALL
 NtGdiCreateBrushIndirect(
    CONST LOGBRUSH *LogBrush);
@@ -110,32 +103,6 @@
    VOID);
 
 BOOL STDCALL
-NtGdiPatBlt(
-   HDC hDC,
-   INT XLeft,
-   INT YLeft,
-   INT Width,
-   INT Height,
-   DWORD ROP);
-
-BOOL STDCALL
-NtGdiPolyPatBlt(
-   HDC hDC,
-   DWORD dwRop,
-   PPATRECT pRects,
-   INT cRects,
-   ULONG Reserved);
-
-BOOL STDCALL
-NtGdiPatBlt(
-   HDC hDC,
-   INT XLeft,
-   INT YLeft,
-   INT Width,
-   INT Height,
-   DWORD ROP);
-
-BOOL STDCALL
 NtGdiSetBrushOrgEx(
    HDC hDC,
    INT XOrg,

Added: trunk/reactos/include/win32k/caret.h
--- trunk/reactos/include/win32k/caret.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/include/win32k/caret.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -0,0 +1,23 @@
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS system libraries
+ * FILE:            include/win32k/caret.h
+ * PURPOSE:         GDI32/Win32k Caret interface
+ * PROGRAMMER:
+ *
+ */
+
+#ifndef WIN32K_CARET_H_INCLUDED
+#define WIN32K_CARET_H_INCLUDED
+
+typedef struct _THRDCARETINFO
+{
+  HWND hWnd;
+  HBITMAP Bitmap;
+  POINT Pos;
+  SIZE Size;
+  BYTE Visible;
+  BYTE Showing;
+} THRDCARETINFO, *PTHRDCARETINFO;
+
+#endif /* WIN32K_FONT_H_INCLUDED */

Modified: trunk/reactos/include/win32k/cursoricon.h
--- trunk/reactos/include/win32k/cursoricon.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/include/win32k/cursoricon.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -2,9 +2,6 @@
 #ifndef __WIN32K_CURSORICON_H
 #define __WIN32K_CURSORICON_H
 
-#include <win32k/dc.h>
-#include <win32k/gdiobj.h>
-
 #include <pshpack1.h>
 
 /* Structures for reading icon/cursor files and resources */

Modified: trunk/reactos/include/win32k/ntuser.h
--- trunk/reactos/include/win32k/ntuser.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/include/win32k/ntuser.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -1,7 +1,9 @@
 #ifndef __WIN32K_NTUSER_H
 #define __WIN32K_NTUSER_H
 
+#ifndef _NTNDK_
 #include <ddk/ntapi.h>
+#endif
 
 #define WM_SYSTIMER 280
 

Modified: trunk/reactos/include/win32k/paint.h
--- trunk/reactos/include/win32k/paint.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/include/win32k/paint.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -1,6 +1,37 @@
 #ifndef __WIN32K_PAINT_H
 #define __WIN32K_PAINT_H
 
+typedef struct _PATRECT {
+	RECT r;
+	HBRUSH hBrush;
+} PATRECT, * PPATRECT;
+
+BOOL STDCALL
+NtGdiPatBlt(
+   HDC hDC,
+   INT XLeft,
+   INT YLeft,
+   INT Width,
+   INT Height,
+   DWORD ROP);
+
+BOOL STDCALL
+NtGdiPolyPatBlt(
+   HDC hDC,
+   DWORD dwRop,
+   PPATRECT pRects,
+   INT cRects,
+   ULONG Reserved);
+
+BOOL STDCALL
+NtGdiPatBlt(
+   HDC hDC,
+   INT XLeft,
+   INT YLeft,
+   INT Width,
+   INT Height,
+   DWORD ROP);
+
 BOOL STDCALL NtGdiGdiFlush (VOID);
 DWORD STDCALL NtGdiGdiGetBatchLimit (VOID);
 DWORD STDCALL NtGdiGdiSetBatchLimit (DWORD  Limit);

Modified: trunk/reactos/lib/user32/include/draw.h
--- trunk/reactos/lib/user32/include/draw.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/lib/user32/include/draw.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -1 +1,2 @@
 HPEN STDCALL GetSysColorPen (int nIndex);
+void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);

Modified: trunk/reactos/lib/user32/include/user32.h
--- trunk/reactos/lib/user32/include/user32.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/lib/user32/include/user32.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -1,156 +1,34 @@
 /*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS user32.dll
- * FILE:        include/user32.h
- * PURPOSE:     Global user32 definitions
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS System Libraries
+ * FILE:            lib/user32/include/user32.h
+ * PURPOSE:         Win32 User Library
+ * PROGRAMMER:      Alex Ionescu (alex@relsoft.net)
  */
 
+/* INCLUDES ******************************************************************/
+
 #ifndef USER32_H
 #define USER32_H
 
-#include <ctype.h>
-#include <stdio.h>
-#include <limits.h>
+/* SDK/NDK Headers */
 #include <windows.h>
 #include <windowsx.h>
 #define NTOS_MODE_USER
-#include <ntos.h>
-#include <win32k/win32k.h>
+#include <ndk/ntndk.h>
+
+/* External Win32K Headers */
+#include <win32k/ntuser.h>
+#include <win32k/caret.h>
 #include <win32k/callback.h>
-#include "accel.h"
-#include "cursor.h"
-#ifndef __WINE__
-#include "debug.h"
-#endif
-#include "draw.h"
-#include "menu.h"
-#include "message.h"
-#include "regcontrol.h"
-#include "resource.h"
-#include "scroll.h"
-#include "strpool.h"
-#include "window.h"
-#include "winpos.h"
-#include "winsta.h"
+#include <win32k/cursoricon.h>
+#include <win32k/menu.h>
+#include <win32k/paint.h>
 
-extern HINSTANCE User32Instance;
+/* Internal User32 Headers */
+#include "user32p.h"
 
-typedef struct _USER32_THREAD_DATA
-{
-  MSG LastMessage;
-  HKL KeyboardLayoutHandle;
-} USER32_THREAD_DATA, *PUSER32_THREAD_DATA;
+/* FIXME: FILIP */
+HGDIOBJ STDCALL  NtGdiSelectObject(HDC  hDC, HGDIOBJ  hGDIObj);
 
-PUSER32_THREAD_DATA User32GetThreadData();
-
-/* a copy of this structure is in subsys/win32k/include/caret.h */
-typedef struct _THRDCARETINFO
-{
-  HWND hWnd;
-  HBITMAP Bitmap;
-  POINT Pos;
-  SIZE Size;
-  BYTE Visible;
-  BYTE Showing;
-} THRDCARETINFO, *PTHRDCARETINFO;
-
-void InitStockObjects(void);
-VOID CreateFrameBrushes(VOID);
-VOID DeleteFrameBrushes(VOID);
-void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);
-
-#define NtUserMsqSetWakeMask(dwWaitMask) \
-  (HANDLE)NtUserCallOneParam(dwWaitMask, ONEPARAM_ROUTINE_MSQSETWAKEMASK)
-
-#define NtUserMsqClearWakeMask() \
-  NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK)
-
-LONG WINAPI RegCloseKey(HKEY);
-LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
-LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
-
-#ifdef __USE_W32API
-NTSTATUS STDCALL ZwCallbackReturn(PVOID Result,
-				  ULONG ResultLength,
-				  NTSTATUS Status);
-#endif
-
-#define NtUserAnyPopup() \
-  (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_ANYPOPUP)
-
-#define NtUserValidateRgn(hWnd, hRgn) \
-  (BOOL)NtUserCallTwoParam((DWORD)hWnd, (DWORD)hRgn, TWOPARAM_ROUTINE_VALIDATERGN)
-
-#define NtUserSetWindowContextHelpId(hWnd, dwContextHelpId) \
-  (BOOL)NtUserCallTwoParam((DWORD)hwnd, dwContextHelpId, TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID)
-
-#define NtUserSetCaretPos(X, Y) \
-  (BOOL)NtUserCallTwoParam((DWORD)X, (DWORD)Y, TWOPARAM_ROUTINE_SETCARETPOS)
-
-#define NtUserSetGUIThreadHandle(field, hwnd) \
-  (BOOL)NtUserCallTwoParam((DWORD)field, (DWORD)hwnd, TWOPARAM_ROUTINE_SETGUITHRDHANDLE)
-
-#define NtUserSetMenuItemRect(menu, mir) \
-  (BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)mir, TWOPARAM_ROUTINE_SETMENUITEMRECT)
-
-#define NtUserSetMenuBarHeight(menu, height) \
-  (BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)height, TWOPARAM_ROUTINE_SETMENUBARHEIGHT)
-
-#define NtUserGetWindowInfo(hwnd, pwi) \
-  (BOOL)NtUserCallTwoParam((DWORD)hwnd, (DWORD)pwi, TWOPARAM_ROUTINE_GETWINDOWINFO)
-
-#define NtUserRegisterLogonProcess(hproc, x) \
-  (BOOL)NtUserCallTwoParam((DWORD)hproc, (DWORD)x, TWOPARAM_ROUTINE_REGISTERLOGONPROC)
-
-#define NtUserGetSysColorBrushes(HBrushes, count) \
-  (BOOL)NtUserCallTwoParam((DWORD)(HBrushes), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES)
-
-#define NtUserGetSysColorPens(HPens, count) \
-  (BOOL)NtUserCallTwoParam((DWORD)(HPens), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORPENS)
-
-#define NtUserGetSysColors(ColorRefs, count) \
-  (BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORS)
-
-#define NtUserSetSysColors(ColorRefs, count) \
-  (BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_SETSYSCOLORS)
-
-#define NtUserSetCaretBlinkTime(uMSeconds) \
-  (BOOL)NtUserCallOneParam((DWORD)uMSeconds, ONEPARAM_ROUTINE_SETCARETBLINKTIME)
-
-#define NtUserEnumClipboardFormats(format) \
-  (UINT)NtUserCallOneParam(format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS)
-
-#define NtUserWindowFromDC(hDC) \
-  (HWND)NtUserCallOneParam((DWORD)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC)
-
-#define NtUserSwitchCaretShowing(CaretInfo) \
-  (BOOL)NtUserCallOneParam((DWORD)CaretInfo, ONEPARAM_ROUTINE_SWITCHCARETSHOWING)
-
-#define NtUserSwapMouseButton(fSwap) \
-  (BOOL)NtUserCallOneParam((DWORD)fSwap, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON)
-
-#define NtUserGetMenu(hWnd) \
-  (HMENU)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_GETMENU)
-
-#define NtUserSetMessageExtraInfo(lParam) \
-  (LPARAM)NtUserCallOneParam((DWORD)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO)
-
-#define NtUserIsWindowUnicode(hWnd) \
-  (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWUNICODE)
-
-#define NtUserGetWindowContextHelpId(hwnd) \
-  NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID)
-
-#define NtUserGetWindowInstance(hwnd) \
-  (HINSTANCE)NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWINDOWINSTANCE)
-
-#define NtUserGetCursorPos(lpPoint) \
-  (BOOL)NtUserCallOneParam((DWORD)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOSITION)
-
-#define NtUserIsWindowInDestroy(hWnd) \
-  (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWINDESTROY)
-
-#define NtUserEnableProcessWindowGhosting(bEnable) \
-  NtUserCallOneParam((DWORD)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING)
-
 #endif /* USER32_H */

Added: trunk/reactos/lib/user32/include/user32p.h
--- trunk/reactos/lib/user32/include/user32p.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/lib/user32/include/user32p.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -0,0 +1,128 @@
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS System Libraries
+ * FILE:            lib/user32/include/user32p.h
+ * PURPOSE:         Win32 User Library Private Headers
+ * PROGRAMMER:      Alex Ionescu (alex@relsoft.net)
+ */
+
+/* INCLUDES ******************************************************************/
+
+#ifndef USER32_PRIVATE_H
+#define USER32_PRIVATE_H
+
+/* Private User32 Headers */
+#include "accel.h"
+#include "cursor.h"
+#ifndef __WINE__
+#include "debug.h"
+#endif
+#include "draw.h"
+#include "menu.h"
+#include "message.h"
+#include "regcontrol.h"
+#include "resource.h"
+#include "scroll.h"
+#include "strpool.h"
+#include "window.h"
+#include "winpos.h"
+#include "winsta.h"
+
+/* One/Two Param Functions */
+#define NtUserMsqSetWakeMask(dwWaitMask) \
+  (HANDLE)NtUserCallOneParam(dwWaitMask, ONEPARAM_ROUTINE_MSQSETWAKEMASK)
+
+#define NtUserMsqClearWakeMask() \
+  NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK)
+  
+#define NtUserAnyPopup() \
+  (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_ANYPOPUP)
+
+#define NtUserValidateRgn(hWnd, hRgn) \
+  (BOOL)NtUserCallTwoParam((DWORD)hWnd, (DWORD)hRgn, TWOPARAM_ROUTINE_VALIDATERGN)
+
+#define NtUserSetWindowContextHelpId(hWnd, dwContextHelpId) \
+  (BOOL)NtUserCallTwoParam((DWORD)hwnd, dwContextHelpId, TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID)
+
+#define NtUserSetCaretPos(X, Y) \
+  (BOOL)NtUserCallTwoParam((DWORD)X, (DWORD)Y, TWOPARAM_ROUTINE_SETCARETPOS)
+
+#define NtUserSetGUIThreadHandle(field, hwnd) \
+  (BOOL)NtUserCallTwoParam((DWORD)field, (DWORD)hwnd, TWOPARAM_ROUTINE_SETGUITHRDHANDLE)
+
+#define NtUserSetMenuItemRect(menu, mir) \
+  (BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)mir, TWOPARAM_ROUTINE_SETMENUITEMRECT)
+
+#define NtUserSetMenuBarHeight(menu, height) \
+  (BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)height, TWOPARAM_ROUTINE_SETMENUBARHEIGHT)
+
+#define NtUserGetWindowInfo(hwnd, pwi) \
+  (BOOL)NtUserCallTwoParam((DWORD)hwnd, (DWORD)pwi, TWOPARAM_ROUTINE_GETWINDOWINFO)
+
+#define NtUserRegisterLogonProcess(hproc, x) \
+  (BOOL)NtUserCallTwoParam((DWORD)hproc, (DWORD)x, TWOPARAM_ROUTINE_REGISTERLOGONPROC)
+
+#define NtUserGetSysColorBrushes(HBrushes, count) \
+  (BOOL)NtUserCallTwoParam((DWORD)(HBrushes), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES)
+
+#define NtUserGetSysColorPens(HPens, count) \
+  (BOOL)NtUserCallTwoParam((DWORD)(HPens), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORPENS)
+
+#define NtUserGetSysColors(ColorRefs, count) \
+  (BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORS)
+
+#define NtUserSetSysColors(ColorRefs, count) \
+  (BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_SETSYSCOLORS)
+
+#define NtUserSetCaretBlinkTime(uMSeconds) \
+  (BOOL)NtUserCallOneParam((DWORD)uMSeconds, ONEPARAM_ROUTINE_SETCARETBLINKTIME)
+
+#define NtUserEnumClipboardFormats(format) \
+  (UINT)NtUserCallOneParam(format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS)
+
+#define NtUserWindowFromDC(hDC) \
+  (HWND)NtUserCallOneParam((DWORD)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC)
+
+#define NtUserSwitchCaretShowing(CaretInfo) \
+  (BOOL)NtUserCallOneParam((DWORD)CaretInfo, ONEPARAM_ROUTINE_SWITCHCARETSHOWING)
+
+#define NtUserSwapMouseButton(fSwap) \
+  (BOOL)NtUserCallOneParam((DWORD)fSwap, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON)
+
+#define NtUserGetMenu(hWnd) \
+  (HMENU)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_GETMENU)
+
+#define NtUserSetMessageExtraInfo(lParam) \
+  (LPARAM)NtUserCallOneParam((DWORD)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO)
+
+#define NtUserIsWindowUnicode(hWnd) \
+  (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWUNICODE)
+
+#define NtUserGetWindowContextHelpId(hwnd) \
+  NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID)
+
+#define NtUserGetWindowInstance(hwnd) \
+  (HINSTANCE)NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWINDOWINSTANCE)
+
+#define NtUserGetCursorPos(lpPoint) \
+  (BOOL)NtUserCallOneParam((DWORD)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOSITION)
+
+#define NtUserIsWindowInDestroy(hWnd) \
+  (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWINDESTROY)
+
+#define NtUserEnableProcessWindowGhosting(bEnable) \
+  NtUserCallOneParam((DWORD)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING)
+
+/* Internal Thread Data */
+extern HINSTANCE User32Instance;
+
+typedef struct _USER32_THREAD_DATA
+{
+    MSG LastMessage;
+    HKL KeyboardLayoutHandle;
+} USER32_THREAD_DATA, *PUSER32_THREAD_DATA;
+
+PUSER32_THREAD_DATA User32GetThreadData();
+  
+#endif
+/* EOF */

Modified: trunk/reactos/lib/user32/misc/dllmain.c
--- trunk/reactos/lib/user32/misc/dllmain.c	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/lib/user32/misc/dllmain.c	2005-06-20 18:21:07 UTC (rev 16157)
@@ -2,6 +2,8 @@
 
 /* FIXME: Belongs to some header. */
 WINBOOL STDCALL GdiDllInitialize(HANDLE, DWORD, LPVOID);
+void InitStockObjects(void);
+VOID DeleteFrameBrushes(VOID);
 
 #ifdef DBG
 
@@ -13,7 +15,6 @@
 extern CRITICAL_SECTION gcsMPH;
 static ULONG User32TlsIndex;
 HINSTANCE User32Instance;
-
 HWINSTA ProcessWindowStation;
 
 PUSER32_THREAD_DATA

Modified: trunk/reactos/lib/user32/windows/dialog.c
--- trunk/reactos/lib/user32/windows/dialog.c	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/lib/user32/windows/dialog.c	2005-06-20 18:21:07 UTC (rev 16157)
@@ -1891,7 +1891,7 @@
         if (!endptr || (endptr == str))  /* Conversion was unsuccessful */
             return 0;
 		/* FIXME: errno? */
-        if (((result == LONG_MIN) || (result == LONG_MAX))/* && (errno == ERANGE) */)
+        if (((result == 0) || (result == 0xFFFFFFFF))/* && (errno == ERANGE) */)
             return 0;
     }
     else
@@ -1900,7 +1900,7 @@
         if (!endptr || (endptr == str))  /* Conversion was unsuccessful */
             return 0;
 		/* FIXME: errno? */
-        if ((result == LONG_MAX)/* && (errno == ERANGE) */) return 0;
+        if ((result == 0xFFFFFFFF)/* && (errno == ERANGE) */) return 0;
     }
     if (lpTranslated) *lpTranslated = TRUE;
     return (UINT)result;

Modified: trunk/reactos/subsys/win32k/include/caret.h
--- trunk/reactos/subsys/win32k/include/caret.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/subsys/win32k/include/caret.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -6,17 +6,6 @@
 
 #define IDCARETTIMER (0xffff)
 
-/* a copy of this structure is in lib/user32/include/user32.h */
-typedef struct _THRDCARETINFO
-{
-  HWND hWnd;
-  HBITMAP Bitmap;
-  POINT Pos;
-  SIZE Size;
-  BYTE Visible;
-  BYTE Showing;
-} THRDCARETINFO, *PTHRDCARETINFO;
-
 BOOL FASTCALL
 IntDestroyCaret(PW32THREAD Win32Thread);
 

Modified: trunk/reactos/subsys/win32k/w32k.h
--- trunk/reactos/subsys/win32k/w32k.h	2005-06-20 16:53:47 UTC (rev 16156)
+++ trunk/reactos/subsys/win32k/w32k.h	2005-06-20 18:21:07 UTC (rev 16157)
@@ -17,6 +17,7 @@
 
 #include <win32k/win32k.h>
 #include <win32k/callback.h>
+#include <win32k/caret.h>
 #include <csrss/csrss.h>
 
 #include <internal/ntoskrnl.h>