server: Add support for allocating purely client-side user handles.
diff --git a/server/request.h b/server/request.h
index 02c7984..87b6a75 100644
--- a/server/request.h
+++ b/server/request.h
@@ -349,6 +349,8 @@
 DECL_HANDLER(add_fd_completion);
 DECL_HANDLER(get_window_layered_info);
 DECL_HANDLER(set_window_layered_info);
+DECL_HANDLER(alloc_user_handle);
+DECL_HANDLER(free_user_handle);
 
 #ifdef WANT_REQUEST_HANDLERS
 
@@ -593,6 +595,8 @@
     (req_handler)req_add_fd_completion,
     (req_handler)req_get_window_layered_info,
     (req_handler)req_set_window_layered_info,
+    (req_handler)req_alloc_user_handle,
+    (req_handler)req_free_user_handle,
 };
 
 C_ASSERT( sizeof(affinity_t) == 8 );
@@ -1892,6 +1896,10 @@
 C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, alpha) == 20 );
 C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, flags) == 24 );
 C_ASSERT( sizeof(struct set_window_layered_info_request) == 32 );
+C_ASSERT( FIELD_OFFSET(struct alloc_user_handle_reply, handle) == 8 );
+C_ASSERT( sizeof(struct alloc_user_handle_reply) == 16 );
+C_ASSERT( FIELD_OFFSET(struct free_user_handle_request, handle) == 12 );
+C_ASSERT( sizeof(struct free_user_handle_request) == 16 );
 
 #endif  /* WANT_REQUEST_HANDLERS */