Added process_id_t and thread_it_t types to the server interface
instead of using void*, and removed a number of type casts.

diff --git a/scheduler/thread.c b/scheduler/thread.c
index eb5fe60..09b9288 100644
--- a/scheduler/thread.c
+++ b/scheduler/thread.c
@@ -64,7 +64,7 @@
     SERVER_START_REQ( get_thread_info )
     {
         req->handle = 0;
-        req->tid_in = (void *)id;
+        req->tid_in = id;
         if (!wine_server_call( req )) ret = reply->teb;
     }
     SERVER_END_REQ;
@@ -277,7 +277,7 @@
 {
     HANDLE handle = 0;
     TEB *teb;
-    void *tid = 0;
+    DWORD tid = 0;
     int request_pipe[2];
 
     if (pipe( request_pipe ) == -1)
@@ -316,7 +316,7 @@
     teb->startup     = THREAD_Start;
     teb->htask16     = GetCurrentTask();
 
-    if (id) *id = (DWORD)tid;
+    if (id) *id = tid;
     if (SYSDEPS_SpawnThread( teb ) == -1)
     {
         CloseHandle( handle );
@@ -395,7 +395,7 @@
     HANDLE ret = 0;
     SERVER_START_REQ( open_thread )
     {
-        req->tid     = (void *)dwThreadId;
+        req->tid     = dwThreadId;
         req->access  = dwDesiredAccess;
         req->inherit = bInheritHandle;
         if (!wine_server_call_err( req )) ret = reply->handle;