push 93d38255e04d8d2fa525a0100c5e1cee4a9f11a8
[wine/hacks.git] / include / wine / server_protocol.h
blobaa9fd914ed00df864fe4e0b6c8341b3db3fdfc8c
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 unsigned long cvalue;
167 } async_data_t;
171 struct callback_msg_data
173 void *callback;
174 unsigned long data;
175 unsigned long result;
178 struct winevent_msg_data
180 user_handle_t hook;
181 thread_id_t tid;
182 void *hook_proc;
186 typedef union
188 unsigned char bytes[1];
189 struct callback_msg_data callback;
190 struct winevent_msg_data winevent;
191 } message_data_t;
194 typedef struct
196 WCHAR ch;
197 unsigned short attr;
198 } char_info_t;
200 typedef struct
202 unsigned int low_part;
203 int high_part;
204 } luid_t;
206 #define MAX_ACL_LEN 65535
208 struct security_descriptor
210 unsigned int control;
211 data_size_t owner_len;
212 data_size_t group_len;
213 data_size_t sacl_len;
214 data_size_t dacl_len;
221 struct object_attributes
223 obj_handle_t rootdir;
224 data_size_t sd_len;
225 data_size_t name_len;
230 struct token_groups
232 unsigned int count;
237 enum apc_type
239 APC_NONE,
240 APC_USER,
241 APC_TIMER,
242 APC_ASYNC_IO,
243 APC_VIRTUAL_ALLOC,
244 APC_VIRTUAL_FREE,
245 APC_VIRTUAL_QUERY,
246 APC_VIRTUAL_PROTECT,
247 APC_VIRTUAL_FLUSH,
248 APC_VIRTUAL_LOCK,
249 APC_VIRTUAL_UNLOCK,
250 APC_MAP_VIEW,
251 APC_UNMAP_VIEW,
252 APC_CREATE_THREAD
255 typedef union
257 enum apc_type type;
258 struct
260 enum apc_type type;
261 void (__stdcall *func)(unsigned long,unsigned long,unsigned long);
262 unsigned long args[3];
263 } user;
264 struct
266 enum apc_type type;
267 void (__stdcall *func)(void*, unsigned int, unsigned int);
268 timeout_t time;
269 void *arg;
270 } timer;
271 struct
273 enum apc_type type;
274 unsigned int (*func)(void*, void*, unsigned int, unsigned long *);
275 void *user;
276 void *sb;
277 unsigned int status;
278 } async_io;
279 struct
281 enum apc_type type;
282 void *addr;
283 unsigned long size;
284 unsigned int zero_bits;
285 unsigned int op_type;
286 unsigned int prot;
287 } virtual_alloc;
288 struct
290 enum apc_type type;
291 void *addr;
292 unsigned long size;
293 unsigned int op_type;
294 } virtual_free;
295 struct
297 enum apc_type type;
298 const void *addr;
299 } virtual_query;
300 struct
302 enum apc_type type;
303 void *addr;
304 unsigned long size;
305 unsigned int prot;
306 } virtual_protect;
307 struct
309 enum apc_type type;
310 const void *addr;
311 unsigned long size;
312 } virtual_flush;
313 struct
315 enum apc_type type;
316 void *addr;
317 unsigned long size;
318 } virtual_lock;
319 struct
321 enum apc_type type;
322 void *addr;
323 unsigned long size;
324 } virtual_unlock;
325 struct
327 enum apc_type type;
328 obj_handle_t handle;
329 void *addr;
330 unsigned long size;
331 file_pos_t offset;
332 unsigned int zero_bits;
333 unsigned int alloc_type;
334 unsigned int prot;
335 } map_view;
336 struct
338 enum apc_type type;
339 void *addr;
340 } unmap_view;
341 struct
343 enum apc_type type;
344 void (__stdcall *func)(void*);
345 void *arg;
346 unsigned long reserve;
347 unsigned long commit;
348 int suspend;
349 } create_thread;
350 } apc_call_t;
352 typedef union
354 enum apc_type type;
355 struct
357 enum apc_type type;
358 unsigned int status;
359 unsigned long total;
360 } async_io;
361 struct
363 enum apc_type type;
364 unsigned int status;
365 void *addr;
366 unsigned long size;
367 } virtual_alloc;
368 struct
370 enum apc_type type;
371 unsigned int status;
372 void *addr;
373 unsigned long size;
374 } virtual_free;
375 struct
377 enum apc_type type;
378 unsigned int status;
379 void *base;
380 void *alloc_base;
381 unsigned long size;
382 unsigned int state;
383 unsigned int prot;
384 unsigned int alloc_prot;
385 unsigned int alloc_type;
386 } virtual_query;
387 struct
389 enum apc_type type;
390 unsigned int status;
391 void *addr;
392 unsigned long size;
393 unsigned int prot;
394 } virtual_protect;
395 struct
397 enum apc_type type;
398 unsigned int status;
399 const void *addr;
400 unsigned long size;
401 } virtual_flush;
402 struct
404 enum apc_type type;
405 unsigned int status;
406 void *addr;
407 unsigned long size;
408 } virtual_lock;
409 struct
411 enum apc_type type;
412 unsigned int status;
413 void *addr;
414 unsigned long size;
415 } virtual_unlock;
416 struct
418 enum apc_type type;
419 unsigned int status;
420 void *addr;
421 unsigned long size;
422 } map_view;
423 struct
425 enum apc_type type;
426 unsigned int status;
427 } unmap_view;
428 struct
430 enum apc_type type;
431 unsigned int status;
432 thread_id_t tid;
433 obj_handle_t handle;
434 } create_thread;
435 } apc_result_t;
441 struct new_process_request
443 struct request_header __header;
444 int inherit_all;
445 unsigned int create_flags;
446 int socket_fd;
447 obj_handle_t exe_file;
448 obj_handle_t hstdin;
449 obj_handle_t hstdout;
450 obj_handle_t hstderr;
451 unsigned int process_access;
452 unsigned int process_attr;
453 unsigned int thread_access;
454 unsigned int thread_attr;
455 /* VARARG(info,startup_info); */
456 /* VARARG(env,unicode_str); */
458 struct new_process_reply
460 struct reply_header __header;
461 obj_handle_t info;
462 process_id_t pid;
463 obj_handle_t phandle;
464 thread_id_t tid;
465 obj_handle_t thandle;
470 struct get_new_process_info_request
472 struct request_header __header;
473 obj_handle_t info;
475 struct get_new_process_info_reply
477 struct reply_header __header;
478 int success;
479 int exit_code;
484 struct new_thread_request
486 struct request_header __header;
487 unsigned int access;
488 unsigned int attributes;
489 int suspend;
490 int request_fd;
492 struct new_thread_reply
494 struct reply_header __header;
495 thread_id_t tid;
496 obj_handle_t handle;
501 struct get_startup_info_request
503 struct request_header __header;
505 struct get_startup_info_reply
507 struct reply_header __header;
508 obj_handle_t exe_file;
509 obj_handle_t hstdin;
510 obj_handle_t hstdout;
511 obj_handle_t hstderr;
512 /* VARARG(info,startup_info); */
513 /* VARARG(env,unicode_str); */
518 struct init_process_done_request
520 struct request_header __header;
521 void* module;
522 void* entry;
523 int gui;
525 struct init_process_done_reply
527 struct reply_header __header;
532 struct init_thread_request
534 struct request_header __header;
535 int unix_pid;
536 int unix_tid;
537 int debug_level;
538 void* teb;
539 void* peb;
540 void* entry;
541 void* ldt_copy;
542 int reply_fd;
543 int wait_fd;
545 struct init_thread_reply
547 struct reply_header __header;
548 process_id_t pid;
549 thread_id_t tid;
550 data_size_t info_size;
551 timeout_t server_start;
552 int version;
557 struct terminate_process_request
559 struct request_header __header;
560 obj_handle_t handle;
561 int exit_code;
563 struct terminate_process_reply
565 struct reply_header __header;
566 int self;
571 struct terminate_thread_request
573 struct request_header __header;
574 obj_handle_t handle;
575 int exit_code;
577 struct terminate_thread_reply
579 struct reply_header __header;
580 int self;
581 int last;
586 struct get_process_info_request
588 struct request_header __header;
589 obj_handle_t handle;
591 struct get_process_info_reply
593 struct reply_header __header;
594 process_id_t pid;
595 process_id_t ppid;
596 int exit_code;
597 int priority;
598 unsigned int affinity;
599 void* peb;
600 timeout_t start_time;
601 timeout_t end_time;
606 struct set_process_info_request
608 struct request_header __header;
609 obj_handle_t handle;
610 int mask;
611 int priority;
612 unsigned int affinity;
614 struct set_process_info_reply
616 struct reply_header __header;
618 #define SET_PROCESS_INFO_PRIORITY 0x01
619 #define SET_PROCESS_INFO_AFFINITY 0x02
623 struct get_thread_info_request
625 struct request_header __header;
626 obj_handle_t handle;
627 thread_id_t tid_in;
629 struct get_thread_info_reply
631 struct reply_header __header;
632 process_id_t pid;
633 thread_id_t tid;
634 void* teb;
635 int exit_code;
636 int priority;
637 unsigned int affinity;
638 timeout_t creation_time;
639 timeout_t exit_time;
640 int last;
645 struct set_thread_info_request
647 struct request_header __header;
648 obj_handle_t handle;
649 int mask;
650 int priority;
651 unsigned int affinity;
652 obj_handle_t token;
654 struct set_thread_info_reply
656 struct reply_header __header;
658 #define SET_THREAD_INFO_PRIORITY 0x01
659 #define SET_THREAD_INFO_AFFINITY 0x02
660 #define SET_THREAD_INFO_TOKEN 0x04
664 struct get_dll_info_request
666 struct request_header __header;
667 obj_handle_t handle;
668 void* base_address;
670 struct get_dll_info_reply
672 struct reply_header __header;
673 size_t size;
674 void* entry_point;
675 data_size_t filename_len;
676 /* VARARG(filename,unicode_str); */
681 struct suspend_thread_request
683 struct request_header __header;
684 obj_handle_t handle;
686 struct suspend_thread_reply
688 struct reply_header __header;
689 int count;
694 struct resume_thread_request
696 struct request_header __header;
697 obj_handle_t handle;
699 struct resume_thread_reply
701 struct reply_header __header;
702 int count;
707 struct load_dll_request
709 struct request_header __header;
710 obj_handle_t handle;
711 void* base;
712 size_t size;
713 int dbg_offset;
714 int dbg_size;
715 void* name;
716 /* VARARG(filename,unicode_str); */
718 struct load_dll_reply
720 struct reply_header __header;
725 struct unload_dll_request
727 struct request_header __header;
728 void* base;
730 struct unload_dll_reply
732 struct reply_header __header;
737 struct queue_apc_request
739 struct request_header __header;
740 obj_handle_t thread;
741 obj_handle_t process;
742 apc_call_t call;
744 struct queue_apc_reply
746 struct reply_header __header;
747 obj_handle_t handle;
748 int self;
753 struct get_apc_result_request
755 struct request_header __header;
756 obj_handle_t handle;
758 struct get_apc_result_reply
760 struct reply_header __header;
761 apc_result_t result;
766 struct close_handle_request
768 struct request_header __header;
769 obj_handle_t handle;
771 struct close_handle_reply
773 struct reply_header __header;
778 struct set_handle_info_request
780 struct request_header __header;
781 obj_handle_t handle;
782 int flags;
783 int mask;
785 struct set_handle_info_reply
787 struct reply_header __header;
788 int old_flags;
793 struct dup_handle_request
795 struct request_header __header;
796 obj_handle_t src_process;
797 obj_handle_t src_handle;
798 obj_handle_t dst_process;
799 unsigned int access;
800 unsigned int attributes;
801 unsigned int options;
803 struct dup_handle_reply
805 struct reply_header __header;
806 obj_handle_t handle;
807 int self;
808 int closed;
810 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
811 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
812 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
816 struct open_process_request
818 struct request_header __header;
819 process_id_t pid;
820 unsigned int access;
821 unsigned int attributes;
823 struct open_process_reply
825 struct reply_header __header;
826 obj_handle_t handle;
831 struct open_thread_request
833 struct request_header __header;
834 thread_id_t tid;
835 unsigned int access;
836 unsigned int attributes;
838 struct open_thread_reply
840 struct reply_header __header;
841 obj_handle_t handle;
846 struct select_request
848 struct request_header __header;
849 int flags;
850 void* cookie;
851 obj_handle_t signal;
852 obj_handle_t prev_apc;
853 timeout_t timeout;
854 /* VARARG(result,apc_result); */
855 /* VARARG(handles,handles); */
857 struct select_reply
859 struct reply_header __header;
860 obj_handle_t apc_handle;
861 timeout_t timeout;
862 apc_call_t call;
864 #define SELECT_ALL 1
865 #define SELECT_ALERTABLE 2
866 #define SELECT_INTERRUPTIBLE 4
870 struct create_event_request
872 struct request_header __header;
873 unsigned int access;
874 unsigned int attributes;
875 int manual_reset;
876 int initial_state;
877 /* VARARG(objattr,object_attributes); */
879 struct create_event_reply
881 struct reply_header __header;
882 obj_handle_t handle;
886 struct event_op_request
888 struct request_header __header;
889 obj_handle_t handle;
890 int op;
892 struct event_op_reply
894 struct reply_header __header;
896 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
900 struct open_event_request
902 struct request_header __header;
903 unsigned int access;
904 unsigned int attributes;
905 obj_handle_t rootdir;
906 /* VARARG(name,unicode_str); */
908 struct open_event_reply
910 struct reply_header __header;
911 obj_handle_t handle;
916 struct create_mutex_request
918 struct request_header __header;
919 unsigned int access;
920 unsigned int attributes;
921 int owned;
922 /* VARARG(objattr,object_attributes); */
924 struct create_mutex_reply
926 struct reply_header __header;
927 obj_handle_t handle;
932 struct release_mutex_request
934 struct request_header __header;
935 obj_handle_t handle;
937 struct release_mutex_reply
939 struct reply_header __header;
940 unsigned int prev_count;
945 struct open_mutex_request
947 struct request_header __header;
948 unsigned int access;
949 unsigned int attributes;
950 obj_handle_t rootdir;
951 /* VARARG(name,unicode_str); */
953 struct open_mutex_reply
955 struct reply_header __header;
956 obj_handle_t handle;
961 struct create_semaphore_request
963 struct request_header __header;
964 unsigned int access;
965 unsigned int attributes;
966 unsigned int initial;
967 unsigned int max;
968 /* VARARG(objattr,object_attributes); */
970 struct create_semaphore_reply
972 struct reply_header __header;
973 obj_handle_t handle;
978 struct release_semaphore_request
980 struct request_header __header;
981 obj_handle_t handle;
982 unsigned int count;
984 struct release_semaphore_reply
986 struct reply_header __header;
987 unsigned int prev_count;
992 struct open_semaphore_request
994 struct request_header __header;
995 unsigned int access;
996 unsigned int attributes;
997 obj_handle_t rootdir;
998 /* VARARG(name,unicode_str); */
1000 struct open_semaphore_reply
1002 struct reply_header __header;
1003 obj_handle_t handle;
1008 struct create_file_request
1010 struct request_header __header;
1011 unsigned int access;
1012 unsigned int attributes;
1013 unsigned int sharing;
1014 int create;
1015 unsigned int options;
1016 unsigned int attrs;
1017 /* VARARG(objattr,object_attributes); */
1018 /* VARARG(filename,string); */
1020 struct create_file_reply
1022 struct reply_header __header;
1023 obj_handle_t handle;
1028 struct open_file_object_request
1030 struct request_header __header;
1031 unsigned int access;
1032 unsigned int attributes;
1033 obj_handle_t rootdir;
1034 unsigned int sharing;
1035 unsigned int options;
1036 /* VARARG(filename,unicode_str); */
1038 struct open_file_object_reply
1040 struct reply_header __header;
1041 obj_handle_t handle;
1046 struct alloc_file_handle_request
1048 struct request_header __header;
1049 unsigned int access;
1050 unsigned int attributes;
1051 int fd;
1053 struct alloc_file_handle_reply
1055 struct reply_header __header;
1056 obj_handle_t handle;
1061 struct get_handle_fd_request
1063 struct request_header __header;
1064 obj_handle_t handle;
1066 struct get_handle_fd_reply
1068 struct reply_header __header;
1069 int type;
1070 int removable;
1071 unsigned int access;
1072 unsigned int options;
1074 enum server_fd_type
1076 FD_TYPE_INVALID,
1077 FD_TYPE_FILE,
1078 FD_TYPE_DIR,
1079 FD_TYPE_SOCKET,
1080 FD_TYPE_SERIAL,
1081 FD_TYPE_PIPE,
1082 FD_TYPE_MAILSLOT,
1083 FD_TYPE_CHAR,
1084 FD_TYPE_DEVICE,
1085 FD_TYPE_NB_TYPES
1090 struct flush_file_request
1092 struct request_header __header;
1093 obj_handle_t handle;
1095 struct flush_file_reply
1097 struct reply_header __header;
1098 obj_handle_t event;
1103 struct lock_file_request
1105 struct request_header __header;
1106 obj_handle_t handle;
1107 file_pos_t offset;
1108 file_pos_t count;
1109 int shared;
1110 int wait;
1112 struct lock_file_reply
1114 struct reply_header __header;
1115 obj_handle_t handle;
1116 int overlapped;
1121 struct unlock_file_request
1123 struct request_header __header;
1124 obj_handle_t handle;
1125 file_pos_t offset;
1126 file_pos_t count;
1128 struct unlock_file_reply
1130 struct reply_header __header;
1135 struct create_socket_request
1137 struct request_header __header;
1138 unsigned int access;
1139 unsigned int attributes;
1140 int family;
1141 int type;
1142 int protocol;
1143 unsigned int flags;
1145 struct create_socket_reply
1147 struct reply_header __header;
1148 obj_handle_t handle;
1153 struct accept_socket_request
1155 struct request_header __header;
1156 obj_handle_t lhandle;
1157 unsigned int access;
1158 unsigned int attributes;
1160 struct accept_socket_reply
1162 struct reply_header __header;
1163 obj_handle_t handle;
1168 struct set_socket_event_request
1170 struct request_header __header;
1171 obj_handle_t handle;
1172 unsigned int mask;
1173 obj_handle_t event;
1174 user_handle_t window;
1175 unsigned int msg;
1177 struct set_socket_event_reply
1179 struct reply_header __header;
1184 struct get_socket_event_request
1186 struct request_header __header;
1187 obj_handle_t handle;
1188 int service;
1189 obj_handle_t c_event;
1191 struct get_socket_event_reply
1193 struct reply_header __header;
1194 unsigned int mask;
1195 unsigned int pmask;
1196 unsigned int state;
1197 /* VARARG(errors,ints); */
1202 struct enable_socket_event_request
1204 struct request_header __header;
1205 obj_handle_t handle;
1206 unsigned int mask;
1207 unsigned int sstate;
1208 unsigned int cstate;
1210 struct enable_socket_event_reply
1212 struct reply_header __header;
1215 struct set_socket_deferred_request
1217 struct request_header __header;
1218 obj_handle_t handle;
1219 obj_handle_t deferred;
1221 struct set_socket_deferred_reply
1223 struct reply_header __header;
1227 struct alloc_console_request
1229 struct request_header __header;
1230 unsigned int access;
1231 unsigned int attributes;
1232 process_id_t pid;
1234 struct alloc_console_reply
1236 struct reply_header __header;
1237 obj_handle_t handle_in;
1238 obj_handle_t event;
1243 struct free_console_request
1245 struct request_header __header;
1247 struct free_console_reply
1249 struct reply_header __header;
1253 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1254 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1255 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1256 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1257 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1258 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1259 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1260 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1261 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1262 struct console_renderer_event
1264 short event;
1265 union
1267 struct update
1269 short top;
1270 short bottom;
1271 } update;
1272 struct resize
1274 short width;
1275 short height;
1276 } resize;
1277 struct cursor_pos
1279 short x;
1280 short y;
1281 } cursor_pos;
1282 struct cursor_geom
1284 short visible;
1285 short size;
1286 } cursor_geom;
1287 struct display
1289 short left;
1290 short top;
1291 short width;
1292 short height;
1293 } display;
1294 } u;
1298 struct get_console_renderer_events_request
1300 struct request_header __header;
1301 obj_handle_t handle;
1303 struct get_console_renderer_events_reply
1305 struct reply_header __header;
1306 /* VARARG(data,bytes); */
1311 struct open_console_request
1313 struct request_header __header;
1314 obj_handle_t from;
1316 unsigned int access;
1317 unsigned int attributes;
1318 int share;
1320 struct open_console_reply
1322 struct reply_header __header;
1323 obj_handle_t handle;
1328 struct get_console_wait_event_request
1330 struct request_header __header;
1332 struct get_console_wait_event_reply
1334 struct reply_header __header;
1335 obj_handle_t handle;
1339 struct get_console_mode_request
1341 struct request_header __header;
1342 obj_handle_t handle;
1344 struct get_console_mode_reply
1346 struct reply_header __header;
1347 int mode;
1352 struct set_console_mode_request
1354 struct request_header __header;
1355 obj_handle_t handle;
1356 int mode;
1358 struct set_console_mode_reply
1360 struct reply_header __header;
1365 struct set_console_input_info_request
1367 struct request_header __header;
1368 obj_handle_t handle;
1369 int mask;
1370 obj_handle_t active_sb;
1371 int history_mode;
1372 int history_size;
1373 int edition_mode;
1374 int input_cp;
1375 int output_cp;
1376 user_handle_t win;
1377 /* VARARG(title,unicode_str); */
1379 struct set_console_input_info_reply
1381 struct reply_header __header;
1383 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1384 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1385 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1386 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1387 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1388 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1389 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1390 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1394 struct get_console_input_info_request
1396 struct request_header __header;
1397 obj_handle_t handle;
1399 struct get_console_input_info_reply
1401 struct reply_header __header;
1402 int history_mode;
1403 int history_size;
1404 int history_index;
1405 int edition_mode;
1406 int input_cp;
1407 int output_cp;
1408 user_handle_t win;
1409 /* VARARG(title,unicode_str); */
1414 struct append_console_input_history_request
1416 struct request_header __header;
1417 obj_handle_t handle;
1418 /* VARARG(line,unicode_str); */
1420 struct append_console_input_history_reply
1422 struct reply_header __header;
1427 struct get_console_input_history_request
1429 struct request_header __header;
1430 obj_handle_t handle;
1431 int index;
1433 struct get_console_input_history_reply
1435 struct reply_header __header;
1436 int total;
1437 /* VARARG(line,unicode_str); */
1442 struct create_console_output_request
1444 struct request_header __header;
1445 obj_handle_t handle_in;
1446 unsigned int access;
1447 unsigned int attributes;
1448 unsigned int share;
1450 struct create_console_output_reply
1452 struct reply_header __header;
1453 obj_handle_t handle_out;
1458 struct set_console_output_info_request
1460 struct request_header __header;
1461 obj_handle_t handle;
1462 int mask;
1463 short int cursor_size;
1464 short int cursor_visible;
1465 short int cursor_x;
1466 short int cursor_y;
1467 short int width;
1468 short int height;
1469 short int attr;
1470 short int win_left;
1471 short int win_top;
1472 short int win_right;
1473 short int win_bottom;
1474 short int max_width;
1475 short int max_height;
1477 struct set_console_output_info_reply
1479 struct reply_header __header;
1481 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1482 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1483 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1484 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1485 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1486 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1490 struct get_console_output_info_request
1492 struct request_header __header;
1493 obj_handle_t handle;
1495 struct get_console_output_info_reply
1497 struct reply_header __header;
1498 short int cursor_size;
1499 short int cursor_visible;
1500 short int cursor_x;
1501 short int cursor_y;
1502 short int width;
1503 short int height;
1504 short int attr;
1505 short int win_left;
1506 short int win_top;
1507 short int win_right;
1508 short int win_bottom;
1509 short int max_width;
1510 short int max_height;
1514 struct write_console_input_request
1516 struct request_header __header;
1517 obj_handle_t handle;
1518 /* VARARG(rec,input_records); */
1520 struct write_console_input_reply
1522 struct reply_header __header;
1523 int written;
1528 struct read_console_input_request
1530 struct request_header __header;
1531 obj_handle_t handle;
1532 int flush;
1534 struct read_console_input_reply
1536 struct reply_header __header;
1537 int read;
1538 /* VARARG(rec,input_records); */
1543 struct write_console_output_request
1545 struct request_header __header;
1546 obj_handle_t handle;
1547 int x;
1548 int y;
1549 int mode;
1550 int wrap;
1551 /* VARARG(data,bytes); */
1553 struct write_console_output_reply
1555 struct reply_header __header;
1556 int written;
1557 int width;
1558 int height;
1560 enum char_info_mode
1562 CHAR_INFO_MODE_TEXT,
1563 CHAR_INFO_MODE_ATTR,
1564 CHAR_INFO_MODE_TEXTATTR,
1565 CHAR_INFO_MODE_TEXTSTDATTR
1570 struct fill_console_output_request
1572 struct request_header __header;
1573 obj_handle_t handle;
1574 int x;
1575 int y;
1576 int mode;
1577 int count;
1578 int wrap;
1579 char_info_t data;
1581 struct fill_console_output_reply
1583 struct reply_header __header;
1584 int written;
1589 struct read_console_output_request
1591 struct request_header __header;
1592 obj_handle_t handle;
1593 int x;
1594 int y;
1595 int mode;
1596 int wrap;
1598 struct read_console_output_reply
1600 struct reply_header __header;
1601 int width;
1602 int height;
1603 /* VARARG(data,bytes); */
1608 struct move_console_output_request
1610 struct request_header __header;
1611 obj_handle_t handle;
1612 short int x_src;
1613 short int y_src;
1614 short int x_dst;
1615 short int y_dst;
1616 short int w;
1617 short int h;
1619 struct move_console_output_reply
1621 struct reply_header __header;
1626 struct send_console_signal_request
1628 struct request_header __header;
1629 int signal;
1630 process_id_t group_id;
1632 struct send_console_signal_reply
1634 struct reply_header __header;
1639 struct read_directory_changes_request
1641 struct request_header __header;
1642 unsigned int filter;
1643 obj_handle_t handle;
1644 int subtree;
1645 int want_data;
1646 async_data_t async;
1648 struct read_directory_changes_reply
1650 struct reply_header __header;
1654 struct read_change_request
1656 struct request_header __header;
1657 obj_handle_t handle;
1659 struct read_change_reply
1661 struct reply_header __header;
1662 int action;
1663 /* VARARG(name,string); */
1668 struct create_mapping_request
1670 struct request_header __header;
1671 unsigned int access;
1672 unsigned int attributes;
1673 file_pos_t size;
1674 int protect;
1675 obj_handle_t file_handle;
1676 /* VARARG(objattr,object_attributes); */
1678 struct create_mapping_reply
1680 struct reply_header __header;
1681 obj_handle_t handle;
1684 #define VPROT_READ 0x01
1685 #define VPROT_WRITE 0x02
1686 #define VPROT_EXEC 0x04
1687 #define VPROT_WRITECOPY 0x08
1688 #define VPROT_GUARD 0x10
1689 #define VPROT_NOCACHE 0x20
1690 #define VPROT_COMMITTED 0x40
1691 #define VPROT_IMAGE 0x80
1695 struct open_mapping_request
1697 struct request_header __header;
1698 unsigned int access;
1699 unsigned int attributes;
1700 obj_handle_t rootdir;
1701 /* VARARG(name,unicode_str); */
1703 struct open_mapping_reply
1705 struct reply_header __header;
1706 obj_handle_t handle;
1711 struct get_mapping_info_request
1713 struct request_header __header;
1714 obj_handle_t handle;
1716 struct get_mapping_info_reply
1718 struct reply_header __header;
1719 file_pos_t size;
1720 int protect;
1721 int header_size;
1722 void* base;
1723 obj_handle_t mapping;
1724 obj_handle_t shared_file;
1728 #define SNAP_HEAPLIST 0x00000001
1729 #define SNAP_PROCESS 0x00000002
1730 #define SNAP_THREAD 0x00000004
1731 #define SNAP_MODULE 0x00000008
1733 struct create_snapshot_request
1735 struct request_header __header;
1736 unsigned int attributes;
1737 int flags;
1738 process_id_t pid;
1740 struct create_snapshot_reply
1742 struct reply_header __header;
1743 obj_handle_t handle;
1748 struct next_process_request
1750 struct request_header __header;
1751 obj_handle_t handle;
1752 int reset;
1754 struct next_process_reply
1756 struct reply_header __header;
1757 int count;
1758 process_id_t pid;
1759 process_id_t ppid;
1760 void* heap;
1761 void* module;
1762 int threads;
1763 int priority;
1764 int handles;
1765 /* VARARG(filename,unicode_str); */
1770 struct next_thread_request
1772 struct request_header __header;
1773 obj_handle_t handle;
1774 int reset;
1776 struct next_thread_reply
1778 struct reply_header __header;
1779 int count;
1780 process_id_t pid;
1781 thread_id_t tid;
1782 int base_pri;
1783 int delta_pri;
1788 struct next_module_request
1790 struct request_header __header;
1791 obj_handle_t handle;
1792 int reset;
1794 struct next_module_reply
1796 struct reply_header __header;
1797 process_id_t pid;
1798 void* base;
1799 size_t size;
1800 /* VARARG(filename,unicode_str); */
1805 struct wait_debug_event_request
1807 struct request_header __header;
1808 int get_handle;
1810 struct wait_debug_event_reply
1812 struct reply_header __header;
1813 process_id_t pid;
1814 thread_id_t tid;
1815 obj_handle_t wait;
1816 /* VARARG(event,debug_event); */
1821 struct queue_exception_event_request
1823 struct request_header __header;
1824 int first;
1825 /* VARARG(record,exc_event); */
1827 struct queue_exception_event_reply
1829 struct reply_header __header;
1830 obj_handle_t handle;
1835 struct get_exception_status_request
1837 struct request_header __header;
1838 obj_handle_t handle;
1840 struct get_exception_status_reply
1842 struct reply_header __header;
1843 /* VARARG(context,context); */
1848 struct output_debug_string_request
1850 struct request_header __header;
1851 void* string;
1852 int unicode;
1853 int length;
1855 struct output_debug_string_reply
1857 struct reply_header __header;
1862 struct continue_debug_event_request
1864 struct request_header __header;
1865 process_id_t pid;
1866 thread_id_t tid;
1867 int status;
1869 struct continue_debug_event_reply
1871 struct reply_header __header;
1876 struct debug_process_request
1878 struct request_header __header;
1879 process_id_t pid;
1880 int attach;
1882 struct debug_process_reply
1884 struct reply_header __header;
1889 struct debug_break_request
1891 struct request_header __header;
1892 obj_handle_t handle;
1894 struct debug_break_reply
1896 struct reply_header __header;
1897 int self;
1902 struct set_debugger_kill_on_exit_request
1904 struct request_header __header;
1905 int kill_on_exit;
1907 struct set_debugger_kill_on_exit_reply
1909 struct reply_header __header;
1914 struct read_process_memory_request
1916 struct request_header __header;
1917 obj_handle_t handle;
1918 void* addr;
1920 struct read_process_memory_reply
1922 struct reply_header __header;
1923 /* VARARG(data,bytes); */
1928 struct write_process_memory_request
1930 struct request_header __header;
1931 obj_handle_t handle;
1932 void* addr;
1933 /* VARARG(data,bytes); */
1935 struct write_process_memory_reply
1937 struct reply_header __header;
1942 struct create_key_request
1944 struct request_header __header;
1945 obj_handle_t parent;
1946 unsigned int access;
1947 unsigned int attributes;
1948 unsigned int options;
1949 time_t modif;
1950 data_size_t namelen;
1951 /* VARARG(name,unicode_str,namelen); */
1952 /* VARARG(class,unicode_str); */
1954 struct create_key_reply
1956 struct reply_header __header;
1957 obj_handle_t hkey;
1958 int created;
1962 struct open_key_request
1964 struct request_header __header;
1965 obj_handle_t parent;
1966 unsigned int access;
1967 unsigned int attributes;
1968 /* VARARG(name,unicode_str); */
1970 struct open_key_reply
1972 struct reply_header __header;
1973 obj_handle_t hkey;
1978 struct delete_key_request
1980 struct request_header __header;
1981 obj_handle_t hkey;
1983 struct delete_key_reply
1985 struct reply_header __header;
1990 struct flush_key_request
1992 struct request_header __header;
1993 obj_handle_t hkey;
1995 struct flush_key_reply
1997 struct reply_header __header;
2002 struct enum_key_request
2004 struct request_header __header;
2005 obj_handle_t hkey;
2006 int index;
2007 int info_class;
2009 struct enum_key_reply
2011 struct reply_header __header;
2012 int subkeys;
2013 int max_subkey;
2014 int max_class;
2015 int values;
2016 int max_value;
2017 int max_data;
2018 time_t modif;
2019 data_size_t total;
2020 data_size_t namelen;
2021 /* VARARG(name,unicode_str,namelen); */
2022 /* VARARG(class,unicode_str); */
2027 struct set_key_value_request
2029 struct request_header __header;
2030 obj_handle_t hkey;
2031 int type;
2032 data_size_t namelen;
2033 /* VARARG(name,unicode_str,namelen); */
2034 /* VARARG(data,bytes); */
2036 struct set_key_value_reply
2038 struct reply_header __header;
2043 struct get_key_value_request
2045 struct request_header __header;
2046 obj_handle_t hkey;
2047 /* VARARG(name,unicode_str); */
2049 struct get_key_value_reply
2051 struct reply_header __header;
2052 int type;
2053 data_size_t total;
2054 /* VARARG(data,bytes); */
2059 struct enum_key_value_request
2061 struct request_header __header;
2062 obj_handle_t hkey;
2063 int index;
2064 int info_class;
2066 struct enum_key_value_reply
2068 struct reply_header __header;
2069 int type;
2070 data_size_t total;
2071 data_size_t namelen;
2072 /* VARARG(name,unicode_str,namelen); */
2073 /* VARARG(data,bytes); */
2078 struct delete_key_value_request
2080 struct request_header __header;
2081 obj_handle_t hkey;
2082 /* VARARG(name,unicode_str); */
2084 struct delete_key_value_reply
2086 struct reply_header __header;
2091 struct load_registry_request
2093 struct request_header __header;
2094 obj_handle_t hkey;
2095 obj_handle_t file;
2096 /* VARARG(name,unicode_str); */
2098 struct load_registry_reply
2100 struct reply_header __header;
2105 struct unload_registry_request
2107 struct request_header __header;
2108 obj_handle_t hkey;
2110 struct unload_registry_reply
2112 struct reply_header __header;
2117 struct save_registry_request
2119 struct request_header __header;
2120 obj_handle_t hkey;
2121 obj_handle_t file;
2123 struct save_registry_reply
2125 struct reply_header __header;
2130 struct set_registry_notification_request
2132 struct request_header __header;
2133 obj_handle_t hkey;
2134 obj_handle_t event;
2135 int subtree;
2136 unsigned int filter;
2138 struct set_registry_notification_reply
2140 struct reply_header __header;
2145 struct create_timer_request
2147 struct request_header __header;
2148 unsigned int access;
2149 unsigned int attributes;
2150 obj_handle_t rootdir;
2151 int manual;
2152 /* VARARG(name,unicode_str); */
2154 struct create_timer_reply
2156 struct reply_header __header;
2157 obj_handle_t handle;
2162 struct open_timer_request
2164 struct request_header __header;
2165 unsigned int access;
2166 unsigned int attributes;
2167 obj_handle_t rootdir;
2168 /* VARARG(name,unicode_str); */
2170 struct open_timer_reply
2172 struct reply_header __header;
2173 obj_handle_t handle;
2177 struct set_timer_request
2179 struct request_header __header;
2180 obj_handle_t handle;
2181 timeout_t expire;
2182 int period;
2183 void* callback;
2184 void* arg;
2186 struct set_timer_reply
2188 struct reply_header __header;
2189 int signaled;
2193 struct cancel_timer_request
2195 struct request_header __header;
2196 obj_handle_t handle;
2198 struct cancel_timer_reply
2200 struct reply_header __header;
2201 int signaled;
2205 struct get_timer_info_request
2207 struct request_header __header;
2208 obj_handle_t handle;
2210 struct get_timer_info_reply
2212 struct reply_header __header;
2213 timeout_t when;
2214 int signaled;
2219 struct get_thread_context_request
2221 struct request_header __header;
2222 obj_handle_t handle;
2223 unsigned int flags;
2224 int suspend;
2226 struct get_thread_context_reply
2228 struct reply_header __header;
2229 int self;
2230 /* VARARG(context,context); */
2235 struct set_thread_context_request
2237 struct request_header __header;
2238 obj_handle_t handle;
2239 unsigned int flags;
2240 int suspend;
2241 /* VARARG(context,context); */
2243 struct set_thread_context_reply
2245 struct reply_header __header;
2246 int self;
2251 struct get_selector_entry_request
2253 struct request_header __header;
2254 obj_handle_t handle;
2255 int entry;
2257 struct get_selector_entry_reply
2259 struct reply_header __header;
2260 unsigned int base;
2261 unsigned int limit;
2262 unsigned char flags;
2267 struct add_atom_request
2269 struct request_header __header;
2270 obj_handle_t table;
2271 /* VARARG(name,unicode_str); */
2273 struct add_atom_reply
2275 struct reply_header __header;
2276 atom_t atom;
2281 struct delete_atom_request
2283 struct request_header __header;
2284 obj_handle_t table;
2285 atom_t atom;
2287 struct delete_atom_reply
2289 struct reply_header __header;
2294 struct find_atom_request
2296 struct request_header __header;
2297 obj_handle_t table;
2298 /* VARARG(name,unicode_str); */
2300 struct find_atom_reply
2302 struct reply_header __header;
2303 atom_t atom;
2308 struct get_atom_information_request
2310 struct request_header __header;
2311 obj_handle_t table;
2312 atom_t atom;
2314 struct get_atom_information_reply
2316 struct reply_header __header;
2317 int count;
2318 int pinned;
2319 data_size_t total;
2320 /* VARARG(name,unicode_str); */
2325 struct set_atom_information_request
2327 struct request_header __header;
2328 obj_handle_t table;
2329 atom_t atom;
2330 int pinned;
2332 struct set_atom_information_reply
2334 struct reply_header __header;
2339 struct empty_atom_table_request
2341 struct request_header __header;
2342 obj_handle_t table;
2343 int if_pinned;
2345 struct empty_atom_table_reply
2347 struct reply_header __header;
2352 struct init_atom_table_request
2354 struct request_header __header;
2355 int entries;
2357 struct init_atom_table_reply
2359 struct reply_header __header;
2360 obj_handle_t table;
2365 struct get_msg_queue_request
2367 struct request_header __header;
2369 struct get_msg_queue_reply
2371 struct reply_header __header;
2372 obj_handle_t handle;
2377 struct set_queue_fd_request
2379 struct request_header __header;
2380 obj_handle_t handle;
2382 struct set_queue_fd_reply
2384 struct reply_header __header;
2389 struct set_queue_mask_request
2391 struct request_header __header;
2392 unsigned int wake_mask;
2393 unsigned int changed_mask;
2394 int skip_wait;
2396 struct set_queue_mask_reply
2398 struct reply_header __header;
2399 unsigned int wake_bits;
2400 unsigned int changed_bits;
2405 struct get_queue_status_request
2407 struct request_header __header;
2408 int clear;
2410 struct get_queue_status_reply
2412 struct reply_header __header;
2413 unsigned int wake_bits;
2414 unsigned int changed_bits;
2419 struct get_process_idle_event_request
2421 struct request_header __header;
2422 obj_handle_t handle;
2424 struct get_process_idle_event_reply
2426 struct reply_header __header;
2427 obj_handle_t event;
2432 struct send_message_request
2434 struct request_header __header;
2435 thread_id_t id;
2436 int type;
2437 int flags;
2438 user_handle_t win;
2439 unsigned int msg;
2440 unsigned long wparam;
2441 unsigned long lparam;
2442 timeout_t timeout;
2443 /* VARARG(data,message_data); */
2445 struct send_message_reply
2447 struct reply_header __header;
2450 struct post_quit_message_request
2452 struct request_header __header;
2453 int exit_code;
2455 struct post_quit_message_reply
2457 struct reply_header __header;
2460 enum message_type
2462 MSG_ASCII,
2463 MSG_UNICODE,
2464 MSG_NOTIFY,
2465 MSG_CALLBACK,
2466 MSG_CALLBACK_RESULT,
2467 MSG_OTHER_PROCESS,
2468 MSG_POSTED,
2469 MSG_HARDWARE,
2470 MSG_WINEVENT
2472 #define SEND_MSG_ABORT_IF_HUNG 0x01
2476 struct send_hardware_message_request
2478 struct request_header __header;
2479 thread_id_t id;
2480 user_handle_t win;
2481 unsigned int msg;
2482 unsigned int time;
2483 unsigned long wparam;
2484 unsigned long lparam;
2485 unsigned long info;
2486 int x;
2487 int y;
2489 struct send_hardware_message_reply
2491 struct reply_header __header;
2496 struct get_message_request
2498 struct request_header __header;
2499 unsigned int flags;
2500 user_handle_t get_win;
2501 unsigned int get_first;
2502 unsigned int get_last;
2503 unsigned int hw_id;
2504 unsigned int wake_mask;
2505 unsigned int changed_mask;
2507 struct get_message_reply
2509 struct reply_header __header;
2510 user_handle_t win;
2511 int type;
2512 unsigned int msg;
2513 unsigned long wparam;
2514 unsigned long lparam;
2515 unsigned long info;
2516 int x;
2517 int y;
2518 unsigned int time;
2519 unsigned int hw_id;
2520 unsigned int active_hooks;
2521 data_size_t total;
2522 /* VARARG(data,message_data); */
2527 struct reply_message_request
2529 struct request_header __header;
2530 unsigned long result;
2531 int remove;
2532 /* VARARG(data,bytes); */
2534 struct reply_message_reply
2536 struct reply_header __header;
2541 struct accept_hardware_message_request
2543 struct request_header __header;
2544 unsigned int hw_id;
2545 int remove;
2546 user_handle_t new_win;
2548 struct accept_hardware_message_reply
2550 struct reply_header __header;
2555 struct get_message_reply_request
2557 struct request_header __header;
2558 int cancel;
2560 struct get_message_reply_reply
2562 struct reply_header __header;
2563 unsigned long result;
2564 /* VARARG(data,bytes); */
2569 struct set_win_timer_request
2571 struct request_header __header;
2572 user_handle_t win;
2573 unsigned int msg;
2574 unsigned int rate;
2575 unsigned long id;
2576 unsigned long lparam;
2578 struct set_win_timer_reply
2580 struct reply_header __header;
2581 unsigned long id;
2586 struct kill_win_timer_request
2588 struct request_header __header;
2589 user_handle_t win;
2590 unsigned int msg;
2591 unsigned long id;
2593 struct kill_win_timer_reply
2595 struct reply_header __header;
2600 struct is_window_hung_request
2602 struct request_header __header;
2603 user_handle_t win;
2605 struct is_window_hung_reply
2607 struct reply_header __header;
2608 int is_hung;
2613 struct get_serial_info_request
2615 struct request_header __header;
2616 obj_handle_t handle;
2618 struct get_serial_info_reply
2620 struct reply_header __header;
2621 unsigned int readinterval;
2622 unsigned int readconst;
2623 unsigned int readmult;
2624 unsigned int writeconst;
2625 unsigned int writemult;
2626 unsigned int eventmask;
2631 struct set_serial_info_request
2633 struct request_header __header;
2634 obj_handle_t handle;
2635 int flags;
2636 unsigned int readinterval;
2637 unsigned int readconst;
2638 unsigned int readmult;
2639 unsigned int writeconst;
2640 unsigned int writemult;
2641 unsigned int eventmask;
2643 struct set_serial_info_reply
2645 struct reply_header __header;
2647 #define SERIALINFO_SET_TIMEOUTS 0x01
2648 #define SERIALINFO_SET_MASK 0x02
2652 struct register_async_request
2654 struct request_header __header;
2655 obj_handle_t handle;
2656 int type;
2657 int count;
2658 async_data_t async;
2660 struct register_async_reply
2662 struct reply_header __header;
2664 #define ASYNC_TYPE_READ 0x01
2665 #define ASYNC_TYPE_WRITE 0x02
2666 #define ASYNC_TYPE_WAIT 0x03
2670 struct cancel_async_request
2672 struct request_header __header;
2673 obj_handle_t handle;
2675 struct cancel_async_reply
2677 struct reply_header __header;
2682 struct ioctl_request
2684 struct request_header __header;
2685 obj_handle_t handle;
2686 ioctl_code_t code;
2687 async_data_t async;
2688 /* VARARG(in_data,bytes); */
2690 struct ioctl_reply
2692 struct reply_header __header;
2693 obj_handle_t wait;
2694 unsigned int options;
2695 /* VARARG(out_data,bytes); */
2700 struct get_ioctl_result_request
2702 struct request_header __header;
2703 obj_handle_t handle;
2704 void* user_arg;
2706 struct get_ioctl_result_reply
2708 struct reply_header __header;
2709 /* VARARG(out_data,bytes); */
2714 struct create_named_pipe_request
2716 struct request_header __header;
2717 unsigned int access;
2718 unsigned int attributes;
2719 obj_handle_t rootdir;
2720 unsigned int options;
2721 unsigned int flags;
2722 unsigned int maxinstances;
2723 unsigned int outsize;
2724 unsigned int insize;
2725 timeout_t timeout;
2726 /* VARARG(name,unicode_str); */
2728 struct create_named_pipe_reply
2730 struct reply_header __header;
2731 obj_handle_t handle;
2735 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
2736 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
2737 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
2738 #define NAMED_PIPE_SERVER_END 0x8000
2741 struct get_named_pipe_info_request
2743 struct request_header __header;
2744 obj_handle_t handle;
2746 struct get_named_pipe_info_reply
2748 struct reply_header __header;
2749 unsigned int flags;
2750 unsigned int maxinstances;
2751 unsigned int instances;
2752 unsigned int outsize;
2753 unsigned int insize;
2758 struct create_cursor_request
2760 struct request_header __header;
2761 unsigned int num_frames;
2762 unsigned short delay;
2764 struct create_cursor_reply
2766 struct reply_header __header;
2767 user_handle_t handle;
2772 struct destroy_cursor_request
2774 struct request_header __header;
2775 user_handle_t handle;
2777 struct destroy_cursor_reply
2779 struct reply_header __header;
2784 struct get_cursor_info_request
2786 struct request_header __header;
2787 user_handle_t handle;
2789 struct get_cursor_info_reply
2791 struct reply_header __header;
2792 unsigned int num_frames;
2793 unsigned short delay;
2798 struct get_cursor_frame_request
2800 struct request_header __header;
2801 user_handle_t handle;
2802 unsigned int frame_idx;
2804 struct get_cursor_frame_reply
2806 struct reply_header __header;
2807 unsigned short xhot;
2808 unsigned short yhot;
2809 unsigned short width;
2810 unsigned short height;
2811 unsigned short and_width_bytes;
2812 unsigned short xor_width_bytes;
2813 unsigned char planes;
2814 unsigned char bpp;
2815 /* VARARG(data,bytes); */
2820 struct set_cursor_frame_request
2822 struct request_header __header;
2823 user_handle_t handle;
2824 unsigned int frame_idx;
2825 unsigned short xhot;
2826 unsigned short yhot;
2827 unsigned short width;
2828 unsigned short height;
2829 unsigned short and_width_bytes;
2830 unsigned short xor_width_bytes;
2831 unsigned char planes;
2832 unsigned char bpp;
2833 /* VARARG(data,bytes); */
2835 struct set_cursor_frame_reply
2837 struct reply_header __header;
2842 struct create_window_request
2844 struct request_header __header;
2845 user_handle_t parent;
2846 user_handle_t owner;
2847 atom_t atom;
2848 void* instance;
2849 /* VARARG(class,unicode_str); */
2851 struct create_window_reply
2853 struct reply_header __header;
2854 user_handle_t handle;
2855 user_handle_t parent;
2856 user_handle_t owner;
2857 int extra;
2858 void* class_ptr;
2863 struct destroy_window_request
2865 struct request_header __header;
2866 user_handle_t handle;
2868 struct destroy_window_reply
2870 struct reply_header __header;
2875 struct get_desktop_window_request
2877 struct request_header __header;
2878 int force;
2880 struct get_desktop_window_reply
2882 struct reply_header __header;
2883 user_handle_t top_window;
2884 user_handle_t msg_window;
2889 struct set_window_owner_request
2891 struct request_header __header;
2892 user_handle_t handle;
2893 user_handle_t owner;
2895 struct set_window_owner_reply
2897 struct reply_header __header;
2898 user_handle_t full_owner;
2899 user_handle_t prev_owner;
2904 struct get_window_info_request
2906 struct request_header __header;
2907 user_handle_t handle;
2909 struct get_window_info_reply
2911 struct reply_header __header;
2912 user_handle_t full_handle;
2913 user_handle_t last_active;
2914 process_id_t pid;
2915 thread_id_t tid;
2916 atom_t atom;
2917 int is_unicode;
2922 struct set_window_info_request
2924 struct request_header __header;
2925 unsigned int flags;
2926 user_handle_t handle;
2927 unsigned int style;
2928 unsigned int ex_style;
2929 unsigned int id;
2930 int is_unicode;
2931 void* instance;
2932 unsigned long user_data;
2933 int extra_offset;
2934 data_size_t extra_size;
2935 unsigned long extra_value;
2937 struct set_window_info_reply
2939 struct reply_header __header;
2940 unsigned int old_style;
2941 unsigned int old_ex_style;
2942 unsigned int old_id;
2943 void* old_instance;
2944 unsigned long old_user_data;
2945 unsigned long old_extra_value;
2947 #define SET_WIN_STYLE 0x01
2948 #define SET_WIN_EXSTYLE 0x02
2949 #define SET_WIN_ID 0x04
2950 #define SET_WIN_INSTANCE 0x08
2951 #define SET_WIN_USERDATA 0x10
2952 #define SET_WIN_EXTRA 0x20
2953 #define SET_WIN_UNICODE 0x40
2957 struct set_parent_request
2959 struct request_header __header;
2960 user_handle_t handle;
2961 user_handle_t parent;
2963 struct set_parent_reply
2965 struct reply_header __header;
2966 user_handle_t old_parent;
2967 user_handle_t full_parent;
2972 struct get_window_parents_request
2974 struct request_header __header;
2975 user_handle_t handle;
2977 struct get_window_parents_reply
2979 struct reply_header __header;
2980 int count;
2981 /* VARARG(parents,user_handles); */
2986 struct get_window_children_request
2988 struct request_header __header;
2989 obj_handle_t desktop;
2990 user_handle_t parent;
2991 atom_t atom;
2992 thread_id_t tid;
2993 /* VARARG(class,unicode_str); */
2995 struct get_window_children_reply
2997 struct reply_header __header;
2998 int count;
2999 /* VARARG(children,user_handles); */
3004 struct get_window_children_from_point_request
3006 struct request_header __header;
3007 user_handle_t parent;
3008 int x;
3009 int y;
3011 struct get_window_children_from_point_reply
3013 struct reply_header __header;
3014 int count;
3015 /* VARARG(children,user_handles); */
3020 struct get_window_tree_request
3022 struct request_header __header;
3023 user_handle_t handle;
3025 struct get_window_tree_reply
3027 struct reply_header __header;
3028 user_handle_t parent;
3029 user_handle_t owner;
3030 user_handle_t next_sibling;
3031 user_handle_t prev_sibling;
3032 user_handle_t first_sibling;
3033 user_handle_t last_sibling;
3034 user_handle_t first_child;
3035 user_handle_t last_child;
3039 struct set_window_pos_request
3041 struct request_header __header;
3042 unsigned int flags;
3043 user_handle_t handle;
3044 user_handle_t previous;
3045 rectangle_t window;
3046 rectangle_t client;
3047 /* VARARG(valid,rectangles); */
3049 struct set_window_pos_reply
3051 struct reply_header __header;
3052 unsigned int new_style;
3053 unsigned int new_ex_style;
3058 struct get_window_rectangles_request
3060 struct request_header __header;
3061 user_handle_t handle;
3063 struct get_window_rectangles_reply
3065 struct reply_header __header;
3066 rectangle_t window;
3067 rectangle_t visible;
3068 rectangle_t client;
3073 struct get_window_text_request
3075 struct request_header __header;
3076 user_handle_t handle;
3078 struct get_window_text_reply
3080 struct reply_header __header;
3081 /* VARARG(text,unicode_str); */
3086 struct set_window_text_request
3088 struct request_header __header;
3089 user_handle_t handle;
3090 /* VARARG(text,unicode_str); */
3092 struct set_window_text_reply
3094 struct reply_header __header;
3099 struct get_windows_offset_request
3101 struct request_header __header;
3102 user_handle_t from;
3103 user_handle_t to;
3105 struct get_windows_offset_reply
3107 struct reply_header __header;
3108 int x;
3109 int y;
3114 struct get_visible_region_request
3116 struct request_header __header;
3117 user_handle_t window;
3118 unsigned int flags;
3120 struct get_visible_region_reply
3122 struct reply_header __header;
3123 user_handle_t top_win;
3124 rectangle_t top_rect;
3125 rectangle_t win_rect;
3126 data_size_t total_size;
3127 /* VARARG(region,rectangles); */
3132 struct get_window_region_request
3134 struct request_header __header;
3135 user_handle_t window;
3137 struct get_window_region_reply
3139 struct reply_header __header;
3140 data_size_t total_size;
3141 /* VARARG(region,rectangles); */
3146 struct set_window_region_request
3148 struct request_header __header;
3149 user_handle_t window;
3150 int redraw;
3151 /* VARARG(region,rectangles); */
3153 struct set_window_region_reply
3155 struct reply_header __header;
3160 struct get_update_region_request
3162 struct request_header __header;
3163 user_handle_t window;
3164 user_handle_t from_child;
3165 unsigned int flags;
3167 struct get_update_region_reply
3169 struct reply_header __header;
3170 user_handle_t child;
3171 unsigned int flags;
3172 data_size_t total_size;
3173 /* VARARG(region,rectangles); */
3175 #define UPDATE_NONCLIENT 0x01
3176 #define UPDATE_ERASE 0x02
3177 #define UPDATE_PAINT 0x04
3178 #define UPDATE_INTERNALPAINT 0x08
3179 #define UPDATE_ALLCHILDREN 0x10
3180 #define UPDATE_NOCHILDREN 0x20
3181 #define UPDATE_NOREGION 0x40
3182 #define UPDATE_DELAYED_ERASE 0x80
3186 struct update_window_zorder_request
3188 struct request_header __header;
3189 user_handle_t window;
3190 rectangle_t rect;
3192 struct update_window_zorder_reply
3194 struct reply_header __header;
3199 struct redraw_window_request
3201 struct request_header __header;
3202 user_handle_t window;
3203 unsigned int flags;
3204 /* VARARG(region,rectangles); */
3206 struct redraw_window_reply
3208 struct reply_header __header;
3213 struct set_window_property_request
3215 struct request_header __header;
3216 user_handle_t window;
3217 atom_t atom;
3218 obj_handle_t handle;
3219 /* VARARG(name,unicode_str); */
3221 struct set_window_property_reply
3223 struct reply_header __header;
3228 struct remove_window_property_request
3230 struct request_header __header;
3231 user_handle_t window;
3232 atom_t atom;
3233 /* VARARG(name,unicode_str); */
3235 struct remove_window_property_reply
3237 struct reply_header __header;
3238 obj_handle_t handle;
3243 struct get_window_property_request
3245 struct request_header __header;
3246 user_handle_t window;
3247 atom_t atom;
3248 /* VARARG(name,unicode_str); */
3250 struct get_window_property_reply
3252 struct reply_header __header;
3253 obj_handle_t handle;
3258 struct get_window_properties_request
3260 struct request_header __header;
3261 user_handle_t window;
3263 struct get_window_properties_reply
3265 struct reply_header __header;
3266 int total;
3267 /* VARARG(props,properties); */
3272 struct create_winstation_request
3274 struct request_header __header;
3275 unsigned int flags;
3276 unsigned int access;
3277 unsigned int attributes;
3278 /* VARARG(name,unicode_str); */
3280 struct create_winstation_reply
3282 struct reply_header __header;
3283 obj_handle_t handle;
3288 struct open_winstation_request
3290 struct request_header __header;
3291 unsigned int access;
3292 unsigned int attributes;
3293 /* VARARG(name,unicode_str); */
3295 struct open_winstation_reply
3297 struct reply_header __header;
3298 obj_handle_t handle;
3303 struct close_winstation_request
3305 struct request_header __header;
3306 obj_handle_t handle;
3308 struct close_winstation_reply
3310 struct reply_header __header;
3315 struct get_process_winstation_request
3317 struct request_header __header;
3319 struct get_process_winstation_reply
3321 struct reply_header __header;
3322 obj_handle_t handle;
3327 struct set_process_winstation_request
3329 struct request_header __header;
3330 obj_handle_t handle;
3332 struct set_process_winstation_reply
3334 struct reply_header __header;
3339 struct enum_winstation_request
3341 struct request_header __header;
3342 unsigned int index;
3344 struct enum_winstation_reply
3346 struct reply_header __header;
3347 unsigned int next;
3348 /* VARARG(name,unicode_str); */
3353 struct create_desktop_request
3355 struct request_header __header;
3356 unsigned int flags;
3357 unsigned int access;
3358 unsigned int attributes;
3359 /* VARARG(name,unicode_str); */
3361 struct create_desktop_reply
3363 struct reply_header __header;
3364 obj_handle_t handle;
3369 struct open_desktop_request
3371 struct request_header __header;
3372 obj_handle_t winsta;
3373 unsigned int flags;
3374 unsigned int access;
3375 unsigned int attributes;
3376 /* VARARG(name,unicode_str); */
3378 struct open_desktop_reply
3380 struct reply_header __header;
3381 obj_handle_t handle;
3386 struct close_desktop_request
3388 struct request_header __header;
3389 obj_handle_t handle;
3391 struct close_desktop_reply
3393 struct reply_header __header;
3398 struct get_thread_desktop_request
3400 struct request_header __header;
3401 thread_id_t tid;
3403 struct get_thread_desktop_reply
3405 struct reply_header __header;
3406 obj_handle_t handle;
3411 struct set_thread_desktop_request
3413 struct request_header __header;
3414 obj_handle_t handle;
3416 struct set_thread_desktop_reply
3418 struct reply_header __header;
3423 struct enum_desktop_request
3425 struct request_header __header;
3426 obj_handle_t winstation;
3427 unsigned int index;
3429 struct enum_desktop_reply
3431 struct reply_header __header;
3432 unsigned int next;
3433 /* VARARG(name,unicode_str); */
3438 struct set_user_object_info_request
3440 struct request_header __header;
3441 obj_handle_t handle;
3442 unsigned int flags;
3443 unsigned int obj_flags;
3445 struct set_user_object_info_reply
3447 struct reply_header __header;
3448 int is_desktop;
3449 unsigned int old_obj_flags;
3450 /* VARARG(name,unicode_str); */
3452 #define SET_USER_OBJECT_FLAGS 1
3456 struct attach_thread_input_request
3458 struct request_header __header;
3459 thread_id_t tid_from;
3460 thread_id_t tid_to;
3461 int attach;
3463 struct attach_thread_input_reply
3465 struct reply_header __header;
3470 struct get_thread_input_request
3472 struct request_header __header;
3473 thread_id_t tid;
3475 struct get_thread_input_reply
3477 struct reply_header __header;
3478 user_handle_t focus;
3479 user_handle_t capture;
3480 user_handle_t active;
3481 user_handle_t foreground;
3482 user_handle_t menu_owner;
3483 user_handle_t move_size;
3484 user_handle_t caret;
3485 rectangle_t rect;
3490 struct get_last_input_time_request
3492 struct request_header __header;
3494 struct get_last_input_time_reply
3496 struct reply_header __header;
3497 unsigned int time;
3502 struct get_key_state_request
3504 struct request_header __header;
3505 thread_id_t tid;
3506 int key;
3508 struct get_key_state_reply
3510 struct reply_header __header;
3511 unsigned char state;
3512 /* VARARG(keystate,bytes); */
3516 struct set_key_state_request
3518 struct request_header __header;
3519 thread_id_t tid;
3520 /* VARARG(keystate,bytes); */
3522 struct set_key_state_reply
3524 struct reply_header __header;
3528 struct set_foreground_window_request
3530 struct request_header __header;
3531 user_handle_t handle;
3533 struct set_foreground_window_reply
3535 struct reply_header __header;
3536 user_handle_t previous;
3537 int send_msg_old;
3538 int send_msg_new;
3542 struct set_focus_window_request
3544 struct request_header __header;
3545 user_handle_t handle;
3547 struct set_focus_window_reply
3549 struct reply_header __header;
3550 user_handle_t previous;
3554 struct set_active_window_request
3556 struct request_header __header;
3557 user_handle_t handle;
3559 struct set_active_window_reply
3561 struct reply_header __header;
3562 user_handle_t previous;
3566 struct set_capture_window_request
3568 struct request_header __header;
3569 user_handle_t handle;
3570 unsigned int flags;
3572 struct set_capture_window_reply
3574 struct reply_header __header;
3575 user_handle_t previous;
3576 user_handle_t full_handle;
3578 #define CAPTURE_MENU 0x01
3579 #define CAPTURE_MOVESIZE 0x02
3583 struct set_caret_window_request
3585 struct request_header __header;
3586 user_handle_t handle;
3587 int width;
3588 int height;
3590 struct set_caret_window_reply
3592 struct reply_header __header;
3593 user_handle_t previous;
3594 rectangle_t old_rect;
3595 int old_hide;
3596 int old_state;
3601 struct set_caret_info_request
3603 struct request_header __header;
3604 unsigned int flags;
3605 user_handle_t handle;
3606 int x;
3607 int y;
3608 int hide;
3609 int state;
3611 struct set_caret_info_reply
3613 struct reply_header __header;
3614 user_handle_t full_handle;
3615 rectangle_t old_rect;
3616 int old_hide;
3617 int old_state;
3619 #define SET_CARET_POS 0x01
3620 #define SET_CARET_HIDE 0x02
3621 #define SET_CARET_STATE 0x04
3625 struct set_hook_request
3627 struct request_header __header;
3628 int id;
3629 process_id_t pid;
3630 thread_id_t tid;
3631 int event_min;
3632 int event_max;
3633 int flags;
3634 void* proc;
3635 int unicode;
3636 /* VARARG(module,unicode_str); */
3638 struct set_hook_reply
3640 struct reply_header __header;
3641 user_handle_t handle;
3642 unsigned int active_hooks;
3647 struct remove_hook_request
3649 struct request_header __header;
3650 user_handle_t handle;
3651 int id;
3652 void* proc;
3654 struct remove_hook_reply
3656 struct reply_header __header;
3657 unsigned int active_hooks;
3662 struct start_hook_chain_request
3664 struct request_header __header;
3665 int id;
3666 int event;
3667 user_handle_t window;
3668 int object_id;
3669 int child_id;
3671 struct start_hook_chain_reply
3673 struct reply_header __header;
3674 user_handle_t handle;
3675 process_id_t pid;
3676 thread_id_t tid;
3677 void* proc;
3678 int unicode;
3679 unsigned int active_hooks;
3680 /* VARARG(module,unicode_str); */
3685 struct finish_hook_chain_request
3687 struct request_header __header;
3688 int id;
3690 struct finish_hook_chain_reply
3692 struct reply_header __header;
3697 struct get_hook_info_request
3699 struct request_header __header;
3700 user_handle_t handle;
3701 int get_next;
3702 int event;
3703 user_handle_t window;
3704 int object_id;
3705 int child_id;
3707 struct get_hook_info_reply
3709 struct reply_header __header;
3710 user_handle_t handle;
3711 int id;
3712 process_id_t pid;
3713 thread_id_t tid;
3714 void* proc;
3715 int unicode;
3716 /* VARARG(module,unicode_str); */
3721 struct create_class_request
3723 struct request_header __header;
3724 int local;
3725 atom_t atom;
3726 unsigned int style;
3727 void* instance;
3728 int extra;
3729 int win_extra;
3730 void* client_ptr;
3731 /* VARARG(name,unicode_str); */
3733 struct create_class_reply
3735 struct reply_header __header;
3736 atom_t atom;
3741 struct destroy_class_request
3743 struct request_header __header;
3744 atom_t atom;
3745 void* instance;
3746 /* VARARG(name,unicode_str); */
3748 struct destroy_class_reply
3750 struct reply_header __header;
3751 void* client_ptr;
3756 struct set_class_info_request
3758 struct request_header __header;
3759 user_handle_t window;
3760 unsigned int flags;
3761 atom_t atom;
3762 unsigned int style;
3763 int win_extra;
3764 void* instance;
3765 int extra_offset;
3766 data_size_t extra_size;
3767 unsigned long extra_value;
3769 struct set_class_info_reply
3771 struct reply_header __header;
3772 atom_t old_atom;
3773 unsigned int old_style;
3774 int old_extra;
3775 int old_win_extra;
3776 void* old_instance;
3777 unsigned long old_extra_value;
3779 #define SET_CLASS_ATOM 0x0001
3780 #define SET_CLASS_STYLE 0x0002
3781 #define SET_CLASS_WINEXTRA 0x0004
3782 #define SET_CLASS_INSTANCE 0x0008
3783 #define SET_CLASS_EXTRA 0x0010
3787 struct set_clipboard_info_request
3789 struct request_header __header;
3790 unsigned int flags;
3791 user_handle_t clipboard;
3792 user_handle_t owner;
3793 user_handle_t viewer;
3794 unsigned int seqno;
3796 struct set_clipboard_info_reply
3798 struct reply_header __header;
3799 unsigned int flags;
3800 user_handle_t old_clipboard;
3801 user_handle_t old_owner;
3802 user_handle_t old_viewer;
3803 unsigned int seqno;
3806 #define SET_CB_OPEN 0x001
3807 #define SET_CB_OWNER 0x002
3808 #define SET_CB_VIEWER 0x004
3809 #define SET_CB_SEQNO 0x008
3810 #define SET_CB_RELOWNER 0x010
3811 #define SET_CB_CLOSE 0x020
3812 #define CB_OPEN 0x040
3813 #define CB_OWNER 0x080
3814 #define CB_PROCESS 0x100
3818 struct open_token_request
3820 struct request_header __header;
3821 obj_handle_t handle;
3822 unsigned int access;
3823 unsigned int attributes;
3824 unsigned int flags;
3826 struct open_token_reply
3828 struct reply_header __header;
3829 obj_handle_t token;
3831 #define OPEN_TOKEN_THREAD 1
3832 #define OPEN_TOKEN_AS_SELF 2
3836 struct set_global_windows_request
3838 struct request_header __header;
3839 unsigned int flags;
3840 user_handle_t shell_window;
3841 user_handle_t shell_listview;
3842 user_handle_t progman_window;
3843 user_handle_t taskman_window;
3845 struct set_global_windows_reply
3847 struct reply_header __header;
3848 user_handle_t old_shell_window;
3849 user_handle_t old_shell_listview;
3850 user_handle_t old_progman_window;
3851 user_handle_t old_taskman_window;
3853 #define SET_GLOBAL_SHELL_WINDOWS 0x01
3854 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
3855 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
3858 struct adjust_token_privileges_request
3860 struct request_header __header;
3861 obj_handle_t handle;
3862 int disable_all;
3863 int get_modified_state;
3864 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3866 struct adjust_token_privileges_reply
3868 struct reply_header __header;
3869 unsigned int len;
3870 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3874 struct get_token_privileges_request
3876 struct request_header __header;
3877 obj_handle_t handle;
3879 struct get_token_privileges_reply
3881 struct reply_header __header;
3882 unsigned int len;
3883 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3887 struct check_token_privileges_request
3889 struct request_header __header;
3890 obj_handle_t handle;
3891 int all_required;
3892 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3894 struct check_token_privileges_reply
3896 struct reply_header __header;
3897 int has_privileges;
3898 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3901 struct duplicate_token_request
3903 struct request_header __header;
3904 obj_handle_t handle;
3905 unsigned int access;
3906 unsigned int attributes;
3907 int primary;
3908 int impersonation_level;
3910 struct duplicate_token_reply
3912 struct reply_header __header;
3913 obj_handle_t new_handle;
3916 struct access_check_request
3918 struct request_header __header;
3919 obj_handle_t handle;
3920 unsigned int desired_access;
3921 unsigned int mapping_read;
3922 unsigned int mapping_write;
3923 unsigned int mapping_execute;
3924 unsigned int mapping_all;
3925 /* VARARG(sd,security_descriptor); */
3927 struct access_check_reply
3929 struct reply_header __header;
3930 unsigned int access_granted;
3931 unsigned int access_status;
3932 unsigned int privileges_len;
3933 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3936 struct get_token_user_request
3938 struct request_header __header;
3939 obj_handle_t handle;
3941 struct get_token_user_reply
3943 struct reply_header __header;
3944 data_size_t user_len;
3945 /* VARARG(user,SID); */
3948 struct get_token_groups_request
3950 struct request_header __header;
3951 obj_handle_t handle;
3953 struct get_token_groups_reply
3955 struct reply_header __header;
3956 data_size_t user_len;
3957 /* VARARG(user,token_groups); */
3960 struct set_security_object_request
3962 struct request_header __header;
3963 obj_handle_t handle;
3964 unsigned int security_info;
3965 /* VARARG(sd,security_descriptor); */
3967 struct set_security_object_reply
3969 struct reply_header __header;
3972 struct get_security_object_request
3974 struct request_header __header;
3975 obj_handle_t handle;
3976 unsigned int security_info;
3978 struct get_security_object_reply
3980 struct reply_header __header;
3981 unsigned int sd_len;
3982 /* VARARG(sd,security_descriptor); */
3986 struct create_mailslot_request
3988 struct request_header __header;
3989 unsigned int access;
3990 unsigned int attributes;
3991 obj_handle_t rootdir;
3992 unsigned int max_msgsize;
3993 timeout_t read_timeout;
3994 /* VARARG(name,unicode_str); */
3996 struct create_mailslot_reply
3998 struct reply_header __header;
3999 obj_handle_t handle;
4004 struct set_mailslot_info_request
4006 struct request_header __header;
4007 obj_handle_t handle;
4008 unsigned int flags;
4009 timeout_t read_timeout;
4011 struct set_mailslot_info_reply
4013 struct reply_header __header;
4014 unsigned int max_msgsize;
4015 timeout_t read_timeout;
4017 #define MAILSLOT_SET_READ_TIMEOUT 1
4021 struct create_directory_request
4023 struct request_header __header;
4024 unsigned int access;
4025 unsigned int attributes;
4026 obj_handle_t rootdir;
4027 /* VARARG(directory_name,unicode_str); */
4029 struct create_directory_reply
4031 struct reply_header __header;
4032 obj_handle_t handle;
4037 struct open_directory_request
4039 struct request_header __header;
4040 unsigned int access;
4041 unsigned int attributes;
4042 obj_handle_t rootdir;
4043 /* VARARG(directory_name,unicode_str); */
4045 struct open_directory_reply
4047 struct reply_header __header;
4048 obj_handle_t handle;
4053 struct get_directory_entry_request
4055 struct request_header __header;
4056 obj_handle_t handle;
4057 unsigned int index;
4059 struct get_directory_entry_reply
4061 struct reply_header __header;
4062 size_t name_len;
4063 /* VARARG(name,unicode_str,name_len); */
4064 /* VARARG(type,unicode_str); */
4069 struct create_symlink_request
4071 struct request_header __header;
4072 unsigned int access;
4073 unsigned int attributes;
4074 obj_handle_t rootdir;
4075 data_size_t name_len;
4076 /* VARARG(name,unicode_str,name_len); */
4077 /* VARARG(target_name,unicode_str); */
4079 struct create_symlink_reply
4081 struct reply_header __header;
4082 obj_handle_t handle;
4087 struct open_symlink_request
4089 struct request_header __header;
4090 unsigned int access;
4091 unsigned int attributes;
4092 obj_handle_t rootdir;
4093 /* VARARG(name,unicode_str); */
4095 struct open_symlink_reply
4097 struct reply_header __header;
4098 obj_handle_t handle;
4103 struct query_symlink_request
4105 struct request_header __header;
4106 obj_handle_t handle;
4108 struct query_symlink_reply
4110 struct reply_header __header;
4111 /* VARARG(target_name,unicode_str); */
4116 struct get_object_info_request
4118 struct request_header __header;
4119 obj_handle_t handle;
4121 struct get_object_info_reply
4123 struct reply_header __header;
4124 unsigned int access;
4125 unsigned int ref_count;
4129 struct get_token_impersonation_level_request
4131 struct request_header __header;
4132 obj_handle_t handle;
4134 struct get_token_impersonation_level_reply
4136 struct reply_header __header;
4137 int impersonation_level;
4141 struct allocate_locally_unique_id_request
4143 struct request_header __header;
4145 struct allocate_locally_unique_id_reply
4147 struct reply_header __header;
4148 luid_t luid;
4153 struct create_device_manager_request
4155 struct request_header __header;
4156 unsigned int access;
4157 unsigned int attributes;
4159 struct create_device_manager_reply
4161 struct reply_header __header;
4162 obj_handle_t handle;
4167 struct create_device_request
4169 struct request_header __header;
4170 unsigned int access;
4171 unsigned int attributes;
4172 obj_handle_t rootdir;
4173 obj_handle_t manager;
4174 void* user_ptr;
4175 /* VARARG(name,unicode_str); */
4177 struct create_device_reply
4179 struct reply_header __header;
4180 obj_handle_t handle;
4185 struct delete_device_request
4187 struct request_header __header;
4188 obj_handle_t handle;
4190 struct delete_device_reply
4192 struct reply_header __header;
4197 struct get_next_device_request_request
4199 struct request_header __header;
4200 obj_handle_t manager;
4201 obj_handle_t prev;
4202 unsigned int status;
4203 /* VARARG(prev_data,bytes); */
4205 struct get_next_device_request_reply
4207 struct reply_header __header;
4208 obj_handle_t next;
4209 ioctl_code_t code;
4210 void* user_ptr;
4211 data_size_t in_size;
4212 data_size_t out_size;
4213 /* VARARG(next_data,bytes); */
4218 struct make_process_system_request
4220 struct request_header __header;
4222 struct make_process_system_reply
4224 struct reply_header __header;
4225 obj_handle_t event;
4230 struct get_token_statistics_request
4232 struct request_header __header;
4233 obj_handle_t handle;
4235 struct get_token_statistics_reply
4237 struct reply_header __header;
4238 luid_t token_id;
4239 luid_t modified_id;
4240 int primary;
4241 int impersonation_level;
4242 int group_count;
4243 int privilege_count;
4248 struct create_completion_request
4250 struct request_header __header;
4251 unsigned int access;
4252 unsigned int attributes;
4253 unsigned int concurrent;
4254 obj_handle_t rootdir;
4255 /* VARARG(filename,string); */
4257 struct create_completion_reply
4259 struct reply_header __header;
4260 obj_handle_t handle;
4265 struct open_completion_request
4267 struct request_header __header;
4268 unsigned int access;
4269 unsigned int attributes;
4270 obj_handle_t rootdir;
4271 /* VARARG(filename,string); */
4273 struct open_completion_reply
4275 struct reply_header __header;
4276 obj_handle_t handle;
4281 struct add_completion_request
4283 struct request_header __header;
4284 obj_handle_t handle;
4285 unsigned long ckey;
4286 unsigned long cvalue;
4287 unsigned long information;
4288 unsigned int status;
4290 struct add_completion_reply
4292 struct reply_header __header;
4297 struct remove_completion_request
4299 struct request_header __header;
4300 obj_handle_t handle;
4302 struct remove_completion_reply
4304 struct reply_header __header;
4305 unsigned long ckey;
4306 unsigned long cvalue;
4307 unsigned long information;
4308 unsigned int status;
4313 struct query_completion_request
4315 struct request_header __header;
4316 obj_handle_t handle;
4318 struct query_completion_reply
4320 struct reply_header __header;
4321 unsigned int depth;
4326 struct set_completion_info_request
4328 struct request_header __header;
4329 obj_handle_t handle;
4330 obj_handle_t chandle;
4331 unsigned long ckey;
4333 struct set_completion_info_reply
4335 struct reply_header __header;
4340 struct add_fd_completion_request
4342 struct request_header __header;
4343 obj_handle_t handle;
4344 unsigned long cvalue;
4345 unsigned int status;
4346 unsigned long information;
4348 struct add_fd_completion_reply
4350 struct reply_header __header;
4355 struct get_window_layered_info_request
4357 struct request_header __header;
4358 user_handle_t handle;
4360 struct get_window_layered_info_reply
4362 struct reply_header __header;
4363 unsigned int color_key;
4364 unsigned int alpha;
4365 unsigned int flags;
4370 struct set_window_layered_info_request
4372 struct request_header __header;
4373 user_handle_t handle;
4374 unsigned int color_key;
4375 unsigned int alpha;
4376 unsigned int flags;
4378 struct set_window_layered_info_reply
4380 struct reply_header __header;
4384 enum request
4386 REQ_new_process,
4387 REQ_get_new_process_info,
4388 REQ_new_thread,
4389 REQ_get_startup_info,
4390 REQ_init_process_done,
4391 REQ_init_thread,
4392 REQ_terminate_process,
4393 REQ_terminate_thread,
4394 REQ_get_process_info,
4395 REQ_set_process_info,
4396 REQ_get_thread_info,
4397 REQ_set_thread_info,
4398 REQ_get_dll_info,
4399 REQ_suspend_thread,
4400 REQ_resume_thread,
4401 REQ_load_dll,
4402 REQ_unload_dll,
4403 REQ_queue_apc,
4404 REQ_get_apc_result,
4405 REQ_close_handle,
4406 REQ_set_handle_info,
4407 REQ_dup_handle,
4408 REQ_open_process,
4409 REQ_open_thread,
4410 REQ_select,
4411 REQ_create_event,
4412 REQ_event_op,
4413 REQ_open_event,
4414 REQ_create_mutex,
4415 REQ_release_mutex,
4416 REQ_open_mutex,
4417 REQ_create_semaphore,
4418 REQ_release_semaphore,
4419 REQ_open_semaphore,
4420 REQ_create_file,
4421 REQ_open_file_object,
4422 REQ_alloc_file_handle,
4423 REQ_get_handle_fd,
4424 REQ_flush_file,
4425 REQ_lock_file,
4426 REQ_unlock_file,
4427 REQ_create_socket,
4428 REQ_accept_socket,
4429 REQ_set_socket_event,
4430 REQ_get_socket_event,
4431 REQ_enable_socket_event,
4432 REQ_set_socket_deferred,
4433 REQ_alloc_console,
4434 REQ_free_console,
4435 REQ_get_console_renderer_events,
4436 REQ_open_console,
4437 REQ_get_console_wait_event,
4438 REQ_get_console_mode,
4439 REQ_set_console_mode,
4440 REQ_set_console_input_info,
4441 REQ_get_console_input_info,
4442 REQ_append_console_input_history,
4443 REQ_get_console_input_history,
4444 REQ_create_console_output,
4445 REQ_set_console_output_info,
4446 REQ_get_console_output_info,
4447 REQ_write_console_input,
4448 REQ_read_console_input,
4449 REQ_write_console_output,
4450 REQ_fill_console_output,
4451 REQ_read_console_output,
4452 REQ_move_console_output,
4453 REQ_send_console_signal,
4454 REQ_read_directory_changes,
4455 REQ_read_change,
4456 REQ_create_mapping,
4457 REQ_open_mapping,
4458 REQ_get_mapping_info,
4459 REQ_create_snapshot,
4460 REQ_next_process,
4461 REQ_next_thread,
4462 REQ_next_module,
4463 REQ_wait_debug_event,
4464 REQ_queue_exception_event,
4465 REQ_get_exception_status,
4466 REQ_output_debug_string,
4467 REQ_continue_debug_event,
4468 REQ_debug_process,
4469 REQ_debug_break,
4470 REQ_set_debugger_kill_on_exit,
4471 REQ_read_process_memory,
4472 REQ_write_process_memory,
4473 REQ_create_key,
4474 REQ_open_key,
4475 REQ_delete_key,
4476 REQ_flush_key,
4477 REQ_enum_key,
4478 REQ_set_key_value,
4479 REQ_get_key_value,
4480 REQ_enum_key_value,
4481 REQ_delete_key_value,
4482 REQ_load_registry,
4483 REQ_unload_registry,
4484 REQ_save_registry,
4485 REQ_set_registry_notification,
4486 REQ_create_timer,
4487 REQ_open_timer,
4488 REQ_set_timer,
4489 REQ_cancel_timer,
4490 REQ_get_timer_info,
4491 REQ_get_thread_context,
4492 REQ_set_thread_context,
4493 REQ_get_selector_entry,
4494 REQ_add_atom,
4495 REQ_delete_atom,
4496 REQ_find_atom,
4497 REQ_get_atom_information,
4498 REQ_set_atom_information,
4499 REQ_empty_atom_table,
4500 REQ_init_atom_table,
4501 REQ_get_msg_queue,
4502 REQ_set_queue_fd,
4503 REQ_set_queue_mask,
4504 REQ_get_queue_status,
4505 REQ_get_process_idle_event,
4506 REQ_send_message,
4507 REQ_post_quit_message,
4508 REQ_send_hardware_message,
4509 REQ_get_message,
4510 REQ_reply_message,
4511 REQ_accept_hardware_message,
4512 REQ_get_message_reply,
4513 REQ_set_win_timer,
4514 REQ_kill_win_timer,
4515 REQ_is_window_hung,
4516 REQ_get_serial_info,
4517 REQ_set_serial_info,
4518 REQ_register_async,
4519 REQ_cancel_async,
4520 REQ_ioctl,
4521 REQ_get_ioctl_result,
4522 REQ_create_named_pipe,
4523 REQ_get_named_pipe_info,
4524 REQ_create_cursor,
4525 REQ_destroy_cursor,
4526 REQ_get_cursor_info,
4527 REQ_get_cursor_frame,
4528 REQ_set_cursor_frame,
4529 REQ_create_window,
4530 REQ_destroy_window,
4531 REQ_get_desktop_window,
4532 REQ_set_window_owner,
4533 REQ_get_window_info,
4534 REQ_set_window_info,
4535 REQ_set_parent,
4536 REQ_get_window_parents,
4537 REQ_get_window_children,
4538 REQ_get_window_children_from_point,
4539 REQ_get_window_tree,
4540 REQ_set_window_pos,
4541 REQ_get_window_rectangles,
4542 REQ_get_window_text,
4543 REQ_set_window_text,
4544 REQ_get_windows_offset,
4545 REQ_get_visible_region,
4546 REQ_get_window_region,
4547 REQ_set_window_region,
4548 REQ_get_update_region,
4549 REQ_update_window_zorder,
4550 REQ_redraw_window,
4551 REQ_set_window_property,
4552 REQ_remove_window_property,
4553 REQ_get_window_property,
4554 REQ_get_window_properties,
4555 REQ_create_winstation,
4556 REQ_open_winstation,
4557 REQ_close_winstation,
4558 REQ_get_process_winstation,
4559 REQ_set_process_winstation,
4560 REQ_enum_winstation,
4561 REQ_create_desktop,
4562 REQ_open_desktop,
4563 REQ_close_desktop,
4564 REQ_get_thread_desktop,
4565 REQ_set_thread_desktop,
4566 REQ_enum_desktop,
4567 REQ_set_user_object_info,
4568 REQ_attach_thread_input,
4569 REQ_get_thread_input,
4570 REQ_get_last_input_time,
4571 REQ_get_key_state,
4572 REQ_set_key_state,
4573 REQ_set_foreground_window,
4574 REQ_set_focus_window,
4575 REQ_set_active_window,
4576 REQ_set_capture_window,
4577 REQ_set_caret_window,
4578 REQ_set_caret_info,
4579 REQ_set_hook,
4580 REQ_remove_hook,
4581 REQ_start_hook_chain,
4582 REQ_finish_hook_chain,
4583 REQ_get_hook_info,
4584 REQ_create_class,
4585 REQ_destroy_class,
4586 REQ_set_class_info,
4587 REQ_set_clipboard_info,
4588 REQ_open_token,
4589 REQ_set_global_windows,
4590 REQ_adjust_token_privileges,
4591 REQ_get_token_privileges,
4592 REQ_check_token_privileges,
4593 REQ_duplicate_token,
4594 REQ_access_check,
4595 REQ_get_token_user,
4596 REQ_get_token_groups,
4597 REQ_set_security_object,
4598 REQ_get_security_object,
4599 REQ_create_mailslot,
4600 REQ_set_mailslot_info,
4601 REQ_create_directory,
4602 REQ_open_directory,
4603 REQ_get_directory_entry,
4604 REQ_create_symlink,
4605 REQ_open_symlink,
4606 REQ_query_symlink,
4607 REQ_get_object_info,
4608 REQ_get_token_impersonation_level,
4609 REQ_allocate_locally_unique_id,
4610 REQ_create_device_manager,
4611 REQ_create_device,
4612 REQ_delete_device,
4613 REQ_get_next_device_request,
4614 REQ_make_process_system,
4615 REQ_get_token_statistics,
4616 REQ_create_completion,
4617 REQ_open_completion,
4618 REQ_add_completion,
4619 REQ_remove_completion,
4620 REQ_query_completion,
4621 REQ_set_completion_info,
4622 REQ_add_fd_completion,
4623 REQ_get_window_layered_info,
4624 REQ_set_window_layered_info,
4625 REQ_NB_REQUESTS
4628 union generic_request
4630 struct request_max_size max_size;
4631 struct request_header request_header;
4632 struct new_process_request new_process_request;
4633 struct get_new_process_info_request get_new_process_info_request;
4634 struct new_thread_request new_thread_request;
4635 struct get_startup_info_request get_startup_info_request;
4636 struct init_process_done_request init_process_done_request;
4637 struct init_thread_request init_thread_request;
4638 struct terminate_process_request terminate_process_request;
4639 struct terminate_thread_request terminate_thread_request;
4640 struct get_process_info_request get_process_info_request;
4641 struct set_process_info_request set_process_info_request;
4642 struct get_thread_info_request get_thread_info_request;
4643 struct set_thread_info_request set_thread_info_request;
4644 struct get_dll_info_request get_dll_info_request;
4645 struct suspend_thread_request suspend_thread_request;
4646 struct resume_thread_request resume_thread_request;
4647 struct load_dll_request load_dll_request;
4648 struct unload_dll_request unload_dll_request;
4649 struct queue_apc_request queue_apc_request;
4650 struct get_apc_result_request get_apc_result_request;
4651 struct close_handle_request close_handle_request;
4652 struct set_handle_info_request set_handle_info_request;
4653 struct dup_handle_request dup_handle_request;
4654 struct open_process_request open_process_request;
4655 struct open_thread_request open_thread_request;
4656 struct select_request select_request;
4657 struct create_event_request create_event_request;
4658 struct event_op_request event_op_request;
4659 struct open_event_request open_event_request;
4660 struct create_mutex_request create_mutex_request;
4661 struct release_mutex_request release_mutex_request;
4662 struct open_mutex_request open_mutex_request;
4663 struct create_semaphore_request create_semaphore_request;
4664 struct release_semaphore_request release_semaphore_request;
4665 struct open_semaphore_request open_semaphore_request;
4666 struct create_file_request create_file_request;
4667 struct open_file_object_request open_file_object_request;
4668 struct alloc_file_handle_request alloc_file_handle_request;
4669 struct get_handle_fd_request get_handle_fd_request;
4670 struct flush_file_request flush_file_request;
4671 struct lock_file_request lock_file_request;
4672 struct unlock_file_request unlock_file_request;
4673 struct create_socket_request create_socket_request;
4674 struct accept_socket_request accept_socket_request;
4675 struct set_socket_event_request set_socket_event_request;
4676 struct get_socket_event_request get_socket_event_request;
4677 struct enable_socket_event_request enable_socket_event_request;
4678 struct set_socket_deferred_request set_socket_deferred_request;
4679 struct alloc_console_request alloc_console_request;
4680 struct free_console_request free_console_request;
4681 struct get_console_renderer_events_request get_console_renderer_events_request;
4682 struct open_console_request open_console_request;
4683 struct get_console_wait_event_request get_console_wait_event_request;
4684 struct get_console_mode_request get_console_mode_request;
4685 struct set_console_mode_request set_console_mode_request;
4686 struct set_console_input_info_request set_console_input_info_request;
4687 struct get_console_input_info_request get_console_input_info_request;
4688 struct append_console_input_history_request append_console_input_history_request;
4689 struct get_console_input_history_request get_console_input_history_request;
4690 struct create_console_output_request create_console_output_request;
4691 struct set_console_output_info_request set_console_output_info_request;
4692 struct get_console_output_info_request get_console_output_info_request;
4693 struct write_console_input_request write_console_input_request;
4694 struct read_console_input_request read_console_input_request;
4695 struct write_console_output_request write_console_output_request;
4696 struct fill_console_output_request fill_console_output_request;
4697 struct read_console_output_request read_console_output_request;
4698 struct move_console_output_request move_console_output_request;
4699 struct send_console_signal_request send_console_signal_request;
4700 struct read_directory_changes_request read_directory_changes_request;
4701 struct read_change_request read_change_request;
4702 struct create_mapping_request create_mapping_request;
4703 struct open_mapping_request open_mapping_request;
4704 struct get_mapping_info_request get_mapping_info_request;
4705 struct create_snapshot_request create_snapshot_request;
4706 struct next_process_request next_process_request;
4707 struct next_thread_request next_thread_request;
4708 struct next_module_request next_module_request;
4709 struct wait_debug_event_request wait_debug_event_request;
4710 struct queue_exception_event_request queue_exception_event_request;
4711 struct get_exception_status_request get_exception_status_request;
4712 struct output_debug_string_request output_debug_string_request;
4713 struct continue_debug_event_request continue_debug_event_request;
4714 struct debug_process_request debug_process_request;
4715 struct debug_break_request debug_break_request;
4716 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
4717 struct read_process_memory_request read_process_memory_request;
4718 struct write_process_memory_request write_process_memory_request;
4719 struct create_key_request create_key_request;
4720 struct open_key_request open_key_request;
4721 struct delete_key_request delete_key_request;
4722 struct flush_key_request flush_key_request;
4723 struct enum_key_request enum_key_request;
4724 struct set_key_value_request set_key_value_request;
4725 struct get_key_value_request get_key_value_request;
4726 struct enum_key_value_request enum_key_value_request;
4727 struct delete_key_value_request delete_key_value_request;
4728 struct load_registry_request load_registry_request;
4729 struct unload_registry_request unload_registry_request;
4730 struct save_registry_request save_registry_request;
4731 struct set_registry_notification_request set_registry_notification_request;
4732 struct create_timer_request create_timer_request;
4733 struct open_timer_request open_timer_request;
4734 struct set_timer_request set_timer_request;
4735 struct cancel_timer_request cancel_timer_request;
4736 struct get_timer_info_request get_timer_info_request;
4737 struct get_thread_context_request get_thread_context_request;
4738 struct set_thread_context_request set_thread_context_request;
4739 struct get_selector_entry_request get_selector_entry_request;
4740 struct add_atom_request add_atom_request;
4741 struct delete_atom_request delete_atom_request;
4742 struct find_atom_request find_atom_request;
4743 struct get_atom_information_request get_atom_information_request;
4744 struct set_atom_information_request set_atom_information_request;
4745 struct empty_atom_table_request empty_atom_table_request;
4746 struct init_atom_table_request init_atom_table_request;
4747 struct get_msg_queue_request get_msg_queue_request;
4748 struct set_queue_fd_request set_queue_fd_request;
4749 struct set_queue_mask_request set_queue_mask_request;
4750 struct get_queue_status_request get_queue_status_request;
4751 struct get_process_idle_event_request get_process_idle_event_request;
4752 struct send_message_request send_message_request;
4753 struct post_quit_message_request post_quit_message_request;
4754 struct send_hardware_message_request send_hardware_message_request;
4755 struct get_message_request get_message_request;
4756 struct reply_message_request reply_message_request;
4757 struct accept_hardware_message_request accept_hardware_message_request;
4758 struct get_message_reply_request get_message_reply_request;
4759 struct set_win_timer_request set_win_timer_request;
4760 struct kill_win_timer_request kill_win_timer_request;
4761 struct is_window_hung_request is_window_hung_request;
4762 struct get_serial_info_request get_serial_info_request;
4763 struct set_serial_info_request set_serial_info_request;
4764 struct register_async_request register_async_request;
4765 struct cancel_async_request cancel_async_request;
4766 struct ioctl_request ioctl_request;
4767 struct get_ioctl_result_request get_ioctl_result_request;
4768 struct create_named_pipe_request create_named_pipe_request;
4769 struct get_named_pipe_info_request get_named_pipe_info_request;
4770 struct create_cursor_request create_cursor_request;
4771 struct destroy_cursor_request destroy_cursor_request;
4772 struct get_cursor_info_request get_cursor_info_request;
4773 struct get_cursor_frame_request get_cursor_frame_request;
4774 struct set_cursor_frame_request set_cursor_frame_request;
4775 struct create_window_request create_window_request;
4776 struct destroy_window_request destroy_window_request;
4777 struct get_desktop_window_request get_desktop_window_request;
4778 struct set_window_owner_request set_window_owner_request;
4779 struct get_window_info_request get_window_info_request;
4780 struct set_window_info_request set_window_info_request;
4781 struct set_parent_request set_parent_request;
4782 struct get_window_parents_request get_window_parents_request;
4783 struct get_window_children_request get_window_children_request;
4784 struct get_window_children_from_point_request get_window_children_from_point_request;
4785 struct get_window_tree_request get_window_tree_request;
4786 struct set_window_pos_request set_window_pos_request;
4787 struct get_window_rectangles_request get_window_rectangles_request;
4788 struct get_window_text_request get_window_text_request;
4789 struct set_window_text_request set_window_text_request;
4790 struct get_windows_offset_request get_windows_offset_request;
4791 struct get_visible_region_request get_visible_region_request;
4792 struct get_window_region_request get_window_region_request;
4793 struct set_window_region_request set_window_region_request;
4794 struct get_update_region_request get_update_region_request;
4795 struct update_window_zorder_request update_window_zorder_request;
4796 struct redraw_window_request redraw_window_request;
4797 struct set_window_property_request set_window_property_request;
4798 struct remove_window_property_request remove_window_property_request;
4799 struct get_window_property_request get_window_property_request;
4800 struct get_window_properties_request get_window_properties_request;
4801 struct create_winstation_request create_winstation_request;
4802 struct open_winstation_request open_winstation_request;
4803 struct close_winstation_request close_winstation_request;
4804 struct get_process_winstation_request get_process_winstation_request;
4805 struct set_process_winstation_request set_process_winstation_request;
4806 struct enum_winstation_request enum_winstation_request;
4807 struct create_desktop_request create_desktop_request;
4808 struct open_desktop_request open_desktop_request;
4809 struct close_desktop_request close_desktop_request;
4810 struct get_thread_desktop_request get_thread_desktop_request;
4811 struct set_thread_desktop_request set_thread_desktop_request;
4812 struct enum_desktop_request enum_desktop_request;
4813 struct set_user_object_info_request set_user_object_info_request;
4814 struct attach_thread_input_request attach_thread_input_request;
4815 struct get_thread_input_request get_thread_input_request;
4816 struct get_last_input_time_request get_last_input_time_request;
4817 struct get_key_state_request get_key_state_request;
4818 struct set_key_state_request set_key_state_request;
4819 struct set_foreground_window_request set_foreground_window_request;
4820 struct set_focus_window_request set_focus_window_request;
4821 struct set_active_window_request set_active_window_request;
4822 struct set_capture_window_request set_capture_window_request;
4823 struct set_caret_window_request set_caret_window_request;
4824 struct set_caret_info_request set_caret_info_request;
4825 struct set_hook_request set_hook_request;
4826 struct remove_hook_request remove_hook_request;
4827 struct start_hook_chain_request start_hook_chain_request;
4828 struct finish_hook_chain_request finish_hook_chain_request;
4829 struct get_hook_info_request get_hook_info_request;
4830 struct create_class_request create_class_request;
4831 struct destroy_class_request destroy_class_request;
4832 struct set_class_info_request set_class_info_request;
4833 struct set_clipboard_info_request set_clipboard_info_request;
4834 struct open_token_request open_token_request;
4835 struct set_global_windows_request set_global_windows_request;
4836 struct adjust_token_privileges_request adjust_token_privileges_request;
4837 struct get_token_privileges_request get_token_privileges_request;
4838 struct check_token_privileges_request check_token_privileges_request;
4839 struct duplicate_token_request duplicate_token_request;
4840 struct access_check_request access_check_request;
4841 struct get_token_user_request get_token_user_request;
4842 struct get_token_groups_request get_token_groups_request;
4843 struct set_security_object_request set_security_object_request;
4844 struct get_security_object_request get_security_object_request;
4845 struct create_mailslot_request create_mailslot_request;
4846 struct set_mailslot_info_request set_mailslot_info_request;
4847 struct create_directory_request create_directory_request;
4848 struct open_directory_request open_directory_request;
4849 struct get_directory_entry_request get_directory_entry_request;
4850 struct create_symlink_request create_symlink_request;
4851 struct open_symlink_request open_symlink_request;
4852 struct query_symlink_request query_symlink_request;
4853 struct get_object_info_request get_object_info_request;
4854 struct get_token_impersonation_level_request get_token_impersonation_level_request;
4855 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
4856 struct create_device_manager_request create_device_manager_request;
4857 struct create_device_request create_device_request;
4858 struct delete_device_request delete_device_request;
4859 struct get_next_device_request_request get_next_device_request_request;
4860 struct make_process_system_request make_process_system_request;
4861 struct get_token_statistics_request get_token_statistics_request;
4862 struct create_completion_request create_completion_request;
4863 struct open_completion_request open_completion_request;
4864 struct add_completion_request add_completion_request;
4865 struct remove_completion_request remove_completion_request;
4866 struct query_completion_request query_completion_request;
4867 struct set_completion_info_request set_completion_info_request;
4868 struct add_fd_completion_request add_fd_completion_request;
4869 struct get_window_layered_info_request get_window_layered_info_request;
4870 struct set_window_layered_info_request set_window_layered_info_request;
4872 union generic_reply
4874 struct request_max_size max_size;
4875 struct reply_header reply_header;
4876 struct new_process_reply new_process_reply;
4877 struct get_new_process_info_reply get_new_process_info_reply;
4878 struct new_thread_reply new_thread_reply;
4879 struct get_startup_info_reply get_startup_info_reply;
4880 struct init_process_done_reply init_process_done_reply;
4881 struct init_thread_reply init_thread_reply;
4882 struct terminate_process_reply terminate_process_reply;
4883 struct terminate_thread_reply terminate_thread_reply;
4884 struct get_process_info_reply get_process_info_reply;
4885 struct set_process_info_reply set_process_info_reply;
4886 struct get_thread_info_reply get_thread_info_reply;
4887 struct set_thread_info_reply set_thread_info_reply;
4888 struct get_dll_info_reply get_dll_info_reply;
4889 struct suspend_thread_reply suspend_thread_reply;
4890 struct resume_thread_reply resume_thread_reply;
4891 struct load_dll_reply load_dll_reply;
4892 struct unload_dll_reply unload_dll_reply;
4893 struct queue_apc_reply queue_apc_reply;
4894 struct get_apc_result_reply get_apc_result_reply;
4895 struct close_handle_reply close_handle_reply;
4896 struct set_handle_info_reply set_handle_info_reply;
4897 struct dup_handle_reply dup_handle_reply;
4898 struct open_process_reply open_process_reply;
4899 struct open_thread_reply open_thread_reply;
4900 struct select_reply select_reply;
4901 struct create_event_reply create_event_reply;
4902 struct event_op_reply event_op_reply;
4903 struct open_event_reply open_event_reply;
4904 struct create_mutex_reply create_mutex_reply;
4905 struct release_mutex_reply release_mutex_reply;
4906 struct open_mutex_reply open_mutex_reply;
4907 struct create_semaphore_reply create_semaphore_reply;
4908 struct release_semaphore_reply release_semaphore_reply;
4909 struct open_semaphore_reply open_semaphore_reply;
4910 struct create_file_reply create_file_reply;
4911 struct open_file_object_reply open_file_object_reply;
4912 struct alloc_file_handle_reply alloc_file_handle_reply;
4913 struct get_handle_fd_reply get_handle_fd_reply;
4914 struct flush_file_reply flush_file_reply;
4915 struct lock_file_reply lock_file_reply;
4916 struct unlock_file_reply unlock_file_reply;
4917 struct create_socket_reply create_socket_reply;
4918 struct accept_socket_reply accept_socket_reply;
4919 struct set_socket_event_reply set_socket_event_reply;
4920 struct get_socket_event_reply get_socket_event_reply;
4921 struct enable_socket_event_reply enable_socket_event_reply;
4922 struct set_socket_deferred_reply set_socket_deferred_reply;
4923 struct alloc_console_reply alloc_console_reply;
4924 struct free_console_reply free_console_reply;
4925 struct get_console_renderer_events_reply get_console_renderer_events_reply;
4926 struct open_console_reply open_console_reply;
4927 struct get_console_wait_event_reply get_console_wait_event_reply;
4928 struct get_console_mode_reply get_console_mode_reply;
4929 struct set_console_mode_reply set_console_mode_reply;
4930 struct set_console_input_info_reply set_console_input_info_reply;
4931 struct get_console_input_info_reply get_console_input_info_reply;
4932 struct append_console_input_history_reply append_console_input_history_reply;
4933 struct get_console_input_history_reply get_console_input_history_reply;
4934 struct create_console_output_reply create_console_output_reply;
4935 struct set_console_output_info_reply set_console_output_info_reply;
4936 struct get_console_output_info_reply get_console_output_info_reply;
4937 struct write_console_input_reply write_console_input_reply;
4938 struct read_console_input_reply read_console_input_reply;
4939 struct write_console_output_reply write_console_output_reply;
4940 struct fill_console_output_reply fill_console_output_reply;
4941 struct read_console_output_reply read_console_output_reply;
4942 struct move_console_output_reply move_console_output_reply;
4943 struct send_console_signal_reply send_console_signal_reply;
4944 struct read_directory_changes_reply read_directory_changes_reply;
4945 struct read_change_reply read_change_reply;
4946 struct create_mapping_reply create_mapping_reply;
4947 struct open_mapping_reply open_mapping_reply;
4948 struct get_mapping_info_reply get_mapping_info_reply;
4949 struct create_snapshot_reply create_snapshot_reply;
4950 struct next_process_reply next_process_reply;
4951 struct next_thread_reply next_thread_reply;
4952 struct next_module_reply next_module_reply;
4953 struct wait_debug_event_reply wait_debug_event_reply;
4954 struct queue_exception_event_reply queue_exception_event_reply;
4955 struct get_exception_status_reply get_exception_status_reply;
4956 struct output_debug_string_reply output_debug_string_reply;
4957 struct continue_debug_event_reply continue_debug_event_reply;
4958 struct debug_process_reply debug_process_reply;
4959 struct debug_break_reply debug_break_reply;
4960 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
4961 struct read_process_memory_reply read_process_memory_reply;
4962 struct write_process_memory_reply write_process_memory_reply;
4963 struct create_key_reply create_key_reply;
4964 struct open_key_reply open_key_reply;
4965 struct delete_key_reply delete_key_reply;
4966 struct flush_key_reply flush_key_reply;
4967 struct enum_key_reply enum_key_reply;
4968 struct set_key_value_reply set_key_value_reply;
4969 struct get_key_value_reply get_key_value_reply;
4970 struct enum_key_value_reply enum_key_value_reply;
4971 struct delete_key_value_reply delete_key_value_reply;
4972 struct load_registry_reply load_registry_reply;
4973 struct unload_registry_reply unload_registry_reply;
4974 struct save_registry_reply save_registry_reply;
4975 struct set_registry_notification_reply set_registry_notification_reply;
4976 struct create_timer_reply create_timer_reply;
4977 struct open_timer_reply open_timer_reply;
4978 struct set_timer_reply set_timer_reply;
4979 struct cancel_timer_reply cancel_timer_reply;
4980 struct get_timer_info_reply get_timer_info_reply;
4981 struct get_thread_context_reply get_thread_context_reply;
4982 struct set_thread_context_reply set_thread_context_reply;
4983 struct get_selector_entry_reply get_selector_entry_reply;
4984 struct add_atom_reply add_atom_reply;
4985 struct delete_atom_reply delete_atom_reply;
4986 struct find_atom_reply find_atom_reply;
4987 struct get_atom_information_reply get_atom_information_reply;
4988 struct set_atom_information_reply set_atom_information_reply;
4989 struct empty_atom_table_reply empty_atom_table_reply;
4990 struct init_atom_table_reply init_atom_table_reply;
4991 struct get_msg_queue_reply get_msg_queue_reply;
4992 struct set_queue_fd_reply set_queue_fd_reply;
4993 struct set_queue_mask_reply set_queue_mask_reply;
4994 struct get_queue_status_reply get_queue_status_reply;
4995 struct get_process_idle_event_reply get_process_idle_event_reply;
4996 struct send_message_reply send_message_reply;
4997 struct post_quit_message_reply post_quit_message_reply;
4998 struct send_hardware_message_reply send_hardware_message_reply;
4999 struct get_message_reply get_message_reply;
5000 struct reply_message_reply reply_message_reply;
5001 struct accept_hardware_message_reply accept_hardware_message_reply;
5002 struct get_message_reply_reply get_message_reply_reply;
5003 struct set_win_timer_reply set_win_timer_reply;
5004 struct kill_win_timer_reply kill_win_timer_reply;
5005 struct is_window_hung_reply is_window_hung_reply;
5006 struct get_serial_info_reply get_serial_info_reply;
5007 struct set_serial_info_reply set_serial_info_reply;
5008 struct register_async_reply register_async_reply;
5009 struct cancel_async_reply cancel_async_reply;
5010 struct ioctl_reply ioctl_reply;
5011 struct get_ioctl_result_reply get_ioctl_result_reply;
5012 struct create_named_pipe_reply create_named_pipe_reply;
5013 struct get_named_pipe_info_reply get_named_pipe_info_reply;
5014 struct create_cursor_reply create_cursor_reply;
5015 struct destroy_cursor_reply destroy_cursor_reply;
5016 struct get_cursor_info_reply get_cursor_info_reply;
5017 struct get_cursor_frame_reply get_cursor_frame_reply;
5018 struct set_cursor_frame_reply set_cursor_frame_reply;
5019 struct create_window_reply create_window_reply;
5020 struct destroy_window_reply destroy_window_reply;
5021 struct get_desktop_window_reply get_desktop_window_reply;
5022 struct set_window_owner_reply set_window_owner_reply;
5023 struct get_window_info_reply get_window_info_reply;
5024 struct set_window_info_reply set_window_info_reply;
5025 struct set_parent_reply set_parent_reply;
5026 struct get_window_parents_reply get_window_parents_reply;
5027 struct get_window_children_reply get_window_children_reply;
5028 struct get_window_children_from_point_reply get_window_children_from_point_reply;
5029 struct get_window_tree_reply get_window_tree_reply;
5030 struct set_window_pos_reply set_window_pos_reply;
5031 struct get_window_rectangles_reply get_window_rectangles_reply;
5032 struct get_window_text_reply get_window_text_reply;
5033 struct set_window_text_reply set_window_text_reply;
5034 struct get_windows_offset_reply get_windows_offset_reply;
5035 struct get_visible_region_reply get_visible_region_reply;
5036 struct get_window_region_reply get_window_region_reply;
5037 struct set_window_region_reply set_window_region_reply;
5038 struct get_update_region_reply get_update_region_reply;
5039 struct update_window_zorder_reply update_window_zorder_reply;
5040 struct redraw_window_reply redraw_window_reply;
5041 struct set_window_property_reply set_window_property_reply;
5042 struct remove_window_property_reply remove_window_property_reply;
5043 struct get_window_property_reply get_window_property_reply;
5044 struct get_window_properties_reply get_window_properties_reply;
5045 struct create_winstation_reply create_winstation_reply;
5046 struct open_winstation_reply open_winstation_reply;
5047 struct close_winstation_reply close_winstation_reply;
5048 struct get_process_winstation_reply get_process_winstation_reply;
5049 struct set_process_winstation_reply set_process_winstation_reply;
5050 struct enum_winstation_reply enum_winstation_reply;
5051 struct create_desktop_reply create_desktop_reply;
5052 struct open_desktop_reply open_desktop_reply;
5053 struct close_desktop_reply close_desktop_reply;
5054 struct get_thread_desktop_reply get_thread_desktop_reply;
5055 struct set_thread_desktop_reply set_thread_desktop_reply;
5056 struct enum_desktop_reply enum_desktop_reply;
5057 struct set_user_object_info_reply set_user_object_info_reply;
5058 struct attach_thread_input_reply attach_thread_input_reply;
5059 struct get_thread_input_reply get_thread_input_reply;
5060 struct get_last_input_time_reply get_last_input_time_reply;
5061 struct get_key_state_reply get_key_state_reply;
5062 struct set_key_state_reply set_key_state_reply;
5063 struct set_foreground_window_reply set_foreground_window_reply;
5064 struct set_focus_window_reply set_focus_window_reply;
5065 struct set_active_window_reply set_active_window_reply;
5066 struct set_capture_window_reply set_capture_window_reply;
5067 struct set_caret_window_reply set_caret_window_reply;
5068 struct set_caret_info_reply set_caret_info_reply;
5069 struct set_hook_reply set_hook_reply;
5070 struct remove_hook_reply remove_hook_reply;
5071 struct start_hook_chain_reply start_hook_chain_reply;
5072 struct finish_hook_chain_reply finish_hook_chain_reply;
5073 struct get_hook_info_reply get_hook_info_reply;
5074 struct create_class_reply create_class_reply;
5075 struct destroy_class_reply destroy_class_reply;
5076 struct set_class_info_reply set_class_info_reply;
5077 struct set_clipboard_info_reply set_clipboard_info_reply;
5078 struct open_token_reply open_token_reply;
5079 struct set_global_windows_reply set_global_windows_reply;
5080 struct adjust_token_privileges_reply adjust_token_privileges_reply;
5081 struct get_token_privileges_reply get_token_privileges_reply;
5082 struct check_token_privileges_reply check_token_privileges_reply;
5083 struct duplicate_token_reply duplicate_token_reply;
5084 struct access_check_reply access_check_reply;
5085 struct get_token_user_reply get_token_user_reply;
5086 struct get_token_groups_reply get_token_groups_reply;
5087 struct set_security_object_reply set_security_object_reply;
5088 struct get_security_object_reply get_security_object_reply;
5089 struct create_mailslot_reply create_mailslot_reply;
5090 struct set_mailslot_info_reply set_mailslot_info_reply;
5091 struct create_directory_reply create_directory_reply;
5092 struct open_directory_reply open_directory_reply;
5093 struct get_directory_entry_reply get_directory_entry_reply;
5094 struct create_symlink_reply create_symlink_reply;
5095 struct open_symlink_reply open_symlink_reply;
5096 struct query_symlink_reply query_symlink_reply;
5097 struct get_object_info_reply get_object_info_reply;
5098 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
5099 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
5100 struct create_device_manager_reply create_device_manager_reply;
5101 struct create_device_reply create_device_reply;
5102 struct delete_device_reply delete_device_reply;
5103 struct get_next_device_request_reply get_next_device_request_reply;
5104 struct make_process_system_reply make_process_system_reply;
5105 struct get_token_statistics_reply get_token_statistics_reply;
5106 struct create_completion_reply create_completion_reply;
5107 struct open_completion_reply open_completion_reply;
5108 struct add_completion_reply add_completion_reply;
5109 struct remove_completion_reply remove_completion_reply;
5110 struct query_completion_reply query_completion_reply;
5111 struct set_completion_info_reply set_completion_info_reply;
5112 struct add_fd_completion_reply add_fd_completion_reply;
5113 struct get_window_layered_info_reply get_window_layered_info_reply;
5114 struct set_window_layered_info_reply set_window_layered_info_reply;
5117 #define SERVER_PROTOCOL_VERSION 342
5119 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */