Added server-side infrastructure for the thread input structure.
Reimplemented AttachThreadInput() and added GetGUIThreadInfo().

diff --git a/include/winuser.h b/include/winuser.h
index cce01e4..f7c29ff 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -397,6 +397,27 @@
 } INPUT, *PINPUT, *LPINPUT;
 
 
+typedef struct tagGUITHREADINFO
+{
+    DWORD   cbSize;
+    DWORD   flags;
+    HWND    hwndActive;
+    HWND    hwndFocus;
+    HWND    hwndCapture;
+    HWND    hwndMenuOwner;
+    HWND    hwndMoveSize;
+    HWND    hwndCaret;
+    RECT    rcCaret;
+} GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
+
+#define GUI_CARETBLINKING   0x00000001
+#define GUI_INMOVESIZE      0x00000002
+#define GUI_INMENUMODE      0x00000004
+#define GUI_SYSTEMMENUMODE  0x00000008
+#define GUI_POPUPMENUMODE   0x00000010
+#define GUI_16BITTASK       0x00000020
+
+
 /***** Dialogs *****/
 
 /* Gcc on Solaris has a version of this that we don't care about */
@@ -4079,15 +4100,16 @@
 INT         WINAPI GetDlgItemTextA(HWND,INT,LPSTR,UINT);
 INT         WINAPI GetDlgItemTextW(HWND,INT,LPWSTR,UINT);
 #define     GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
-UINT      WINAPI GetDoubleClickTime(void);
-HWND      WINAPI GetFocus(void);
-HWND      WINAPI GetForegroundWindow(void);
-BOOL      WINAPI GetInputState(void);
-UINT      WINAPI GetInternalWindowPos(HWND,LPRECT,LPPOINT);
-UINT      WINAPI GetKBCodePage(void);
-INT       WINAPI GetKeyboardType(INT);
-INT       WINAPI GetKeyNameTextA(LONG,LPSTR,INT);
-INT       WINAPI GetKeyNameTextW(LONG,LPWSTR,INT);
+UINT        WINAPI GetDoubleClickTime(void);
+HWND        WINAPI GetFocus(void);
+HWND        WINAPI GetForegroundWindow(void);
+BOOL        WINAPI GetGUIThreadInfo(DWORD,GUITHREADINFO*);
+BOOL        WINAPI GetInputState(void);
+UINT        WINAPI GetInternalWindowPos(HWND,LPRECT,LPPOINT);
+UINT        WINAPI GetKBCodePage(void);
+INT         WINAPI GetKeyboardType(INT);
+INT         WINAPI GetKeyNameTextA(LONG,LPSTR,INT);
+INT         WINAPI GetKeyNameTextW(LONG,LPWSTR,INT);
 #define     GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
 INT       WINAPI GetKeyboardLayoutNameA(LPSTR);
 INT       WINAPI GetKeyboardLayoutNameW(LPWSTR);