push ad05fa8ea86b4a1581adad6c24ad723042d385d2
[wine/hacks.git] / include / wine / server_protocol.h
blobe67f033d626ed61ccd4222656a98eb8da457ab27
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;
25 typedef unsigned __int64 file_pos_t;
27 struct request_header
29 int req;
30 data_size_t request_size;
31 data_size_t reply_size;
34 struct reply_header
36 unsigned int error;
37 data_size_t reply_size;
42 struct request_max_size
44 int pad[16];
47 #define FIRST_USER_HANDLE 0x0020
48 #define LAST_USER_HANDLE 0xffef
52 struct debug_event_exception
54 EXCEPTION_RECORD record;
55 int first;
57 struct debug_event_create_thread
59 obj_handle_t handle;
60 void *teb;
61 void *start;
63 struct debug_event_create_process
65 obj_handle_t file;
66 obj_handle_t process;
67 obj_handle_t thread;
68 void *base;
69 int dbg_offset;
70 int dbg_size;
71 void *teb;
72 void *start;
73 void *name;
74 int unicode;
76 struct debug_event_exit
78 int exit_code;
80 struct debug_event_load_dll
82 obj_handle_t handle;
83 void *base;
84 int dbg_offset;
85 int dbg_size;
86 void *name;
87 int unicode;
89 struct debug_event_unload_dll
91 void *base;
93 struct debug_event_output_string
95 void *string;
96 int unicode;
97 int length;
99 struct debug_event_rip_info
101 int error;
102 int type;
104 union debug_event_data
106 struct debug_event_exception exception;
107 struct debug_event_create_thread create_thread;
108 struct debug_event_create_process create_process;
109 struct debug_event_exit exit;
110 struct debug_event_load_dll load_dll;
111 struct debug_event_unload_dll unload_dll;
112 struct debug_event_output_string output_string;
113 struct debug_event_rip_info rip_info;
117 typedef struct
119 int code;
120 union debug_event_data info;
121 } debug_event_t;
124 struct send_fd
126 thread_id_t tid;
127 int fd;
131 struct wake_up_reply
133 void *cookie;
134 int signaled;
138 typedef __int64 timeout_t;
139 #define TIMEOUT_INFINITE (((timeout_t)0x7fffffff) << 32 | 0xffffffff)
142 typedef struct
144 atom_t atom;
145 short string;
146 obj_handle_t handle;
147 } property_data_t;
150 typedef struct
152 int left;
153 int top;
154 int right;
155 int bottom;
156 } rectangle_t;
159 typedef struct
161 void *callback;
162 void *iosb;
163 void *arg;
164 void *apc;
165 obj_handle_t event;
166 } async_data_t;
170 struct callback_msg_data
172 void *callback;
173 unsigned long data;
174 unsigned long result;
177 struct winevent_msg_data
179 user_handle_t hook;
180 thread_id_t tid;
181 void *hook_proc;
185 typedef union
187 unsigned char bytes[1];
188 struct callback_msg_data callback;
189 struct winevent_msg_data winevent;
190 } message_data_t;
193 typedef struct
195 WCHAR ch;
196 unsigned short attr;
197 } char_info_t;
199 typedef struct
201 unsigned int low_part;
202 int high_part;
203 } luid_t;
205 #define MAX_ACL_LEN 65535
207 struct security_descriptor
209 unsigned int control;
210 data_size_t owner_len;
211 data_size_t group_len;
212 data_size_t sacl_len;
213 data_size_t dacl_len;
220 struct object_attributes
222 obj_handle_t rootdir;
223 data_size_t sd_len;
224 data_size_t name_len;
229 struct token_groups
231 unsigned int count;
236 enum apc_type
238 APC_NONE,
239 APC_USER,
240 APC_TIMER,
241 APC_ASYNC_IO,
242 APC_VIRTUAL_ALLOC,
243 APC_VIRTUAL_FREE,
244 APC_VIRTUAL_QUERY,
245 APC_VIRTUAL_PROTECT,
246 APC_VIRTUAL_FLUSH,
247 APC_VIRTUAL_LOCK,
248 APC_VIRTUAL_UNLOCK,
249 APC_MAP_VIEW,
250 APC_UNMAP_VIEW,
251 APC_CREATE_THREAD
254 typedef union
256 enum apc_type type;
257 struct
259 enum apc_type type;
260 void (__stdcall *func)(unsigned long,unsigned long,unsigned long);
261 unsigned long args[3];
262 } user;
263 struct
265 enum apc_type type;
266 void (__stdcall *func)(void*, unsigned int, unsigned int);
267 timeout_t time;
268 void *arg;
269 } timer;
270 struct
272 enum apc_type type;
273 unsigned int (*func)(void*, void*, unsigned int);
274 void *user;
275 void *sb;
276 unsigned int status;
277 } async_io;
278 struct
280 enum apc_type type;
281 void *addr;
282 unsigned long size;
283 unsigned int zero_bits;
284 unsigned int op_type;
285 unsigned int prot;
286 } virtual_alloc;
287 struct
289 enum apc_type type;
290 void *addr;
291 unsigned long size;
292 unsigned int op_type;
293 } virtual_free;
294 struct
296 enum apc_type type;
297 const void *addr;
298 } virtual_query;
299 struct
301 enum apc_type type;
302 void *addr;
303 unsigned long size;
304 unsigned int prot;
305 } virtual_protect;
306 struct
308 enum apc_type type;
309 const void *addr;
310 unsigned long size;
311 } virtual_flush;
312 struct
314 enum apc_type type;
315 void *addr;
316 unsigned long size;
317 } virtual_lock;
318 struct
320 enum apc_type type;
321 void *addr;
322 unsigned long size;
323 } virtual_unlock;
324 struct
326 enum apc_type type;
327 obj_handle_t handle;
328 void *addr;
329 unsigned long size;
330 file_pos_t offset;
331 unsigned int zero_bits;
332 unsigned int alloc_type;
333 unsigned int prot;
334 } map_view;
335 struct
337 enum apc_type type;
338 void *addr;
339 } unmap_view;
340 struct
342 enum apc_type type;
343 void (__stdcall *func)(void*);
344 void *arg;
345 unsigned long reserve;
346 unsigned long commit;
347 int suspend;
348 } create_thread;
349 } apc_call_t;
351 typedef union
353 enum apc_type type;
354 struct
356 enum apc_type type;
357 unsigned int status;
358 } async_io;
359 struct
361 enum apc_type type;
362 unsigned int status;
363 void *addr;
364 unsigned long size;
365 } virtual_alloc;
366 struct
368 enum apc_type type;
369 unsigned int status;
370 void *addr;
371 unsigned long size;
372 } virtual_free;
373 struct
375 enum apc_type type;
376 unsigned int status;
377 void *base;
378 void *alloc_base;
379 unsigned long size;
380 unsigned int state;
381 unsigned int prot;
382 unsigned int alloc_prot;
383 unsigned int alloc_type;
384 } virtual_query;
385 struct
387 enum apc_type type;
388 unsigned int status;
389 void *addr;
390 unsigned long size;
391 unsigned int prot;
392 } virtual_protect;
393 struct
395 enum apc_type type;
396 unsigned int status;
397 const void *addr;
398 unsigned long size;
399 } virtual_flush;
400 struct
402 enum apc_type type;
403 unsigned int status;
404 void *addr;
405 unsigned long size;
406 } virtual_lock;
407 struct
409 enum apc_type type;
410 unsigned int status;
411 void *addr;
412 unsigned long size;
413 } virtual_unlock;
414 struct
416 enum apc_type type;
417 unsigned int status;
418 void *addr;
419 unsigned long size;
420 } map_view;
421 struct
423 enum apc_type type;
424 unsigned int status;
425 } unmap_view;
426 struct
428 enum apc_type type;
429 unsigned int status;
430 thread_id_t tid;
431 obj_handle_t handle;
432 } create_thread;
433 } apc_result_t;
439 struct new_process_request
441 struct request_header __header;
442 int inherit_all;
443 unsigned int create_flags;
444 int socket_fd;
445 obj_handle_t exe_file;
446 obj_handle_t hstdin;
447 obj_handle_t hstdout;
448 obj_handle_t hstderr;
449 unsigned int process_access;
450 unsigned int process_attr;
451 unsigned int thread_access;
452 unsigned int thread_attr;
453 /* VARARG(info,startup_info); */
454 /* VARARG(env,unicode_str); */
456 struct new_process_reply
458 struct reply_header __header;
459 obj_handle_t info;
460 process_id_t pid;
461 obj_handle_t phandle;
462 thread_id_t tid;
463 obj_handle_t thandle;
468 struct get_new_process_info_request
470 struct request_header __header;
471 obj_handle_t info;
473 struct get_new_process_info_reply
475 struct reply_header __header;
476 int success;
477 int exit_code;
482 struct new_thread_request
484 struct request_header __header;
485 unsigned int access;
486 unsigned int attributes;
487 int suspend;
488 int request_fd;
490 struct new_thread_reply
492 struct reply_header __header;
493 thread_id_t tid;
494 obj_handle_t handle;
499 struct get_startup_info_request
501 struct request_header __header;
503 struct get_startup_info_reply
505 struct reply_header __header;
506 obj_handle_t exe_file;
507 obj_handle_t hstdin;
508 obj_handle_t hstdout;
509 obj_handle_t hstderr;
510 /* VARARG(info,startup_info); */
511 /* VARARG(env,unicode_str); */
516 struct init_process_done_request
518 struct request_header __header;
519 void* module;
520 void* entry;
521 int gui;
523 struct init_process_done_reply
525 struct reply_header __header;
530 struct init_thread_request
532 struct request_header __header;
533 int unix_pid;
534 int unix_tid;
535 int debug_level;
536 void* teb;
537 void* peb;
538 void* entry;
539 void* ldt_copy;
540 int reply_fd;
541 int wait_fd;
543 struct init_thread_reply
545 struct reply_header __header;
546 process_id_t pid;
547 thread_id_t tid;
548 data_size_t info_size;
549 timeout_t server_start;
550 int version;
555 struct terminate_process_request
557 struct request_header __header;
558 obj_handle_t handle;
559 int exit_code;
561 struct terminate_process_reply
563 struct reply_header __header;
564 int self;
569 struct terminate_thread_request
571 struct request_header __header;
572 obj_handle_t handle;
573 int exit_code;
575 struct terminate_thread_reply
577 struct reply_header __header;
578 int self;
579 int last;
584 struct get_process_info_request
586 struct request_header __header;
587 obj_handle_t handle;
589 struct get_process_info_reply
591 struct reply_header __header;
592 process_id_t pid;
593 process_id_t ppid;
594 int exit_code;
595 int priority;
596 int affinity;
597 void* peb;
598 timeout_t start_time;
599 timeout_t end_time;
604 struct set_process_info_request
606 struct request_header __header;
607 obj_handle_t handle;
608 int mask;
609 int priority;
610 int affinity;
612 struct set_process_info_reply
614 struct reply_header __header;
616 #define SET_PROCESS_INFO_PRIORITY 0x01
617 #define SET_PROCESS_INFO_AFFINITY 0x02
621 struct get_thread_info_request
623 struct request_header __header;
624 obj_handle_t handle;
625 thread_id_t tid_in;
627 struct get_thread_info_reply
629 struct reply_header __header;
630 process_id_t pid;
631 thread_id_t tid;
632 void* teb;
633 int exit_code;
634 int priority;
635 int affinity;
636 timeout_t creation_time;
637 timeout_t exit_time;
638 int last;
643 struct set_thread_info_request
645 struct request_header __header;
646 obj_handle_t handle;
647 int mask;
648 int priority;
649 int affinity;
650 obj_handle_t token;
652 struct set_thread_info_reply
654 struct reply_header __header;
656 #define SET_THREAD_INFO_PRIORITY 0x01
657 #define SET_THREAD_INFO_AFFINITY 0x02
658 #define SET_THREAD_INFO_TOKEN 0x04
662 struct get_dll_info_request
664 struct request_header __header;
665 obj_handle_t handle;
666 void* base_address;
668 struct get_dll_info_reply
670 struct reply_header __header;
671 size_t size;
672 void* entry_point;
673 /* VARARG(filename,unicode_str); */
678 struct suspend_thread_request
680 struct request_header __header;
681 obj_handle_t handle;
683 struct suspend_thread_reply
685 struct reply_header __header;
686 int count;
691 struct resume_thread_request
693 struct request_header __header;
694 obj_handle_t handle;
696 struct resume_thread_reply
698 struct reply_header __header;
699 int count;
704 struct load_dll_request
706 struct request_header __header;
707 obj_handle_t handle;
708 void* base;
709 size_t size;
710 int dbg_offset;
711 int dbg_size;
712 void* name;
713 /* VARARG(filename,unicode_str); */
715 struct load_dll_reply
717 struct reply_header __header;
722 struct unload_dll_request
724 struct request_header __header;
725 void* base;
727 struct unload_dll_reply
729 struct reply_header __header;
734 struct queue_apc_request
736 struct request_header __header;
737 obj_handle_t thread;
738 obj_handle_t process;
739 apc_call_t call;
741 struct queue_apc_reply
743 struct reply_header __header;
744 obj_handle_t handle;
745 int self;
750 struct get_apc_result_request
752 struct request_header __header;
753 obj_handle_t handle;
755 struct get_apc_result_reply
757 struct reply_header __header;
758 apc_result_t result;
763 struct close_handle_request
765 struct request_header __header;
766 obj_handle_t handle;
768 struct close_handle_reply
770 struct reply_header __header;
775 struct set_handle_info_request
777 struct request_header __header;
778 obj_handle_t handle;
779 int flags;
780 int mask;
782 struct set_handle_info_reply
784 struct reply_header __header;
785 int old_flags;
790 struct dup_handle_request
792 struct request_header __header;
793 obj_handle_t src_process;
794 obj_handle_t src_handle;
795 obj_handle_t dst_process;
796 unsigned int access;
797 unsigned int attributes;
798 unsigned int options;
800 struct dup_handle_reply
802 struct reply_header __header;
803 obj_handle_t handle;
804 int self;
805 int closed;
807 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
808 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
809 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
813 struct open_process_request
815 struct request_header __header;
816 process_id_t pid;
817 unsigned int access;
818 unsigned int attributes;
820 struct open_process_reply
822 struct reply_header __header;
823 obj_handle_t handle;
828 struct open_thread_request
830 struct request_header __header;
831 thread_id_t tid;
832 unsigned int access;
833 unsigned int attributes;
835 struct open_thread_reply
837 struct reply_header __header;
838 obj_handle_t handle;
843 struct select_request
845 struct request_header __header;
846 int flags;
847 void* cookie;
848 obj_handle_t signal;
849 obj_handle_t prev_apc;
850 timeout_t timeout;
851 /* VARARG(result,apc_result); */
852 /* VARARG(handles,handles); */
854 struct select_reply
856 struct reply_header __header;
857 obj_handle_t apc_handle;
858 timeout_t timeout;
859 apc_call_t call;
861 #define SELECT_ALL 1
862 #define SELECT_ALERTABLE 2
863 #define SELECT_INTERRUPTIBLE 4
867 struct create_event_request
869 struct request_header __header;
870 unsigned int access;
871 unsigned int attributes;
872 int manual_reset;
873 int initial_state;
874 /* VARARG(objattr,object_attributes); */
876 struct create_event_reply
878 struct reply_header __header;
879 obj_handle_t handle;
883 struct event_op_request
885 struct request_header __header;
886 obj_handle_t handle;
887 int op;
889 struct event_op_reply
891 struct reply_header __header;
893 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
897 struct open_event_request
899 struct request_header __header;
900 unsigned int access;
901 unsigned int attributes;
902 obj_handle_t rootdir;
903 /* VARARG(name,unicode_str); */
905 struct open_event_reply
907 struct reply_header __header;
908 obj_handle_t handle;
913 struct create_mutex_request
915 struct request_header __header;
916 unsigned int access;
917 unsigned int attributes;
918 int owned;
919 /* VARARG(objattr,object_attributes); */
921 struct create_mutex_reply
923 struct reply_header __header;
924 obj_handle_t handle;
929 struct release_mutex_request
931 struct request_header __header;
932 obj_handle_t handle;
934 struct release_mutex_reply
936 struct reply_header __header;
937 unsigned int prev_count;
942 struct open_mutex_request
944 struct request_header __header;
945 unsigned int access;
946 unsigned int attributes;
947 obj_handle_t rootdir;
948 /* VARARG(name,unicode_str); */
950 struct open_mutex_reply
952 struct reply_header __header;
953 obj_handle_t handle;
958 struct create_semaphore_request
960 struct request_header __header;
961 unsigned int access;
962 unsigned int attributes;
963 unsigned int initial;
964 unsigned int max;
965 /* VARARG(objattr,object_attributes); */
967 struct create_semaphore_reply
969 struct reply_header __header;
970 obj_handle_t handle;
975 struct release_semaphore_request
977 struct request_header __header;
978 obj_handle_t handle;
979 unsigned int count;
981 struct release_semaphore_reply
983 struct reply_header __header;
984 unsigned int prev_count;
989 struct open_semaphore_request
991 struct request_header __header;
992 unsigned int access;
993 unsigned int attributes;
994 obj_handle_t rootdir;
995 /* VARARG(name,unicode_str); */
997 struct open_semaphore_reply
999 struct reply_header __header;
1000 obj_handle_t handle;
1005 struct create_file_request
1007 struct request_header __header;
1008 unsigned int access;
1009 unsigned int attributes;
1010 unsigned int sharing;
1011 int create;
1012 unsigned int options;
1013 unsigned int attrs;
1014 /* VARARG(objattr,object_attributes); */
1015 /* VARARG(filename,string); */
1017 struct create_file_reply
1019 struct reply_header __header;
1020 obj_handle_t handle;
1025 struct open_file_object_request
1027 struct request_header __header;
1028 unsigned int access;
1029 unsigned int attributes;
1030 obj_handle_t rootdir;
1031 unsigned int sharing;
1032 unsigned int options;
1033 /* VARARG(filename,unicode_str); */
1035 struct open_file_object_reply
1037 struct reply_header __header;
1038 obj_handle_t handle;
1043 struct alloc_file_handle_request
1045 struct request_header __header;
1046 unsigned int access;
1047 unsigned int attributes;
1048 int fd;
1050 struct alloc_file_handle_reply
1052 struct reply_header __header;
1053 obj_handle_t handle;
1058 struct get_handle_fd_request
1060 struct request_header __header;
1061 obj_handle_t handle;
1063 struct get_handle_fd_reply
1065 struct reply_header __header;
1066 int type;
1067 int removable;
1068 unsigned int access;
1069 unsigned int options;
1071 enum server_fd_type
1073 FD_TYPE_INVALID,
1074 FD_TYPE_FILE,
1075 FD_TYPE_DIR,
1076 FD_TYPE_SOCKET,
1077 FD_TYPE_SERIAL,
1078 FD_TYPE_PIPE,
1079 FD_TYPE_MAILSLOT,
1080 FD_TYPE_CHAR,
1081 FD_TYPE_DEVICE,
1082 FD_TYPE_NB_TYPES
1087 struct flush_file_request
1089 struct request_header __header;
1090 obj_handle_t handle;
1092 struct flush_file_reply
1094 struct reply_header __header;
1095 obj_handle_t event;
1100 struct lock_file_request
1102 struct request_header __header;
1103 obj_handle_t handle;
1104 file_pos_t offset;
1105 file_pos_t count;
1106 int shared;
1107 int wait;
1109 struct lock_file_reply
1111 struct reply_header __header;
1112 obj_handle_t handle;
1113 int overlapped;
1118 struct unlock_file_request
1120 struct request_header __header;
1121 obj_handle_t handle;
1122 file_pos_t offset;
1123 file_pos_t count;
1125 struct unlock_file_reply
1127 struct reply_header __header;
1132 struct create_socket_request
1134 struct request_header __header;
1135 unsigned int access;
1136 unsigned int attributes;
1137 int family;
1138 int type;
1139 int protocol;
1140 unsigned int flags;
1142 struct create_socket_reply
1144 struct reply_header __header;
1145 obj_handle_t handle;
1150 struct accept_socket_request
1152 struct request_header __header;
1153 obj_handle_t lhandle;
1154 unsigned int access;
1155 unsigned int attributes;
1157 struct accept_socket_reply
1159 struct reply_header __header;
1160 obj_handle_t handle;
1165 struct set_socket_event_request
1167 struct request_header __header;
1168 obj_handle_t handle;
1169 unsigned int mask;
1170 obj_handle_t event;
1171 user_handle_t window;
1172 unsigned int msg;
1174 struct set_socket_event_reply
1176 struct reply_header __header;
1181 struct get_socket_event_request
1183 struct request_header __header;
1184 obj_handle_t handle;
1185 int service;
1186 obj_handle_t c_event;
1188 struct get_socket_event_reply
1190 struct reply_header __header;
1191 unsigned int mask;
1192 unsigned int pmask;
1193 unsigned int state;
1194 /* VARARG(errors,ints); */
1199 struct enable_socket_event_request
1201 struct request_header __header;
1202 obj_handle_t handle;
1203 unsigned int mask;
1204 unsigned int sstate;
1205 unsigned int cstate;
1207 struct enable_socket_event_reply
1209 struct reply_header __header;
1212 struct set_socket_deferred_request
1214 struct request_header __header;
1215 obj_handle_t handle;
1216 obj_handle_t deferred;
1218 struct set_socket_deferred_reply
1220 struct reply_header __header;
1224 struct alloc_console_request
1226 struct request_header __header;
1227 unsigned int access;
1228 unsigned int attributes;
1229 process_id_t pid;
1231 struct alloc_console_reply
1233 struct reply_header __header;
1234 obj_handle_t handle_in;
1235 obj_handle_t event;
1240 struct free_console_request
1242 struct request_header __header;
1244 struct free_console_reply
1246 struct reply_header __header;
1250 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1251 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1252 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1253 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1254 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1255 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1256 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1257 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1258 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1259 struct console_renderer_event
1261 short event;
1262 union
1264 struct update
1266 short top;
1267 short bottom;
1268 } update;
1269 struct resize
1271 short width;
1272 short height;
1273 } resize;
1274 struct cursor_pos
1276 short x;
1277 short y;
1278 } cursor_pos;
1279 struct cursor_geom
1281 short visible;
1282 short size;
1283 } cursor_geom;
1284 struct display
1286 short left;
1287 short top;
1288 short width;
1289 short height;
1290 } display;
1291 } u;
1295 struct get_console_renderer_events_request
1297 struct request_header __header;
1298 obj_handle_t handle;
1300 struct get_console_renderer_events_reply
1302 struct reply_header __header;
1303 /* VARARG(data,bytes); */
1308 struct open_console_request
1310 struct request_header __header;
1311 obj_handle_t from;
1313 unsigned int access;
1314 unsigned int attributes;
1315 int share;
1317 struct open_console_reply
1319 struct reply_header __header;
1320 obj_handle_t handle;
1325 struct get_console_wait_event_request
1327 struct request_header __header;
1329 struct get_console_wait_event_reply
1331 struct reply_header __header;
1332 obj_handle_t handle;
1336 struct get_console_mode_request
1338 struct request_header __header;
1339 obj_handle_t handle;
1341 struct get_console_mode_reply
1343 struct reply_header __header;
1344 int mode;
1349 struct set_console_mode_request
1351 struct request_header __header;
1352 obj_handle_t handle;
1353 int mode;
1355 struct set_console_mode_reply
1357 struct reply_header __header;
1362 struct set_console_input_info_request
1364 struct request_header __header;
1365 obj_handle_t handle;
1366 int mask;
1367 obj_handle_t active_sb;
1368 int history_mode;
1369 int history_size;
1370 int edition_mode;
1371 int input_cp;
1372 int output_cp;
1373 user_handle_t win;
1374 /* VARARG(title,unicode_str); */
1376 struct set_console_input_info_reply
1378 struct reply_header __header;
1380 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1381 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1382 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1383 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1384 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1385 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1386 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1387 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1391 struct get_console_input_info_request
1393 struct request_header __header;
1394 obj_handle_t handle;
1396 struct get_console_input_info_reply
1398 struct reply_header __header;
1399 int history_mode;
1400 int history_size;
1401 int history_index;
1402 int edition_mode;
1403 int input_cp;
1404 int output_cp;
1405 user_handle_t win;
1406 /* VARARG(title,unicode_str); */
1411 struct append_console_input_history_request
1413 struct request_header __header;
1414 obj_handle_t handle;
1415 /* VARARG(line,unicode_str); */
1417 struct append_console_input_history_reply
1419 struct reply_header __header;
1424 struct get_console_input_history_request
1426 struct request_header __header;
1427 obj_handle_t handle;
1428 int index;
1430 struct get_console_input_history_reply
1432 struct reply_header __header;
1433 int total;
1434 /* VARARG(line,unicode_str); */
1439 struct create_console_output_request
1441 struct request_header __header;
1442 obj_handle_t handle_in;
1443 unsigned int access;
1444 unsigned int attributes;
1445 unsigned int share;
1447 struct create_console_output_reply
1449 struct reply_header __header;
1450 obj_handle_t handle_out;
1455 struct set_console_output_info_request
1457 struct request_header __header;
1458 obj_handle_t handle;
1459 int mask;
1460 short int cursor_size;
1461 short int cursor_visible;
1462 short int cursor_x;
1463 short int cursor_y;
1464 short int width;
1465 short int height;
1466 short int attr;
1467 short int win_left;
1468 short int win_top;
1469 short int win_right;
1470 short int win_bottom;
1471 short int max_width;
1472 short int max_height;
1474 struct set_console_output_info_reply
1476 struct reply_header __header;
1478 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1479 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1480 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1481 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1482 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1483 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1487 struct get_console_output_info_request
1489 struct request_header __header;
1490 obj_handle_t handle;
1492 struct get_console_output_info_reply
1494 struct reply_header __header;
1495 short int cursor_size;
1496 short int cursor_visible;
1497 short int cursor_x;
1498 short int cursor_y;
1499 short int width;
1500 short int height;
1501 short int attr;
1502 short int win_left;
1503 short int win_top;
1504 short int win_right;
1505 short int win_bottom;
1506 short int max_width;
1507 short int max_height;
1511 struct write_console_input_request
1513 struct request_header __header;
1514 obj_handle_t handle;
1515 /* VARARG(rec,input_records); */
1517 struct write_console_input_reply
1519 struct reply_header __header;
1520 int written;
1525 struct read_console_input_request
1527 struct request_header __header;
1528 obj_handle_t handle;
1529 int flush;
1531 struct read_console_input_reply
1533 struct reply_header __header;
1534 int read;
1535 /* VARARG(rec,input_records); */
1540 struct write_console_output_request
1542 struct request_header __header;
1543 obj_handle_t handle;
1544 int x;
1545 int y;
1546 int mode;
1547 int wrap;
1548 /* VARARG(data,bytes); */
1550 struct write_console_output_reply
1552 struct reply_header __header;
1553 int written;
1554 int width;
1555 int height;
1557 enum char_info_mode
1559 CHAR_INFO_MODE_TEXT,
1560 CHAR_INFO_MODE_ATTR,
1561 CHAR_INFO_MODE_TEXTATTR,
1562 CHAR_INFO_MODE_TEXTSTDATTR
1567 struct fill_console_output_request
1569 struct request_header __header;
1570 obj_handle_t handle;
1571 int x;
1572 int y;
1573 int mode;
1574 int count;
1575 int wrap;
1576 char_info_t data;
1578 struct fill_console_output_reply
1580 struct reply_header __header;
1581 int written;
1586 struct read_console_output_request
1588 struct request_header __header;
1589 obj_handle_t handle;
1590 int x;
1591 int y;
1592 int mode;
1593 int wrap;
1595 struct read_console_output_reply
1597 struct reply_header __header;
1598 int width;
1599 int height;
1600 /* VARARG(data,bytes); */
1605 struct move_console_output_request
1607 struct request_header __header;
1608 obj_handle_t handle;
1609 short int x_src;
1610 short int y_src;
1611 short int x_dst;
1612 short int y_dst;
1613 short int w;
1614 short int h;
1616 struct move_console_output_reply
1618 struct reply_header __header;
1623 struct send_console_signal_request
1625 struct request_header __header;
1626 int signal;
1627 process_id_t group_id;
1629 struct send_console_signal_reply
1631 struct reply_header __header;
1636 struct read_directory_changes_request
1638 struct request_header __header;
1639 unsigned int filter;
1640 obj_handle_t handle;
1641 int subtree;
1642 int want_data;
1643 async_data_t async;
1645 struct read_directory_changes_reply
1647 struct reply_header __header;
1651 struct read_change_request
1653 struct request_header __header;
1654 obj_handle_t handle;
1656 struct read_change_reply
1658 struct reply_header __header;
1659 int action;
1660 /* VARARG(name,string); */
1665 struct create_mapping_request
1667 struct request_header __header;
1668 unsigned int access;
1669 unsigned int attributes;
1670 file_pos_t size;
1671 int protect;
1672 obj_handle_t file_handle;
1673 /* VARARG(objattr,object_attributes); */
1675 struct create_mapping_reply
1677 struct reply_header __header;
1678 obj_handle_t handle;
1681 #define VPROT_READ 0x01
1682 #define VPROT_WRITE 0x02
1683 #define VPROT_EXEC 0x04
1684 #define VPROT_WRITECOPY 0x08
1685 #define VPROT_GUARD 0x10
1686 #define VPROT_NOCACHE 0x20
1687 #define VPROT_COMMITTED 0x40
1688 #define VPROT_IMAGE 0x80
1692 struct open_mapping_request
1694 struct request_header __header;
1695 unsigned int access;
1696 unsigned int attributes;
1697 obj_handle_t rootdir;
1698 /* VARARG(name,unicode_str); */
1700 struct open_mapping_reply
1702 struct reply_header __header;
1703 obj_handle_t handle;
1708 struct get_mapping_info_request
1710 struct request_header __header;
1711 obj_handle_t handle;
1713 struct get_mapping_info_reply
1715 struct reply_header __header;
1716 file_pos_t size;
1717 int protect;
1718 int header_size;
1719 void* base;
1720 obj_handle_t mapping;
1721 obj_handle_t shared_file;
1725 #define SNAP_HEAPLIST 0x00000001
1726 #define SNAP_PROCESS 0x00000002
1727 #define SNAP_THREAD 0x00000004
1728 #define SNAP_MODULE 0x00000008
1730 struct create_snapshot_request
1732 struct request_header __header;
1733 unsigned int attributes;
1734 int flags;
1735 process_id_t pid;
1737 struct create_snapshot_reply
1739 struct reply_header __header;
1740 obj_handle_t handle;
1745 struct next_process_request
1747 struct request_header __header;
1748 obj_handle_t handle;
1749 int reset;
1751 struct next_process_reply
1753 struct reply_header __header;
1754 int count;
1755 process_id_t pid;
1756 process_id_t ppid;
1757 void* heap;
1758 void* module;
1759 int threads;
1760 int priority;
1761 int handles;
1762 /* VARARG(filename,unicode_str); */
1767 struct next_thread_request
1769 struct request_header __header;
1770 obj_handle_t handle;
1771 int reset;
1773 struct next_thread_reply
1775 struct reply_header __header;
1776 int count;
1777 process_id_t pid;
1778 thread_id_t tid;
1779 int base_pri;
1780 int delta_pri;
1785 struct next_module_request
1787 struct request_header __header;
1788 obj_handle_t handle;
1789 int reset;
1791 struct next_module_reply
1793 struct reply_header __header;
1794 process_id_t pid;
1795 void* base;
1796 size_t size;
1797 /* VARARG(filename,unicode_str); */
1802 struct wait_debug_event_request
1804 struct request_header __header;
1805 int get_handle;
1807 struct wait_debug_event_reply
1809 struct reply_header __header;
1810 process_id_t pid;
1811 thread_id_t tid;
1812 obj_handle_t wait;
1813 /* VARARG(event,debug_event); */
1818 struct queue_exception_event_request
1820 struct request_header __header;
1821 int first;
1822 /* VARARG(record,exc_event); */
1824 struct queue_exception_event_reply
1826 struct reply_header __header;
1827 obj_handle_t handle;
1832 struct get_exception_status_request
1834 struct request_header __header;
1835 obj_handle_t handle;
1837 struct get_exception_status_reply
1839 struct reply_header __header;
1840 /* VARARG(context,context); */
1845 struct output_debug_string_request
1847 struct request_header __header;
1848 void* string;
1849 int unicode;
1850 int length;
1852 struct output_debug_string_reply
1854 struct reply_header __header;
1859 struct continue_debug_event_request
1861 struct request_header __header;
1862 process_id_t pid;
1863 thread_id_t tid;
1864 int status;
1866 struct continue_debug_event_reply
1868 struct reply_header __header;
1873 struct debug_process_request
1875 struct request_header __header;
1876 process_id_t pid;
1877 int attach;
1879 struct debug_process_reply
1881 struct reply_header __header;
1886 struct debug_break_request
1888 struct request_header __header;
1889 obj_handle_t handle;
1891 struct debug_break_reply
1893 struct reply_header __header;
1894 int self;
1899 struct set_debugger_kill_on_exit_request
1901 struct request_header __header;
1902 int kill_on_exit;
1904 struct set_debugger_kill_on_exit_reply
1906 struct reply_header __header;
1911 struct read_process_memory_request
1913 struct request_header __header;
1914 obj_handle_t handle;
1915 void* addr;
1917 struct read_process_memory_reply
1919 struct reply_header __header;
1920 /* VARARG(data,bytes); */
1925 struct write_process_memory_request
1927 struct request_header __header;
1928 obj_handle_t handle;
1929 void* addr;
1930 /* VARARG(data,bytes); */
1932 struct write_process_memory_reply
1934 struct reply_header __header;
1939 struct create_key_request
1941 struct request_header __header;
1942 obj_handle_t parent;
1943 unsigned int access;
1944 unsigned int attributes;
1945 unsigned int options;
1946 time_t modif;
1947 data_size_t namelen;
1948 /* VARARG(name,unicode_str,namelen); */
1949 /* VARARG(class,unicode_str); */
1951 struct create_key_reply
1953 struct reply_header __header;
1954 obj_handle_t hkey;
1955 int created;
1959 struct open_key_request
1961 struct request_header __header;
1962 obj_handle_t parent;
1963 unsigned int access;
1964 unsigned int attributes;
1965 /* VARARG(name,unicode_str); */
1967 struct open_key_reply
1969 struct reply_header __header;
1970 obj_handle_t hkey;
1975 struct delete_key_request
1977 struct request_header __header;
1978 obj_handle_t hkey;
1980 struct delete_key_reply
1982 struct reply_header __header;
1987 struct flush_key_request
1989 struct request_header __header;
1990 obj_handle_t hkey;
1992 struct flush_key_reply
1994 struct reply_header __header;
1999 struct enum_key_request
2001 struct request_header __header;
2002 obj_handle_t hkey;
2003 int index;
2004 int info_class;
2006 struct enum_key_reply
2008 struct reply_header __header;
2009 int subkeys;
2010 int max_subkey;
2011 int max_class;
2012 int values;
2013 int max_value;
2014 int max_data;
2015 time_t modif;
2016 data_size_t total;
2017 data_size_t namelen;
2018 /* VARARG(name,unicode_str,namelen); */
2019 /* VARARG(class,unicode_str); */
2024 struct set_key_value_request
2026 struct request_header __header;
2027 obj_handle_t hkey;
2028 int type;
2029 data_size_t namelen;
2030 /* VARARG(name,unicode_str,namelen); */
2031 /* VARARG(data,bytes); */
2033 struct set_key_value_reply
2035 struct reply_header __header;
2040 struct get_key_value_request
2042 struct request_header __header;
2043 obj_handle_t hkey;
2044 /* VARARG(name,unicode_str); */
2046 struct get_key_value_reply
2048 struct reply_header __header;
2049 int type;
2050 data_size_t total;
2051 /* VARARG(data,bytes); */
2056 struct enum_key_value_request
2058 struct request_header __header;
2059 obj_handle_t hkey;
2060 int index;
2061 int info_class;
2063 struct enum_key_value_reply
2065 struct reply_header __header;
2066 int type;
2067 data_size_t total;
2068 data_size_t namelen;
2069 /* VARARG(name,unicode_str,namelen); */
2070 /* VARARG(data,bytes); */
2075 struct delete_key_value_request
2077 struct request_header __header;
2078 obj_handle_t hkey;
2079 /* VARARG(name,unicode_str); */
2081 struct delete_key_value_reply
2083 struct reply_header __header;
2088 struct load_registry_request
2090 struct request_header __header;
2091 obj_handle_t hkey;
2092 obj_handle_t file;
2093 /* VARARG(name,unicode_str); */
2095 struct load_registry_reply
2097 struct reply_header __header;
2102 struct unload_registry_request
2104 struct request_header __header;
2105 obj_handle_t hkey;
2107 struct unload_registry_reply
2109 struct reply_header __header;
2114 struct save_registry_request
2116 struct request_header __header;
2117 obj_handle_t hkey;
2118 obj_handle_t file;
2120 struct save_registry_reply
2122 struct reply_header __header;
2127 struct set_registry_notification_request
2129 struct request_header __header;
2130 obj_handle_t hkey;
2131 obj_handle_t event;
2132 int subtree;
2133 unsigned int filter;
2135 struct set_registry_notification_reply
2137 struct reply_header __header;
2142 struct create_timer_request
2144 struct request_header __header;
2145 unsigned int access;
2146 unsigned int attributes;
2147 obj_handle_t rootdir;
2148 int manual;
2149 /* VARARG(name,unicode_str); */
2151 struct create_timer_reply
2153 struct reply_header __header;
2154 obj_handle_t handle;
2159 struct open_timer_request
2161 struct request_header __header;
2162 unsigned int access;
2163 unsigned int attributes;
2164 obj_handle_t rootdir;
2165 /* VARARG(name,unicode_str); */
2167 struct open_timer_reply
2169 struct reply_header __header;
2170 obj_handle_t handle;
2174 struct set_timer_request
2176 struct request_header __header;
2177 obj_handle_t handle;
2178 timeout_t expire;
2179 int period;
2180 void* callback;
2181 void* arg;
2183 struct set_timer_reply
2185 struct reply_header __header;
2186 int signaled;
2190 struct cancel_timer_request
2192 struct request_header __header;
2193 obj_handle_t handle;
2195 struct cancel_timer_reply
2197 struct reply_header __header;
2198 int signaled;
2202 struct get_timer_info_request
2204 struct request_header __header;
2205 obj_handle_t handle;
2207 struct get_timer_info_reply
2209 struct reply_header __header;
2210 timeout_t when;
2211 int signaled;
2216 struct get_thread_context_request
2218 struct request_header __header;
2219 obj_handle_t handle;
2220 unsigned int flags;
2221 int suspend;
2223 struct get_thread_context_reply
2225 struct reply_header __header;
2226 int self;
2227 /* VARARG(context,context); */
2232 struct set_thread_context_request
2234 struct request_header __header;
2235 obj_handle_t handle;
2236 unsigned int flags;
2237 int suspend;
2238 /* VARARG(context,context); */
2240 struct set_thread_context_reply
2242 struct reply_header __header;
2243 int self;
2248 struct get_selector_entry_request
2250 struct request_header __header;
2251 obj_handle_t handle;
2252 int entry;
2254 struct get_selector_entry_reply
2256 struct reply_header __header;
2257 unsigned int base;
2258 unsigned int limit;
2259 unsigned char flags;
2264 struct add_atom_request
2266 struct request_header __header;
2267 obj_handle_t table;
2268 /* VARARG(name,unicode_str); */
2270 struct add_atom_reply
2272 struct reply_header __header;
2273 atom_t atom;
2278 struct delete_atom_request
2280 struct request_header __header;
2281 obj_handle_t table;
2282 atom_t atom;
2284 struct delete_atom_reply
2286 struct reply_header __header;
2291 struct find_atom_request
2293 struct request_header __header;
2294 obj_handle_t table;
2295 /* VARARG(name,unicode_str); */
2297 struct find_atom_reply
2299 struct reply_header __header;
2300 atom_t atom;
2305 struct get_atom_information_request
2307 struct request_header __header;
2308 obj_handle_t table;
2309 atom_t atom;
2311 struct get_atom_information_reply
2313 struct reply_header __header;
2314 int count;
2315 int pinned;
2316 data_size_t total;
2317 /* VARARG(name,unicode_str); */
2322 struct set_atom_information_request
2324 struct request_header __header;
2325 obj_handle_t table;
2326 atom_t atom;
2327 int pinned;
2329 struct set_atom_information_reply
2331 struct reply_header __header;
2336 struct empty_atom_table_request
2338 struct request_header __header;
2339 obj_handle_t table;
2340 int if_pinned;
2342 struct empty_atom_table_reply
2344 struct reply_header __header;
2349 struct init_atom_table_request
2351 struct request_header __header;
2352 int entries;
2354 struct init_atom_table_reply
2356 struct reply_header __header;
2357 obj_handle_t table;
2362 struct get_msg_queue_request
2364 struct request_header __header;
2366 struct get_msg_queue_reply
2368 struct reply_header __header;
2369 obj_handle_t handle;
2374 struct set_queue_fd_request
2376 struct request_header __header;
2377 obj_handle_t handle;
2379 struct set_queue_fd_reply
2381 struct reply_header __header;
2386 struct set_queue_mask_request
2388 struct request_header __header;
2389 unsigned int wake_mask;
2390 unsigned int changed_mask;
2391 int skip_wait;
2393 struct set_queue_mask_reply
2395 struct reply_header __header;
2396 unsigned int wake_bits;
2397 unsigned int changed_bits;
2402 struct get_queue_status_request
2404 struct request_header __header;
2405 int clear;
2407 struct get_queue_status_reply
2409 struct reply_header __header;
2410 unsigned int wake_bits;
2411 unsigned int changed_bits;
2416 struct get_process_idle_event_request
2418 struct request_header __header;
2419 obj_handle_t handle;
2421 struct get_process_idle_event_reply
2423 struct reply_header __header;
2424 obj_handle_t event;
2429 struct send_message_request
2431 struct request_header __header;
2432 thread_id_t id;
2433 int type;
2434 int flags;
2435 user_handle_t win;
2436 unsigned int msg;
2437 unsigned long wparam;
2438 unsigned long lparam;
2439 timeout_t timeout;
2440 /* VARARG(data,message_data); */
2442 struct send_message_reply
2444 struct reply_header __header;
2447 struct post_quit_message_request
2449 struct request_header __header;
2450 int exit_code;
2452 struct post_quit_message_reply
2454 struct reply_header __header;
2457 enum message_type
2459 MSG_ASCII,
2460 MSG_UNICODE,
2461 MSG_NOTIFY,
2462 MSG_CALLBACK,
2463 MSG_CALLBACK_RESULT,
2464 MSG_OTHER_PROCESS,
2465 MSG_POSTED,
2466 MSG_HARDWARE,
2467 MSG_WINEVENT
2469 #define SEND_MSG_ABORT_IF_HUNG 0x01
2473 struct send_hardware_message_request
2475 struct request_header __header;
2476 thread_id_t id;
2477 user_handle_t win;
2478 unsigned int msg;
2479 unsigned int time;
2480 unsigned long wparam;
2481 unsigned long lparam;
2482 unsigned long info;
2483 int x;
2484 int y;
2486 struct send_hardware_message_reply
2488 struct reply_header __header;
2493 struct get_message_request
2495 struct request_header __header;
2496 unsigned int flags;
2497 user_handle_t get_win;
2498 unsigned int get_first;
2499 unsigned int get_last;
2500 unsigned int hw_id;
2501 unsigned int wake_mask;
2502 unsigned int changed_mask;
2504 struct get_message_reply
2506 struct reply_header __header;
2507 user_handle_t win;
2508 int type;
2509 unsigned int msg;
2510 unsigned long wparam;
2511 unsigned long lparam;
2512 unsigned long info;
2513 int x;
2514 int y;
2515 unsigned int time;
2516 unsigned int hw_id;
2517 unsigned int active_hooks;
2518 data_size_t total;
2519 /* VARARG(data,message_data); */
2524 struct reply_message_request
2526 struct request_header __header;
2527 unsigned long result;
2528 int remove;
2529 /* VARARG(data,bytes); */
2531 struct reply_message_reply
2533 struct reply_header __header;
2538 struct accept_hardware_message_request
2540 struct request_header __header;
2541 unsigned int hw_id;
2542 int remove;
2543 user_handle_t new_win;
2545 struct accept_hardware_message_reply
2547 struct reply_header __header;
2552 struct get_message_reply_request
2554 struct request_header __header;
2555 int cancel;
2557 struct get_message_reply_reply
2559 struct reply_header __header;
2560 unsigned long result;
2561 /* VARARG(data,bytes); */
2566 struct set_win_timer_request
2568 struct request_header __header;
2569 user_handle_t win;
2570 unsigned int msg;
2571 unsigned int rate;
2572 unsigned long id;
2573 unsigned long lparam;
2575 struct set_win_timer_reply
2577 struct reply_header __header;
2578 unsigned long id;
2583 struct kill_win_timer_request
2585 struct request_header __header;
2586 user_handle_t win;
2587 unsigned int msg;
2588 unsigned long id;
2590 struct kill_win_timer_reply
2592 struct reply_header __header;
2597 struct get_serial_info_request
2599 struct request_header __header;
2600 obj_handle_t handle;
2602 struct get_serial_info_reply
2604 struct reply_header __header;
2605 unsigned int readinterval;
2606 unsigned int readconst;
2607 unsigned int readmult;
2608 unsigned int writeconst;
2609 unsigned int writemult;
2610 unsigned int eventmask;
2615 struct set_serial_info_request
2617 struct request_header __header;
2618 obj_handle_t handle;
2619 int flags;
2620 unsigned int readinterval;
2621 unsigned int readconst;
2622 unsigned int readmult;
2623 unsigned int writeconst;
2624 unsigned int writemult;
2625 unsigned int eventmask;
2627 struct set_serial_info_reply
2629 struct reply_header __header;
2631 #define SERIALINFO_SET_TIMEOUTS 0x01
2632 #define SERIALINFO_SET_MASK 0x02
2636 struct register_async_request
2638 struct request_header __header;
2639 obj_handle_t handle;
2640 int type;
2641 int count;
2642 async_data_t async;
2644 struct register_async_reply
2646 struct reply_header __header;
2648 #define ASYNC_TYPE_READ 0x01
2649 #define ASYNC_TYPE_WRITE 0x02
2650 #define ASYNC_TYPE_WAIT 0x03
2654 struct cancel_async_request
2656 struct request_header __header;
2657 obj_handle_t handle;
2659 struct cancel_async_reply
2661 struct reply_header __header;
2666 struct ioctl_request
2668 struct request_header __header;
2669 obj_handle_t handle;
2670 ioctl_code_t code;
2671 async_data_t async;
2672 /* VARARG(in_data,bytes); */
2674 struct ioctl_reply
2676 struct reply_header __header;
2677 obj_handle_t wait;
2678 unsigned int options;
2679 /* VARARG(out_data,bytes); */
2684 struct get_ioctl_result_request
2686 struct request_header __header;
2687 obj_handle_t handle;
2688 void* user_arg;
2690 struct get_ioctl_result_reply
2692 struct reply_header __header;
2693 /* VARARG(out_data,bytes); */
2698 struct create_named_pipe_request
2700 struct request_header __header;
2701 unsigned int access;
2702 unsigned int attributes;
2703 obj_handle_t rootdir;
2704 unsigned int options;
2705 unsigned int flags;
2706 unsigned int maxinstances;
2707 unsigned int outsize;
2708 unsigned int insize;
2709 timeout_t timeout;
2710 /* VARARG(name,unicode_str); */
2712 struct create_named_pipe_reply
2714 struct reply_header __header;
2715 obj_handle_t handle;
2719 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
2720 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
2721 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
2722 #define NAMED_PIPE_SERVER_END 0x8000
2725 struct get_named_pipe_info_request
2727 struct request_header __header;
2728 obj_handle_t handle;
2730 struct get_named_pipe_info_reply
2732 struct reply_header __header;
2733 unsigned int flags;
2734 unsigned int maxinstances;
2735 unsigned int instances;
2736 unsigned int outsize;
2737 unsigned int insize;
2742 struct create_cursor_request
2744 struct request_header __header;
2745 unsigned int num_frames;
2746 unsigned short delay;
2748 struct create_cursor_reply
2750 struct reply_header __header;
2751 user_handle_t handle;
2756 struct destroy_cursor_request
2758 struct request_header __header;
2759 user_handle_t handle;
2761 struct destroy_cursor_reply
2763 struct reply_header __header;
2768 struct get_cursor_info_request
2770 struct request_header __header;
2771 user_handle_t handle;
2773 struct get_cursor_info_reply
2775 struct reply_header __header;
2776 unsigned int num_frames;
2777 unsigned short delay;
2782 struct get_cursor_frame_request
2784 struct request_header __header;
2785 user_handle_t handle;
2786 unsigned int frame_idx;
2788 struct get_cursor_frame_reply
2790 struct reply_header __header;
2791 unsigned short xhot;
2792 unsigned short yhot;
2793 unsigned short width;
2794 unsigned short height;
2795 unsigned short and_width_bytes;
2796 unsigned short xor_width_bytes;
2797 unsigned char planes;
2798 unsigned char bpp;
2799 /* VARARG(data,bytes); */
2804 struct set_cursor_frame_request
2806 struct request_header __header;
2807 user_handle_t handle;
2808 unsigned int frame_idx;
2809 unsigned short xhot;
2810 unsigned short yhot;
2811 unsigned short width;
2812 unsigned short height;
2813 unsigned short and_width_bytes;
2814 unsigned short xor_width_bytes;
2815 unsigned char planes;
2816 unsigned char bpp;
2817 /* VARARG(data,bytes); */
2819 struct set_cursor_frame_reply
2821 struct reply_header __header;
2826 struct create_window_request
2828 struct request_header __header;
2829 user_handle_t parent;
2830 user_handle_t owner;
2831 atom_t atom;
2832 void* instance;
2834 struct create_window_reply
2836 struct reply_header __header;
2837 user_handle_t handle;
2838 user_handle_t parent;
2839 user_handle_t owner;
2840 int extra;
2841 void* class_ptr;
2846 struct destroy_window_request
2848 struct request_header __header;
2849 user_handle_t handle;
2851 struct destroy_window_reply
2853 struct reply_header __header;
2858 struct get_desktop_window_request
2860 struct request_header __header;
2861 int force;
2863 struct get_desktop_window_reply
2865 struct reply_header __header;
2866 user_handle_t handle;
2871 struct set_window_owner_request
2873 struct request_header __header;
2874 user_handle_t handle;
2875 user_handle_t owner;
2877 struct set_window_owner_reply
2879 struct reply_header __header;
2880 user_handle_t full_owner;
2881 user_handle_t prev_owner;
2886 struct get_window_info_request
2888 struct request_header __header;
2889 user_handle_t handle;
2891 struct get_window_info_reply
2893 struct reply_header __header;
2894 user_handle_t full_handle;
2895 user_handle_t last_active;
2896 process_id_t pid;
2897 thread_id_t tid;
2898 atom_t atom;
2899 int is_unicode;
2904 struct set_window_info_request
2906 struct request_header __header;
2907 unsigned int flags;
2908 user_handle_t handle;
2909 unsigned int style;
2910 unsigned int ex_style;
2911 unsigned int id;
2912 int is_unicode;
2913 void* instance;
2914 unsigned long user_data;
2915 int extra_offset;
2916 data_size_t extra_size;
2917 unsigned long extra_value;
2919 struct set_window_info_reply
2921 struct reply_header __header;
2922 unsigned int old_style;
2923 unsigned int old_ex_style;
2924 unsigned int old_id;
2925 void* old_instance;
2926 unsigned long old_user_data;
2927 unsigned long old_extra_value;
2929 #define SET_WIN_STYLE 0x01
2930 #define SET_WIN_EXSTYLE 0x02
2931 #define SET_WIN_ID 0x04
2932 #define SET_WIN_INSTANCE 0x08
2933 #define SET_WIN_USERDATA 0x10
2934 #define SET_WIN_EXTRA 0x20
2935 #define SET_WIN_UNICODE 0x40
2939 struct set_parent_request
2941 struct request_header __header;
2942 user_handle_t handle;
2943 user_handle_t parent;
2945 struct set_parent_reply
2947 struct reply_header __header;
2948 user_handle_t old_parent;
2949 user_handle_t full_parent;
2954 struct get_window_parents_request
2956 struct request_header __header;
2957 user_handle_t handle;
2959 struct get_window_parents_reply
2961 struct reply_header __header;
2962 int count;
2963 /* VARARG(parents,user_handles); */
2968 struct get_window_children_request
2970 struct request_header __header;
2971 user_handle_t parent;
2972 atom_t atom;
2973 thread_id_t tid;
2975 struct get_window_children_reply
2977 struct reply_header __header;
2978 int count;
2979 /* VARARG(children,user_handles); */
2984 struct get_window_children_from_point_request
2986 struct request_header __header;
2987 user_handle_t parent;
2988 int x;
2989 int y;
2991 struct get_window_children_from_point_reply
2993 struct reply_header __header;
2994 int count;
2995 /* VARARG(children,user_handles); */
3000 struct get_window_tree_request
3002 struct request_header __header;
3003 user_handle_t handle;
3005 struct get_window_tree_reply
3007 struct reply_header __header;
3008 user_handle_t parent;
3009 user_handle_t owner;
3010 user_handle_t next_sibling;
3011 user_handle_t prev_sibling;
3012 user_handle_t first_sibling;
3013 user_handle_t last_sibling;
3014 user_handle_t first_child;
3015 user_handle_t last_child;
3019 struct set_window_pos_request
3021 struct request_header __header;
3022 unsigned int flags;
3023 user_handle_t handle;
3024 user_handle_t previous;
3025 rectangle_t window;
3026 rectangle_t client;
3027 /* VARARG(valid,rectangles); */
3029 struct set_window_pos_reply
3031 struct reply_header __header;
3032 unsigned int new_style;
3033 unsigned int new_ex_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;
3681 /* VARARG(name,unicode_str); */
3683 struct create_class_reply
3685 struct reply_header __header;
3686 atom_t atom;
3691 struct destroy_class_request
3693 struct request_header __header;
3694 atom_t atom;
3695 void* instance;
3696 /* VARARG(name,unicode_str); */
3698 struct destroy_class_reply
3700 struct reply_header __header;
3701 void* client_ptr;
3706 struct set_class_info_request
3708 struct request_header __header;
3709 user_handle_t window;
3710 unsigned int flags;
3711 atom_t atom;
3712 unsigned int style;
3713 int win_extra;
3714 void* instance;
3715 int extra_offset;
3716 data_size_t extra_size;
3717 unsigned long extra_value;
3719 struct set_class_info_reply
3721 struct reply_header __header;
3722 atom_t old_atom;
3723 unsigned int old_style;
3724 int old_extra;
3725 int old_win_extra;
3726 void* old_instance;
3727 unsigned long old_extra_value;
3729 #define SET_CLASS_ATOM 0x0001
3730 #define SET_CLASS_STYLE 0x0002
3731 #define SET_CLASS_WINEXTRA 0x0004
3732 #define SET_CLASS_INSTANCE 0x0008
3733 #define SET_CLASS_EXTRA 0x0010
3737 struct set_clipboard_info_request
3739 struct request_header __header;
3740 unsigned int flags;
3741 user_handle_t clipboard;
3742 user_handle_t owner;
3743 user_handle_t viewer;
3744 unsigned int seqno;
3746 struct set_clipboard_info_reply
3748 struct reply_header __header;
3749 unsigned int flags;
3750 user_handle_t old_clipboard;
3751 user_handle_t old_owner;
3752 user_handle_t old_viewer;
3753 unsigned int seqno;
3756 #define SET_CB_OPEN 0x001
3757 #define SET_CB_OWNER 0x002
3758 #define SET_CB_VIEWER 0x004
3759 #define SET_CB_SEQNO 0x008
3760 #define SET_CB_RELOWNER 0x010
3761 #define SET_CB_CLOSE 0x020
3762 #define CB_OPEN 0x040
3763 #define CB_OWNER 0x080
3764 #define CB_PROCESS 0x100
3768 struct open_token_request
3770 struct request_header __header;
3771 obj_handle_t handle;
3772 unsigned int access;
3773 unsigned int attributes;
3774 unsigned int flags;
3776 struct open_token_reply
3778 struct reply_header __header;
3779 obj_handle_t token;
3781 #define OPEN_TOKEN_THREAD 1
3782 #define OPEN_TOKEN_AS_SELF 2
3786 struct set_global_windows_request
3788 struct request_header __header;
3789 unsigned int flags;
3790 user_handle_t shell_window;
3791 user_handle_t shell_listview;
3792 user_handle_t progman_window;
3793 user_handle_t taskman_window;
3795 struct set_global_windows_reply
3797 struct reply_header __header;
3798 user_handle_t old_shell_window;
3799 user_handle_t old_shell_listview;
3800 user_handle_t old_progman_window;
3801 user_handle_t old_taskman_window;
3803 #define SET_GLOBAL_SHELL_WINDOWS 0x01
3804 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
3805 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
3808 struct adjust_token_privileges_request
3810 struct request_header __header;
3811 obj_handle_t handle;
3812 int disable_all;
3813 int get_modified_state;
3814 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3816 struct adjust_token_privileges_reply
3818 struct reply_header __header;
3819 unsigned int len;
3820 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3824 struct get_token_privileges_request
3826 struct request_header __header;
3827 obj_handle_t handle;
3829 struct get_token_privileges_reply
3831 struct reply_header __header;
3832 unsigned int len;
3833 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3837 struct check_token_privileges_request
3839 struct request_header __header;
3840 obj_handle_t handle;
3841 int all_required;
3842 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3844 struct check_token_privileges_reply
3846 struct reply_header __header;
3847 int has_privileges;
3848 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3851 struct duplicate_token_request
3853 struct request_header __header;
3854 obj_handle_t handle;
3855 unsigned int access;
3856 unsigned int attributes;
3857 int primary;
3858 int impersonation_level;
3860 struct duplicate_token_reply
3862 struct reply_header __header;
3863 obj_handle_t new_handle;
3866 struct access_check_request
3868 struct request_header __header;
3869 obj_handle_t handle;
3870 unsigned int desired_access;
3871 unsigned int mapping_read;
3872 unsigned int mapping_write;
3873 unsigned int mapping_execute;
3874 unsigned int mapping_all;
3875 /* VARARG(sd,security_descriptor); */
3877 struct access_check_reply
3879 struct reply_header __header;
3880 unsigned int access_granted;
3881 unsigned int access_status;
3882 unsigned int privileges_len;
3883 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3886 struct get_token_user_request
3888 struct request_header __header;
3889 obj_handle_t handle;
3891 struct get_token_user_reply
3893 struct reply_header __header;
3894 data_size_t user_len;
3895 /* VARARG(user,SID); */
3898 struct get_token_groups_request
3900 struct request_header __header;
3901 obj_handle_t handle;
3903 struct get_token_groups_reply
3905 struct reply_header __header;
3906 data_size_t user_len;
3907 /* VARARG(user,token_groups); */
3910 struct set_security_object_request
3912 struct request_header __header;
3913 obj_handle_t handle;
3914 unsigned int security_info;
3915 /* VARARG(sd,security_descriptor); */
3917 struct set_security_object_reply
3919 struct reply_header __header;
3922 struct get_security_object_request
3924 struct request_header __header;
3925 obj_handle_t handle;
3926 unsigned int security_info;
3928 struct get_security_object_reply
3930 struct reply_header __header;
3931 unsigned int sd_len;
3932 /* VARARG(sd,security_descriptor); */
3936 struct create_mailslot_request
3938 struct request_header __header;
3939 unsigned int access;
3940 unsigned int attributes;
3941 obj_handle_t rootdir;
3942 unsigned int max_msgsize;
3943 timeout_t read_timeout;
3944 /* VARARG(name,unicode_str); */
3946 struct create_mailslot_reply
3948 struct reply_header __header;
3949 obj_handle_t handle;
3954 struct set_mailslot_info_request
3956 struct request_header __header;
3957 obj_handle_t handle;
3958 unsigned int flags;
3959 timeout_t read_timeout;
3961 struct set_mailslot_info_reply
3963 struct reply_header __header;
3964 unsigned int max_msgsize;
3965 timeout_t read_timeout;
3967 #define MAILSLOT_SET_READ_TIMEOUT 1
3971 struct create_directory_request
3973 struct request_header __header;
3974 unsigned int access;
3975 unsigned int attributes;
3976 obj_handle_t rootdir;
3977 /* VARARG(directory_name,unicode_str); */
3979 struct create_directory_reply
3981 struct reply_header __header;
3982 obj_handle_t handle;
3987 struct open_directory_request
3989 struct request_header __header;
3990 unsigned int access;
3991 unsigned int attributes;
3992 obj_handle_t rootdir;
3993 /* VARARG(directory_name,unicode_str); */
3995 struct open_directory_reply
3997 struct reply_header __header;
3998 obj_handle_t handle;
4003 struct create_symlink_request
4005 struct request_header __header;
4006 unsigned int access;
4007 unsigned int attributes;
4008 obj_handle_t rootdir;
4009 data_size_t name_len;
4010 /* VARARG(name,unicode_str,name_len); */
4011 /* VARARG(target_name,unicode_str); */
4013 struct create_symlink_reply
4015 struct reply_header __header;
4016 obj_handle_t handle;
4021 struct open_symlink_request
4023 struct request_header __header;
4024 unsigned int access;
4025 unsigned int attributes;
4026 obj_handle_t rootdir;
4027 /* VARARG(name,unicode_str); */
4029 struct open_symlink_reply
4031 struct reply_header __header;
4032 obj_handle_t handle;
4037 struct query_symlink_request
4039 struct request_header __header;
4040 obj_handle_t handle;
4042 struct query_symlink_reply
4044 struct reply_header __header;
4045 /* VARARG(target_name,unicode_str); */
4050 struct get_object_info_request
4052 struct request_header __header;
4053 obj_handle_t handle;
4055 struct get_object_info_reply
4057 struct reply_header __header;
4058 unsigned int access;
4059 unsigned int ref_count;
4063 struct get_token_impersonation_level_request
4065 struct request_header __header;
4066 obj_handle_t handle;
4068 struct get_token_impersonation_level_reply
4070 struct reply_header __header;
4071 int impersonation_level;
4075 struct allocate_locally_unique_id_request
4077 struct request_header __header;
4079 struct allocate_locally_unique_id_reply
4081 struct reply_header __header;
4082 luid_t luid;
4087 struct create_device_manager_request
4089 struct request_header __header;
4090 unsigned int access;
4091 unsigned int attributes;
4093 struct create_device_manager_reply
4095 struct reply_header __header;
4096 obj_handle_t handle;
4101 struct create_device_request
4103 struct request_header __header;
4104 unsigned int access;
4105 unsigned int attributes;
4106 obj_handle_t rootdir;
4107 obj_handle_t manager;
4108 void* user_ptr;
4109 /* VARARG(name,unicode_str); */
4111 struct create_device_reply
4113 struct reply_header __header;
4114 obj_handle_t handle;
4119 struct delete_device_request
4121 struct request_header __header;
4122 obj_handle_t handle;
4124 struct delete_device_reply
4126 struct reply_header __header;
4131 struct get_next_device_request_request
4133 struct request_header __header;
4134 obj_handle_t manager;
4135 obj_handle_t prev;
4136 unsigned int status;
4137 /* VARARG(prev_data,bytes); */
4139 struct get_next_device_request_reply
4141 struct reply_header __header;
4142 obj_handle_t next;
4143 ioctl_code_t code;
4144 void* user_ptr;
4145 data_size_t in_size;
4146 data_size_t out_size;
4147 /* VARARG(next_data,bytes); */
4152 struct make_process_system_request
4154 struct request_header __header;
4156 struct make_process_system_reply
4158 struct reply_header __header;
4159 obj_handle_t event;
4164 struct get_token_statistics_request
4166 struct request_header __header;
4167 obj_handle_t handle;
4169 struct get_token_statistics_reply
4171 struct reply_header __header;
4172 luid_t token_id;
4173 luid_t modified_id;
4174 int primary;
4175 int impersonation_level;
4176 int group_count;
4177 int privilege_count;
4182 struct create_completion_request
4184 struct request_header __header;
4185 unsigned int access;
4186 unsigned int attributes;
4187 unsigned int concurrent;
4188 obj_handle_t rootdir;
4189 /* VARARG(filename,string); */
4191 struct create_completion_reply
4193 struct reply_header __header;
4194 obj_handle_t handle;
4199 struct open_completion_request
4201 struct request_header __header;
4202 unsigned int access;
4203 unsigned int attributes;
4204 obj_handle_t rootdir;
4205 /* VARARG(filename,string); */
4207 struct open_completion_reply
4209 struct reply_header __header;
4210 obj_handle_t handle;
4215 struct add_completion_request
4217 struct request_header __header;
4218 obj_handle_t handle;
4219 unsigned long ckey;
4220 unsigned long cvalue;
4221 unsigned long information;
4222 unsigned int status;
4224 struct add_completion_reply
4226 struct reply_header __header;
4231 struct remove_completion_request
4233 struct request_header __header;
4234 obj_handle_t handle;
4236 struct remove_completion_reply
4238 struct reply_header __header;
4239 unsigned long ckey;
4240 unsigned long cvalue;
4241 unsigned long information;
4242 unsigned int status;
4247 struct query_completion_request
4249 struct request_header __header;
4250 obj_handle_t handle;
4252 struct query_completion_reply
4254 struct reply_header __header;
4255 unsigned int depth;
4260 struct set_completion_info_request
4262 struct request_header __header;
4263 obj_handle_t handle;
4264 obj_handle_t chandle;
4265 unsigned long ckey;
4267 struct set_completion_info_reply
4269 struct reply_header __header;
4273 enum request
4275 REQ_new_process,
4276 REQ_get_new_process_info,
4277 REQ_new_thread,
4278 REQ_get_startup_info,
4279 REQ_init_process_done,
4280 REQ_init_thread,
4281 REQ_terminate_process,
4282 REQ_terminate_thread,
4283 REQ_get_process_info,
4284 REQ_set_process_info,
4285 REQ_get_thread_info,
4286 REQ_set_thread_info,
4287 REQ_get_dll_info,
4288 REQ_suspend_thread,
4289 REQ_resume_thread,
4290 REQ_load_dll,
4291 REQ_unload_dll,
4292 REQ_queue_apc,
4293 REQ_get_apc_result,
4294 REQ_close_handle,
4295 REQ_set_handle_info,
4296 REQ_dup_handle,
4297 REQ_open_process,
4298 REQ_open_thread,
4299 REQ_select,
4300 REQ_create_event,
4301 REQ_event_op,
4302 REQ_open_event,
4303 REQ_create_mutex,
4304 REQ_release_mutex,
4305 REQ_open_mutex,
4306 REQ_create_semaphore,
4307 REQ_release_semaphore,
4308 REQ_open_semaphore,
4309 REQ_create_file,
4310 REQ_open_file_object,
4311 REQ_alloc_file_handle,
4312 REQ_get_handle_fd,
4313 REQ_flush_file,
4314 REQ_lock_file,
4315 REQ_unlock_file,
4316 REQ_create_socket,
4317 REQ_accept_socket,
4318 REQ_set_socket_event,
4319 REQ_get_socket_event,
4320 REQ_enable_socket_event,
4321 REQ_set_socket_deferred,
4322 REQ_alloc_console,
4323 REQ_free_console,
4324 REQ_get_console_renderer_events,
4325 REQ_open_console,
4326 REQ_get_console_wait_event,
4327 REQ_get_console_mode,
4328 REQ_set_console_mode,
4329 REQ_set_console_input_info,
4330 REQ_get_console_input_info,
4331 REQ_append_console_input_history,
4332 REQ_get_console_input_history,
4333 REQ_create_console_output,
4334 REQ_set_console_output_info,
4335 REQ_get_console_output_info,
4336 REQ_write_console_input,
4337 REQ_read_console_input,
4338 REQ_write_console_output,
4339 REQ_fill_console_output,
4340 REQ_read_console_output,
4341 REQ_move_console_output,
4342 REQ_send_console_signal,
4343 REQ_read_directory_changes,
4344 REQ_read_change,
4345 REQ_create_mapping,
4346 REQ_open_mapping,
4347 REQ_get_mapping_info,
4348 REQ_create_snapshot,
4349 REQ_next_process,
4350 REQ_next_thread,
4351 REQ_next_module,
4352 REQ_wait_debug_event,
4353 REQ_queue_exception_event,
4354 REQ_get_exception_status,
4355 REQ_output_debug_string,
4356 REQ_continue_debug_event,
4357 REQ_debug_process,
4358 REQ_debug_break,
4359 REQ_set_debugger_kill_on_exit,
4360 REQ_read_process_memory,
4361 REQ_write_process_memory,
4362 REQ_create_key,
4363 REQ_open_key,
4364 REQ_delete_key,
4365 REQ_flush_key,
4366 REQ_enum_key,
4367 REQ_set_key_value,
4368 REQ_get_key_value,
4369 REQ_enum_key_value,
4370 REQ_delete_key_value,
4371 REQ_load_registry,
4372 REQ_unload_registry,
4373 REQ_save_registry,
4374 REQ_set_registry_notification,
4375 REQ_create_timer,
4376 REQ_open_timer,
4377 REQ_set_timer,
4378 REQ_cancel_timer,
4379 REQ_get_timer_info,
4380 REQ_get_thread_context,
4381 REQ_set_thread_context,
4382 REQ_get_selector_entry,
4383 REQ_add_atom,
4384 REQ_delete_atom,
4385 REQ_find_atom,
4386 REQ_get_atom_information,
4387 REQ_set_atom_information,
4388 REQ_empty_atom_table,
4389 REQ_init_atom_table,
4390 REQ_get_msg_queue,
4391 REQ_set_queue_fd,
4392 REQ_set_queue_mask,
4393 REQ_get_queue_status,
4394 REQ_get_process_idle_event,
4395 REQ_send_message,
4396 REQ_post_quit_message,
4397 REQ_send_hardware_message,
4398 REQ_get_message,
4399 REQ_reply_message,
4400 REQ_accept_hardware_message,
4401 REQ_get_message_reply,
4402 REQ_set_win_timer,
4403 REQ_kill_win_timer,
4404 REQ_get_serial_info,
4405 REQ_set_serial_info,
4406 REQ_register_async,
4407 REQ_cancel_async,
4408 REQ_ioctl,
4409 REQ_get_ioctl_result,
4410 REQ_create_named_pipe,
4411 REQ_get_named_pipe_info,
4412 REQ_create_cursor,
4413 REQ_destroy_cursor,
4414 REQ_get_cursor_info,
4415 REQ_get_cursor_frame,
4416 REQ_set_cursor_frame,
4417 REQ_create_window,
4418 REQ_destroy_window,
4419 REQ_get_desktop_window,
4420 REQ_set_window_owner,
4421 REQ_get_window_info,
4422 REQ_set_window_info,
4423 REQ_set_parent,
4424 REQ_get_window_parents,
4425 REQ_get_window_children,
4426 REQ_get_window_children_from_point,
4427 REQ_get_window_tree,
4428 REQ_set_window_pos,
4429 REQ_get_window_rectangles,
4430 REQ_get_window_text,
4431 REQ_set_window_text,
4432 REQ_get_windows_offset,
4433 REQ_get_visible_region,
4434 REQ_get_window_region,
4435 REQ_set_window_region,
4436 REQ_get_update_region,
4437 REQ_update_window_zorder,
4438 REQ_redraw_window,
4439 REQ_set_window_property,
4440 REQ_remove_window_property,
4441 REQ_get_window_property,
4442 REQ_get_window_properties,
4443 REQ_create_winstation,
4444 REQ_open_winstation,
4445 REQ_close_winstation,
4446 REQ_get_process_winstation,
4447 REQ_set_process_winstation,
4448 REQ_create_desktop,
4449 REQ_open_desktop,
4450 REQ_close_desktop,
4451 REQ_get_thread_desktop,
4452 REQ_set_thread_desktop,
4453 REQ_set_user_object_info,
4454 REQ_attach_thread_input,
4455 REQ_get_thread_input,
4456 REQ_get_last_input_time,
4457 REQ_get_key_state,
4458 REQ_set_key_state,
4459 REQ_set_foreground_window,
4460 REQ_set_focus_window,
4461 REQ_set_active_window,
4462 REQ_set_capture_window,
4463 REQ_set_caret_window,
4464 REQ_set_caret_info,
4465 REQ_set_hook,
4466 REQ_remove_hook,
4467 REQ_start_hook_chain,
4468 REQ_finish_hook_chain,
4469 REQ_get_hook_info,
4470 REQ_create_class,
4471 REQ_destroy_class,
4472 REQ_set_class_info,
4473 REQ_set_clipboard_info,
4474 REQ_open_token,
4475 REQ_set_global_windows,
4476 REQ_adjust_token_privileges,
4477 REQ_get_token_privileges,
4478 REQ_check_token_privileges,
4479 REQ_duplicate_token,
4480 REQ_access_check,
4481 REQ_get_token_user,
4482 REQ_get_token_groups,
4483 REQ_set_security_object,
4484 REQ_get_security_object,
4485 REQ_create_mailslot,
4486 REQ_set_mailslot_info,
4487 REQ_create_directory,
4488 REQ_open_directory,
4489 REQ_create_symlink,
4490 REQ_open_symlink,
4491 REQ_query_symlink,
4492 REQ_get_object_info,
4493 REQ_get_token_impersonation_level,
4494 REQ_allocate_locally_unique_id,
4495 REQ_create_device_manager,
4496 REQ_create_device,
4497 REQ_delete_device,
4498 REQ_get_next_device_request,
4499 REQ_make_process_system,
4500 REQ_get_token_statistics,
4501 REQ_create_completion,
4502 REQ_open_completion,
4503 REQ_add_completion,
4504 REQ_remove_completion,
4505 REQ_query_completion,
4506 REQ_set_completion_info,
4507 REQ_NB_REQUESTS
4510 union generic_request
4512 struct request_max_size max_size;
4513 struct request_header request_header;
4514 struct new_process_request new_process_request;
4515 struct get_new_process_info_request get_new_process_info_request;
4516 struct new_thread_request new_thread_request;
4517 struct get_startup_info_request get_startup_info_request;
4518 struct init_process_done_request init_process_done_request;
4519 struct init_thread_request init_thread_request;
4520 struct terminate_process_request terminate_process_request;
4521 struct terminate_thread_request terminate_thread_request;
4522 struct get_process_info_request get_process_info_request;
4523 struct set_process_info_request set_process_info_request;
4524 struct get_thread_info_request get_thread_info_request;
4525 struct set_thread_info_request set_thread_info_request;
4526 struct get_dll_info_request get_dll_info_request;
4527 struct suspend_thread_request suspend_thread_request;
4528 struct resume_thread_request resume_thread_request;
4529 struct load_dll_request load_dll_request;
4530 struct unload_dll_request unload_dll_request;
4531 struct queue_apc_request queue_apc_request;
4532 struct get_apc_result_request get_apc_result_request;
4533 struct close_handle_request close_handle_request;
4534 struct set_handle_info_request set_handle_info_request;
4535 struct dup_handle_request dup_handle_request;
4536 struct open_process_request open_process_request;
4537 struct open_thread_request open_thread_request;
4538 struct select_request select_request;
4539 struct create_event_request create_event_request;
4540 struct event_op_request event_op_request;
4541 struct open_event_request open_event_request;
4542 struct create_mutex_request create_mutex_request;
4543 struct release_mutex_request release_mutex_request;
4544 struct open_mutex_request open_mutex_request;
4545 struct create_semaphore_request create_semaphore_request;
4546 struct release_semaphore_request release_semaphore_request;
4547 struct open_semaphore_request open_semaphore_request;
4548 struct create_file_request create_file_request;
4549 struct open_file_object_request open_file_object_request;
4550 struct alloc_file_handle_request alloc_file_handle_request;
4551 struct get_handle_fd_request get_handle_fd_request;
4552 struct flush_file_request flush_file_request;
4553 struct lock_file_request lock_file_request;
4554 struct unlock_file_request unlock_file_request;
4555 struct create_socket_request create_socket_request;
4556 struct accept_socket_request accept_socket_request;
4557 struct set_socket_event_request set_socket_event_request;
4558 struct get_socket_event_request get_socket_event_request;
4559 struct enable_socket_event_request enable_socket_event_request;
4560 struct set_socket_deferred_request set_socket_deferred_request;
4561 struct alloc_console_request alloc_console_request;
4562 struct free_console_request free_console_request;
4563 struct get_console_renderer_events_request get_console_renderer_events_request;
4564 struct open_console_request open_console_request;
4565 struct get_console_wait_event_request get_console_wait_event_request;
4566 struct get_console_mode_request get_console_mode_request;
4567 struct set_console_mode_request set_console_mode_request;
4568 struct set_console_input_info_request set_console_input_info_request;
4569 struct get_console_input_info_request get_console_input_info_request;
4570 struct append_console_input_history_request append_console_input_history_request;
4571 struct get_console_input_history_request get_console_input_history_request;
4572 struct create_console_output_request create_console_output_request;
4573 struct set_console_output_info_request set_console_output_info_request;
4574 struct get_console_output_info_request get_console_output_info_request;
4575 struct write_console_input_request write_console_input_request;
4576 struct read_console_input_request read_console_input_request;
4577 struct write_console_output_request write_console_output_request;
4578 struct fill_console_output_request fill_console_output_request;
4579 struct read_console_output_request read_console_output_request;
4580 struct move_console_output_request move_console_output_request;
4581 struct send_console_signal_request send_console_signal_request;
4582 struct read_directory_changes_request read_directory_changes_request;
4583 struct read_change_request read_change_request;
4584 struct create_mapping_request create_mapping_request;
4585 struct open_mapping_request open_mapping_request;
4586 struct get_mapping_info_request get_mapping_info_request;
4587 struct create_snapshot_request create_snapshot_request;
4588 struct next_process_request next_process_request;
4589 struct next_thread_request next_thread_request;
4590 struct next_module_request next_module_request;
4591 struct wait_debug_event_request wait_debug_event_request;
4592 struct queue_exception_event_request queue_exception_event_request;
4593 struct get_exception_status_request get_exception_status_request;
4594 struct output_debug_string_request output_debug_string_request;
4595 struct continue_debug_event_request continue_debug_event_request;
4596 struct debug_process_request debug_process_request;
4597 struct debug_break_request debug_break_request;
4598 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
4599 struct read_process_memory_request read_process_memory_request;
4600 struct write_process_memory_request write_process_memory_request;
4601 struct create_key_request create_key_request;
4602 struct open_key_request open_key_request;
4603 struct delete_key_request delete_key_request;
4604 struct flush_key_request flush_key_request;
4605 struct enum_key_request enum_key_request;
4606 struct set_key_value_request set_key_value_request;
4607 struct get_key_value_request get_key_value_request;
4608 struct enum_key_value_request enum_key_value_request;
4609 struct delete_key_value_request delete_key_value_request;
4610 struct load_registry_request load_registry_request;
4611 struct unload_registry_request unload_registry_request;
4612 struct save_registry_request save_registry_request;
4613 struct set_registry_notification_request set_registry_notification_request;
4614 struct create_timer_request create_timer_request;
4615 struct open_timer_request open_timer_request;
4616 struct set_timer_request set_timer_request;
4617 struct cancel_timer_request cancel_timer_request;
4618 struct get_timer_info_request get_timer_info_request;
4619 struct get_thread_context_request get_thread_context_request;
4620 struct set_thread_context_request set_thread_context_request;
4621 struct get_selector_entry_request get_selector_entry_request;
4622 struct add_atom_request add_atom_request;
4623 struct delete_atom_request delete_atom_request;
4624 struct find_atom_request find_atom_request;
4625 struct get_atom_information_request get_atom_information_request;
4626 struct set_atom_information_request set_atom_information_request;
4627 struct empty_atom_table_request empty_atom_table_request;
4628 struct init_atom_table_request init_atom_table_request;
4629 struct get_msg_queue_request get_msg_queue_request;
4630 struct set_queue_fd_request set_queue_fd_request;
4631 struct set_queue_mask_request set_queue_mask_request;
4632 struct get_queue_status_request get_queue_status_request;
4633 struct get_process_idle_event_request get_process_idle_event_request;
4634 struct send_message_request send_message_request;
4635 struct post_quit_message_request post_quit_message_request;
4636 struct send_hardware_message_request send_hardware_message_request;
4637 struct get_message_request get_message_request;
4638 struct reply_message_request reply_message_request;
4639 struct accept_hardware_message_request accept_hardware_message_request;
4640 struct get_message_reply_request get_message_reply_request;
4641 struct set_win_timer_request set_win_timer_request;
4642 struct kill_win_timer_request kill_win_timer_request;
4643 struct get_serial_info_request get_serial_info_request;
4644 struct set_serial_info_request set_serial_info_request;
4645 struct register_async_request register_async_request;
4646 struct cancel_async_request cancel_async_request;
4647 struct ioctl_request ioctl_request;
4648 struct get_ioctl_result_request get_ioctl_result_request;
4649 struct create_named_pipe_request create_named_pipe_request;
4650 struct get_named_pipe_info_request get_named_pipe_info_request;
4651 struct create_cursor_request create_cursor_request;
4652 struct destroy_cursor_request destroy_cursor_request;
4653 struct get_cursor_info_request get_cursor_info_request;
4654 struct get_cursor_frame_request get_cursor_frame_request;
4655 struct set_cursor_frame_request set_cursor_frame_request;
4656 struct create_window_request create_window_request;
4657 struct destroy_window_request destroy_window_request;
4658 struct get_desktop_window_request get_desktop_window_request;
4659 struct set_window_owner_request set_window_owner_request;
4660 struct get_window_info_request get_window_info_request;
4661 struct set_window_info_request set_window_info_request;
4662 struct set_parent_request set_parent_request;
4663 struct get_window_parents_request get_window_parents_request;
4664 struct get_window_children_request get_window_children_request;
4665 struct get_window_children_from_point_request get_window_children_from_point_request;
4666 struct get_window_tree_request get_window_tree_request;
4667 struct set_window_pos_request set_window_pos_request;
4668 struct get_window_rectangles_request get_window_rectangles_request;
4669 struct get_window_text_request get_window_text_request;
4670 struct set_window_text_request set_window_text_request;
4671 struct get_windows_offset_request get_windows_offset_request;
4672 struct get_visible_region_request get_visible_region_request;
4673 struct get_window_region_request get_window_region_request;
4674 struct set_window_region_request set_window_region_request;
4675 struct get_update_region_request get_update_region_request;
4676 struct update_window_zorder_request update_window_zorder_request;
4677 struct redraw_window_request redraw_window_request;
4678 struct set_window_property_request set_window_property_request;
4679 struct remove_window_property_request remove_window_property_request;
4680 struct get_window_property_request get_window_property_request;
4681 struct get_window_properties_request get_window_properties_request;
4682 struct create_winstation_request create_winstation_request;
4683 struct open_winstation_request open_winstation_request;
4684 struct close_winstation_request close_winstation_request;
4685 struct get_process_winstation_request get_process_winstation_request;
4686 struct set_process_winstation_request set_process_winstation_request;
4687 struct create_desktop_request create_desktop_request;
4688 struct open_desktop_request open_desktop_request;
4689 struct close_desktop_request close_desktop_request;
4690 struct get_thread_desktop_request get_thread_desktop_request;
4691 struct set_thread_desktop_request set_thread_desktop_request;
4692 struct set_user_object_info_request set_user_object_info_request;
4693 struct attach_thread_input_request attach_thread_input_request;
4694 struct get_thread_input_request get_thread_input_request;
4695 struct get_last_input_time_request get_last_input_time_request;
4696 struct get_key_state_request get_key_state_request;
4697 struct set_key_state_request set_key_state_request;
4698 struct set_foreground_window_request set_foreground_window_request;
4699 struct set_focus_window_request set_focus_window_request;
4700 struct set_active_window_request set_active_window_request;
4701 struct set_capture_window_request set_capture_window_request;
4702 struct set_caret_window_request set_caret_window_request;
4703 struct set_caret_info_request set_caret_info_request;
4704 struct set_hook_request set_hook_request;
4705 struct remove_hook_request remove_hook_request;
4706 struct start_hook_chain_request start_hook_chain_request;
4707 struct finish_hook_chain_request finish_hook_chain_request;
4708 struct get_hook_info_request get_hook_info_request;
4709 struct create_class_request create_class_request;
4710 struct destroy_class_request destroy_class_request;
4711 struct set_class_info_request set_class_info_request;
4712 struct set_clipboard_info_request set_clipboard_info_request;
4713 struct open_token_request open_token_request;
4714 struct set_global_windows_request set_global_windows_request;
4715 struct adjust_token_privileges_request adjust_token_privileges_request;
4716 struct get_token_privileges_request get_token_privileges_request;
4717 struct check_token_privileges_request check_token_privileges_request;
4718 struct duplicate_token_request duplicate_token_request;
4719 struct access_check_request access_check_request;
4720 struct get_token_user_request get_token_user_request;
4721 struct get_token_groups_request get_token_groups_request;
4722 struct set_security_object_request set_security_object_request;
4723 struct get_security_object_request get_security_object_request;
4724 struct create_mailslot_request create_mailslot_request;
4725 struct set_mailslot_info_request set_mailslot_info_request;
4726 struct create_directory_request create_directory_request;
4727 struct open_directory_request open_directory_request;
4728 struct create_symlink_request create_symlink_request;
4729 struct open_symlink_request open_symlink_request;
4730 struct query_symlink_request query_symlink_request;
4731 struct get_object_info_request get_object_info_request;
4732 struct get_token_impersonation_level_request get_token_impersonation_level_request;
4733 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
4734 struct create_device_manager_request create_device_manager_request;
4735 struct create_device_request create_device_request;
4736 struct delete_device_request delete_device_request;
4737 struct get_next_device_request_request get_next_device_request_request;
4738 struct make_process_system_request make_process_system_request;
4739 struct get_token_statistics_request get_token_statistics_request;
4740 struct create_completion_request create_completion_request;
4741 struct open_completion_request open_completion_request;
4742 struct add_completion_request add_completion_request;
4743 struct remove_completion_request remove_completion_request;
4744 struct query_completion_request query_completion_request;
4745 struct set_completion_info_request set_completion_info_request;
4747 union generic_reply
4749 struct request_max_size max_size;
4750 struct reply_header reply_header;
4751 struct new_process_reply new_process_reply;
4752 struct get_new_process_info_reply get_new_process_info_reply;
4753 struct new_thread_reply new_thread_reply;
4754 struct get_startup_info_reply get_startup_info_reply;
4755 struct init_process_done_reply init_process_done_reply;
4756 struct init_thread_reply init_thread_reply;
4757 struct terminate_process_reply terminate_process_reply;
4758 struct terminate_thread_reply terminate_thread_reply;
4759 struct get_process_info_reply get_process_info_reply;
4760 struct set_process_info_reply set_process_info_reply;
4761 struct get_thread_info_reply get_thread_info_reply;
4762 struct set_thread_info_reply set_thread_info_reply;
4763 struct get_dll_info_reply get_dll_info_reply;
4764 struct suspend_thread_reply suspend_thread_reply;
4765 struct resume_thread_reply resume_thread_reply;
4766 struct load_dll_reply load_dll_reply;
4767 struct unload_dll_reply unload_dll_reply;
4768 struct queue_apc_reply queue_apc_reply;
4769 struct get_apc_result_reply get_apc_result_reply;
4770 struct close_handle_reply close_handle_reply;
4771 struct set_handle_info_reply set_handle_info_reply;
4772 struct dup_handle_reply dup_handle_reply;
4773 struct open_process_reply open_process_reply;
4774 struct open_thread_reply open_thread_reply;
4775 struct select_reply select_reply;
4776 struct create_event_reply create_event_reply;
4777 struct event_op_reply event_op_reply;
4778 struct open_event_reply open_event_reply;
4779 struct create_mutex_reply create_mutex_reply;
4780 struct release_mutex_reply release_mutex_reply;
4781 struct open_mutex_reply open_mutex_reply;
4782 struct create_semaphore_reply create_semaphore_reply;
4783 struct release_semaphore_reply release_semaphore_reply;
4784 struct open_semaphore_reply open_semaphore_reply;
4785 struct create_file_reply create_file_reply;
4786 struct open_file_object_reply open_file_object_reply;
4787 struct alloc_file_handle_reply alloc_file_handle_reply;
4788 struct get_handle_fd_reply get_handle_fd_reply;
4789 struct flush_file_reply flush_file_reply;
4790 struct lock_file_reply lock_file_reply;
4791 struct unlock_file_reply unlock_file_reply;
4792 struct create_socket_reply create_socket_reply;
4793 struct accept_socket_reply accept_socket_reply;
4794 struct set_socket_event_reply set_socket_event_reply;
4795 struct get_socket_event_reply get_socket_event_reply;
4796 struct enable_socket_event_reply enable_socket_event_reply;
4797 struct set_socket_deferred_reply set_socket_deferred_reply;
4798 struct alloc_console_reply alloc_console_reply;
4799 struct free_console_reply free_console_reply;
4800 struct get_console_renderer_events_reply get_console_renderer_events_reply;
4801 struct open_console_reply open_console_reply;
4802 struct get_console_wait_event_reply get_console_wait_event_reply;
4803 struct get_console_mode_reply get_console_mode_reply;
4804 struct set_console_mode_reply set_console_mode_reply;
4805 struct set_console_input_info_reply set_console_input_info_reply;
4806 struct get_console_input_info_reply get_console_input_info_reply;
4807 struct append_console_input_history_reply append_console_input_history_reply;
4808 struct get_console_input_history_reply get_console_input_history_reply;
4809 struct create_console_output_reply create_console_output_reply;
4810 struct set_console_output_info_reply set_console_output_info_reply;
4811 struct get_console_output_info_reply get_console_output_info_reply;
4812 struct write_console_input_reply write_console_input_reply;
4813 struct read_console_input_reply read_console_input_reply;
4814 struct write_console_output_reply write_console_output_reply;
4815 struct fill_console_output_reply fill_console_output_reply;
4816 struct read_console_output_reply read_console_output_reply;
4817 struct move_console_output_reply move_console_output_reply;
4818 struct send_console_signal_reply send_console_signal_reply;
4819 struct read_directory_changes_reply read_directory_changes_reply;
4820 struct read_change_reply read_change_reply;
4821 struct create_mapping_reply create_mapping_reply;
4822 struct open_mapping_reply open_mapping_reply;
4823 struct get_mapping_info_reply get_mapping_info_reply;
4824 struct create_snapshot_reply create_snapshot_reply;
4825 struct next_process_reply next_process_reply;
4826 struct next_thread_reply next_thread_reply;
4827 struct next_module_reply next_module_reply;
4828 struct wait_debug_event_reply wait_debug_event_reply;
4829 struct queue_exception_event_reply queue_exception_event_reply;
4830 struct get_exception_status_reply get_exception_status_reply;
4831 struct output_debug_string_reply output_debug_string_reply;
4832 struct continue_debug_event_reply continue_debug_event_reply;
4833 struct debug_process_reply debug_process_reply;
4834 struct debug_break_reply debug_break_reply;
4835 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
4836 struct read_process_memory_reply read_process_memory_reply;
4837 struct write_process_memory_reply write_process_memory_reply;
4838 struct create_key_reply create_key_reply;
4839 struct open_key_reply open_key_reply;
4840 struct delete_key_reply delete_key_reply;
4841 struct flush_key_reply flush_key_reply;
4842 struct enum_key_reply enum_key_reply;
4843 struct set_key_value_reply set_key_value_reply;
4844 struct get_key_value_reply get_key_value_reply;
4845 struct enum_key_value_reply enum_key_value_reply;
4846 struct delete_key_value_reply delete_key_value_reply;
4847 struct load_registry_reply load_registry_reply;
4848 struct unload_registry_reply unload_registry_reply;
4849 struct save_registry_reply save_registry_reply;
4850 struct set_registry_notification_reply set_registry_notification_reply;
4851 struct create_timer_reply create_timer_reply;
4852 struct open_timer_reply open_timer_reply;
4853 struct set_timer_reply set_timer_reply;
4854 struct cancel_timer_reply cancel_timer_reply;
4855 struct get_timer_info_reply get_timer_info_reply;
4856 struct get_thread_context_reply get_thread_context_reply;
4857 struct set_thread_context_reply set_thread_context_reply;
4858 struct get_selector_entry_reply get_selector_entry_reply;
4859 struct add_atom_reply add_atom_reply;
4860 struct delete_atom_reply delete_atom_reply;
4861 struct find_atom_reply find_atom_reply;
4862 struct get_atom_information_reply get_atom_information_reply;
4863 struct set_atom_information_reply set_atom_information_reply;
4864 struct empty_atom_table_reply empty_atom_table_reply;
4865 struct init_atom_table_reply init_atom_table_reply;
4866 struct get_msg_queue_reply get_msg_queue_reply;
4867 struct set_queue_fd_reply set_queue_fd_reply;
4868 struct set_queue_mask_reply set_queue_mask_reply;
4869 struct get_queue_status_reply get_queue_status_reply;
4870 struct get_process_idle_event_reply get_process_idle_event_reply;
4871 struct send_message_reply send_message_reply;
4872 struct post_quit_message_reply post_quit_message_reply;
4873 struct send_hardware_message_reply send_hardware_message_reply;
4874 struct get_message_reply get_message_reply;
4875 struct reply_message_reply reply_message_reply;
4876 struct accept_hardware_message_reply accept_hardware_message_reply;
4877 struct get_message_reply_reply get_message_reply_reply;
4878 struct set_win_timer_reply set_win_timer_reply;
4879 struct kill_win_timer_reply kill_win_timer_reply;
4880 struct get_serial_info_reply get_serial_info_reply;
4881 struct set_serial_info_reply set_serial_info_reply;
4882 struct register_async_reply register_async_reply;
4883 struct cancel_async_reply cancel_async_reply;
4884 struct ioctl_reply ioctl_reply;
4885 struct get_ioctl_result_reply get_ioctl_result_reply;
4886 struct create_named_pipe_reply create_named_pipe_reply;
4887 struct get_named_pipe_info_reply get_named_pipe_info_reply;
4888 struct create_cursor_reply create_cursor_reply;
4889 struct destroy_cursor_reply destroy_cursor_reply;
4890 struct get_cursor_info_reply get_cursor_info_reply;
4891 struct get_cursor_frame_reply get_cursor_frame_reply;
4892 struct set_cursor_frame_reply set_cursor_frame_reply;
4893 struct create_window_reply create_window_reply;
4894 struct destroy_window_reply destroy_window_reply;
4895 struct get_desktop_window_reply get_desktop_window_reply;
4896 struct set_window_owner_reply set_window_owner_reply;
4897 struct get_window_info_reply get_window_info_reply;
4898 struct set_window_info_reply set_window_info_reply;
4899 struct set_parent_reply set_parent_reply;
4900 struct get_window_parents_reply get_window_parents_reply;
4901 struct get_window_children_reply get_window_children_reply;
4902 struct get_window_children_from_point_reply get_window_children_from_point_reply;
4903 struct get_window_tree_reply get_window_tree_reply;
4904 struct set_window_pos_reply set_window_pos_reply;
4905 struct get_window_rectangles_reply get_window_rectangles_reply;
4906 struct get_window_text_reply get_window_text_reply;
4907 struct set_window_text_reply set_window_text_reply;
4908 struct get_windows_offset_reply get_windows_offset_reply;
4909 struct get_visible_region_reply get_visible_region_reply;
4910 struct get_window_region_reply get_window_region_reply;
4911 struct set_window_region_reply set_window_region_reply;
4912 struct get_update_region_reply get_update_region_reply;
4913 struct update_window_zorder_reply update_window_zorder_reply;
4914 struct redraw_window_reply redraw_window_reply;
4915 struct set_window_property_reply set_window_property_reply;
4916 struct remove_window_property_reply remove_window_property_reply;
4917 struct get_window_property_reply get_window_property_reply;
4918 struct get_window_properties_reply get_window_properties_reply;
4919 struct create_winstation_reply create_winstation_reply;
4920 struct open_winstation_reply open_winstation_reply;
4921 struct close_winstation_reply close_winstation_reply;
4922 struct get_process_winstation_reply get_process_winstation_reply;
4923 struct set_process_winstation_reply set_process_winstation_reply;
4924 struct create_desktop_reply create_desktop_reply;
4925 struct open_desktop_reply open_desktop_reply;
4926 struct close_desktop_reply close_desktop_reply;
4927 struct get_thread_desktop_reply get_thread_desktop_reply;
4928 struct set_thread_desktop_reply set_thread_desktop_reply;
4929 struct set_user_object_info_reply set_user_object_info_reply;
4930 struct attach_thread_input_reply attach_thread_input_reply;
4931 struct get_thread_input_reply get_thread_input_reply;
4932 struct get_last_input_time_reply get_last_input_time_reply;
4933 struct get_key_state_reply get_key_state_reply;
4934 struct set_key_state_reply set_key_state_reply;
4935 struct set_foreground_window_reply set_foreground_window_reply;
4936 struct set_focus_window_reply set_focus_window_reply;
4937 struct set_active_window_reply set_active_window_reply;
4938 struct set_capture_window_reply set_capture_window_reply;
4939 struct set_caret_window_reply set_caret_window_reply;
4940 struct set_caret_info_reply set_caret_info_reply;
4941 struct set_hook_reply set_hook_reply;
4942 struct remove_hook_reply remove_hook_reply;
4943 struct start_hook_chain_reply start_hook_chain_reply;
4944 struct finish_hook_chain_reply finish_hook_chain_reply;
4945 struct get_hook_info_reply get_hook_info_reply;
4946 struct create_class_reply create_class_reply;
4947 struct destroy_class_reply destroy_class_reply;
4948 struct set_class_info_reply set_class_info_reply;
4949 struct set_clipboard_info_reply set_clipboard_info_reply;
4950 struct open_token_reply open_token_reply;
4951 struct set_global_windows_reply set_global_windows_reply;
4952 struct adjust_token_privileges_reply adjust_token_privileges_reply;
4953 struct get_token_privileges_reply get_token_privileges_reply;
4954 struct check_token_privileges_reply check_token_privileges_reply;
4955 struct duplicate_token_reply duplicate_token_reply;
4956 struct access_check_reply access_check_reply;
4957 struct get_token_user_reply get_token_user_reply;
4958 struct get_token_groups_reply get_token_groups_reply;
4959 struct set_security_object_reply set_security_object_reply;
4960 struct get_security_object_reply get_security_object_reply;
4961 struct create_mailslot_reply create_mailslot_reply;
4962 struct set_mailslot_info_reply set_mailslot_info_reply;
4963 struct create_directory_reply create_directory_reply;
4964 struct open_directory_reply open_directory_reply;
4965 struct create_symlink_reply create_symlink_reply;
4966 struct open_symlink_reply open_symlink_reply;
4967 struct query_symlink_reply query_symlink_reply;
4968 struct get_object_info_reply get_object_info_reply;
4969 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
4970 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
4971 struct create_device_manager_reply create_device_manager_reply;
4972 struct create_device_reply create_device_reply;
4973 struct delete_device_reply delete_device_reply;
4974 struct get_next_device_request_reply get_next_device_request_reply;
4975 struct make_process_system_reply make_process_system_reply;
4976 struct get_token_statistics_reply get_token_statistics_reply;
4977 struct create_completion_reply create_completion_reply;
4978 struct open_completion_reply open_completion_reply;
4979 struct add_completion_reply add_completion_reply;
4980 struct remove_completion_reply remove_completion_reply;
4981 struct query_completion_reply query_completion_reply;
4982 struct set_completion_info_reply set_completion_info_reply;
4985 #define SERVER_PROTOCOL_VERSION 326
4987 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */