Moved private USER definitions to a new user_private.h header, and
removed the global user.h.

diff --git a/windows/class.c b/windows/class.c
index f6dd46e..b2cfe21 100644
--- a/windows/class.c
+++ b/windows/class.c
@@ -34,7 +34,7 @@
 #include "wine/winuser16.h"
 #include "wine/unicode.h"
 #include "win.h"
-#include "user.h"
+#include "user_private.h"
 #include "controls.h"
 #include "dce.h"
 #include "winproc.h"
diff --git a/windows/clipboard.c b/windows/clipboard.c
index 53cbaa8..dd06c9d 100644
--- a/windows/clipboard.c
+++ b/windows/clipboard.c
@@ -49,7 +49,7 @@
 #include "wine/winuser16.h"
 #include "wine/winbase16.h"
 #include "heap.h"
-#include "user.h"
+#include "user_private.h"
 #include "win.h"
 
 #include "wine/debug.h"
diff --git a/windows/cursoricon.c b/windows/cursoricon.c
index 46b047f..9f94307 100644
--- a/windows/cursoricon.c
+++ b/windows/cursoricon.c
@@ -63,7 +63,7 @@
 #include "cursoricon.h"
 #include "module.h"
 #include "wine/debug.h"
-#include "user.h"
+#include "user_private.h"
 #include "message.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(cursor);
diff --git a/windows/dce.c b/windows/dce.c
index 4ac21fe..79f46d8 100644
--- a/windows/dce.c
+++ b/windows/dce.c
@@ -34,7 +34,7 @@
 #include <assert.h>
 #include "dce.h"
 #include "win.h"
-#include "user.h"
+#include "user_private.h"
 #include "wine/debug.h"
 #include "windef.h"
 #include "wingdi.h"
diff --git a/windows/defwnd.c b/windows/defwnd.c
index e70efc1..9ffc5ba 100644
--- a/windows/defwnd.c
+++ b/windows/defwnd.c
@@ -31,7 +31,7 @@
 #include "winnls.h"
 #include "imm.h"
 #include "win.h"
-#include "user.h"
+#include "user_private.h"
 #include "controls.h"
 #include "nonclient.h"
 #include "winpos.h"
diff --git a/windows/dialog.c b/windows/dialog.c
index 82ad6fe..be2ed62 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -39,7 +39,7 @@
 #include "controls.h"
 #include "win.h"
 #include "winpos.h"
-#include "user.h"
+#include "user_private.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(dialog);
diff --git a/windows/input.c b/windows/input.c
index d6ef3db..483cfbb 100644
--- a/windows/input.c
+++ b/windows/input.c
@@ -42,6 +42,7 @@
 #include "wine/server.h"
 #include "win.h"
 #include "message.h"
+#include "user_private.h"
 #include "winternl.h"
 #include "wine/debug.h"
 #include "winerror.h"
diff --git a/windows/mdi.c b/windows/mdi.c
index 8275a67..def0eac 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -97,7 +97,7 @@
 #include "nonclient.h"
 #include "controls.h"
 #include "message.h"
-#include "user.h"
+#include "user_private.h"
 #include "wine/debug.h"
 #include "dlgs.h"
 
diff --git a/windows/message.c b/windows/message.c
index b0701a5..03f792e 100644
--- a/windows/message.c
+++ b/windows/message.c
@@ -41,7 +41,7 @@
 #include "controls.h"
 #include "dde.h"
 #include "message.h"
-#include "user.h"
+#include "user_private.h"
 #include "win.h"
 #include "winpos.h"
 #include "winproc.h"
diff --git a/windows/msgbox.c b/windows/msgbox.c
index a88b003..fddbf4c 100644
--- a/windows/msgbox.c
+++ b/windows/msgbox.c
@@ -30,7 +30,7 @@
 #include "winreg.h"
 #include "winternl.h"
 #include "dlgs.h"
-#include "user.h"
+#include "user_private.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(dialog);
diff --git a/windows/nonclient.c b/windows/nonclient.c
index d479c5a..71d8807 100644
--- a/windows/nonclient.c
+++ b/windows/nonclient.c
@@ -28,7 +28,7 @@
 #include "wine/winuser16.h"
 #include "wownt32.h"
 #include "win.h"
-#include "user.h"
+#include "user_private.h"
 #include "dce.h"
 #include "controls.h"
 #include "cursoricon.h"
diff --git a/windows/queue.c b/windows/queue.c
index 6ac649e..aa70373 100644
--- a/windows/queue.c
+++ b/windows/queue.c
@@ -33,7 +33,7 @@
 #include "wine/winuser16.h"
 #include "message.h"
 #include "win.h"
-#include "user.h"
+#include "user_private.h"
 #include "thread.h"
 #include "wine/debug.h"
 #include "wine/server.h"
diff --git a/windows/scroll.c b/windows/scroll.c
index 266f87d..e5ab672 100644
--- a/windows/scroll.c
+++ b/windows/scroll.c
@@ -27,7 +27,7 @@
 #include "wingdi.h"
 #include "wine/winuser16.h"
 #include "winuser.h"
