Implemented WaitForInputIdle.

diff --git a/include/callback.h b/include/callback.h
index 44a49a0..7bf4343 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -103,6 +103,7 @@
     HQUEUE16 WINAPI (*InitThreadInput16)( WORD unknown, WORD flags );
     void WINAPI (*UserYield16)( void );
     WORD WINAPI (*DestroyIcon32)( HGLOBAL16 handle, UINT16 flags );
+    DWORD WINAPI (*WaitForInputIdle)( HANDLE hProcess, DWORD dwTimeOut );
     
 }  CALLOUT_TABLE;
 
diff --git a/include/process.h b/include/process.h
index b1d9236..54665c1 100644
--- a/include/process.h
+++ b/include/process.h
@@ -96,6 +96,8 @@
     struct _PDB     *next;             /*    List reference - list of PDB's */
     WORD            winver;            /*    Windows version figured out by VERSION_GetVersion */
     struct _SERVICETABLE *service_table; /*  Service table for service thread */
+    HANDLE           idle_event;       /* event to signal, when the process is idle */
+    HANDLE16         main_queue;       /* main message queue of the process */ 
 } PDB;
 
 /* Process flags */
@@ -146,6 +148,7 @@
 
 extern DWORD WINAPI GetProcessDword( DWORD dwProcessID, INT offset );
 void WINAPI SetProcessDword( DWORD dwProcessID, INT offset, DWORD value );
+extern DWORD WINAPI MapProcessHandle( HANDLE handle );
 
 /* scheduler/environ.c */
 extern BOOL ENV_InheritEnvironment( PDB *pdb, LPCSTR env );