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/server/serial.c b/server/serial.c
index c16ccd7..da682bf 100644
--- a/server/serial.c
+++ b/server/serial.c
@@ -37,7 +37,7 @@
 
 static void serial_dump( struct object *obj, int verbose );
 static int serial_get_fd( struct object *obj );
-static int serial_get_info( struct object *obj, struct get_file_info_request *req );
+static int serial_get_info( struct object *obj, struct get_file_info_reply *reply );
 static int serial_get_poll_events( struct object *obj );
 
 struct serial
@@ -165,23 +165,23 @@
     return serial->obj.fd;
 }
 
-static int serial_get_info( struct object *obj, struct get_file_info_request *req )
+static int serial_get_info( struct object *obj, struct get_file_info_reply *reply )
 {
     struct serial *serial = (struct serial *) obj;
     assert( obj->ops == &serial_ops );
 
-    if (req)
+    if (reply)
     {
-        req->type        = FILE_TYPE_CHAR;
-        req->attr        = 0;
-        req->access_time = 0;
-        req->write_time  = 0;
-        req->size_high   = 0;
-        req->size_low    = 0;
-        req->links       = 0;
-        req->index_high  = 0;
-        req->index_low   = 0;
-        req->serial      = 0;
+        reply->type        = FILE_TYPE_CHAR;
+        reply->attr        = 0;
+        reply->access_time = 0;
+        reply->write_time  = 0;
+        reply->size_high   = 0;
+        reply->size_low    = 0;
+        reply->links       = 0;
+        reply->index_high  = 0;
+        reply->index_low   = 0;
+        reply->serial      = 0;
     }
 
     if(serial->attrib & FILE_FLAG_OVERLAPPED)
@@ -215,10 +215,10 @@
 {
     struct serial *serial;
 
-    req->handle = 0;
-    if ((serial = create_serial( get_req_data(req), get_req_data_size(req), req->access, req->attributes )))
+    reply->handle = 0;
+    if ((serial = create_serial( get_req_data(), get_req_data_size(), req->access, req->attributes )))
     {
-        req->handle = alloc_handle( current->process, serial, req->access, req->inherit );
+        reply->handle = alloc_handle( current->process, serial, req->access, req->inherit );
         release_object( serial );
     }
 }
@@ -230,17 +230,17 @@
     if ((serial = get_serial_obj( current->process, req->handle, 0 )))
     {
         /* timeouts */
-        req->readinterval = serial->readinterval;
-        req->readconst    = serial->readconst;
-        req->readmult     = serial->readmult;
-        req->writeconst   = serial->writeconst;
-        req->writemult    = serial->writemult;
+        reply->readinterval = serial->readinterval;
+        reply->readconst    = serial->readconst;
+        reply->readmult     = serial->readmult;
+        reply->writeconst   = serial->writeconst;
+        reply->writemult    = serial->writemult;
 
         /* event mask */
-        req->eventmask    = serial->eventmask;
+        reply->eventmask    = serial->eventmask;
 
         /* comm port error status */
-        req->commerror    = serial->commerror;
+        reply->commerror    = serial->commerror;
 
         release_object( serial );
     }