push d2ed94b6221baa59db3b40852d651a773c374f7d
[wine/hacks.git] / include / wine / server_protocol.h
blob06eb4ae3f177d1d8d31ddc4db109de12f1a8b6c9
1 /*
2 * Wine server protocol definitions
4 * This file is automatically generated; DO NO EDIT!
5 * Edit server/protocol.def instead and re-run tools/make_requests
6 */
8 #ifndef __WINE_WINE_SERVER_PROTOCOL_H
9 #define __WINE_WINE_SERVER_PROTOCOL_H
11 #include <stdarg.h>
12 #include <stdlib.h>
13 #include <time.h>
15 #include <windef.h>
16 #include <winbase.h>
18 typedef unsigned int obj_handle_t;
19 typedef unsigned int user_handle_t;
20 typedef unsigned int atom_t;
21 typedef unsigned int process_id_t;
22 typedef unsigned int thread_id_t;
23 typedef unsigned int data_size_t;
24 typedef unsigned int ioctl_code_t;
25 typedef unsigned __int64 lparam_t;
26 typedef unsigned __int64 apc_param_t;
27 typedef unsigned __int64 mem_size_t;
28 typedef unsigned __int64 file_pos_t;
29 typedef unsigned __int64 client_ptr_t;
30 typedef unsigned __int64 affinity_t;
31 typedef client_ptr_t mod_handle_t;
33 struct request_header
35 int req;
36 data_size_t request_size;
37 data_size_t reply_size;
40 struct reply_header
42 unsigned int error;
43 data_size_t reply_size;
48 struct request_max_size
50 int pad[16];
53 #define FIRST_USER_HANDLE 0x0020
54 #define LAST_USER_HANDLE 0xffef
58 typedef union
60 int code;
61 struct
63 int code;
64 int first;
65 unsigned int exc_code;
66 unsigned int flags;
67 client_ptr_t record;
68 client_ptr_t address;
69 int nb_params;
70 int __pad;
71 client_ptr_t params[15];
72 } exception;
73 struct
75 int code;
76 obj_handle_t handle;
77 client_ptr_t teb;
78 client_ptr_t start;
79 } create_thread;
80 struct
82 int code;
83 obj_handle_t file;
84 obj_handle_t process;
85 obj_handle_t thread;
86 mod_handle_t base;
87 int dbg_offset;
88 int dbg_size;
89 client_ptr_t teb;
90 client_ptr_t start;
91 client_ptr_t name;
92 int unicode;
93 } create_process;
94 struct
96 int code;
97 int exit_code;
98 } exit;
99 struct
101 int code;
102 obj_handle_t handle;
103 mod_handle_t base;
104 int dbg_offset;
105 int dbg_size;
106 client_ptr_t name;
107 int unicode;
108 } load_dll;
109 struct
111 int code;
112 int __pad;
113 mod_handle_t base;
114 } unload_dll;
115 struct
117 int code;
118 int unicode;
119 client_ptr_t string;
120 data_size_t length;
121 } output_string;
122 struct
124 int code;
125 int error;
126 int type;
127 } rip_info;
128 } debug_event_t;
131 enum cpu_type
133 CPU_x86, CPU_x86_64, CPU_ALPHA, CPU_POWERPC, CPU_SPARC
135 typedef int cpu_type_t;
138 struct send_fd
140 thread_id_t tid;
141 int fd;
145 struct wake_up_reply
147 client_ptr_t cookie;
148 int signaled;
149 int __pad;
153 typedef __int64 timeout_t;
154 #define TIMEOUT_INFINITE (((timeout_t)0x7fffffff) << 32 | 0xffffffff)
157 typedef struct
159 atom_t atom;
160 int string;
161 lparam_t data;
162 } property_data_t;
165 typedef struct
167 int left;
168 int top;
169 int right;
170 int bottom;
171 } rectangle_t;
174 typedef struct
176 obj_handle_t handle;
177 obj_handle_t event;
178 client_ptr_t callback;
179 client_ptr_t iosb;
180 client_ptr_t arg;
181 apc_param_t cvalue;
182 } async_data_t;
186 struct hardware_msg_data
188 lparam_t info;
189 int x;
190 int y;
191 unsigned int hw_id;
192 int __pad;
195 struct callback_msg_data
197 client_ptr_t callback;
198 lparam_t data;
199 lparam_t result;
202 struct winevent_msg_data
204 user_handle_t hook;
205 thread_id_t tid;
206 client_ptr_t hook_proc;
210 typedef union
212 unsigned char bytes[1];
213 struct hardware_msg_data hardware;
214 struct callback_msg_data callback;
215 struct winevent_msg_data winevent;
216 } message_data_t;
219 typedef struct
221 WCHAR ch;
222 unsigned short attr;
223 } char_info_t;
225 typedef struct
227 unsigned int low_part;
228 int high_part;
229 } luid_t;
231 #define MAX_ACL_LEN 65535
233 struct security_descriptor
235 unsigned int control;
236 data_size_t owner_len;
237 data_size_t group_len;
238 data_size_t sacl_len;
239 data_size_t dacl_len;
246 struct object_attributes
248 obj_handle_t rootdir;
249 data_size_t sd_len;
250 data_size_t name_len;
255 struct token_groups
257 unsigned int count;
262 enum apc_type
264 APC_NONE,
265 APC_USER,
266 APC_TIMER,
267 APC_ASYNC_IO,
268 APC_VIRTUAL_ALLOC,
269 APC_VIRTUAL_FREE,
270 APC_VIRTUAL_QUERY,
271 APC_VIRTUAL_PROTECT,
272 APC_VIRTUAL_FLUSH,
273 APC_VIRTUAL_LOCK,
274 APC_VIRTUAL_UNLOCK,
275 APC_MAP_VIEW,
276 APC_UNMAP_VIEW,
277 APC_CREATE_THREAD
280 typedef union
282 enum apc_type type;
283 struct
285 enum apc_type type;
286 int __pad;
287 client_ptr_t func;
288 apc_param_t args[3];
289 } user;
290 struct
292 enum apc_type type;
293 int __pad;
294 client_ptr_t func;
295 timeout_t time;
296 client_ptr_t arg;
297 } timer;
298 struct
300 enum apc_type type;
301 unsigned int status;
302 client_ptr_t func;
303 client_ptr_t user;
304 client_ptr_t sb;
305 } async_io;
306 struct
308 enum apc_type type;
309 unsigned int op_type;
310 client_ptr_t addr;
311 mem_size_t size;
312 unsigned int zero_bits;
313 unsigned int prot;
314 } virtual_alloc;
315 struct
317 enum apc_type type;
318 unsigned int op_type;
319 client_ptr_t addr;
320 mem_size_t size;
321 } virtual_free;
322 struct
324 enum apc_type type;
325 int __pad;
326 client_ptr_t addr;
327 } virtual_query;
328 struct
330 enum apc_type type;
331 unsigned int prot;
332 client_ptr_t addr;
333 mem_size_t size;
334 } virtual_protect;
335 struct
337 enum apc_type type;
338 int __pad;
339 client_ptr_t addr;
340 mem_size_t size;
341 } virtual_flush;
342 struct
344 enum apc_type type;
345 int __pad;
346 client_ptr_t addr;
347 mem_size_t size;
348 } virtual_lock;
349 struct
351 enum apc_type type;
352 int __pad;
353 client_ptr_t addr;
354 mem_size_t size;
355 } virtual_unlock;
356 struct
358 enum apc_type type;
359 obj_handle_t handle;
360 client_ptr_t addr;
361 mem_size_t size;
362 file_pos_t offset;
363 unsigned int alloc_type;
364 unsigned short zero_bits;
365 unsigned short prot;
366 } map_view;
367 struct
369 enum apc_type type;
370 int __pad;
371 client_ptr_t addr;
372 } unmap_view;
373 struct
375 enum apc_type type;
376 int suspend;
377 client_ptr_t func;
378 client_ptr_t arg;
379 mem_size_t reserve;
380 mem_size_t commit;
381 } create_thread;
382 } apc_call_t;
384 typedef union
386 enum apc_type type;
387 struct
389 enum apc_type type;
390 unsigned int status;
391 client_ptr_t apc;
392 unsigned int total;
393 } async_io;
394 struct
396 enum apc_type type;
397 unsigned int status;
398 client_ptr_t addr;
399 mem_size_t size;
400 } virtual_alloc;
401 struct
403 enum apc_type type;
404 unsigned int status;
405 client_ptr_t addr;
406 mem_size_t size;
407 } virtual_free;
408 struct
410 enum apc_type type;
411 unsigned int status;
412 client_ptr_t base;
413 client_ptr_t alloc_base;
414 mem_size_t size;
415 unsigned short state;
416 unsigned short prot;
417 unsigned short alloc_prot;
418 unsigned short alloc_type;
419 } virtual_query;
420 struct
422 enum apc_type type;
423 unsigned int status;
424 client_ptr_t addr;
425 mem_size_t size;
426 unsigned int prot;
427 } virtual_protect;
428 struct
430 enum apc_type type;
431 unsigned int status;
432 client_ptr_t addr;
433 mem_size_t size;
434 } virtual_flush;
435 struct
437 enum apc_type type;
438 unsigned int status;
439 client_ptr_t addr;
440 mem_size_t size;
441 } virtual_lock;
442 struct
444 enum apc_type type;
445 unsigned int status;
446 client_ptr_t addr;
447 mem_size_t size;
448 } virtual_unlock;
449 struct
451 enum apc_type type;
452 unsigned int status;
453 client_ptr_t addr;
454 mem_size_t size;
455 } map_view;
456 struct
458 enum apc_type type;
459 unsigned int status;
460 } unmap_view;
461 struct
463 enum apc_type type;
464 unsigned int status;
465 thread_id_t tid;
466 obj_handle_t handle;
467 } create_thread;
468 } apc_result_t;
474 struct new_process_request
476 struct request_header __header;
477 int inherit_all;
478 unsigned int create_flags;
479 int socket_fd;
480 obj_handle_t exe_file;
481 obj_handle_t hstdin;
482 obj_handle_t hstdout;
483 obj_handle_t hstderr;
484 unsigned int process_access;
485 unsigned int process_attr;
486 unsigned int thread_access;
487 unsigned int thread_attr;
488 /* VARARG(info,startup_info); */
489 /* VARARG(env,unicode_str); */
491 struct new_process_reply
493 struct reply_header __header;
494 obj_handle_t info;
495 process_id_t pid;
496 obj_handle_t phandle;
497 thread_id_t tid;
498 obj_handle_t thandle;
499 char __pad_28[4];
504 struct get_new_process_info_request
506 struct request_header __header;
507 obj_handle_t info;
509 struct get_new_process_info_reply
511 struct reply_header __header;
512 int success;
513 int exit_code;
518 struct new_thread_request
520 struct request_header __header;
521 unsigned int access;
522 unsigned int attributes;
523 int suspend;
524 int request_fd;
526 struct new_thread_reply
528 struct reply_header __header;
529 thread_id_t tid;
530 obj_handle_t handle;
535 struct get_startup_info_request
537 struct request_header __header;
539 struct get_startup_info_reply
541 struct reply_header __header;
542 obj_handle_t exe_file;
543 obj_handle_t hstdin;
544 obj_handle_t hstdout;
545 obj_handle_t hstderr;
546 /* VARARG(info,startup_info); */
547 /* VARARG(env,unicode_str); */
552 struct init_process_done_request
554 struct request_header __header;
555 int gui;
556 mod_handle_t module;
557 client_ptr_t ldt_copy;
558 client_ptr_t entry;
560 struct init_process_done_reply
562 struct reply_header __header;
567 struct init_thread_request
569 struct request_header __header;
570 int unix_pid;
571 int unix_tid;
572 int debug_level;
573 client_ptr_t teb;
574 client_ptr_t entry;
575 int reply_fd;
576 int wait_fd;
577 cpu_type_t cpu;
579 struct init_thread_reply
581 struct reply_header __header;
582 process_id_t pid;
583 thread_id_t tid;
584 timeout_t server_start;
585 data_size_t info_size;
586 int version;
587 unsigned int all_cpus;
588 char __pad_36[4];
593 struct terminate_process_request
595 struct request_header __header;
596 obj_handle_t handle;
597 int exit_code;
599 struct terminate_process_reply
601 struct reply_header __header;
602 int self;
603 char __pad_12[4];
608 struct terminate_thread_request
610 struct request_header __header;
611 obj_handle_t handle;
612 int exit_code;
614 struct terminate_thread_reply
616 struct reply_header __header;
617 int self;
618 int last;
623 struct get_process_info_request
625 struct request_header __header;
626 obj_handle_t handle;
628 struct get_process_info_reply
630 struct reply_header __header;
631 process_id_t pid;
632 process_id_t ppid;
633 affinity_t affinity;
634 client_ptr_t peb;
635 timeout_t start_time;
636 timeout_t end_time;
637 int exit_code;
638 int priority;
643 struct set_process_info_request
645 struct request_header __header;
646 obj_handle_t handle;
647 int mask;
648 int priority;
649 affinity_t affinity;
651 struct set_process_info_reply
653 struct reply_header __header;
655 #define SET_PROCESS_INFO_PRIORITY 0x01
656 #define SET_PROCESS_INFO_AFFINITY 0x02
660 struct get_thread_info_request
662 struct request_header __header;
663 obj_handle_t handle;
664 thread_id_t tid_in;
666 struct get_thread_info_reply
668 struct reply_header __header;
669 process_id_t pid;
670 thread_id_t tid;
671 client_ptr_t teb;
672 affinity_t affinity;
673 timeout_t creation_time;
674 timeout_t exit_time;
675 int exit_code;
676 int priority;
677 int last;
678 char __pad_60[4];
683 struct set_thread_info_request
685 struct request_header __header;
686 obj_handle_t handle;
687 int mask;
688 int priority;
689 affinity_t affinity;
690 obj_handle_t token;
691 char __pad_36[4];
693 struct set_thread_info_reply
695 struct reply_header __header;
697 #define SET_THREAD_INFO_PRIORITY 0x01
698 #define SET_THREAD_INFO_AFFINITY 0x02
699 #define SET_THREAD_INFO_TOKEN 0x04
703 struct get_dll_info_request
705 struct request_header __header;
706 obj_handle_t handle;
707 mod_handle_t base_address;
709 struct get_dll_info_reply
711 struct reply_header __header;
712 client_ptr_t entry_point;
713 data_size_t size;
714 data_size_t filename_len;
715 /* VARARG(filename,unicode_str); */
720 struct suspend_thread_request
722 struct request_header __header;
723 obj_handle_t handle;
725 struct suspend_thread_reply
727 struct reply_header __header;
728 int count;
729 char __pad_12[4];
734 struct resume_thread_request
736 struct request_header __header;
737 obj_handle_t handle;
739 struct resume_thread_reply
741 struct reply_header __header;
742 int count;
743 char __pad_12[4];
748 struct load_dll_request
750 struct request_header __header;
751 obj_handle_t handle;
752 mod_handle_t base;
753 client_ptr_t name;
754 data_size_t size;
755 int dbg_offset;
756 int dbg_size;
757 /* VARARG(filename,unicode_str); */
758 char __pad_44[4];
760 struct load_dll_reply
762 struct reply_header __header;
767 struct unload_dll_request
769 struct request_header __header;
770 char __pad_12[4];
771 mod_handle_t base;
773 struct unload_dll_reply
775 struct reply_header __header;
780 struct queue_apc_request
782 struct request_header __header;
783 obj_handle_t handle;
784 apc_call_t call;
786 struct queue_apc_reply
788 struct reply_header __header;
789 obj_handle_t handle;
790 int self;
795 struct get_apc_result_request
797 struct request_header __header;
798 obj_handle_t handle;
800 struct get_apc_result_reply
802 struct reply_header __header;
803 apc_result_t result;
808 struct close_handle_request
810 struct request_header __header;
811 obj_handle_t handle;
813 struct close_handle_reply
815 struct reply_header __header;
820 struct set_handle_info_request
822 struct request_header __header;
823 obj_handle_t handle;
824 int flags;
825 int mask;
827 struct set_handle_info_reply
829 struct reply_header __header;
830 int old_flags;
831 char __pad_12[4];
836 struct dup_handle_request
838 struct request_header __header;
839 obj_handle_t src_process;
840 obj_handle_t src_handle;
841 obj_handle_t dst_process;
842 unsigned int access;
843 unsigned int attributes;
844 unsigned int options;
846 struct dup_handle_reply
848 struct reply_header __header;
849 obj_handle_t handle;
850 int self;
851 int closed;
852 char __pad_20[4];
854 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
855 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
856 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
860 struct open_process_request
862 struct request_header __header;
863 process_id_t pid;
864 unsigned int access;
865 unsigned int attributes;
867 struct open_process_reply
869 struct reply_header __header;
870 obj_handle_t handle;
871 char __pad_12[4];
876 struct open_thread_request
878 struct request_header __header;
879 thread_id_t tid;
880 unsigned int access;
881 unsigned int attributes;
883 struct open_thread_reply
885 struct reply_header __header;
886 obj_handle_t handle;
887 char __pad_12[4];
892 struct select_request
894 struct request_header __header;
895 int flags;
896 client_ptr_t cookie;
897 obj_handle_t signal;
898 obj_handle_t prev_apc;
899 timeout_t timeout;
900 /* VARARG(result,apc_result); */
901 /* VARARG(handles,handles); */
903 struct select_reply
905 struct reply_header __header;
906 timeout_t timeout;
907 apc_call_t call;
908 obj_handle_t apc_handle;
909 char __pad_60[4];
911 #define SELECT_ALL 1
912 #define SELECT_ALERTABLE 2
913 #define SELECT_INTERRUPTIBLE 4
917 struct create_event_request
919 struct request_header __header;
920 unsigned int access;
921 unsigned int attributes;
922 int manual_reset;
923 int initial_state;
924 /* VARARG(objattr,object_attributes); */
926 struct create_event_reply
928 struct reply_header __header;
929 obj_handle_t handle;
930 char __pad_12[4];
934 struct event_op_request
936 struct request_header __header;
937 obj_handle_t handle;
938 int op;
939 char __pad_20[4];
941 struct event_op_reply
943 struct reply_header __header;
945 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
949 struct open_event_request
951 struct request_header __header;
952 unsigned int access;
953 unsigned int attributes;
954 obj_handle_t rootdir;
955 /* VARARG(name,unicode_str); */
957 struct open_event_reply
959 struct reply_header __header;
960 obj_handle_t handle;
961 char __pad_12[4];
966 struct create_mutex_request
968 struct request_header __header;
969 unsigned int access;
970 unsigned int attributes;
971 int owned;
972 /* VARARG(objattr,object_attributes); */
974 struct create_mutex_reply
976 struct reply_header __header;
977 obj_handle_t handle;
978 char __pad_12[4];
983 struct release_mutex_request
985 struct request_header __header;
986 obj_handle_t handle;
988 struct release_mutex_reply
990 struct reply_header __header;
991 unsigned int prev_count;
992 char __pad_12[4];
997 struct open_mutex_request
999 struct request_header __header;
1000 unsigned int access;
1001 unsigned int attributes;
1002 obj_handle_t rootdir;
1003 /* VARARG(name,unicode_str); */
1005 struct open_mutex_reply
1007 struct reply_header __header;
1008 obj_handle_t handle;
1009 char __pad_12[4];
1014 struct create_semaphore_request
1016 struct request_header __header;
1017 unsigned int access;
1018 unsigned int attributes;
1019 unsigned int initial;
1020 unsigned int max;
1021 /* VARARG(objattr,object_attributes); */
1023 struct create_semaphore_reply
1025 struct reply_header __header;
1026 obj_handle_t handle;
1027 char __pad_12[4];
1032 struct release_semaphore_request
1034 struct request_header __header;
1035 obj_handle_t handle;
1036 unsigned int count;
1038 struct release_semaphore_reply
1040 struct reply_header __header;
1041 unsigned int prev_count;
1042 char __pad_12[4];
1047 struct open_semaphore_request
1049 struct request_header __header;
1050 unsigned int access;
1051 unsigned int attributes;
1052 obj_handle_t rootdir;
1053 /* VARARG(name,unicode_str); */
1055 struct open_semaphore_reply
1057 struct reply_header __header;
1058 obj_handle_t handle;
1059 char __pad_12[4];
1064 struct create_file_request
1066 struct request_header __header;
1067 unsigned int access;
1068 unsigned int attributes;
1069 unsigned int sharing;
1070 int create;
1071 unsigned int options;
1072 unsigned int attrs;
1073 /* VARARG(objattr,object_attributes); */
1074 /* VARARG(filename,string); */
1076 struct create_file_reply
1078 struct reply_header __header;
1079 obj_handle_t handle;
1080 char __pad_12[4];
1085 struct open_file_object_request
1087 struct request_header __header;
1088 unsigned int access;
1089 unsigned int attributes;
1090 obj_handle_t rootdir;
1091 unsigned int sharing;
1092 unsigned int options;
1093 /* VARARG(filename,unicode_str); */
1095 struct open_file_object_reply
1097 struct reply_header __header;
1098 obj_handle_t handle;
1099 char __pad_12[4];
1104 struct alloc_file_handle_request
1106 struct request_header __header;
1107 unsigned int access;
1108 unsigned int attributes;
1109 int fd;
1111 struct alloc_file_handle_reply
1113 struct reply_header __header;
1114 obj_handle_t handle;
1115 char __pad_12[4];
1120 struct get_handle_fd_request
1122 struct request_header __header;
1123 obj_handle_t handle;
1125 struct get_handle_fd_reply
1127 struct reply_header __header;
1128 int type;
1129 int removable;
1130 unsigned int access;
1131 unsigned int options;
1133 enum server_fd_type
1135 FD_TYPE_INVALID,
1136 FD_TYPE_FILE,
1137 FD_TYPE_DIR,
1138 FD_TYPE_SOCKET,
1139 FD_TYPE_SERIAL,
1140 FD_TYPE_PIPE,
1141 FD_TYPE_MAILSLOT,
1142 FD_TYPE_CHAR,
1143 FD_TYPE_DEVICE,
1144 FD_TYPE_NB_TYPES
1149 struct flush_file_request
1151 struct request_header __header;
1152 obj_handle_t handle;
1154 struct flush_file_reply
1156 struct reply_header __header;
1157 obj_handle_t event;
1158 char __pad_12[4];
1163 struct lock_file_request
1165 struct request_header __header;
1166 obj_handle_t handle;
1167 file_pos_t offset;
1168 file_pos_t count;
1169 int shared;
1170 int wait;
1172 struct lock_file_reply
1174 struct reply_header __header;
1175 obj_handle_t handle;
1176 int overlapped;
1181 struct unlock_file_request
1183 struct request_header __header;
1184 obj_handle_t handle;
1185 file_pos_t offset;
1186 file_pos_t count;
1188 struct unlock_file_reply
1190 struct reply_header __header;
1195 struct create_socket_request
1197 struct request_header __header;
1198 unsigned int access;
1199 unsigned int attributes;
1200 int family;
1201 int type;
1202 int protocol;
1203 unsigned int flags;
1205 struct create_socket_reply
1207 struct reply_header __header;
1208 obj_handle_t handle;
1209 char __pad_12[4];
1214 struct accept_socket_request
1216 struct request_header __header;
1217 obj_handle_t lhandle;
1218 unsigned int access;
1219 unsigned int attributes;
1221 struct accept_socket_reply
1223 struct reply_header __header;
1224 obj_handle_t handle;
1225 char __pad_12[4];
1230 struct set_socket_event_request
1232 struct request_header __header;
1233 obj_handle_t handle;
1234 unsigned int mask;
1235 obj_handle_t event;
1236 user_handle_t window;
1237 unsigned int msg;
1239 struct set_socket_event_reply
1241 struct reply_header __header;
1246 struct get_socket_event_request
1248 struct request_header __header;
1249 obj_handle_t handle;
1250 int service;
1251 obj_handle_t c_event;
1253 struct get_socket_event_reply
1255 struct reply_header __header;
1256 unsigned int mask;
1257 unsigned int pmask;
1258 unsigned int state;
1259 /* VARARG(errors,ints); */
1260 char __pad_20[4];
1265 struct enable_socket_event_request
1267 struct request_header __header;
1268 obj_handle_t handle;
1269 unsigned int mask;
1270 unsigned int sstate;
1271 unsigned int cstate;
1272 char __pad_28[4];
1274 struct enable_socket_event_reply
1276 struct reply_header __header;
1279 struct set_socket_deferred_request
1281 struct request_header __header;
1282 obj_handle_t handle;
1283 obj_handle_t deferred;
1284 char __pad_20[4];
1286 struct set_socket_deferred_reply
1288 struct reply_header __header;
1292 struct alloc_console_request
1294 struct request_header __header;
1295 unsigned int access;
1296 unsigned int attributes;
1297 process_id_t pid;
1299 struct alloc_console_reply
1301 struct reply_header __header;
1302 obj_handle_t handle_in;
1303 obj_handle_t event;
1308 struct free_console_request
1310 struct request_header __header;
1311 char __pad_12[4];
1313 struct free_console_reply
1315 struct reply_header __header;
1319 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1320 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1321 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1322 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1323 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1324 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1325 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1326 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1327 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1328 struct console_renderer_event
1330 short event;
1331 union
1333 struct update
1335 short top;
1336 short bottom;
1337 } update;
1338 struct resize
1340 short width;
1341 short height;
1342 } resize;
1343 struct cursor_pos
1345 short x;
1346 short y;
1347 } cursor_pos;
1348 struct cursor_geom
1350 short visible;
1351 short size;
1352 } cursor_geom;
1353 struct display
1355 short left;
1356 short top;
1357 short width;
1358 short height;
1359 } display;
1360 } u;
1364 struct get_console_renderer_events_request
1366 struct request_header __header;
1367 obj_handle_t handle;
1369 struct get_console_renderer_events_reply
1371 struct reply_header __header;
1372 /* VARARG(data,bytes); */
1377 struct open_console_request
1379 struct request_header __header;
1380 obj_handle_t from;
1382 unsigned int access;
1383 unsigned int attributes;
1384 int share;
1386 struct open_console_reply
1388 struct reply_header __header;
1389 obj_handle_t handle;
1390 char __pad_12[4];
1395 struct get_console_wait_event_request
1397 struct request_header __header;
1399 struct get_console_wait_event_reply
1401 struct reply_header __header;
1402 obj_handle_t handle;
1403 char __pad_12[4];
1407 struct get_console_mode_request
1409 struct request_header __header;
1410 obj_handle_t handle;
1412 struct get_console_mode_reply
1414 struct reply_header __header;
1415 int mode;
1416 char __pad_12[4];
1421 struct set_console_mode_request
1423 struct request_header __header;
1424 obj_handle_t handle;
1425 int mode;
1426 char __pad_20[4];
1428 struct set_console_mode_reply
1430 struct reply_header __header;
1435 struct set_console_input_info_request
1437 struct request_header __header;
1438 obj_handle_t handle;
1439 int mask;
1440 obj_handle_t active_sb;
1441 int history_mode;
1442 int history_size;
1443 int edition_mode;
1444 int input_cp;
1445 int output_cp;
1446 user_handle_t win;
1447 /* VARARG(title,unicode_str); */
1449 struct set_console_input_info_reply
1451 struct reply_header __header;
1453 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1454 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1455 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1456 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1457 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1458 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1459 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1460 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1464 struct get_console_input_info_request
1466 struct request_header __header;
1467 obj_handle_t handle;
1469 struct get_console_input_info_reply
1471 struct reply_header __header;
1472 int history_mode;
1473 int history_size;
1474 int history_index;
1475 int edition_mode;
1476 int input_cp;
1477 int output_cp;
1478 user_handle_t win;
1479 /* VARARG(title,unicode_str); */
1480 char __pad_36[4];
1485 struct append_console_input_history_request
1487 struct request_header __header;
1488 obj_handle_t handle;
1489 /* VARARG(line,unicode_str); */
1491 struct append_console_input_history_reply
1493 struct reply_header __header;
1498 struct get_console_input_history_request
1500 struct request_header __header;
1501 obj_handle_t handle;
1502 int index;
1504 struct get_console_input_history_reply
1506 struct reply_header __header;
1507 int total;
1508 /* VARARG(line,unicode_str); */
1509 char __pad_12[4];
1514 struct create_console_output_request
1516 struct request_header __header;
1517 obj_handle_t handle_in;
1518 unsigned int access;
1519 unsigned int attributes;
1520 unsigned int share;
1522 struct create_console_output_reply
1524 struct reply_header __header;
1525 obj_handle_t handle_out;
1526 char __pad_12[4];
1531 struct set_console_output_info_request
1533 struct request_header __header;
1534 obj_handle_t handle;
1535 int mask;
1536 short int cursor_size;
1537 short int cursor_visible;
1538 short int cursor_x;
1539 short int cursor_y;
1540 short int width;
1541 short int height;
1542 short int attr;
1543 short int win_left;
1544 short int win_top;
1545 short int win_right;
1546 short int win_bottom;
1547 short int max_width;
1548 short int max_height;
1549 char __pad_46[2];
1551 struct set_console_output_info_reply
1553 struct reply_header __header;
1555 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1556 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1557 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1558 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1559 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1560 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1564 struct get_console_output_info_request
1566 struct request_header __header;
1567 obj_handle_t handle;
1569 struct get_console_output_info_reply
1571 struct reply_header __header;
1572 short int cursor_size;
1573 short int cursor_visible;
1574 short int cursor_x;
1575 short int cursor_y;
1576 short int width;
1577 short int height;
1578 short int attr;
1579 short int win_left;
1580 short int win_top;
1581 short int win_right;
1582 short int win_bottom;
1583 short int max_width;
1584 short int max_height;
1585 char __pad_34[6];
1589 struct write_console_input_request
1591 struct request_header __header;
1592 obj_handle_t handle;
1593 /* VARARG(rec,input_records); */
1595 struct write_console_input_reply
1597 struct reply_header __header;
1598 int written;
1599 char __pad_12[4];
1604 struct read_console_input_request
1606 struct request_header __header;
1607 obj_handle_t handle;
1608 int flush;
1610 struct read_console_input_reply
1612 struct reply_header __header;
1613 int read;
1614 /* VARARG(rec,input_records); */
1615 char __pad_12[4];
1620 struct write_console_output_request
1622 struct request_header __header;
1623 obj_handle_t handle;
1624 int x;
1625 int y;
1626 int mode;
1627 int wrap;
1628 /* VARARG(data,bytes); */
1630 struct write_console_output_reply
1632 struct reply_header __header;
1633 int written;
1634 int width;
1635 int height;
1636 char __pad_20[4];
1638 enum char_info_mode
1640 CHAR_INFO_MODE_TEXT,
1641 CHAR_INFO_MODE_ATTR,
1642 CHAR_INFO_MODE_TEXTATTR,
1643 CHAR_INFO_MODE_TEXTSTDATTR
1648 struct fill_console_output_request
1650 struct request_header __header;
1651 obj_handle_t handle;
1652 int x;
1653 int y;
1654 int mode;
1655 int count;
1656 int wrap;
1657 char_info_t data;
1659 struct fill_console_output_reply
1661 struct reply_header __header;
1662 int written;
1663 char __pad_12[4];
1668 struct read_console_output_request
1670 struct request_header __header;
1671 obj_handle_t handle;
1672 int x;
1673 int y;
1674 int mode;
1675 int wrap;
1677 struct read_console_output_reply
1679 struct reply_header __header;
1680 int width;
1681 int height;
1682 /* VARARG(data,bytes); */
1687 struct move_console_output_request
1689 struct request_header __header;
1690 obj_handle_t handle;
1691 short int x_src;
1692 short int y_src;
1693 short int x_dst;
1694 short int y_dst;
1695 short int w;
1696 short int h;
1697 char __pad_28[4];
1699 struct move_console_output_reply
1701 struct reply_header __header;
1706 struct send_console_signal_request
1708 struct request_header __header;
1709 int signal;
1710 process_id_t group_id;
1711 char __pad_20[4];
1713 struct send_console_signal_reply
1715 struct reply_header __header;
1720 struct read_directory_changes_request
1722 struct request_header __header;
1723 unsigned int filter;
1724 int subtree;
1725 int want_data;
1726 async_data_t async;
1728 struct read_directory_changes_reply
1730 struct reply_header __header;
1734 struct read_change_request
1736 struct request_header __header;
1737 obj_handle_t handle;
1739 struct read_change_reply
1741 struct reply_header __header;
1742 int action;
1743 /* VARARG(name,string); */
1744 char __pad_12[4];
1749 struct create_mapping_request
1751 struct request_header __header;
1752 unsigned int access;
1753 unsigned int attributes;
1754 unsigned int protect;
1755 mem_size_t size;
1756 obj_handle_t file_handle;
1757 /* VARARG(objattr,object_attributes); */
1759 struct create_mapping_reply
1761 struct reply_header __header;
1762 obj_handle_t handle;
1763 char __pad_12[4];
1766 #define VPROT_READ 0x01
1767 #define VPROT_WRITE 0x02
1768 #define VPROT_EXEC 0x04
1769 #define VPROT_WRITECOPY 0x08
1770 #define VPROT_GUARD 0x10
1771 #define VPROT_NOCACHE 0x20
1772 #define VPROT_COMMITTED 0x40
1773 #define VPROT_WRITEWATCH 0x80
1775 #define VPROT_IMAGE 0x0100
1776 #define VPROT_SYSTEM 0x0200
1777 #define VPROT_VALLOC 0x0400
1778 #define VPROT_NOEXEC 0x0800
1782 struct open_mapping_request
1784 struct request_header __header;
1785 unsigned int access;
1786 unsigned int attributes;
1787 obj_handle_t rootdir;
1788 /* VARARG(name,unicode_str); */
1790 struct open_mapping_reply
1792 struct reply_header __header;
1793 obj_handle_t handle;
1794 char __pad_12[4];
1799 struct get_mapping_info_request
1801 struct request_header __header;
1802 obj_handle_t handle;
1803 unsigned int access;
1805 struct get_mapping_info_reply
1807 struct reply_header __header;
1808 mem_size_t size;
1809 int protect;
1810 int header_size;
1811 client_ptr_t base;
1812 obj_handle_t mapping;
1813 obj_handle_t shared_file;
1818 struct get_mapping_committed_range_request
1820 struct request_header __header;
1821 obj_handle_t handle;
1822 file_pos_t offset;
1824 struct get_mapping_committed_range_reply
1826 struct reply_header __header;
1827 mem_size_t size;
1828 int committed;
1829 char __pad_20[4];
1834 struct add_mapping_committed_range_request
1836 struct request_header __header;
1837 obj_handle_t handle;
1838 file_pos_t offset;
1839 mem_size_t size;
1841 struct add_mapping_committed_range_reply
1843 struct reply_header __header;
1847 #define SNAP_PROCESS 0x00000001
1848 #define SNAP_THREAD 0x00000002
1850 struct create_snapshot_request
1852 struct request_header __header;
1853 unsigned int attributes;
1854 unsigned int flags;
1856 struct create_snapshot_reply
1858 struct reply_header __header;
1859 obj_handle_t handle;
1860 char __pad_12[4];
1865 struct next_process_request
1867 struct request_header __header;
1868 obj_handle_t handle;
1869 int reset;
1871 struct next_process_reply
1873 struct reply_header __header;
1874 int count;
1875 process_id_t pid;
1876 process_id_t ppid;
1877 int threads;
1878 int priority;
1879 int handles;
1880 /* VARARG(filename,unicode_str); */
1885 struct next_thread_request
1887 struct request_header __header;
1888 obj_handle_t handle;
1889 int reset;
1891 struct next_thread_reply
1893 struct reply_header __header;
1894 int count;
1895 process_id_t pid;
1896 thread_id_t tid;
1897 int base_pri;
1898 int delta_pri;
1899 char __pad_28[4];
1904 struct wait_debug_event_request
1906 struct request_header __header;
1907 int get_handle;
1909 struct wait_debug_event_reply
1911 struct reply_header __header;
1912 process_id_t pid;
1913 thread_id_t tid;
1914 obj_handle_t wait;
1915 /* VARARG(event,debug_event); */
1916 char __pad_20[4];
1921 struct queue_exception_event_request
1923 struct request_header __header;
1924 int first;
1925 unsigned int code;
1926 unsigned int flags;
1927 client_ptr_t record;
1928 client_ptr_t address;
1929 data_size_t len;
1930 /* VARARG(params,uints64,len); */
1931 /* VARARG(context,context); */
1933 struct queue_exception_event_reply
1935 struct reply_header __header;
1936 obj_handle_t handle;
1937 char __pad_12[4];
1942 struct get_exception_status_request
1944 struct request_header __header;
1945 obj_handle_t handle;
1947 struct get_exception_status_reply
1949 struct reply_header __header;
1950 /* VARARG(context,context); */
1955 struct output_debug_string_request
1957 struct request_header __header;
1958 data_size_t length;
1959 client_ptr_t string;
1960 int unicode;
1961 char __pad_28[4];
1963 struct output_debug_string_reply
1965 struct reply_header __header;
1970 struct continue_debug_event_request
1972 struct request_header __header;
1973 process_id_t pid;
1974 thread_id_t tid;
1975 int status;
1977 struct continue_debug_event_reply
1979 struct reply_header __header;
1984 struct debug_process_request
1986 struct request_header __header;
1987 process_id_t pid;
1988 int attach;
1989 char __pad_20[4];
1991 struct debug_process_reply
1993 struct reply_header __header;
1998 struct debug_break_request
2000 struct request_header __header;
2001 obj_handle_t handle;
2003 struct debug_break_reply
2005 struct reply_header __header;
2006 int self;
2007 char __pad_12[4];
2012 struct set_debugger_kill_on_exit_request
2014 struct request_header __header;
2015 int kill_on_exit;
2017 struct set_debugger_kill_on_exit_reply
2019 struct reply_header __header;
2024 struct read_process_memory_request
2026 struct request_header __header;
2027 obj_handle_t handle;
2028 client_ptr_t addr;
2030 struct read_process_memory_reply
2032 struct reply_header __header;
2033 /* VARARG(data,bytes); */
2038 struct write_process_memory_request
2040 struct request_header __header;
2041 obj_handle_t handle;
2042 client_ptr_t addr;
2043 /* VARARG(data,bytes); */
2045 struct write_process_memory_reply
2047 struct reply_header __header;
2052 struct create_key_request
2054 struct request_header __header;
2055 obj_handle_t parent;
2056 unsigned int access;
2057 unsigned int attributes;
2058 unsigned int options;
2059 data_size_t namelen;
2060 /* VARARG(name,unicode_str,namelen); */
2061 /* VARARG(class,unicode_str); */
2063 struct create_key_reply
2065 struct reply_header __header;
2066 obj_handle_t hkey;
2067 int created;
2071 struct open_key_request
2073 struct request_header __header;
2074 obj_handle_t parent;
2075 unsigned int access;
2076 unsigned int attributes;
2077 /* VARARG(name,unicode_str); */
2079 struct open_key_reply
2081 struct reply_header __header;
2082 obj_handle_t hkey;
2083 char __pad_12[4];
2088 struct delete_key_request
2090 struct request_header __header;
2091 obj_handle_t hkey;
2093 struct delete_key_reply
2095 struct reply_header __header;
2100 struct flush_key_request
2102 struct request_header __header;
2103 obj_handle_t hkey;
2105 struct flush_key_reply
2107 struct reply_header __header;
2112 struct enum_key_request
2114 struct request_header __header;
2115 obj_handle_t hkey;
2116 int index;
2117 int info_class;
2119 struct enum_key_reply
2121 struct reply_header __header;
2122 int subkeys;
2123 int max_subkey;
2124 int max_class;
2125 int values;
2126 int max_value;
2127 int max_data;
2128 timeout_t modif;
2129 data_size_t total;
2130 data_size_t namelen;
2131 /* VARARG(name,unicode_str,namelen); */
2132 /* VARARG(class,unicode_str); */
2137 struct set_key_value_request
2139 struct request_header __header;
2140 obj_handle_t hkey;
2141 int type;
2142 data_size_t namelen;
2143 /* VARARG(name,unicode_str,namelen); */
2144 /* VARARG(data,bytes); */
2146 struct set_key_value_reply
2148 struct reply_header __header;
2153 struct get_key_value_request
2155 struct request_header __header;
2156 obj_handle_t hkey;
2157 /* VARARG(name,unicode_str); */
2159 struct get_key_value_reply
2161 struct reply_header __header;
2162 int type;
2163 data_size_t total;
2164 /* VARARG(data,bytes); */
2169 struct enum_key_value_request
2171 struct request_header __header;
2172 obj_handle_t hkey;
2173 int index;
2174 int info_class;
2176 struct enum_key_value_reply
2178 struct reply_header __header;
2179 int type;
2180 data_size_t total;
2181 data_size_t namelen;
2182 /* VARARG(name,unicode_str,namelen); */
2183 /* VARARG(data,bytes); */
2184 char __pad_20[4];
2189 struct delete_key_value_request
2191 struct request_header __header;
2192 obj_handle_t hkey;
2193 /* VARARG(name,unicode_str); */
2195 struct delete_key_value_reply
2197 struct reply_header __header;
2202 struct load_registry_request
2204 struct request_header __header;
2205 obj_handle_t hkey;
2206 obj_handle_t file;
2207 /* VARARG(name,unicode_str); */
2208 char __pad_20[4];
2210 struct load_registry_reply
2212 struct reply_header __header;
2217 struct unload_registry_request
2219 struct request_header __header;
2220 obj_handle_t hkey;
2222 struct unload_registry_reply
2224 struct reply_header __header;
2229 struct save_registry_request
2231 struct request_header __header;
2232 obj_handle_t hkey;
2233 obj_handle_t file;
2234 char __pad_20[4];
2236 struct save_registry_reply
2238 struct reply_header __header;
2243 struct set_registry_notification_request
2245 struct request_header __header;
2246 obj_handle_t hkey;
2247 obj_handle_t event;
2248 int subtree;
2249 unsigned int filter;
2250 char __pad_28[4];
2252 struct set_registry_notification_reply
2254 struct reply_header __header;
2259 struct create_timer_request
2261 struct request_header __header;
2262 unsigned int access;
2263 unsigned int attributes;
2264 obj_handle_t rootdir;
2265 int manual;
2266 /* VARARG(name,unicode_str); */
2268 struct create_timer_reply
2270 struct reply_header __header;
2271 obj_handle_t handle;
2272 char __pad_12[4];
2277 struct open_timer_request
2279 struct request_header __header;
2280 unsigned int access;
2281 unsigned int attributes;
2282 obj_handle_t rootdir;
2283 /* VARARG(name,unicode_str); */
2285 struct open_timer_reply
2287 struct reply_header __header;
2288 obj_handle_t handle;
2289 char __pad_12[4];
2293 struct set_timer_request
2295 struct request_header __header;
2296 obj_handle_t handle;
2297 timeout_t expire;
2298 client_ptr_t callback;
2299 client_ptr_t arg;
2300 int period;
2302 struct set_timer_reply
2304 struct reply_header __header;
2305 int signaled;
2306 char __pad_12[4];
2310 struct cancel_timer_request
2312 struct request_header __header;
2313 obj_handle_t handle;
2315 struct cancel_timer_reply
2317 struct reply_header __header;
2318 int signaled;
2319 char __pad_12[4];
2323 struct get_timer_info_request
2325 struct request_header __header;
2326 obj_handle_t handle;
2328 struct get_timer_info_reply
2330 struct reply_header __header;
2331 timeout_t when;
2332 int signaled;
2333 char __pad_20[4];
2338 struct get_thread_context_request
2340 struct request_header __header;
2341 obj_handle_t handle;
2342 unsigned int flags;
2343 int suspend;
2345 struct get_thread_context_reply
2347 struct reply_header __header;
2348 int self;
2349 /* VARARG(context,context); */
2350 char __pad_12[4];
2355 struct set_thread_context_request
2357 struct request_header __header;
2358 obj_handle_t handle;
2359 unsigned int flags;
2360 int suspend;
2361 /* VARARG(context,context); */
2363 struct set_thread_context_reply
2365 struct reply_header __header;
2366 int self;
2367 char __pad_12[4];
2372 struct get_selector_entry_request
2374 struct request_header __header;
2375 obj_handle_t handle;
2376 int entry;
2378 struct get_selector_entry_reply
2380 struct reply_header __header;
2381 unsigned int base;
2382 unsigned int limit;
2383 unsigned char flags;
2384 char __pad_17[7];
2389 struct add_atom_request
2391 struct request_header __header;
2392 obj_handle_t table;
2393 /* VARARG(name,unicode_str); */
2395 struct add_atom_reply
2397 struct reply_header __header;
2398 atom_t atom;
2399 char __pad_12[4];
2404 struct delete_atom_request
2406 struct request_header __header;
2407 obj_handle_t table;
2408 atom_t atom;
2409 char __pad_20[4];
2411 struct delete_atom_reply
2413 struct reply_header __header;
2418 struct find_atom_request
2420 struct request_header __header;
2421 obj_handle_t table;
2422 /* VARARG(name,unicode_str); */
2424 struct find_atom_reply
2426 struct reply_header __header;
2427 atom_t atom;
2428 char __pad_12[4];
2433 struct get_atom_information_request
2435 struct request_header __header;
2436 obj_handle_t table;
2437 atom_t atom;
2439 struct get_atom_information_reply
2441 struct reply_header __header;
2442 int count;
2443 int pinned;
2444 data_size_t total;
2445 /* VARARG(name,unicode_str); */
2446 char __pad_20[4];
2451 struct set_atom_information_request
2453 struct request_header __header;
2454 obj_handle_t table;
2455 atom_t atom;
2456 int pinned;
2458 struct set_atom_information_reply
2460 struct reply_header __header;
2465 struct empty_atom_table_request
2467 struct request_header __header;
2468 obj_handle_t table;
2469 int if_pinned;
2470 char __pad_20[4];
2472 struct empty_atom_table_reply
2474 struct reply_header __header;
2479 struct init_atom_table_request
2481 struct request_header __header;
2482 int entries;
2484 struct init_atom_table_reply
2486 struct reply_header __header;
2487 obj_handle_t table;
2488 char __pad_12[4];
2493 struct get_msg_queue_request
2495 struct request_header __header;
2497 struct get_msg_queue_reply
2499 struct reply_header __header;
2500 obj_handle_t handle;
2501 char __pad_12[4];
2506 struct set_queue_fd_request
2508 struct request_header __header;
2509 obj_handle_t handle;
2511 struct set_queue_fd_reply
2513 struct reply_header __header;
2518 struct set_queue_mask_request
2520 struct request_header __header;
2521 unsigned int wake_mask;
2522 unsigned int changed_mask;
2523 int skip_wait;
2525 struct set_queue_mask_reply
2527 struct reply_header __header;
2528 unsigned int wake_bits;
2529 unsigned int changed_bits;
2534 struct get_queue_status_request
2536 struct request_header __header;
2537 int clear;
2539 struct get_queue_status_reply
2541 struct reply_header __header;
2542 unsigned int wake_bits;
2543 unsigned int changed_bits;
2548 struct get_process_idle_event_request
2550 struct request_header __header;
2551 obj_handle_t handle;
2553 struct get_process_idle_event_reply
2555 struct reply_header __header;
2556 obj_handle_t event;
2557 char __pad_12[4];
2562 struct send_message_request
2564 struct request_header __header;
2565 thread_id_t id;
2566 int type;
2567 int flags;
2568 user_handle_t win;
2569 unsigned int msg;
2570 lparam_t wparam;
2571 lparam_t lparam;
2572 timeout_t timeout;
2573 /* VARARG(data,message_data); */
2575 struct send_message_reply
2577 struct reply_header __header;
2580 struct post_quit_message_request
2582 struct request_header __header;
2583 int exit_code;
2585 struct post_quit_message_reply
2587 struct reply_header __header;
2590 enum message_type
2592 MSG_ASCII,
2593 MSG_UNICODE,
2594 MSG_NOTIFY,
2595 MSG_CALLBACK,
2596 MSG_CALLBACK_RESULT,
2597 MSG_OTHER_PROCESS,
2598 MSG_POSTED,
2599 MSG_HARDWARE,
2600 MSG_WINEVENT
2602 #define SEND_MSG_ABORT_IF_HUNG 0x01
2606 struct send_hardware_message_request
2608 struct request_header __header;
2609 thread_id_t id;
2610 user_handle_t win;
2611 unsigned int msg;
2612 lparam_t wparam;
2613 lparam_t lparam;
2614 lparam_t info;
2615 int x;
2616 int y;
2617 unsigned int time;
2618 char __pad_60[4];
2620 struct send_hardware_message_reply
2622 struct reply_header __header;
2627 struct get_message_request
2629 struct request_header __header;
2630 unsigned int flags;
2631 user_handle_t get_win;
2632 unsigned int get_first;
2633 unsigned int get_last;
2634 unsigned int hw_id;
2635 unsigned int wake_mask;
2636 unsigned int changed_mask;
2638 struct get_message_reply
2640 struct reply_header __header;
2641 user_handle_t win;
2642 unsigned int msg;
2643 lparam_t wparam;
2644 lparam_t lparam;
2645 int type;
2646 unsigned int time;
2647 unsigned int active_hooks;
2648 data_size_t total;
2649 /* VARARG(data,message_data); */
2654 struct reply_message_request
2656 struct request_header __header;
2657 int remove;
2658 lparam_t result;
2659 /* VARARG(data,bytes); */
2661 struct reply_message_reply
2663 struct reply_header __header;
2668 struct accept_hardware_message_request
2670 struct request_header __header;
2671 unsigned int hw_id;
2672 int remove;
2673 user_handle_t new_win;
2675 struct accept_hardware_message_reply
2677 struct reply_header __header;
2682 struct get_message_reply_request
2684 struct request_header __header;
2685 int cancel;
2687 struct get_message_reply_reply
2689 struct reply_header __header;
2690 lparam_t result;
2691 /* VARARG(data,bytes); */
2696 struct set_win_timer_request
2698 struct request_header __header;
2699 user_handle_t win;
2700 unsigned int msg;
2701 unsigned int rate;
2702 lparam_t id;
2703 lparam_t lparam;
2705 struct set_win_timer_reply
2707 struct reply_header __header;
2708 lparam_t id;
2713 struct kill_win_timer_request
2715 struct request_header __header;
2716 user_handle_t win;
2717 lparam_t id;
2718 unsigned int msg;
2719 char __pad_28[4];
2721 struct kill_win_timer_reply
2723 struct reply_header __header;
2728 struct is_window_hung_request
2730 struct request_header __header;
2731 user_handle_t win;
2733 struct is_window_hung_reply
2735 struct reply_header __header;
2736 int is_hung;
2737 char __pad_12[4];
2742 struct get_serial_info_request
2744 struct request_header __header;
2745 obj_handle_t handle;
2747 struct get_serial_info_reply
2749 struct reply_header __header;
2750 unsigned int readinterval;
2751 unsigned int readconst;
2752 unsigned int readmult;
2753 unsigned int writeconst;
2754 unsigned int writemult;
2755 unsigned int eventmask;
2760 struct set_serial_info_request
2762 struct request_header __header;
2763 obj_handle_t handle;
2764 int flags;
2765 unsigned int readinterval;
2766 unsigned int readconst;
2767 unsigned int readmult;
2768 unsigned int writeconst;
2769 unsigned int writemult;
2770 unsigned int eventmask;
2771 char __pad_44[4];
2773 struct set_serial_info_reply
2775 struct reply_header __header;
2777 #define SERIALINFO_SET_TIMEOUTS 0x01
2778 #define SERIALINFO_SET_MASK 0x02
2782 struct register_async_request
2784 struct request_header __header;
2785 int type;
2786 async_data_t async;
2787 int count;
2788 char __pad_60[4];
2790 struct register_async_reply
2792 struct reply_header __header;
2794 #define ASYNC_TYPE_READ 0x01
2795 #define ASYNC_TYPE_WRITE 0x02
2796 #define ASYNC_TYPE_WAIT 0x03
2800 struct cancel_async_request
2802 struct request_header __header;
2803 obj_handle_t handle;
2805 struct cancel_async_reply
2807 struct reply_header __header;
2812 struct ioctl_request
2814 struct request_header __header;
2815 ioctl_code_t code;
2816 async_data_t async;
2817 int blocking;
2818 /* VARARG(in_data,bytes); */
2820 struct ioctl_reply
2822 struct reply_header __header;
2823 obj_handle_t wait;
2824 unsigned int options;
2825 /* VARARG(out_data,bytes); */
2830 struct get_ioctl_result_request
2832 struct request_header __header;
2833 obj_handle_t handle;
2834 client_ptr_t user_arg;
2836 struct get_ioctl_result_reply
2838 struct reply_header __header;
2839 /* VARARG(out_data,bytes); */
2844 struct create_named_pipe_request
2846 struct request_header __header;
2847 unsigned int access;
2848 unsigned int attributes;
2849 obj_handle_t rootdir;
2850 unsigned int options;
2851 unsigned int maxinstances;
2852 unsigned int outsize;
2853 unsigned int insize;
2854 timeout_t timeout;
2855 unsigned int flags;
2856 /* VARARG(name,unicode_str); */
2858 struct create_named_pipe_reply
2860 struct reply_header __header;
2861 obj_handle_t handle;
2862 char __pad_12[4];
2866 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
2867 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
2868 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
2869 #define NAMED_PIPE_SERVER_END 0x8000
2872 struct get_named_pipe_info_request
2874 struct request_header __header;
2875 obj_handle_t handle;
2877 struct get_named_pipe_info_reply
2879 struct reply_header __header;
2880 unsigned int flags;
2881 unsigned int maxinstances;
2882 unsigned int instances;
2883 unsigned int outsize;
2884 unsigned int insize;
2885 char __pad_28[4];
2890 struct create_window_request
2892 struct request_header __header;
2893 user_handle_t parent;
2894 user_handle_t owner;
2895 atom_t atom;
2896 mod_handle_t instance;
2897 /* VARARG(class,unicode_str); */
2899 struct create_window_reply
2901 struct reply_header __header;
2902 user_handle_t handle;
2903 user_handle_t parent;
2904 user_handle_t owner;
2905 int extra;
2906 client_ptr_t class_ptr;
2911 struct destroy_window_request
2913 struct request_header __header;
2914 user_handle_t handle;
2916 struct destroy_window_reply
2918 struct reply_header __header;
2923 struct get_desktop_window_request
2925 struct request_header __header;
2926 int force;
2928 struct get_desktop_window_reply
2930 struct reply_header __header;
2931 user_handle_t top_window;
2932 user_handle_t msg_window;
2937 struct set_window_owner_request
2939 struct request_header __header;
2940 user_handle_t handle;
2941 user_handle_t owner;
2943 struct set_window_owner_reply
2945 struct reply_header __header;
2946 user_handle_t full_owner;
2947 user_handle_t prev_owner;
2952 struct get_window_info_request
2954 struct request_header __header;
2955 user_handle_t handle;
2957 struct get_window_info_reply
2959 struct reply_header __header;
2960 user_handle_t full_handle;
2961 user_handle_t last_active;
2962 process_id_t pid;
2963 thread_id_t tid;
2964 atom_t atom;
2965 int is_unicode;
2970 struct set_window_info_request
2972 struct request_header __header;
2973 unsigned short flags;
2974 short int is_unicode;
2975 user_handle_t handle;
2976 unsigned int style;
2977 unsigned int ex_style;
2978 unsigned int id;
2979 mod_handle_t instance;
2980 lparam_t user_data;
2981 int extra_offset;
2982 data_size_t extra_size;
2983 lparam_t extra_value;
2985 struct set_window_info_reply
2987 struct reply_header __header;
2988 unsigned int old_style;
2989 unsigned int old_ex_style;
2990 mod_handle_t old_instance;
2991 lparam_t old_user_data;
2992 lparam_t old_extra_value;
2993 unsigned int old_id;
2994 char __pad_44[4];
2996 #define SET_WIN_STYLE 0x01
2997 #define SET_WIN_EXSTYLE 0x02
2998 #define SET_WIN_ID 0x04
2999 #define SET_WIN_INSTANCE 0x08
3000 #define SET_WIN_USERDATA 0x10
3001 #define SET_WIN_EXTRA 0x20
3002 #define SET_WIN_UNICODE 0x40
3006 struct set_parent_request
3008 struct request_header __header;
3009 user_handle_t handle;
3010 user_handle_t parent;
3012 struct set_parent_reply
3014 struct reply_header __header;
3015 user_handle_t old_parent;
3016 user_handle_t full_parent;
3021 struct get_window_parents_request
3023 struct request_header __header;
3024 user_handle_t handle;
3026 struct get_window_parents_reply
3028 struct reply_header __header;
3029 int count;
3030 /* VARARG(parents,user_handles); */
3031 char __pad_12[4];
3036 struct get_window_children_request
3038 struct request_header __header;
3039 obj_handle_t desktop;
3040 user_handle_t parent;
3041 atom_t atom;
3042 thread_id_t tid;
3043 /* VARARG(class,unicode_str); */
3045 struct get_window_children_reply
3047 struct reply_header __header;
3048 int count;
3049 /* VARARG(children,user_handles); */
3050 char __pad_12[4];
3055 struct get_window_children_from_point_request
3057 struct request_header __header;
3058 user_handle_t parent;
3059 int x;
3060 int y;
3062 struct get_window_children_from_point_reply
3064 struct reply_header __header;
3065 int count;
3066 /* VARARG(children,user_handles); */
3067 char __pad_12[4];
3072 struct get_window_tree_request
3074 struct request_header __header;
3075 user_handle_t handle;
3077 struct get_window_tree_reply
3079 struct reply_header __header;
3080 user_handle_t parent;
3081 user_handle_t owner;
3082 user_handle_t next_sibling;
3083 user_handle_t prev_sibling;
3084 user_handle_t first_sibling;
3085 user_handle_t last_sibling;
3086 user_handle_t first_child;
3087 user_handle_t last_child;
3091 struct set_window_pos_request
3093 struct request_header __header;
3094 unsigned int flags;
3095 user_handle_t handle;
3096 user_handle_t previous;
3097 rectangle_t window;
3098 rectangle_t client;
3099 /* VARARG(valid,rectangles); */
3101 struct set_window_pos_reply
3103 struct reply_header __header;
3104 unsigned int new_style;
3105 unsigned int new_ex_style;
3110 struct get_window_rectangles_request
3112 struct request_header __header;
3113 user_handle_t handle;
3115 struct get_window_rectangles_reply
3117 struct reply_header __header;
3118 rectangle_t window;
3119 rectangle_t visible;
3120 rectangle_t client;
3125 struct get_window_text_request
3127 struct request_header __header;
3128 user_handle_t handle;
3130 struct get_window_text_reply
3132 struct reply_header __header;
3133 /* VARARG(text,unicode_str); */
3138 struct set_window_text_request
3140 struct request_header __header;
3141 user_handle_t handle;
3142 /* VARARG(text,unicode_str); */
3144 struct set_window_text_reply
3146 struct reply_header __header;
3151 struct get_windows_offset_request
3153 struct request_header __header;
3154 user_handle_t from;
3155 user_handle_t to;
3157 struct get_windows_offset_reply
3159 struct reply_header __header;
3160 int x;
3161 int y;
3166 struct get_visible_region_request
3168 struct request_header __header;
3169 user_handle_t window;
3170 unsigned int flags;
3172 struct get_visible_region_reply
3174 struct reply_header __header;
3175 user_handle_t top_win;
3176 rectangle_t top_rect;
3177 rectangle_t win_rect;
3178 data_size_t total_size;
3179 /* VARARG(region,rectangles); */
3184 struct get_window_region_request
3186 struct request_header __header;
3187 user_handle_t window;
3189 struct get_window_region_reply
3191 struct reply_header __header;
3192 data_size_t total_size;
3193 /* VARARG(region,rectangles); */
3194 char __pad_12[4];
3199 struct set_window_region_request
3201 struct request_header __header;
3202 user_handle_t window;
3203 int redraw;
3204 /* VARARG(region,rectangles); */
3205 char __pad_20[4];
3207 struct set_window_region_reply
3209 struct reply_header __header;
3214 struct get_update_region_request
3216 struct request_header __header;
3217 user_handle_t window;
3218 user_handle_t from_child;
3219 unsigned int flags;
3221 struct get_update_region_reply
3223 struct reply_header __header;
3224 user_handle_t child;
3225 unsigned int flags;
3226 data_size_t total_size;
3227 /* VARARG(region,rectangles); */
3228 char __pad_20[4];
3230 #define UPDATE_NONCLIENT 0x01
3231 #define UPDATE_ERASE 0x02
3232 #define UPDATE_PAINT 0x04
3233 #define UPDATE_INTERNALPAINT 0x08
3234 #define UPDATE_ALLCHILDREN 0x10
3235 #define UPDATE_NOCHILDREN 0x20
3236 #define UPDATE_NOREGION 0x40
3237 #define UPDATE_DELAYED_ERASE 0x80
3241 struct update_window_zorder_request
3243 struct request_header __header;
3244 user_handle_t window;
3245 rectangle_t rect;
3247 struct update_window_zorder_reply
3249 struct reply_header __header;
3254 struct redraw_window_request
3256 struct request_header __header;
3257 user_handle_t window;
3258 unsigned int flags;
3259 /* VARARG(region,rectangles); */
3260 char __pad_20[4];
3262 struct redraw_window_reply
3264 struct reply_header __header;
3269 struct set_window_property_request
3271 struct request_header __header;
3272 user_handle_t window;
3273 lparam_t data;
3274 atom_t atom;
3275 /* VARARG(name,unicode_str); */
3276 char __pad_28[4];
3278 struct set_window_property_reply
3280 struct reply_header __header;
3285 struct remove_window_property_request
3287 struct request_header __header;
3288 user_handle_t window;
3289 atom_t atom;
3290 /* VARARG(name,unicode_str); */
3292 struct remove_window_property_reply
3294 struct reply_header __header;
3295 lparam_t data;
3300 struct get_window_property_request
3302 struct request_header __header;
3303 user_handle_t window;
3304 atom_t atom;
3305 /* VARARG(name,unicode_str); */
3307 struct get_window_property_reply
3309 struct reply_header __header;
3310 lparam_t data;
3315 struct get_window_properties_request
3317 struct request_header __header;
3318 user_handle_t window;
3320 struct get_window_properties_reply
3322 struct reply_header __header;
3323 int total;
3324 /* VARARG(props,properties); */
3325 char __pad_12[4];
3330 struct create_winstation_request
3332 struct request_header __header;
3333 unsigned int flags;
3334 unsigned int access;
3335 unsigned int attributes;
3336 /* VARARG(name,unicode_str); */
3338 struct create_winstation_reply
3340 struct reply_header __header;
3341 obj_handle_t handle;
3342 char __pad_12[4];
3347 struct open_winstation_request
3349 struct request_header __header;
3350 unsigned int access;
3351 unsigned int attributes;
3352 /* VARARG(name,unicode_str); */
3354 struct open_winstation_reply
3356 struct reply_header __header;
3357 obj_handle_t handle;
3358 char __pad_12[4];
3363 struct close_winstation_request
3365 struct request_header __header;
3366 obj_handle_t handle;
3368 struct close_winstation_reply
3370 struct reply_header __header;
3375 struct get_process_winstation_request
3377 struct request_header __header;
3379 struct get_process_winstation_reply
3381 struct reply_header __header;
3382 obj_handle_t handle;
3383 char __pad_12[4];
3388 struct set_process_winstation_request
3390 struct request_header __header;
3391 obj_handle_t handle;
3393 struct set_process_winstation_reply
3395 struct reply_header __header;
3400 struct enum_winstation_request
3402 struct request_header __header;
3403 unsigned int index;
3405 struct enum_winstation_reply
3407 struct reply_header __header;
3408 unsigned int next;
3409 /* VARARG(name,unicode_str); */
3410 char __pad_12[4];
3415 struct create_desktop_request
3417 struct request_header __header;
3418 unsigned int flags;
3419 unsigned int access;
3420 unsigned int attributes;
3421 /* VARARG(name,unicode_str); */
3423 struct create_desktop_reply
3425 struct reply_header __header;
3426 obj_handle_t handle;
3427 char __pad_12[4];
3432 struct open_desktop_request
3434 struct request_header __header;
3435 obj_handle_t winsta;
3436 unsigned int flags;
3437 unsigned int access;
3438 unsigned int attributes;
3439 /* VARARG(name,unicode_str); */
3441 struct open_desktop_reply
3443 struct reply_header __header;
3444 obj_handle_t handle;
3445 char __pad_12[4];
3450 struct close_desktop_request
3452 struct request_header __header;
3453 obj_handle_t handle;
3455 struct close_desktop_reply
3457 struct reply_header __header;
3462 struct get_thread_desktop_request
3464 struct request_header __header;
3465 thread_id_t tid;
3467 struct get_thread_desktop_reply
3469 struct reply_header __header;
3470 obj_handle_t handle;
3471 char __pad_12[4];
3476 struct set_thread_desktop_request
3478 struct request_header __header;
3479 obj_handle_t handle;
3481 struct set_thread_desktop_reply
3483 struct reply_header __header;
3488 struct enum_desktop_request
3490 struct request_header __header;
3491 obj_handle_t winstation;
3492 unsigned int index;
3494 struct enum_desktop_reply
3496 struct reply_header __header;
3497 unsigned int next;
3498 /* VARARG(name,unicode_str); */
3499 char __pad_12[4];
3504 struct set_user_object_info_request
3506 struct request_header __header;
3507 obj_handle_t handle;
3508 unsigned int flags;
3509 unsigned int obj_flags;
3511 struct set_user_object_info_reply
3513 struct reply_header __header;
3514 int is_desktop;
3515 unsigned int old_obj_flags;
3516 /* VARARG(name,unicode_str); */
3518 #define SET_USER_OBJECT_FLAGS 1
3522 struct attach_thread_input_request
3524 struct request_header __header;
3525 thread_id_t tid_from;
3526 thread_id_t tid_to;
3527 int attach;
3529 struct attach_thread_input_reply
3531 struct reply_header __header;
3536 struct get_thread_input_request
3538 struct request_header __header;
3539 thread_id_t tid;
3541 struct get_thread_input_reply
3543 struct reply_header __header;
3544 user_handle_t focus;
3545 user_handle_t capture;
3546 user_handle_t active;
3547 user_handle_t foreground;
3548 user_handle_t menu_owner;
3549 user_handle_t move_size;
3550 user_handle_t caret;
3551 rectangle_t rect;
3552 char __pad_52[4];
3557 struct get_last_input_time_request
3559 struct request_header __header;
3561 struct get_last_input_time_reply
3563 struct reply_header __header;
3564 unsigned int time;
3565 char __pad_12[4];
3570 struct get_key_state_request
3572 struct request_header __header;
3573 thread_id_t tid;
3574 int key;
3576 struct get_key_state_reply
3578 struct reply_header __header;
3579 unsigned char state;
3580 /* VARARG(keystate,bytes); */
3581 char __pad_9[7];
3585 struct set_key_state_request
3587 struct request_header __header;
3588 thread_id_t tid;
3589 /* VARARG(keystate,bytes); */
3591 struct set_key_state_reply
3593 struct reply_header __header;
3597 struct set_foreground_window_request
3599 struct request_header __header;
3600 user_handle_t handle;
3602 struct set_foreground_window_reply
3604 struct reply_header __header;
3605 user_handle_t previous;
3606 int send_msg_old;
3607 int send_msg_new;
3608 char __pad_20[4];
3612 struct set_focus_window_request
3614 struct request_header __header;
3615 user_handle_t handle;
3617 struct set_focus_window_reply
3619 struct reply_header __header;
3620 user_handle_t previous;
3621 char __pad_12[4];
3625 struct set_active_window_request
3627 struct request_header __header;
3628 user_handle_t handle;
3630 struct set_active_window_reply
3632 struct reply_header __header;
3633 user_handle_t previous;
3634 char __pad_12[4];
3638 struct set_capture_window_request
3640 struct request_header __header;
3641 user_handle_t handle;
3642 unsigned int flags;
3644 struct set_capture_window_reply
3646 struct reply_header __header;
3647 user_handle_t previous;
3648 user_handle_t full_handle;
3650 #define CAPTURE_MENU 0x01
3651 #define CAPTURE_MOVESIZE 0x02
3655 struct set_caret_window_request
3657 struct request_header __header;
3658 user_handle_t handle;
3659 int width;
3660 int height;
3662 struct set_caret_window_reply
3664 struct reply_header __header;
3665 user_handle_t previous;
3666 rectangle_t old_rect;
3667 int old_hide;
3668 int old_state;
3669 char __pad_36[4];
3674 struct set_caret_info_request
3676 struct request_header __header;
3677 unsigned int flags;
3678 user_handle_t handle;
3679 int x;
3680 int y;
3681 int hide;
3682 int state;
3684 struct set_caret_info_reply
3686 struct reply_header __header;
3687 user_handle_t full_handle;
3688 rectangle_t old_rect;
3689 int old_hide;
3690 int old_state;
3691 char __pad_36[4];
3693 #define SET_CARET_POS 0x01
3694 #define SET_CARET_HIDE 0x02
3695 #define SET_CARET_STATE 0x04
3699 struct set_hook_request
3701 struct request_header __header;
3702 int id;
3703 process_id_t pid;
3704 thread_id_t tid;
3705 int event_min;
3706 int event_max;
3707 client_ptr_t proc;
3708 int flags;
3709 int unicode;
3710 /* VARARG(module,unicode_str); */
3712 struct set_hook_reply
3714 struct reply_header __header;
3715 user_handle_t handle;
3716 unsigned int active_hooks;
3721 struct remove_hook_request
3723 struct request_header __header;
3724 user_handle_t handle;
3725 client_ptr_t proc;
3726 int id;
3728 struct remove_hook_reply
3730 struct reply_header __header;
3731 unsigned int active_hooks;
3732 char __pad_12[4];
3737 struct start_hook_chain_request
3739 struct request_header __header;
3740 int id;
3741 int event;
3742 user_handle_t window;
3743 int object_id;
3744 int child_id;
3746 struct start_hook_chain_reply
3748 struct reply_header __header;
3749 user_handle_t handle;
3750 process_id_t pid;
3751 thread_id_t tid;
3752 int unicode;
3753 client_ptr_t proc;
3754 unsigned int active_hooks;
3755 /* VARARG(module,unicode_str); */
3756 char __pad_36[4];
3761 struct finish_hook_chain_request
3763 struct request_header __header;
3764 int id;
3766 struct finish_hook_chain_reply
3768 struct reply_header __header;
3773 struct get_hook_info_request
3775 struct request_header __header;
3776 user_handle_t handle;
3777 int get_next;
3778 int event;
3779 user_handle_t window;
3780 int object_id;
3781 int child_id;
3783 struct get_hook_info_reply
3785 struct reply_header __header;
3786 user_handle_t handle;
3787 int id;
3788 process_id_t pid;
3789 thread_id_t tid;
3790 client_ptr_t proc;
3791 int unicode;
3792 /* VARARG(module,unicode_str); */
3793 char __pad_36[4];
3798 struct create_class_request
3800 struct request_header __header;
3801 int local;
3802 atom_t atom;
3803 unsigned int style;
3804 mod_handle_t instance;
3805 int extra;
3806 int win_extra;
3807 client_ptr_t client_ptr;
3808 /* VARARG(name,unicode_str); */
3810 struct create_class_reply
3812 struct reply_header __header;
3813 atom_t atom;
3814 char __pad_12[4];
3819 struct destroy_class_request
3821 struct request_header __header;
3822 atom_t atom;
3823 mod_handle_t instance;
3824 /* VARARG(name,unicode_str); */
3826 struct destroy_class_reply
3828 struct reply_header __header;
3829 client_ptr_t client_ptr;
3834 struct set_class_info_request
3836 struct request_header __header;
3837 user_handle_t window;
3838 unsigned int flags;
3839 atom_t atom;
3840 unsigned int style;
3841 int win_extra;
3842 mod_handle_t instance;
3843 int extra_offset;
3844 data_size_t extra_size;
3845 lparam_t extra_value;
3847 struct set_class_info_reply
3849 struct reply_header __header;
3850 atom_t old_atom;
3851 unsigned int old_style;
3852 int old_extra;
3853 int old_win_extra;
3854 mod_handle_t old_instance;
3855 lparam_t old_extra_value;
3857 #define SET_CLASS_ATOM 0x0001
3858 #define SET_CLASS_STYLE 0x0002
3859 #define SET_CLASS_WINEXTRA 0x0004
3860 #define SET_CLASS_INSTANCE 0x0008
3861 #define SET_CLASS_EXTRA 0x0010
3865 struct set_clipboard_info_request
3867 struct request_header __header;
3868 unsigned int flags;
3869 user_handle_t clipboard;
3870 user_handle_t owner;
3871 user_handle_t viewer;
3872 unsigned int seqno;
3874 struct set_clipboard_info_reply
3876 struct reply_header __header;
3877 unsigned int flags;
3878 user_handle_t old_clipboard;
3879 user_handle_t old_owner;
3880 user_handle_t old_viewer;
3881 unsigned int seqno;
3882 char __pad_28[4];
3885 #define SET_CB_OPEN 0x001
3886 #define SET_CB_OWNER 0x002
3887 #define SET_CB_VIEWER 0x004
3888 #define SET_CB_SEQNO 0x008
3889 #define SET_CB_RELOWNER 0x010
3890 #define SET_CB_CLOSE 0x020
3891 #define CB_OPEN 0x040
3892 #define CB_OWNER 0x080
3893 #define CB_PROCESS 0x100
3897 struct open_token_request
3899 struct request_header __header;
3900 obj_handle_t handle;
3901 unsigned int access;
3902 unsigned int attributes;
3903 unsigned int flags;
3905 struct open_token_reply
3907 struct reply_header __header;
3908 obj_handle_t token;
3909 char __pad_12[4];
3911 #define OPEN_TOKEN_THREAD 1
3912 #define OPEN_TOKEN_AS_SELF 2
3916 struct set_global_windows_request
3918 struct request_header __header;
3919 unsigned int flags;
3920 user_handle_t shell_window;
3921 user_handle_t shell_listview;
3922 user_handle_t progman_window;
3923 user_handle_t taskman_window;
3925 struct set_global_windows_reply
3927 struct reply_header __header;
3928 user_handle_t old_shell_window;
3929 user_handle_t old_shell_listview;
3930 user_handle_t old_progman_window;
3931 user_handle_t old_taskman_window;
3933 #define SET_GLOBAL_SHELL_WINDOWS 0x01
3934 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
3935 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
3938 struct adjust_token_privileges_request
3940 struct request_header __header;
3941 obj_handle_t handle;
3942 int disable_all;
3943 int get_modified_state;
3944 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3946 struct adjust_token_privileges_reply
3948 struct reply_header __header;
3949 unsigned int len;
3950 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3951 char __pad_12[4];
3955 struct get_token_privileges_request
3957 struct request_header __header;
3958 obj_handle_t handle;
3960 struct get_token_privileges_reply
3962 struct reply_header __header;
3963 unsigned int len;
3964 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3965 char __pad_12[4];
3969 struct check_token_privileges_request
3971 struct request_header __header;
3972 obj_handle_t handle;
3973 int all_required;
3974 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3976 struct check_token_privileges_reply
3978 struct reply_header __header;
3979 int has_privileges;
3980 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3981 char __pad_12[4];
3984 struct duplicate_token_request
3986 struct request_header __header;
3987 obj_handle_t handle;
3988 unsigned int access;
3989 unsigned int attributes;
3990 int primary;
3991 int impersonation_level;
3993 struct duplicate_token_reply
3995 struct reply_header __header;
3996 obj_handle_t new_handle;
3997 char __pad_12[4];
4000 struct access_check_request
4002 struct request_header __header;
4003 obj_handle_t handle;
4004 unsigned int desired_access;
4005 unsigned int mapping_read;
4006 unsigned int mapping_write;
4007 unsigned int mapping_execute;
4008 unsigned int mapping_all;
4009 /* VARARG(sd,security_descriptor); */
4011 struct access_check_reply
4013 struct reply_header __header;
4014 unsigned int access_granted;
4015 unsigned int access_status;
4016 unsigned int privileges_len;
4017 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4018 char __pad_20[4];
4021 struct get_token_user_request
4023 struct request_header __header;
4024 obj_handle_t handle;
4026 struct get_token_user_reply
4028 struct reply_header __header;
4029 data_size_t user_len;
4030 /* VARARG(user,SID); */
4031 char __pad_12[4];
4034 struct get_token_groups_request
4036 struct request_header __header;
4037 obj_handle_t handle;
4039 struct get_token_groups_reply
4041 struct reply_header __header;
4042 data_size_t user_len;
4043 /* VARARG(user,token_groups); */
4044 char __pad_12[4];
4047 struct set_security_object_request
4049 struct request_header __header;
4050 obj_handle_t handle;
4051 unsigned int security_info;
4052 /* VARARG(sd,security_descriptor); */
4053 char __pad_20[4];
4055 struct set_security_object_reply
4057 struct reply_header __header;
4060 struct get_security_object_request
4062 struct request_header __header;
4063 obj_handle_t handle;
4064 unsigned int security_info;
4066 struct get_security_object_reply
4068 struct reply_header __header;
4069 unsigned int sd_len;
4070 /* VARARG(sd,security_descriptor); */
4071 char __pad_12[4];
4075 struct create_mailslot_request
4077 struct request_header __header;
4078 unsigned int access;
4079 unsigned int attributes;
4080 obj_handle_t rootdir;
4081 timeout_t read_timeout;
4082 unsigned int max_msgsize;
4083 /* VARARG(name,unicode_str); */
4085 struct create_mailslot_reply
4087 struct reply_header __header;
4088 obj_handle_t handle;
4089 char __pad_12[4];
4094 struct set_mailslot_info_request
4096 struct request_header __header;
4097 obj_handle_t handle;
4098 timeout_t read_timeout;
4099 unsigned int flags;
4101 struct set_mailslot_info_reply
4103 struct reply_header __header;
4104 timeout_t read_timeout;
4105 unsigned int max_msgsize;
4106 char __pad_20[4];
4108 #define MAILSLOT_SET_READ_TIMEOUT 1
4112 struct create_directory_request
4114 struct request_header __header;
4115 unsigned int access;
4116 unsigned int attributes;
4117 obj_handle_t rootdir;
4118 /* VARARG(directory_name,unicode_str); */
4120 struct create_directory_reply
4122 struct reply_header __header;
4123 obj_handle_t handle;
4124 char __pad_12[4];
4129 struct open_directory_request
4131 struct request_header __header;
4132 unsigned int access;
4133 unsigned int attributes;
4134 obj_handle_t rootdir;
4135 /* VARARG(directory_name,unicode_str); */
4137 struct open_directory_reply
4139 struct reply_header __header;
4140 obj_handle_t handle;
4141 char __pad_12[4];
4146 struct get_directory_entry_request
4148 struct request_header __header;
4149 obj_handle_t handle;
4150 unsigned int index;
4152 struct get_directory_entry_reply
4154 struct reply_header __header;
4155 data_size_t name_len;
4156 /* VARARG(name,unicode_str,name_len); */
4157 /* VARARG(type,unicode_str); */
4158 char __pad_12[4];
4163 struct create_symlink_request
4165 struct request_header __header;
4166 unsigned int access;
4167 unsigned int attributes;
4168 obj_handle_t rootdir;
4169 data_size_t name_len;
4170 /* VARARG(name,unicode_str,name_len); */
4171 /* VARARG(target_name,unicode_str); */
4173 struct create_symlink_reply
4175 struct reply_header __header;
4176 obj_handle_t handle;
4177 char __pad_12[4];
4182 struct open_symlink_request
4184 struct request_header __header;
4185 unsigned int access;
4186 unsigned int attributes;
4187 obj_handle_t rootdir;
4188 /* VARARG(name,unicode_str); */
4190 struct open_symlink_reply
4192 struct reply_header __header;
4193 obj_handle_t handle;
4194 char __pad_12[4];
4199 struct query_symlink_request
4201 struct request_header __header;
4202 obj_handle_t handle;
4204 struct query_symlink_reply
4206 struct reply_header __header;
4207 /* VARARG(target_name,unicode_str); */
4212 struct get_object_info_request
4214 struct request_header __header;
4215 obj_handle_t handle;
4217 struct get_object_info_reply
4219 struct reply_header __header;
4220 unsigned int access;
4221 unsigned int ref_count;
4226 struct unlink_object_request
4228 struct request_header __header;
4229 obj_handle_t handle;
4231 struct unlink_object_reply
4233 struct reply_header __header;
4238 struct get_token_impersonation_level_request
4240 struct request_header __header;
4241 obj_handle_t handle;
4243 struct get_token_impersonation_level_reply
4245 struct reply_header __header;
4246 int impersonation_level;
4247 char __pad_12[4];
4251 struct allocate_locally_unique_id_request
4253 struct request_header __header;
4255 struct allocate_locally_unique_id_reply
4257 struct reply_header __header;
4258 luid_t luid;
4263 struct create_device_manager_request
4265 struct request_header __header;
4266 unsigned int access;
4267 unsigned int attributes;
4269 struct create_device_manager_reply
4271 struct reply_header __header;
4272 obj_handle_t handle;
4273 char __pad_12[4];
4278 struct create_device_request
4280 struct request_header __header;
4281 unsigned int access;
4282 unsigned int attributes;
4283 obj_handle_t rootdir;
4284 client_ptr_t user_ptr;
4285 obj_handle_t manager;
4286 /* VARARG(name,unicode_str); */
4288 struct create_device_reply
4290 struct reply_header __header;
4291 obj_handle_t handle;
4292 char __pad_12[4];
4297 struct delete_device_request
4299 struct request_header __header;
4300 obj_handle_t handle;
4302 struct delete_device_reply
4304 struct reply_header __header;
4309 struct get_next_device_request_request
4311 struct request_header __header;
4312 obj_handle_t manager;
4313 obj_handle_t prev;
4314 unsigned int status;
4315 /* VARARG(prev_data,bytes); */
4317 struct get_next_device_request_reply
4319 struct reply_header __header;
4320 obj_handle_t next;
4321 ioctl_code_t code;
4322 client_ptr_t user_ptr;
4323 data_size_t in_size;
4324 data_size_t out_size;
4325 /* VARARG(next_data,bytes); */
4330 struct make_process_system_request
4332 struct request_header __header;
4334 struct make_process_system_reply
4336 struct reply_header __header;
4337 obj_handle_t event;
4338 char __pad_12[4];
4343 struct get_token_statistics_request
4345 struct request_header __header;
4346 obj_handle_t handle;
4348 struct get_token_statistics_reply
4350 struct reply_header __header;
4351 luid_t token_id;
4352 luid_t modified_id;
4353 int primary;
4354 int impersonation_level;
4355 int group_count;
4356 int privilege_count;
4361 struct create_completion_request
4363 struct request_header __header;
4364 unsigned int access;
4365 unsigned int attributes;
4366 unsigned int concurrent;
4367 obj_handle_t rootdir;
4368 /* VARARG(filename,string); */
4370 struct create_completion_reply
4372 struct reply_header __header;
4373 obj_handle_t handle;
4374 char __pad_12[4];
4379 struct open_completion_request
4381 struct request_header __header;
4382 unsigned int access;
4383 unsigned int attributes;
4384 obj_handle_t rootdir;
4385 /* VARARG(filename,string); */
4387 struct open_completion_reply
4389 struct reply_header __header;
4390 obj_handle_t handle;
4391 char __pad_12[4];
4396 struct add_completion_request
4398 struct request_header __header;
4399 obj_handle_t handle;
4400 apc_param_t ckey;
4401 apc_param_t cvalue;
4402 unsigned int information;
4403 unsigned int status;
4405 struct add_completion_reply
4407 struct reply_header __header;
4412 struct remove_completion_request
4414 struct request_header __header;
4415 obj_handle_t handle;
4417 struct remove_completion_reply
4419 struct reply_header __header;
4420 apc_param_t ckey;
4421 apc_param_t cvalue;
4422 unsigned int information;
4423 unsigned int status;
4428 struct query_completion_request
4430 struct request_header __header;
4431 obj_handle_t handle;
4433 struct query_completion_reply
4435 struct reply_header __header;
4436 unsigned int depth;
4437 char __pad_12[4];
4442 struct set_completion_info_request
4444 struct request_header __header;
4445 obj_handle_t handle;
4446 apc_param_t ckey;
4447 obj_handle_t chandle;
4448 char __pad_28[4];
4450 struct set_completion_info_reply
4452 struct reply_header __header;
4457 struct add_fd_completion_request
4459 struct request_header __header;
4460 obj_handle_t handle;
4461 apc_param_t cvalue;
4462 unsigned int status;
4463 unsigned int information;
4465 struct add_fd_completion_reply
4467 struct reply_header __header;
4472 struct get_window_layered_info_request
4474 struct request_header __header;
4475 user_handle_t handle;
4477 struct get_window_layered_info_reply
4479 struct reply_header __header;
4480 unsigned int color_key;
4481 unsigned int alpha;
4482 unsigned int flags;
4483 char __pad_20[4];
4488 struct set_window_layered_info_request
4490 struct request_header __header;
4491 user_handle_t handle;
4492 unsigned int color_key;
4493 unsigned int alpha;
4494 unsigned int flags;
4495 char __pad_28[4];
4497 struct set_window_layered_info_reply
4499 struct reply_header __header;
4503 enum request
4505 REQ_new_process,
4506 REQ_get_new_process_info,
4507 REQ_new_thread,
4508 REQ_get_startup_info,
4509 REQ_init_process_done,
4510 REQ_init_thread,
4511 REQ_terminate_process,
4512 REQ_terminate_thread,
4513 REQ_get_process_info,
4514 REQ_set_process_info,
4515 REQ_get_thread_info,
4516 REQ_set_thread_info,
4517 REQ_get_dll_info,
4518 REQ_suspend_thread,
4519 REQ_resume_thread,
4520 REQ_load_dll,
4521 REQ_unload_dll,
4522 REQ_queue_apc,
4523 REQ_get_apc_result,
4524 REQ_close_handle,
4525 REQ_set_handle_info,
4526 REQ_dup_handle,
4527 REQ_open_process,
4528 REQ_open_thread,
4529 REQ_select,
4530 REQ_create_event,
4531 REQ_event_op,
4532 REQ_open_event,
4533 REQ_create_mutex,
4534 REQ_release_mutex,
4535 REQ_open_mutex,
4536 REQ_create_semaphore,
4537 REQ_release_semaphore,
4538 REQ_open_semaphore,
4539 REQ_create_file,
4540 REQ_open_file_object,
4541 REQ_alloc_file_handle,
4542 REQ_get_handle_fd,
4543 REQ_flush_file,
4544 REQ_lock_file,
4545 REQ_unlock_file,
4546 REQ_create_socket,
4547 REQ_accept_socket,
4548 REQ_set_socket_event,
4549 REQ_get_socket_event,
4550 REQ_enable_socket_event,
4551 REQ_set_socket_deferred,
4552 REQ_alloc_console,
4553 REQ_free_console,
4554 REQ_get_console_renderer_events,
4555 REQ_open_console,
4556 REQ_get_console_wait_event,
4557 REQ_get_console_mode,
4558 REQ_set_console_mode,
4559 REQ_set_console_input_info,
4560 REQ_get_console_input_info,
4561 REQ_append_console_input_history,
4562 REQ_get_console_input_history,
4563 REQ_create_console_output,
4564 REQ_set_console_output_info,
4565 REQ_get_console_output_info,
4566 REQ_write_console_input,
4567 REQ_read_console_input,
4568 REQ_write_console_output,
4569 REQ_fill_console_output,
4570 REQ_read_console_output,
4571 REQ_move_console_output,
4572 REQ_send_console_signal,
4573 REQ_read_directory_changes,
4574 REQ_read_change,
4575 REQ_create_mapping,
4576 REQ_open_mapping,
4577 REQ_get_mapping_info,
4578 REQ_get_mapping_committed_range,
4579 REQ_add_mapping_committed_range,
4580 REQ_create_snapshot,
4581 REQ_next_process,
4582 REQ_next_thread,
4583 REQ_wait_debug_event,
4584 REQ_queue_exception_event,
4585 REQ_get_exception_status,
4586 REQ_output_debug_string,
4587 REQ_continue_debug_event,
4588 REQ_debug_process,
4589 REQ_debug_break,
4590 REQ_set_debugger_kill_on_exit,
4591 REQ_read_process_memory,
4592 REQ_write_process_memory,
4593 REQ_create_key,
4594 REQ_open_key,
4595 REQ_delete_key,
4596 REQ_flush_key,
4597 REQ_enum_key,
4598 REQ_set_key_value,
4599 REQ_get_key_value,
4600 REQ_enum_key_value,
4601 REQ_delete_key_value,
4602 REQ_load_registry,
4603 REQ_unload_registry,
4604 REQ_save_registry,
4605 REQ_set_registry_notification,
4606 REQ_create_timer,
4607 REQ_open_timer,
4608 REQ_set_timer,
4609 REQ_cancel_timer,
4610 REQ_get_timer_info,
4611 REQ_get_thread_context,
4612 REQ_set_thread_context,
4613 REQ_get_selector_entry,
4614 REQ_add_atom,
4615 REQ_delete_atom,
4616 REQ_find_atom,
4617 REQ_get_atom_information,
4618 REQ_set_atom_information,
4619 REQ_empty_atom_table,
4620 REQ_init_atom_table,
4621 REQ_get_msg_queue,
4622 REQ_set_queue_fd,
4623 REQ_set_queue_mask,
4624 REQ_get_queue_status,
4625 REQ_get_process_idle_event,
4626 REQ_send_message,
4627 REQ_post_quit_message,
4628 REQ_send_hardware_message,
4629 REQ_get_message,
4630 REQ_reply_message,
4631 REQ_accept_hardware_message,
4632 REQ_get_message_reply,
4633 REQ_set_win_timer,
4634 REQ_kill_win_timer,
4635 REQ_is_window_hung,
4636 REQ_get_serial_info,
4637 REQ_set_serial_info,
4638 REQ_register_async,
4639 REQ_cancel_async,
4640 REQ_ioctl,
4641 REQ_get_ioctl_result,
4642 REQ_create_named_pipe,
4643 REQ_get_named_pipe_info,
4644 REQ_create_window,
4645 REQ_destroy_window,
4646 REQ_get_desktop_window,
4647 REQ_set_window_owner,
4648 REQ_get_window_info,
4649 REQ_set_window_info,
4650 REQ_set_parent,
4651 REQ_get_window_parents,
4652 REQ_get_window_children,
4653 REQ_get_window_children_from_point,
4654 REQ_get_window_tree,
4655 REQ_set_window_pos,
4656 REQ_get_window_rectangles,
4657 REQ_get_window_text,
4658 REQ_set_window_text,
4659 REQ_get_windows_offset,
4660 REQ_get_visible_region,
4661 REQ_get_window_region,
4662 REQ_set_window_region,
4663 REQ_get_update_region,
4664 REQ_update_window_zorder,
4665 REQ_redraw_window,
4666 REQ_set_window_property,
4667 REQ_remove_window_property,
4668 REQ_get_window_property,
4669 REQ_get_window_properties,
4670 REQ_create_winstation,
4671 REQ_open_winstation,
4672 REQ_close_winstation,
4673 REQ_get_process_winstation,
4674 REQ_set_process_winstation,
4675 REQ_enum_winstation,
4676 REQ_create_desktop,
4677 REQ_open_desktop,
4678 REQ_close_desktop,
4679 REQ_get_thread_desktop,
4680 REQ_set_thread_desktop,
4681 REQ_enum_desktop,
4682 REQ_set_user_object_info,
4683 REQ_attach_thread_input,
4684 REQ_get_thread_input,
4685 REQ_get_last_input_time,
4686 REQ_get_key_state,
4687 REQ_set_key_state,
4688 REQ_set_foreground_window,
4689 REQ_set_focus_window,
4690 REQ_set_active_window,
4691 REQ_set_capture_window,
4692 REQ_set_caret_window,
4693 REQ_set_caret_info,
4694 REQ_set_hook,
4695 REQ_remove_hook,
4696 REQ_start_hook_chain,
4697 REQ_finish_hook_chain,
4698 REQ_get_hook_info,
4699 REQ_create_class,
4700 REQ_destroy_class,
4701 REQ_set_class_info,
4702 REQ_set_clipboard_info,
4703 REQ_open_token,
4704 REQ_set_global_windows,
4705 REQ_adjust_token_privileges,
4706 REQ_get_token_privileges,
4707 REQ_check_token_privileges,
4708 REQ_duplicate_token,
4709 REQ_access_check,
4710 REQ_get_token_user,
4711 REQ_get_token_groups,
4712 REQ_set_security_object,
4713 REQ_get_security_object,
4714 REQ_create_mailslot,
4715 REQ_set_mailslot_info,
4716 REQ_create_directory,
4717 REQ_open_directory,
4718 REQ_get_directory_entry,
4719 REQ_create_symlink,
4720 REQ_open_symlink,
4721 REQ_query_symlink,
4722 REQ_get_object_info,
4723 REQ_unlink_object,
4724 REQ_get_token_impersonation_level,
4725 REQ_allocate_locally_unique_id,
4726 REQ_create_device_manager,
4727 REQ_create_device,
4728 REQ_delete_device,
4729 REQ_get_next_device_request,
4730 REQ_make_process_system,
4731 REQ_get_token_statistics,
4732 REQ_create_completion,
4733 REQ_open_completion,
4734 REQ_add_completion,
4735 REQ_remove_completion,
4736 REQ_query_completion,
4737 REQ_set_completion_info,
4738 REQ_add_fd_completion,
4739 REQ_get_window_layered_info,
4740 REQ_set_window_layered_info,
4741 REQ_NB_REQUESTS
4744 union generic_request
4746 struct request_max_size max_size;
4747 struct request_header request_header;
4748 struct new_process_request new_process_request;
4749 struct get_new_process_info_request get_new_process_info_request;
4750 struct new_thread_request new_thread_request;
4751 struct get_startup_info_request get_startup_info_request;
4752 struct init_process_done_request init_process_done_request;
4753 struct init_thread_request init_thread_request;
4754 struct terminate_process_request terminate_process_request;
4755 struct terminate_thread_request terminate_thread_request;
4756 struct get_process_info_request get_process_info_request;
4757 struct set_process_info_request set_process_info_request;
4758 struct get_thread_info_request get_thread_info_request;
4759 struct set_thread_info_request set_thread_info_request;
4760 struct get_dll_info_request get_dll_info_request;
4761 struct suspend_thread_request suspend_thread_request;
4762 struct resume_thread_request resume_thread_request;
4763 struct load_dll_request load_dll_request;
4764 struct unload_dll_request unload_dll_request;
4765 struct queue_apc_request queue_apc_request;
4766 struct get_apc_result_request get_apc_result_request;
4767 struct close_handle_request close_handle_request;
4768 struct set_handle_info_request set_handle_info_request;
4769 struct dup_handle_request dup_handle_request;
4770 struct open_process_request open_process_request;
4771 struct open_thread_request open_thread_request;
4772 struct select_request select_request;
4773 struct create_event_request create_event_request;
4774 struct event_op_request event_op_request;
4775 struct open_event_request open_event_request;
4776 struct create_mutex_request create_mutex_request;
4777 struct release_mutex_request release_mutex_request;
4778 struct open_mutex_request open_mutex_request;
4779 struct create_semaphore_request create_semaphore_request;
4780 struct release_semaphore_request release_semaphore_request;
4781 struct open_semaphore_request open_semaphore_request;
4782 struct create_file_request create_file_request;
4783 struct open_file_object_request open_file_object_request;
4784 struct alloc_file_handle_request alloc_file_handle_request;
4785 struct get_handle_fd_request get_handle_fd_request;
4786 struct flush_file_request flush_file_request;
4787 struct lock_file_request lock_file_request;
4788 struct unlock_file_request unlock_file_request;
4789 struct create_socket_request create_socket_request;
4790 struct accept_socket_request accept_socket_request;
4791 struct set_socket_event_request set_socket_event_request;
4792 struct get_socket_event_request get_socket_event_request;
4793 struct enable_socket_event_request enable_socket_event_request;
4794 struct set_socket_deferred_request set_socket_deferred_request;
4795 struct alloc_console_request alloc_console_request;
4796 struct free_console_request free_console_request;
4797 struct get_console_renderer_events_request get_console_renderer_events_request;
4798 struct open_console_request open_console_request;
4799 struct get_console_wait_event_request get_console_wait_event_request;
4800 struct get_console_mode_request get_console_mode_request;
4801 struct set_console_mode_request set_console_mode_request;
4802 struct set_console_input_info_request set_console_input_info_request;
4803 struct get_console_input_info_request get_console_input_info_request;
4804 struct append_console_input_history_request append_console_input_history_request;
4805 struct get_console_input_history_request get_console_input_history_request;
4806 struct create_console_output_request create_console_output_request;
4807 struct set_console_output_info_request set_console_output_info_request;
4808 struct get_console_output_info_request get_console_output_info_request;
4809 struct write_console_input_request write_console_input_request;
4810 struct read_console_input_request read_console_input_request;
4811 struct write_console_output_request write_console_output_request;
4812 struct fill_console_output_request fill_console_output_request;
4813 struct read_console_output_request read_console_output_request;
4814 struct move_console_output_request move_console_output_request;
4815 struct send_console_signal_request send_console_signal_request;
4816 struct read_directory_changes_request read_directory_changes_request;
4817 struct read_change_request read_change_request;
4818 struct create_mapping_request create_mapping_request;
4819 struct open_mapping_request open_mapping_request;
4820 struct get_mapping_info_request get_mapping_info_request;
4821 struct get_mapping_committed_range_request get_mapping_committed_range_request;
4822 struct add_mapping_committed_range_request add_mapping_committed_range_request;
4823 struct create_snapshot_request create_snapshot_request;
4824 struct next_process_request next_process_request;
4825 struct next_thread_request next_thread_request;
4826 struct wait_debug_event_request wait_debug_event_request;
4827 struct queue_exception_event_request queue_exception_event_request;
4828 struct get_exception_status_request get_exception_status_request;
4829 struct output_debug_string_request output_debug_string_request;
4830 struct continue_debug_event_request continue_debug_event_request;
4831 struct debug_process_request debug_process_request;
4832 struct debug_break_request debug_break_request;
4833 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
4834 struct read_process_memory_request read_process_memory_request;
4835 struct write_process_memory_request write_process_memory_request;
4836 struct create_key_request create_key_request;
4837 struct open_key_request open_key_request;
4838 struct delete_key_request delete_key_request;
4839 struct flush_key_request flush_key_request;
4840 struct enum_key_request enum_key_request;
4841 struct set_key_value_request set_key_value_request;
4842 struct get_key_value_request get_key_value_request;
4843 struct enum_key_value_request enum_key_value_request;
4844 struct delete_key_value_request delete_key_value_request;
4845 struct load_registry_request load_registry_request;
4846 struct unload_registry_request unload_registry_request;
4847 struct save_registry_request save_registry_request;
4848 struct set_registry_notification_request set_registry_notification_request;
4849 struct create_timer_request create_timer_request;
4850 struct open_timer_request open_timer_request;
4851 struct set_timer_request set_timer_request;
4852 struct cancel_timer_request cancel_timer_request;
4853 struct get_timer_info_request get_timer_info_request;
4854 struct get_thread_context_request get_thread_context_request;
4855 struct set_thread_context_request set_thread_context_request;
4856 struct get_selector_entry_request get_selector_entry_request;
4857 struct add_atom_request add_atom_request;
4858 struct delete_atom_request delete_atom_request;
4859 struct find_atom_request find_atom_request;
4860 struct get_atom_information_request get_atom_information_request;
4861 struct set_atom_information_request set_atom_information_request;
4862 struct empty_atom_table_request empty_atom_table_request;
4863 struct init_atom_table_request init_atom_table_request;
4864 struct get_msg_queue_request get_msg_queue_request;
4865 struct set_queue_fd_request set_queue_fd_request;
4866 struct set_queue_mask_request set_queue_mask_request;
4867 struct get_queue_status_request get_queue_status_request;
4868 struct get_process_idle_event_request get_process_idle_event_request;
4869 struct send_message_request send_message_request;
4870 struct post_quit_message_request post_quit_message_request;
4871 struct send_hardware_message_request send_hardware_message_request;
4872 struct get_message_request get_message_request;
4873 struct reply_message_request reply_message_request;
4874 struct accept_hardware_message_request accept_hardware_message_request;
4875 struct get_message_reply_request get_message_reply_request;
4876 struct set_win_timer_request set_win_timer_request;
4877 struct kill_win_timer_request kill_win_timer_request;
4878 struct is_window_hung_request is_window_hung_request;
4879 struct get_serial_info_request get_serial_info_request;
4880 struct set_serial_info_request set_serial_info_request;
4881 struct register_async_request register_async_request;
4882 struct cancel_async_request cancel_async_request;
4883 struct ioctl_request ioctl_request;
4884 struct get_ioctl_result_request get_ioctl_result_request;
4885 struct create_named_pipe_request create_named_pipe_request;
4886 struct get_named_pipe_info_request get_named_pipe_info_request;
4887 struct create_window_request create_window_request;
4888 struct destroy_window_request destroy_window_request;
4889 struct get_desktop_window_request get_desktop_window_request;
4890 struct set_window_owner_request set_window_owner_request;
4891 struct get_window_info_request get_window_info_request;
4892 struct set_window_info_request set_window_info_request;
4893 struct set_parent_request set_parent_request;
4894 struct get_window_parents_request get_window_parents_request;
4895 struct get_window_children_request get_window_children_request;
4896 struct get_window_children_from_point_request get_window_children_from_point_request;
4897 struct get_window_tree_request get_window_tree_request;
4898 struct set_window_pos_request set_window_pos_request;
4899 struct get_window_rectangles_request get_window_rectangles_request;
4900 struct get_window_text_request get_window_text_request;
4901 struct set_window_text_request set_window_text_request;
4902 struct get_windows_offset_request get_windows_offset_request;
4903 struct get_visible_region_request get_visible_region_request;
4904 struct get_window_region_request get_window_region_request;
4905 struct set_window_region_request set_window_region_request;
4906 struct get_update_region_request get_update_region_request;
4907 struct update_window_zorder_request update_window_zorder_request;
4908 struct redraw_window_request redraw_window_request;
4909 struct set_window_property_request set_window_property_request;
4910 struct remove_window_property_request remove_window_property_request;
4911 struct get_window_property_request get_window_property_request;
4912 struct get_window_properties_request get_window_properties_request;
4913 struct create_winstation_request create_winstation_request;
4914 struct open_winstation_request open_winstation_request;
4915 struct close_winstation_request close_winstation_request;
4916 struct get_process_winstation_request get_process_winstation_request;
4917 struct set_process_winstation_request set_process_winstation_request;
4918 struct enum_winstation_request enum_winstation_request;
4919 struct create_desktop_request create_desktop_request;
4920 struct open_desktop_request open_desktop_request;
4921 struct close_desktop_request close_desktop_request;
4922 struct get_thread_desktop_request get_thread_desktop_request;
4923 struct set_thread_desktop_request set_thread_desktop_request;
4924 struct enum_desktop_request enum_desktop_request;
4925 struct set_user_object_info_request set_user_object_info_request;
4926 struct attach_thread_input_request attach_thread_input_request;
4927 struct get_thread_input_request get_thread_input_request;
4928 struct get_last_input_time_request get_last_input_time_request;
4929 struct get_key_state_request get_key_state_request;
4930 struct set_key_state_request set_key_state_request;
4931 struct set_foreground_window_request set_foreground_window_request;
4932 struct set_focus_window_request set_focus_window_request;
4933 struct set_active_window_request set_active_window_request;
4934 struct set_capture_window_request set_capture_window_request;
4935 struct set_caret_window_request set_caret_window_request;
4936 struct set_caret_info_request set_caret_info_request;
4937 struct set_hook_request set_hook_request;
4938 struct remove_hook_request remove_hook_request;
4939 struct start_hook_chain_request start_hook_chain_request;
4940 struct finish_hook_chain_request finish_hook_chain_request;
4941 struct get_hook_info_request get_hook_info_request;
4942 struct create_class_request create_class_request;
4943 struct destroy_class_request destroy_class_request;
4944 struct set_class_info_request set_class_info_request;
4945 struct set_clipboard_info_request set_clipboard_info_request;
4946 struct open_token_request open_token_request;
4947 struct set_global_windows_request set_global_windows_request;
4948 struct adjust_token_privileges_request adjust_token_privileges_request;
4949 struct get_token_privileges_request get_token_privileges_request;
4950 struct check_token_privileges_request check_token_privileges_request;
4951 struct duplicate_token_request duplicate_token_request;
4952 struct access_check_request access_check_request;
4953 struct get_token_user_request get_token_user_request;
4954 struct get_token_groups_request get_token_groups_request;
4955 struct set_security_object_request set_security_object_request;
4956 struct get_security_object_request get_security_object_request;
4957 struct create_mailslot_request create_mailslot_request;
4958 struct set_mailslot_info_request set_mailslot_info_request;
4959 struct create_directory_request create_directory_request;
4960 struct open_directory_request open_directory_request;
4961 struct get_directory_entry_request get_directory_entry_request;
4962 struct create_symlink_request create_symlink_request;
4963 struct open_symlink_request open_symlink_request;
4964 struct query_symlink_request query_symlink_request;
4965 struct get_object_info_request get_object_info_request;
4966 struct unlink_object_request unlink_object_request;
4967 struct get_token_impersonation_level_request get_token_impersonation_level_request;
4968 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
4969 struct create_device_manager_request create_device_manager_request;
4970 struct create_device_request create_device_request;
4971 struct delete_device_request delete_device_request;
4972 struct get_next_device_request_request get_next_device_request_request;
4973 struct make_process_system_request make_process_system_request;
4974 struct get_token_statistics_request get_token_statistics_request;
4975 struct create_completion_request create_completion_request;
4976 struct open_completion_request open_completion_request;
4977 struct add_completion_request add_completion_request;
4978 struct remove_completion_request remove_completion_request;
4979 struct query_completion_request query_completion_request;
4980 struct set_completion_info_request set_completion_info_request;
4981 struct add_fd_completion_request add_fd_completion_request;
4982 struct get_window_layered_info_request get_window_layered_info_request;
4983 struct set_window_layered_info_request set_window_layered_info_request;
4985 union generic_reply
4987 struct request_max_size max_size;
4988 struct reply_header reply_header;
4989 struct new_process_reply new_process_reply;
4990 struct get_new_process_info_reply get_new_process_info_reply;
4991 struct new_thread_reply new_thread_reply;
4992 struct get_startup_info_reply get_startup_info_reply;
4993 struct init_process_done_reply init_process_done_reply;
4994 struct init_thread_reply init_thread_reply;
4995 struct terminate_process_reply terminate_process_reply;
4996 struct terminate_thread_reply terminate_thread_reply;
4997 struct get_process_info_reply get_process_info_reply;
4998 struct set_process_info_reply set_process_info_reply;
4999 struct get_thread_info_reply get_thread_info_reply;
5000 struct set_thread_info_reply set_thread_info_reply;
5001 struct get_dll_info_reply get_dll_info_reply;
5002 struct suspend_thread_reply suspend_thread_reply;
5003 struct resume_thread_reply resume_thread_reply;
5004 struct load_dll_reply load_dll_reply;
5005 struct unload_dll_reply unload_dll_reply;
5006 struct queue_apc_reply queue_apc_reply;
5007 struct get_apc_result_reply get_apc_result_reply;
5008 struct close_handle_reply close_handle_reply;
5009 struct set_handle_info_reply set_handle_info_reply;
5010 struct dup_handle_reply dup_handle_reply;
5011 struct open_process_reply open_process_reply;
5012 struct open_thread_reply open_thread_reply;
5013 struct select_reply select_reply;
5014 struct create_event_reply create_event_reply;
5015 struct event_op_reply event_op_reply;
5016 struct open_event_reply open_event_reply;
5017 struct create_mutex_reply create_mutex_reply;
5018 struct release_mutex_reply release_mutex_reply;
5019 struct open_mutex_reply open_mutex_reply;
5020 struct create_semaphore_reply create_semaphore_reply;
5021 struct release_semaphore_reply release_semaphore_reply;
5022 struct open_semaphore_reply open_semaphore_reply;
5023 struct create_file_reply create_file_reply;
5024 struct open_file_object_reply open_file_object_reply;
5025 struct alloc_file_handle_reply alloc_file_handle_reply;
5026 struct get_handle_fd_reply get_handle_fd_reply;
5027 struct flush_file_reply flush_file_reply;
5028 struct lock_file_reply lock_file_reply;
5029 struct unlock_file_reply unlock_file_reply;
5030 struct create_socket_reply create_socket_reply;
5031 struct accept_socket_reply accept_socket_reply;
5032 struct set_socket_event_reply set_socket_event_reply;
5033 struct get_socket_event_reply get_socket_event_reply;
5034 struct enable_socket_event_reply enable_socket_event_reply;
5035 struct set_socket_deferred_reply set_socket_deferred_reply;
5036 struct alloc_console_reply alloc_console_reply;
5037 struct free_console_reply free_console_reply;
5038 struct get_console_renderer_events_reply get_console_renderer_events_reply;
5039 struct open_console_reply open_console_reply;
5040 struct get_console_wait_event_reply get_console_wait_event_reply;
5041 struct get_console_mode_reply get_console_mode_reply;
5042 struct set_console_mode_reply set_console_mode_reply;
5043 struct set_console_input_info_reply set_console_input_info_reply;
5044 struct get_console_input_info_reply get_console_input_info_reply;
5045 struct append_console_input_history_reply append_console_input_history_reply;
5046 struct get_console_input_history_reply get_console_input_history_reply;
5047 struct create_console_output_reply create_console_output_reply;
5048 struct set_console_output_info_reply set_console_output_info_reply;
5049 struct get_console_output_info_reply get_console_output_info_reply;
5050 struct write_console_input_reply write_console_input_reply;
5051 struct read_console_input_reply read_console_input_reply;
5052 struct write_console_output_reply write_console_output_reply;
5053 struct fill_console_output_reply fill_console_output_reply;
5054 struct read_console_output_reply read_console_output_reply;
5055 struct move_console_output_reply move_console_output_reply;
5056 struct send_console_signal_reply send_console_signal_reply;
5057 struct read_directory_changes_reply read_directory_changes_reply;
5058 struct read_change_reply read_change_reply;
5059 struct create_mapping_reply create_mapping_reply;
5060 struct open_mapping_reply open_mapping_reply;
5061 struct get_mapping_info_reply get_mapping_info_reply;
5062 struct get_mapping_committed_range_reply get_mapping_committed_range_reply;
5063 struct add_mapping_committed_range_reply add_mapping_committed_range_reply;
5064 struct create_snapshot_reply create_snapshot_reply;
5065 struct next_process_reply next_process_reply;
5066 struct next_thread_reply next_thread_reply;
5067 struct wait_debug_event_reply wait_debug_event_reply;
5068 struct queue_exception_event_reply queue_exception_event_reply;
5069 struct get_exception_status_reply get_exception_status_reply;
5070 struct output_debug_string_reply output_debug_string_reply;
5071 struct continue_debug_event_reply continue_debug_event_reply;
5072 struct debug_process_reply debug_process_reply;
5073 struct debug_break_reply debug_break_reply;
5074 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
5075 struct read_process_memory_reply read_process_memory_reply;
5076 struct write_process_memory_reply write_process_memory_reply;
5077 struct create_key_reply create_key_reply;
5078 struct open_key_reply open_key_reply;
5079 struct delete_key_reply delete_key_reply;
5080 struct flush_key_reply flush_key_reply;
5081 struct enum_key_reply enum_key_reply;
5082 struct set_key_value_reply set_key_value_reply;
5083 struct get_key_value_reply get_key_value_reply;
5084 struct enum_key_value_reply enum_key_value_reply;
5085 struct delete_key_value_reply delete_key_value_reply;
5086 struct load_registry_reply load_registry_reply;
5087 struct unload_registry_reply unload_registry_reply;
5088 struct save_registry_reply save_registry_reply;
5089 struct set_registry_notification_reply set_registry_notification_reply;
5090 struct create_timer_reply create_timer_reply;
5091 struct open_timer_reply open_timer_reply;
5092 struct set_timer_reply set_timer_reply;
5093 struct cancel_timer_reply cancel_timer_reply;
5094 struct get_timer_info_reply get_timer_info_reply;
5095 struct get_thread_context_reply get_thread_context_reply;
5096 struct set_thread_context_reply set_thread_context_reply;
5097 struct get_selector_entry_reply get_selector_entry_reply;
5098 struct add_atom_reply add_atom_reply;
5099 struct delete_atom_reply delete_atom_reply;
5100 struct find_atom_reply find_atom_reply;
5101 struct get_atom_information_reply get_atom_information_reply;
5102 struct set_atom_information_reply set_atom_information_reply;
5103 struct empty_atom_table_reply empty_atom_table_reply;
5104 struct init_atom_table_reply init_atom_table_reply;
5105 struct get_msg_queue_reply get_msg_queue_reply;
5106 struct set_queue_fd_reply set_queue_fd_reply;
5107 struct set_queue_mask_reply set_queue_mask_reply;
5108 struct get_queue_status_reply get_queue_status_reply;
5109 struct get_process_idle_event_reply get_process_idle_event_reply;
5110 struct send_message_reply send_message_reply;
5111 struct post_quit_message_reply post_quit_message_reply;
5112 struct send_hardware_message_reply send_hardware_message_reply;
5113 struct get_message_reply get_message_reply;
5114 struct reply_message_reply reply_message_reply;
5115 struct accept_hardware_message_reply accept_hardware_message_reply;
5116 struct get_message_reply_reply get_message_reply_reply;
5117 struct set_win_timer_reply set_win_timer_reply;
5118 struct kill_win_timer_reply kill_win_timer_reply;
5119 struct is_window_hung_reply is_window_hung_reply;
5120 struct get_serial_info_reply get_serial_info_reply;
5121 struct set_serial_info_reply set_serial_info_reply;
5122 struct register_async_reply register_async_reply;
5123 struct cancel_async_reply cancel_async_reply;
5124 struct ioctl_reply ioctl_reply;
5125 struct get_ioctl_result_reply get_ioctl_result_reply;
5126 struct create_named_pipe_reply create_named_pipe_reply;
5127 struct get_named_pipe_info_reply get_named_pipe_info_reply;
5128 struct create_window_reply create_window_reply;
5129 struct destroy_window_reply destroy_window_reply;
5130 struct get_desktop_window_reply get_desktop_window_reply;
5131 struct set_window_owner_reply set_window_owner_reply;
5132 struct get_window_info_reply get_window_info_reply;
5133 struct set_window_info_reply set_window_info_reply;
5134 struct set_parent_reply set_parent_reply;
5135 struct get_window_parents_reply get_window_parents_reply;
5136 struct get_window_children_reply get_window_children_reply;
5137 struct get_window_children_from_point_reply get_window_children_from_point_reply;
5138 struct get_window_tree_reply get_window_tree_reply;
5139 struct set_window_pos_reply set_window_pos_reply;
5140 struct get_window_rectangles_reply get_window_rectangles_reply;
5141 struct get_window_text_reply get_window_text_reply;
5142 struct set_window_text_reply set_window_text_reply;
5143 struct get_windows_offset_reply get_windows_offset_reply;
5144 struct get_visible_region_reply get_visible_region_reply;
5145 struct get_window_region_reply get_window_region_reply;
5146 struct set_window_region_reply set_window_region_reply;
5147 struct get_update_region_reply get_update_region_reply;
5148 struct update_window_zorder_reply update_window_zorder_reply;
5149 struct redraw_window_reply redraw_window_reply;
5150 struct set_window_property_reply set_window_property_reply;
5151 struct remove_window_property_reply remove_window_property_reply;
5152 struct get_window_property_reply get_window_property_reply;
5153 struct get_window_properties_reply get_window_properties_reply;
5154 struct create_winstation_reply create_winstation_reply;
5155 struct open_winstation_reply open_winstation_reply;
5156 struct close_winstation_reply close_winstation_reply;
5157 struct get_process_winstation_reply get_process_winstation_reply;
5158 struct set_process_winstation_reply set_process_winstation_reply;
5159 struct enum_winstation_reply enum_winstation_reply;
5160 struct create_desktop_reply create_desktop_reply;
5161 struct open_desktop_reply open_desktop_reply;
5162 struct close_desktop_reply close_desktop_reply;
5163 struct get_thread_desktop_reply get_thread_desktop_reply;
5164 struct set_thread_desktop_reply set_thread_desktop_reply;
5165 struct enum_desktop_reply enum_desktop_reply;
5166 struct set_user_object_info_reply set_user_object_info_reply;
5167 struct attach_thread_input_reply attach_thread_input_reply;
5168 struct get_thread_input_reply get_thread_input_reply;
5169 struct get_last_input_time_reply get_last_input_time_reply;
5170 struct get_key_state_reply get_key_state_reply;
5171 struct set_key_state_reply set_key_state_reply;
5172 struct set_foreground_window_reply set_foreground_window_reply;
5173 struct set_focus_window_reply set_focus_window_reply;
5174 struct set_active_window_reply set_active_window_reply;
5175 struct set_capture_window_reply set_capture_window_reply;
5176 struct set_caret_window_reply set_caret_window_reply;
5177 struct set_caret_info_reply set_caret_info_reply;
5178 struct set_hook_reply set_hook_reply;
5179 struct remove_hook_reply remove_hook_reply;
5180 struct start_hook_chain_reply start_hook_chain_reply;
5181 struct finish_hook_chain_reply finish_hook_chain_reply;
5182 struct get_hook_info_reply get_hook_info_reply;
5183 struct create_class_reply create_class_reply;
5184 struct destroy_class_reply destroy_class_reply;
5185 struct set_class_info_reply set_class_info_reply;
5186 struct set_clipboard_info_reply set_clipboard_info_reply;
5187 struct open_token_reply open_token_reply;
5188 struct set_global_windows_reply set_global_windows_reply;
5189 struct adjust_token_privileges_reply adjust_token_privileges_reply;
5190 struct get_token_privileges_reply get_token_privileges_reply;
5191 struct check_token_privileges_reply check_token_privileges_reply;
5192 struct duplicate_token_reply duplicate_token_reply;
5193 struct access_check_reply access_check_reply;
5194 struct get_token_user_reply get_token_user_reply;
5195 struct get_token_groups_reply get_token_groups_reply;
5196 struct set_security_object_reply set_security_object_reply;
5197 struct get_security_object_reply get_security_object_reply;
5198 struct create_mailslot_reply create_mailslot_reply;
5199 struct set_mailslot_info_reply set_mailslot_info_reply;
5200 struct create_directory_reply create_directory_reply;
5201 struct open_directory_reply open_directory_reply;
5202 struct get_directory_entry_reply get_directory_entry_reply;
5203 struct create_symlink_reply create_symlink_reply;
5204 struct open_symlink_reply open_symlink_reply;
5205 struct query_symlink_reply query_symlink_reply;
5206 struct get_object_info_reply get_object_info_reply;
5207 struct unlink_object_reply unlink_object_reply;
5208 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
5209 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
5210 struct create_device_manager_reply create_device_manager_reply;
5211 struct create_device_reply create_device_reply;
5212 struct delete_device_reply delete_device_reply;
5213 struct get_next_device_request_reply get_next_device_request_reply;
5214 struct make_process_system_reply make_process_system_reply;
5215 struct get_token_statistics_reply get_token_statistics_reply;
5216 struct create_completion_reply create_completion_reply;
5217 struct open_completion_reply open_completion_reply;
5218 struct add_completion_reply add_completion_reply;
5219 struct remove_completion_reply remove_completion_reply;
5220 struct query_completion_reply query_completion_reply;
5221 struct set_completion_info_reply set_completion_info_reply;
5222 struct add_fd_completion_reply add_fd_completion_reply;
5223 struct get_window_layered_info_reply get_window_layered_info_reply;
5224 struct set_window_layered_info_reply set_window_layered_info_reply;
5227 #define SERVER_PROTOCOL_VERSION 384
5229 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */