server: Define an lparam_t type for message parameters that can hold all sorts of data.
diff --git a/server/protocol.def b/server/protocol.def
index eba1b82..2d69c19 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -38,6 +38,7 @@
typedef unsigned int thread_id_t;
typedef unsigned int data_size_t;
typedef unsigned int ioctl_code_t;
+typedef unsigned long lparam_t;
typedef unsigned __int64 file_pos_t;
struct request_header
@@ -187,8 +188,8 @@
struct callback_msg_data
{
void *callback; /* callback function */
- unsigned long data; /* user data for callback */
- unsigned long result; /* message result */
+ lparam_t data; /* user data for callback */
+ lparam_t result; /* message result */
};
struct winevent_msg_data
@@ -1821,8 +1822,8 @@
int flags; /* message flags (see below) */
user_handle_t win; /* window handle */
unsigned int msg; /* message code */
- unsigned long wparam; /* parameters */
- unsigned long lparam; /* parameters */
+ lparam_t wparam; /* parameters */
+ lparam_t lparam; /* parameters */
timeout_t timeout; /* timeout for reply */
VARARG(data,message_data); /* message data for sent messages */
@END
@@ -1852,9 +1853,9 @@
user_handle_t win; /* window handle */
unsigned int msg; /* message code */
unsigned int time; /* message time */
- unsigned long wparam; /* parameters */
- unsigned long lparam; /* parameters */
- unsigned long info; /* extra info */
+ lparam_t wparam; /* parameters */
+ lparam_t lparam; /* parameters */
+ lparam_t info; /* extra info */
int x; /* x position */
int y; /* y position */
@END
@@ -1873,9 +1874,9 @@
user_handle_t win; /* window handle */
int type; /* message type */
unsigned int msg; /* message code */
- unsigned long wparam; /* parameters */
- unsigned long lparam; /* parameters */
- unsigned long info; /* extra info */
+ lparam_t wparam; /* parameters */
+ lparam_t lparam; /* parameters */
+ lparam_t info; /* extra info */
int x; /* x position */
int y; /* y position */
unsigned int time; /* message time */
@@ -1888,7 +1889,7 @@
/* Reply to a sent message */
@REQ(reply_message)
- unsigned long result; /* message result */
+ lparam_t result; /* message result */
int remove; /* should we remove the message? */
VARARG(data,bytes); /* message data for sent messages */
@END
@@ -1906,7 +1907,7 @@
@REQ(get_message_reply)
int cancel; /* cancel message if not ready? */
@REPLY
- unsigned long result; /* message result */
+ lparam_t result; /* message result */
VARARG(data,bytes); /* message data for sent messages */
@END
@@ -1916,10 +1917,10 @@
user_handle_t win; /* window handle */
unsigned int msg; /* message to post */
unsigned int rate; /* timer rate in ms */
- unsigned long id; /* timer id */
- unsigned long lparam; /* message lparam (callback proc) */
+ lparam_t id; /* timer id */
+ lparam_t lparam; /* message lparam (callback proc) */
@REPLY
- unsigned long id; /* timer id */
+ lparam_t id; /* timer id */
@END
@@ -1927,7 +1928,7 @@
@REQ(kill_win_timer)
user_handle_t win; /* window handle */
unsigned int msg; /* message to post */
- unsigned long id; /* timer id */
+ lparam_t id; /* timer id */
@END
@@ -2104,17 +2105,17 @@
unsigned int id; /* window id */
int is_unicode; /* ANSI or unicode */
void* instance; /* creator instance */
- unsigned long user_data; /* user-specific data */
+ lparam_t user_data; /* user-specific data */
int extra_offset; /* offset to set in extra bytes */
data_size_t extra_size; /* size to set in extra bytes */
- unsigned long extra_value; /* value to set in extra bytes */
+ lparam_t extra_value; /* value to set in extra bytes */
@REPLY
unsigned int old_style; /* old window style */
unsigned int old_ex_style; /* old window extended style */
unsigned int old_id; /* old window id */
void* old_instance; /* old creator instance */
- unsigned long old_user_data; /* old user-specific data */
- unsigned long old_extra_value; /* old value in extra bytes */
+ lparam_t old_user_data; /* old user-specific data */
+ lparam_t old_extra_value; /* old value in extra bytes */
@END
#define SET_WIN_STYLE 0x01
#define SET_WIN_EXSTYLE 0x02
@@ -2667,14 +2668,14 @@
void* instance; /* module instance */
int extra_offset; /* offset to set in extra bytes */
data_size_t extra_size; /* size to set in extra bytes */
- unsigned long extra_value; /* value to set in extra bytes */
+ lparam_t extra_value; /* value to set in extra bytes */
@REPLY
atom_t old_atom; /* previous class atom */
unsigned int old_style; /* previous class style */
int old_extra; /* previous number of class extra bytes */
int old_win_extra; /* previous number of window extra bytes */
void* old_instance; /* previous module instance */
- unsigned long old_extra_value; /* old value in extra bytes */
+ lparam_t old_extra_value; /* old value in extra bytes */
@END
#define SET_CLASS_ATOM 0x0001
#define SET_CLASS_STYLE 0x0002