Added socket interface to wineserver.

diff --git a/server/trace.c b/server/trace.c
index b7110aa..098b3c2 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -7,6 +7,7 @@
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/uio.h>
+#include "winsock2.h"
 #include "request.h"
 
 
@@ -28,6 +29,14 @@
     fprintf( stderr, "}" );
 }
 
+static void dump_varargs_get_socket_event( struct get_socket_event_request *req )
+{
+    int i;
+    for (i = 0; i < FD_MAX_EVENTS; i++)
+        fprintf( stderr, "%c%d", i ? ',' : '{', req->errors[i] );
+    fprintf( stderr, "}" );
+}
+
 
 typedef void (*dump_func)( const void *req );
 
@@ -474,6 +483,63 @@
     fprintf( stderr, " handle_write=%d", req->handle_write );
 }
 
+static void dump_create_socket_request( struct create_socket_request *req )
+{
+    fprintf( stderr, " access=%08x,", req->access );
+    fprintf( stderr, " inherit=%d,", req->inherit );
+    fprintf( stderr, " family=%d,", req->family );
+    fprintf( stderr, " type=%d,", req->type );
+    fprintf( stderr, " protocol=%d", req->protocol );
+}
+
+static void dump_create_socket_reply( struct create_socket_request *req )
+{
+    fprintf( stderr, " handle=%d", req->handle );
+}
+
+static void dump_accept_socket_request( struct accept_socket_request *req )
+{
+    fprintf( stderr, " lhandle=%d,", req->lhandle );
+    fprintf( stderr, " access=%08x,", req->access );
+    fprintf( stderr, " inherit=%d", req->inherit );
+}
+
+static void dump_accept_socket_reply( struct accept_socket_request *req )
+{
+    fprintf( stderr, " handle=%d", req->handle );
+}
+
+static void dump_set_socket_event_request( struct set_socket_event_request *req )
+{
+    fprintf( stderr, " handle=%d,", req->handle );
+    fprintf( stderr, " mask=%08x,", req->mask );
+    fprintf( stderr, " event=%d", req->event );
+}
+
+static void dump_get_socket_event_request( struct get_socket_event_request *req )
+{
+    fprintf( stderr, " handle=%d,", req->handle );
+    fprintf( stderr, " service=%d,", req->service );
+    fprintf( stderr, " s_event=%d", req->s_event );
+}
+
+static void dump_get_socket_event_reply( struct get_socket_event_request *req )
+{
+    fprintf( stderr, " mask=%08x,", req->mask );
+    fprintf( stderr, " pmask=%08x,", req->pmask );
+    fprintf( stderr, " state=%08x,", req->state );
+    fprintf( stderr, " errors=" );
+    dump_varargs_get_socket_event( req );
+}
+
+static void dump_enable_socket_event_request( struct enable_socket_event_request *req )
+{
+    fprintf( stderr, " handle=%d,", req->handle );
+    fprintf( stderr, " mask=%08x,", req->mask );
+    fprintf( stderr, " sstate=%08x,", req->sstate );
+    fprintf( stderr, " cstate=%08x", req->cstate );
+}
+
 static void dump_alloc_console_request( struct alloc_console_request *req )
 {
     fprintf( stderr, " access=%08x,", req->access );
@@ -736,6 +802,11 @@
     (dump_func)dump_lock_file_request,
     (dump_func)dump_unlock_file_request,
     (dump_func)dump_create_pipe_request,
+    (dump_func)dump_create_socket_request,
+    (dump_func)dump_accept_socket_request,
+    (dump_func)dump_set_socket_event_request,
+    (dump_func)dump_get_socket_event_request,
+    (dump_func)dump_enable_socket_event_request,
     (dump_func)dump_alloc_console_request,
     (dump_func)dump_free_console_request,
     (dump_func)dump_open_console_request,
@@ -804,6 +875,11 @@
     (dump_func)0,
     (dump_func)0,
     (dump_func)dump_create_pipe_reply,
+    (dump_func)dump_create_socket_reply,
+    (dump_func)dump_accept_socket_reply,
+    (dump_func)0,
+    (dump_func)dump_get_socket_event_reply,
+    (dump_func)0,
     (dump_func)dump_alloc_console_reply,
     (dump_func)0,
     (dump_func)dump_open_console_reply,
@@ -872,6 +948,11 @@
     "lock_file",
     "unlock_file",
     "create_pipe",
+    "create_socket",
+    "accept_socket",
+    "set_socket_event",
+    "get_socket_event",
+    "enable_socket_event",
     "alloc_console",
     "free_console",
     "open_console",