push(c) 7dcddf6204ed5518706a76fe66fd836d81e70dd4
[wine/hacks.git] / include / wine / server_protocol.h
blobb1620b9d5e95de7bbb8dbfe186cba4fd0f4f81e4
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 void *obj_handle_t;
19 typedef void *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;
26 struct request_header
28 int req;
29 data_size_t request_size;
30 data_size_t reply_size;
33 struct reply_header
35 unsigned int error;
36 data_size_t reply_size;
41 struct request_max_size
43 int pad[16];
46 #define FIRST_USER_HANDLE 0x0020
47 #define LAST_USER_HANDLE 0xffef
51 struct debug_event_exception
53 EXCEPTION_RECORD record;
54 int first;
56 struct debug_event_create_thread
58 obj_handle_t handle;
59 void *teb;
60 void *start;
62 struct debug_event_create_process
64 obj_handle_t file;
65 obj_handle_t process;
66 obj_handle_t thread;
67 void *base;
68 int dbg_offset;
69 int dbg_size;
70 void *teb;
71 void *start;
72 void *name;
73 int unicode;
75 struct debug_event_exit
77 int exit_code;
79 struct debug_event_load_dll
81 obj_handle_t handle;
82 void *base;
83 int dbg_offset;
84 int dbg_size;
85 void *name;
86 int unicode;
88 struct debug_event_unload_dll
90 void *base;
92 struct debug_event_output_string
94 void *string;
95 int unicode;
96 int length;
98 struct debug_event_rip_info
100 int error;
101 int type;
103 union debug_event_data
105 struct debug_event_exception exception;
106 struct debug_event_create_thread create_thread;
107 struct debug_event_create_process create_process;
108 struct debug_event_exit exit;
109 struct debug_event_load_dll load_dll;
110 struct debug_event_unload_dll unload_dll;
111 struct debug_event_output_string output_string;
112 struct debug_event_rip_info rip_info;
116 typedef struct
118 int code;
119 union debug_event_data info;
120 } debug_event_t;
123 struct send_fd
125 thread_id_t tid;
126 int fd;
130 struct wake_up_reply
132 void *cookie;
133 int signaled;
137 typedef __int64 timeout_t;
138 #define TIMEOUT_INFINITE (((timeout_t)0x7fffffff) << 32 | 0xffffffff)
141 typedef struct
143 atom_t atom;
144 short string;
145 obj_handle_t handle;
146 } property_data_t;
149 typedef struct
151 int left;
152 int top;
153 int right;
154 int bottom;
155 } rectangle_t;
158 typedef struct
160 void *callback;
161 void *iosb;
162 void *arg;
163 void *apc;
164 obj_handle_t event;
165 } async_data_t;
169 struct callback_msg_data
171 void *callback;
172 unsigned long data;
173 unsigned long result;
176 struct winevent_msg_data
178 user_handle_t hook;
179 thread_id_t tid;
180 void *hook_proc;
184 typedef union
186 unsigned char bytes[1];
187 struct callback_msg_data callback;
188 struct winevent_msg_data winevent;
189 } message_data_t;
192 typedef struct
194 WCHAR ch;
195 unsigned short attr;
196 } char_info_t;
198 typedef struct
200 unsigned int low_part;
201 int high_part;
202 } luid_t;
204 #define MAX_ACL_LEN 65535
206 struct security_descriptor
208 unsigned int control;
209 data_size_t owner_len;
210 data_size_t group_len;
211 data_size_t sacl_len;
212 data_size_t dacl_len;
219 struct token_groups
221 unsigned int count;
226 enum apc_type
228 APC_NONE,
229 APC_USER,
230 APC_TIMER,
231 APC_ASYNC_IO,
232 APC_VIRTUAL_ALLOC,
233 APC_VIRTUAL_FREE,
234 APC_VIRTUAL_QUERY,
235 APC_VIRTUAL_PROTECT,
236 APC_VIRTUAL_FLUSH,
237 APC_VIRTUAL_LOCK,
238 APC_VIRTUAL_UNLOCK,
239 APC_MAP_VIEW,
240 APC_UNMAP_VIEW,
241 APC_CREATE_THREAD
244 typedef union
246 enum apc_type type;
247 struct
249 enum apc_type type;
250 void (__stdcall *func)(unsigned long,unsigned long,unsigned long);
251 unsigned long args[3];
252 } user;
253 struct
255 enum apc_type type;
256 void (__stdcall *func)(void*, unsigned int, unsigned int);
257 timeout_t time;
258 void *arg;
259 } timer;
260 struct
262 enum apc_type type;
263 unsigned int (*func)(void*, void*, unsigned int);
264 void *user;
265 void *sb;
266 unsigned int status;
267 } async_io;
268 struct
270 enum apc_type type;
271 void *addr;
272 unsigned long size;
273 unsigned int zero_bits;
274 unsigned int op_type;
275 unsigned int prot;
276 } virtual_alloc;
277 struct
279 enum apc_type type;
280 void *addr;
281 unsigned long size;
282 unsigned int op_type;
283 } virtual_free;
284 struct
286 enum apc_type type;
287 const void *addr;
288 } virtual_query;
289 struct
291 enum apc_type type;
292 void *addr;
293 unsigned long size;
294 unsigned int prot;
295 } virtual_protect;
296 struct
298 enum apc_type type;
299 const void *addr;
300 unsigned long size;
301 } virtual_flush;
302 struct
304 enum apc_type type;
305 void *addr;
306 unsigned long size;
307 } virtual_lock;
308 struct
310 enum apc_type type;
311 void *addr;
312 unsigned long size;
313 } virtual_unlock;
314 struct
316 enum apc_type type;
317 obj_handle_t handle;
318 void *addr;
319 unsigned long size;
320 unsigned int offset_low;
321 unsigned int offset_high;
322 unsigned int zero_bits;
323 unsigned int alloc_type;
324 unsigned int prot;
325 } map_view;
326 struct
328 enum apc_type type;
329 void *addr;
330 } unmap_view;
331 struct
333 enum apc_type type;
334 void (__stdcall *func)(void*);
335 void *arg;
336 unsigned long reserve;
337 unsigned long commit;
338 int suspend;
339 } create_thread;
340 } apc_call_t;
342 typedef union
344 enum apc_type type;
345 struct
347 enum apc_type type;
348 unsigned int status;
349 } async_io;
350 struct
352 enum apc_type type;
353 unsigned int status;
354 void *addr;
355 unsigned long size;
356 } virtual_alloc;
357 struct
359 enum apc_type type;
360 unsigned int status;
361 void *addr;
362 unsigned long size;
363 } virtual_free;
364 struct
366 enum apc_type type;
367 unsigned int status;
368 void *base;
369 void *alloc_base;
370 unsigned long size;
371 unsigned int state;
372 unsigned int prot;
373 unsigned int alloc_prot;
374 unsigned int alloc_type;
375 } virtual_query;
376 struct
378 enum apc_type type;
379 unsigned int status;
380 void *addr;
381 unsigned long size;
382 unsigned int prot;
383 } virtual_protect;
384 struct
386 enum apc_type type;
387 unsigned int status;
388 const void *addr;
389 unsigned long size;
390 } virtual_flush;
391 struct
393 enum apc_type type;
394 unsigned int status;
395 void *addr;
396 unsigned long size;
397 } virtual_lock;
398 struct
400 enum apc_type type;
401 unsigned int status;
402 void *addr;
403 unsigned long size;
404 } virtual_unlock;
405 struct
407 enum apc_type type;
408 unsigned int status;
409 void *addr;
410 unsigned long size;
411 } map_view;
412 struct
414 enum apc_type type;
415 unsigned int status;
416 } unmap_view;
417 struct
419 enum apc_type type;
420 unsigned int status;
421 thread_id_t tid;
422 obj_handle_t handle;
423 } create_thread;
424 } apc_result_t;
430 struct new_process_request
432 struct request_header __header;
433 int inherit_all;
434 unsigned int create_flags;
435 int socket_fd;
436 obj_handle_t exe_file;
437 obj_handle_t hstdin;
438 obj_handle_t hstdout;
439 obj_handle_t hstderr;
440 unsigned int process_access;
441 unsigned int process_attr;
442 unsigned int thread_access;
443 unsigned int thread_attr;
444 /* VARARG(info,startup_info); */
445 /* VARARG(env,unicode_str); */
447 struct new_process_reply
449 struct reply_header __header;
450 obj_handle_t info;
451 process_id_t pid;
452 obj_handle_t phandle;
453 thread_id_t tid;
454 obj_handle_t thandle;
459 struct get_new_process_info_request
461 struct request_header __header;
462 obj_handle_t info;
464 struct get_new_process_info_reply
466 struct reply_header __header;
467 int success;
468 int exit_code;
473 struct new_thread_request
475 struct request_header __header;
476 unsigned int access;
477 unsigned int attributes;
478 int suspend;
479 int request_fd;
481 struct new_thread_reply
483 struct reply_header __header;
484 thread_id_t tid;
485 obj_handle_t handle;
490 struct get_startup_info_request
492 struct request_header __header;
494 struct get_startup_info_reply
496 struct reply_header __header;
497 obj_handle_t exe_file;
498 obj_handle_t hstdin;
499 obj_handle_t hstdout;
500 obj_handle_t hstderr;
501 /* VARARG(info,startup_info); */
502 /* VARARG(env,unicode_str); */
507 struct init_process_done_request
509 struct request_header __header;
510 void* module;
511 void* entry;
512 int gui;
514 struct init_process_done_reply
516 struct reply_header __header;
521 struct init_thread_request
523 struct request_header __header;
524 int unix_pid;
525 int unix_tid;
526 int debug_level;
527 void* teb;
528 void* peb;
529 void* entry;
530 void* ldt_copy;
531 int reply_fd;
532 int wait_fd;
534 struct init_thread_reply
536 struct reply_header __header;
537 process_id_t pid;
538 thread_id_t tid;
539 data_size_t info_size;
540 timeout_t server_start;
541 int version;
546 struct terminate_process_request
548 struct request_header __header;
549 obj_handle_t handle;
550 int exit_code;
552 struct terminate_process_reply
554 struct reply_header __header;
555 int self;
560 struct terminate_thread_request
562 struct request_header __header;
563 obj_handle_t handle;
564 int exit_code;
566 struct terminate_thread_reply
568 struct reply_header __header;
569 int self;
570 int last;
575 struct get_process_info_request
577 struct request_header __header;
578 obj_handle_t handle;
580 struct get_process_info_reply
582 struct reply_header __header;
583 process_id_t pid;
584 process_id_t ppid;
585 int exit_code;
586 int priority;
587 int affinity;
588 void* peb;
589 timeout_t start_time;
590 timeout_t end_time;
595 struct set_process_info_request
597 struct request_header __header;
598 obj_handle_t handle;
599 int mask;
600 int priority;
601 int affinity;
603 struct set_process_info_reply
605 struct reply_header __header;
607 #define SET_PROCESS_INFO_PRIORITY 0x01
608 #define SET_PROCESS_INFO_AFFINITY 0x02
612 struct get_thread_info_request
614 struct request_header __header;
615 obj_handle_t handle;
616 thread_id_t tid_in;
618 struct get_thread_info_reply
620 struct reply_header __header;
621 process_id_t pid;
622 thread_id_t tid;
623 void* teb;
624 int exit_code;
625 int priority;
626 int affinity;
627 timeout_t creation_time;
628 timeout_t exit_time;
629 int last;
634 struct set_thread_info_request
636 struct request_header __header;
637 obj_handle_t handle;
638 int mask;
639 int priority;
640 int affinity;
641 obj_handle_t token;
643 struct set_thread_info_reply
645 struct reply_header __header;
647 #define SET_THREAD_INFO_PRIORITY 0x01
648 #define SET_THREAD_INFO_AFFINITY 0x02
649 #define SET_THREAD_INFO_TOKEN 0x04
653 struct get_dll_info_request
655 struct request_header __header;
656 obj_handle_t handle;
657 void* base_address;
659 struct get_dll_info_reply
661 struct reply_header __header;
662 size_t size;
663 void* entry_point;
664 /* VARARG(filename,unicode_str); */
669 struct suspend_thread_request
671 struct request_header __header;
672 obj_handle_t handle;
674 struct suspend_thread_reply
676 struct reply_header __header;
677 int count;
682 struct resume_thread_request
684 struct request_header __header;
685 obj_handle_t handle;
687 struct resume_thread_reply
689 struct reply_header __header;
690 int count;
695 struct load_dll_request
697 struct request_header __header;
698 obj_handle_t handle;
699 void* base;
700 size_t size;
701 int dbg_offset;
702 int dbg_size;
703 void* name;
704 /* VARARG(filename,unicode_str); */
706 struct load_dll_reply
708 struct reply_header __header;
713 struct unload_dll_request
715 struct request_header __header;
716 void* base;
718 struct unload_dll_reply
720 struct reply_header __header;
725 struct queue_apc_request
727 struct request_header __header;
728 obj_handle_t thread;
729 obj_handle_t process;
730 apc_call_t call;
732 struct queue_apc_reply
734 struct reply_header __header;
735 obj_handle_t handle;
736 int self;
741 struct get_apc_result_request
743 struct request_header __header;
744 obj_handle_t handle;
746 struct get_apc_result_reply
748 struct reply_header __header;
749 apc_result_t result;
754 struct close_handle_request
756 struct request_header __header;
757 obj_handle_t handle;
759 struct close_handle_reply
761 struct reply_header __header;
766 struct set_handle_info_request
768 struct request_header __header;
769 obj_handle_t handle;
770 int flags;
771 int mask;
773 struct set_handle_info_reply
775 struct reply_header __header;
776 int old_flags;
781 struct dup_handle_request
783 struct request_header __header;
784 obj_handle_t src_process;
785 obj_handle_t src_handle;
786 obj_handle_t dst_process;
787 unsigned int access;
788 unsigned int attributes;
789 unsigned int options;
791 struct dup_handle_reply
793 struct reply_header __header;
794 obj_handle_t handle;
795 int self;
796 int closed;
798 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
799 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
800 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
804 struct open_process_request
806 struct request_header __header;
807 process_id_t pid;
808 unsigned int access;
809 unsigned int attributes;
811 struct open_process_reply
813 struct reply_header __header;
814 obj_handle_t handle;
819 struct open_thread_request
821 struct request_header __header;
822 thread_id_t tid;
823 unsigned int access;
824 unsigned int attributes;
826 struct open_thread_reply
828 struct reply_header __header;
829 obj_handle_t handle;
834 struct select_request
836 struct request_header __header;
837 int flags;
838 void* cookie;
839 obj_handle_t signal;
840 obj_handle_t prev_apc;
841 timeout_t timeout;
842 /* VARARG(result,apc_result); */
843 /* VARARG(handles,handles); */
845 struct select_reply
847 struct reply_header __header;
848 obj_handle_t apc_handle;
849 timeout_t timeout;
850 apc_call_t call;
852 #define SELECT_ALL 1
853 #define SELECT_ALERTABLE 2
854 #define SELECT_INTERRUPTIBLE 4
858 struct create_event_request
860 struct request_header __header;
861 unsigned int access;
862 unsigned int attributes;
863 obj_handle_t rootdir;
864 int manual_reset;
865 int initial_state;
866 /* VARARG(name,unicode_str); */
868 struct create_event_reply
870 struct reply_header __header;
871 obj_handle_t handle;
875 struct event_op_request
877 struct request_header __header;
878 obj_handle_t handle;
879 int op;
881 struct event_op_reply
883 struct reply_header __header;
885 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
889 struct open_event_request
891 struct request_header __header;
892 unsigned int access;
893 unsigned int attributes;
894 obj_handle_t rootdir;
895 /* VARARG(name,unicode_str); */
897 struct open_event_reply
899 struct reply_header __header;
900 obj_handle_t handle;
905 struct create_mutex_request
907 struct request_header __header;
908 unsigned int access;
909 unsigned int attributes;
910 obj_handle_t rootdir;
911 int owned;
912 /* VARARG(name,unicode_str); */
914 struct create_mutex_reply
916 struct reply_header __header;
917 obj_handle_t handle;
922 struct release_mutex_request
924 struct request_header __header;
925 obj_handle_t handle;
927 struct release_mutex_reply
929 struct reply_header __header;
930 unsigned int prev_count;
935 struct open_mutex_request
937 struct request_header __header;
938 unsigned int access;
939 unsigned int attributes;
940 obj_handle_t rootdir;
941 /* VARARG(name,unicode_str); */
943 struct open_mutex_reply
945 struct reply_header __header;
946 obj_handle_t handle;
951 struct create_semaphore_request
953 struct request_header __header;
954 unsigned int access;
955 unsigned int attributes;
956 obj_handle_t rootdir;
957 unsigned int initial;
958 unsigned int max;
959 /* VARARG(name,unicode_str); */
961 struct create_semaphore_reply
963 struct reply_header __header;
964 obj_handle_t handle;
969 struct release_semaphore_request
971 struct request_header __header;
972 obj_handle_t handle;
973 unsigned int count;
975 struct release_semaphore_reply
977 struct reply_header __header;
978 unsigned int prev_count;
983 struct open_semaphore_request
985 struct request_header __header;
986 unsigned int access;
987 unsigned int attributes;
988 obj_handle_t rootdir;
989 /* VARARG(name,unicode_str); */
991 struct open_semaphore_reply
993 struct reply_header __header;
994 obj_handle_t handle;
999 struct create_file_request
1001 struct request_header __header;
1002 unsigned int access;
1003 unsigned int attributes;
1004 unsigned int sharing;
1005 int create;
1006 unsigned int options;
1007 unsigned int attrs;
1008 /* VARARG(filename,string); */
1010 struct create_file_reply
1012 struct reply_header __header;
1013 obj_handle_t handle;
1018 struct open_file_object_request
1020 struct request_header __header;
1021 unsigned int access;
1022 unsigned int attributes;
1023 obj_handle_t rootdir;
1024 unsigned int sharing;
1025 unsigned int options;
1026 /* VARARG(filename,unicode_str); */
1028 struct open_file_object_reply
1030 struct reply_header __header;
1031 obj_handle_t handle;
1036 struct alloc_file_handle_request
1038 struct request_header __header;
1039 unsigned int access;
1040 unsigned int attributes;
1041 int fd;
1043 struct alloc_file_handle_reply
1045 struct reply_header __header;
1046 obj_handle_t handle;
1051 struct get_handle_fd_request
1053 struct request_header __header;
1054 obj_handle_t handle;
1056 struct get_handle_fd_reply
1058 struct reply_header __header;
1059 int type;
1060 int removable;
1061 unsigned int access;
1062 unsigned int options;
1064 enum server_fd_type
1066 FD_TYPE_INVALID,
1067 FD_TYPE_FILE,
1068 FD_TYPE_DIR,
1069 FD_TYPE_SOCKET,
1070 FD_TYPE_SERIAL,
1071 FD_TYPE_PIPE,
1072 FD_TYPE_MAILSLOT,
1073 FD_TYPE_CHAR,
1074 FD_TYPE_DEVICE,
1075 FD_TYPE_NB_TYPES
1080 struct flush_file_request
1082 struct request_header __header;
1083 obj_handle_t handle;
1085 struct flush_file_reply
1087 struct reply_header __header;
1088 obj_handle_t event;
1093 struct lock_file_request
1095 struct request_header __header;
1096 obj_handle_t handle;
1097 unsigned int offset_low;
1098 unsigned int offset_high;
1099 unsigned int count_low;
1100 unsigned int count_high;
1101 int shared;
1102 int wait;
1104 struct lock_file_reply
1106 struct reply_header __header;
1107 obj_handle_t handle;
1108 int overlapped;
1113 struct unlock_file_request
1115 struct request_header __header;
1116 obj_handle_t handle;
1117 unsigned int offset_low;
1118 unsigned int offset_high;
1119 unsigned int count_low;
1120 unsigned int count_high;
1122 struct unlock_file_reply
1124 struct reply_header __header;
1129 struct create_socket_request
1131 struct request_header __header;
1132 unsigned int access;
1133 unsigned int attributes;
1134 int family;
1135 int type;
1136 int protocol;
1137 unsigned int flags;
1139 struct create_socket_reply
1141 struct reply_header __header;
1142 obj_handle_t handle;
1147 struct accept_socket_request
1149 struct request_header __header;
1150 obj_handle_t lhandle;
1151 unsigned int access;
1152 unsigned int attributes;
1154 struct accept_socket_reply
1156 struct reply_header __header;
1157 obj_handle_t handle;
1162 struct set_socket_event_request
1164 struct request_header __header;
1165 obj_handle_t handle;
1166 unsigned int mask;
1167 obj_handle_t event;
1168 user_handle_t window;
1169 unsigned int msg;
1171 struct set_socket_event_reply
1173 struct reply_header __header;
1178 struct get_socket_event_request
1180 struct request_header __header;
1181 obj_handle_t handle;
1182 int service;
1183 obj_handle_t c_event;
1185 struct get_socket_event_reply
1187 struct reply_header __header;
1188 unsigned int mask;
1189 unsigned int pmask;
1190 unsigned int state;
1191 /* VARARG(errors,ints); */
1196 struct enable_socket_event_request
1198 struct request_header __header;
1199 obj_handle_t handle;
1200 unsigned int mask;
1201 unsigned int sstate;
1202 unsigned int cstate;
1204 struct enable_socket_event_reply
1206 struct reply_header __header;
1209 struct set_socket_deferred_request
1211 struct request_header __header;
1212 obj_handle_t handle;
1213 obj_handle_t deferred;
1215 struct set_socket_deferred_reply
1217 struct reply_header __header;
1221 struct alloc_console_request
1223 struct request_header __header;
1224 unsigned int access;
1225 unsigned int attributes;
1226 process_id_t pid;
1228 struct alloc_console_reply
1230 struct reply_header __header;
1231 obj_handle_t handle_in;
1232 obj_handle_t event;
1237 struct free_console_request
1239 struct request_header __header;
1241 struct free_console_reply
1243 struct reply_header __header;
1247 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1248 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1249 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1250 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1251 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1252 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1253 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1254 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1255 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1256 struct console_renderer_event
1258 short event;
1259 union
1261 struct update
1263 short top;
1264 short bottom;
1265 } update;
1266 struct resize
1268 short width;
1269 short height;
1270 } resize;
1271 struct cursor_pos
1273 short x;
1274 short y;
1275 } cursor_pos;
1276 struct cursor_geom
1278 short visible;
1279 short size;
1280 } cursor_geom;
1281 struct display
1283 short left;
1284 short top;
1285 short width;
1286 short height;
1287 } display;
1288 } u;
1292 struct get_console_renderer_events_request
1294 struct request_header __header;
1295 obj_handle_t handle;
1297 struct get_console_renderer_events_reply
1299 struct reply_header __header;
1300 /* VARARG(data,bytes); */
1305 struct open_console_request
1307 struct request_header __header;
1308 obj_handle_t from;
1310 unsigned int access;
1311 unsigned int attributes;
1312 int share;
1314 struct open_console_reply
1316 struct reply_header __header;
1317 obj_handle_t handle;
1322 struct get_console_wait_event_request
1324 struct request_header __header;
1326 struct get_console_wait_event_reply
1328 struct reply_header __header;
1329 obj_handle_t handle;
1333 struct get_console_mode_request
1335 struct request_header __header;
1336 obj_handle_t handle;
1338 struct get_console_mode_reply
1340 struct reply_header __header;
1341 int mode;
1346 struct set_console_mode_request
1348 struct request_header __header;
1349 obj_handle_t handle;
1350 int mode;
1352 struct set_console_mode_reply
1354 struct reply_header __header;
1359 struct set_console_input_info_request
1361 struct request_header __header;
1362 obj_handle_t handle;
1363 int mask;
1364 obj_handle_t active_sb;
1365 int history_mode;
1366 int history_size;
1367 int edition_mode;
1368 int input_cp;
1369 int output_cp;
1370 user_handle_t win;
1371 /* VARARG(title,unicode_str); */
1373 struct set_console_input_info_reply
1375 struct reply_header __header;
1377 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1378 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1379 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1380 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1381 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1382 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1383 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1384 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1388 struct get_console_input_info_request
1390 struct request_header __header;
1391 obj_handle_t handle;
1393 struct get_console_input_info_reply
1395 struct reply_header __header;
1396 int history_mode;
1397 int history_size;
1398 int history_index;
1399 int edition_mode;
1400 int input_cp;
1401 int output_cp;
1402 user_handle_t win;
1403 /* VARARG(title,unicode_str); */
1408 struct append_console_input_history_request
1410 struct request_header __header;
1411 obj_handle_t handle;
1412 /* VARARG(line,unicode_str); */
1414 struct append_console_input_history_reply
1416 struct reply_header __header;
1421 struct get_console_input_history_request
1423 struct request_header __header;
1424 obj_handle_t handle;
1425 int index;
1427 struct get_console_input_history_reply
1429 struct reply_header __header;
1430 int total;
1431 /* VARARG(line,unicode_str); */
1436 struct create_console_output_request
1438 struct request_header __header;
1439 obj_handle_t handle_in;
1440 unsigned int access;
1441 unsigned int attributes;
1442 unsigned int share;
1444 struct create_console_output_reply
1446 struct reply_header __header;
1447 obj_handle_t handle_out;
1452 struct set_console_output_info_request
1454 struct request_header __header;
1455 obj_handle_t handle;
1456 int mask;
1457 short int cursor_size;
1458 short int cursor_visible;
1459 short int cursor_x;
1460 short int cursor_y;
1461 short int width;
1462 short int height;
1463 short int attr;
1464 short int win_left;
1465 short int win_top;
1466 short int win_right;
1467 short int win_bottom;
1468 short int max_width;
1469 short int max_height;
1471 struct set_console_output_info_reply
1473 struct reply_header __header;
1475 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1476 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1477 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1478 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1479 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1480 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1484 struct get_console_output_info_request
1486 struct request_header __header;
1487 obj_handle_t handle;
1489 struct get_console_output_info_reply
1491 struct reply_header __header;
1492 short int cursor_size;
1493 short int cursor_visible;
1494 short int cursor_x;
1495 short int cursor_y;
1496 short int width;
1497 short int height;
1498 short int attr;
1499 short int win_left;
1500 short int win_top;
1501 short int win_right;
1502 short int win_bottom;
1503 short int max_width;
1504 short int max_height;
1508 struct write_console_input_request
1510 struct request_header __header;
1511 obj_handle_t handle;
1512 /* VARARG(rec,input_records); */
1514 struct write_console_input_reply
1516 struct reply_header __header;
1517 int written;
1522 struct read_console_input_request
1524 struct request_header __header;
1525 obj_handle_t handle;
1526 int flush;
1528 struct read_console_input_reply
1530 struct reply_header __header;
1531 int read;
1532 /* VARARG(rec,input_records); */
1537 struct write_console_output_request
1539 struct request_header __header;
1540 obj_handle_t handle;
1541 int x;
1542 int y;
1543 int mode;
1544 int wrap;
1545 /* VARARG(data,bytes); */
1547 struct write_console_output_reply
1549 struct reply_header __header;
1550 int written;
1551 int width;
1552 int height;
1554 enum char_info_mode
1556 CHAR_INFO_MODE_TEXT,
1557 CHAR_INFO_MODE_ATTR,
1558 CHAR_INFO_MODE_TEXTATTR,
1559 CHAR_INFO_MODE_TEXTSTDATTR
1564 struct fill_console_output_request
1566 struct request_header __header;
1567 obj_handle_t handle;
1568 int x;
1569 int y;
1570 int mode;
1571 int count;
1572 int wrap;
1573 char_info_t data;
1575 struct fill_console_output_reply
1577 struct reply_header __header;
1578 int written;
1583 struct read_console_output_request
1585 struct request_header __header;
1586 obj_handle_t handle;
1587 int x;
1588 int y;
1589 int mode;
1590 int wrap;
1592 struct read_console_output_reply
1594 struct reply_header __header;
1595 int width;
1596 int height;
1597 /* VARARG(data,bytes); */
1602 struct move_console_output_request
1604 struct request_header __header;
1605 obj_handle_t handle;
1606 short int x_src;
1607 short int y_src;
1608 short int x_dst;
1609 short int y_dst;
1610 short int w;
1611 short int h;
1613 struct move_console_output_reply
1615 struct reply_header __header;
1620 struct send_console_signal_request
1622 struct request_header __header;
1623 int signal;
1624 process_id_t group_id;
1626 struct send_console_signal_reply
1628 struct reply_header __header;
1633 struct read_directory_changes_request
1635 struct request_header __header;
1636 unsigned int filter;
1637 obj_handle_t handle;
1638 int subtree;
1639 int want_data;
1640 async_data_t async;
1642 struct read_directory_changes_reply
1644 struct reply_header __header;
1648 struct read_change_request
1650 struct request_header __header;
1651 obj_handle_t handle;
1653 struct read_change_reply
1655 struct reply_header __header;
1656 int action;
1657 /* VARARG(name,string); */
1662 struct create_mapping_request
1664 struct request_header __header;
1665 unsigned int access;
1666 unsigned int attributes;
1667 obj_handle_t rootdir;
1668 int size_high;
1669 int size_low;
1670 int protect;
1671 obj_handle_t file_handle;
1672 /* VARARG(name,unicode_str); */
1674 struct create_mapping_reply
1676 struct reply_header __header;
1677 obj_handle_t handle;
1680 #define VPROT_READ 0x01
1681 #define VPROT_WRITE 0x02
1682 #define VPROT_EXEC 0x04
1683 #define VPROT_WRITECOPY 0x08
1684 #define VPROT_GUARD 0x10
1685 #define VPROT_NOCACHE 0x20
1686 #define VPROT_COMMITTED 0x40
1687 #define VPROT_IMAGE 0x80
1691 struct open_mapping_request
1693 struct request_header __header;
1694 unsigned int access;
1695 unsigned int attributes;
1696 obj_handle_t rootdir;
1697 /* VARARG(name,unicode_str); */
1699 struct open_mapping_reply
1701 struct reply_header __header;
1702 obj_handle_t handle;
1707 struct get_mapping_info_request
1709 struct request_header __header;
1710 obj_handle_t handle;
1712 struct get_mapping_info_reply
1714 struct reply_header __header;
1715 int size_high;
1716 int size_low;
1717 int protect;
1718 int header_size;
1719 void* base;
1720 obj_handle_t mapping;
1721 obj_handle_t shared_file;
1722 int shared_size;
1726 #define SNAP_HEAPLIST 0x00000001
1727 #define SNAP_PROCESS 0x00000002
1728 #define SNAP_THREAD 0x00000004
1729 #define SNAP_MODULE 0x00000008
1731 struct create_snapshot_request
1733 struct request_header __header;
1734 unsigned int attributes;
1735 int flags;
1736 process_id_t pid;
1738 struct create_snapshot_reply
1740 struct reply_header __header;
1741 obj_handle_t handle;
1746 struct next_process_request
1748 struct request_header __header;
1749 obj_handle_t handle;
1750 int reset;
1752 struct next_process_reply
1754 struct reply_header __header;
1755 int count;
1756 process_id_t pid;
1757 process_id_t ppid;
1758 void* heap;
1759 void* module;
1760 int threads;
1761 int priority;
1762 int handles;
1763 /* VARARG(filename,unicode_str); */
1768 struct next_thread_request
1770 struct request_header __header;
1771 obj_handle_t handle;
1772 int reset;
1774 struct next_thread_reply
1776 struct reply_header __header;
1777 int count;
1778 process_id_t pid;
1779 thread_id_t tid;
1780 int base_pri;
1781 int delta_pri;
1786 struct next_module_request
1788 struct request_header __header;
1789 obj_handle_t handle;
1790 int reset;
1792 struct next_module_reply
1794 struct reply_header __header;
1795 process_id_t pid;
1796 void* base;
1797 size_t size;
1798 /* VARARG(filename,unicode_str); */
1803 struct wait_debug_event_request
1805 struct request_header __header;
1806 int get_handle;
1808 struct wait_debug_event_reply
1810 struct reply_header __header;
1811 process_id_t pid;
1812 thread_id_t tid;
1813 obj_handle_t wait;
1814 /* VARARG(event,debug_event); */
1819 struct queue_exception_event_request
1821 struct request_header __header;
1822 int first;
1823 /* VARARG(record,exc_event); */
1825 struct queue_exception_event_reply
1827 struct reply_header __header;
1828 obj_handle_t handle;
1833 struct get_exception_status_request
1835 struct request_header __header;
1836 obj_handle_t handle;
1838 struct get_exception_status_reply
1840 struct reply_header __header;
1841 /* VARARG(context,context); */
1846 struct output_debug_string_request
1848 struct request_header __header;
1849 void* string;
1850 int unicode;
1851 int length;
1853 struct output_debug_string_reply
1855 struct reply_header __header;
1860 struct continue_debug_event_request
1862 struct request_header __header;
1863 process_id_t pid;
1864 thread_id_t tid;
1865 int status;
1867 struct continue_debug_event_reply
1869 struct reply_header __header;
1874 struct debug_process_request
1876 struct request_header __header;
1877 process_id_t pid;
1878 int attach;
1880 struct debug_process_reply
1882 struct reply_header __header;
1887 struct debug_break_request
1889 struct request_header __header;
1890 obj_handle_t handle;
1892 struct debug_break_reply
1894 struct reply_header __header;
1895 int self;
1900 struct set_debugger_kill_on_exit_request
1902 struct request_header __header;
1903 int kill_on_exit;
1905 struct set_debugger_kill_on_exit_reply
1907 struct reply_header __header;
1912 struct read_process_memory_request
1914 struct request_header __header;
1915 obj_handle_t handle;
1916 void* addr;
1918 struct read_process_memory_reply
1920 struct reply_header __header;
1921 /* VARARG(data,bytes); */
1926 struct write_process_memory_request
1928 struct request_header __header;
1929 obj_handle_t handle;
1930 void* addr;
1931 /* VARARG(data,bytes); */
1933 struct write_process_memory_reply
1935 struct reply_header __header;
1940 struct create_key_request
1942 struct request_header __header;
1943 obj_handle_t parent;
1944 unsigned int access;
1945 unsigned int attributes;
1946 unsigned int options;
1947 time_t modif;
1948 data_size_t namelen;
1949 /* VARARG(name,unicode_str,namelen); */
1950 /* VARARG(class,unicode_str); */
1952 struct create_key_reply
1954 struct reply_header __header;
1955 obj_handle_t hkey;
1956 int created;
1960 struct open_key_request
1962 struct request_header __header;
1963 obj_handle_t parent;
1964 unsigned int access;
1965 unsigned int attributes;
1966 /* VARARG(name,unicode_str); */
1968 struct open_key_reply
1970 struct reply_header __header;
1971 obj_handle_t hkey;
1976 struct delete_key_request
1978 struct request_header __header;
1979 obj_handle_t hkey;
1981 struct delete_key_reply
1983 struct reply_header __header;
1988 struct flush_key_request
1990 struct request_header __header;
1991 obj_handle_t hkey;
1993 struct flush_key_reply
1995 struct reply_header __header;
2000 struct enum_key_request
2002 struct request_header __header;
2003 obj_handle_t hkey;
2004 int index;
2005 int info_class;
2007 struct enum_key_reply
2009 struct reply_header __header;
2010 int subkeys;
2011 int max_subkey;
2012 int max_class;
2013 int values;
2014 int max_value;
2015 int max_data;
2016 time_t modif;
2017 data_size_t total;
2018 data_size_t namelen;
2019 /* VARARG(name,unicode_str,namelen); */
2020 /* VARARG(class,unicode_str); */
2025 struct set_key_value_request
2027 struct request_header __header;
2028 obj_handle_t hkey;
2029 int type;
2030 data_size_t namelen;
2031 /* VARARG(name,unicode_str,namelen); */
2032 /* VARARG(data,bytes); */
2034 struct set_key_value_reply
2036 struct reply_header __header;
2041 struct get_key_value_request
2043 struct request_header __header;
2044 obj_handle_t hkey;
2045 /* VARARG(name,unicode_str); */
2047 struct get_key_value_reply
2049 struct reply_header __header;
2050 int type;
2051 data_size_t total;
2052 /* VARARG(data,bytes); */
2057 struct enum_key_value_request
2059 struct request_header __header;
2060 obj_handle_t hkey;
2061 int index;
2062 int info_class;
2064 struct enum_key_value_reply
2066 struct reply_header __header;
2067 int type;
2068 data_size_t total;
2069 data_size_t namelen;
2070 /* VARARG(name,unicode_str,namelen); */
2071 /* VARARG(data,bytes); */
2076 struct delete_key_value_request
2078 struct request_header __header;
2079 obj_handle_t hkey;
2080 /* VARARG(name,unicode_str); */
2082 struct delete_key_value_reply
2084 struct reply_header __header;
2089 struct load_registry_request
2091 struct request_header __header;
2092 obj_handle_t hkey;
2093 obj_handle_t file;
2094 /* VARARG(name,unicode_str); */
2096 struct load_registry_reply
2098 struct reply_header __header;
2103 struct unload_registry_request
2105 struct request_header __header;
2106 obj_handle_t hkey;
2108 struct unload_registry_reply
2110 struct reply_header __header;
2115 struct save_registry_request
2117 struct request_header __header;
2118 obj_handle_t hkey;
2119 obj_handle_t file;
2121 struct save_registry_reply
2123 struct reply_header __header;
2128 struct set_registry_notification_request
2130 struct request_header __header;
2131 obj_handle_t hkey;
2132 obj_handle_t event;
2133 int subtree;
2134 unsigned int filter;
2136 struct set_registry_notification_reply
2138 struct reply_header __header;
2143 struct create_timer_request
2145 struct request_header __header;
2146 unsigned int access;
2147 unsigned int attributes;
2148 obj_handle_t rootdir;
2149 int manual;
2150 /* VARARG(name,unicode_str); */
2152 struct create_timer_reply
2154 struct reply_header __header;
2155 obj_handle_t handle;
2160 struct open_timer_request
2162 struct request_header __header;
2163 unsigned int access;
2164 unsigned int attributes;
2165 obj_handle_t rootdir;
2166 /* VARARG(name,unicode_str); */
2168 struct open_timer_reply
2170 struct reply_header __header;
2171 obj_handle_t handle;
2175 struct set_timer_request
2177 struct request_header __header;
2178 obj_handle_t handle;
2179 timeout_t expire;
2180 int period;
2181 void* callback;
2182 void* arg;
2184 struct set_timer_reply
2186 struct reply_header __header;
2187 int signaled;
2191 struct cancel_timer_request
2193 struct request_header __header;
2194 obj_handle_t handle;
2196 struct cancel_timer_reply
2198 struct reply_header __header;
2199 int signaled;
2203 struct get_timer_info_request
2205 struct request_header __header;
2206 obj_handle_t handle;
2208 struct get_timer_info_reply
2210 struct reply_header __header;
2211 timeout_t when;
2212 int signaled;
2217 struct get_thread_context_request
2219 struct request_header __header;
2220 obj_handle_t handle;
2221 unsigned int flags;
2222 int suspend;
2224 struct get_thread_context_reply
2226 struct reply_header __header;
2227 int self;
2228 /* VARARG(context,context); */
2233 struct set_thread_context_request
2235 struct request_header __header;
2236 obj_handle_t handle;
2237 unsigned int flags;
2238 int suspend;
2239 /* VARARG(context,context); */
2241 struct set_thread_context_reply
2243 struct reply_header __header;
2244 int self;
2249 struct get_selector_entry_request
2251 struct request_header __header;
2252 obj_handle_t handle;
2253 int entry;
2255 struct get_selector_entry_reply
2257 struct reply_header __header;
2258 unsigned int base;
2259 unsigned int limit;
2260 unsigned char flags;
2265 struct add_atom_request
2267 struct request_header __header;
2268 obj_handle_t table;
2269 /* VARARG(name,unicode_str); */
2271 struct add_atom_reply
2273 struct reply_header __header;
2274 atom_t atom;
2279 struct delete_atom_request
2281 struct request_header __header;
2282 obj_handle_t table;
2283 atom_t atom;
2285 struct delete_atom_reply
2287 struct reply_header __header;
2292 struct find_atom_request
2294 struct request_header __header;
2295 obj_handle_t table;
2296 /* VARARG(name,unicode_str); */
2298 struct find_atom_reply
2300 struct reply_header __header;
2301 atom_t atom;
2306 struct get_atom_information_request
2308 struct request_header __header;
2309 obj_handle_t table;
2310 atom_t atom;
2312 struct get_atom_information_reply
2314 struct reply_header __header;
2315 int count;
2316 int pinned;
2317 data_size_t total;
2318 /* VARARG(name,unicode_str); */
2323 struct set_atom_information_request
2325 struct request_header __header;
2326 obj_handle_t table;
2327 atom_t atom;
2328 int pinned;
2330 struct set_atom_information_reply
2332 struct reply_header __header;
2337 struct empty_atom_table_request
2339 struct request_header __header;
2340 obj_handle_t table;
2341 int if_pinned;
2343 struct empty_atom_table_reply
2345 struct reply_header __header;
2350 struct init_atom_table_request
2352 struct request_header __header;
2353 int entries;
2355 struct init_atom_table_reply
2357 struct reply_header __header;
2358 obj_handle_t table;
2363 struct get_msg_queue_request
2365 struct request_header __header;
2367 struct get_msg_queue_reply
2369 struct reply_header __header;
2370 obj_handle_t handle;
2375 struct set_queue_fd_request
2377 struct request_header __header;
2378 obj_handle_t handle;
2380 struct set_queue_fd_reply
2382 struct reply_header __header;
2387 struct set_queue_mask_request
2389 struct request_header __header;
2390 unsigned int wake_mask;
2391 unsigned int changed_mask;
2392 int skip_wait;
2394 struct set_queue_mask_reply
2396 struct reply_header __header;
2397 unsigned int wake_bits;
2398 unsigned int changed_bits;
2403 struct get_queue_status_request
2405 struct request_header __header;
2406 int clear;
2408 struct get_queue_status_reply
2410 struct reply_header __header;
2411 unsigned int wake_bits;
2412 unsigned int changed_bits;
2417 struct get_process_idle_event_request
2419 struct request_header __header;
2420 obj_handle_t handle;
2422 struct get_process_idle_event_reply
2424 struct reply_header __header;
2425 obj_handle_t event;
2430 struct send_message_request
2432 struct request_header __header;
2433 thread_id_t id;
2434 int type;
2435 int flags;
2436 user_handle_t win;
2437 unsigned int msg;
2438 unsigned long wparam;
2439 unsigned long lparam;
2440 timeout_t timeout;
2441 /* VARARG(data,message_data); */
2443 struct send_message_reply
2445 struct reply_header __header;
2448 struct post_quit_message_request
2450 struct request_header __header;
2451 int exit_code;
2453 struct post_quit_message_reply
2455 struct reply_header __header;
2458 enum message_type
2460 MSG_ASCII,
2461 MSG_UNICODE,
2462 MSG_NOTIFY,
2463 MSG_CALLBACK,
2464 MSG_CALLBACK_RESULT,
2465 MSG_OTHER_PROCESS,
2466 MSG_POSTED,
2467 MSG_HARDWARE,
2468 MSG_WINEVENT
2470 #define SEND_MSG_ABORT_IF_HUNG 0x01
2474 struct send_hardware_message_request
2476 struct request_header __header;
2477 thread_id_t id;
2478 user_handle_t win;
2479 unsigned int msg;
2480 unsigned int time;
2481 unsigned long wparam;
2482 unsigned long lparam;
2483 unsigned long info;
2484 int x;
2485 int y;
2487 struct send_hardware_message_reply
2489 struct reply_header __header;
2494 struct get_message_request
2496 struct request_header __header;
2497 unsigned int flags;
2498 user_handle_t get_win;
2499 unsigned int get_first;
2500 unsigned int get_last;
2501 unsigned int hw_id;
2502 unsigned int wake_mask;
2503 unsigned int changed_mask;
2505 struct get_message_reply
2507 struct reply_header __header;
2508 user_handle_t win;
2509 int type;
2510 unsigned int msg;
2511 unsigned long wparam;
2512 unsigned long lparam;
2513 unsigned long info;
2514 int x;
2515 int y;
2516 unsigned int time;
2517 unsigned int hw_id;
2518 unsigned int active_hooks;
2519 data_size_t total;
2520 /* VARARG(data,message_data); */
2525 struct reply_message_request
2527 struct request_header __header;
2528 unsigned long result;
2529 int remove;
2530 /* VARARG(data,bytes); */
2532 struct reply_message_reply
2534 struct reply_header __header;
2539 struct accept_hardware_message_request
2541 struct request_header __header;
2542 unsigned int hw_id;
2543 int remove;
2544 user_handle_t new_win;
2546 struct accept_hardware_message_reply
2548 struct reply_header __header;
2553 struct get_message_reply_request
2555 struct request_header __header;
2556 int cancel;
2558 struct get_message_reply_reply
2560 struct reply_header __header;
2561 unsigned long result;
2562 /* VARARG(data,bytes); */
2567 struct set_win_timer_request
2569 struct request_header __header;
2570 user_handle_t win;
2571 unsigned int msg;
2572 unsigned int rate;
2573 unsigned long id;
2574 unsigned long lparam;
2576 struct set_win_timer_reply
2578 struct reply_header __header;
2579 unsigned long id;
2584 struct kill_win_timer_request
2586 struct request_header __header;
2587 user_handle_t win;
2588 unsigned int msg;
2589 unsigned long id;
2591 struct kill_win_timer_reply
2593 struct reply_header __header;
2598 struct get_serial_info_request
2600 struct request_header __header;
2601 obj_handle_t handle;
2603 struct get_serial_info_reply
2605 struct reply_header __header;
2606 unsigned int readinterval;
2607 unsigned int readconst;
2608 unsigned int readmult;
2609 unsigned int writeconst;
2610 unsigned int writemult;
2611 unsigned int eventmask;
2616 struct set_serial_info_request
2618 struct request_header __header;
2619 obj_handle_t handle;
2620 int flags;
2621 unsigned int readinterval;
2622 unsigned int readconst;
2623 unsigned int readmult;
2624 unsigned int writeconst;
2625 unsigned int writemult;
2626 unsigned int eventmask;
2628 struct set_serial_info_reply
2630 struct reply_header __header;
2632 #define SERIALINFO_SET_TIMEOUTS 0x01
2633 #define SERIALINFO_SET_MASK 0x02
2637 struct register_async_request
2639 struct request_header __header;
2640 obj_handle_t handle;
2641 int type;
2642 int count;
2643 async_data_t async;
2645 struct register_async_reply
2647 struct reply_header __header;
2649 #define ASYNC_TYPE_READ 0x01
2650 #define ASYNC_TYPE_WRITE 0x02
2651 #define ASYNC_TYPE_WAIT 0x03
2655 struct cancel_async_request
2657 struct request_header __header;
2658 obj_handle_t handle;
2660 struct cancel_async_reply
2662 struct reply_header __header;
2667 struct ioctl_request
2669 struct request_header __header;
2670 obj_handle_t handle;
2671 ioctl_code_t code;
2672 async_data_t async;
2673 /* VARARG(in_data,bytes); */
2675 struct ioctl_reply
2677 struct reply_header __header;
2678 obj_handle_t wait;
2679 unsigned int options;
2680 /* VARARG(out_data,bytes); */
2685 struct get_ioctl_result_request
2687 struct request_header __header;
2688 obj_handle_t handle;
2689 void* user_arg;
2691 struct get_ioctl_result_reply
2693 struct reply_header __header;
2694 /* VARARG(out_data,bytes); */
2699 struct create_named_pipe_request
2701 struct request_header __header;
2702 unsigned int access;
2703 unsigned int attributes;
2704 obj_handle_t rootdir;
2705 unsigned int options;
2706 unsigned int flags;
2707 unsigned int maxinstances;
2708 unsigned int outsize;
2709 unsigned int insize;
2710 timeout_t timeout;
2711 /* VARARG(name,unicode_str); */
2713 struct create_named_pipe_reply
2715 struct reply_header __header;
2716 obj_handle_t handle;
2720 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
2721 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
2722 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
2723 #define NAMED_PIPE_SERVER_END 0x8000
2726 struct get_named_pipe_info_request
2728 struct request_header __header;
2729 obj_handle_t handle;
2731 struct get_named_pipe_info_reply
2733 struct reply_header __header;
2734 unsigned int flags;
2735 unsigned int maxinstances;
2736 unsigned int instances;
2737 unsigned int outsize;
2738 unsigned int insize;
2743 struct create_cursor_request
2745 struct request_header __header;
2746 unsigned int num_frames;
2747 unsigned short delay;
2749 struct create_cursor_reply
2751 struct reply_header __header;
2752 user_handle_t handle;
2757 struct destroy_cursor_request
2759 struct request_header __header;
2760 user_handle_t handle;
2762 struct destroy_cursor_reply
2764 struct reply_header __header;
2769 struct get_cursor_info_request
2771 struct request_header __header;
2772 user_handle_t handle;
2774 struct get_cursor_info_reply
2776 struct reply_header __header;
2777 unsigned int num_frames;
2778 unsigned short delay;
2783 struct get_cursor_frame_request
2785 struct request_header __header;
2786 user_handle_t handle;
2787 unsigned int frame_idx;
2789 struct get_cursor_frame_reply
2791 struct reply_header __header;
2792 unsigned short xhot;
2793 unsigned short yhot;
2794 unsigned short width;
2795 unsigned short height;
2796 unsigned short and_width_bytes;
2797 unsigned short xor_width_bytes;
2798 unsigned char planes;
2799 unsigned char bpp;
2800 /* VARARG(data,bytes); */
2805 struct set_cursor_frame_request
2807 struct request_header __header;
2808 user_handle_t handle;
2809 unsigned int frame_idx;
2810 unsigned short xhot;
2811 unsigned short yhot;
2812 unsigned short width;
2813 unsigned short height;
2814 unsigned short and_width_bytes;
2815 unsigned short xor_width_bytes;
2816 unsigned char planes;
2817 unsigned char bpp;
2818 /* VARARG(data,bytes); */
2820 struct set_cursor_frame_reply
2822 struct reply_header __header;
2827 struct create_window_request
2829 struct request_header __header;
2830 user_handle_t parent;
2831 user_handle_t owner;
2832 atom_t atom;
2833 void* instance;
2835 struct create_window_reply
2837 struct reply_header __header;
2838 user_handle_t handle;
2839 user_handle_t parent;
2840 user_handle_t owner;
2841 int extra;
2842 void* class_ptr;
2847 struct destroy_window_request
2849 struct request_header __header;
2850 user_handle_t handle;
2852 struct destroy_window_reply
2854 struct reply_header __header;
2859 struct get_desktop_window_request
2861 struct request_header __header;
2862 int force;
2864 struct get_desktop_window_reply
2866 struct reply_header __header;
2867 user_handle_t handle;
2872 struct set_window_owner_request
2874 struct request_header __header;
2875 user_handle_t handle;
2876 user_handle_t owner;
2878 struct set_window_owner_reply
2880 struct reply_header __header;
2881 user_handle_t full_owner;
2882 user_handle_t prev_owner;
2887 struct get_window_info_request
2889 struct request_header __header;
2890 user_handle_t handle;
2892 struct get_window_info_reply
2894 struct reply_header __header;
2895 user_handle_t full_handle;
2896 user_handle_t last_active;
2897 process_id_t pid;
2898 thread_id_t tid;
2899 atom_t atom;
2900 int is_unicode;
2905 struct set_window_info_request
2907 struct request_header __header;
2908 unsigned int flags;
2909 user_handle_t handle;
2910 unsigned int style;
2911 unsigned int ex_style;
2912 unsigned int id;
2913 int is_unicode;
2914 void* instance;
2915 unsigned long user_data;
2916 int extra_offset;
2917 data_size_t extra_size;
2918 unsigned long extra_value;
2920 struct set_window_info_reply
2922 struct reply_header __header;
2923 unsigned int old_style;
2924 unsigned int old_ex_style;
2925 unsigned int old_id;
2926 void* old_instance;
2927 unsigned long old_user_data;
2928 unsigned long old_extra_value;
2930 #define SET_WIN_STYLE 0x01
2931 #define SET_WIN_EXSTYLE 0x02
2932 #define SET_WIN_ID 0x04
2933 #define SET_WIN_INSTANCE 0x08
2934 #define SET_WIN_USERDATA 0x10
2935 #define SET_WIN_EXTRA 0x20
2936 #define SET_WIN_UNICODE 0x40
2940 struct set_parent_request
2942 struct request_header __header;
2943 user_handle_t handle;
2944 user_handle_t parent;
2946 struct set_parent_reply
2948 struct reply_header __header;
2949 user_handle_t old_parent;
2950 user_handle_t full_parent;
2955 struct get_window_parents_request
2957 struct request_header __header;
2958 user_handle_t handle;
2960 struct get_window_parents_reply
2962 struct reply_header __header;
2963 int count;
2964 /* VARARG(parents,user_handles); */
2969 struct get_window_children_request
2971 struct request_header __header;
2972 user_handle_t parent;
2973 atom_t atom;
2974 thread_id_t tid;
2976 struct get_window_children_reply
2978 struct reply_header __header;
2979 int count;
2980 /* VARARG(children,user_handles); */
2985 struct get_window_children_from_point_request
2987 struct request_header __header;
2988 user_handle_t parent;
2989 int x;
2990 int y;
2992 struct get_window_children_from_point_reply
2994 struct reply_header __header;
2995 int count;
2996 /* VARARG(children,user_handles); */
3001 struct get_window_tree_request
3003 struct request_header __header;
3004 user_handle_t handle;
3006 struct get_window_tree_reply
3008 struct reply_header __header;
3009 user_handle_t parent;
3010 user_handle_t owner;
3011 user_handle_t next_sibling;
3012 user_handle_t prev_sibling;
3013 user_handle_t first_sibling;
3014 user_handle_t last_sibling;
3015 user_handle_t first_child;
3016 user_handle_t last_child;
3020 struct set_window_pos_request
3022 struct request_header __header;
3023 unsigned int flags;
3024 user_handle_t handle;
3025 user_handle_t previous;
3026 rectangle_t window;
3027 rectangle_t client;
3028 /* VARARG(valid,rectangles); */
3030 struct set_window_pos_reply
3032 struct reply_header __header;
3033 unsigned int new_style;
3038 struct get_window_rectangles_request
3040 struct request_header __header;
3041 user_handle_t handle;
3043 struct get_window_rectangles_reply
3045 struct reply_header __header;
3046 rectangle_t window;
3047 rectangle_t visible;
3048 rectangle_t client;
3053 struct get_window_text_request
3055 struct request_header __header;
3056 user_handle_t handle;
3058 struct get_window_text_reply
3060 struct reply_header __header;
3061 /* VARARG(text,unicode_str); */
3066 struct set_window_text_request
3068 struct request_header __header;
3069 user_handle_t handle;
3070 /* VARARG(text,unicode_str); */
3072 struct set_window_text_reply
3074 struct reply_header __header;
3079 struct get_windows_offset_request
3081 struct request_header __header;
3082 user_handle_t from;
3083 user_handle_t to;
3085 struct get_windows_offset_reply
3087 struct reply_header __header;
3088 int x;
3089 int y;
3094 struct get_visible_region_request
3096 struct request_header __header;
3097 user_handle_t window;
3098 unsigned int flags;
3100 struct get_visible_region_reply
3102 struct reply_header __header;
3103 user_handle_t top_win;
3104 rectangle_t top_rect;
3105 rectangle_t win_rect;
3106 data_size_t total_size;
3107 /* VARARG(region,rectangles); */
3112 struct get_window_region_request
3114 struct request_header __header;
3115 user_handle_t window;
3117 struct get_window_region_reply
3119 struct reply_header __header;
3120 data_size_t total_size;
3121 /* VARARG(region,rectangles); */
3126 struct set_window_region_request
3128 struct request_header __header;
3129 user_handle_t window;
3130 int redraw;
3131 /* VARARG(region,rectangles); */
3133 struct set_window_region_reply
3135 struct reply_header __header;
3140 struct get_update_region_request
3142 struct request_header __header;
3143 user_handle_t window;
3144 user_handle_t from_child;
3145 unsigned int flags;
3147 struct get_update_region_reply
3149 struct reply_header __header;
3150 user_handle_t child;
3151 unsigned int flags;
3152 data_size_t total_size;
3153 /* VARARG(region,rectangles); */
3155 #define UPDATE_NONCLIENT 0x01
3156 #define UPDATE_ERASE 0x02
3157 #define UPDATE_PAINT 0x04
3158 #define UPDATE_INTERNALPAINT 0x08
3159 #define UPDATE_ALLCHILDREN 0x10
3160 #define UPDATE_NOCHILDREN 0x20
3161 #define UPDATE_NOREGION 0x40
3162 #define UPDATE_DELAYED_ERASE 0x80
3166 struct update_window_zorder_request
3168 struct request_header __header;
3169 user_handle_t window;
3170 rectangle_t rect;
3172 struct update_window_zorder_reply
3174 struct reply_header __header;
3179 struct redraw_window_request
3181 struct request_header __header;
3182 user_handle_t window;
3183 unsigned int flags;
3184 /* VARARG(region,rectangles); */
3186 struct redraw_window_reply
3188 struct reply_header __header;
3193 struct set_window_property_request
3195 struct request_header __header;
3196 user_handle_t window;
3197 atom_t atom;
3198 obj_handle_t handle;
3199 /* VARARG(name,unicode_str); */
3201 struct set_window_property_reply
3203 struct reply_header __header;
3208 struct remove_window_property_request
3210 struct request_header __header;
3211 user_handle_t window;
3212 atom_t atom;
3213 /* VARARG(name,unicode_str); */
3215 struct remove_window_property_reply
3217 struct reply_header __header;
3218 obj_handle_t handle;
3223 struct get_window_property_request
3225 struct request_header __header;
3226 user_handle_t window;
3227 atom_t atom;
3228 /* VARARG(name,unicode_str); */
3230 struct get_window_property_reply
3232 struct reply_header __header;
3233 obj_handle_t handle;
3238 struct get_window_properties_request
3240 struct request_header __header;
3241 user_handle_t window;
3243 struct get_window_properties_reply
3245 struct reply_header __header;
3246 int total;
3247 /* VARARG(props,properties); */
3252 struct create_winstation_request
3254 struct request_header __header;
3255 unsigned int flags;
3256 unsigned int access;
3257 unsigned int attributes;
3258 /* VARARG(name,unicode_str); */
3260 struct create_winstation_reply
3262 struct reply_header __header;
3263 obj_handle_t handle;
3268 struct open_winstation_request
3270 struct request_header __header;
3271 unsigned int access;
3272 unsigned int attributes;
3273 /* VARARG(name,unicode_str); */
3275 struct open_winstation_reply
3277 struct reply_header __header;
3278 obj_handle_t handle;
3283 struct close_winstation_request
3285 struct request_header __header;
3286 obj_handle_t handle;
3288 struct close_winstation_reply
3290 struct reply_header __header;
3295 struct get_process_winstation_request
3297 struct request_header __header;
3299 struct get_process_winstation_reply
3301 struct reply_header __header;
3302 obj_handle_t handle;
3307 struct set_process_winstation_request
3309 struct request_header __header;
3310 obj_handle_t handle;
3312 struct set_process_winstation_reply
3314 struct reply_header __header;
3319 struct create_desktop_request
3321 struct request_header __header;
3322 unsigned int flags;
3323 unsigned int access;
3324 unsigned int attributes;
3325 /* VARARG(name,unicode_str); */
3327 struct create_desktop_reply
3329 struct reply_header __header;
3330 obj_handle_t handle;
3335 struct open_desktop_request
3337 struct request_header __header;
3338 unsigned int flags;
3339 unsigned int access;
3340 unsigned int attributes;
3341 /* VARARG(name,unicode_str); */
3343 struct open_desktop_reply
3345 struct reply_header __header;
3346 obj_handle_t handle;
3351 struct close_desktop_request
3353 struct request_header __header;
3354 obj_handle_t handle;
3356 struct close_desktop_reply
3358 struct reply_header __header;
3363 struct get_thread_desktop_request
3365 struct request_header __header;
3366 thread_id_t tid;
3368 struct get_thread_desktop_reply
3370 struct reply_header __header;
3371 obj_handle_t handle;
3376 struct set_thread_desktop_request
3378 struct request_header __header;
3379 obj_handle_t handle;
3381 struct set_thread_desktop_reply
3383 struct reply_header __header;
3388 struct set_user_object_info_request
3390 struct request_header __header;
3391 obj_handle_t handle;
3392 unsigned int flags;
3393 unsigned int obj_flags;
3395 struct set_user_object_info_reply
3397 struct reply_header __header;
3398 int is_desktop;
3399 unsigned int old_obj_flags;
3400 /* VARARG(name,unicode_str); */
3402 #define SET_USER_OBJECT_FLAGS 1
3406 struct attach_thread_input_request
3408 struct request_header __header;
3409 thread_id_t tid_from;
3410 thread_id_t tid_to;
3411 int attach;
3413 struct attach_thread_input_reply
3415 struct reply_header __header;
3420 struct get_thread_input_request
3422 struct request_header __header;
3423 thread_id_t tid;
3425 struct get_thread_input_reply
3427 struct reply_header __header;
3428 user_handle_t focus;
3429 user_handle_t capture;
3430 user_handle_t active;
3431 user_handle_t foreground;
3432 user_handle_t menu_owner;
3433 user_handle_t move_size;
3434 user_handle_t caret;
3435 rectangle_t rect;
3440 struct get_last_input_time_request
3442 struct request_header __header;
3444 struct get_last_input_time_reply
3446 struct reply_header __header;
3447 unsigned int time;
3452 struct get_key_state_request
3454 struct request_header __header;
3455 thread_id_t tid;
3456 int key;
3458 struct get_key_state_reply
3460 struct reply_header __header;
3461 unsigned char state;
3462 /* VARARG(keystate,bytes); */
3466 struct set_key_state_request
3468 struct request_header __header;
3469 thread_id_t tid;
3470 /* VARARG(keystate,bytes); */
3472 struct set_key_state_reply
3474 struct reply_header __header;
3478 struct set_foreground_window_request
3480 struct request_header __header;
3481 user_handle_t handle;
3483 struct set_foreground_window_reply
3485 struct reply_header __header;
3486 user_handle_t previous;
3487 int send_msg_old;
3488 int send_msg_new;
3492 struct set_focus_window_request
3494 struct request_header __header;
3495 user_handle_t handle;
3497 struct set_focus_window_reply
3499 struct reply_header __header;
3500 user_handle_t previous;
3504 struct set_active_window_request
3506 struct request_header __header;
3507 user_handle_t handle;
3509 struct set_active_window_reply
3511 struct reply_header __header;
3512 user_handle_t previous;
3516 struct set_capture_window_request
3518 struct request_header __header;
3519 user_handle_t handle;
3520 unsigned int flags;
3522 struct set_capture_window_reply
3524 struct reply_header __header;
3525 user_handle_t previous;
3526 user_handle_t full_handle;
3528 #define CAPTURE_MENU 0x01
3529 #define CAPTURE_MOVESIZE 0x02
3533 struct set_caret_window_request
3535 struct request_header __header;
3536 user_handle_t handle;
3537 int width;
3538 int height;
3540 struct set_caret_window_reply
3542 struct reply_header __header;
3543 user_handle_t previous;
3544 rectangle_t old_rect;
3545 int old_hide;
3546 int old_state;
3551 struct set_caret_info_request
3553 struct request_header __header;
3554 unsigned int flags;
3555 user_handle_t handle;
3556 int x;
3557 int y;
3558 int hide;
3559 int state;
3561 struct set_caret_info_reply
3563 struct reply_header __header;
3564 user_handle_t full_handle;
3565 rectangle_t old_rect;
3566 int old_hide;
3567 int old_state;
3569 #define SET_CARET_POS 0x01
3570 #define SET_CARET_HIDE 0x02
3571 #define SET_CARET_STATE 0x04
3575 struct set_hook_request
3577 struct request_header __header;
3578 int id;
3579 process_id_t pid;
3580 thread_id_t tid;
3581 int event_min;
3582 int event_max;
3583 int flags;
3584 void* proc;
3585 int unicode;
3586 /* VARARG(module,unicode_str); */
3588 struct set_hook_reply
3590 struct reply_header __header;
3591 user_handle_t handle;
3592 unsigned int active_hooks;
3597 struct remove_hook_request
3599 struct request_header __header;
3600 user_handle_t handle;
3601 int id;
3602 void* proc;
3604 struct remove_hook_reply
3606 struct reply_header __header;
3607 unsigned int active_hooks;
3612 struct start_hook_chain_request
3614 struct request_header __header;
3615 int id;
3616 int event;
3617 user_handle_t window;
3618 int object_id;
3619 int child_id;
3621 struct start_hook_chain_reply
3623 struct reply_header __header;
3624 user_handle_t handle;
3625 process_id_t pid;
3626 thread_id_t tid;
3627 void* proc;
3628 int unicode;
3629 unsigned int active_hooks;
3630 /* VARARG(module,unicode_str); */
3635 struct finish_hook_chain_request
3637 struct request_header __header;
3638 int id;
3640 struct finish_hook_chain_reply
3642 struct reply_header __header;
3647 struct get_hook_info_request
3649 struct request_header __header;
3650 user_handle_t handle;
3651 int get_next;
3652 int event;
3653 user_handle_t window;
3654 int object_id;
3655 int child_id;
3657 struct get_hook_info_reply
3659 struct reply_header __header;
3660 user_handle_t handle;
3661 int id;
3662 process_id_t pid;
3663 thread_id_t tid;
3664 void* proc;
3665 int unicode;
3666 /* VARARG(module,unicode_str); */
3671 struct create_class_request
3673 struct request_header __header;
3674 int local;
3675 atom_t atom;
3676 unsigned int style;
3677 void* instance;
3678 int extra;
3679 int win_extra;
3680 void* client_ptr;
3682 struct create_class_reply
3684 struct reply_header __header;
3689 struct destroy_class_request
3691 struct request_header __header;
3692 atom_t atom;
3693 void* instance;
3695 struct destroy_class_reply
3697 struct reply_header __header;
3698 void* client_ptr;
3703 struct set_class_info_request
3705 struct request_header __header;
3706 user_handle_t window;
3707 unsigned int flags;
3708 atom_t atom;
3709 unsigned int style;
3710 int win_extra;
3711 void* instance;
3712 int extra_offset;
3713 data_size_t extra_size;
3714 unsigned long extra_value;
3716 struct set_class_info_reply
3718 struct reply_header __header;
3719 atom_t old_atom;
3720 unsigned int old_style;
3721 int old_extra;
3722 int old_win_extra;
3723 void* old_instance;
3724 unsigned long old_extra_value;
3726 #define SET_CLASS_ATOM 0x0001
3727 #define SET_CLASS_STYLE 0x0002
3728 #define SET_CLASS_WINEXTRA 0x0004
3729 #define SET_CLASS_INSTANCE 0x0008
3730 #define SET_CLASS_EXTRA 0x0010
3734 struct set_clipboard_info_request
3736 struct request_header __header;
3737 unsigned int flags;
3738 user_handle_t clipboard;
3739 user_handle_t owner;
3740 user_handle_t viewer;
3741 unsigned int seqno;
3743 struct set_clipboard_info_reply
3745 struct reply_header __header;
3746 unsigned int flags;
3747 user_handle_t old_clipboard;
3748 user_handle_t old_owner;
3749 user_handle_t old_viewer;
3750 unsigned int seqno;
3753 #define SET_CB_OPEN 0x001
3754 #define SET_CB_OWNER 0x002
3755 #define SET_CB_VIEWER 0x004
3756 #define SET_CB_SEQNO 0x008
3757 #define SET_CB_RELOWNER 0x010
3758 #define SET_CB_CLOSE 0x020
3759 #define CB_OPEN 0x040
3760 #define CB_OWNER 0x080
3761 #define CB_PROCESS 0x100
3765 struct open_token_request
3767 struct request_header __header;
3768 obj_handle_t handle;
3769 unsigned int access;
3770 unsigned int attributes;
3771 unsigned int flags;
3773 struct open_token_reply
3775 struct reply_header __header;
3776 obj_handle_t token;
3778 #define OPEN_TOKEN_THREAD 1
3779 #define OPEN_TOKEN_AS_SELF 2
3783 struct set_global_windows_request
3785 struct request_header __header;
3786 unsigned int flags;
3787 user_handle_t shell_window;
3788 user_handle_t shell_listview;
3789 user_handle_t progman_window;
3790 user_handle_t taskman_window;
3792 struct set_global_windows_reply
3794 struct reply_header __header;
3795 user_handle_t old_shell_window;
3796 user_handle_t old_shell_listview;
3797 user_handle_t old_progman_window;
3798 user_handle_t old_taskman_window;
3800 #define SET_GLOBAL_SHELL_WINDOWS 0x01
3801 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
3802 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
3805 struct adjust_token_privileges_request
3807 struct request_header __header;
3808 obj_handle_t handle;
3809 int disable_all;
3810 int get_modified_state;
3811 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3813 struct adjust_token_privileges_reply
3815 struct reply_header __header;
3816 unsigned int len;
3817 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3821 struct get_token_privileges_request
3823 struct request_header __header;
3824 obj_handle_t handle;
3826 struct get_token_privileges_reply
3828 struct reply_header __header;
3829 unsigned int len;
3830 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3834 struct check_token_privileges_request
3836 struct request_header __header;
3837 obj_handle_t handle;
3838 int all_required;
3839 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3841 struct check_token_privileges_reply
3843 struct reply_header __header;
3844 int has_privileges;
3845 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3848 struct duplicate_token_request
3850 struct request_header __header;
3851 obj_handle_t handle;
3852 unsigned int access;
3853 unsigned int attributes;
3854 int primary;
3855 int impersonation_level;
3857 struct duplicate_token_reply
3859 struct reply_header __header;
3860 obj_handle_t new_handle;
3863 struct access_check_request
3865 struct request_header __header;
3866 obj_handle_t handle;
3867 unsigned int desired_access;
3868 unsigned int mapping_read;
3869 unsigned int mapping_write;
3870 unsigned int mapping_execute;
3871 unsigned int mapping_all;
3872 /* VARARG(sd,security_descriptor); */
3874 struct access_check_reply
3876 struct reply_header __header;
3877 unsigned int access_granted;
3878 unsigned int access_status;
3879 unsigned int privileges_len;
3880 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3883 struct get_token_user_request
3885 struct request_header __header;
3886 obj_handle_t handle;
3888 struct get_token_user_reply
3890 struct reply_header __header;
3891 data_size_t user_len;
3892 /* VARARG(user,SID); */
3895 struct get_token_groups_request
3897 struct request_header __header;
3898 obj_handle_t handle;
3900 struct get_token_groups_reply
3902 struct reply_header __header;
3903 data_size_t user_len;
3904 /* VARARG(user,token_groups); */
3907 struct set_security_object_request
3909 struct request_header __header;
3910 obj_handle_t handle;
3911 unsigned int security_info;
3912 /* VARARG(sd,security_descriptor); */
3914 struct set_security_object_reply
3916 struct reply_header __header;
3919 struct get_security_object_request
3921 struct request_header __header;
3922 obj_handle_t handle;
3923 unsigned int security_info;
3925 struct get_security_object_reply
3927 struct reply_header __header;
3928 unsigned int sd_len;
3929 /* VARARG(sd,security_descriptor); */
3933 struct create_mailslot_request
3935 struct request_header __header;
3936 unsigned int access;
3937 unsigned int attributes;
3938 obj_handle_t rootdir;
3939 unsigned int max_msgsize;
3940 timeout_t read_timeout;
3941 /* VARARG(name,unicode_str); */
3943 struct create_mailslot_reply
3945 struct reply_header __header;
3946 obj_handle_t handle;
3951 struct set_mailslot_info_request
3953 struct request_header __header;
3954 obj_handle_t handle;
3955 unsigned int flags;
3956 timeout_t read_timeout;
3958 struct set_mailslot_info_reply
3960 struct reply_header __header;
3961 unsigned int max_msgsize;
3962 timeout_t read_timeout;
3964 #define MAILSLOT_SET_READ_TIMEOUT 1
3968 struct create_directory_request
3970 struct request_header __header;
3971 unsigned int access;
3972 unsigned int attributes;
3973 obj_handle_t rootdir;
3974 /* VARARG(directory_name,unicode_str); */
3976 struct create_directory_reply
3978 struct reply_header __header;
3979 obj_handle_t handle;
3984 struct open_directory_request
3986 struct request_header __header;
3987 unsigned int access;
3988 unsigned int attributes;
3989 obj_handle_t rootdir;
3990 /* VARARG(directory_name,unicode_str); */
3992 struct open_directory_reply
3994 struct reply_header __header;
3995 obj_handle_t handle;
4000 struct create_symlink_request
4002 struct request_header __header;
4003 unsigned int access;
4004 unsigned int attributes;
4005 obj_handle_t rootdir;
4006 data_size_t name_len;
4007 /* VARARG(name,unicode_str,name_len); */
4008 /* VARARG(target_name,unicode_str); */
4010 struct create_symlink_reply
4012 struct reply_header __header;
4013 obj_handle_t handle;
4018 struct open_symlink_request
4020 struct request_header __header;
4021 unsigned int access;
4022 unsigned int attributes;
4023 obj_handle_t rootdir;
4024 /* VARARG(name,unicode_str); */
4026 struct open_symlink_reply
4028 struct reply_header __header;
4029 obj_handle_t handle;
4034 struct query_symlink_request
4036 struct request_header __header;
4037 obj_handle_t handle;
4039 struct query_symlink_reply
4041 struct reply_header __header;
4042 /* VARARG(target_name,unicode_str); */
4047 struct get_object_info_request
4049 struct request_header __header;
4050 obj_handle_t handle;
4052 struct get_object_info_reply
4054 struct reply_header __header;
4055 unsigned int access;
4056 unsigned int ref_count;
4060 struct get_token_impersonation_level_request
4062 struct request_header __header;
4063 obj_handle_t handle;
4065 struct get_token_impersonation_level_reply
4067 struct reply_header __header;
4068 int impersonation_level;
4072 struct allocate_locally_unique_id_request
4074 struct request_header __header;
4076 struct allocate_locally_unique_id_reply
4078 struct reply_header __header;
4079 luid_t luid;
4084 struct create_device_manager_request
4086 struct request_header __header;
4087 unsigned int access;
4088 unsigned int attributes;
4090 struct create_device_manager_reply
4092 struct reply_header __header;
4093 obj_handle_t handle;
4098 struct create_device_request
4100 struct request_header __header;
4101 unsigned int access;
4102 unsigned int attributes;
4103 obj_handle_t rootdir;
4104 obj_handle_t manager;
4105 void* user_ptr;
4106 /* VARARG(name,unicode_str); */
4108 struct create_device_reply
4110 struct reply_header __header;
4111 obj_handle_t handle;
4116 struct delete_device_request
4118 struct request_header __header;
4119 obj_handle_t handle;
4121 struct delete_device_reply
4123 struct reply_header __header;
4128 struct get_next_device_request_request
4130 struct request_header __header;
4131 obj_handle_t manager;
4132 obj_handle_t prev;
4133 unsigned int status;
4134 /* VARARG(prev_data,bytes); */
4136 struct get_next_device_request_reply
4138 struct reply_header __header;
4139 obj_handle_t next;
4140 ioctl_code_t code;
4141 void* user_ptr;
4142 data_size_t in_size;
4143 data_size_t out_size;
4144 /* VARARG(next_data,bytes); */
4149 struct make_process_system_request
4151 struct request_header __header;
4153 struct make_process_system_reply
4155 struct reply_header __header;
4156 obj_handle_t event;
4161 struct get_token_statistics_request
4163 struct request_header __header;
4164 obj_handle_t handle;
4166 struct get_token_statistics_reply
4168 struct reply_header __header;
4169 luid_t token_id;
4170 luid_t modified_id;
4171 int primary;
4172 int impersonation_level;
4173 int group_count;
4174 int privilege_count;
4179 struct create_completion_request
4181 struct request_header __header;
4182 unsigned int access;
4183 unsigned int attributes;
4184 unsigned int concurrent;
4185 obj_handle_t rootdir;
4186 /* VARARG(filename,string); */
4188 struct create_completion_reply
4190 struct reply_header __header;
4191 obj_handle_t handle;
4196 struct open_completion_request
4198 struct request_header __header;
4199 unsigned int access;
4200 unsigned int attributes;
4201 obj_handle_t rootdir;
4202 /* VARARG(filename,string); */
4204 struct open_completion_reply
4206 struct reply_header __header;
4207 obj_handle_t handle;
4212 struct add_completion_request
4214 struct request_header __header;
4215 obj_handle_t handle;
4216 unsigned long ckey;
4217 unsigned long cvalue;
4218 unsigned long information;
4219 unsigned int status;
4221 struct add_completion_reply
4223 struct reply_header __header;
4228 struct remove_completion_request
4230 struct request_header __header;
4231 obj_handle_t handle;
4233 struct remove_completion_reply
4235 struct reply_header __header;
4236 unsigned long ckey;
4237 unsigned long cvalue;
4238 unsigned long information;
4239 unsigned int status;
4244 struct query_completion_request
4246 struct request_header __header;
4247 obj_handle_t handle;
4249 struct query_completion_reply
4251 struct reply_header __header;
4252 unsigned int depth;
4257 struct set_completion_info_request
4259 struct request_header __header;
4260 obj_handle_t handle;
4261 obj_handle_t chandle;
4262 unsigned long ckey;
4264 struct set_completion_info_reply
4266 struct reply_header __header;
4270 enum request
4272 REQ_new_process,
4273 REQ_get_new_process_info,
4274 REQ_new_thread,
4275 REQ_get_startup_info,
4276 REQ_init_process_done,
4277 REQ_init_thread,
4278 REQ_terminate_process,
4279 REQ_terminate_thread,
4280 REQ_get_process_info,
4281 REQ_set_process_info,
4282 REQ_get_thread_info,
4283 REQ_set_thread_info,
4284 REQ_get_dll_info,
4285 REQ_suspend_thread,
4286 REQ_resume_thread,
4287 REQ_load_dll,
4288 REQ_unload_dll,
4289 REQ_queue_apc,
4290 REQ_get_apc_result,
4291 REQ_close_handle,
4292 REQ_set_handle_info,
4293 REQ_dup_handle,
4294 REQ_open_process,
4295 REQ_open_thread,
4296 REQ_select,
4297 REQ_create_event,
4298 REQ_event_op,
4299 REQ_open_event,
4300 REQ_create_mutex,
4301 REQ_release_mutex,
4302 REQ_open_mutex,
4303 REQ_create_semaphore,
4304 REQ_release_semaphore,
4305 REQ_open_semaphore,
4306 REQ_create_file,
4307 REQ_open_file_object,
4308 REQ_alloc_file_handle,
4309 REQ_get_handle_fd,
4310 REQ_flush_file,
4311 REQ_lock_file,
4312 REQ_unlock_file,
4313 REQ_create_socket,
4314 REQ_accept_socket,
4315 REQ_set_socket_event,
4316 REQ_get_socket_event,
4317 REQ_enable_socket_event,
4318 REQ_set_socket_deferred,
4319 REQ_alloc_console,
4320 REQ_free_console,
4321 REQ_get_console_renderer_events,
4322 REQ_open_console,
4323 REQ_get_console_wait_event,
4324 REQ_get_console_mode,
4325 REQ_set_console_mode,
4326 REQ_set_console_input_info,
4327 REQ_get_console_input_info,
4328 REQ_append_console_input_history,
4329 REQ_get_console_input_history,
4330 REQ_create_console_output,
4331 REQ_set_console_output_info,
4332 REQ_get_console_output_info,
4333 REQ_write_console_input,
4334 REQ_read_console_input,
4335 REQ_write_console_output,
4336 REQ_fill_console_output,
4337 REQ_read_console_output,
4338 REQ_move_console_output,
4339 REQ_send_console_signal,
4340 REQ_read_directory_changes,
4341 REQ_read_change,
4342 REQ_create_mapping,
4343 REQ_open_mapping,
4344 REQ_get_mapping_info,
4345 REQ_create_snapshot,
4346 REQ_next_process,
4347 REQ_next_thread,
4348 REQ_next_module,
4349 REQ_wait_debug_event,
4350 REQ_queue_exception_event,
4351 REQ_get_exception_status,
4352 REQ_output_debug_string,
4353 REQ_continue_debug_event,
4354 REQ_debug_process,
4355 REQ_debug_break,
4356 REQ_set_debugger_kill_on_exit,
4357 REQ_read_process_memory,
4358 REQ_write_process_memory,
4359 REQ_create_key,
4360 REQ_open_key,
4361 REQ_delete_key,
4362 REQ_flush_key,
4363 REQ_enum_key,
4364 REQ_set_key_value,
4365 REQ_get_key_value,
4366 REQ_enum_key_value,
4367 REQ_delete_key_value,
4368 REQ_load_registry,
4369 REQ_unload_registry,
4370 REQ_save_registry,
4371 REQ_set_registry_notification,
4372 REQ_create_timer,
4373 REQ_open_timer,
4374 REQ_set_timer,
4375 REQ_cancel_timer,
4376 REQ_get_timer_info,
4377 REQ_get_thread_context,
4378 REQ_set_thread_context,
4379 REQ_get_selector_entry,
4380 REQ_add_atom,
4381 REQ_delete_atom,
4382 REQ_find_atom,
4383 REQ_get_atom_information,
4384 REQ_set_atom_information,
4385 REQ_empty_atom_table,
4386 REQ_init_atom_table,
4387 REQ_get_msg_queue,
4388 REQ_set_queue_fd,
4389 REQ_set_queue_mask,
4390 REQ_get_queue_status,
4391 REQ_get_process_idle_event,
4392 REQ_send_message,
4393 REQ_post_quit_message,
4394 REQ_send_hardware_message,
4395 REQ_get_message,
4396 REQ_reply_message,
4397 REQ_accept_hardware_message,
4398 REQ_get_message_reply,
4399 REQ_set_win_timer,
4400 REQ_kill_win_timer,
4401 REQ_get_serial_info,
4402 REQ_set_serial_info,
4403 REQ_register_async,
4404 REQ_cancel_async,
4405 REQ_ioctl,
4406 REQ_get_ioctl_result,
4407 REQ_create_named_pipe,
4408 REQ_get_named_pipe_info,
4409 REQ_create_cursor,
4410 REQ_destroy_cursor,
4411 REQ_get_cursor_info,
4412 REQ_get_cursor_frame,
4413 REQ_set_cursor_frame,
4414 REQ_create_window,
4415 REQ_destroy_window,
4416 REQ_get_desktop_window,
4417 REQ_set_window_owner,
4418 REQ_get_window_info,
4419 REQ_set_window_info,
4420 REQ_set_parent,
4421 REQ_get_window_parents,
4422 REQ_get_window_children,
4423 REQ_get_window_children_from_point,
4424 REQ_get_window_tree,
4425 REQ_set_window_pos,
4426 REQ_get_window_rectangles,
4427 REQ_get_window_text,
4428 REQ_set_window_text,
4429 REQ_get_windows_offset,
4430 REQ_get_visible_region,
4431 REQ_get_window_region,
4432 REQ_set_window_region,
4433 REQ_get_update_region,
4434 REQ_update_window_zorder,
4435 REQ_redraw_window,
4436 REQ_set_window_property,
4437 REQ_remove_window_property,
4438 REQ_get_window_property,
4439 REQ_get_window_properties,
4440 REQ_create_winstation,
4441 REQ_open_winstation,
4442 REQ_close_winstation,
4443 REQ_get_process_winstation,
4444 REQ_set_process_winstation,
4445 REQ_create_desktop,
4446 REQ_open_desktop,
4447 REQ_close_desktop,
4448 REQ_get_thread_desktop,
4449 REQ_set_thread_desktop,
4450 REQ_set_user_object_info,
4451 REQ_attach_thread_input,
4452 REQ_get_thread_input,
4453 REQ_get_last_input_time,
4454 REQ_get_key_state,
4455 REQ_set_key_state,
4456 REQ_set_foreground_window,
4457 REQ_set_focus_window,
4458 REQ_set_active_window,
4459 REQ_set_capture_window,
4460 REQ_set_caret_window,
4461 REQ_set_caret_info,
4462 REQ_set_hook,
4463 REQ_remove_hook,
4464 REQ_start_hook_chain,
4465 REQ_finish_hook_chain,
4466 REQ_get_hook_info,
4467 REQ_create_class,
4468 REQ_destroy_class,
4469 REQ_set_class_info,
4470 REQ_set_clipboard_info,
4471 REQ_open_token,
4472 REQ_set_global_windows,
4473 REQ_adjust_token_privileges,
4474 REQ_get_token_privileges,
4475 REQ_check_token_privileges,
4476 REQ_duplicate_token,
4477 REQ_access_check,
4478 REQ_get_token_user,
4479 REQ_get_token_groups,
4480 REQ_set_security_object,
4481 REQ_get_security_object,
4482 REQ_create_mailslot,
4483 REQ_set_mailslot_info,
4484 REQ_create_directory,
4485 REQ_open_directory,
4486 REQ_create_symlink,
4487 REQ_open_symlink,
4488 REQ_query_symlink,
4489 REQ_get_object_info,
4490 REQ_get_token_impersonation_level,
4491 REQ_allocate_locally_unique_id,
4492 REQ_create_device_manager,
4493 REQ_create_device,
4494 REQ_delete_device,
4495 REQ_get_next_device_request,
4496 REQ_make_process_system,
4497 REQ_get_token_statistics,
4498 REQ_create_completion,
4499 REQ_open_completion,
4500 REQ_add_completion,
4501 REQ_remove_completion,
4502 REQ_query_completion,
4503 REQ_set_completion_info,
4504 REQ_NB_REQUESTS
4507 union generic_request
4509 struct request_max_size max_size;
4510 struct request_header request_header;
4511 struct new_process_request new_process_request;
4512 struct get_new_process_info_request get_new_process_info_request;
4513 struct new_thread_request new_thread_request;
4514 struct get_startup_info_request get_startup_info_request;
4515 struct init_process_done_request init_process_done_request;
4516 struct init_thread_request init_thread_request;
4517 struct terminate_process_request terminate_process_request;
4518 struct terminate_thread_request terminate_thread_request;
4519 struct get_process_info_request get_process_info_request;
4520 struct set_process_info_request set_process_info_request;
4521 struct get_thread_info_request get_thread_info_request;
4522 struct set_thread_info_request set_thread_info_request;
4523 struct get_dll_info_request get_dll_info_request;
4524 struct suspend_thread_request suspend_thread_request;
4525 struct resume_thread_request resume_thread_request;
4526 struct load_dll_request load_dll_request;
4527 struct unload_dll_request unload_dll_request;
4528 struct queue_apc_request queue_apc_request;
4529 struct get_apc_result_request get_apc_result_request;
4530 struct close_handle_request close_handle_request;
4531 struct set_handle_info_request set_handle_info_request;
4532 struct dup_handle_request dup_handle_request;
4533 struct open_process_request open_process_request;
4534 struct open_thread_request open_thread_request;
4535 struct select_request select_request;
4536 struct create_event_request create_event_request;
4537 struct event_op_request event_op_request;
4538 struct open_event_request open_event_request;
4539 struct create_mutex_request create_mutex_request;
4540 struct release_mutex_request release_mutex_request;
4541 struct open_mutex_request open_mutex_request;
4542 struct create_semaphore_request create_semaphore_request;
4543 struct release_semaphore_request release_semaphore_request;
4544 struct open_semaphore_request open_semaphore_request;
4545 struct create_file_request create_file_request;
4546 struct open_file_object_request open_file_object_request;
4547 struct alloc_file_handle_request alloc_file_handle_request;
4548 struct get_handle_fd_request get_handle_fd_request;
4549 struct flush_file_request flush_file_request;
4550 struct lock_file_request lock_file_request;
4551 struct unlock_file_request unlock_file_request;
4552 struct create_socket_request create_socket_request;
4553 struct accept_socket_request accept_socket_request;
4554 struct set_socket_event_request set_socket_event_request;
4555 struct get_socket_event_request get_socket_event_request;
4556 struct enable_socket_event_request enable_socket_event_request;
4557 struct set_socket_deferred_request set_socket_deferred_request;
4558 struct alloc_console_request alloc_console_request;
4559 struct free_console_request free_console_request;
4560 struct get_console_renderer_events_request get_console_renderer_events_request;
4561 struct open_console_request open_console_request;
4562 struct get_console_wait_event_request get_console_wait_event_request;
4563 struct get_console_mode_request get_console_mode_request;
4564 struct set_console_mode_request set_console_mode_request;
4565 struct set_console_input_info_request set_console_input_info_request;
4566 struct get_console_input_info_request get_console_input_info_request;
4567 struct append_console_input_history_request append_console_input_history_request;
4568 struct get_console_input_history_request get_console_input_history_request;
4569 struct create_console_output_request create_console_output_request;
4570 struct set_console_output_info_request set_console_output_info_request;
4571 struct get_console_output_info_request get_console_output_info_request;
4572 struct write_console_input_request write_console_input_request;
4573 struct read_console_input_request read_console_input_request;
4574 struct write_console_output_request write_console_output_request;
4575 struct fill_console_output_request fill_console_output_request;
4576 struct read_console_output_request read_console_output_request;
4577 struct move_console_output_request move_console_output_request;
4578 struct send_console_signal_request send_console_signal_request;
4579 struct read_directory_changes_request read_directory_changes_request;
4580 struct read_change_request read_change_request;
4581 struct create_mapping_request create_mapping_request;
4582 struct open_mapping_request open_mapping_request;
4583 struct get_mapping_info_request get_mapping_info_request;
4584 struct create_snapshot_request create_snapshot_request;
4585 struct next_process_request next_process_request;
4586 struct next_thread_request next_thread_request;
4587 struct next_module_request next_module_request;
4588 struct wait_debug_event_request wait_debug_event_request;
4589 struct queue_exception_event_request queue_exception_event_request;
4590 struct get_exception_status_request get_exception_status_request;
4591 struct output_debug_string_request output_debug_string_request;
4592 struct continue_debug_event_request continue_debug_event_request;
4593 struct debug_process_request debug_process_request;
4594 struct debug_break_request debug_break_request;
4595 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
4596 struct read_process_memory_request read_process_memory_request;
4597 struct write_process_memory_request write_process_memory_request;
4598 struct create_key_request create_key_request;
4599 struct open_key_request open_key_request;
4600 struct delete_key_request delete_key_request;
4601 struct flush_key_request flush_key_request;
4602 struct enum_key_request enum_key_request;
4603 struct set_key_value_request set_key_value_request;
4604 struct get_key_value_request get_key_value_request;
4605 struct enum_key_value_request enum_key_value_request;
4606 struct delete_key_value_request delete_key_value_request;
4607 struct load_registry_request load_registry_request;
4608 struct unload_registry_request unload_registry_request;
4609 struct save_registry_request save_registry_request;
4610 struct set_registry_notification_request set_registry_notification_request;
4611 struct create_timer_request create_timer_request;
4612 struct open_timer_request open_timer_request;
4613 struct set_timer_request set_timer_request;
4614 struct cancel_timer_request cancel_timer_request;
4615 struct get_timer_info_request get_timer_info_request;
4616 struct get_thread_context_request get_thread_context_request;
4617 struct set_thread_context_request set_thread_context_request;
4618 struct get_selector_entry_request get_selector_entry_request;
4619 struct add_atom_request add_atom_request;
4620 struct delete_atom_request delete_atom_request;
4621 struct find_atom_request find_atom_request;
4622 struct get_atom_information_request get_atom_information_request;
4623 struct set_atom_information_request set_atom_information_request;
4624 struct empty_atom_table_request empty_atom_table_request;
4625 struct init_atom_table_request init_atom_table_request;
4626 struct get_msg_queue_request get_msg_queue_request;
4627 struct set_queue_fd_request set_queue_fd_request;
4628 struct set_queue_mask_request set_queue_mask_request;
4629 struct get_queue_status_request get_queue_status_request;
4630 struct get_process_idle_event_request get_process_idle_event_request;
4631 struct send_message_request send_message_request;
4632 struct post_quit_message_request post_quit_message_request;
4633 struct send_hardware_message_request send_hardware_message_request;
4634 struct get_message_request get_message_request;
4635 struct reply_message_request reply_message_request;
4636 struct accept_hardware_message_request accept_hardware_message_request;
4637 struct get_message_reply_request get_message_reply_request;
4638 struct set_win_timer_request set_win_timer_request;
4639 struct kill_win_timer_request kill_win_timer_request;
4640 struct get_serial_info_request get_serial_info_request;
4641 struct set_serial_info_request set_serial_info_request;
4642 struct register_async_request register_async_request;
4643 struct cancel_async_request cancel_async_request;
4644 struct ioctl_request ioctl_request;
4645 struct get_ioctl_result_request get_ioctl_result_request;
4646 struct create_named_pipe_request create_named_pipe_request;
4647 struct get_named_pipe_info_request get_named_pipe_info_request;
4648 struct create_cursor_request create_cursor_request;
4649 struct destroy_cursor_request destroy_cursor_request;
4650 struct get_cursor_info_request get_cursor_info_request;
4651 struct get_cursor_frame_request get_cursor_frame_request;
4652 struct set_cursor_frame_request set_cursor_frame_request;
4653 struct create_window_request create_window_request;
4654 struct destroy_window_request destroy_window_request;
4655 struct get_desktop_window_request get_desktop_window_request;
4656 struct set_window_owner_request set_window_owner_request;
4657 struct get_window_info_request get_window_info_request;
4658 struct set_window_info_request set_window_info_request;
4659 struct set_parent_request set_parent_request;
4660 struct get_window_parents_request get_window_parents_request;
4661 struct get_window_children_request get_window_children_request;
4662 struct get_window_children_from_point_request get_window_children_from_point_request;
4663 struct get_window_tree_request get_window_tree_request;
4664 struct set_window_pos_request set_window_pos_request;
4665 struct get_window_rectangles_request get_window_rectangles_request;
4666 struct get_window_text_request get_window_text_request;
4667 struct set_window_text_request set_window_text_request;
4668 struct get_windows_offset_request get_windows_offset_request;
4669 struct get_visible_region_request get_visible_region_request;
4670 struct get_window_region_request get_window_region_request;
4671 struct set_window_region_request set_window_region_request;
4672 struct get_update_region_request get_update_region_request;
4673 struct update_window_zorder_request update_window_zorder_request;
4674 struct redraw_window_request redraw_window_request;
4675 struct set_window_property_request set_window_property_request;
4676 struct remove_window_property_request remove_window_property_request;
4677 struct get_window_property_request get_window_property_request;
4678 struct get_window_properties_request get_window_properties_request;
4679 struct create_winstation_request create_winstation_request;
4680 struct open_winstation_request open_winstation_request;
4681 struct close_winstation_request close_winstation_request;
4682 struct get_process_winstation_request get_process_winstation_request;
4683 struct set_process_winstation_request set_process_winstation_request;
4684 struct create_desktop_request create_desktop_request;
4685 struct open_desktop_request open_desktop_request;
4686 struct close_desktop_request close_desktop_request;
4687 struct get_thread_desktop_request get_thread_desktop_request;
4688 struct set_thread_desktop_request set_thread_desktop_request;
4689 struct set_user_object_info_request set_user_object_info_request;
4690 struct attach_thread_input_request attach_thread_input_request;
4691 struct get_thread_input_request get_thread_input_request;
4692 struct get_last_input_time_request get_last_input_time_request;
4693 struct get_key_state_request get_key_state_request;
4694 struct set_key_state_request set_key_state_request;
4695 struct set_foreground_window_request set_foreground_window_request;
4696 struct set_focus_window_request set_focus_window_request;
4697 struct set_active_window_request set_active_window_request;
4698 struct set_capture_window_request set_capture_window_request;
4699 struct set_caret_window_request set_caret_window_request;
4700 struct set_caret_info_request set_caret_info_request;
4701 struct set_hook_request set_hook_request;
4702 struct remove_hook_request remove_hook_request;
4703 struct start_hook_chain_request start_hook_chain_request;
4704 struct finish_hook_chain_request finish_hook_chain_request;
4705 struct get_hook_info_request get_hook_info_request;
4706 struct create_class_request create_class_request;
4707 struct destroy_class_request destroy_class_request;
4708 struct set_class_info_request set_class_info_request;
4709 struct set_clipboard_info_request set_clipboard_info_request;
4710 struct open_token_request open_token_request;
4711 struct set_global_windows_request set_global_windows_request;
4712 struct adjust_token_privileges_request adjust_token_privileges_request;
4713 struct get_token_privileges_request get_token_privileges_request;
4714 struct check_token_privileges_request check_token_privileges_request;
4715 struct duplicate_token_request duplicate_token_request;
4716 struct access_check_request access_check_request;
4717 struct get_token_user_request get_token_user_request;
4718 struct get_token_groups_request get_token_groups_request;
4719 struct set_security_object_request set_security_object_request;
4720 struct get_security_object_request get_security_object_request;
4721 struct create_mailslot_request create_mailslot_request;
4722 struct set_mailslot_info_request set_mailslot_info_request;
4723 struct create_directory_request create_directory_request;
4724 struct open_directory_request open_directory_request;
4725 struct create_symlink_request create_symlink_request;
4726 struct open_symlink_request open_symlink_request;
4727 struct query_symlink_request query_symlink_request;
4728 struct get_object_info_request get_object_info_request;
4729 struct get_token_impersonation_level_request get_token_impersonation_level_request;
4730 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
4731 struct create_device_manager_request create_device_manager_request;
4732 struct create_device_request create_device_request;
4733 struct delete_device_request delete_device_request;
4734 struct get_next_device_request_request get_next_device_request_request;
4735 struct make_process_system_request make_process_system_request;
4736 struct get_token_statistics_request get_token_statistics_request;
4737 struct create_completion_request create_completion_request;
4738 struct open_completion_request open_completion_request;
4739 struct add_completion_request add_completion_request;
4740 struct remove_completion_request remove_completion_request;
4741 struct query_completion_request query_completion_request;
4742 struct set_completion_info_request set_completion_info_request;
4744 union generic_reply
4746 struct request_max_size max_size;
4747 struct reply_header reply_header;
4748 struct new_process_reply new_process_reply;
4749 struct get_new_process_info_reply get_new_process_info_reply;
4750 struct new_thread_reply new_thread_reply;
4751 struct get_startup_info_reply get_startup_info_reply;
4752 struct init_process_done_reply init_process_done_reply;
4753 struct init_thread_reply init_thread_reply;
4754 struct terminate_process_reply terminate_process_reply;
4755 struct terminate_thread_reply terminate_thread_reply;
4756 struct get_process_info_reply get_process_info_reply;
4757 struct set_process_info_reply set_process_info_reply;
4758 struct get_thread_info_reply get_thread_info_reply;
4759 struct set_thread_info_reply set_thread_info_reply;
4760 struct get_dll_info_reply get_dll_info_reply;
4761 struct suspend_thread_reply suspend_thread_reply;
4762 struct resume_thread_reply resume_thread_reply;
4763 struct load_dll_reply load_dll_reply;
4764 struct unload_dll_reply unload_dll_reply;
4765 struct queue_apc_reply queue_apc_reply;
4766 struct get_apc_result_reply get_apc_result_reply;
4767 struct close_handle_reply close_handle_reply;
4768 struct set_handle_info_reply set_handle_info_reply;
4769 struct dup_handle_reply dup_handle_reply;
4770 struct open_process_reply open_process_reply;
4771 struct open_thread_reply open_thread_reply;
4772 struct select_reply select_reply;
4773 struct create_event_reply create_event_reply;
4774 struct event_op_reply event_op_reply;
4775 struct open_event_reply open_event_reply;
4776 struct create_mutex_reply create_mutex_reply;
4777 struct release_mutex_reply release_mutex_reply;
4778 struct open_mutex_reply open_mutex_reply;
4779 struct create_semaphore_reply create_semaphore_reply;
4780 struct release_semaphore_reply release_semaphore_reply;
4781 struct open_semaphore_reply open_semaphore_reply;
4782 struct create_file_reply create_file_reply;
4783 struct open_file_object_reply open_file_object_reply;
4784 struct alloc_file_handle_reply alloc_file_handle_reply;
4785 struct get_handle_fd_reply get_handle_fd_reply;
4786 struct flush_file_reply flush_file_reply;
4787 struct lock_file_reply lock_file_reply;
4788 struct unlock_file_reply unlock_file_reply;
4789 struct create_socket_reply create_socket_reply;
4790 struct accept_socket_reply accept_socket_reply;
4791 struct set_socket_event_reply set_socket_event_reply;
4792 struct get_socket_event_reply get_socket_event_reply;
4793 struct enable_socket_event_reply enable_socket_event_reply;
4794 struct set_socket_deferred_reply set_socket_deferred_reply;
4795 struct alloc_console_reply alloc_console_reply;
4796 struct free_console_reply free_console_reply;
4797 struct get_console_renderer_events_reply get_console_renderer_events_reply;
4798 struct open_console_reply open_console_reply;
4799 struct get_console_wait_event_reply get_console_wait_event_reply;
4800 struct get_console_mode_reply get_console_mode_reply;
4801 struct set_console_mode_reply set_console_mode_reply;
4802 struct set_console_input_info_reply set_console_input_info_reply;
4803 struct get_console_input_info_reply get_console_input_info_reply;
4804 struct append_console_input_history_reply append_console_input_history_reply;
4805 struct get_console_input_history_reply get_console_input_history_reply;
4806 struct create_console_output_reply create_console_output_reply;
4807 struct set_console_output_info_reply set_console_output_info_reply;
4808 struct get_console_output_info_reply get_console_output_info_reply;
4809 struct write_console_input_reply write_console_input_reply;
4810 struct read_console_input_reply read_console_input_reply;
4811 struct write_console_output_reply write_console_output_reply;
4812 struct fill_console_output_reply fill_console_output_reply;
4813 struct read_console_output_reply read_console_output_reply;
4814 struct move_console_output_reply move_console_output_reply;
4815 struct send_console_signal_reply send_console_signal_reply;
4816 struct read_directory_changes_reply read_directory_changes_reply;
4817 struct read_change_reply read_change_reply;
4818 struct create_mapping_reply create_mapping_reply;
4819 struct open_mapping_reply open_mapping_reply;
4820 struct get_mapping_info_reply get_mapping_info_reply;
4821 struct create_snapshot_reply create_snapshot_reply;
4822 struct next_process_reply next_process_reply;
4823 struct next_thread_reply next_thread_reply;
4824 struct next_module_reply next_module_reply;
4825 struct wait_debug_event_reply wait_debug_event_reply;
4826 struct queue_exception_event_reply queue_exception_event_reply;
4827 struct get_exception_status_reply get_exception_status_reply;
4828 struct output_debug_string_reply output_debug_string_reply;
4829 struct continue_debug_event_reply continue_debug_event_reply;
4830 struct debug_process_reply debug_process_reply;
4831 struct debug_break_reply debug_break_reply;
4832 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
4833 struct read_process_memory_reply read_process_memory_reply;
4834 struct write_process_memory_reply write_process_memory_reply;
4835 struct create_key_reply create_key_reply;
4836 struct open_key_reply open_key_reply;
4837 struct delete_key_reply delete_key_reply;
4838 struct flush_key_reply flush_key_reply;
4839 struct enum_key_reply enum_key_reply;
4840 struct set_key_value_reply set_key_value_reply;
4841 struct get_key_value_reply get_key_value_reply;
4842 struct enum_key_value_reply enum_key_value_reply;
4843 struct delete_key_value_reply delete_key_value_reply;
4844 struct load_registry_reply load_registry_reply;
4845 struct unload_registry_reply unload_registry_reply;
4846 struct save_registry_reply save_registry_reply;
4847 struct set_registry_notification_reply set_registry_notification_reply;
4848 struct create_timer_reply create_timer_reply;
4849 struct open_timer_reply open_timer_reply;
4850 struct set_timer_reply set_timer_reply;
4851 struct cancel_timer_reply cancel_timer_reply;
4852 struct get_timer_info_reply get_timer_info_reply;
4853 struct get_thread_context_reply get_thread_context_reply;
4854 struct set_thread_context_reply set_thread_context_reply;
4855 struct get_selector_entry_reply get_selector_entry_reply;
4856 struct add_atom_reply add_atom_reply;
4857 struct delete_atom_reply delete_atom_reply;
4858 struct find_atom_reply find_atom_reply;
4859 struct get_atom_information_reply get_atom_information_reply;
4860 struct set_atom_information_reply set_atom_information_reply;
4861 struct empty_atom_table_reply empty_atom_table_reply;
4862 struct init_atom_table_reply init_atom_table_reply;
4863 struct get_msg_queue_reply get_msg_queue_reply;
4864 struct set_queue_fd_reply set_queue_fd_reply;
4865 struct set_queue_mask_reply set_queue_mask_reply;
4866 struct get_queue_status_reply get_queue_status_reply;
4867 struct get_process_idle_event_reply get_process_idle_event_reply;
4868 struct send_message_reply send_message_reply;
4869 struct post_quit_message_reply post_quit_message_reply;
4870 struct send_hardware_message_reply send_hardware_message_reply;
4871 struct get_message_reply get_message_reply;
4872 struct reply_message_reply reply_message_reply;
4873 struct accept_hardware_message_reply accept_hardware_message_reply;
4874 struct get_message_reply_reply get_message_reply_reply;
4875 struct set_win_timer_reply set_win_timer_reply;
4876 struct kill_win_timer_reply kill_win_timer_reply;
4877 struct get_serial_info_reply get_serial_info_reply;
4878 struct set_serial_info_reply set_serial_info_reply;
4879 struct register_async_reply register_async_reply;
4880 struct cancel_async_reply cancel_async_reply;
4881 struct ioctl_reply ioctl_reply;
4882 struct get_ioctl_result_reply get_ioctl_result_reply;
4883 struct create_named_pipe_reply create_named_pipe_reply;
4884 struct get_named_pipe_info_reply get_named_pipe_info_reply;
4885 struct create_cursor_reply create_cursor_reply;
4886 struct destroy_cursor_reply destroy_cursor_reply;
4887 struct get_cursor_info_reply get_cursor_info_reply;
4888 struct get_cursor_frame_reply get_cursor_frame_reply;
4889 struct set_cursor_frame_reply set_cursor_frame_reply;
4890 struct create_window_reply create_window_reply;
4891 struct destroy_window_reply destroy_window_reply;
4892 struct get_desktop_window_reply get_desktop_window_reply;
4893 struct set_window_owner_reply set_window_owner_reply;
4894 struct get_window_info_reply get_window_info_reply;
4895 struct set_window_info_reply set_window_info_reply;
4896 struct set_parent_reply set_parent_reply;
4897 struct get_window_parents_reply get_window_parents_reply;
4898 struct get_window_children_reply get_window_children_reply;
4899 struct get_window_children_from_point_reply get_window_children_from_point_reply;
4900 struct get_window_tree_reply get_window_tree_reply;
4901 struct set_window_pos_reply set_window_pos_reply;
4902 struct get_window_rectangles_reply get_window_rectangles_reply;
4903 struct get_window_text_reply get_window_text_reply;
4904 struct set_window_text_reply set_window_text_reply;
4905 struct get_windows_offset_reply get_windows_offset_reply;
4906 struct get_visible_region_reply get_visible_region_reply;
4907 struct get_window_region_reply get_window_region_reply;
4908 struct set_window_region_reply set_window_region_reply;
4909 struct get_update_region_reply get_update_region_reply;
4910 struct update_window_zorder_reply update_window_zorder_reply;
4911 struct redraw_window_reply redraw_window_reply;
4912 struct set_window_property_reply set_window_property_reply;
4913 struct remove_window_property_reply remove_window_property_reply;
4914 struct get_window_property_reply get_window_property_reply;
4915 struct get_window_properties_reply get_window_properties_reply;
4916 struct create_winstation_reply create_winstation_reply;
4917 struct open_winstation_reply open_winstation_reply;
4918 struct close_winstation_reply close_winstation_reply;
4919 struct get_process_winstation_reply get_process_winstation_reply;
4920 struct set_process_winstation_reply set_process_winstation_reply;
4921 struct create_desktop_reply create_desktop_reply;
4922 struct open_desktop_reply open_desktop_reply;
4923 struct close_desktop_reply close_desktop_reply;
4924 struct get_thread_desktop_reply get_thread_desktop_reply;
4925 struct set_thread_desktop_reply set_thread_desktop_reply;
4926 struct set_user_object_info_reply set_user_object_info_reply;
4927 struct attach_thread_input_reply attach_thread_input_reply;
4928 struct get_thread_input_reply get_thread_input_reply;
4929 struct get_last_input_time_reply get_last_input_time_reply;
4930 struct get_key_state_reply get_key_state_reply;
4931 struct set_key_state_reply set_key_state_reply;
4932 struct set_foreground_window_reply set_foreground_window_reply;
4933 struct set_focus_window_reply set_focus_window_reply;
4934 struct set_active_window_reply set_active_window_reply;
4935 struct set_capture_window_reply set_capture_window_reply;
4936 struct set_caret_window_reply set_caret_window_reply;
4937 struct set_caret_info_reply set_caret_info_reply;
4938 struct set_hook_reply set_hook_reply;
4939 struct remove_hook_reply remove_hook_reply;
4940 struct start_hook_chain_reply start_hook_chain_reply;
4941 struct finish_hook_chain_reply finish_hook_chain_reply;
4942 struct get_hook_info_reply get_hook_info_reply;
4943 struct create_class_reply create_class_reply;
4944 struct destroy_class_reply destroy_class_reply;
4945 struct set_class_info_reply set_class_info_reply;
4946 struct set_clipboard_info_reply set_clipboard_info_reply;
4947 struct open_token_reply open_token_reply;
4948 struct set_global_windows_reply set_global_windows_reply;
4949 struct adjust_token_privileges_reply adjust_token_privileges_reply;
4950 struct get_token_privileges_reply get_token_privileges_reply;
4951 struct check_token_privileges_reply check_token_privileges_reply;
4952 struct duplicate_token_reply duplicate_token_reply;
4953 struct access_check_reply access_check_reply;
4954 struct get_token_user_reply get_token_user_reply;
4955 struct get_token_groups_reply get_token_groups_reply;
4956 struct set_security_object_reply set_security_object_reply;
4957 struct get_security_object_reply get_security_object_reply;
4958 struct create_mailslot_reply create_mailslot_reply;
4959 struct set_mailslot_info_reply set_mailslot_info_reply;
4960 struct create_directory_reply create_directory_reply;
4961 struct open_directory_reply open_directory_reply;
4962 struct create_symlink_reply create_symlink_reply;
4963 struct open_symlink_reply open_symlink_reply;
4964 struct query_symlink_reply query_symlink_reply;
4965 struct get_object_info_reply get_object_info_reply;
4966 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
4967 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
4968 struct create_device_manager_reply create_device_manager_reply;
4969 struct create_device_reply create_device_reply;
4970 struct delete_device_reply delete_device_reply;
4971 struct get_next_device_request_reply get_next_device_request_reply;
4972 struct make_process_system_reply make_process_system_reply;
4973 struct get_token_statistics_reply get_token_statistics_reply;
4974 struct create_completion_reply create_completion_reply;
4975 struct open_completion_reply open_completion_reply;
4976 struct add_completion_reply add_completion_reply;
4977 struct remove_completion_reply remove_completion_reply;
4978 struct query_completion_reply query_completion_reply;
4979 struct set_completion_info_reply set_completion_info_reply;
4982 #define SERVER_PROTOCOL_VERSION 316
4984 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */