Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.

diff --git a/memory/selector.c b/memory/selector.c
index c3f9d2a..c3ce313 100644
--- a/memory/selector.c
+++ b/memory/selector.c
@@ -594,18 +594,18 @@
     {
         req->handle = hthread;
         req->entry = sel >> __AHSHIFT;
-        if ((ret = !SERVER_CALL_ERR()))
+        if ((ret = !wine_server_call_err( req )))
         {
-            if (!(req->flags & WINE_LDT_FLAGS_ALLOCATED))
+            if (!(reply->flags & WINE_LDT_FLAGS_ALLOCATED))
             {
                 SetLastError( ERROR_MR_MID_NOT_FOUND );  /* sic */
                 ret = FALSE;
             }
             else
             {
-                wine_ldt_set_base( ldtent, (void *)req->base );
-                wine_ldt_set_limit( ldtent, req->limit );
-                wine_ldt_set_flags( ldtent, req->flags );
+                wine_ldt_set_base( ldtent, (void *)reply->base );
+                wine_ldt_set_limit( ldtent, reply->limit );
+                wine_ldt_set_flags( ldtent, reply->flags );
             }
         }
     }