-#include "user.h"
+#include "user_private.h"
 #include "win.h"
 #include "wine/debug.h"
 
diff --git a/windows/spy.c b/windows/spy.c
index d765ef5..b83d060 100644
--- a/windows/spy.c
+++ b/windows/spy.c
@@ -30,6 +30,7 @@
 #include "wownt32.h"
 #include "wine/unicode.h"
 #include "win.h"
+#include "user_private.h"
 #include "wine/debug.h"
 #include "message.h"
 #include "winnls.h"
diff --git a/windows/syscolor.c b/windows/syscolor.c
index 1433110..df98d5a 100644
--- a/windows/syscolor.c
+++ b/windows/syscolor.c
@@ -33,7 +33,6 @@
 #include "wownt32.h"
 #include "winreg.h"
 #include "local.h"
-#include "user.h"
 #include "gdi.h" /* sic */
 #include "wine/debug.h"
 
@@ -157,7 +156,7 @@
       if (!bNoReg)
       {
 	DWORD dwDataSize = sizeof(buffer);
-	if (!(RegQueryValueExA(hKey,(LPSTR)DefSysColors[i*2], 0, 0, buffer, &dwDataSize)))
+	if (!(RegQueryValueExA(hKey,DefSysColors[i*2], 0, 0, buffer, &dwDataSize)))
 	  if (sscanf( buffer, "%d %d %d", &r, &g, &b ) == 3)
 	    bOk = TRUE;
       }
diff --git a/windows/sysmetrics.c b/windows/sysmetrics.c
index 78ee0e5..890db03 100644
--- a/windows/sysmetrics.c
+++ b/windows/sysmetrics.c
@@ -29,7 +29,7 @@
 #include "wingdi.h"
 #include "winuser.h"
 #include "winerror.h"
-#include "user.h"
+#include "user_private.h"
 
 static int sysMetrics[SM_CMETRICS+1];
 static HDC display_dc;
diff --git a/windows/sysparams.c b/windows/sysparams.c
index 03b003f..eee883a 100644
--- a/windows/sysparams.c
+++ b/windows/sysparams.c
@@ -33,7 +33,7 @@
 #include "winerror.h"
 
 #include "controls.h"
-#include "user.h"
+#include "user_private.h"
 #include "wine/unicode.h"
 #include "wine/debug.h"
 
diff --git a/windows/user.c b/windows/user.c
index e9fdd2b..abbbfa0 100644
--- a/windows/user.c
+++ b/windows/user.c
@@ -31,7 +31,7 @@
 #include "winreg.h"
 #include "winternl.h"
 #include "tlhelp32.h"
-#include "user.h"
+#include "user_private.h"
 #include "win.h"
 #include "controls.h"
 #include "cursoricon.h"
@@ -71,6 +71,12 @@
 #define USIG_PROCESS_RUNNING      0x0500
 #define USIG_PROCESS_LOADED       0x0600
 
+/* UserSeeUserDo parameters */
+#define USUD_LOCALALLOC        0x0001
+#define USUD_LOCALFREE         0x0002
+#define USUD_LOCALCOMPACT      0x0003
+#define USUD_LOCALHEAP         0x0004
+#define USUD_FIRSTCLASS        0x0005
 
 /***********************************************************************
  *		GetFreeSystemResources (USER.284)
diff --git a/windows/win.c b/windows/win.c
index cb85c22..91dd168 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -33,7 +33,7 @@
 #include "wine/server.h"
 #include "wine/unicode.h"
 #include "win.h"
-#include "user.h"
+#include "user_private.h"
 #include "dce.h"
 #include "controls.h"
 #include "cursoricon.h"
diff --git a/windows/winpos.c b/windows/winpos.c
index 510d5c0..6f71337 100644
--- a/windows/winpos.c
+++ b/windows/winpos.c
@@ -33,7 +33,7 @@
 #include "wine/winuser16.h"
 #include "wine/server.h"
 #include "controls.h"
-#include "user.h"
+#include "user_private.h"
 #include "win.h"
 #include "message.h"
 #include "winpos.h"
@@ -69,6 +69,14 @@
     WINDOWPOS winPos[1];
 } DWP;
 
+typedef struct
+{
+    RECT16   rectNormal;
+    POINT16  ptIconPos;
+    POINT16  ptMaxPos;
+    HWND     hwndIconTitle;
+} INTERNALPOS, *LPINTERNALPOS;
+
 /* ----- internal variables ----- */
 
 static LPCSTR atomInternalPos;
diff --git a/windows/winproc.c b/windows/winproc.c
index 1897707..bab7033 100644
--- a/windows/winproc.c
+++ b/windows/winproc.c
@@ -37,6 +37,7 @@
 #include "win.h"
 #include "winproc.h"
 #include "message.h"
+#include "user_private.h"
 #include "thread.h"
 #include "dde.h"
 #include "winternl.h"