Author: fireball
Date: Sat Jul 18 11:39:24 2009
New Revision: 42032
URL:
http://svn.reactos.org/svn/reactos?rev=42032&view=rev
Log:
- Fix Wine-server interface to allow data transfer, first version.
Modified:
branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c
branches/arwinss/reactos/subsystems/win32/win32k/include/request.h
branches/arwinss/reactos/subsystems/win32/win32k/include/win32.h
branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h
branches/arwinss/reactos/subsystems/win32/win32k/wine/main.c
branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c
Modified: branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c [iso-8859-1] Sat Jul 18
11:39:24 2009
@@ -82,6 +82,7 @@
Win32Process->HeapMappings.KernelMapping = (PVOID)GlobalUserHeap;
Win32Process->HeapMappings.UserMapping = UserBase;
Win32Process->HeapMappings.Count = 1;
+ InitializeListHead(&Win32Process->Classes);
}
else
{
Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/request.h
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/include/request.h [iso-8859-1]
(original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/include/request.h [iso-8859-1] Sat
Jul 18 11:39:24 2009
@@ -27,6 +27,20 @@
/* request handler definition */
#define DECL_HANDLER(name) \
void req_##name( const struct name##_request *req, struct name##_reply *reply )
+
+/* get the request vararg size */
+static inline data_size_t get_req_data_size(struct __server_request_info *req)
+{
+ return req->u.req.request_header.request_size;
+}
+
+/* get the request vararg as unicode string */
+static inline void get_req_unicode_str( void *req, struct unicode_str *str )
+{
+ struct __server_request_info *serv_req = (struct __server_request_info *)req;
+ str->str = serv_req->data[0].ptr;
+ str->len = (get_req_data_size(serv_req) / sizeof(WCHAR)) * sizeof(WCHAR);
+}
/* Everything below this line is generated automatically by tools/make_requests */
/* ### make_requests begin ### */
Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/win32.h
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1]
(original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] Sat Jul
18 11:39:24 2009
@@ -28,8 +28,9 @@
typedef struct _PROCESSINFO
{
- PEPROCESS peProcess;
+ PEPROCESS peProcess;
W32HEAP_USER_MAPPING HeapMappings;
+ LIST_ENTRY Classes; /* window classes owned by the process */
} PROCESSINFO, *PPROCESSINFO;
#endif /* __INCLUDE_NAPI_WIN32_H */
Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h [iso-8859-1]
(original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/include/winesup.h [iso-8859-1] Sat
Jul 18 11:39:24 2009
@@ -14,9 +14,11 @@
#define assert ASSERT
#define tolowerW(n) towlower((n))
#define strncmpiW(s1,s2,n) _wcsnicmp((const wchar_t *)(s1),(const wchar_t *)(s2),(n))
+#define set_win32_error(x) SetLastWin32Error(x)
void set_error( unsigned int err );
static inline void clear_error(void) { set_error(0); }
+struct window_class* get_window_class( user_handle_t window );
/* gets the discretionary access control list from a security descriptor */
static inline const ACL *sd_get_dacl( const struct security_descriptor *sd, int *present
)
@@ -63,4 +65,7 @@
int dump_strW( const WCHAR *str, data_size_t len, FILE *f, const char escape[2] );
const SID *token_get_user( void *token );
+// misc stuff, should be moved elsewhere
+#define DESKTOP_ATOM ((atom_t)32769)
+
#endif
Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/main.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/wine/main.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/wine/main.c [iso-8859-1] Sat Jul 18
11:39:24 2009
@@ -9,6 +9,10 @@
/* INCLUDES ******************************************************************/
#include <win32k.h>
+
+#undef LIST_FOR_EACH
+#undef LIST_FOR_EACH_SAFE
+#include "object.h"
#define WANT_REQUEST_HANDLERS
#include "request.h"
Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c [iso-8859-1]
(original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/wine/winesup.c [iso-8859-1] Sat Jul
18 11:39:24 2009
@@ -24,4 +24,9 @@
return NULL;
}
+struct window_class* get_window_class( user_handle_t window )
+{
+ return NULL;
+}
+
/* EOF */