server: Define an lparam_t type for message parameters that can hold all sorts of...
[wine/multimedia.git] / include / wine / server_protocol.h
blob28f8b224d0b3fe5554f5f2d7ad0cf4d3038630ce
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 short 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 long lparam_t;
26 typedef unsigned __int64 file_pos_t;
28 struct request_header
30 int req;
31 data_size_t request_size;
32 data_size_t reply_size;
35 struct reply_header
37 unsigned int error;
38 data_size_t reply_size;
43 struct request_max_size
45 int pad[16];
48 #define FIRST_USER_HANDLE 0x0020
49 #define LAST_USER_HANDLE 0xffef
53 struct debug_event_exception
55 EXCEPTION_RECORD record;
56 int first;
58 struct debug_event_create_thread
60 obj_handle_t handle;
61 void *teb;
62 void *start;
64 struct debug_event_create_process
66 obj_handle_t file;
67 obj_handle_t process;
68 obj_handle_t thread;
69 void *base;
70 int dbg_offset;
71 int dbg_size;
72 void *teb;
73 void *start;
74 void *name;
75 int unicode;
77 struct debug_event_exit
79 int exit_code;
81 struct debug_event_load_dll
83 obj_handle_t handle;
84 void *base;
85 int dbg_offset;
86 int dbg_size;
87 void *name;
88 int unicode;
90 struct debug_event_unload_dll
92 void *base;
94 struct debug_event_output_string
96 void *string;
97 int unicode;
98 int length;
100 struct debug_event_rip_info
102 int error;
103 int type;
105 union debug_event_data
107 struct debug_event_exception exception;
108 struct debug_event_create_thread create_thread;
109 struct debug_event_create_process create_process;
110 struct debug_event_exit exit;
111 struct debug_event_load_dll load_dll;
112 struct debug_event_unload_dll unload_dll;
113 struct debug_event_output_string output_string;
114 struct debug_event_rip_info rip_info;
118 typedef struct
120 int code;
121 union debug_event_data info;
122 } debug_event_t;
125 struct send_fd
127 thread_id_t tid;
128 int fd;
132 struct wake_up_reply
134 void *cookie;
135 int signaled;
139 typedef __int64 timeout_t;
140 #define TIMEOUT_INFINITE (((timeout_t)0x7fffffff) << 32 | 0xffffffff)
143 typedef struct
145 atom_t atom;
146 short string;
147 obj_handle_t handle;
148 } property_data_t;
151 typedef struct
153 int left;
154 int top;
155 int right;
156 int bottom;
157 } rectangle_t;
160 typedef struct
162 void *callback;
163 void *iosb;
164 void *arg;
165 void *apc;
166 obj_handle_t event;
167 unsigned long cvalue;
168 } async_data_t;
172 struct callback_msg_data
174 void *callback;
175 lparam_t data;
176 lparam_t result;
179 struct winevent_msg_data
181 user_handle_t hook;
182 thread_id_t tid;
183 void *hook_proc;
187 typedef union
189 unsigned char bytes[1];
190 struct callback_msg_data callback;
191 struct winevent_msg_data winevent;
192 } message_data_t;
195 typedef struct
197 WCHAR ch;
198 unsigned short attr;
199 } char_info_t;
201 typedef struct
203 unsigned int low_part;
204 int high_part;
205 } luid_t;
207 #define MAX_ACL_LEN 65535
209 struct security_descriptor
211 unsigned int control;
212 data_size_t owner_len;
213 data_size_t group_len;
214 data_size_t sacl_len;
215 data_size_t dacl_len;
222 struct object_attributes
224 obj_handle_t rootdir;
225 data_size_t sd_len;
226 data_size_t name_len;
231 struct token_groups
233 unsigned int count;
238 enum apc_type
240 APC_NONE,
241 APC_USER,
242 APC_TIMER,
243 APC_ASYNC_IO,
244 APC_VIRTUAL_ALLOC,
245 APC_VIRTUAL_FREE,
246 APC_VIRTUAL_QUERY,
247 APC_VIRTUAL_PROTECT,
248 APC_VIRTUAL_FLUSH,
249 APC_VIRTUAL_LOCK,
250 APC_VIRTUAL_UNLOCK,
251 APC_MAP_VIEW,
252 APC_UNMAP_VIEW,
253 APC_CREATE_THREAD
256 typedef union
258 enum apc_type type;
259 struct
261 enum apc_type type;
262 void (__stdcall *func)(unsigned long,unsigned long,unsigned long);
263 unsigned long args[3];
264 } user;
265 struct
267 enum apc_type type;
268 void (__stdcall *func)(void*, unsigned int, unsigned int);
269 timeout_t time;
270 void *arg;
271 } timer;
272 struct
274 enum apc_type type;
275 unsigned int (*func)(void*, void*, unsigned int, unsigned long *);
276 void *user;
277 void *sb;
278 unsigned int status;
279 } async_io;
280 struct
282 enum apc_type type;
283 void *addr;
284 unsigned long size;
285 unsigned int zero_bits;
286 unsigned int op_type;
287 unsigned int prot;
288 } virtual_alloc;
289 struct
291 enum apc_type type;
292 void *addr;
293 unsigned long size;
294 unsigned int op_type;
295 } virtual_free;
296 struct
298 enum apc_type type;
299 const void *addr;
300 } virtual_query;
301 struct
303 enum apc_type type;
304 void *addr;
305 unsigned long size;
306 unsigned int prot;
307 } virtual_protect;
308 struct
310 enum apc_type type;
311 const void *addr;
312 unsigned long size;
313 } virtual_flush;
314 struct
316 enum apc_type type;
317 void *addr;
318 unsigned long size;
319 } virtual_lock;
320 struct
322 enum apc_type type;
323 void *addr;
324 unsigned long size;
325 } virtual_unlock;
326 struct
328 enum apc_type type;
329 obj_handle_t handle;
330 void *addr;
331 unsigned long size;
332 file_pos_t offset;
333 unsigned int zero_bits;
334 unsigned int alloc_type;
335 unsigned int prot;
336 } map_view;
337 struct
339 enum apc_type type;
340 void *addr;
341 } unmap_view;
342 struct
344 enum apc_type type;
345 void (__stdcall *func)(void*);
346 void *arg;
347 unsigned long reserve;
348 unsigned long commit;
349 int suspend;
350 } create_thread;
351 } apc_call_t;
353 typedef union
355 enum apc_type type;
356 struct
358 enum apc_type type;
359 unsigned int status;
360 unsigned long total;
361 } async_io;
362 struct
364 enum apc_type type;
365 unsigned int status;
366 void *addr;
367 unsigned long size;
368 } virtual_alloc;
369 struct
371 enum apc_type type;
372 unsigned int status;
373 void *addr;
374 unsigned long size;
375 } virtual_free;
376 struct
378 enum apc_type type;
379 unsigned int status;
380 void *base;
381 void *alloc_base;
382 unsigned long size;
383 unsigned int state;
384 unsigned int prot;
385 unsigned int alloc_prot;
386 unsigned int alloc_type;
387 } virtual_query;
388 struct
390 enum apc_type type;
391 unsigned int status;
392 void *addr;
393 unsigned long size;
394 unsigned int prot;
395 } virtual_protect;
396 struct
398 enum apc_type type;
399 unsigned int status;
400 const void *addr;
401 unsigned long size;
402 } virtual_flush;
403 struct
405 enum apc_type type;
406 unsigned int status;
407 void *addr;
408 unsigned long size;
409 } virtual_lock;
410 struct
412 enum apc_type type;
413 unsigned int status;
414 void *addr;
415 unsigned long size;
416 } virtual_unlock;
417 struct
419 enum apc_type type;
420 unsigned int status;
421 void *addr;
422 unsigned long size;
423 } map_view;
424 struct
426 enum apc_type type;
427 unsigned int status;
428 } unmap_view;
429 struct
431 enum apc_type type;
432 unsigned int status;
433 thread_id_t tid;
434 obj_handle_t handle;
435 } create_thread;
436 } apc_result_t;
442 struct new_process_request
444 struct request_header __header;
445 int inherit_all;
446 unsigned int create_flags;
447 int socket_fd;
448 obj_handle_t exe_file;
449 obj_handle_t hstdin;
450 obj_handle_t hstdout;
451 obj_handle_t hstderr;
452 unsigned int process_access;
453 unsigned int process_attr;
454 unsigned int thread_access;
455 unsigned int thread_attr;
456 /* VARARG(info,startup_info); */
457 /* VARARG(env,unicode_str); */
459 struct new_process_reply
461 struct reply_header __header;
462 obj_handle_t info;
463 process_id_t pid;
464 obj_handle_t phandle;
465 thread_id_t tid;
466 obj_handle_t thandle;
471 struct get_new_process_info_request
473 struct request_header __header;
474 obj_handle_t info;
476 struct get_new_process_info_reply
478 struct reply_header __header;
479 int success;
480 int exit_code;
485 struct new_thread_request
487 struct request_header __header;
488 unsigned int access;
489 unsigned int attributes;
490 int suspend;
491 int request_fd;
493 struct new_thread_reply
495 struct reply_header __header;
496 thread_id_t tid;
497 obj_handle_t handle;
502 struct get_startup_info_request
504 struct request_header __header;
506 struct get_startup_info_reply
508 struct reply_header __header;
509 obj_handle_t exe_file;
510 obj_handle_t hstdin;
511 obj_handle_t hstdout;
512 obj_handle_t hstderr;
513 /* VARARG(info,startup_info); */
514 /* VARARG(env,unicode_str); */
519 struct init_process_done_request
521 struct request_header __header;
522 void* module;
523 void* entry;
524 int gui;
526 struct init_process_done_reply
528 struct reply_header __header;
533 struct init_thread_request
535 struct request_header __header;
536 int unix_pid;
537 int unix_tid;
538 int debug_level;
539 void* teb;
540 void* peb;
541 void* entry;
542 void* ldt_copy;
543 int reply_fd;
544 int wait_fd;
546 struct init_thread_reply
548 struct reply_header __header;
549 process_id_t pid;
550 thread_id_t tid;
551 data_size_t info_size;
552 timeout_t server_start;
553 int version;
558 struct terminate_process_request
560 struct request_header __header;
561 obj_handle_t handle;
562 int exit_code;
564 struct terminate_process_reply
566 struct reply_header __header;
567 int self;
572 struct terminate_thread_request
574 struct request_header __header;
575 obj_handle_t handle;
576 int exit_code;
578 struct terminate_thread_reply
580 struct reply_header __header;
581 int self;
582 int last;
587 struct get_process_info_request
589 struct request_header __header;
590 obj_handle_t handle;
592 struct get_process_info_reply
594 struct reply_header __header;
595 process_id_t pid;
596 process_id_t ppid;
597 int exit_code;
598 int priority;
599 unsigned int affinity;
600 void* peb;
601 timeout_t start_time;
602 timeout_t end_time;
607 struct set_process_info_request
609 struct request_header __header;
610 obj_handle_t handle;
611 int mask;
612 int priority;
613 unsigned int affinity;
615 struct set_process_info_reply
617 struct reply_header __header;
619 #define SET_PROCESS_INFO_PRIORITY 0x01
620 #define SET_PROCESS_INFO_AFFINITY 0x02
624 struct get_thread_info_request
626 struct request_header __header;
627 obj_handle_t handle;
628 thread_id_t tid_in;
630 struct get_thread_info_reply
632 struct reply_header __header;
633 process_id_t pid;
634 thread_id_t tid;
635 void* teb;
636 int exit_code;
637 int priority;
638 unsigned int affinity;
639 timeout_t creation_time;
640 timeout_t exit_time;
641 int last;
646 struct set_thread_info_request
648 struct request_header __header;
649 obj_handle_t handle;
650 int mask;
651 int priority;
652 unsigned int affinity;
653 obj_handle_t token;
655 struct set_thread_info_reply
657 struct reply_header __header;
659 #define SET_THREAD_INFO_PRIORITY 0x01
660 #define SET_THREAD_INFO_AFFINITY 0x02
661 #define SET_THREAD_INFO_TOKEN 0x04
665 struct get_dll_info_request
667 struct request_header __header;
668 obj_handle_t handle;
669 void* base_address;
671 struct get_dll_info_reply
673 struct reply_header __header;
674 void* entry_point;
675 data_size_t size;
676 data_size_t filename_len;
677 /* VARARG(filename,unicode_str); */
682 struct suspend_thread_request
684 struct request_header __header;
685 obj_handle_t handle;
687 struct suspend_thread_reply
689 struct reply_header __header;
690 int count;
695 struct resume_thread_request
697 struct request_header __header;
698 obj_handle_t handle;
700 struct resume_thread_reply
702 struct reply_header __header;
703 int count;
708 struct load_dll_request
710 struct request_header __header;
711 obj_handle_t handle;
712 void* base;
713 void* name;
714 data_size_t size;
715 int dbg_offset;
716 int dbg_size;
717 /* VARARG(filename,unicode_str); */
719 struct load_dll_reply
721 struct reply_header __header;
726 struct unload_dll_request
728 struct request_header __header;
729 void* base;
731 struct unload_dll_reply
733 struct reply_header __header;
738 struct queue_apc_request
740 struct request_header __header;
741 obj_handle_t thread;
742 obj_handle_t process;
743 apc_call_t call;
745 struct queue_apc_reply
747 struct reply_header __header;
748 obj_handle_t handle;
749 int self;
754 struct get_apc_result_request
756 struct request_header __header;
757 obj_handle_t handle;
759 struct get_apc_result_reply
761 struct reply_header __header;
762 apc_result_t result;
767 struct close_handle_request
769 struct request_header __header;
770 obj_handle_t handle;
772 struct close_handle_reply
774 struct reply_header __header;
779 struct set_handle_info_request
781 struct request_header __header;
782 obj_handle_t handle;
783 int flags;
784 int mask;
786 struct set_handle_info_reply
788 struct reply_header __header;
789 int old_flags;
794 struct dup_handle_request
796 struct request_header __header;
797 obj_handle_t src_process;
798 obj_handle_t src_handle;
799 obj_handle_t dst_process;
800 unsigned int access;
801 unsigned int attributes;
802 unsigned int options;
804 struct dup_handle_reply
806 struct reply_header __header;
807 obj_handle_t handle;
808 int self;
809 int closed;
811 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
812 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
813 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
817 struct open_process_request
819 struct request_header __header;
820 process_id_t pid;
821 unsigned int access;
822 unsigned int attributes;
824 struct open_process_reply
826 struct reply_header __header;
827 obj_handle_t handle;
832 struct open_thread_request
834 struct request_header __header;
835 thread_id_t tid;
836 unsigned int access;
837 unsigned int attributes;
839 struct open_thread_reply
841 struct reply_header __header;
842 obj_handle_t handle;
847 struct select_request
849 struct request_header __header;
850 int flags;
851 void* cookie;
852 obj_handle_t signal;
853 obj_handle_t prev_apc;
854 timeout_t timeout;
855 /* VARARG(result,apc_result); */
856 /* VARARG(handles,handles); */
858 struct select_reply
860 struct reply_header __header;
861 obj_handle_t apc_handle;
862 timeout_t timeout;
863 apc_call_t call;
865 #define SELECT_ALL 1
866 #define SELECT_ALERTABLE 2
867 #define SELECT_INTERRUPTIBLE 4
871 struct create_event_request
873 struct request_header __header;
874 unsigned int access;
875 unsigned int attributes;
876 int manual_reset;
877 int initial_state;
878 /* VARARG(objattr,object_attributes); */
880 struct create_event_reply
882 struct reply_header __header;
883 obj_handle_t handle;
887 struct event_op_request
889 struct request_header __header;
890 obj_handle_t handle;
891 int op;
893 struct event_op_reply
895 struct reply_header __header;
897 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
901 struct open_event_request
903 struct request_header __header;
904 unsigned int access;
905 unsigned int attributes;
906 obj_handle_t rootdir;
907 /* VARARG(name,unicode_str); */
909 struct open_event_reply
911 struct reply_header __header;
912 obj_handle_t handle;
917 struct create_mutex_request
919 struct request_header __header;
920 unsigned int access;
921 unsigned int attributes;
922 int owned;
923 /* VARARG(objattr,object_attributes); */
925 struct create_mutex_reply
927 struct reply_header __header;
928 obj_handle_t handle;
933 struct release_mutex_request
935 struct request_header __header;
936 obj_handle_t handle;
938 struct release_mutex_reply
940 struct reply_header __header;
941 unsigned int prev_count;
946 struct open_mutex_request
948 struct request_header __header;
949 unsigned int access;
950 unsigned int attributes;
951 obj_handle_t rootdir;
952 /* VARARG(name,unicode_str); */
954 struct open_mutex_reply
956 struct reply_header __header;
957 obj_handle_t handle;
962 struct create_semaphore_request
964 struct request_header __header;
965 unsigned int access;
966 unsigned int attributes;
967 unsigned int initial;
968 unsigned int max;
969 /* VARARG(objattr,object_attributes); */
971 struct create_semaphore_reply
973 struct reply_header __header;
974 obj_handle_t handle;
979 struct release_semaphore_request
981 struct request_header __header;
982 obj_handle_t handle;
983 unsigned int count;
985 struct release_semaphore_reply
987 struct reply_header __header;
988 unsigned int prev_count;
993 struct open_semaphore_request
995 struct request_header __header;
996 unsigned int access;
997 unsigned int attributes;
998 obj_handle_t rootdir;
999 /* VARARG(name,unicode_str); */
1001 struct open_semaphore_reply
1003 struct reply_header __header;
1004 obj_handle_t handle;
1009 struct create_file_request
1011 struct request_header __header;
1012 unsigned int access;
1013 unsigned int attributes;
1014 unsigned int sharing;
1015 int create;
1016 unsigned int options;
1017 unsigned int attrs;
1018 /* VARARG(objattr,object_attributes); */
1019 /* VARARG(filename,string); */
1021 struct create_file_reply
1023 struct reply_header __header;
1024 obj_handle_t handle;
1029 struct open_file_object_request
1031 struct request_header __header;
1032 unsigned int access;
1033 unsigned int attributes;
1034 obj_handle_t rootdir;
1035 unsigned int sharing;
1036 unsigned int options;
1037 /* VARARG(filename,unicode_str); */
1039 struct open_file_object_reply
1041 struct reply_header __header;
1042 obj_handle_t handle;
1047 struct alloc_file_handle_request
1049 struct request_header __header;
1050 unsigned int access;
1051 unsigned int attributes;
1052 int fd;
1054 struct alloc_file_handle_reply
1056 struct reply_header __header;
1057 obj_handle_t handle;
1062 struct get_handle_fd_request
1064 struct request_header __header;
1065 obj_handle_t handle;
1067 struct get_handle_fd_reply
1069 struct reply_header __header;
1070 int type;
1071 int removable;
1072 unsigned int access;
1073 unsigned int options;
1075 enum server_fd_type
1077 FD_TYPE_INVALID,
1078 FD_TYPE_FILE,
1079 FD_TYPE_DIR,
1080 FD_TYPE_SOCKET,
1081 FD_TYPE_SERIAL,
1082 FD_TYPE_PIPE,
1083 FD_TYPE_MAILSLOT,
1084 FD_TYPE_CHAR,
1085 FD_TYPE_DEVICE,
1086 FD_TYPE_NB_TYPES
1091 struct flush_file_request
1093 struct request_header __header;
1094 obj_handle_t handle;
1096 struct flush_file_reply
1098 struct reply_header __header;
1099 obj_handle_t event;
1104 struct lock_file_request
1106 struct request_header __header;
1107 obj_handle_t handle;
1108 file_pos_t offset;
1109 file_pos_t count;
1110 int shared;
1111 int wait;
1113 struct lock_file_reply
1115 struct reply_header __header;
1116 obj_handle_t handle;
1117 int overlapped;
1122 struct unlock_file_request
1124 struct request_header __header;
1125 obj_handle_t handle;
1126 file_pos_t offset;
1127 file_pos_t count;
1129 struct unlock_file_reply
1131 struct reply_header __header;
1136 struct create_socket_request
1138 struct request_header __header;
1139 unsigned int access;
1140 unsigned int attributes;
1141 int family;
1142 int type;
1143 int protocol;
1144 unsigned int flags;
1146 struct create_socket_reply
1148 struct reply_header __header;
1149 obj_handle_t handle;
1154 struct accept_socket_request
1156 struct request_header __header;
1157 obj_handle_t lhandle;
1158 unsigned int access;
1159 unsigned int attributes;
1161 struct accept_socket_reply
1163 struct reply_header __header;
1164 obj_handle_t handle;
1169 struct set_socket_event_request
1171 struct request_header __header;
1172 obj_handle_t handle;
1173 unsigned int mask;
1174 obj_handle_t event;
1175 user_handle_t window;
1176 unsigned int msg;
1178 struct set_socket_event_reply
1180 struct reply_header __header;
1185 struct get_socket_event_request
1187 struct request_header __header;
1188 obj_handle_t handle;
1189 int service;
1190 obj_handle_t c_event;
1192 struct get_socket_event_reply
1194 struct reply_header __header;
1195 unsigned int mask;
1196 unsigned int pmask;
1197 unsigned int state;
1198 /* VARARG(errors,ints); */
1203 struct enable_socket_event_request
1205 struct request_header __header;
1206 obj_handle_t handle;
1207 unsigned int mask;
1208 unsigned int sstate;
1209 unsigned int cstate;
1211 struct enable_socket_event_reply
1213 struct reply_header __header;
1216 struct set_socket_deferred_request
1218 struct request_header __header;
1219 obj_handle_t handle;
1220 obj_handle_t deferred;
1222 struct set_socket_deferred_reply
1224 struct reply_header __header;
1228 struct alloc_console_request
1230 struct request_header __header;
1231 unsigned int access;
1232 unsigned int attributes;
1233 process_id_t pid;
1235 struct alloc_console_reply
1237 struct reply_header __header;
1238 obj_handle_t handle_in;
1239 obj_handle_t event;
1244 struct free_console_request
1246 struct request_header __header;
1248 struct free_console_reply
1250 struct reply_header __header;
1254 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1255 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1256 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1257 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1258 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1259 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1260 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1261 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1262 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1263 struct console_renderer_event
1265 short event;
1266 union
1268 struct update
1270 short top;
1271 short bottom;
1272 } update;
1273 struct resize
1275 short width;
1276 short height;
1277 } resize;
1278 struct cursor_pos
1280 short x;
1281 short y;
1282 } cursor_pos;
1283 struct cursor_geom
1285 short visible;
1286 short size;
1287 } cursor_geom;
1288 struct display
1290 short left;
1291 short top;
1292 short width;
1293 short height;
1294 } display;
1295 } u;
1299 struct get_console_renderer_events_request
1301 struct request_header __header;
1302 obj_handle_t handle;
1304 struct get_console_renderer_events_reply
1306 struct reply_header __header;
1307 /* VARARG(data,bytes); */
1312 struct open_console_request
1314 struct request_header __header;
1315 obj_handle_t from;
1317 unsigned int access;
1318 unsigned int attributes;
1319 int share;
1321 struct open_console_reply
1323 struct reply_header __header;
1324 obj_handle_t handle;
1329 struct get_console_wait_event_request
1331 struct request_header __header;
1333 struct get_console_wait_event_reply
1335 struct reply_header __header;
1336 obj_handle_t handle;
1340 struct get_console_mode_request
1342 struct request_header __header;
1343 obj_handle_t handle;
1345 struct get_console_mode_reply
1347 struct reply_header __header;
1348 int mode;
1353 struct set_console_mode_request
1355 struct request_header __header;
1356 obj_handle_t handle;
1357 int mode;
1359 struct set_console_mode_reply
1361 struct reply_header __header;
1366 struct set_console_input_info_request
1368 struct request_header __header;
1369 obj_handle_t handle;
1370 int mask;
1371 obj_handle_t active_sb;
1372 int history_mode;
1373 int history_size;
1374 int edition_mode;
1375 int input_cp;
1376 int output_cp;
1377 user_handle_t win;
1378 /* VARARG(title,unicode_str); */
1380 struct set_console_input_info_reply
1382 struct reply_header __header;
1384 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1385 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1386 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1387 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1388 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1389 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1390 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1391 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1395 struct get_console_input_info_request
1397 struct request_header __header;
1398 obj_handle_t handle;
1400 struct get_console_input_info_reply
1402 struct reply_header __header;
1403 int history_mode;
1404 int history_size;
1405 int history_index;
1406 int edition_mode;
1407 int input_cp;
1408 int output_cp;
1409 user_handle_t win;
1410 /* VARARG(title,unicode_str); */
1415 struct append_console_input_history_request
1417 struct request_header __header;
1418 obj_handle_t handle;
1419 /* VARARG(line,unicode_str); */
1421 struct append_console_input_history_reply
1423 struct reply_header __header;
1428 struct get_console_input_history_request
1430 struct request_header __header;
1431 obj_handle_t handle;
1432 int index;
1434 struct get_console_input_history_reply
1436 struct reply_header __header;
1437 int total;
1438 /* VARARG(line,unicode_str); */
1443 struct create_console_output_request
1445 struct request_header __header;
1446 obj_handle_t handle_in;
1447 unsigned int access;
1448 unsigned int attributes;
1449 unsigned int share;
1451 struct create_console_output_reply
1453 struct reply_header __header;
1454 obj_handle_t handle_out;
1459 struct set_console_output_info_request
1461 struct request_header __header;
1462 obj_handle_t handle;
1463 int mask;
1464 short int cursor_size;
1465 short int cursor_visible;
1466 short int cursor_x;
1467 short int cursor_y;
1468 short int width;
1469 short int height;
1470 short int attr;
1471 short int win_left;
1472 short int win_top;
1473 short int win_right;
1474 short int win_bottom;
1475 short int max_width;
1476 short int max_height;
1478 struct set_console_output_info_reply
1480 struct reply_header __header;
1482 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1483 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1484 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1485 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1486 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1487 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1491 struct get_console_output_info_request
1493 struct request_header __header;
1494 obj_handle_t handle;
1496 struct get_console_output_info_reply
1498 struct reply_header __header;
1499 short int cursor_size;
1500 short int cursor_visible;
1501 short int cursor_x;
1502 short int cursor_y;
1503 short int width;
1504 short int height;
1505 short int attr;
1506 short int win_left;
1507 short int win_top;
1508 short int win_right;
1509 short int win_bottom;
1510 short int max_width;
1511 short int max_height;
1515 struct write_console_input_request
1517 struct request_header __header;
1518 obj_handle_t handle;
1519 /* VARARG(rec,input_records); */
1521 struct write_console_input_reply
1523 struct reply_header __header;
1524 int written;
1529 struct read_console_input_request
1531 struct request_header __header;
1532 obj_handle_t handle;
1533 int flush;
1535 struct read_console_input_reply
1537 struct reply_header __header;
1538 int read;
1539 /* VARARG(rec,input_records); */
1544 struct write_console_output_request
1546 struct request_header __header;
1547 obj_handle_t handle;
1548 int x;
1549 int y;
1550 int mode;
1551 int wrap;
1552 /* VARARG(data,bytes); */
1554 struct write_console_output_reply
1556 struct reply_header __header;
1557 int written;
1558 int width;
1559 int height;
1561 enum char_info_mode
1563 CHAR_INFO_MODE_TEXT,
1564 CHAR_INFO_MODE_ATTR,
1565 CHAR_INFO_MODE_TEXTATTR,
1566 CHAR_INFO_MODE_TEXTSTDATTR
1571 struct fill_console_output_request
1573 struct request_header __header;
1574 obj_handle_t handle;
1575 int x;
1576 int y;
1577 int mode;
1578 int count;
1579 int wrap;
1580 char_info_t data;
1582 struct fill_console_output_reply
1584 struct reply_header __header;
1585 int written;
1590 struct read_console_output_request
1592 struct request_header __header;
1593 obj_handle_t handle;
1594 int x;
1595 int y;
1596 int mode;
1597 int wrap;
1599 struct read_console_output_reply
1601 struct reply_header __header;
1602 int width;
1603 int height;
1604 /* VARARG(data,bytes); */
1609 struct move_console_output_request
1611 struct request_header __header;
1612 obj_handle_t handle;
1613 short int x_src;
1614 short int y_src;
1615 short int x_dst;
1616 short int y_dst;
1617 short int w;
1618 short int h;
1620 struct move_console_output_reply
1622 struct reply_header __header;
1627 struct send_console_signal_request
1629 struct request_header __header;
1630 int signal;
1631 process_id_t group_id;
1633 struct send_console_signal_reply
1635 struct reply_header __header;
1640 struct read_directory_changes_request
1642 struct request_header __header;
1643 unsigned int filter;
1644 obj_handle_t handle;
1645 int subtree;
1646 int want_data;
1647 async_data_t async;
1649 struct read_directory_changes_reply
1651 struct reply_header __header;
1655 struct read_change_request
1657 struct request_header __header;
1658 obj_handle_t handle;
1660 struct read_change_reply
1662 struct reply_header __header;
1663 int action;
1664 /* VARARG(name,string); */
1669 struct create_mapping_request
1671 struct request_header __header;
1672 unsigned int access;
1673 unsigned int attributes;
1674 file_pos_t size;
1675 unsigned int protect;
1676 obj_handle_t file_handle;
1677 /* VARARG(objattr,object_attributes); */
1679 struct create_mapping_reply
1681 struct reply_header __header;
1682 obj_handle_t handle;
1685 #define VPROT_READ 0x01
1686 #define VPROT_WRITE 0x02
1687 #define VPROT_EXEC 0x04
1688 #define VPROT_WRITECOPY 0x08
1689 #define VPROT_GUARD 0x10
1690 #define VPROT_NOCACHE 0x20
1691 #define VPROT_COMMITTED 0x40
1692 #define VPROT_WRITEWATCH 0x80
1694 #define VPROT_IMAGE 0x0100
1695 #define VPROT_SYSTEM 0x0200
1696 #define VPROT_VALLOC 0x0400
1697 #define VPROT_NOEXEC 0x0800
1701 struct open_mapping_request
1703 struct request_header __header;
1704 unsigned int access;
1705 unsigned int attributes;
1706 obj_handle_t rootdir;
1707 /* VARARG(name,unicode_str); */
1709 struct open_mapping_reply
1711 struct reply_header __header;
1712 obj_handle_t handle;
1717 struct get_mapping_info_request
1719 struct request_header __header;
1720 obj_handle_t handle;
1721 unsigned int access;
1723 struct get_mapping_info_reply
1725 struct reply_header __header;
1726 file_pos_t size;
1727 int protect;
1728 int header_size;
1729 void* base;
1730 obj_handle_t mapping;
1731 obj_handle_t shared_file;
1736 struct get_mapping_committed_range_request
1738 struct request_header __header;
1739 obj_handle_t handle;
1740 file_pos_t offset;
1742 struct get_mapping_committed_range_reply
1744 struct reply_header __header;
1745 file_pos_t size;
1746 int committed;
1751 struct add_mapping_committed_range_request
1753 struct request_header __header;
1754 obj_handle_t handle;
1755 file_pos_t offset;
1756 file_pos_t size;
1758 struct add_mapping_committed_range_reply
1760 struct reply_header __header;
1764 #define SNAP_PROCESS 0x00000001
1765 #define SNAP_THREAD 0x00000002
1767 struct create_snapshot_request
1769 struct request_header __header;
1770 unsigned int attributes;
1771 unsigned int flags;
1773 struct create_snapshot_reply
1775 struct reply_header __header;
1776 obj_handle_t handle;
1781 struct next_process_request
1783 struct request_header __header;
1784 obj_handle_t handle;
1785 int reset;
1787 struct next_process_reply
1789 struct reply_header __header;
1790 int count;
1791 process_id_t pid;
1792 process_id_t ppid;
1793 int threads;
1794 int priority;
1795 int handles;
1796 /* VARARG(filename,unicode_str); */
1801 struct next_thread_request
1803 struct request_header __header;
1804 obj_handle_t handle;
1805 int reset;
1807 struct next_thread_reply
1809 struct reply_header __header;
1810 int count;
1811 process_id_t pid;
1812 thread_id_t tid;
1813 int base_pri;
1814 int delta_pri;
1819 struct wait_debug_event_request
1821 struct request_header __header;
1822 int get_handle;
1824 struct wait_debug_event_reply
1826 struct reply_header __header;
1827 process_id_t pid;
1828 thread_id_t tid;
1829 obj_handle_t wait;
1830 /* VARARG(event,debug_event); */
1835 struct queue_exception_event_request
1837 struct request_header __header;
1838 int first;
1839 /* VARARG(record,exc_event); */
1841 struct queue_exception_event_reply
1843 struct reply_header __header;
1844 obj_handle_t handle;
1849 struct get_exception_status_request
1851 struct request_header __header;
1852 obj_handle_t handle;
1854 struct get_exception_status_reply
1856 struct reply_header __header;
1857 /* VARARG(context,context); */
1862 struct output_debug_string_request
1864 struct request_header __header;
1865 void* string;
1866 int unicode;
1867 int length;
1869 struct output_debug_string_reply
1871 struct reply_header __header;
1876 struct continue_debug_event_request
1878 struct request_header __header;
1879 process_id_t pid;
1880 thread_id_t tid;
1881 int status;
1883 struct continue_debug_event_reply
1885 struct reply_header __header;
1890 struct debug_process_request
1892 struct request_header __header;
1893 process_id_t pid;
1894 int attach;
1896 struct debug_process_reply
1898 struct reply_header __header;
1903 struct debug_break_request
1905 struct request_header __header;
1906 obj_handle_t handle;
1908 struct debug_break_reply
1910 struct reply_header __header;
1911 int self;
1916 struct set_debugger_kill_on_exit_request
1918 struct request_header __header;
1919 int kill_on_exit;
1921 struct set_debugger_kill_on_exit_reply
1923 struct reply_header __header;
1928 struct read_process_memory_request
1930 struct request_header __header;
1931 obj_handle_t handle;
1932 void* addr;
1934 struct read_process_memory_reply
1936 struct reply_header __header;
1937 /* VARARG(data,bytes); */
1942 struct write_process_memory_request
1944 struct request_header __header;
1945 obj_handle_t handle;
1946 void* addr;
1947 /* VARARG(data,bytes); */
1949 struct write_process_memory_reply
1951 struct reply_header __header;
1956 struct create_key_request
1958 struct request_header __header;
1959 obj_handle_t parent;
1960 unsigned int access;
1961 unsigned int attributes;
1962 unsigned int options;
1963 data_size_t namelen;
1964 /* VARARG(name,unicode_str,namelen); */
1965 /* VARARG(class,unicode_str); */
1967 struct create_key_reply
1969 struct reply_header __header;
1970 obj_handle_t hkey;
1971 int created;
1975 struct open_key_request
1977 struct request_header __header;
1978 obj_handle_t parent;
1979 unsigned int access;
1980 unsigned int attributes;
1981 /* VARARG(name,unicode_str); */
1983 struct open_key_reply
1985 struct reply_header __header;
1986 obj_handle_t hkey;
1991 struct delete_key_request
1993 struct request_header __header;
1994 obj_handle_t hkey;
1996 struct delete_key_reply
1998 struct reply_header __header;
2003 struct flush_key_request
2005 struct request_header __header;
2006 obj_handle_t hkey;
2008 struct flush_key_reply
2010 struct reply_header __header;
2015 struct enum_key_request
2017 struct request_header __header;
2018 obj_handle_t hkey;
2019 int index;
2020 int info_class;
2022 struct enum_key_reply
2024 struct reply_header __header;
2025 int subkeys;
2026 int max_subkey;
2027 int max_class;
2028 int values;
2029 int max_value;
2030 int max_data;
2031 timeout_t modif;
2032 data_size_t total;
2033 data_size_t namelen;
2034 /* VARARG(name,unicode_str,namelen); */
2035 /* VARARG(class,unicode_str); */
2040 struct set_key_value_request
2042 struct request_header __header;
2043 obj_handle_t hkey;
2044 int type;
2045 data_size_t namelen;
2046 /* VARARG(name,unicode_str,namelen); */
2047 /* VARARG(data,bytes); */
2049 struct set_key_value_reply
2051 struct reply_header __header;
2056 struct get_key_value_request
2058 struct request_header __header;
2059 obj_handle_t hkey;
2060 /* VARARG(name,unicode_str); */
2062 struct get_key_value_reply
2064 struct reply_header __header;
2065 int type;
2066 data_size_t total;
2067 /* VARARG(data,bytes); */
2072 struct enum_key_value_request
2074 struct request_header __header;
2075 obj_handle_t hkey;
2076 int index;
2077 int info_class;
2079 struct enum_key_value_reply
2081 struct reply_header __header;
2082 int type;
2083 data_size_t total;
2084 data_size_t namelen;
2085 /* VARARG(name,unicode_str,namelen); */
2086 /* VARARG(data,bytes); */
2091 struct delete_key_value_request
2093 struct request_header __header;
2094 obj_handle_t hkey;
2095 /* VARARG(name,unicode_str); */
2097 struct delete_key_value_reply
2099 struct reply_header __header;
2104 struct load_registry_request
2106 struct request_header __header;
2107 obj_handle_t hkey;
2108 obj_handle_t file;
2109 /* VARARG(name,unicode_str); */
2111 struct load_registry_reply
2113 struct reply_header __header;
2118 struct unload_registry_request
2120 struct request_header __header;
2121 obj_handle_t hkey;
2123 struct unload_registry_reply
2125 struct reply_header __header;
2130 struct save_registry_request
2132 struct request_header __header;
2133 obj_handle_t hkey;
2134 obj_handle_t file;
2136 struct save_registry_reply
2138 struct reply_header __header;
2143 struct set_registry_notification_request
2145 struct request_header __header;
2146 obj_handle_t hkey;
2147 obj_handle_t event;
2148 int subtree;
2149 unsigned int filter;
2151 struct set_registry_notification_reply
2153 struct reply_header __header;
2158 struct create_timer_request
2160 struct request_header __header;
2161 unsigned int access;
2162 unsigned int attributes;
2163 obj_handle_t rootdir;
2164 int manual;
2165 /* VARARG(name,unicode_str); */
2167 struct create_timer_reply
2169 struct reply_header __header;
2170 obj_handle_t handle;
2175 struct open_timer_request
2177 struct request_header __header;
2178 unsigned int access;
2179 unsigned int attributes;
2180 obj_handle_t rootdir;
2181 /* VARARG(name,unicode_str); */
2183 struct open_timer_reply
2185 struct reply_header __header;
2186 obj_handle_t handle;
2190 struct set_timer_request
2192 struct request_header __header;
2193 obj_handle_t handle;
2194 timeout_t expire;
2195 int period;
2196 void* callback;
2197 void* arg;
2199 struct set_timer_reply
2201 struct reply_header __header;
2202 int signaled;
2206 struct cancel_timer_request
2208 struct request_header __header;
2209 obj_handle_t handle;
2211 struct cancel_timer_reply
2213 struct reply_header __header;
2214 int signaled;
2218 struct get_timer_info_request
2220 struct request_header __header;
2221 obj_handle_t handle;
2223 struct get_timer_info_reply
2225 struct reply_header __header;
2226 timeout_t when;
2227 int signaled;
2232 struct get_thread_context_request
2234 struct request_header __header;
2235 obj_handle_t handle;
2236 unsigned int flags;
2237 int suspend;
2239 struct get_thread_context_reply
2241 struct reply_header __header;
2242 int self;
2243 /* VARARG(context,context); */
2248 struct set_thread_context_request
2250 struct request_header __header;
2251 obj_handle_t handle;
2252 unsigned int flags;
2253 int suspend;
2254 /* VARARG(context,context); */
2256 struct set_thread_context_reply
2258 struct reply_header __header;
2259 int self;
2264 struct get_selector_entry_request
2266 struct request_header __header;
2267 obj_handle_t handle;
2268 int entry;
2270 struct get_selector_entry_reply
2272 struct reply_header __header;
2273 unsigned int base;
2274 unsigned int limit;
2275 unsigned char flags;
2280 struct add_atom_request
2282 struct request_header __header;
2283 obj_handle_t table;
2284 /* VARARG(name,unicode_str); */
2286 struct add_atom_reply
2288 struct reply_header __header;
2289 atom_t atom;
2294 struct delete_atom_request
2296 struct request_header __header;
2297 obj_handle_t table;
2298 atom_t atom;
2300 struct delete_atom_reply
2302 struct reply_header __header;
2307 struct find_atom_request
2309 struct request_header __header;
2310 obj_handle_t table;
2311 /* VARARG(name,unicode_str); */
2313 struct find_atom_reply
2315 struct reply_header __header;
2316 atom_t atom;
2321 struct get_atom_information_request
2323 struct request_header __header;
2324 obj_handle_t table;
2325 atom_t atom;
2327 struct get_atom_information_reply
2329 struct reply_header __header;
2330 int count;
2331 int pinned;
2332 data_size_t total;
2333 /* VARARG(name,unicode_str); */
2338 struct set_atom_information_request
2340 struct request_header __header;
2341 obj_handle_t table;
2342 atom_t atom;
2343 int pinned;
2345 struct set_atom_information_reply
2347 struct reply_header __header;
2352 struct empty_atom_table_request
2354 struct request_header __header;
2355 obj_handle_t table;
2356 int if_pinned;
2358 struct empty_atom_table_reply
2360 struct reply_header __header;
2365 struct init_atom_table_request
2367 struct request_header __header;
2368 int entries;
2370 struct init_atom_table_reply
2372 struct reply_header __header;
2373 obj_handle_t table;
2378 struct get_msg_queue_request
2380 struct request_header __header;
2382 struct get_msg_queue_reply
2384 struct reply_header __header;
2385 obj_handle_t handle;
2390 struct set_queue_fd_request
2392 struct request_header __header;
2393 obj_handle_t handle;
2395 struct set_queue_fd_reply
2397 struct reply_header __header;
2402 struct set_queue_mask_request
2404 struct request_header __header;
2405 unsigned int wake_mask;
2406 unsigned int changed_mask;
2407 int skip_wait;
2409 struct set_queue_mask_reply
2411 struct reply_header __header;
2412 unsigned int wake_bits;
2413 unsigned int changed_bits;
2418 struct get_queue_status_request
2420 struct request_header __header;
2421 int clear;
2423 struct get_queue_status_reply
2425 struct reply_header __header;
2426 unsigned int wake_bits;
2427 unsigned int changed_bits;
2432 struct get_process_idle_event_request
2434 struct request_header __header;
2435 obj_handle_t handle;
2437 struct get_process_idle_event_reply
2439 struct reply_header __header;
2440 obj_handle_t event;
2445 struct send_message_request
2447 struct request_header __header;
2448 thread_id_t id;
2449 int type;
2450 int flags;
2451 user_handle_t win;
2452 unsigned int msg;
2453 lparam_t wparam;
2454 lparam_t lparam;
2455 timeout_t timeout;
2456 /* VARARG(data,message_data); */
2458 struct send_message_reply
2460 struct reply_header __header;
2463 struct post_quit_message_request
2465 struct request_header __header;
2466 int exit_code;
2468 struct post_quit_message_reply
2470 struct reply_header __header;
2473 enum message_type
2475 MSG_ASCII,
2476 MSG_UNICODE,
2477 MSG_NOTIFY,
2478 MSG_CALLBACK,
2479 MSG_CALLBACK_RESULT,
2480 MSG_OTHER_PROCESS,
2481 MSG_POSTED,
2482 MSG_HARDWARE,
2483 MSG_WINEVENT
2485 #define SEND_MSG_ABORT_IF_HUNG 0x01
2489 struct send_hardware_message_request
2491 struct request_header __header;
2492 thread_id_t id;
2493 user_handle_t win;
2494 unsigned int msg;
2495 unsigned int time;
2496 lparam_t wparam;
2497 lparam_t lparam;
2498 lparam_t info;
2499 int x;
2500 int y;
2502 struct send_hardware_message_reply
2504 struct reply_header __header;
2509 struct get_message_request
2511 struct request_header __header;
2512 unsigned int flags;
2513 user_handle_t get_win;
2514 unsigned int get_first;
2515 unsigned int get_last;
2516 unsigned int hw_id;
2517 unsigned int wake_mask;
2518 unsigned int changed_mask;
2520 struct get_message_reply
2522 struct reply_header __header;
2523 user_handle_t win;
2524 int type;
2525 unsigned int msg;
2526 lparam_t wparam;
2527 lparam_t lparam;
2528 lparam_t info;
2529 int x;
2530 int y;
2531 unsigned int time;
2532 unsigned int hw_id;
2533 unsigned int active_hooks;
2534 data_size_t total;
2535 /* VARARG(data,message_data); */
2540 struct reply_message_request
2542 struct request_header __header;
2543 lparam_t result;
2544 int remove;
2545 /* VARARG(data,bytes); */
2547 struct reply_message_reply
2549 struct reply_header __header;
2554 struct accept_hardware_message_request
2556 struct request_header __header;
2557 unsigned int hw_id;
2558 int remove;
2559 user_handle_t new_win;
2561 struct accept_hardware_message_reply
2563 struct reply_header __header;
2568 struct get_message_reply_request
2570 struct request_header __header;
2571 int cancel;
2573 struct get_message_reply_reply
2575 struct reply_header __header;
2576 lparam_t result;
2577 /* VARARG(data,bytes); */
2582 struct set_win_timer_request
2584 struct request_header __header;
2585 user_handle_t win;
2586 unsigned int msg;
2587 unsigned int rate;
2588 lparam_t id;
2589 lparam_t lparam;
2591 struct set_win_timer_reply
2593 struct reply_header __header;
2594 lparam_t id;
2599 struct kill_win_timer_request
2601 struct request_header __header;
2602 user_handle_t win;
2603 unsigned int msg;
2604 lparam_t id;
2606 struct kill_win_timer_reply
2608 struct reply_header __header;
2613 struct is_window_hung_request
2615 struct request_header __header;
2616 user_handle_t win;
2618 struct is_window_hung_reply
2620 struct reply_header __header;
2621 int is_hung;
2626 struct get_serial_info_request
2628 struct request_header __header;
2629 obj_handle_t handle;
2631 struct get_serial_info_reply
2633 struct reply_header __header;
2634 unsigned int readinterval;
2635 unsigned int readconst;
2636 unsigned int readmult;
2637 unsigned int writeconst;
2638 unsigned int writemult;
2639 unsigned int eventmask;
2644 struct set_serial_info_request
2646 struct request_header __header;
2647 obj_handle_t handle;
2648 int flags;
2649 unsigned int readinterval;
2650 unsigned int readconst;
2651 unsigned int readmult;
2652 unsigned int writeconst;
2653 unsigned int writemult;
2654 unsigned int eventmask;
2656 struct set_serial_info_reply
2658 struct reply_header __header;
2660 #define SERIALINFO_SET_TIMEOUTS 0x01
2661 #define SERIALINFO_SET_MASK 0x02
2665 struct register_async_request
2667 struct request_header __header;
2668 obj_handle_t handle;
2669 int type;
2670 int count;
2671 async_data_t async;
2673 struct register_async_reply
2675 struct reply_header __header;
2677 #define ASYNC_TYPE_READ 0x01
2678 #define ASYNC_TYPE_WRITE 0x02
2679 #define ASYNC_TYPE_WAIT 0x03
2683 struct cancel_async_request
2685 struct request_header __header;
2686 obj_handle_t handle;
2688 struct cancel_async_reply
2690 struct reply_header __header;
2695 struct ioctl_request
2697 struct request_header __header;
2698 obj_handle_t handle;
2699 ioctl_code_t code;
2700 async_data_t async;
2701 /* VARARG(in_data,bytes); */
2703 struct ioctl_reply
2705 struct reply_header __header;
2706 obj_handle_t wait;
2707 unsigned int options;
2708 /* VARARG(out_data,bytes); */
2713 struct get_ioctl_result_request
2715 struct request_header __header;
2716 obj_handle_t handle;
2717 void* user_arg;
2719 struct get_ioctl_result_reply
2721 struct reply_header __header;
2722 /* VARARG(out_data,bytes); */
2727 struct create_named_pipe_request
2729 struct request_header __header;
2730 unsigned int access;
2731 unsigned int attributes;
2732 obj_handle_t rootdir;
2733 unsigned int options;
2734 unsigned int flags;
2735 unsigned int maxinstances;
2736 unsigned int outsize;
2737 unsigned int insize;
2738 timeout_t timeout;
2739 /* VARARG(name,unicode_str); */
2741 struct create_named_pipe_reply
2743 struct reply_header __header;
2744 obj_handle_t handle;
2748 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
2749 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
2750 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
2751 #define NAMED_PIPE_SERVER_END 0x8000
2754 struct get_named_pipe_info_request
2756 struct request_header __header;
2757 obj_handle_t handle;
2759 struct get_named_pipe_info_reply
2761 struct reply_header __header;
2762 unsigned int flags;
2763 unsigned int maxinstances;
2764 unsigned int instances;
2765 unsigned int outsize;
2766 unsigned int insize;
2771 struct create_window_request
2773 struct request_header __header;
2774 user_handle_t parent;
2775 user_handle_t owner;
2776 atom_t atom;
2777 void* instance;
2778 /* VARARG(class,unicode_str); */
2780 struct create_window_reply
2782 struct reply_header __header;
2783 user_handle_t handle;
2784 user_handle_t parent;
2785 user_handle_t owner;
2786 int extra;
2787 void* class_ptr;
2792 struct destroy_window_request
2794 struct request_header __header;
2795 user_handle_t handle;
2797 struct destroy_window_reply
2799 struct reply_header __header;
2804 struct get_desktop_window_request
2806 struct request_header __header;
2807 int force;
2809 struct get_desktop_window_reply
2811 struct reply_header __header;
2812 user_handle_t top_window;
2813 user_handle_t msg_window;
2818 struct set_window_owner_request
2820 struct request_header __header;
2821 user_handle_t handle;
2822 user_handle_t owner;
2824 struct set_window_owner_reply
2826 struct reply_header __header;
2827 user_handle_t full_owner;
2828 user_handle_t prev_owner;
2833 struct get_window_info_request
2835 struct request_header __header;
2836 user_handle_t handle;
2838 struct get_window_info_reply
2840 struct reply_header __header;
2841 user_handle_t full_handle;
2842 user_handle_t last_active;
2843 process_id_t pid;
2844 thread_id_t tid;
2845 atom_t atom;
2846 int is_unicode;
2851 struct set_window_info_request
2853 struct request_header __header;
2854 unsigned int flags;
2855 user_handle_t handle;
2856 unsigned int style;
2857 unsigned int ex_style;
2858 unsigned int id;
2859 int is_unicode;
2860 void* instance;
2861 lparam_t user_data;
2862 int extra_offset;
2863 data_size_t extra_size;
2864 lparam_t extra_value;
2866 struct set_window_info_reply
2868 struct reply_header __header;
2869 unsigned int old_style;
2870 unsigned int old_ex_style;
2871 unsigned int old_id;
2872 void* old_instance;
2873 lparam_t old_user_data;
2874 lparam_t old_extra_value;
2876 #define SET_WIN_STYLE 0x01
2877 #define SET_WIN_EXSTYLE 0x02
2878 #define SET_WIN_ID 0x04
2879 #define SET_WIN_INSTANCE 0x08
2880 #define SET_WIN_USERDATA 0x10
2881 #define SET_WIN_EXTRA 0x20
2882 #define SET_WIN_UNICODE 0x40
2886 struct set_parent_request
2888 struct request_header __header;
2889 user_handle_t handle;
2890 user_handle_t parent;
2892 struct set_parent_reply
2894 struct reply_header __header;
2895 user_handle_t old_parent;
2896 user_handle_t full_parent;
2901 struct get_window_parents_request
2903 struct request_header __header;
2904 user_handle_t handle;
2906 struct get_window_parents_reply
2908 struct reply_header __header;
2909 int count;
2910 /* VARARG(parents,user_handles); */
2915 struct get_window_children_request
2917 struct request_header __header;
2918 obj_handle_t desktop;
2919 user_handle_t parent;
2920 atom_t atom;
2921 thread_id_t tid;
2922 /* VARARG(class,unicode_str); */
2924 struct get_window_children_reply
2926 struct reply_header __header;
2927 int count;
2928 /* VARARG(children,user_handles); */
2933 struct get_window_children_from_point_request
2935 struct request_header __header;
2936 user_handle_t parent;
2937 int x;
2938 int y;
2940 struct get_window_children_from_point_reply
2942 struct reply_header __header;
2943 int count;
2944 /* VARARG(children,user_handles); */
2949 struct get_window_tree_request
2951 struct request_header __header;
2952 user_handle_t handle;
2954 struct get_window_tree_reply
2956 struct reply_header __header;
2957 user_handle_t parent;
2958 user_handle_t owner;
2959 user_handle_t next_sibling;
2960 user_handle_t prev_sibling;
2961 user_handle_t first_sibling;
2962 user_handle_t last_sibling;
2963 user_handle_t first_child;
2964 user_handle_t last_child;
2968 struct set_window_pos_request
2970 struct request_header __header;
2971 unsigned int flags;
2972 user_handle_t handle;
2973 user_handle_t previous;
2974 rectangle_t window;
2975 rectangle_t client;
2976 /* VARARG(valid,rectangles); */
2978 struct set_window_pos_reply
2980 struct reply_header __header;
2981 unsigned int new_style;
2982 unsigned int new_ex_style;
2987 struct get_window_rectangles_request
2989 struct request_header __header;
2990 user_handle_t handle;
2992 struct get_window_rectangles_reply
2994 struct reply_header __header;
2995 rectangle_t window;
2996 rectangle_t visible;
2997 rectangle_t client;
3002 struct get_window_text_request
3004 struct request_header __header;
3005 user_handle_t handle;
3007 struct get_window_text_reply
3009 struct reply_header __header;
3010 /* VARARG(text,unicode_str); */
3015 struct set_window_text_request
3017 struct request_header __header;
3018 user_handle_t handle;
3019 /* VARARG(text,unicode_str); */
3021 struct set_window_text_reply
3023 struct reply_header __header;
3028 struct get_windows_offset_request
3030 struct request_header __header;
3031 user_handle_t from;
3032 user_handle_t to;
3034 struct get_windows_offset_reply
3036 struct reply_header __header;
3037 int x;
3038 int y;
3043 struct get_visible_region_request
3045 struct request_header __header;
3046 user_handle_t window;
3047 unsigned int flags;
3049 struct get_visible_region_reply
3051 struct reply_header __header;
3052 user_handle_t top_win;
3053 rectangle_t top_rect;
3054 rectangle_t win_rect;
3055 data_size_t total_size;
3056 /* VARARG(region,rectangles); */
3061 struct get_window_region_request
3063 struct request_header __header;
3064 user_handle_t window;
3066 struct get_window_region_reply
3068 struct reply_header __header;
3069 data_size_t total_size;
3070 /* VARARG(region,rectangles); */
3075 struct set_window_region_request
3077 struct request_header __header;
3078 user_handle_t window;
3079 int redraw;
3080 /* VARARG(region,rectangles); */
3082 struct set_window_region_reply
3084 struct reply_header __header;
3089 struct get_update_region_request
3091 struct request_header __header;
3092 user_handle_t window;
3093 user_handle_t from_child;
3094 unsigned int flags;
3096 struct get_update_region_reply
3098 struct reply_header __header;
3099 user_handle_t child;
3100 unsigned int flags;
3101 data_size_t total_size;
3102 /* VARARG(region,rectangles); */
3104 #define UPDATE_NONCLIENT 0x01
3105 #define UPDATE_ERASE 0x02
3106 #define UPDATE_PAINT 0x04
3107 #define UPDATE_INTERNALPAINT 0x08
3108 #define UPDATE_ALLCHILDREN 0x10
3109 #define UPDATE_NOCHILDREN 0x20
3110 #define UPDATE_NOREGION 0x40
3111 #define UPDATE_DELAYED_ERASE 0x80
3115 struct update_window_zorder_request
3117 struct request_header __header;
3118 user_handle_t window;
3119 rectangle_t rect;
3121 struct update_window_zorder_reply
3123 struct reply_header __header;
3128 struct redraw_window_request
3130 struct request_header __header;
3131 user_handle_t window;
3132 unsigned int flags;
3133 /* VARARG(region,rectangles); */
3135 struct redraw_window_reply
3137 struct reply_header __header;
3142 struct set_window_property_request
3144 struct request_header __header;
3145 user_handle_t window;
3146 atom_t atom;
3147 obj_handle_t handle;
3148 /* VARARG(name,unicode_str); */
3150 struct set_window_property_reply
3152 struct reply_header __header;
3157 struct remove_window_property_request
3159 struct request_header __header;
3160 user_handle_t window;
3161 atom_t atom;
3162 /* VARARG(name,unicode_str); */
3164 struct remove_window_property_reply
3166 struct reply_header __header;
3167 obj_handle_t handle;
3172 struct get_window_property_request
3174 struct request_header __header;
3175 user_handle_t window;
3176 atom_t atom;
3177 /* VARARG(name,unicode_str); */
3179 struct get_window_property_reply
3181 struct reply_header __header;
3182 obj_handle_t handle;
3187 struct get_window_properties_request
3189 struct request_header __header;
3190 user_handle_t window;
3192 struct get_window_properties_reply
3194 struct reply_header __header;
3195 int total;
3196 /* VARARG(props,properties); */
3201 struct create_winstation_request
3203 struct request_header __header;
3204 unsigned int flags;
3205 unsigned int access;
3206 unsigned int attributes;
3207 /* VARARG(name,unicode_str); */
3209 struct create_winstation_reply
3211 struct reply_header __header;
3212 obj_handle_t handle;
3217 struct open_winstation_request
3219 struct request_header __header;
3220 unsigned int access;
3221 unsigned int attributes;
3222 /* VARARG(name,unicode_str); */
3224 struct open_winstation_reply
3226 struct reply_header __header;
3227 obj_handle_t handle;
3232 struct close_winstation_request
3234 struct request_header __header;
3235 obj_handle_t handle;
3237 struct close_winstation_reply
3239 struct reply_header __header;
3244 struct get_process_winstation_request
3246 struct request_header __header;
3248 struct get_process_winstation_reply
3250 struct reply_header __header;
3251 obj_handle_t handle;
3256 struct set_process_winstation_request
3258 struct request_header __header;
3259 obj_handle_t handle;
3261 struct set_process_winstation_reply
3263 struct reply_header __header;
3268 struct enum_winstation_request
3270 struct request_header __header;
3271 unsigned int index;
3273 struct enum_winstation_reply
3275 struct reply_header __header;
3276 unsigned int next;
3277 /* VARARG(name,unicode_str); */
3282 struct create_desktop_request
3284 struct request_header __header;
3285 unsigned int flags;
3286 unsigned int access;
3287 unsigned int attributes;
3288 /* VARARG(name,unicode_str); */
3290 struct create_desktop_reply
3292 struct reply_header __header;
3293 obj_handle_t handle;
3298 struct open_desktop_request
3300 struct request_header __header;
3301 obj_handle_t winsta;
3302 unsigned int flags;
3303 unsigned int access;
3304 unsigned int attributes;
3305 /* VARARG(name,unicode_str); */
3307 struct open_desktop_reply
3309 struct reply_header __header;
3310 obj_handle_t handle;
3315 struct close_desktop_request
3317 struct request_header __header;
3318 obj_handle_t handle;
3320 struct close_desktop_reply
3322 struct reply_header __header;
3327 struct get_thread_desktop_request
3329 struct request_header __header;
3330 thread_id_t tid;
3332 struct get_thread_desktop_reply
3334 struct reply_header __header;
3335 obj_handle_t handle;
3340 struct set_thread_desktop_request
3342 struct request_header __header;
3343 obj_handle_t handle;
3345 struct set_thread_desktop_reply
3347 struct reply_header __header;
3352 struct enum_desktop_request
3354 struct request_header __header;
3355 obj_handle_t winstation;
3356 unsigned int index;
3358 struct enum_desktop_reply
3360 struct reply_header __header;
3361 unsigned int next;
3362 /* VARARG(name,unicode_str); */
3367 struct set_user_object_info_request
3369 struct request_header __header;
3370 obj_handle_t handle;
3371 unsigned int flags;
3372 unsigned int obj_flags;
3374 struct set_user_object_info_reply
3376 struct reply_header __header;
3377 int is_desktop;
3378 unsigned int old_obj_flags;
3379 /* VARARG(name,unicode_str); */
3381 #define SET_USER_OBJECT_FLAGS 1
3385 struct attach_thread_input_request
3387 struct request_header __header;
3388 thread_id_t tid_from;
3389 thread_id_t tid_to;
3390 int attach;
3392 struct attach_thread_input_reply
3394 struct reply_header __header;
3399 struct get_thread_input_request
3401 struct request_header __header;
3402 thread_id_t tid;
3404 struct get_thread_input_reply
3406 struct reply_header __header;
3407 user_handle_t focus;
3408 user_handle_t capture;
3409 user_handle_t active;
3410 user_handle_t foreground;
3411 user_handle_t menu_owner;
3412 user_handle_t move_size;
3413 user_handle_t caret;
3414 rectangle_t rect;
3419 struct get_last_input_time_request
3421 struct request_header __header;
3423 struct get_last_input_time_reply
3425 struct reply_header __header;
3426 unsigned int time;
3431 struct get_key_state_request
3433 struct request_header __header;
3434 thread_id_t tid;
3435 int key;
3437 struct get_key_state_reply
3439 struct reply_header __header;
3440 unsigned char state;
3441 /* VARARG(keystate,bytes); */
3445 struct set_key_state_request
3447 struct request_header __header;
3448 thread_id_t tid;
3449 /* VARARG(keystate,bytes); */
3451 struct set_key_state_reply
3453 struct reply_header __header;
3457 struct set_foreground_window_request
3459 struct request_header __header;
3460 user_handle_t handle;
3462 struct set_foreground_window_reply
3464 struct reply_header __header;
3465 user_handle_t previous;
3466 int send_msg_old;
3467 int send_msg_new;
3471 struct set_focus_window_request
3473 struct request_header __header;
3474 user_handle_t handle;
3476 struct set_focus_window_reply
3478 struct reply_header __header;
3479 user_handle_t previous;
3483 struct set_active_window_request
3485 struct request_header __header;
3486 user_handle_t handle;
3488 struct set_active_window_reply
3490 struct reply_header __header;
3491 user_handle_t previous;
3495 struct set_capture_window_request
3497 struct request_header __header;
3498 user_handle_t handle;
3499 unsigned int flags;
3501 struct set_capture_window_reply
3503 struct reply_header __header;
3504 user_handle_t previous;
3505 user_handle_t full_handle;
3507 #define CAPTURE_MENU 0x01
3508 #define CAPTURE_MOVESIZE 0x02
3512 struct set_caret_window_request
3514 struct request_header __header;
3515 user_handle_t handle;
3516 int width;
3517 int height;
3519 struct set_caret_window_reply
3521 struct reply_header __header;
3522 user_handle_t previous;
3523 rectangle_t old_rect;
3524 int old_hide;
3525 int old_state;
3530 struct set_caret_info_request
3532 struct request_header __header;
3533 unsigned int flags;
3534 user_handle_t handle;
3535 int x;
3536 int y;
3537 int hide;
3538 int state;
3540 struct set_caret_info_reply
3542 struct reply_header __header;
3543 user_handle_t full_handle;
3544 rectangle_t old_rect;
3545 int old_hide;
3546 int old_state;
3548 #define SET_CARET_POS 0x01
3549 #define SET_CARET_HIDE 0x02
3550 #define SET_CARET_STATE 0x04
3554 struct set_hook_request
3556 struct request_header __header;
3557 int id;
3558 process_id_t pid;
3559 thread_id_t tid;
3560 int event_min;
3561 int event_max;
3562 int flags;
3563 void* proc;
3564 int unicode;
3565 /* VARARG(module,unicode_str); */
3567 struct set_hook_reply
3569 struct reply_header __header;
3570 user_handle_t handle;
3571 unsigned int active_hooks;
3576 struct remove_hook_request
3578 struct request_header __header;
3579 user_handle_t handle;
3580 int id;
3581 void* proc;
3583 struct remove_hook_reply
3585 struct reply_header __header;
3586 unsigned int active_hooks;
3591 struct start_hook_chain_request
3593 struct request_header __header;
3594 int id;
3595 int event;
3596 user_handle_t window;
3597 int object_id;
3598 int child_id;
3600 struct start_hook_chain_reply
3602 struct reply_header __header;
3603 user_handle_t handle;
3604 process_id_t pid;
3605 thread_id_t tid;
3606 void* proc;
3607 int unicode;
3608 unsigned int active_hooks;
3609 /* VARARG(module,unicode_str); */
3614 struct finish_hook_chain_request
3616 struct request_header __header;
3617 int id;
3619 struct finish_hook_chain_reply
3621 struct reply_header __header;
3626 struct get_hook_info_request
3628 struct request_header __header;
3629 user_handle_t handle;
3630 int get_next;
3631 int event;
3632 user_handle_t window;
3633 int object_id;
3634 int child_id;
3636 struct get_hook_info_reply
3638 struct reply_header __header;
3639 user_handle_t handle;
3640 int id;
3641 process_id_t pid;
3642 thread_id_t tid;
3643 void* proc;
3644 int unicode;
3645 /* VARARG(module,unicode_str); */
3650 struct create_class_request
3652 struct request_header __header;
3653 int local;
3654 atom_t atom;
3655 unsigned int style;
3656 void* instance;
3657 int extra;
3658 int win_extra;
3659 void* client_ptr;
3660 /* VARARG(name,unicode_str); */
3662 struct create_class_reply
3664 struct reply_header __header;
3665 atom_t atom;
3670 struct destroy_class_request
3672 struct request_header __header;
3673 atom_t atom;
3674 void* instance;
3675 /* VARARG(name,unicode_str); */
3677 struct destroy_class_reply
3679 struct reply_header __header;
3680 void* client_ptr;
3685 struct set_class_info_request
3687 struct request_header __header;
3688 user_handle_t window;
3689 unsigned int flags;
3690 atom_t atom;
3691 unsigned int style;
3692 int win_extra;
3693 void* instance;
3694 int extra_offset;
3695 data_size_t extra_size;
3696 lparam_t extra_value;
3698 struct set_class_info_reply
3700 struct reply_header __header;
3701 atom_t old_atom;
3702 unsigned int old_style;
3703 int old_extra;
3704 int old_win_extra;
3705 void* old_instance;
3706 lparam_t old_extra_value;
3708 #define SET_CLASS_ATOM 0x0001
3709 #define SET_CLASS_STYLE 0x0002
3710 #define SET_CLASS_WINEXTRA 0x0004
3711 #define SET_CLASS_INSTANCE 0x0008
3712 #define SET_CLASS_EXTRA 0x0010
3716 struct set_clipboard_info_request
3718 struct request_header __header;
3719 unsigned int flags;
3720 user_handle_t clipboard;
3721 user_handle_t owner;
3722 user_handle_t viewer;
3723 unsigned int seqno;
3725 struct set_clipboard_info_reply
3727 struct reply_header __header;
3728 unsigned int flags;
3729 user_handle_t old_clipboard;
3730 user_handle_t old_owner;
3731 user_handle_t old_viewer;
3732 unsigned int seqno;
3735 #define SET_CB_OPEN 0x001
3736 #define SET_CB_OWNER 0x002
3737 #define SET_CB_VIEWER 0x004
3738 #define SET_CB_SEQNO 0x008
3739 #define SET_CB_RELOWNER 0x010
3740 #define SET_CB_CLOSE 0x020
3741 #define CB_OPEN 0x040
3742 #define CB_OWNER 0x080
3743 #define CB_PROCESS 0x100
3747 struct open_token_request
3749 struct request_header __header;
3750 obj_handle_t handle;
3751 unsigned int access;
3752 unsigned int attributes;
3753 unsigned int flags;
3755 struct open_token_reply
3757 struct reply_header __header;
3758 obj_handle_t token;
3760 #define OPEN_TOKEN_THREAD 1
3761 #define OPEN_TOKEN_AS_SELF 2
3765 struct set_global_windows_request
3767 struct request_header __header;
3768 unsigned int flags;
3769 user_handle_t shell_window;
3770 user_handle_t shell_listview;
3771 user_handle_t progman_window;
3772 user_handle_t taskman_window;
3774 struct set_global_windows_reply
3776 struct reply_header __header;
3777 user_handle_t old_shell_window;
3778 user_handle_t old_shell_listview;
3779 user_handle_t old_progman_window;
3780 user_handle_t old_taskman_window;
3782 #define SET_GLOBAL_SHELL_WINDOWS 0x01
3783 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
3784 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
3787 struct adjust_token_privileges_request
3789 struct request_header __header;
3790 obj_handle_t handle;
3791 int disable_all;
3792 int get_modified_state;
3793 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3795 struct adjust_token_privileges_reply
3797 struct reply_header __header;
3798 unsigned int len;
3799 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3803 struct get_token_privileges_request
3805 struct request_header __header;
3806 obj_handle_t handle;
3808 struct get_token_privileges_reply
3810 struct reply_header __header;
3811 unsigned int len;
3812 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3816 struct check_token_privileges_request
3818 struct request_header __header;
3819 obj_handle_t handle;
3820 int all_required;
3821 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3823 struct check_token_privileges_reply
3825 struct reply_header __header;
3826 int has_privileges;
3827 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3830 struct duplicate_token_request
3832 struct request_header __header;
3833 obj_handle_t handle;
3834 unsigned int access;
3835 unsigned int attributes;
3836 int primary;
3837 int impersonation_level;
3839 struct duplicate_token_reply
3841 struct reply_header __header;
3842 obj_handle_t new_handle;
3845 struct access_check_request
3847 struct request_header __header;
3848 obj_handle_t handle;
3849 unsigned int desired_access;
3850 unsigned int mapping_read;
3851 unsigned int mapping_write;
3852 unsigned int mapping_execute;
3853 unsigned int mapping_all;
3854 /* VARARG(sd,security_descriptor); */
3856 struct access_check_reply
3858 struct reply_header __header;
3859 unsigned int access_granted;
3860 unsigned int access_status;
3861 unsigned int privileges_len;
3862 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3865 struct get_token_user_request
3867 struct request_header __header;
3868 obj_handle_t handle;
3870 struct get_token_user_reply
3872 struct reply_header __header;
3873 data_size_t user_len;
3874 /* VARARG(user,SID); */
3877 struct get_token_groups_request
3879 struct request_header __header;
3880 obj_handle_t handle;
3882 struct get_token_groups_reply
3884 struct reply_header __header;
3885 data_size_t user_len;
3886 /* VARARG(user,token_groups); */
3889 struct set_security_object_request
3891 struct request_header __header;
3892 obj_handle_t handle;
3893 unsigned int security_info;
3894 /* VARARG(sd,security_descriptor); */
3896 struct set_security_object_reply
3898 struct reply_header __header;
3901 struct get_security_object_request
3903 struct request_header __header;
3904 obj_handle_t handle;
3905 unsigned int security_info;
3907 struct get_security_object_reply
3909 struct reply_header __header;
3910 unsigned int sd_len;
3911 /* VARARG(sd,security_descriptor); */
3915 struct create_mailslot_request
3917 struct request_header __header;
3918 unsigned int access;
3919 unsigned int attributes;
3920 obj_handle_t rootdir;
3921 unsigned int max_msgsize;
3922 timeout_t read_timeout;
3923 /* VARARG(name,unicode_str); */
3925 struct create_mailslot_reply
3927 struct reply_header __header;
3928 obj_handle_t handle;
3933 struct set_mailslot_info_request
3935 struct request_header __header;
3936 obj_handle_t handle;
3937 unsigned int flags;
3938 timeout_t read_timeout;
3940 struct set_mailslot_info_reply
3942 struct reply_header __header;
3943 unsigned int max_msgsize;
3944 timeout_t read_timeout;
3946 #define MAILSLOT_SET_READ_TIMEOUT 1
3950 struct create_directory_request
3952 struct request_header __header;
3953 unsigned int access;
3954 unsigned int attributes;
3955 obj_handle_t rootdir;
3956 /* VARARG(directory_name,unicode_str); */
3958 struct create_directory_reply
3960 struct reply_header __header;
3961 obj_handle_t handle;
3966 struct open_directory_request
3968 struct request_header __header;
3969 unsigned int access;
3970 unsigned int attributes;
3971 obj_handle_t rootdir;
3972 /* VARARG(directory_name,unicode_str); */
3974 struct open_directory_reply
3976 struct reply_header __header;
3977 obj_handle_t handle;
3982 struct get_directory_entry_request
3984 struct request_header __header;
3985 obj_handle_t handle;
3986 unsigned int index;
3988 struct get_directory_entry_reply
3990 struct reply_header __header;
3991 data_size_t name_len;
3992 /* VARARG(name,unicode_str,name_len); */
3993 /* VARARG(type,unicode_str); */
3998 struct create_symlink_request
4000 struct request_header __header;
4001 unsigned int access;
4002 unsigned int attributes;
4003 obj_handle_t rootdir;
4004 data_size_t name_len;
4005 /* VARARG(name,unicode_str,name_len); */
4006 /* VARARG(target_name,unicode_str); */
4008 struct create_symlink_reply
4010 struct reply_header __header;
4011 obj_handle_t handle;
4016 struct open_symlink_request
4018 struct request_header __header;
4019 unsigned int access;
4020 unsigned int attributes;
4021 obj_handle_t rootdir;
4022 /* VARARG(name,unicode_str); */
4024 struct open_symlink_reply
4026 struct reply_header __header;
4027 obj_handle_t handle;
4032 struct query_symlink_request
4034 struct request_header __header;
4035 obj_handle_t handle;
4037 struct query_symlink_reply
4039 struct reply_header __header;
4040 /* VARARG(target_name,unicode_str); */
4045 struct get_object_info_request
4047 struct request_header __header;
4048 obj_handle_t handle;
4050 struct get_object_info_reply
4052 struct reply_header __header;
4053 unsigned int access;
4054 unsigned int ref_count;
4059 struct unlink_object_request
4061 struct request_header __header;
4062 obj_handle_t handle;
4064 struct unlink_object_reply
4066 struct reply_header __header;
4071 struct get_token_impersonation_level_request
4073 struct request_header __header;
4074 obj_handle_t handle;
4076 struct get_token_impersonation_level_reply
4078 struct reply_header __header;
4079 int impersonation_level;
4083 struct allocate_locally_unique_id_request
4085 struct request_header __header;
4087 struct allocate_locally_unique_id_reply
4089 struct reply_header __header;
4090 luid_t luid;
4095 struct create_device_manager_request
4097 struct request_header __header;
4098 unsigned int access;
4099 unsigned int attributes;
4101 struct create_device_manager_reply
4103 struct reply_header __header;
4104 obj_handle_t handle;
4109 struct create_device_request
4111 struct request_header __header;
4112 unsigned int access;
4113 unsigned int attributes;
4114 obj_handle_t rootdir;
4115 obj_handle_t manager;
4116 void* user_ptr;
4117 /* VARARG(name,unicode_str); */
4119 struct create_device_reply
4121 struct reply_header __header;
4122 obj_handle_t handle;
4127 struct delete_device_request
4129 struct request_header __header;
4130 obj_handle_t handle;
4132 struct delete_device_reply
4134 struct reply_header __header;
4139 struct get_next_device_request_request
4141 struct request_header __header;
4142 obj_handle_t manager;
4143 obj_handle_t prev;
4144 unsigned int status;
4145 /* VARARG(prev_data,bytes); */
4147 struct get_next_device_request_reply
4149 struct reply_header __header;
4150 obj_handle_t next;
4151 ioctl_code_t code;
4152 void* user_ptr;
4153 data_size_t in_size;
4154 data_size_t out_size;
4155 /* VARARG(next_data,bytes); */
4160 struct make_process_system_request
4162 struct request_header __header;
4164 struct make_process_system_reply
4166 struct reply_header __header;
4167 obj_handle_t event;
4172 struct get_token_statistics_request
4174 struct request_header __header;
4175 obj_handle_t handle;
4177 struct get_token_statistics_reply
4179 struct reply_header __header;
4180 luid_t token_id;
4181 luid_t modified_id;
4182 int primary;
4183 int impersonation_level;
4184 int group_count;
4185 int privilege_count;
4190 struct create_completion_request
4192 struct request_header __header;
4193 unsigned int access;
4194 unsigned int attributes;
4195 unsigned int concurrent;
4196 obj_handle_t rootdir;
4197 /* VARARG(filename,string); */
4199 struct create_completion_reply
4201 struct reply_header __header;
4202 obj_handle_t handle;
4207 struct open_completion_request
4209 struct request_header __header;
4210 unsigned int access;
4211 unsigned int attributes;
4212 obj_handle_t rootdir;
4213 /* VARARG(filename,string); */
4215 struct open_completion_reply
4217 struct reply_header __header;
4218 obj_handle_t handle;
4223 struct add_completion_request
4225 struct request_header __header;
4226 obj_handle_t handle;
4227 unsigned long ckey;
4228 unsigned long cvalue;
4229 unsigned long information;
4230 unsigned int status;
4232 struct add_completion_reply
4234 struct reply_header __header;
4239 struct remove_completion_request
4241 struct request_header __header;
4242 obj_handle_t handle;
4244 struct remove_completion_reply
4246 struct reply_header __header;
4247 unsigned long ckey;
4248 unsigned long cvalue;
4249 unsigned long information;
4250 unsigned int status;
4255 struct query_completion_request
4257 struct request_header __header;
4258 obj_handle_t handle;
4260 struct query_completion_reply
4262 struct reply_header __header;
4263 unsigned int depth;
4268 struct set_completion_info_request
4270 struct request_header __header;
4271 obj_handle_t handle;
4272 obj_handle_t chandle;
4273 unsigned long ckey;
4275 struct set_completion_info_reply
4277 struct reply_header __header;
4282 struct add_fd_completion_request
4284 struct request_header __header;
4285 obj_handle_t handle;
4286 unsigned long cvalue;
4287 unsigned int status;
4288 unsigned long information;
4290 struct add_fd_completion_reply
4292 struct reply_header __header;
4297 struct get_window_layered_info_request
4299 struct request_header __header;
4300 user_handle_t handle;
4302 struct get_window_layered_info_reply
4304 struct reply_header __header;
4305 unsigned int color_key;
4306 unsigned int alpha;
4307 unsigned int flags;
4312 struct set_window_layered_info_request
4314 struct request_header __header;
4315 user_handle_t handle;
4316 unsigned int color_key;
4317 unsigned int alpha;
4318 unsigned int flags;
4320 struct set_window_layered_info_reply
4322 struct reply_header __header;
4326 enum request
4328 REQ_new_process,
4329 REQ_get_new_process_info,
4330 REQ_new_thread,
4331 REQ_get_startup_info,
4332 REQ_init_process_done,
4333 REQ_init_thread,
4334 REQ_terminate_process,
4335 REQ_terminate_thread,
4336 REQ_get_process_info,
4337 REQ_set_process_info,
4338 REQ_get_thread_info,
4339 REQ_set_thread_info,
4340 REQ_get_dll_info,
4341 REQ_suspend_thread,
4342 REQ_resume_thread,
4343 REQ_load_dll,
4344 REQ_unload_dll,
4345 REQ_queue_apc,
4346 REQ_get_apc_result,
4347 REQ_close_handle,
4348 REQ_set_handle_info,
4349 REQ_dup_handle,
4350 REQ_open_process,
4351 REQ_open_thread,
4352 REQ_select,
4353 REQ_create_event,
4354 REQ_event_op,
4355 REQ_open_event,
4356 REQ_create_mutex,
4357 REQ_release_mutex,
4358 REQ_open_mutex,
4359 REQ_create_semaphore,
4360 REQ_release_semaphore,
4361 REQ_open_semaphore,
4362 REQ_create_file,
4363 REQ_open_file_object,
4364 REQ_alloc_file_handle,
4365 REQ_get_handle_fd,
4366 REQ_flush_file,
4367 REQ_lock_file,
4368 REQ_unlock_file,
4369 REQ_create_socket,
4370 REQ_accept_socket,
4371 REQ_set_socket_event,
4372 REQ_get_socket_event,
4373 REQ_enable_socket_event,
4374 REQ_set_socket_deferred,
4375 REQ_alloc_console,
4376 REQ_free_console,
4377 REQ_get_console_renderer_events,
4378 REQ_open_console,
4379 REQ_get_console_wait_event,
4380 REQ_get_console_mode,
4381 REQ_set_console_mode,
4382 REQ_set_console_input_info,
4383 REQ_get_console_input_info,
4384 REQ_append_console_input_history,
4385 REQ_get_console_input_history,
4386 REQ_create_console_output,
4387 REQ_set_console_output_info,
4388 REQ_get_console_output_info,
4389 REQ_write_console_input,
4390 REQ_read_console_input,
4391 REQ_write_console_output,
4392 REQ_fill_console_output,
4393 REQ_read_console_output,
4394 REQ_move_console_output,
4395 REQ_send_console_signal,
4396 REQ_read_directory_changes,
4397 REQ_read_change,
4398 REQ_create_mapping,
4399 REQ_open_mapping,
4400 REQ_get_mapping_info,
4401 REQ_get_mapping_committed_range,
4402 REQ_add_mapping_committed_range,
4403 REQ_create_snapshot,
4404 REQ_next_process,
4405 REQ_next_thread,
4406 REQ_wait_debug_event,
4407 REQ_queue_exception_event,
4408 REQ_get_exception_status,
4409 REQ_output_debug_string,
4410 REQ_continue_debug_event,
4411 REQ_debug_process,
4412 REQ_debug_break,
4413 REQ_set_debugger_kill_on_exit,
4414 REQ_read_process_memory,
4415 REQ_write_process_memory,
4416 REQ_create_key,
4417 REQ_open_key,
4418 REQ_delete_key,
4419 REQ_flush_key,
4420 REQ_enum_key,
4421 REQ_set_key_value,
4422 REQ_get_key_value,
4423 REQ_enum_key_value,
4424 REQ_delete_key_value,
4425 REQ_load_registry,
4426 REQ_unload_registry,
4427 REQ_save_registry,
4428 REQ_set_registry_notification,
4429 REQ_create_timer,
4430 REQ_open_timer,
4431 REQ_set_timer,
4432 REQ_cancel_timer,
4433 REQ_get_timer_info,
4434 REQ_get_thread_context,
4435 REQ_set_thread_context,
4436 REQ_get_selector_entry,
4437 REQ_add_atom,
4438 REQ_delete_atom,
4439 REQ_find_atom,
4440 REQ_get_atom_information,
4441 REQ_set_atom_information,
4442 REQ_empty_atom_table,
4443 REQ_init_atom_table,
4444 REQ_get_msg_queue,
4445 REQ_set_queue_fd,
4446 REQ_set_queue_mask,
4447 REQ_get_queue_status,
4448 REQ_get_process_idle_event,
4449 REQ_send_message,
4450 REQ_post_quit_message,
4451 REQ_send_hardware_message,
4452 REQ_get_message,
4453 REQ_reply_message,
4454 REQ_accept_hardware_message,
4455 REQ_get_message_reply,
4456 REQ_set_win_timer,
4457 REQ_kill_win_timer,
4458 REQ_is_window_hung,
4459 REQ_get_serial_info,
4460 REQ_set_serial_info,
4461 REQ_register_async,
4462 REQ_cancel_async,
4463 REQ_ioctl,
4464 REQ_get_ioctl_result,
4465 REQ_create_named_pipe,
4466 REQ_get_named_pipe_info,
4467 REQ_create_window,
4468 REQ_destroy_window,
4469 REQ_get_desktop_window,
4470 REQ_set_window_owner,
4471 REQ_get_window_info,
4472 REQ_set_window_info,
4473 REQ_set_parent,
4474 REQ_get_window_parents,
4475 REQ_get_window_children,
4476 REQ_get_window_children_from_point,
4477 REQ_get_window_tree,
4478 REQ_set_window_pos,
4479 REQ_get_window_rectangles,
4480 REQ_get_window_text,
4481 REQ_set_window_text,
4482 REQ_get_windows_offset,
4483 REQ_get_visible_region,
4484 REQ_get_window_region,
4485 REQ_set_window_region,
4486 REQ_get_update_region,
4487 REQ_update_window_zorder,
4488 REQ_redraw_window,
4489 REQ_set_window_property,
4490 REQ_remove_window_property,
4491 REQ_get_window_property,
4492 REQ_get_window_properties,
4493 REQ_create_winstation,
4494 REQ_open_winstation,
4495 REQ_close_winstation,
4496 REQ_get_process_winstation,
4497 REQ_set_process_winstation,
4498 REQ_enum_winstation,
4499 REQ_create_desktop,
4500 REQ_open_desktop,
4501 REQ_close_desktop,
4502 REQ_get_thread_desktop,
4503 REQ_set_thread_desktop,
4504 REQ_enum_desktop,
4505 REQ_set_user_object_info,
4506 REQ_attach_thread_input,
4507 REQ_get_thread_input,
4508 REQ_get_last_input_time,
4509 REQ_get_key_state,
4510 REQ_set_key_state,
4511 REQ_set_foreground_window,
4512 REQ_set_focus_window,
4513 REQ_set_active_window,
4514 REQ_set_capture_window,
4515 REQ_set_caret_window,
4516 REQ_set_caret_info,
4517 REQ_set_hook,
4518 REQ_remove_hook,
4519 REQ_start_hook_chain,
4520 REQ_finish_hook_chain,
4521 REQ_get_hook_info,
4522 REQ_create_class,
4523 REQ_destroy_class,
4524 REQ_set_class_info,
4525 REQ_set_clipboard_info,
4526 REQ_open_token,
4527 REQ_set_global_windows,
4528 REQ_adjust_token_privileges,
4529 REQ_get_token_privileges,
4530 REQ_check_token_privileges,
4531 REQ_duplicate_token,
4532 REQ_access_check,
4533 REQ_get_token_user,
4534 REQ_get_token_groups,
4535 REQ_set_security_object,
4536 REQ_get_security_object,
4537 REQ_create_mailslot,
4538 REQ_set_mailslot_info,
4539 REQ_create_directory,
4540 REQ_open_directory,
4541 REQ_get_directory_entry,
4542 REQ_create_symlink,
4543 REQ_open_symlink,
4544 REQ_query_symlink,
4545 REQ_get_object_info,
4546 REQ_unlink_object,
4547 REQ_get_token_impersonation_level,
4548 REQ_allocate_locally_unique_id,
4549 REQ_create_device_manager,
4550 REQ_create_device,
4551 REQ_delete_device,
4552 REQ_get_next_device_request,
4553 REQ_make_process_system,
4554 REQ_get_token_statistics,
4555 REQ_create_completion,
4556 REQ_open_completion,
4557 REQ_add_completion,
4558 REQ_remove_completion,
4559 REQ_query_completion,
4560 REQ_set_completion_info,
4561 REQ_add_fd_completion,
4562 REQ_get_window_layered_info,
4563 REQ_set_window_layered_info,
4564 REQ_NB_REQUESTS
4567 union generic_request
4569 struct request_max_size max_size;
4570 struct request_header request_header;
4571 struct new_process_request new_process_request;
4572 struct get_new_process_info_request get_new_process_info_request;
4573 struct new_thread_request new_thread_request;
4574 struct get_startup_info_request get_startup_info_request;
4575 struct init_process_done_request init_process_done_request;
4576 struct init_thread_request init_thread_request;
4577 struct terminate_process_request terminate_process_request;
4578 struct terminate_thread_request terminate_thread_request;
4579 struct get_process_info_request get_process_info_request;
4580 struct set_process_info_request set_process_info_request;
4581 struct get_thread_info_request get_thread_info_request;
4582 struct set_thread_info_request set_thread_info_request;
4583 struct get_dll_info_request get_dll_info_request;
4584 struct suspend_thread_request suspend_thread_request;
4585 struct resume_thread_request resume_thread_request;
4586 struct load_dll_request load_dll_request;
4587 struct unload_dll_request unload_dll_request;
4588 struct queue_apc_request queue_apc_request;
4589 struct get_apc_result_request get_apc_result_request;
4590 struct close_handle_request close_handle_request;
4591 struct set_handle_info_request set_handle_info_request;
4592 struct dup_handle_request dup_handle_request;
4593 struct open_process_request open_process_request;
4594 struct open_thread_request open_thread_request;
4595 struct select_request select_request;
4596 struct create_event_request create_event_request;
4597 struct event_op_request event_op_request;
4598 struct open_event_request open_event_request;
4599 struct create_mutex_request create_mutex_request;
4600 struct release_mutex_request release_mutex_request;
4601 struct open_mutex_request open_mutex_request;
4602 struct create_semaphore_request create_semaphore_request;
4603 struct release_semaphore_request release_semaphore_request;
4604 struct open_semaphore_request open_semaphore_request;
4605 struct create_file_request create_file_request;
4606 struct open_file_object_request open_file_object_request;
4607 struct alloc_file_handle_request alloc_file_handle_request;
4608 struct get_handle_fd_request get_handle_fd_request;
4609 struct flush_file_request flush_file_request;
4610 struct lock_file_request lock_file_request;
4611 struct unlock_file_request unlock_file_request;
4612 struct create_socket_request create_socket_request;
4613 struct accept_socket_request accept_socket_request;
4614 struct set_socket_event_request set_socket_event_request;
4615 struct get_socket_event_request get_socket_event_request;
4616 struct enable_socket_event_request enable_socket_event_request;
4617 struct set_socket_deferred_request set_socket_deferred_request;
4618 struct alloc_console_request alloc_console_request;
4619 struct free_console_request free_console_request;
4620 struct get_console_renderer_events_request get_console_renderer_events_request;
4621 struct open_console_request open_console_request;
4622 struct get_console_wait_event_request get_console_wait_event_request;
4623 struct get_console_mode_request get_console_mode_request;
4624 struct set_console_mode_request set_console_mode_request;
4625 struct set_console_input_info_request set_console_input_info_request;
4626 struct get_console_input_info_request get_console_input_info_request;
4627 struct append_console_input_history_request append_console_input_history_request;
4628 struct get_console_input_history_request get_console_input_history_request;
4629 struct create_console_output_request create_console_output_request;
4630 struct set_console_output_info_request set_console_output_info_request;
4631 struct get_console_output_info_request get_console_output_info_request;
4632 struct write_console_input_request write_console_input_request;
4633 struct read_console_input_request read_console_input_request;
4634 struct write_console_output_request write_console_output_request;
4635 struct fill_console_output_request fill_console_output_request;
4636 struct read_console_output_request read_console_output_request;
4637 struct move_console_output_request move_console_output_request;
4638 struct send_console_signal_request send_console_signal_request;
4639 struct read_directory_changes_request read_directory_changes_request;
4640 struct read_change_request read_change_request;
4641 struct create_mapping_request create_mapping_request;
4642 struct open_mapping_request open_mapping_request;
4643 struct get_mapping_info_request get_mapping_info_request;
4644 struct get_mapping_committed_range_request get_mapping_committed_range_request;
4645 struct add_mapping_committed_range_request add_mapping_committed_range_request;
4646 struct create_snapshot_request create_snapshot_request;
4647 struct next_process_request next_process_request;
4648 struct next_thread_request next_thread_request;
4649 struct wait_debug_event_request wait_debug_event_request;
4650 struct queue_exception_event_request queue_exception_event_request;
4651 struct get_exception_status_request get_exception_status_request;
4652 struct output_debug_string_request output_debug_string_request;
4653 struct continue_debug_event_request continue_debug_event_request;
4654 struct debug_process_request debug_process_request;
4655 struct debug_break_request debug_break_request;
4656 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
4657 struct read_process_memory_request read_process_memory_request;
4658 struct write_process_memory_request write_process_memory_request;
4659 struct create_key_request create_key_request;
4660 struct open_key_request open_key_request;
4661 struct delete_key_request delete_key_request;
4662 struct flush_key_request flush_key_request;
4663 struct enum_key_request enum_key_request;
4664 struct set_key_value_request set_key_value_request;
4665 struct get_key_value_request get_key_value_request;
4666 struct enum_key_value_request enum_key_value_request;
4667 struct delete_key_value_request delete_key_value_request;
4668 struct load_registry_request load_registry_request;
4669 struct unload_registry_request unload_registry_request;
4670 struct save_registry_request save_registry_request;
4671 struct set_registry_notification_request set_registry_notification_request;
4672 struct create_timer_request create_timer_request;
4673 struct open_timer_request open_timer_request;
4674 struct set_timer_request set_timer_request;
4675 struct cancel_timer_request cancel_timer_request;
4676 struct get_timer_info_request get_timer_info_request;
4677 struct get_thread_context_request get_thread_context_request;
4678 struct set_thread_context_request set_thread_context_request;
4679 struct get_selector_entry_request get_selector_entry_request;
4680 struct add_atom_request add_atom_request;
4681 struct delete_atom_request delete_atom_request;
4682 struct find_atom_request find_atom_request;
4683 struct get_atom_information_request get_atom_information_request;
4684 struct set_atom_information_request set_atom_information_request;
4685 struct empty_atom_table_request empty_atom_table_request;
4686 struct init_atom_table_request init_atom_table_request;
4687 struct get_msg_queue_request get_msg_queue_request;
4688 struct set_queue_fd_request set_queue_fd_request;
4689 struct set_queue_mask_request set_queue_mask_request;
4690 struct get_queue_status_request get_queue_status_request;
4691 struct get_process_idle_event_request get_process_idle_event_request;
4692 struct send_message_request send_message_request;
4693 struct post_quit_message_request post_quit_message_request;
4694 struct send_hardware_message_request send_hardware_message_request;
4695 struct get_message_request get_message_request;
4696 struct reply_message_request reply_message_request;
4697 struct accept_hardware_message_request accept_hardware_message_request;
4698 struct get_message_reply_request get_message_reply_request;
4699 struct set_win_timer_request set_win_timer_request;
4700 struct kill_win_timer_request kill_win_timer_request;
4701 struct is_window_hung_request is_window_hung_request;
4702 struct get_serial_info_request get_serial_info_request;
4703 struct set_serial_info_request set_serial_info_request;
4704 struct register_async_request register_async_request;
4705 struct cancel_async_request cancel_async_request;
4706 struct ioctl_request ioctl_request;
4707 struct get_ioctl_result_request get_ioctl_result_request;
4708 struct create_named_pipe_request create_named_pipe_request;
4709 struct get_named_pipe_info_request get_named_pipe_info_request;
4710 struct create_window_request create_window_request;
4711 struct destroy_window_request destroy_window_request;
4712 struct get_desktop_window_request get_desktop_window_request;
4713 struct set_window_owner_request set_window_owner_request;
4714 struct get_window_info_request get_window_info_request;
4715 struct set_window_info_request set_window_info_request;
4716 struct set_parent_request set_parent_request;
4717 struct get_window_parents_request get_window_parents_request;
4718 struct get_window_children_request get_window_children_request;
4719 struct get_window_children_from_point_request get_window_children_from_point_request;
4720 struct get_window_tree_request get_window_tree_request;
4721 struct set_window_pos_request set_window_pos_request;
4722 struct get_window_rectangles_request get_window_rectangles_request;
4723 struct get_window_text_request get_window_text_request;
4724 struct set_window_text_request set_window_text_request;
4725 struct get_windows_offset_request get_windows_offset_request;
4726 struct get_visible_region_request get_visible_region_request;
4727 struct get_window_region_request get_window_region_request;
4728 struct set_window_region_request set_window_region_request;
4729 struct get_update_region_request get_update_region_request;
4730 struct update_window_zorder_request update_window_zorder_request;
4731 struct redraw_window_request redraw_window_request;
4732 struct set_window_property_request set_window_property_request;
4733 struct remove_window_property_request remove_window_property_request;
4734 struct get_window_property_request get_window_property_request;
4735 struct get_window_properties_request get_window_properties_request;
4736 struct create_winstation_request create_winstation_request;
4737 struct open_winstation_request open_winstation_request;
4738 struct close_winstation_request close_winstation_request;
4739 struct get_process_winstation_request get_process_winstation_request;
4740 struct set_process_winstation_request set_process_winstation_request;
4741 struct enum_winstation_request enum_winstation_request;
4742 struct create_desktop_request create_desktop_request;
4743 struct open_desktop_request open_desktop_request;
4744 struct close_desktop_request close_desktop_request;
4745 struct get_thread_desktop_request get_thread_desktop_request;
4746 struct set_thread_desktop_request set_thread_desktop_request;
4747 struct enum_desktop_request enum_desktop_request;
4748 struct set_user_object_info_request set_user_object_info_request;
4749 struct attach_thread_input_request attach_thread_input_request;
4750 struct get_thread_input_request get_thread_input_request;
4751 struct get_last_input_time_request get_last_input_time_request;
4752 struct get_key_state_request get_key_state_request;
4753 struct set_key_state_request set_key_state_request;
4754 struct set_foreground_window_request set_foreground_window_request;
4755 struct set_focus_window_request set_focus_window_request;
4756 struct set_active_window_request set_active_window_request;
4757 struct set_capture_window_request set_capture_window_request;
4758 struct set_caret_window_request set_caret_window_request;
4759 struct set_caret_info_request set_caret_info_request;
4760 struct set_hook_request set_hook_request;
4761 struct remove_hook_request remove_hook_request;
4762 struct start_hook_chain_request start_hook_chain_request;
4763 struct finish_hook_chain_request finish_hook_chain_request;
4764 struct get_hook_info_request get_hook_info_request;
4765 struct create_class_request create_class_request;
4766 struct destroy_class_request destroy_class_request;
4767 struct set_class_info_request set_class_info_request;
4768 struct set_clipboard_info_request set_clipboard_info_request;
4769 struct open_token_request open_token_request;
4770 struct set_global_windows_request set_global_windows_request;
4771 struct adjust_token_privileges_request adjust_token_privileges_request;
4772 struct get_token_privileges_request get_token_privileges_request;
4773 struct check_token_privileges_request check_token_privileges_request;
4774 struct duplicate_token_request duplicate_token_request;
4775 struct access_check_request access_check_request;
4776 struct get_token_user_request get_token_user_request;
4777 struct get_token_groups_request get_token_groups_request;
4778 struct set_security_object_request set_security_object_request;
4779 struct get_security_object_request get_security_object_request;
4780 struct create_mailslot_request create_mailslot_request;
4781 struct set_mailslot_info_request set_mailslot_info_request;
4782 struct create_directory_request create_directory_request;
4783 struct open_directory_request open_directory_request;
4784 struct get_directory_entry_request get_directory_entry_request;
4785 struct create_symlink_request create_symlink_request;
4786 struct open_symlink_request open_symlink_request;
4787 struct query_symlink_request query_symlink_request;
4788 struct get_object_info_request get_object_info_request;
4789 struct unlink_object_request unlink_object_request;
4790 struct get_token_impersonation_level_request get_token_impersonation_level_request;
4791 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
4792 struct create_device_manager_request create_device_manager_request;
4793 struct create_device_request create_device_request;
4794 struct delete_device_request delete_device_request;
4795 struct get_next_device_request_request get_next_device_request_request;
4796 struct make_process_system_request make_process_system_request;
4797 struct get_token_statistics_request get_token_statistics_request;
4798 struct create_completion_request create_completion_request;
4799 struct open_completion_request open_completion_request;
4800 struct add_completion_request add_completion_request;
4801 struct remove_completion_request remove_completion_request;
4802 struct query_completion_request query_completion_request;
4803 struct set_completion_info_request set_completion_info_request;
4804 struct add_fd_completion_request add_fd_completion_request;
4805 struct get_window_layered_info_request get_window_layered_info_request;
4806 struct set_window_layered_info_request set_window_layered_info_request;
4808 union generic_reply
4810 struct request_max_size max_size;
4811 struct reply_header reply_header;
4812 struct new_process_reply new_process_reply;
4813 struct get_new_process_info_reply get_new_process_info_reply;
4814 struct new_thread_reply new_thread_reply;
4815 struct get_startup_info_reply get_startup_info_reply;
4816 struct init_process_done_reply init_process_done_reply;
4817 struct init_thread_reply init_thread_reply;
4818 struct terminate_process_reply terminate_process_reply;
4819 struct terminate_thread_reply terminate_thread_reply;
4820 struct get_process_info_reply get_process_info_reply;
4821 struct set_process_info_reply set_process_info_reply;
4822 struct get_thread_info_reply get_thread_info_reply;
4823 struct set_thread_info_reply set_thread_info_reply;
4824 struct get_dll_info_reply get_dll_info_reply;
4825 struct suspend_thread_reply suspend_thread_reply;
4826 struct resume_thread_reply resume_thread_reply;
4827 struct load_dll_reply load_dll_reply;
4828 struct unload_dll_reply unload_dll_reply;
4829 struct queue_apc_reply queue_apc_reply;
4830 struct get_apc_result_reply get_apc_result_reply;
4831 struct close_handle_reply close_handle_reply;
4832 struct set_handle_info_reply set_handle_info_reply;
4833 struct dup_handle_reply dup_handle_reply;
4834 struct open_process_reply open_process_reply;
4835 struct open_thread_reply open_thread_reply;
4836 struct select_reply select_reply;
4837 struct create_event_reply create_event_reply;
4838 struct event_op_reply event_op_reply;
4839 struct open_event_reply open_event_reply;
4840 struct create_mutex_reply create_mutex_reply;
4841 struct release_mutex_reply release_mutex_reply;
4842 struct open_mutex_reply open_mutex_reply;
4843 struct create_semaphore_reply create_semaphore_reply;
4844 struct release_semaphore_reply release_semaphore_reply;
4845 struct open_semaphore_reply open_semaphore_reply;
4846 struct create_file_reply create_file_reply;
4847 struct open_file_object_reply open_file_object_reply;
4848 struct alloc_file_handle_reply alloc_file_handle_reply;
4849 struct get_handle_fd_reply get_handle_fd_reply;
4850 struct flush_file_reply flush_file_reply;
4851 struct lock_file_reply lock_file_reply;
4852 struct unlock_file_reply unlock_file_reply;
4853 struct create_socket_reply create_socket_reply;
4854 struct accept_socket_reply accept_socket_reply;
4855 struct set_socket_event_reply set_socket_event_reply;
4856 struct get_socket_event_reply get_socket_event_reply;
4857 struct enable_socket_event_reply enable_socket_event_reply;
4858 struct set_socket_deferred_reply set_socket_deferred_reply;
4859 struct alloc_console_reply alloc_console_reply;
4860 struct free_console_reply free_console_reply;
4861 struct get_console_renderer_events_reply get_console_renderer_events_reply;
4862 struct open_console_reply open_console_reply;
4863 struct get_console_wait_event_reply get_console_wait_event_reply;
4864 struct get_console_mode_reply get_console_mode_reply;
4865 struct set_console_mode_reply set_console_mode_reply;
4866 struct set_console_input_info_reply set_console_input_info_reply;
4867 struct get_console_input_info_reply get_console_input_info_reply;
4868 struct append_console_input_history_reply append_console_input_history_reply;
4869 struct get_console_input_history_reply get_console_input_history_reply;
4870 struct create_console_output_reply create_console_output_reply;
4871 struct set_console_output_info_reply set_console_output_info_reply;
4872 struct get_console_output_info_reply get_console_output_info_reply;
4873 struct write_console_input_reply write_console_input_reply;
4874 struct read_console_input_reply read_console_input_reply;
4875 struct write_console_output_reply write_console_output_reply;
4876 struct fill_console_output_reply fill_console_output_reply;
4877 struct read_console_output_reply read_console_output_reply;
4878 struct move_console_output_reply move_console_output_reply;
4879 struct send_console_signal_reply send_console_signal_reply;
4880 struct read_directory_changes_reply read_directory_changes_reply;
4881 struct read_change_reply read_change_reply;
4882 struct create_mapping_reply create_mapping_reply;
4883 struct open_mapping_reply open_mapping_reply;
4884 struct get_mapping_info_reply get_mapping_info_reply;
4885 struct get_mapping_committed_range_reply get_mapping_committed_range_reply;
4886 struct add_mapping_committed_range_reply add_mapping_committed_range_reply;
4887 struct create_snapshot_reply create_snapshot_reply;
4888 struct next_process_reply next_process_reply;
4889 struct next_thread_reply next_thread_reply;
4890 struct wait_debug_event_reply wait_debug_event_reply;
4891 struct queue_exception_event_reply queue_exception_event_reply;
4892 struct get_exception_status_reply get_exception_status_reply;
4893 struct output_debug_string_reply output_debug_string_reply;
4894 struct continue_debug_event_reply continue_debug_event_reply;
4895 struct debug_process_reply debug_process_reply;
4896 struct debug_break_reply debug_break_reply;
4897 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
4898 struct read_process_memory_reply read_process_memory_reply;
4899 struct write_process_memory_reply write_process_memory_reply;
4900 struct create_key_reply create_key_reply;
4901 struct open_key_reply open_key_reply;
4902 struct delete_key_reply delete_key_reply;
4903 struct flush_key_reply flush_key_reply;
4904 struct enum_key_reply enum_key_reply;
4905 struct set_key_value_reply set_key_value_reply;
4906 struct get_key_value_reply get_key_value_reply;
4907 struct enum_key_value_reply enum_key_value_reply;
4908 struct delete_key_value_reply delete_key_value_reply;
4909 struct load_registry_reply load_registry_reply;
4910 struct unload_registry_reply unload_registry_reply;
4911 struct save_registry_reply save_registry_reply;
4912 struct set_registry_notification_reply set_registry_notification_reply;
4913 struct create_timer_reply create_timer_reply;
4914 struct open_timer_reply open_timer_reply;
4915 struct set_timer_reply set_timer_reply;
4916 struct cancel_timer_reply cancel_timer_reply;
4917 struct get_timer_info_reply get_timer_info_reply;
4918 struct get_thread_context_reply get_thread_context_reply;
4919 struct set_thread_context_reply set_thread_context_reply;
4920 struct get_selector_entry_reply get_selector_entry_reply;
4921 struct add_atom_reply add_atom_reply;
4922 struct delete_atom_reply delete_atom_reply;
4923 struct find_atom_reply find_atom_reply;
4924 struct get_atom_information_reply get_atom_information_reply;
4925 struct set_atom_information_reply set_atom_information_reply;
4926 struct empty_atom_table_reply empty_atom_table_reply;
4927 struct init_atom_table_reply init_atom_table_reply;
4928 struct get_msg_queue_reply get_msg_queue_reply;
4929 struct set_queue_fd_reply set_queue_fd_reply;
4930 struct set_queue_mask_reply set_queue_mask_reply;
4931 struct get_queue_status_reply get_queue_status_reply;
4932 struct get_process_idle_event_reply get_process_idle_event_reply;
4933 struct send_message_reply send_message_reply;
4934 struct post_quit_message_reply post_quit_message_reply;
4935 struct send_hardware_message_reply send_hardware_message_reply;
4936 struct get_message_reply get_message_reply;
4937 struct reply_message_reply reply_message_reply;
4938 struct accept_hardware_message_reply accept_hardware_message_reply;
4939 struct get_message_reply_reply get_message_reply_reply;
4940 struct set_win_timer_reply set_win_timer_reply;
4941 struct kill_win_timer_reply kill_win_timer_reply;
4942 struct is_window_hung_reply is_window_hung_reply;
4943 struct get_serial_info_reply get_serial_info_reply;
4944 struct set_serial_info_reply set_serial_info_reply;
4945 struct register_async_reply register_async_reply;
4946 struct cancel_async_reply cancel_async_reply;
4947 struct ioctl_reply ioctl_reply;
4948 struct get_ioctl_result_reply get_ioctl_result_reply;
4949 struct create_named_pipe_reply create_named_pipe_reply;
4950 struct get_named_pipe_info_reply get_named_pipe_info_reply;
4951 struct create_window_reply create_window_reply;
4952 struct destroy_window_reply destroy_window_reply;
4953 struct get_desktop_window_reply get_desktop_window_reply;
4954 struct set_window_owner_reply set_window_owner_reply;
4955 struct get_window_info_reply get_window_info_reply;
4956 struct set_window_info_reply set_window_info_reply;
4957 struct set_parent_reply set_parent_reply;
4958 struct get_window_parents_reply get_window_parents_reply;
4959 struct get_window_children_reply get_window_children_reply;
4960 struct get_window_children_from_point_reply get_window_children_from_point_reply;
4961 struct get_window_tree_reply get_window_tree_reply;
4962 struct set_window_pos_reply set_window_pos_reply;
4963 struct get_window_rectangles_reply get_window_rectangles_reply;
4964 struct get_window_text_reply get_window_text_reply;
4965 struct set_window_text_reply set_window_text_reply;
4966 struct get_windows_offset_reply get_windows_offset_reply;
4967 struct get_visible_region_reply get_visible_region_reply;
4968 struct get_window_region_reply get_window_region_reply;
4969 struct set_window_region_reply set_window_region_reply;
4970 struct get_update_region_reply get_update_region_reply;
4971 struct update_window_zorder_reply update_window_zorder_reply;
4972 struct redraw_window_reply redraw_window_reply;
4973 struct set_window_property_reply set_window_property_reply;
4974 struct remove_window_property_reply remove_window_property_reply;
4975 struct get_window_property_reply get_window_property_reply;
4976 struct get_window_properties_reply get_window_properties_reply;
4977 struct create_winstation_reply create_winstation_reply;
4978 struct open_winstation_reply open_winstation_reply;
4979 struct close_winstation_reply close_winstation_reply;
4980 struct get_process_winstation_reply get_process_winstation_reply;
4981 struct set_process_winstation_reply set_process_winstation_reply;
4982 struct enum_winstation_reply enum_winstation_reply;
4983 struct create_desktop_reply create_desktop_reply;
4984 struct open_desktop_reply open_desktop_reply;
4985 struct close_desktop_reply close_desktop_reply;
4986 struct get_thread_desktop_reply get_thread_desktop_reply;
4987 struct set_thread_desktop_reply set_thread_desktop_reply;
4988 struct enum_desktop_reply enum_desktop_reply;
4989 struct set_user_object_info_reply set_user_object_info_reply;
4990 struct attach_thread_input_reply attach_thread_input_reply;
4991 struct get_thread_input_reply get_thread_input_reply;
4992 struct get_last_input_time_reply get_last_input_time_reply;
4993 struct get_key_state_reply get_key_state_reply;
4994 struct set_key_state_reply set_key_state_reply;
4995 struct set_foreground_window_reply set_foreground_window_reply;
4996 struct set_focus_window_reply set_focus_window_reply;
4997 struct set_active_window_reply set_active_window_reply;
4998 struct set_capture_window_reply set_capture_window_reply;
4999 struct set_caret_window_reply set_caret_window_reply;
5000 struct set_caret_info_reply set_caret_info_reply;
5001 struct set_hook_reply set_hook_reply;
5002 struct remove_hook_reply remove_hook_reply;
5003 struct start_hook_chain_reply start_hook_chain_reply;
5004 struct finish_hook_chain_reply finish_hook_chain_reply;
5005 struct get_hook_info_reply get_hook_info_reply;
5006 struct create_class_reply create_class_reply;
5007 struct destroy_class_reply destroy_class_reply;
5008 struct set_class_info_reply set_class_info_reply;
5009 struct set_clipboard_info_reply set_clipboard_info_reply;
5010 struct open_token_reply open_token_reply;
5011 struct set_global_windows_reply set_global_windows_reply;
5012 struct adjust_token_privileges_reply adjust_token_privileges_reply;
5013 struct get_token_privileges_reply get_token_privileges_reply;
5014 struct check_token_privileges_reply check_token_privileges_reply;
5015 struct duplicate_token_reply duplicate_token_reply;
5016 struct access_check_reply access_check_reply;
5017 struct get_token_user_reply get_token_user_reply;
5018 struct get_token_groups_reply get_token_groups_reply;
5019 struct set_security_object_reply set_security_object_reply;
5020 struct get_security_object_reply get_security_object_reply;
5021 struct create_mailslot_reply create_mailslot_reply;
5022 struct set_mailslot_info_reply set_mailslot_info_reply;
5023 struct create_directory_reply create_directory_reply;
5024 struct open_directory_reply open_directory_reply;
5025 struct get_directory_entry_reply get_directory_entry_reply;
5026 struct create_symlink_reply create_symlink_reply;
5027 struct open_symlink_reply open_symlink_reply;
5028 struct query_symlink_reply query_symlink_reply;
5029 struct get_object_info_reply get_object_info_reply;
5030 struct unlink_object_reply unlink_object_reply;
5031 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
5032 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
5033 struct create_device_manager_reply create_device_manager_reply;
5034 struct create_device_reply create_device_reply;
5035 struct delete_device_reply delete_device_reply;
5036 struct get_next_device_request_reply get_next_device_request_reply;
5037 struct make_process_system_reply make_process_system_reply;
5038 struct get_token_statistics_reply get_token_statistics_reply;
5039 struct create_completion_reply create_completion_reply;
5040 struct open_completion_reply open_completion_reply;
5041 struct add_completion_reply add_completion_reply;
5042 struct remove_completion_reply remove_completion_reply;
5043 struct query_completion_reply query_completion_reply;
5044 struct set_completion_info_reply set_completion_info_reply;
5045 struct add_fd_completion_reply add_fd_completion_reply;
5046 struct get_window_layered_info_reply get_window_layered_info_reply;
5047 struct set_window_layered_info_reply set_window_layered_info_reply;
5050 #define SERVER_PROTOCOL_VERSION 349
5052 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */