CVS: winex/include/wine server.h, 1.13, 1.14 server_protocol.h, 1.47, 1.48
[email protected] 31 Jul 2007 17:59:18 -0000
| Newsgroups | gmane.comp.emulators.winex.cvs |
|---|---|
| Message-ID | <[email protected]> |
Subject: winex/include/wine server.h,1.13,1.14 server_protocol.h,1.47,1.48Update of /var/lib/cvsd/cvsroot/winex/include/wine
In directory agravaine:/tmp/cvs-serv24328/include/wine
Modified Files:
server.h server_protocol.h
Log Message:
Partially implement IO completion ports to the point that they can be used as task queues (ie, not associated with a file handle). Still to be done:
- finish thread accounting for blocking
- implement associating a file handle with an IO completion port
- modify relevant functions to send notifications to an associated IO completion port
- lots of testing of corner cases
Index: server.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/wine/server.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- server.h 27 Mar 2007 17:22:09 -0000 1.13
+++ server.h 31 Jul 2007 17:59:16 -0000 1.14
@@ -125,5 +125,6 @@
extern void CLIENT_InitThread(void);
extern void CLIENT_BootDone( int debug_level );
extern int CLIENT_IsBootThread(void);
+extern int wait_server_reply (const void *cookie);
#endif /* __WINE_WINE_SERVER_H */
Index: server_protocol.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/wine/server_protocol.h,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- server_protocol.h 30 Mar 2007 18:51:32 -0000 1.47
+++ server_protocol.h 31 Jul 2007 17:59:16 -0000 1.48
@@ -2910,6 +2910,64 @@
};
+struct create_io_completion_request
+{
+ struct request_header __header;
+ unsigned int num_threads;
+};
+struct create_io_completion_reply
+{
+ struct reply_header __header;
+ handle_t handle;
+};
+
+
+struct set_io_completion_request
+{
+ struct request_header __header;
+ handle_t handle;
+ void* completion_key;
+ void* overlapped;
+ unsigned int num_bytes;
+};
+struct set_io_completion_reply
+{
+ struct reply_header __header;
+};
+
+/* Notify wineserver that we're ready to receive a new task, and immediately
+ return if one is available and given to us */
+struct remove_io_completion_request
+{
+ struct request_header __header;
+ handle_t handle;
+ void* cookie;
+ int select_flags;
+ int sec;
+ int usec;
+};
+struct remove_io_completion_reply
+{
+ struct reply_header __header;
+ void* completion_key;
+ void* overlapped;
+ unsigned int num_bytes;
+};
+
+
+struct retrieve_assigned_io_completion_request
+{
+ struct request_header __header;
+ handle_t handle;
+};
+struct retrieve_assigned_io_completion_reply
+{
+ struct reply_header __header;
+ void* completion_key;
+ void* overlapped;
+ unsigned int num_bytes;
+};
+
enum request
{
@@ -3082,6 +3140,10 @@
REQ_get_cdrom_eject_fd_list, /* 166*/
REQ_add_cdrom_device_info, /* 167*/
REQ_open_token, /* 168*/
+ REQ_create_io_completion, /* 169*/
+ REQ_set_io_completion, /* 170*/
+ REQ_remove_io_completion, /* 171*/
+ REQ_retrieve_assigned_io_completion, /* 172*/
REQ_NB_REQUESTS
};
@@ -3258,6 +3320,10 @@
struct get_cdrom_eject_fd_list_request get_cdrom_eject_fd_list_request;
struct add_cdrom_device_info_request add_cdrom_device_info_request;
struct open_token_request open_token_request;
+ struct create_io_completion_request create_io_completion_request;
+ struct set_io_completion_request set_io_completion_request;
+ struct remove_io_completion_request remove_io_completion_request;
+ struct retrieve_assigned_io_completion_request retrieve_assigned_io_completion_request;
};
union generic_reply
{
@@ -3432,8 +3498,12 @@
struct get_cdrom_eject_fd_list_reply get_cdrom_eject_fd_list_reply;
struct add_cdrom_device_info_reply add_cdrom_device_info_reply;
struct open_token_reply open_token_reply;
+ struct create_io_completion_reply create_io_completion_reply;
+ struct set_io_completion_reply set_io_completion_reply;
+ struct remove_io_completion_reply remove_io_completion_reply;
+ struct retrieve_assigned_io_completion_reply retrieve_assigned_io_completion_reply;
};
-#define SERVER_PROTOCOL_VERSION 103
+#define SERVER_PROTOCOL_VERSION 104
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */