Added Get/SetThreadContext support through the server.

diff --git a/scheduler/thread.c b/scheduler/thread.c
index f4c3534..4038a8a 100644
--- a/scheduler/thread.c
+++ b/scheduler/thread.c
@@ -516,14 +516,17 @@
  *    Success: TRUE
  *    Failure: FALSE
  */
-BOOL WINAPI SetThreadContext(
-    HANDLE handle,  /* [in]  Handle to thread with context */
-    const CONTEXT *context) /* [out] Address of context structure */
+BOOL WINAPI SetThreadContext( HANDLE handle,           /* [in]  Handle to thread with context */
+                              const CONTEXT *context ) /* [in] Address of context structure */
 {
-    FIXME("not implemented\n" );
-    return TRUE;
+    struct set_thread_context_request *req = get_req_buffer();
+    req->handle = handle;
+    req->flags = context->ContextFlags;
+    memcpy( &req->context, context, sizeof(*context) );
+    return !server_call( REQ_SET_THREAD_CONTEXT );
 }
 
+
 /***********************************************************************
  * GetThreadContext [KERNEL32.294]  Retrieves context of thread.
  *
@@ -531,25 +534,15 @@
  *    Success: TRUE
  *    Failure: FALSE
  */
-BOOL WINAPI GetThreadContext(
-    HANDLE handle,  /* [in]  Handle to thread with context */
-    CONTEXT *context) /* [out] Address of context structure */
+BOOL WINAPI GetThreadContext( HANDLE handle,     /* [in]  Handle to thread with context */
+                              CONTEXT *context ) /* [out] Address of context structure */
 {
-#ifdef __i386__
-    WORD cs, ds;
-
-    FIXME("returning dummy info\n" );
-
-    /* make up some plausible values for segment registers */
-    GET_CS(cs);
-    GET_DS(ds);
-    context->SegCs   = cs;
-    context->SegDs   = ds;
-    context->SegEs   = ds;
-    context->SegGs   = ds;
-    context->SegSs   = ds;
-    context->SegFs   = ds;
-#endif
+    struct get_thread_context_request *req = get_req_buffer();
+    req->handle = handle;
+    req->flags = context->ContextFlags;
+    memcpy( &req->context, context, sizeof(*context) );
+    if (server_call( REQ_GET_THREAD_CONTEXT )) return FALSE;
+    memcpy( context, &req->context, sizeof(*context) );
     return TRUE;
 }