server: Make lparam_t always 64-bit.
[wine/wine64.git] / include / wine / server_protocol.h
blob5ff2cf72a577aaaa8147486d7f119848b6872194
1 /*
2 * Wine server protocol definitions
4 * This file is automatically generated; DO NO EDIT!
5 * Edit server/protocol.def instead and re-run tools/make_requests
6 */
8 #ifndef __WINE_WINE_SERVER_PROTOCOL_H
9 #define __WINE_WINE_SERVER_PROTOCOL_H
11 #include <stdarg.h>
12 #include <stdlib.h>
13 #include <time.h>
15 #include <windef.h>
16 #include <winbase.h>
18 typedef unsigned int obj_handle_t;
19 typedef unsigned int user_handle_t;
20 typedef unsigned short atom_t;
21 typedef unsigned int process_id_t;
22 typedef unsigned int thread_id_t;
23 typedef unsigned int data_size_t;
24 typedef unsigned int ioctl_code_t;
25 typedef unsigned __int64 lparam_t;
26 typedef unsigned __int64 apc_param_t;
27 typedef unsigned __int64 mem_size_t;
28 typedef unsigned __int64 file_pos_t;
30 struct request_header
32 int req;
33 data_size_t request_size;
34 data_size_t reply_size;
37 struct reply_header
39 unsigned int error;
40 data_size_t reply_size;
45 struct request_max_size
47 int pad[16];
50 #define FIRST_USER_HANDLE 0x0020
51 #define LAST_USER_HANDLE 0xffef
55 struct debug_event_exception
57 EXCEPTION_RECORD record;
58 int first;
60 struct debug_event_create_thread
62 obj_handle_t handle;
63 void *teb;
64 void *start;
66 struct debug_event_create_process
68 obj_handle_t file;
69 obj_handle_t process;
70 obj_handle_t thread;
71 void *base;
72 int dbg_offset;
73 int dbg_size;
74 void *teb;
75 void *start;
76 void *name;
77 int unicode;
79 struct debug_event_exit
81 int exit_code;
83 struct debug_event_load_dll
85 obj_handle_t handle;
86 void *base;
87 int dbg_offset;
88 int dbg_size;
89 void *name;
90 int unicode;
92 struct debug_event_unload_dll
94 void *base;
96 struct debug_event_output_string
98 void *string;
99 int unicode;
100 int length;
102 struct debug_event_rip_info
104 int error;
105 int type;
107 union debug_event_data
109 struct debug_event_exception exception;
110 struct debug_event_create_thread create_thread;
111 struct debug_event_create_process create_process;
112 struct debug_event_exit exit;
113 struct debug_event_load_dll load_dll;
114 struct debug_event_unload_dll unload_dll;
115 struct debug_event_output_string output_string;
116 struct debug_event_rip_info rip_info;
120 typedef struct
122 int code;
123 union debug_event_data info;
124 } debug_event_t;
127 struct send_fd
129 thread_id_t tid;
130 int fd;
134 struct wake_up_reply
136 void *cookie;
137 int signaled;
141 typedef __int64 timeout_t;
142 #define TIMEOUT_INFINITE (((timeout_t)0x7fffffff) << 32 | 0xffffffff)
145 typedef struct
147 atom_t atom;
148 short string;
149 lparam_t data;
150 } property_data_t;
153 typedef struct
155 int left;
156 int top;
157 int right;
158 int bottom;
159 } rectangle_t;
162 typedef struct
164 void *callback;
165 void *iosb;
166 void *arg;
167 void *apc;
168 obj_handle_t event;
169 apc_param_t cvalue;
170 } async_data_t;
174 struct hardware_msg_data
176 lparam_t info;
177 int x;
178 int y;
179 unsigned int hw_id;
182 struct callback_msg_data
184 void *callback;
185 lparam_t data;
186 lparam_t result;
189 struct winevent_msg_data
191 user_handle_t hook;
192 thread_id_t tid;
193 void *hook_proc;
197 typedef union
199 unsigned char bytes[1];
200 struct callback_msg_data callback;
201 struct winevent_msg_data winevent;
202 } message_data_t;
205 typedef struct
207 WCHAR ch;
208 unsigned short attr;
209 } char_info_t;
211 typedef struct
213 unsigned int low_part;
214 int high_part;
215 } luid_t;
217 #define MAX_ACL_LEN 65535
219 struct security_descriptor
221 unsigned int control;
222 data_size_t owner_len;
223 data_size_t group_len;
224 data_size_t sacl_len;
225 data_size_t dacl_len;
232 struct object_attributes
234 obj_handle_t rootdir;
235 data_size_t sd_len;
236 data_size_t name_len;
241 struct token_groups
243 unsigned int count;
248 enum apc_type
250 APC_NONE,
251 APC_USER,
252 APC_TIMER,
253 APC_ASYNC_IO,
254 APC_VIRTUAL_ALLOC,
255 APC_VIRTUAL_FREE,
256 APC_VIRTUAL_QUERY,
257 APC_VIRTUAL_PROTECT,
258 APC_VIRTUAL_FLUSH,
259 APC_VIRTUAL_LOCK,
260 APC_VIRTUAL_UNLOCK,
261 APC_MAP_VIEW,
262 APC_UNMAP_VIEW,
263 APC_CREATE_THREAD
266 typedef union
268 enum apc_type type;
269 struct
271 enum apc_type type;
272 void (__stdcall *func)(unsigned long,unsigned long,unsigned long);
273 apc_param_t args[3];
274 } user;
275 struct
277 enum apc_type type;
278 void (__stdcall *func)(void*, unsigned int, unsigned int);
279 timeout_t time;
280 void *arg;
281 } timer;
282 struct
284 enum apc_type type;
285 unsigned int (*func)(void*, void*, unsigned int, unsigned int *);
286 void *user;
287 void *sb;
288 unsigned int status;
289 } async_io;
290 struct
292 enum apc_type type;
293 void *addr;
294 mem_size_t size;
295 unsigned int zero_bits;
296 unsigned int op_type;
297 unsigned int prot;
298 } virtual_alloc;
299 struct
301 enum apc_type type;
302 void *addr;
303 mem_size_t size;
304 unsigned int op_type;
305 } virtual_free;
306 struct
308 enum apc_type type;
309 const void *addr;
310 } virtual_query;
311 struct
313 enum apc_type type;
314 void *addr;
315 mem_size_t size;
316 unsigned int prot;
317 } virtual_protect;
318 struct
320 enum apc_type type;
321 const void *addr;
322 mem_size_t size;
323 } virtual_flush;
324 struct
326 enum apc_type type;
327 void *addr;
328 mem_size_t size;
329 } virtual_lock;
330 struct
332 enum apc_type type;
333 void *addr;
334 mem_size_t size;
335 } virtual_unlock;
336 struct
338 enum apc_type type;
339 obj_handle_t handle;
340 void *addr;
341 mem_size_t size;
342 file_pos_t offset;
343 unsigned int zero_bits;
344 unsigned int alloc_type;
345 unsigned int prot;
346 } map_view;
347 struct
349 enum apc_type type;
350 void *addr;
351 } unmap_view;
352 struct
354 enum apc_type type;
355 void (__stdcall *func)(void*);
356 void *arg;
357 mem_size_t reserve;
358 mem_size_t commit;
359 int suspend;
360 } create_thread;
361 } apc_call_t;
363 typedef union
365 enum apc_type type;
366 struct
368 enum apc_type type;
369 unsigned int status;
370 unsigned int total;
371 } async_io;
372 struct
374 enum apc_type type;
375 unsigned int status;
376 void *addr;
377 mem_size_t size;
378 } virtual_alloc;
379 struct
381 enum apc_type type;
382 unsigned int status;
383 void *addr;
384 mem_size_t size;
385 } virtual_free;
386 struct
388 enum apc_type type;
389 unsigned int status;
390 void *base;
391 void *alloc_base;
392 mem_size_t size;
393 unsigned int state;
394 unsigned int prot;
395 unsigned int alloc_prot;
396 unsigned int alloc_type;
397 } virtual_query;
398 struct
400 enum apc_type type;
401 unsigned int status;
402 void *addr;
403 mem_size_t size;
404 unsigned int prot;
405 } virtual_protect;
406 struct
408 enum apc_type type;
409 unsigned int status;
410 const void *addr;
411 mem_size_t size;
412 } virtual_flush;
413 struct
415 enum apc_type type;
416 unsigned int status;
417 void *addr;
418 mem_size_t size;
419 } virtual_lock;
420 struct
422 enum apc_type type;
423 unsigned int status;
424 void *addr;
425 mem_size_t size;
426 } virtual_unlock;
427 struct
429 enum apc_type type;
430 unsigned int status;
431 void *addr;
432 mem_size_t size;
433 } map_view;
434 struct
436 enum apc_type type;
437 unsigned int status;
438 } unmap_view;
439 struct
441 enum apc_type type;
442 unsigned int status;
443 thread_id_t tid;
444 obj_handle_t handle;
445 } create_thread;
446 } apc_result_t;
452 struct new_process_request
454 struct request_header __header;
455 int inherit_all;
456 unsigned int create_flags;
457 int socket_fd;
458 obj_handle_t exe_file;
459 obj_handle_t hstdin;
460 obj_handle_t hstdout;
461 obj_handle_t hstderr;
462 unsigned int process_access;
463 unsigned int process_attr;
464 unsigned int thread_access;
465 unsigned int thread_attr;
466 /* VARARG(info,startup_info); */
467 /* VARARG(env,unicode_str); */
469 struct new_process_reply
471 struct reply_header __header;
472 obj_handle_t info;
473 process_id_t pid;
474 obj_handle_t phandle;
475 thread_id_t tid;
476 obj_handle_t thandle;
481 struct get_new_process_info_request
483 struct request_header __header;
484 obj_handle_t info;
486 struct get_new_process_info_reply
488 struct reply_header __header;
489 int success;
490 int exit_code;
495 struct new_thread_request
497 struct request_header __header;
498 unsigned int access;
499 unsigned int attributes;
500 int suspend;
501 int request_fd;
503 struct new_thread_reply
505 struct reply_header __header;
506 thread_id_t tid;
507 obj_handle_t handle;
512 struct get_startup_info_request
514 struct request_header __header;
516 struct get_startup_info_reply
518 struct reply_header __header;
519 obj_handle_t exe_file;
520 obj_handle_t hstdin;
521 obj_handle_t hstdout;
522 obj_handle_t hstderr;
523 /* VARARG(info,startup_info); */
524 /* VARARG(env,unicode_str); */
529 struct init_process_done_request
531 struct request_header __header;
532 void* module;
533 void* entry;
534 int gui;
536 struct init_process_done_reply
538 struct reply_header __header;
543 struct init_thread_request
545 struct request_header __header;
546 int unix_pid;
547 int unix_tid;
548 int debug_level;
549 void* teb;
550 void* peb;
551 void* entry;
552 void* ldt_copy;
553 int reply_fd;
554 int wait_fd;
556 struct init_thread_reply
558 struct reply_header __header;
559 process_id_t pid;
560 thread_id_t tid;
561 data_size_t info_size;
562 timeout_t server_start;
563 int version;
568 struct terminate_process_request
570 struct request_header __header;
571 obj_handle_t handle;
572 int exit_code;
574 struct terminate_process_reply
576 struct reply_header __header;
577 int self;
582 struct terminate_thread_request
584 struct request_header __header;
585 obj_handle_t handle;
586 int exit_code;
588 struct terminate_thread_reply
590 struct reply_header __header;
591 int self;
592 int last;
597 struct get_process_info_request
599 struct request_header __header;
600 obj_handle_t handle;
602 struct get_process_info_reply
604 struct reply_header __header;
605 process_id_t pid;
606 process_id_t ppid;
607 int exit_code;
608 int priority;
609 unsigned int affinity;
610 void* peb;
611 timeout_t start_time;
612 timeout_t end_time;
617 struct set_process_info_request
619 struct request_header __header;
620 obj_handle_t handle;
621 int mask;
622 int priority;
623 unsigned int affinity;
625 struct set_process_info_reply
627 struct reply_header __header;
629 #define SET_PROCESS_INFO_PRIORITY 0x01
630 #define SET_PROCESS_INFO_AFFINITY 0x02
634 struct get_thread_info_request
636 struct request_header __header;
637 obj_handle_t handle;
638 thread_id_t tid_in;
640 struct get_thread_info_reply
642 struct reply_header __header;
643 process_id_t pid;
644 thread_id_t tid;
645 void* teb;
646 int exit_code;
647 int priority;
648 unsigned int affinity;
649 timeout_t creation_time;
650 timeout_t exit_time;
651 int last;
656 struct set_thread_info_request
658 struct request_header __header;
659 obj_handle_t handle;
660 int mask;
661 int priority;
662 unsigned int affinity;
663 obj_handle_t token;
665 struct set_thread_info_reply
667 struct reply_header __header;
669 #define SET_THREAD_INFO_PRIORITY 0x01
670 #define SET_THREAD_INFO_AFFINITY 0x02
671 #define SET_THREAD_INFO_TOKEN 0x04
675 struct get_dll_info_request
677 struct request_header __header;
678 obj_handle_t handle;
679 void* base_address;
681 struct get_dll_info_reply
683 struct reply_header __header;
684 void* entry_point;
685 data_size_t size;
686 data_size_t filename_len;
687 /* VARARG(filename,unicode_str); */
692 struct suspend_thread_request
694 struct request_header __header;
695 obj_handle_t handle;
697 struct suspend_thread_reply
699 struct reply_header __header;
700 int count;
705 struct resume_thread_request
707 struct request_header __header;
708 obj_handle_t handle;
710 struct resume_thread_reply
712 struct reply_header __header;
713 int count;
718 struct load_dll_request
720 struct request_header __header;
721 obj_handle_t handle;
722 void* base;
723 void* name;
724 data_size_t size;
725 int dbg_offset;
726 int dbg_size;
727 /* VARARG(filename,unicode_str); */
729 struct load_dll_reply
731 struct reply_header __header;
736 struct unload_dll_request
738 struct request_header __header;
739 void* base;
741 struct unload_dll_reply
743 struct reply_header __header;
748 struct queue_apc_request
750 struct request_header __header;
751 obj_handle_t thread;
752 obj_handle_t process;
753 apc_call_t call;
755 struct queue_apc_reply
757 struct reply_header __header;
758 obj_handle_t handle;
759 int self;
764 struct get_apc_result_request
766 struct request_header __header;
767 obj_handle_t handle;
769 struct get_apc_result_reply
771 struct reply_header __header;
772 apc_result_t result;
777 struct close_handle_request
779 struct request_header __header;
780 obj_handle_t handle;
782 struct close_handle_reply
784 struct reply_header __header;
789 struct set_handle_info_request
791 struct request_header __header;
792 obj_handle_t handle;
793 int flags;
794 int mask;
796 struct set_handle_info_reply
798 struct reply_header __header;
799 int old_flags;
804 struct dup_handle_request
806 struct request_header __header;
807 obj_handle_t src_process;
808 obj_handle_t src_handle;
809 obj_handle_t dst_process;
810 unsigned int access;
811 unsigned int attributes;
812 unsigned int options;
814 struct dup_handle_reply
816 struct reply_header __header;
817 obj_handle_t handle;
818 int self;
819 int closed;
821 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
822 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
823 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
827 struct open_process_request
829 struct request_header __header;
830 process_id_t pid;
831 unsigned int access;
832 unsigned int attributes;
834 struct open_process_reply
836 struct reply_header __header;
837 obj_handle_t handle;
842 struct open_thread_request
844 struct request_header __header;
845 thread_id_t tid;
846 unsigned int access;
847 unsigned int attributes;
849 struct open_thread_reply
851 struct reply_header __header;
852 obj_handle_t handle;
857 struct select_request
859 struct request_header __header;
860 int flags;
861 void* cookie;
862 obj_handle_t signal;
863 obj_handle_t prev_apc;
864 timeout_t timeout;
865 /* VARARG(result,apc_result); */
866 /* VARARG(handles,handles); */
868 struct select_reply
870 struct reply_header __header;
871 obj_handle_t apc_handle;
872 timeout_t timeout;
873 apc_call_t call;
875 #define SELECT_ALL 1
876 #define SELECT_ALERTABLE 2
877 #define SELECT_INTERRUPTIBLE 4
881 struct create_event_request
883 struct request_header __header;
884 unsigned int access;
885 unsigned int attributes;
886 int manual_reset;
887 int initial_state;
888 /* VARARG(objattr,object_attributes); */
890 struct create_event_reply
892 struct reply_header __header;
893 obj_handle_t handle;
897 struct event_op_request
899 struct request_header __header;
900 obj_handle_t handle;
901 int op;
903 struct event_op_reply
905 struct reply_header __header;
907 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
911 struct open_event_request
913 struct request_header __header;
914 unsigned int access;
915 unsigned int attributes;
916 obj_handle_t rootdir;
917 /* VARARG(name,unicode_str); */
919 struct open_event_reply
921 struct reply_header __header;
922 obj_handle_t handle;
927 struct create_mutex_request
929 struct request_header __header;
930 unsigned int access;
931 unsigned int attributes;
932 int owned;
933 /* VARARG(objattr,object_attributes); */
935 struct create_mutex_reply
937 struct reply_header __header;
938 obj_handle_t handle;
943 struct release_mutex_request
945 struct request_header __header;
946 obj_handle_t handle;
948 struct release_mutex_reply
950 struct reply_header __header;
951 unsigned int prev_count;
956 struct open_mutex_request
958 struct request_header __header;
959 unsigned int access;
960 unsigned int attributes;
961 obj_handle_t rootdir;
962 /* VARARG(name,unicode_str); */
964 struct open_mutex_reply
966 struct reply_header __header;
967 obj_handle_t handle;
972 struct create_semaphore_request
974 struct request_header __header;
975 unsigned int access;
976 unsigned int attributes;
977 unsigned int initial;
978 unsigned int max;
979 /* VARARG(objattr,object_attributes); */
981 struct create_semaphore_reply
983 struct reply_header __header;
984 obj_handle_t handle;
989 struct release_semaphore_request
991 struct request_header __header;
992 obj_handle_t handle;
993 unsigned int count;
995 struct release_semaphore_reply
997 struct reply_header __header;
998 unsigned int prev_count;
1003 struct open_semaphore_request
1005 struct request_header __header;
1006 unsigned int access;
1007 unsigned int attributes;
1008 obj_handle_t rootdir;
1009 /* VARARG(name,unicode_str); */
1011 struct open_semaphore_reply
1013 struct reply_header __header;
1014 obj_handle_t handle;
1019 struct create_file_request
1021 struct request_header __header;
1022 unsigned int access;
1023 unsigned int attributes;
1024 unsigned int sharing;
1025 int create;
1026 unsigned int options;
1027 unsigned int attrs;
1028 /* VARARG(objattr,object_attributes); */
1029 /* VARARG(filename,string); */
1031 struct create_file_reply
1033 struct reply_header __header;
1034 obj_handle_t handle;
1039 struct open_file_object_request
1041 struct request_header __header;
1042 unsigned int access;
1043 unsigned int attributes;
1044 obj_handle_t rootdir;
1045 unsigned int sharing;
1046 unsigned int options;
1047 /* VARARG(filename,unicode_str); */
1049 struct open_file_object_reply
1051 struct reply_header __header;
1052 obj_handle_t handle;
1057 struct alloc_file_handle_request
1059 struct request_header __header;
1060 unsigned int access;
1061 unsigned int attributes;
1062 int fd;
1064 struct alloc_file_handle_reply
1066 struct reply_header __header;
1067 obj_handle_t handle;
1072 struct get_handle_fd_request
1074 struct request_header __header;
1075 obj_handle_t handle;
1077 struct get_handle_fd_reply
1079 struct reply_header __header;
1080 int type;
1081 int removable;
1082 unsigned int access;
1083 unsigned int options;
1085 enum server_fd_type
1087 FD_TYPE_INVALID,
1088 FD_TYPE_FILE,
1089 FD_TYPE_DIR,
1090 FD_TYPE_SOCKET,
1091 FD_TYPE_SERIAL,
1092 FD_TYPE_PIPE,
1093 FD_TYPE_MAILSLOT,
1094 FD_TYPE_CHAR,
1095 FD_TYPE_DEVICE,
1096 FD_TYPE_NB_TYPES
1101 struct flush_file_request
1103 struct request_header __header;
1104 obj_handle_t handle;
1106 struct flush_file_reply
1108 struct reply_header __header;
1109 obj_handle_t event;
1114 struct lock_file_request
1116 struct request_header __header;
1117 obj_handle_t handle;
1118 file_pos_t offset;
1119 file_pos_t count;
1120 int shared;
1121 int wait;
1123 struct lock_file_reply
1125 struct reply_header __header;
1126 obj_handle_t handle;
1127 int overlapped;
1132 struct unlock_file_request
1134 struct request_header __header;
1135 obj_handle_t handle;
1136 file_pos_t offset;
1137 file_pos_t count;
1139 struct unlock_file_reply
1141 struct reply_header __header;
1146 struct create_socket_request
1148 struct request_header __header;
1149 unsigned int access;
1150 unsigned int attributes;
1151 int family;
1152 int type;
1153 int protocol;
1154 unsigned int flags;
1156 struct create_socket_reply
1158 struct reply_header __header;
1159 obj_handle_t handle;
1164 struct accept_socket_request
1166 struct request_header __header;
1167 obj_handle_t lhandle;
1168 unsigned int access;
1169 unsigned int attributes;
1171 struct accept_socket_reply
1173 struct reply_header __header;
1174 obj_handle_t handle;
1179 struct set_socket_event_request
1181 struct request_header __header;
1182 obj_handle_t handle;
1183 unsigned int mask;
1184 obj_handle_t event;
1185 user_handle_t window;
1186 unsigned int msg;
1188 struct set_socket_event_reply
1190 struct reply_header __header;
1195 struct get_socket_event_request
1197 struct request_header __header;
1198 obj_handle_t handle;
1199 int service;
1200 obj_handle_t c_event;
1202 struct get_socket_event_reply
1204 struct reply_header __header;
1205 unsigned int mask;
1206 unsigned int pmask;
1207 unsigned int state;
1208 /* VARARG(errors,ints); */
1213 struct enable_socket_event_request
1215 struct request_header __header;
1216 obj_handle_t handle;
1217 unsigned int mask;
1218 unsigned int sstate;
1219 unsigned int cstate;
1221 struct enable_socket_event_reply
1223 struct reply_header __header;
1226 struct set_socket_deferred_request
1228 struct request_header __header;
1229 obj_handle_t handle;
1230 obj_handle_t deferred;
1232 struct set_socket_deferred_reply
1234 struct reply_header __header;
1238 struct alloc_console_request
1240 struct request_header __header;
1241 unsigned int access;
1242 unsigned int attributes;
1243 process_id_t pid;
1245 struct alloc_console_reply
1247 struct reply_header __header;
1248 obj_handle_t handle_in;
1249 obj_handle_t event;
1254 struct free_console_request
1256 struct request_header __header;
1258 struct free_console_reply
1260 struct reply_header __header;
1264 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1265 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1266 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1267 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1268 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1269 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1270 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1271 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1272 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1273 struct console_renderer_event
1275 short event;
1276 union
1278 struct update
1280 short top;
1281 short bottom;
1282 } update;
1283 struct resize
1285 short width;
1286 short height;
1287 } resize;
1288 struct cursor_pos
1290 short x;
1291 short y;
1292 } cursor_pos;
1293 struct cursor_geom
1295 short visible;
1296 short size;
1297 } cursor_geom;
1298 struct display
1300 short left;
1301 short top;
1302 short width;
1303 short height;
1304 } display;
1305 } u;
1309 struct get_console_renderer_events_request
1311 struct request_header __header;
1312 obj_handle_t handle;
1314 struct get_console_renderer_events_reply
1316 struct reply_header __header;
1317 /* VARARG(data,bytes); */
1322 struct open_console_request
1324 struct request_header __header;
1325 obj_handle_t from;
1327 unsigned int access;
1328 unsigned int attributes;
1329 int share;
1331 struct open_console_reply
1333 struct reply_header __header;
1334 obj_handle_t handle;
1339 struct get_console_wait_event_request
1341 struct request_header __header;
1343 struct get_console_wait_event_reply
1345 struct reply_header __header;
1346 obj_handle_t handle;
1350 struct get_console_mode_request
1352 struct request_header __header;
1353 obj_handle_t handle;
1355 struct get_console_mode_reply
1357 struct reply_header __header;
1358 int mode;
1363 struct set_console_mode_request
1365 struct request_header __header;
1366 obj_handle_t handle;
1367 int mode;
1369 struct set_console_mode_reply
1371 struct reply_header __header;
1376 struct set_console_input_info_request
1378 struct request_header __header;
1379 obj_handle_t handle;
1380 int mask;
1381 obj_handle_t active_sb;
1382 int history_mode;
1383 int history_size;
1384 int edition_mode;
1385 int input_cp;
1386 int output_cp;
1387 user_handle_t win;
1388 /* VARARG(title,unicode_str); */
1390 struct set_console_input_info_reply
1392 struct reply_header __header;
1394 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1395 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1396 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1397 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1398 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1399 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1400 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1401 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1405 struct get_console_input_info_request
1407 struct request_header __header;
1408 obj_handle_t handle;
1410 struct get_console_input_info_reply
1412 struct reply_header __header;
1413 int history_mode;
1414 int history_size;
1415 int history_index;
1416 int edition_mode;
1417 int input_cp;
1418 int output_cp;
1419 user_handle_t win;
1420 /* VARARG(title,unicode_str); */
1425 struct append_console_input_history_request
1427 struct request_header __header;
1428 obj_handle_t handle;
1429 /* VARARG(line,unicode_str); */
1431 struct append_console_input_history_reply
1433 struct reply_header __header;
1438 struct get_console_input_history_request
1440 struct request_header __header;
1441 obj_handle_t handle;
1442 int index;
1444 struct get_console_input_history_reply
1446 struct reply_header __header;
1447 int total;
1448 /* VARARG(line,unicode_str); */
1453 struct create_console_output_request
1455 struct request_header __header;
1456 obj_handle_t handle_in;
1457 unsigned int access;
1458 unsigned int attributes;
1459 unsigned int share;
1461 struct create_console_output_reply
1463 struct reply_header __header;
1464 obj_handle_t handle_out;
1469 struct set_console_output_info_request
1471 struct request_header __header;
1472 obj_handle_t handle;
1473 int mask;
1474 short int cursor_size;
1475 short int cursor_visible;
1476 short int cursor_x;
1477 short int cursor_y;
1478 short int width;
1479 short int height;
1480 short int attr;
1481 short int win_left;
1482 short int win_top;
1483 short int win_right;
1484 short int win_bottom;
1485 short int max_width;
1486 short int max_height;
1488 struct set_console_output_info_reply
1490 struct reply_header __header;
1492 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1493 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1494 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1495 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1496 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1497 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1501 struct get_console_output_info_request
1503 struct request_header __header;
1504 obj_handle_t handle;
1506 struct get_console_output_info_reply
1508 struct reply_header __header;
1509 short int cursor_size;
1510 short int cursor_visible;
1511 short int cursor_x;
1512 short int cursor_y;
1513 short int width;
1514 short int height;
1515 short int attr;
1516 short int win_left;
1517 short int win_top;
1518 short int win_right;
1519 short int win_bottom;
1520 short int max_width;
1521 short int max_height;
1525 struct write_console_input_request
1527 struct request_header __header;
1528 obj_handle_t handle;
1529 /* VARARG(rec,input_records); */
1531 struct write_console_input_reply
1533 struct reply_header __header;
1534 int written;
1539 struct read_console_input_request
1541 struct request_header __header;
1542 obj_handle_t handle;
1543 int flush;
1545 struct read_console_input_reply
1547 struct reply_header __header;
1548 int read;
1549 /* VARARG(rec,input_records); */
1554 struct write_console_output_request
1556 struct request_header __header;
1557 obj_handle_t handle;
1558 int x;
1559 int y;
1560 int mode;
1561 int wrap;
1562 /* VARARG(data,bytes); */
1564 struct write_console_output_reply
1566 struct reply_header __header;
1567 int written;
1568 int width;
1569 int height;
1571 enum char_info_mode
1573 CHAR_INFO_MODE_TEXT,
1574 CHAR_INFO_MODE_ATTR,
1575 CHAR_INFO_MODE_TEXTATTR,
1576 CHAR_INFO_MODE_TEXTSTDATTR
1581 struct fill_console_output_request
1583 struct request_header __header;
1584 obj_handle_t handle;
1585 int x;
1586 int y;
1587 int mode;
1588 int count;
1589 int wrap;
1590 char_info_t data;
1592 struct fill_console_output_reply
1594 struct reply_header __header;
1595 int written;
1600 struct read_console_output_request
1602 struct request_header __header;
1603 obj_handle_t handle;
1604 int x;
1605 int y;
1606 int mode;
1607 int wrap;
1609 struct read_console_output_reply
1611 struct reply_header __header;
1612 int width;
1613 int height;
1614 /* VARARG(data,bytes); */
1619 struct move_console_output_request
1621 struct request_header __header;
1622 obj_handle_t handle;
1623 short int x_src;
1624 short int y_src;
1625 short int x_dst;
1626 short int y_dst;
1627 short int w;
1628 short int h;
1630 struct move_console_output_reply
1632 struct reply_header __header;
1637 struct send_console_signal_request
1639 struct request_header __header;
1640 int signal;
1641 process_id_t group_id;
1643 struct send_console_signal_reply
1645 struct reply_header __header;
1650 struct read_directory_changes_request
1652 struct request_header __header;
1653 unsigned int filter;
1654 obj_handle_t handle;
1655 int subtree;
1656 int want_data;
1657 async_data_t async;
1659 struct read_directory_changes_reply
1661 struct reply_header __header;
1665 struct read_change_request
1667 struct request_header __header;
1668 obj_handle_t handle;
1670 struct read_change_reply
1672 struct reply_header __header;
1673 int action;
1674 /* VARARG(name,string); */
1679 struct create_mapping_request
1681 struct request_header __header;
1682 unsigned int access;
1683 unsigned int attributes;
1684 mem_size_t size;
1685 unsigned int protect;
1686 obj_handle_t file_handle;
1687 /* VARARG(objattr,object_attributes); */
1689 struct create_mapping_reply
1691 struct reply_header __header;
1692 obj_handle_t handle;
1695 #define VPROT_READ 0x01
1696 #define VPROT_WRITE 0x02
1697 #define VPROT_EXEC 0x04
1698 #define VPROT_WRITECOPY 0x08
1699 #define VPROT_GUARD 0x10
1700 #define VPROT_NOCACHE 0x20
1701 #define VPROT_COMMITTED 0x40
1702 #define VPROT_WRITEWATCH 0x80
1704 #define VPROT_IMAGE 0x0100
1705 #define VPROT_SYSTEM 0x0200
1706 #define VPROT_VALLOC 0x0400
1707 #define VPROT_NOEXEC 0x0800
1711 struct open_mapping_request
1713 struct request_header __header;
1714 unsigned int access;
1715 unsigned int attributes;
1716 obj_handle_t rootdir;
1717 /* VARARG(name,unicode_str); */
1719 struct open_mapping_reply
1721 struct reply_header __header;
1722 obj_handle_t handle;
1727 struct get_mapping_info_request
1729 struct request_header __header;
1730 obj_handle_t handle;
1731 unsigned int access;
1733 struct get_mapping_info_reply
1735 struct reply_header __header;
1736 mem_size_t size;
1737 int protect;
1738 int header_size;
1739 void* base;
1740 obj_handle_t mapping;
1741 obj_handle_t shared_file;
1746 struct get_mapping_committed_range_request
1748 struct request_header __header;
1749 obj_handle_t handle;
1750 file_pos_t offset;
1752 struct get_mapping_committed_range_reply
1754 struct reply_header __header;
1755 mem_size_t size;
1756 int committed;
1761 struct add_mapping_committed_range_request
1763 struct request_header __header;
1764 obj_handle_t handle;
1765 file_pos_t offset;
1766 mem_size_t size;
1768 struct add_mapping_committed_range_reply
1770 struct reply_header __header;
1774 #define SNAP_PROCESS 0x00000001
1775 #define SNAP_THREAD 0x00000002
1777 struct create_snapshot_request
1779 struct request_header __header;
1780 unsigned int attributes;
1781 unsigned int flags;
1783 struct create_snapshot_reply
1785 struct reply_header __header;
1786 obj_handle_t handle;
1791 struct next_process_request
1793 struct request_header __header;
1794 obj_handle_t handle;
1795 int reset;
1797 struct next_process_reply
1799 struct reply_header __header;
1800 int count;
1801 process_id_t pid;
1802 process_id_t ppid;
1803 int threads;
1804 int priority;
1805 int handles;
1806 /* VARARG(filename,unicode_str); */
1811 struct next_thread_request
1813 struct request_header __header;
1814 obj_handle_t handle;
1815 int reset;
1817 struct next_thread_reply
1819 struct reply_header __header;
1820 int count;
1821 process_id_t pid;
1822 thread_id_t tid;
1823 int base_pri;
1824 int delta_pri;
1829 struct wait_debug_event_request
1831 struct request_header __header;
1832 int get_handle;
1834 struct wait_debug_event_reply
1836 struct reply_header __header;
1837 process_id_t pid;
1838 thread_id_t tid;
1839 obj_handle_t wait;
1840 /* VARARG(event,debug_event); */
1845 struct queue_exception_event_request
1847 struct request_header __header;
1848 int first;
1849 /* VARARG(record,exc_event); */
1851 struct queue_exception_event_reply
1853 struct reply_header __header;
1854 obj_handle_t handle;
1859 struct get_exception_status_request
1861 struct request_header __header;
1862 obj_handle_t handle;
1864 struct get_exception_status_reply
1866 struct reply_header __header;
1867 /* VARARG(context,context); */
1872 struct output_debug_string_request
1874 struct request_header __header;
1875 void* string;
1876 int unicode;
1877 int length;
1879 struct output_debug_string_reply
1881 struct reply_header __header;
1886 struct continue_debug_event_request
1888 struct request_header __header;
1889 process_id_t pid;
1890 thread_id_t tid;
1891 int status;
1893 struct continue_debug_event_reply
1895 struct reply_header __header;
1900 struct debug_process_request
1902 struct request_header __header;
1903 process_id_t pid;
1904 int attach;
1906 struct debug_process_reply
1908 struct reply_header __header;
1913 struct debug_break_request
1915 struct request_header __header;
1916 obj_handle_t handle;
1918 struct debug_break_reply
1920 struct reply_header __header;
1921 int self;
1926 struct set_debugger_kill_on_exit_request
1928 struct request_header __header;
1929 int kill_on_exit;
1931 struct set_debugger_kill_on_exit_reply
1933 struct reply_header __header;
1938 struct read_process_memory_request
1940 struct request_header __header;
1941 obj_handle_t handle;
1942 void* addr;
1944 struct read_process_memory_reply
1946 struct reply_header __header;
1947 /* VARARG(data,bytes); */
1952 struct write_process_memory_request
1954 struct request_header __header;
1955 obj_handle_t handle;
1956 void* addr;
1957 /* VARARG(data,bytes); */
1959 struct write_process_memory_reply
1961 struct reply_header __header;
1966 struct create_key_request
1968 struct request_header __header;
1969 obj_handle_t parent;
1970 unsigned int access;
1971 unsigned int attributes;
1972 unsigned int options;
1973 data_size_t namelen;
1974 /* VARARG(name,unicode_str,namelen); */
1975 /* VARARG(class,unicode_str); */
1977 struct create_key_reply
1979 struct reply_header __header;
1980 obj_handle_t hkey;
1981 int created;
1985 struct open_key_request
1987 struct request_header __header;
1988 obj_handle_t parent;
1989 unsigned int access;
1990 unsigned int attributes;
1991 /* VARARG(name,unicode_str); */
1993 struct open_key_reply
1995 struct reply_header __header;
1996 obj_handle_t hkey;
2001 struct delete_key_request
2003 struct request_header __header;
2004 obj_handle_t hkey;
2006 struct delete_key_reply
2008 struct reply_header __header;
2013 struct flush_key_request
2015 struct request_header __header;
2016 obj_handle_t hkey;
2018 struct flush_key_reply
2020 struct reply_header __header;
2025 struct enum_key_request
2027 struct request_header __header;
2028 obj_handle_t hkey;
2029 int index;
2030 int info_class;
2032 struct enum_key_reply
2034 struct reply_header __header;
2035 int subkeys;
2036 int max_subkey;
2037 int max_class;
2038 int values;
2039 int max_value;
2040 int max_data;
2041 timeout_t modif;
2042 data_size_t total;
2043 data_size_t namelen;
2044 /* VARARG(name,unicode_str,namelen); */
2045 /* VARARG(class,unicode_str); */
2050 struct set_key_value_request
2052 struct request_header __header;
2053 obj_handle_t hkey;
2054 int type;
2055 data_size_t namelen;
2056 /* VARARG(name,unicode_str,namelen); */
2057 /* VARARG(data,bytes); */
2059 struct set_key_value_reply
2061 struct reply_header __header;
2066 struct get_key_value_request
2068 struct request_header __header;
2069 obj_handle_t hkey;
2070 /* VARARG(name,unicode_str); */
2072 struct get_key_value_reply
2074 struct reply_header __header;
2075 int type;
2076 data_size_t total;
2077 /* VARARG(data,bytes); */
2082 struct enum_key_value_request
2084 struct request_header __header;
2085 obj_handle_t hkey;
2086 int index;
2087 int info_class;
2089 struct enum_key_value_reply
2091 struct reply_header __header;
2092 int type;
2093 data_size_t total;
2094 data_size_t namelen;
2095 /* VARARG(name,unicode_str,namelen); */
2096 /* VARARG(data,bytes); */
2101 struct delete_key_value_request
2103 struct request_header __header;
2104 obj_handle_t hkey;
2105 /* VARARG(name,unicode_str); */
2107 struct delete_key_value_reply
2109 struct reply_header __header;
2114 struct load_registry_request
2116 struct request_header __header;
2117 obj_handle_t hkey;
2118 obj_handle_t file;
2119 /* VARARG(name,unicode_str); */
2121 struct load_registry_reply
2123 struct reply_header __header;
2128 struct unload_registry_request
2130 struct request_header __header;
2131 obj_handle_t hkey;
2133 struct unload_registry_reply
2135 struct reply_header __header;
2140 struct save_registry_request
2142 struct request_header __header;
2143 obj_handle_t hkey;
2144 obj_handle_t file;
2146 struct save_registry_reply
2148 struct reply_header __header;
2153 struct set_registry_notification_request
2155 struct request_header __header;
2156 obj_handle_t hkey;
2157 obj_handle_t event;
2158 int subtree;
2159 unsigned int filter;
2161 struct set_registry_notification_reply
2163 struct reply_header __header;
2168 struct create_timer_request
2170 struct request_header __header;
2171 unsigned int access;
2172 unsigned int attributes;
2173 obj_handle_t rootdir;
2174 int manual;
2175 /* VARARG(name,unicode_str); */
2177 struct create_timer_reply
2179 struct reply_header __header;
2180 obj_handle_t handle;
2185 struct open_timer_request
2187 struct request_header __header;
2188 unsigned int access;
2189 unsigned int attributes;
2190 obj_handle_t rootdir;
2191 /* VARARG(name,unicode_str); */
2193 struct open_timer_reply
2195 struct reply_header __header;
2196 obj_handle_t handle;
2200 struct set_timer_request
2202 struct request_header __header;
2203 obj_handle_t handle;
2204 timeout_t expire;
2205 int period;
2206 void* callback;
2207 void* arg;
2209 struct set_timer_reply
2211 struct reply_header __header;
2212 int signaled;
2216 struct cancel_timer_request
2218 struct request_header __header;
2219 obj_handle_t handle;
2221 struct cancel_timer_reply
2223 struct reply_header __header;
2224 int signaled;
2228 struct get_timer_info_request
2230 struct request_header __header;
2231 obj_handle_t handle;
2233 struct get_timer_info_reply
2235 struct reply_header __header;
2236 timeout_t when;
2237 int signaled;
2242 struct get_thread_context_request
2244 struct request_header __header;
2245 obj_handle_t handle;
2246 unsigned int flags;
2247 int suspend;
2249 struct get_thread_context_reply
2251 struct reply_header __header;
2252 int self;
2253 /* VARARG(context,context); */
2258 struct set_thread_context_request
2260 struct request_header __header;
2261 obj_handle_t handle;
2262 unsigned int flags;
2263 int suspend;
2264 /* VARARG(context,context); */
2266 struct set_thread_context_reply
2268 struct reply_header __header;
2269 int self;
2274 struct get_selector_entry_request
2276 struct request_header __header;
2277 obj_handle_t handle;
2278 int entry;
2280 struct get_selector_entry_reply
2282 struct reply_header __header;
2283 unsigned int base;
2284 unsigned int limit;
2285 unsigned char flags;
2290 struct add_atom_request
2292 struct request_header __header;
2293 obj_handle_t table;
2294 /* VARARG(name,unicode_str); */
2296 struct add_atom_reply
2298 struct reply_header __header;
2299 atom_t atom;
2304 struct delete_atom_request
2306 struct request_header __header;
2307 obj_handle_t table;
2308 atom_t atom;
2310 struct delete_atom_reply
2312 struct reply_header __header;
2317 struct find_atom_request
2319 struct request_header __header;
2320 obj_handle_t table;
2321 /* VARARG(name,unicode_str); */
2323 struct find_atom_reply
2325 struct reply_header __header;
2326 atom_t atom;
2331 struct get_atom_information_request
2333 struct request_header __header;
2334 obj_handle_t table;
2335 atom_t atom;
2337 struct get_atom_information_reply
2339 struct reply_header __header;
2340 int count;
2341 int pinned;
2342 data_size_t total;
2343 /* VARARG(name,unicode_str); */
2348 struct set_atom_information_request
2350 struct request_header __header;
2351 obj_handle_t table;
2352 atom_t atom;
2353 int pinned;
2355 struct set_atom_information_reply
2357 struct reply_header __header;
2362 struct empty_atom_table_request
2364 struct request_header __header;
2365 obj_handle_t table;
2366 int if_pinned;
2368 struct empty_atom_table_reply
2370 struct reply_header __header;
2375 struct init_atom_table_request
2377 struct request_header __header;
2378 int entries;
2380 struct init_atom_table_reply
2382 struct reply_header __header;
2383 obj_handle_t table;
2388 struct get_msg_queue_request
2390 struct request_header __header;
2392 struct get_msg_queue_reply
2394 struct reply_header __header;
2395 obj_handle_t handle;
2400 struct set_queue_fd_request
2402 struct request_header __header;
2403 obj_handle_t handle;
2405 struct set_queue_fd_reply
2407 struct reply_header __header;
2412 struct set_queue_mask_request
2414 struct request_header __header;
2415 unsigned int wake_mask;
2416 unsigned int changed_mask;
2417 int skip_wait;
2419 struct set_queue_mask_reply
2421 struct reply_header __header;
2422 unsigned int wake_bits;
2423 unsigned int changed_bits;
2428 struct get_queue_status_request
2430 struct request_header __header;
2431 int clear;
2433 struct get_queue_status_reply
2435 struct reply_header __header;
2436 unsigned int wake_bits;
2437 unsigned int changed_bits;
2442 struct get_process_idle_event_request
2444 struct request_header __header;
2445 obj_handle_t handle;
2447 struct get_process_idle_event_reply
2449 struct reply_header __header;
2450 obj_handle_t event;
2455 struct send_message_request
2457 struct request_header __header;
2458 thread_id_t id;
2459 int type;
2460 int flags;
2461 user_handle_t win;
2462 unsigned int msg;
2463 lparam_t wparam;
2464 lparam_t lparam;
2465 timeout_t timeout;
2466 /* VARARG(data,message_data); */
2468 struct send_message_reply
2470 struct reply_header __header;
2473 struct post_quit_message_request
2475 struct request_header __header;
2476 int exit_code;
2478 struct post_quit_message_reply
2480 struct reply_header __header;
2483 enum message_type
2485 MSG_ASCII,
2486 MSG_UNICODE,
2487 MSG_NOTIFY,
2488 MSG_CALLBACK,
2489 MSG_CALLBACK_RESULT,
2490 MSG_OTHER_PROCESS,
2491 MSG_POSTED,
2492 MSG_HARDWARE,
2493 MSG_WINEVENT
2495 #define SEND_MSG_ABORT_IF_HUNG 0x01
2499 struct send_hardware_message_request
2501 struct request_header __header;
2502 thread_id_t id;
2503 user_handle_t win;
2504 unsigned int msg;
2505 lparam_t wparam;
2506 lparam_t lparam;
2507 lparam_t info;
2508 int x;
2509 int y;
2510 unsigned int time;
2512 struct send_hardware_message_reply
2514 struct reply_header __header;
2519 struct get_message_request
2521 struct request_header __header;
2522 unsigned int flags;
2523 user_handle_t get_win;
2524 unsigned int get_first;
2525 unsigned int get_last;
2526 unsigned int hw_id;
2527 unsigned int wake_mask;
2528 unsigned int changed_mask;
2530 struct get_message_reply
2532 struct reply_header __header;
2533 user_handle_t win;
2534 unsigned int msg;
2535 lparam_t wparam;
2536 lparam_t lparam;
2537 int type;
2538 unsigned int time;
2539 unsigned int active_hooks;
2540 data_size_t total;
2541 /* VARARG(data,message_data); */
2546 struct reply_message_request
2548 struct request_header __header;
2549 int remove;
2550 lparam_t result;
2551 /* VARARG(data,bytes); */
2553 struct reply_message_reply
2555 struct reply_header __header;
2560 struct accept_hardware_message_request
2562 struct request_header __header;
2563 unsigned int hw_id;
2564 int remove;
2565 user_handle_t new_win;
2567 struct accept_hardware_message_reply
2569 struct reply_header __header;
2574 struct get_message_reply_request
2576 struct request_header __header;
2577 int cancel;
2579 struct get_message_reply_reply
2581 struct reply_header __header;
2582 lparam_t result;
2583 /* VARARG(data,bytes); */
2588 struct set_win_timer_request
2590 struct request_header __header;
2591 user_handle_t win;
2592 unsigned int msg;
2593 unsigned int rate;
2594 lparam_t id;
2595 lparam_t lparam;
2597 struct set_win_timer_reply
2599 struct reply_header __header;
2600 lparam_t id;
2605 struct kill_win_timer_request
2607 struct request_header __header;
2608 user_handle_t win;
2609 lparam_t id;
2610 unsigned int msg;
2612 struct kill_win_timer_reply
2614 struct reply_header __header;
2619 struct is_window_hung_request
2621 struct request_header __header;
2622 user_handle_t win;
2624 struct is_window_hung_reply
2626 struct reply_header __header;
2627 int is_hung;
2632 struct get_serial_info_request
2634 struct request_header __header;
2635 obj_handle_t handle;
2637 struct get_serial_info_reply
2639 struct reply_header __header;
2640 unsigned int readinterval;
2641 unsigned int readconst;
2642 unsigned int readmult;
2643 unsigned int writeconst;
2644 unsigned int writemult;
2645 unsigned int eventmask;
2650 struct set_serial_info_request
2652 struct request_header __header;
2653 obj_handle_t handle;
2654 int flags;
2655 unsigned int readinterval;
2656 unsigned int readconst;
2657 unsigned int readmult;
2658 unsigned int writeconst;
2659 unsigned int writemult;
2660 unsigned int eventmask;
2662 struct set_serial_info_reply
2664 struct reply_header __header;
2666 #define SERIALINFO_SET_TIMEOUTS 0x01
2667 #define SERIALINFO_SET_MASK 0x02
2671 struct register_async_request
2673 struct request_header __header;
2674 obj_handle_t handle;
2675 int type;
2676 int count;
2677 async_data_t async;
2679 struct register_async_reply
2681 struct reply_header __header;
2683 #define ASYNC_TYPE_READ 0x01
2684 #define ASYNC_TYPE_WRITE 0x02
2685 #define ASYNC_TYPE_WAIT 0x03
2689 struct cancel_async_request
2691 struct request_header __header;
2692 obj_handle_t handle;
2694 struct cancel_async_reply
2696 struct reply_header __header;
2701 struct ioctl_request
2703 struct request_header __header;
2704 obj_handle_t handle;
2705 ioctl_code_t code;
2706 async_data_t async;
2707 /* VARARG(in_data,bytes); */
2709 struct ioctl_reply
2711 struct reply_header __header;
2712 obj_handle_t wait;
2713 unsigned int options;
2714 /* VARARG(out_data,bytes); */
2719 struct get_ioctl_result_request
2721 struct request_header __header;
2722 obj_handle_t handle;
2723 void* user_arg;
2725 struct get_ioctl_result_reply
2727 struct reply_header __header;
2728 /* VARARG(out_data,bytes); */
2733 struct create_named_pipe_request
2735 struct request_header __header;
2736 unsigned int access;
2737 unsigned int attributes;
2738 obj_handle_t rootdir;
2739 unsigned int options;
2740 unsigned int flags;
2741 unsigned int maxinstances;
2742 unsigned int outsize;
2743 unsigned int insize;
2744 timeout_t timeout;
2745 /* VARARG(name,unicode_str); */
2747 struct create_named_pipe_reply
2749 struct reply_header __header;
2750 obj_handle_t handle;
2754 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
2755 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
2756 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
2757 #define NAMED_PIPE_SERVER_END 0x8000
2760 struct get_named_pipe_info_request
2762 struct request_header __header;
2763 obj_handle_t handle;
2765 struct get_named_pipe_info_reply
2767 struct reply_header __header;
2768 unsigned int flags;
2769 unsigned int maxinstances;
2770 unsigned int instances;
2771 unsigned int outsize;
2772 unsigned int insize;
2777 struct create_window_request
2779 struct request_header __header;
2780 user_handle_t parent;
2781 user_handle_t owner;
2782 atom_t atom;
2783 void* instance;
2784 /* VARARG(class,unicode_str); */
2786 struct create_window_reply
2788 struct reply_header __header;
2789 user_handle_t handle;
2790 user_handle_t parent;
2791 user_handle_t owner;
2792 int extra;
2793 void* class_ptr;
2798 struct destroy_window_request
2800 struct request_header __header;
2801 user_handle_t handle;
2803 struct destroy_window_reply
2805 struct reply_header __header;
2810 struct get_desktop_window_request
2812 struct request_header __header;
2813 int force;
2815 struct get_desktop_window_reply
2817 struct reply_header __header;
2818 user_handle_t top_window;
2819 user_handle_t msg_window;
2824 struct set_window_owner_request
2826 struct request_header __header;
2827 user_handle_t handle;
2828 user_handle_t owner;
2830 struct set_window_owner_reply
2832 struct reply_header __header;
2833 user_handle_t full_owner;
2834 user_handle_t prev_owner;
2839 struct get_window_info_request
2841 struct request_header __header;
2842 user_handle_t handle;
2844 struct get_window_info_reply
2846 struct reply_header __header;
2847 user_handle_t full_handle;
2848 user_handle_t last_active;
2849 process_id_t pid;
2850 thread_id_t tid;
2851 atom_t atom;
2852 int is_unicode;
2857 struct set_window_info_request
2859 struct request_header __header;
2860 unsigned int flags;
2861 user_handle_t handle;
2862 unsigned int style;
2863 unsigned int ex_style;
2864 unsigned int id;
2865 int is_unicode;
2866 void* instance;
2867 lparam_t user_data;
2868 int extra_offset;
2869 data_size_t extra_size;
2870 lparam_t extra_value;
2872 struct set_window_info_reply
2874 struct reply_header __header;
2875 unsigned int old_style;
2876 unsigned int old_ex_style;
2877 unsigned int old_id;
2878 void* old_instance;
2879 lparam_t old_user_data;
2880 lparam_t old_extra_value;
2882 #define SET_WIN_STYLE 0x01
2883 #define SET_WIN_EXSTYLE 0x02
2884 #define SET_WIN_ID 0x04
2885 #define SET_WIN_INSTANCE 0x08
2886 #define SET_WIN_USERDATA 0x10
2887 #define SET_WIN_EXTRA 0x20
2888 #define SET_WIN_UNICODE 0x40
2892 struct set_parent_request
2894 struct request_header __header;
2895 user_handle_t handle;
2896 user_handle_t parent;
2898 struct set_parent_reply
2900 struct reply_header __header;
2901 user_handle_t old_parent;
2902 user_handle_t full_parent;
2907 struct get_window_parents_request
2909 struct request_header __header;
2910 user_handle_t handle;
2912 struct get_window_parents_reply
2914 struct reply_header __header;
2915 int count;
2916 /* VARARG(parents,user_handles); */
2921 struct get_window_children_request
2923 struct request_header __header;
2924 obj_handle_t desktop;
2925 user_handle_t parent;
2926 atom_t atom;
2927 thread_id_t tid;
2928 /* VARARG(class,unicode_str); */
2930 struct get_window_children_reply
2932 struct reply_header __header;
2933 int count;
2934 /* VARARG(children,user_handles); */
2939 struct get_window_children_from_point_request
2941 struct request_header __header;
2942 user_handle_t parent;
2943 int x;
2944 int y;
2946 struct get_window_children_from_point_reply
2948 struct reply_header __header;
2949 int count;
2950 /* VARARG(children,user_handles); */
2955 struct get_window_tree_request
2957 struct request_header __header;
2958 user_handle_t handle;
2960 struct get_window_tree_reply
2962 struct reply_header __header;
2963 user_handle_t parent;
2964 user_handle_t owner;
2965 user_handle_t next_sibling;
2966 user_handle_t prev_sibling;
2967 user_handle_t first_sibling;
2968 user_handle_t last_sibling;
2969 user_handle_t first_child;
2970 user_handle_t last_child;
2974 struct set_window_pos_request
2976 struct request_header __header;
2977 unsigned int flags;
2978 user_handle_t handle;
2979 user_handle_t previous;
2980 rectangle_t window;
2981 rectangle_t client;
2982 /* VARARG(valid,rectangles); */
2984 struct set_window_pos_reply
2986 struct reply_header __header;
2987 unsigned int new_style;
2988 unsigned int new_ex_style;
2993 struct get_window_rectangles_request
2995 struct request_header __header;
2996 user_handle_t handle;
2998 struct get_window_rectangles_reply
3000 struct reply_header __header;
3001 rectangle_t window;
3002 rectangle_t visible;
3003 rectangle_t client;
3008 struct get_window_text_request
3010 struct request_header __header;
3011 user_handle_t handle;
3013 struct get_window_text_reply
3015 struct reply_header __header;
3016 /* VARARG(text,unicode_str); */
3021 struct set_window_text_request
3023 struct request_header __header;
3024 user_handle_t handle;
3025 /* VARARG(text,unicode_str); */
3027 struct set_window_text_reply
3029 struct reply_header __header;
3034 struct get_windows_offset_request
3036 struct request_header __header;
3037 user_handle_t from;
3038 user_handle_t to;
3040 struct get_windows_offset_reply
3042 struct reply_header __header;
3043 int x;
3044 int y;
3049 struct get_visible_region_request
3051 struct request_header __header;
3052 user_handle_t window;
3053 unsigned int flags;
3055 struct get_visible_region_reply
3057 struct reply_header __header;
3058 user_handle_t top_win;
3059 rectangle_t top_rect;
3060 rectangle_t win_rect;
3061 data_size_t total_size;
3062 /* VARARG(region,rectangles); */
3067 struct get_window_region_request
3069 struct request_header __header;
3070 user_handle_t window;
3072 struct get_window_region_reply
3074 struct reply_header __header;
3075 data_size_t total_size;
3076 /* VARARG(region,rectangles); */
3081 struct set_window_region_request
3083 struct request_header __header;
3084 user_handle_t window;
3085 int redraw;
3086 /* VARARG(region,rectangles); */
3088 struct set_window_region_reply
3090 struct reply_header __header;
3095 struct get_update_region_request
3097 struct request_header __header;
3098 user_handle_t window;
3099 user_handle_t from_child;
3100 unsigned int flags;
3102 struct get_update_region_reply
3104 struct reply_header __header;
3105 user_handle_t child;
3106 unsigned int flags;
3107 data_size_t total_size;
3108 /* VARARG(region,rectangles); */
3110 #define UPDATE_NONCLIENT 0x01
3111 #define UPDATE_ERASE 0x02
3112 #define UPDATE_PAINT 0x04
3113 #define UPDATE_INTERNALPAINT 0x08
3114 #define UPDATE_ALLCHILDREN 0x10
3115 #define UPDATE_NOCHILDREN 0x20
3116 #define UPDATE_NOREGION 0x40
3117 #define UPDATE_DELAYED_ERASE 0x80
3121 struct update_window_zorder_request
3123 struct request_header __header;
3124 user_handle_t window;
3125 rectangle_t rect;
3127 struct update_window_zorder_reply
3129 struct reply_header __header;
3134 struct redraw_window_request
3136 struct request_header __header;
3137 user_handle_t window;
3138 unsigned int flags;
3139 /* VARARG(region,rectangles); */
3141 struct redraw_window_reply
3143 struct reply_header __header;
3148 struct set_window_property_request
3150 struct request_header __header;
3151 user_handle_t window;
3152 lparam_t data;
3153 atom_t atom;
3154 /* VARARG(name,unicode_str); */
3156 struct set_window_property_reply
3158 struct reply_header __header;
3163 struct remove_window_property_request
3165 struct request_header __header;
3166 user_handle_t window;
3167 atom_t atom;
3168 /* VARARG(name,unicode_str); */
3170 struct remove_window_property_reply
3172 struct reply_header __header;
3173 lparam_t data;
3178 struct get_window_property_request
3180 struct request_header __header;
3181 user_handle_t window;
3182 atom_t atom;
3183 /* VARARG(name,unicode_str); */
3185 struct get_window_property_reply
3187 struct reply_header __header;
3188 lparam_t data;
3193 struct get_window_properties_request
3195 struct request_header __header;
3196 user_handle_t window;
3198 struct get_window_properties_reply
3200 struct reply_header __header;
3201 int total;
3202 /* VARARG(props,properties); */
3207 struct create_winstation_request
3209 struct request_header __header;
3210 unsigned int flags;
3211 unsigned int access;
3212 unsigned int attributes;
3213 /* VARARG(name,unicode_str); */
3215 struct create_winstation_reply
3217 struct reply_header __header;
3218 obj_handle_t handle;
3223 struct open_winstation_request
3225 struct request_header __header;
3226 unsigned int access;
3227 unsigned int attributes;
3228 /* VARARG(name,unicode_str); */
3230 struct open_winstation_reply
3232 struct reply_header __header;
3233 obj_handle_t handle;
3238 struct close_winstation_request
3240 struct request_header __header;
3241 obj_handle_t handle;
3243 struct close_winstation_reply
3245 struct reply_header __header;
3250 struct get_process_winstation_request
3252 struct request_header __header;
3254 struct get_process_winstation_reply
3256 struct reply_header __header;
3257 obj_handle_t handle;
3262 struct set_process_winstation_request
3264 struct request_header __header;
3265 obj_handle_t handle;
3267 struct set_process_winstation_reply
3269 struct reply_header __header;
3274 struct enum_winstation_request
3276 struct request_header __header;
3277 unsigned int index;
3279 struct enum_winstation_reply
3281 struct reply_header __header;
3282 unsigned int next;
3283 /* VARARG(name,unicode_str); */
3288 struct create_desktop_request
3290 struct request_header __header;
3291 unsigned int flags;
3292 unsigned int access;
3293 unsigned int attributes;
3294 /* VARARG(name,unicode_str); */
3296 struct create_desktop_reply
3298 struct reply_header __header;
3299 obj_handle_t handle;
3304 struct open_desktop_request
3306 struct request_header __header;
3307 obj_handle_t winsta;
3308 unsigned int flags;
3309 unsigned int access;
3310 unsigned int attributes;
3311 /* VARARG(name,unicode_str); */
3313 struct open_desktop_reply
3315 struct reply_header __header;
3316 obj_handle_t handle;
3321 struct close_desktop_request
3323 struct request_header __header;
3324 obj_handle_t handle;
3326 struct close_desktop_reply
3328 struct reply_header __header;
3333 struct get_thread_desktop_request
3335 struct request_header __header;
3336 thread_id_t tid;
3338 struct get_thread_desktop_reply
3340 struct reply_header __header;
3341 obj_handle_t handle;
3346 struct set_thread_desktop_request
3348 struct request_header __header;
3349 obj_handle_t handle;
3351 struct set_thread_desktop_reply
3353 struct reply_header __header;
3358 struct enum_desktop_request
3360 struct request_header __header;
3361 obj_handle_t winstation;
3362 unsigned int index;
3364 struct enum_desktop_reply
3366 struct reply_header __header;
3367 unsigned int next;
3368 /* VARARG(name,unicode_str); */
3373 struct set_user_object_info_request
3375 struct request_header __header;
3376 obj_handle_t handle;
3377 unsigned int flags;
3378 unsigned int obj_flags;
3380 struct set_user_object_info_reply
3382 struct reply_header __header;
3383 int is_desktop;
3384 unsigned int old_obj_flags;
3385 /* VARARG(name,unicode_str); */
3387 #define SET_USER_OBJECT_FLAGS 1
3391 struct attach_thread_input_request
3393 struct request_header __header;
3394 thread_id_t tid_from;
3395 thread_id_t tid_to;
3396 int attach;
3398 struct attach_thread_input_reply
3400 struct reply_header __header;
3405 struct get_thread_input_request
3407 struct request_header __header;
3408 thread_id_t tid;
3410 struct get_thread_input_reply
3412 struct reply_header __header;
3413 user_handle_t focus;
3414 user_handle_t capture;
3415 user_handle_t active;
3416 user_handle_t foreground;
3417 user_handle_t menu_owner;
3418 user_handle_t move_size;
3419 user_handle_t caret;
3420 rectangle_t rect;
3425 struct get_last_input_time_request
3427 struct request_header __header;
3429 struct get_last_input_time_reply
3431 struct reply_header __header;
3432 unsigned int time;
3437 struct get_key_state_request
3439 struct request_header __header;
3440 thread_id_t tid;
3441 int key;
3443 struct get_key_state_reply
3445 struct reply_header __header;
3446 unsigned char state;
3447 /* VARARG(keystate,bytes); */
3451 struct set_key_state_request
3453 struct request_header __header;
3454 thread_id_t tid;
3455 /* VARARG(keystate,bytes); */
3457 struct set_key_state_reply
3459 struct reply_header __header;
3463 struct set_foreground_window_request
3465 struct request_header __header;
3466 user_handle_t handle;
3468 struct set_foreground_window_reply
3470 struct reply_header __header;
3471 user_handle_t previous;
3472 int send_msg_old;
3473 int send_msg_new;
3477 struct set_focus_window_request
3479 struct request_header __header;
3480 user_handle_t handle;
3482 struct set_focus_window_reply
3484 struct reply_header __header;
3485 user_handle_t previous;
3489 struct set_active_window_request
3491 struct request_header __header;
3492 user_handle_t handle;
3494 struct set_active_window_reply
3496 struct reply_header __header;
3497 user_handle_t previous;
3501 struct set_capture_window_request
3503 struct request_header __header;
3504 user_handle_t handle;
3505 unsigned int flags;
3507 struct set_capture_window_reply
3509 struct reply_header __header;
3510 user_handle_t previous;
3511 user_handle_t full_handle;
3513 #define CAPTURE_MENU 0x01
3514 #define CAPTURE_MOVESIZE 0x02
3518 struct set_caret_window_request
3520 struct request_header __header;
3521 user_handle_t handle;
3522 int width;
3523 int height;
3525 struct set_caret_window_reply
3527 struct reply_header __header;
3528 user_handle_t previous;
3529 rectangle_t old_rect;
3530 int old_hide;
3531 int old_state;
3536 struct set_caret_info_request
3538 struct request_header __header;
3539 unsigned int flags;
3540 user_handle_t handle;
3541 int x;
3542 int y;
3543 int hide;
3544 int state;
3546 struct set_caret_info_reply
3548 struct reply_header __header;
3549 user_handle_t full_handle;
3550 rectangle_t old_rect;
3551 int old_hide;
3552 int old_state;
3554 #define SET_CARET_POS 0x01
3555 #define SET_CARET_HIDE 0x02
3556 #define SET_CARET_STATE 0x04
3560 struct set_hook_request
3562 struct request_header __header;
3563 int id;
3564 process_id_t pid;
3565 thread_id_t tid;
3566 int event_min;
3567 int event_max;
3568 int flags;
3569 void* proc;
3570 int unicode;
3571 /* VARARG(module,unicode_str); */
3573 struct set_hook_reply
3575 struct reply_header __header;
3576 user_handle_t handle;
3577 unsigned int active_hooks;
3582 struct remove_hook_request
3584 struct request_header __header;
3585 user_handle_t handle;
3586 int id;
3587 void* proc;
3589 struct remove_hook_reply
3591 struct reply_header __header;
3592 unsigned int active_hooks;
3597 struct start_hook_chain_request
3599 struct request_header __header;
3600 int id;
3601 int event;
3602 user_handle_t window;
3603 int object_id;
3604 int child_id;
3606 struct start_hook_chain_reply
3608 struct reply_header __header;
3609 user_handle_t handle;
3610 process_id_t pid;
3611 thread_id_t tid;
3612 void* proc;
3613 int unicode;
3614 unsigned int active_hooks;
3615 /* VARARG(module,unicode_str); */
3620 struct finish_hook_chain_request
3622 struct request_header __header;
3623 int id;
3625 struct finish_hook_chain_reply
3627 struct reply_header __header;
3632 struct get_hook_info_request
3634 struct request_header __header;
3635 user_handle_t handle;
3636 int get_next;
3637 int event;
3638 user_handle_t window;
3639 int object_id;
3640 int child_id;
3642 struct get_hook_info_reply
3644 struct reply_header __header;
3645 user_handle_t handle;
3646 int id;
3647 process_id_t pid;
3648 thread_id_t tid;
3649 void* proc;
3650 int unicode;
3651 /* VARARG(module,unicode_str); */
3656 struct create_class_request
3658 struct request_header __header;
3659 int local;
3660 atom_t atom;
3661 unsigned int style;
3662 void* instance;
3663 int extra;
3664 int win_extra;
3665 void* client_ptr;
3666 /* VARARG(name,unicode_str); */
3668 struct create_class_reply
3670 struct reply_header __header;
3671 atom_t atom;
3676 struct destroy_class_request
3678 struct request_header __header;
3679 atom_t atom;
3680 void* instance;
3681 /* VARARG(name,unicode_str); */
3683 struct destroy_class_reply
3685 struct reply_header __header;
3686 void* client_ptr;
3691 struct set_class_info_request
3693 struct request_header __header;
3694 user_handle_t window;
3695 unsigned int flags;
3696 atom_t atom;
3697 unsigned int style;
3698 int win_extra;
3699 void* instance;
3700 int extra_offset;
3701 data_size_t extra_size;
3702 lparam_t extra_value;
3704 struct set_class_info_reply
3706 struct reply_header __header;
3707 atom_t old_atom;
3708 unsigned int old_style;
3709 int old_extra;
3710 int old_win_extra;
3711 void* old_instance;
3712 lparam_t old_extra_value;
3714 #define SET_CLASS_ATOM 0x0001
3715 #define SET_CLASS_STYLE 0x0002
3716 #define SET_CLASS_WINEXTRA 0x0004
3717 #define SET_CLASS_INSTANCE 0x0008
3718 #define SET_CLASS_EXTRA 0x0010
3722 struct set_clipboard_info_request
3724 struct request_header __header;
3725 unsigned int flags;
3726 user_handle_t clipboard;
3727 user_handle_t owner;
3728 user_handle_t viewer;
3729 unsigned int seqno;
3731 struct set_clipboard_info_reply
3733 struct reply_header __header;
3734 unsigned int flags;
3735 user_handle_t old_clipboard;
3736 user_handle_t old_owner;
3737 user_handle_t old_viewer;
3738 unsigned int seqno;
3741 #define SET_CB_OPEN 0x001
3742 #define SET_CB_OWNER 0x002
3743 #define SET_CB_VIEWER 0x004
3744 #define SET_CB_SEQNO 0x008
3745 #define SET_CB_RELOWNER 0x010
3746 #define SET_CB_CLOSE 0x020
3747 #define CB_OPEN 0x040
3748 #define CB_OWNER 0x080
3749 #define CB_PROCESS 0x100
3753 struct open_token_request
3755 struct request_header __header;
3756 obj_handle_t handle;
3757 unsigned int access;
3758 unsigned int attributes;
3759 unsigned int flags;
3761 struct open_token_reply
3763 struct reply_header __header;
3764 obj_handle_t token;
3766 #define OPEN_TOKEN_THREAD 1
3767 #define OPEN_TOKEN_AS_SELF 2
3771 struct set_global_windows_request
3773 struct request_header __header;
3774 unsigned int flags;
3775 user_handle_t shell_window;
3776 user_handle_t shell_listview;
3777 user_handle_t progman_window;
3778 user_handle_t taskman_window;
3780 struct set_global_windows_reply
3782 struct reply_header __header;
3783 user_handle_t old_shell_window;
3784 user_handle_t old_shell_listview;
3785 user_handle_t old_progman_window;
3786 user_handle_t old_taskman_window;
3788 #define SET_GLOBAL_SHELL_WINDOWS 0x01
3789 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
3790 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
3793 struct adjust_token_privileges_request
3795 struct request_header __header;
3796 obj_handle_t handle;
3797 int disable_all;
3798 int get_modified_state;
3799 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3801 struct adjust_token_privileges_reply
3803 struct reply_header __header;
3804 unsigned int len;
3805 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3809 struct get_token_privileges_request
3811 struct request_header __header;
3812 obj_handle_t handle;
3814 struct get_token_privileges_reply
3816 struct reply_header __header;
3817 unsigned int len;
3818 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3822 struct check_token_privileges_request
3824 struct request_header __header;
3825 obj_handle_t handle;
3826 int all_required;
3827 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3829 struct check_token_privileges_reply
3831 struct reply_header __header;
3832 int has_privileges;
3833 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3836 struct duplicate_token_request
3838 struct request_header __header;
3839 obj_handle_t handle;
3840 unsigned int access;
3841 unsigned int attributes;
3842 int primary;
3843 int impersonation_level;
3845 struct duplicate_token_reply
3847 struct reply_header __header;
3848 obj_handle_t new_handle;
3851 struct access_check_request
3853 struct request_header __header;
3854 obj_handle_t handle;
3855 unsigned int desired_access;
3856 unsigned int mapping_read;
3857 unsigned int mapping_write;
3858 unsigned int mapping_execute;
3859 unsigned int mapping_all;
3860 /* VARARG(sd,security_descriptor); */
3862 struct access_check_reply
3864 struct reply_header __header;
3865 unsigned int access_granted;
3866 unsigned int access_status;
3867 unsigned int privileges_len;
3868 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
3871 struct get_token_user_request
3873 struct request_header __header;
3874 obj_handle_t handle;
3876 struct get_token_user_reply
3878 struct reply_header __header;
3879 data_size_t user_len;
3880 /* VARARG(user,SID); */
3883 struct get_token_groups_request
3885 struct request_header __header;
3886 obj_handle_t handle;
3888 struct get_token_groups_reply
3890 struct reply_header __header;
3891 data_size_t user_len;
3892 /* VARARG(user,token_groups); */
3895 struct set_security_object_request
3897 struct request_header __header;
3898 obj_handle_t handle;
3899 unsigned int security_info;
3900 /* VARARG(sd,security_descriptor); */
3902 struct set_security_object_reply
3904 struct reply_header __header;
3907 struct get_security_object_request
3909 struct request_header __header;
3910 obj_handle_t handle;
3911 unsigned int security_info;
3913 struct get_security_object_reply
3915 struct reply_header __header;
3916 unsigned int sd_len;
3917 /* VARARG(sd,security_descriptor); */
3921 struct create_mailslot_request
3923 struct request_header __header;
3924 unsigned int access;
3925 unsigned int attributes;
3926 obj_handle_t rootdir;
3927 unsigned int max_msgsize;
3928 timeout_t read_timeout;
3929 /* VARARG(name,unicode_str); */
3931 struct create_mailslot_reply
3933 struct reply_header __header;
3934 obj_handle_t handle;
3939 struct set_mailslot_info_request
3941 struct request_header __header;
3942 obj_handle_t handle;
3943 unsigned int flags;
3944 timeout_t read_timeout;
3946 struct set_mailslot_info_reply
3948 struct reply_header __header;
3949 unsigned int max_msgsize;
3950 timeout_t read_timeout;
3952 #define MAILSLOT_SET_READ_TIMEOUT 1
3956 struct create_directory_request
3958 struct request_header __header;
3959 unsigned int access;
3960 unsigned int attributes;
3961 obj_handle_t rootdir;
3962 /* VARARG(directory_name,unicode_str); */
3964 struct create_directory_reply
3966 struct reply_header __header;
3967 obj_handle_t handle;
3972 struct open_directory_request
3974 struct request_header __header;
3975 unsigned int access;
3976 unsigned int attributes;
3977 obj_handle_t rootdir;
3978 /* VARARG(directory_name,unicode_str); */
3980 struct open_directory_reply
3982 struct reply_header __header;
3983 obj_handle_t handle;
3988 struct get_directory_entry_request
3990 struct request_header __header;
3991 obj_handle_t handle;
3992 unsigned int index;
3994 struct get_directory_entry_reply
3996 struct reply_header __header;
3997 data_size_t name_len;
3998 /* VARARG(name,unicode_str,name_len); */
3999 /* VARARG(type,unicode_str); */
4004 struct create_symlink_request
4006 struct request_header __header;
4007 unsigned int access;
4008 unsigned int attributes;
4009 obj_handle_t rootdir;
4010 data_size_t name_len;
4011 /* VARARG(name,unicode_str,name_len); */
4012 /* VARARG(target_name,unicode_str); */
4014 struct create_symlink_reply
4016 struct reply_header __header;
4017 obj_handle_t handle;
4022 struct open_symlink_request
4024 struct request_header __header;
4025 unsigned int access;
4026 unsigned int attributes;
4027 obj_handle_t rootdir;
4028 /* VARARG(name,unicode_str); */
4030 struct open_symlink_reply
4032 struct reply_header __header;
4033 obj_handle_t handle;
4038 struct query_symlink_request
4040 struct request_header __header;
4041 obj_handle_t handle;
4043 struct query_symlink_reply
4045 struct reply_header __header;
4046 /* VARARG(target_name,unicode_str); */
4051 struct get_object_info_request
4053 struct request_header __header;
4054 obj_handle_t handle;
4056 struct get_object_info_reply
4058 struct reply_header __header;
4059 unsigned int access;
4060 unsigned int ref_count;
4065 struct unlink_object_request
4067 struct request_header __header;
4068 obj_handle_t handle;
4070 struct unlink_object_reply
4072 struct reply_header __header;
4077 struct get_token_impersonation_level_request
4079 struct request_header __header;
4080 obj_handle_t handle;
4082 struct get_token_impersonation_level_reply
4084 struct reply_header __header;
4085 int impersonation_level;
4089 struct allocate_locally_unique_id_request
4091 struct request_header __header;
4093 struct allocate_locally_unique_id_reply
4095 struct reply_header __header;
4096 luid_t luid;
4101 struct create_device_manager_request
4103 struct request_header __header;
4104 unsigned int access;
4105 unsigned int attributes;
4107 struct create_device_manager_reply
4109 struct reply_header __header;
4110 obj_handle_t handle;
4115 struct create_device_request
4117 struct request_header __header;
4118 unsigned int access;
4119 unsigned int attributes;
4120 obj_handle_t rootdir;
4121 obj_handle_t manager;
4122 void* user_ptr;
4123 /* VARARG(name,unicode_str); */
4125 struct create_device_reply
4127 struct reply_header __header;
4128 obj_handle_t handle;
4133 struct delete_device_request
4135 struct request_header __header;
4136 obj_handle_t handle;
4138 struct delete_device_reply
4140 struct reply_header __header;
4145 struct get_next_device_request_request
4147 struct request_header __header;
4148 obj_handle_t manager;
4149 obj_handle_t prev;
4150 unsigned int status;
4151 /* VARARG(prev_data,bytes); */
4153 struct get_next_device_request_reply
4155 struct reply_header __header;
4156 obj_handle_t next;
4157 ioctl_code_t code;
4158 void* user_ptr;
4159 data_size_t in_size;
4160 data_size_t out_size;
4161 /* VARARG(next_data,bytes); */
4166 struct make_process_system_request
4168 struct request_header __header;
4170 struct make_process_system_reply
4172 struct reply_header __header;
4173 obj_handle_t event;
4178 struct get_token_statistics_request
4180 struct request_header __header;
4181 obj_handle_t handle;
4183 struct get_token_statistics_reply
4185 struct reply_header __header;
4186 luid_t token_id;
4187 luid_t modified_id;
4188 int primary;
4189 int impersonation_level;
4190 int group_count;
4191 int privilege_count;
4196 struct create_completion_request
4198 struct request_header __header;
4199 unsigned int access;
4200 unsigned int attributes;
4201 unsigned int concurrent;
4202 obj_handle_t rootdir;
4203 /* VARARG(filename,string); */
4205 struct create_completion_reply
4207 struct reply_header __header;
4208 obj_handle_t handle;
4213 struct open_completion_request
4215 struct request_header __header;
4216 unsigned int access;
4217 unsigned int attributes;
4218 obj_handle_t rootdir;
4219 /* VARARG(filename,string); */
4221 struct open_completion_reply
4223 struct reply_header __header;
4224 obj_handle_t handle;
4229 struct add_completion_request
4231 struct request_header __header;
4232 obj_handle_t handle;
4233 apc_param_t ckey;
4234 apc_param_t cvalue;
4235 unsigned int information;
4236 unsigned int status;
4238 struct add_completion_reply
4240 struct reply_header __header;
4245 struct remove_completion_request
4247 struct request_header __header;
4248 obj_handle_t handle;
4250 struct remove_completion_reply
4252 struct reply_header __header;
4253 apc_param_t ckey;
4254 apc_param_t cvalue;
4255 unsigned int information;
4256 unsigned int status;
4261 struct query_completion_request
4263 struct request_header __header;
4264 obj_handle_t handle;
4266 struct query_completion_reply
4268 struct reply_header __header;
4269 unsigned int depth;
4274 struct set_completion_info_request
4276 struct request_header __header;
4277 obj_handle_t handle;
4278 obj_handle_t chandle;
4279 apc_param_t ckey;
4281 struct set_completion_info_reply
4283 struct reply_header __header;
4288 struct add_fd_completion_request
4290 struct request_header __header;
4291 obj_handle_t handle;
4292 apc_param_t cvalue;
4293 unsigned int status;
4294 unsigned int information;
4296 struct add_fd_completion_reply
4298 struct reply_header __header;
4303 struct get_window_layered_info_request
4305 struct request_header __header;
4306 user_handle_t handle;
4308 struct get_window_layered_info_reply
4310 struct reply_header __header;
4311 unsigned int color_key;
4312 unsigned int alpha;
4313 unsigned int flags;
4318 struct set_window_layered_info_request
4320 struct request_header __header;
4321 user_handle_t handle;
4322 unsigned int color_key;
4323 unsigned int alpha;
4324 unsigned int flags;
4326 struct set_window_layered_info_reply
4328 struct reply_header __header;
4332 enum request
4334 REQ_new_process,
4335 REQ_get_new_process_info,
4336 REQ_new_thread,
4337 REQ_get_startup_info,
4338 REQ_init_process_done,
4339 REQ_init_thread,
4340 REQ_terminate_process,
4341 REQ_terminate_thread,
4342 REQ_get_process_info,
4343 REQ_set_process_info,
4344 REQ_get_thread_info,
4345 REQ_set_thread_info,
4346 REQ_get_dll_info,
4347 REQ_suspend_thread,
4348 REQ_resume_thread,
4349 REQ_load_dll,
4350 REQ_unload_dll,
4351 REQ_queue_apc,
4352 REQ_get_apc_result,
4353 REQ_close_handle,
4354 REQ_set_handle_info,
4355 REQ_dup_handle,
4356 REQ_open_process,
4357 REQ_open_thread,
4358 REQ_select,
4359 REQ_create_event,
4360 REQ_event_op,
4361 REQ_open_event,
4362 REQ_create_mutex,
4363 REQ_release_mutex,
4364 REQ_open_mutex,
4365 REQ_create_semaphore,
4366 REQ_release_semaphore,
4367 REQ_open_semaphore,
4368 REQ_create_file,
4369 REQ_open_file_object,
4370 REQ_alloc_file_handle,
4371 REQ_get_handle_fd,
4372 REQ_flush_file,
4373 REQ_lock_file,
4374 REQ_unlock_file,
4375 REQ_create_socket,
4376 REQ_accept_socket,
4377 REQ_set_socket_event,
4378 REQ_get_socket_event,
4379 REQ_enable_socket_event,
4380 REQ_set_socket_deferred,
4381 REQ_alloc_console,
4382 REQ_free_console,
4383 REQ_get_console_renderer_events,
4384 REQ_open_console,
4385 REQ_get_console_wait_event,
4386 REQ_get_console_mode,
4387 REQ_set_console_mode,
4388 REQ_set_console_input_info,
4389 REQ_get_console_input_info,
4390 REQ_append_console_input_history,
4391 REQ_get_console_input_history,
4392 REQ_create_console_output,
4393 REQ_set_console_output_info,
4394 REQ_get_console_output_info,
4395 REQ_write_console_input,
4396 REQ_read_console_input,
4397 REQ_write_console_output,
4398 REQ_fill_console_output,
4399 REQ_read_console_output,
4400 REQ_move_console_output,
4401 REQ_send_console_signal,
4402 REQ_read_directory_changes,
4403 REQ_read_change,
4404 REQ_create_mapping,
4405 REQ_open_mapping,
4406 REQ_get_mapping_info,
4407 REQ_get_mapping_committed_range,
4408 REQ_add_mapping_committed_range,
4409 REQ_create_snapshot,
4410 REQ_next_process,
4411 REQ_next_thread,
4412 REQ_wait_debug_event,
4413 REQ_queue_exception_event,
4414 REQ_get_exception_status,
4415 REQ_output_debug_string,
4416 REQ_continue_debug_event,
4417 REQ_debug_process,
4418 REQ_debug_break,
4419 REQ_set_debugger_kill_on_exit,
4420 REQ_read_process_memory,
4421 REQ_write_process_memory,
4422 REQ_create_key,
4423 REQ_open_key,
4424 REQ_delete_key,
4425 REQ_flush_key,
4426 REQ_enum_key,
4427 REQ_set_key_value,
4428 REQ_get_key_value,
4429 REQ_enum_key_value,
4430 REQ_delete_key_value,
4431 REQ_load_registry,
4432 REQ_unload_registry,
4433 REQ_save_registry,
4434 REQ_set_registry_notification,
4435 REQ_create_timer,
4436 REQ_open_timer,
4437 REQ_set_timer,
4438 REQ_cancel_timer,
4439 REQ_get_timer_info,
4440 REQ_get_thread_context,
4441 REQ_set_thread_context,
4442 REQ_get_selector_entry,
4443 REQ_add_atom,
4444 REQ_delete_atom,
4445 REQ_find_atom,
4446 REQ_get_atom_information,
4447 REQ_set_atom_information,
4448 REQ_empty_atom_table,
4449 REQ_init_atom_table,
4450 REQ_get_msg_queue,
4451 REQ_set_queue_fd,
4452 REQ_set_queue_mask,
4453 REQ_get_queue_status,
4454 REQ_get_process_idle_event,
4455 REQ_send_message,
4456 REQ_post_quit_message,
4457 REQ_send_hardware_message,
4458 REQ_get_message,
4459 REQ_reply_message,
4460 REQ_accept_hardware_message,
4461 REQ_get_message_reply,
4462 REQ_set_win_timer,
4463 REQ_kill_win_timer,
4464 REQ_is_window_hung,
4465 REQ_get_serial_info,
4466 REQ_set_serial_info,
4467 REQ_register_async,
4468 REQ_cancel_async,
4469 REQ_ioctl,
4470 REQ_get_ioctl_result,
4471 REQ_create_named_pipe,
4472 REQ_get_named_pipe_info,
4473 REQ_create_window,
4474 REQ_destroy_window,
4475 REQ_get_desktop_window,
4476 REQ_set_window_owner,
4477 REQ_get_window_info,
4478 REQ_set_window_info,
4479 REQ_set_parent,
4480 REQ_get_window_parents,
4481 REQ_get_window_children,
4482 REQ_get_window_children_from_point,
4483 REQ_get_window_tree,
4484 REQ_set_window_pos,
4485 REQ_get_window_rectangles,
4486 REQ_get_window_text,
4487 REQ_set_window_text,
4488 REQ_get_windows_offset,
4489 REQ_get_visible_region,
4490 REQ_get_window_region,
4491 REQ_set_window_region,
4492 REQ_get_update_region,
4493 REQ_update_window_zorder,
4494 REQ_redraw_window,
4495 REQ_set_window_property,
4496 REQ_remove_window_property,
4497 REQ_get_window_property,
4498 REQ_get_window_properties,
4499 REQ_create_winstation,
4500 REQ_open_winstation,
4501 REQ_close_winstation,
4502 REQ_get_process_winstation,
4503 REQ_set_process_winstation,
4504 REQ_enum_winstation,
4505 REQ_create_desktop,
4506 REQ_open_desktop,
4507 REQ_close_desktop,
4508 REQ_get_thread_desktop,
4509 REQ_set_thread_desktop,
4510 REQ_enum_desktop,
4511 REQ_set_user_object_info,
4512 REQ_attach_thread_input,
4513 REQ_get_thread_input,
4514 REQ_get_last_input_time,
4515 REQ_get_key_state,
4516 REQ_set_key_state,
4517 REQ_set_foreground_window,
4518 REQ_set_focus_window,
4519 REQ_set_active_window,
4520 REQ_set_capture_window,
4521 REQ_set_caret_window,
4522 REQ_set_caret_info,
4523 REQ_set_hook,
4524 REQ_remove_hook,
4525 REQ_start_hook_chain,
4526 REQ_finish_hook_chain,
4527 REQ_get_hook_info,
4528 REQ_create_class,
4529 REQ_destroy_class,
4530 REQ_set_class_info,
4531 REQ_set_clipboard_info,
4532 REQ_open_token,
4533 REQ_set_global_windows,
4534 REQ_adjust_token_privileges,
4535 REQ_get_token_privileges,
4536 REQ_check_token_privileges,
4537 REQ_duplicate_token,
4538 REQ_access_check,
4539 REQ_get_token_user,
4540 REQ_get_token_groups,
4541 REQ_set_security_object,
4542 REQ_get_security_object,
4543 REQ_create_mailslot,
4544 REQ_set_mailslot_info,
4545 REQ_create_directory,
4546 REQ_open_directory,
4547 REQ_get_directory_entry,
4548 REQ_create_symlink,
4549 REQ_open_symlink,
4550 REQ_query_symlink,
4551 REQ_get_object_info,
4552 REQ_unlink_object,
4553 REQ_get_token_impersonation_level,
4554 REQ_allocate_locally_unique_id,
4555 REQ_create_device_manager,
4556 REQ_create_device,
4557 REQ_delete_device,
4558 REQ_get_next_device_request,
4559 REQ_make_process_system,
4560 REQ_get_token_statistics,
4561 REQ_create_completion,
4562 REQ_open_completion,
4563 REQ_add_completion,
4564 REQ_remove_completion,
4565 REQ_query_completion,
4566 REQ_set_completion_info,
4567 REQ_add_fd_completion,
4568 REQ_get_window_layered_info,
4569 REQ_set_window_layered_info,
4570 REQ_NB_REQUESTS
4573 union generic_request
4575 struct request_max_size max_size;
4576 struct request_header request_header;
4577 struct new_process_request new_process_request;
4578 struct get_new_process_info_request get_new_process_info_request;
4579 struct new_thread_request new_thread_request;
4580 struct get_startup_info_request get_startup_info_request;
4581 struct init_process_done_request init_process_done_request;
4582 struct init_thread_request init_thread_request;
4583 struct terminate_process_request terminate_process_request;
4584 struct terminate_thread_request terminate_thread_request;
4585 struct get_process_info_request get_process_info_request;
4586 struct set_process_info_request set_process_info_request;
4587 struct get_thread_info_request get_thread_info_request;
4588 struct set_thread_info_request set_thread_info_request;
4589 struct get_dll_info_request get_dll_info_request;
4590 struct suspend_thread_request suspend_thread_request;
4591 struct resume_thread_request resume_thread_request;
4592 struct load_dll_request load_dll_request;
4593 struct unload_dll_request unload_dll_request;
4594 struct queue_apc_request queue_apc_request;
4595 struct get_apc_result_request get_apc_result_request;
4596 struct close_handle_request close_handle_request;
4597 struct set_handle_info_request set_handle_info_request;
4598 struct dup_handle_request dup_handle_request;
4599 struct open_process_request open_process_request;
4600 struct open_thread_request open_thread_request;
4601 struct select_request select_request;
4602 struct create_event_request create_event_request;
4603 struct event_op_request event_op_request;
4604 struct open_event_request open_event_request;
4605 struct create_mutex_request create_mutex_request;
4606 struct release_mutex_request release_mutex_request;
4607 struct open_mutex_request open_mutex_request;
4608 struct create_semaphore_request create_semaphore_request;
4609 struct release_semaphore_request release_semaphore_request;
4610 struct open_semaphore_request open_semaphore_request;
4611 struct create_file_request create_file_request;
4612 struct open_file_object_request open_file_object_request;
4613 struct alloc_file_handle_request alloc_file_handle_request;
4614 struct get_handle_fd_request get_handle_fd_request;
4615 struct flush_file_request flush_file_request;
4616 struct lock_file_request lock_file_request;
4617 struct unlock_file_request unlock_file_request;
4618 struct create_socket_request create_socket_request;
4619 struct accept_socket_request accept_socket_request;
4620 struct set_socket_event_request set_socket_event_request;
4621 struct get_socket_event_request get_socket_event_request;
4622 struct enable_socket_event_request enable_socket_event_request;
4623 struct set_socket_deferred_request set_socket_deferred_request;
4624 struct alloc_console_request alloc_console_request;
4625 struct free_console_request free_console_request;
4626 struct get_console_renderer_events_request get_console_renderer_events_request;
4627 struct open_console_request open_console_request;
4628 struct get_console_wait_event_request get_console_wait_event_request;
4629 struct get_console_mode_request get_console_mode_request;
4630 struct set_console_mode_request set_console_mode_request;
4631 struct set_console_input_info_request set_console_input_info_request;
4632 struct get_console_input_info_request get_console_input_info_request;
4633 struct append_console_input_history_request append_console_input_history_request;
4634 struct get_console_input_history_request get_console_input_history_request;
4635 struct create_console_output_request create_console_output_request;
4636 struct set_console_output_info_request set_console_output_info_request;
4637 struct get_console_output_info_request get_console_output_info_request;
4638 struct write_console_input_request write_console_input_request;
4639 struct read_console_input_request read_console_input_request;
4640 struct write_console_output_request write_console_output_request;
4641 struct fill_console_output_request fill_console_output_request;
4642 struct read_console_output_request read_console_output_request;
4643 struct move_console_output_request move_console_output_request;
4644 struct send_console_signal_request send_console_signal_request;
4645 struct read_directory_changes_request read_directory_changes_request;
4646 struct read_change_request read_change_request;
4647 struct create_mapping_request create_mapping_request;
4648 struct open_mapping_request open_mapping_request;
4649 struct get_mapping_info_request get_mapping_info_request;
4650 struct get_mapping_committed_range_request get_mapping_committed_range_request;
4651 struct add_mapping_committed_range_request add_mapping_committed_range_request;
4652 struct create_snapshot_request create_snapshot_request;
4653 struct next_process_request next_process_request;
4654 struct next_thread_request next_thread_request;
4655 struct wait_debug_event_request wait_debug_event_request;
4656 struct queue_exception_event_request queue_exception_event_request;
4657 struct get_exception_status_request get_exception_status_request;
4658 struct output_debug_string_request output_debug_string_request;
4659 struct continue_debug_event_request continue_debug_event_request;
4660 struct debug_process_request debug_process_request;
4661 struct debug_break_request debug_break_request;
4662 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
4663 struct read_process_memory_request read_process_memory_request;
4664 struct write_process_memory_request write_process_memory_request;
4665 struct create_key_request create_key_request;
4666 struct open_key_request open_key_request;
4667 struct delete_key_request delete_key_request;
4668 struct flush_key_request flush_key_request;
4669 struct enum_key_request enum_key_request;
4670 struct set_key_value_request set_key_value_request;
4671 struct get_key_value_request get_key_value_request;
4672 struct enum_key_value_request enum_key_value_request;
4673 struct delete_key_value_request delete_key_value_request;
4674 struct load_registry_request load_registry_request;
4675 struct unload_registry_request unload_registry_request;
4676 struct save_registry_request save_registry_request;
4677 struct set_registry_notification_request set_registry_notification_request;
4678 struct create_timer_request create_timer_request;
4679 struct open_timer_request open_timer_request;
4680 struct set_timer_request set_timer_request;
4681 struct cancel_timer_request cancel_timer_request;
4682 struct get_timer_info_request get_timer_info_request;
4683 struct get_thread_context_request get_thread_context_request;
4684 struct set_thread_context_request set_thread_context_request;
4685 struct get_selector_entry_request get_selector_entry_request;
4686 struct add_atom_request add_atom_request;
4687 struct delete_atom_request delete_atom_request;
4688 struct find_atom_request find_atom_request;
4689 struct get_atom_information_request get_atom_information_request;
4690 struct set_atom_information_request set_atom_information_request;
4691 struct empty_atom_table_request empty_atom_table_request;
4692 struct init_atom_table_request init_atom_table_request;
4693 struct get_msg_queue_request get_msg_queue_request;
4694 struct set_queue_fd_request set_queue_fd_request;
4695 struct set_queue_mask_request set_queue_mask_request;
4696 struct get_queue_status_request get_queue_status_request;
4697 struct get_process_idle_event_request get_process_idle_event_request;
4698 struct send_message_request send_message_request;
4699 struct post_quit_message_request post_quit_message_request;
4700 struct send_hardware_message_request send_hardware_message_request;
4701 struct get_message_request get_message_request;
4702 struct reply_message_request reply_message_request;
4703 struct accept_hardware_message_request accept_hardware_message_request;
4704 struct get_message_reply_request get_message_reply_request;
4705 struct set_win_timer_request set_win_timer_request;
4706 struct kill_win_timer_request kill_win_timer_request;
4707 struct is_window_hung_request is_window_hung_request;
4708 struct get_serial_info_request get_serial_info_request;
4709 struct set_serial_info_request set_serial_info_request;
4710 struct register_async_request register_async_request;
4711 struct cancel_async_request cancel_async_request;
4712 struct ioctl_request ioctl_request;
4713 struct get_ioctl_result_request get_ioctl_result_request;
4714 struct create_named_pipe_request create_named_pipe_request;
4715 struct get_named_pipe_info_request get_named_pipe_info_request;
4716 struct create_window_request create_window_request;
4717 struct destroy_window_request destroy_window_request;
4718 struct get_desktop_window_request get_desktop_window_request;
4719 struct set_window_owner_request set_window_owner_request;
4720 struct get_window_info_request get_window_info_request;
4721 struct set_window_info_request set_window_info_request;
4722 struct set_parent_request set_parent_request;
4723 struct get_window_parents_request get_window_parents_request;
4724 struct get_window_children_request get_window_children_request;
4725 struct get_window_children_from_point_request get_window_children_from_point_request;
4726 struct get_window_tree_request get_window_tree_request;
4727 struct set_window_pos_request set_window_pos_request;
4728 struct get_window_rectangles_request get_window_rectangles_request;
4729 struct get_window_text_request get_window_text_request;
4730 struct set_window_text_request set_window_text_request;
4731 struct get_windows_offset_request get_windows_offset_request;
4732 struct get_visible_region_request get_visible_region_request;
4733 struct get_window_region_request get_window_region_request;
4734 struct set_window_region_request set_window_region_request;
4735 struct get_update_region_request get_update_region_request;
4736 struct update_window_zorder_request update_window_zorder_request;
4737 struct redraw_window_request redraw_window_request;
4738 struct set_window_property_request set_window_property_request;
4739 struct remove_window_property_request remove_window_property_request;
4740 struct get_window_property_request get_window_property_request;
4741 struct get_window_properties_request get_window_properties_request;
4742 struct create_winstation_request create_winstation_request;
4743 struct open_winstation_request open_winstation_request;
4744 struct close_winstation_request close_winstation_request;
4745 struct get_process_winstation_request get_process_winstation_request;
4746 struct set_process_winstation_request set_process_winstation_request;
4747 struct enum_winstation_request enum_winstation_request;
4748 struct create_desktop_request create_desktop_request;
4749 struct open_desktop_request open_desktop_request;
4750 struct close_desktop_request close_desktop_request;
4751 struct get_thread_desktop_request get_thread_desktop_request;
4752 struct set_thread_desktop_request set_thread_desktop_request;
4753 struct enum_desktop_request enum_desktop_request;
4754 struct set_user_object_info_request set_user_object_info_request;
4755 struct attach_thread_input_request attach_thread_input_request;
4756 struct get_thread_input_request get_thread_input_request;
4757 struct get_last_input_time_request get_last_input_time_request;
4758 struct get_key_state_request get_key_state_request;
4759 struct set_key_state_request set_key_state_request;
4760 struct set_foreground_window_request set_foreground_window_request;
4761 struct set_focus_window_request set_focus_window_request;
4762 struct set_active_window_request set_active_window_request;
4763 struct set_capture_window_request set_capture_window_request;
4764 struct set_caret_window_request set_caret_window_request;
4765 struct set_caret_info_request set_caret_info_request;
4766 struct set_hook_request set_hook_request;
4767 struct remove_hook_request remove_hook_request;
4768 struct start_hook_chain_request start_hook_chain_request;
4769 struct finish_hook_chain_request finish_hook_chain_request;
4770 struct get_hook_info_request get_hook_info_request;
4771 struct create_class_request create_class_request;
4772 struct destroy_class_request destroy_class_request;
4773 struct set_class_info_request set_class_info_request;
4774 struct set_clipboard_info_request set_clipboard_info_request;
4775 struct open_token_request open_token_request;
4776 struct set_global_windows_request set_global_windows_request;
4777 struct adjust_token_privileges_request adjust_token_privileges_request;
4778 struct get_token_privileges_request get_token_privileges_request;
4779 struct check_token_privileges_request check_token_privileges_request;
4780 struct duplicate_token_request duplicate_token_request;
4781 struct access_check_request access_check_request;
4782 struct get_token_user_request get_token_user_request;
4783 struct get_token_groups_request get_token_groups_request;
4784 struct set_security_object_request set_security_object_request;
4785 struct get_security_object_request get_security_object_request;
4786 struct create_mailslot_request create_mailslot_request;
4787 struct set_mailslot_info_request set_mailslot_info_request;
4788 struct create_directory_request create_directory_request;
4789 struct open_directory_request open_directory_request;
4790 struct get_directory_entry_request get_directory_entry_request;
4791 struct create_symlink_request create_symlink_request;
4792 struct open_symlink_request open_symlink_request;
4793 struct query_symlink_request query_symlink_request;
4794 struct get_object_info_request get_object_info_request;
4795 struct unlink_object_request unlink_object_request;
4796 struct get_token_impersonation_level_request get_token_impersonation_level_request;
4797 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
4798 struct create_device_manager_request create_device_manager_request;
4799 struct create_device_request create_device_request;
4800 struct delete_device_request delete_device_request;
4801 struct get_next_device_request_request get_next_device_request_request;
4802 struct make_process_system_request make_process_system_request;
4803 struct get_token_statistics_request get_token_statistics_request;
4804 struct create_completion_request create_completion_request;
4805 struct open_completion_request open_completion_request;
4806 struct add_completion_request add_completion_request;
4807 struct remove_completion_request remove_completion_request;
4808 struct query_completion_request query_completion_request;
4809 struct set_completion_info_request set_completion_info_request;
4810 struct add_fd_completion_request add_fd_completion_request;
4811 struct get_window_layered_info_request get_window_layered_info_request;
4812 struct set_window_layered_info_request set_window_layered_info_request;
4814 union generic_reply
4816 struct request_max_size max_size;
4817 struct reply_header reply_header;
4818 struct new_process_reply new_process_reply;
4819 struct get_new_process_info_reply get_new_process_info_reply;
4820 struct new_thread_reply new_thread_reply;
4821 struct get_startup_info_reply get_startup_info_reply;
4822 struct init_process_done_reply init_process_done_reply;
4823 struct init_thread_reply init_thread_reply;
4824 struct terminate_process_reply terminate_process_reply;
4825 struct terminate_thread_reply terminate_thread_reply;
4826 struct get_process_info_reply get_process_info_reply;
4827 struct set_process_info_reply set_process_info_reply;
4828 struct get_thread_info_reply get_thread_info_reply;
4829 struct set_thread_info_reply set_thread_info_reply;
4830 struct get_dll_info_reply get_dll_info_reply;
4831 struct suspend_thread_reply suspend_thread_reply;
4832 struct resume_thread_reply resume_thread_reply;
4833 struct load_dll_reply load_dll_reply;
4834 struct unload_dll_reply unload_dll_reply;
4835 struct queue_apc_reply queue_apc_reply;
4836 struct get_apc_result_reply get_apc_result_reply;
4837 struct close_handle_reply close_handle_reply;
4838 struct set_handle_info_reply set_handle_info_reply;
4839 struct dup_handle_reply dup_handle_reply;
4840 struct open_process_reply open_process_reply;
4841 struct open_thread_reply open_thread_reply;
4842 struct select_reply select_reply;
4843 struct create_event_reply create_event_reply;
4844 struct event_op_reply event_op_reply;
4845 struct open_event_reply open_event_reply;
4846 struct create_mutex_reply create_mutex_reply;
4847 struct release_mutex_reply release_mutex_reply;
4848 struct open_mutex_reply open_mutex_reply;
4849 struct create_semaphore_reply create_semaphore_reply;
4850 struct release_semaphore_reply release_semaphore_reply;
4851 struct open_semaphore_reply open_semaphore_reply;
4852 struct create_file_reply create_file_reply;
4853 struct open_file_object_reply open_file_object_reply;
4854 struct alloc_file_handle_reply alloc_file_handle_reply;
4855 struct get_handle_fd_reply get_handle_fd_reply;
4856 struct flush_file_reply flush_file_reply;
4857 struct lock_file_reply lock_file_reply;
4858 struct unlock_file_reply unlock_file_reply;
4859 struct create_socket_reply create_socket_reply;
4860 struct accept_socket_reply accept_socket_reply;
4861 struct set_socket_event_reply set_socket_event_reply;
4862 struct get_socket_event_reply get_socket_event_reply;
4863 struct enable_socket_event_reply enable_socket_event_reply;
4864 struct set_socket_deferred_reply set_socket_deferred_reply;
4865 struct alloc_console_reply alloc_console_reply;
4866 struct free_console_reply free_console_reply;
4867 struct get_console_renderer_events_reply get_console_renderer_events_reply;
4868 struct open_console_reply open_console_reply;
4869 struct get_console_wait_event_reply get_console_wait_event_reply;
4870 struct get_console_mode_reply get_console_mode_reply;
4871 struct set_console_mode_reply set_console_mode_reply;
4872 struct set_console_input_info_reply set_console_input_info_reply;
4873 struct get_console_input_info_reply get_console_input_info_reply;
4874 struct append_console_input_history_reply append_console_input_history_reply;
4875 struct get_console_input_history_reply get_console_input_history_reply;
4876 struct create_console_output_reply create_console_output_reply;
4877 struct set_console_output_info_reply set_console_output_info_reply;
4878 struct get_console_output_info_reply get_console_output_info_reply;
4879 struct write_console_input_reply write_console_input_reply;
4880 struct read_console_input_reply read_console_input_reply;
4881 struct write_console_output_reply write_console_output_reply;
4882 struct fill_console_output_reply fill_console_output_reply;
4883 struct read_console_output_reply read_console_output_reply;
4884 struct move_console_output_reply move_console_output_reply;
4885 struct send_console_signal_reply send_console_signal_reply;
4886 struct read_directory_changes_reply read_directory_changes_reply;
4887 struct read_change_reply read_change_reply;
4888 struct create_mapping_reply create_mapping_reply;
4889 struct open_mapping_reply open_mapping_reply;
4890 struct get_mapping_info_reply get_mapping_info_reply;
4891 struct get_mapping_committed_range_reply get_mapping_committed_range_reply;
4892 struct add_mapping_committed_range_reply add_mapping_committed_range_reply;
4893 struct create_snapshot_reply create_snapshot_reply;
4894 struct next_process_reply next_process_reply;
4895 struct next_thread_reply next_thread_reply;
4896 struct wait_debug_event_reply wait_debug_event_reply;
4897 struct queue_exception_event_reply queue_exception_event_reply;
4898 struct get_exception_status_reply get_exception_status_reply;
4899 struct output_debug_string_reply output_debug_string_reply;
4900 struct continue_debug_event_reply continue_debug_event_reply;
4901 struct debug_process_reply debug_process_reply;
4902 struct debug_break_reply debug_break_reply;
4903 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
4904 struct read_process_memory_reply read_process_memory_reply;
4905 struct write_process_memory_reply write_process_memory_reply;
4906 struct create_key_reply create_key_reply;
4907 struct open_key_reply open_key_reply;
4908 struct delete_key_reply delete_key_reply;
4909 struct flush_key_reply flush_key_reply;
4910 struct enum_key_reply enum_key_reply;
4911 struct set_key_value_reply set_key_value_reply;
4912 struct get_key_value_reply get_key_value_reply;
4913 struct enum_key_value_reply enum_key_value_reply;
4914 struct delete_key_value_reply delete_key_value_reply;
4915 struct load_registry_reply load_registry_reply;
4916 struct unload_registry_reply unload_registry_reply;
4917 struct save_registry_reply save_registry_reply;
4918 struct set_registry_notification_reply set_registry_notification_reply;
4919 struct create_timer_reply create_timer_reply;
4920 struct open_timer_reply open_timer_reply;
4921 struct set_timer_reply set_timer_reply;
4922 struct cancel_timer_reply cancel_timer_reply;
4923 struct get_timer_info_reply get_timer_info_reply;
4924 struct get_thread_context_reply get_thread_context_reply;
4925 struct set_thread_context_reply set_thread_context_reply;
4926 struct get_selector_entry_reply get_selector_entry_reply;
4927 struct add_atom_reply add_atom_reply;
4928 struct delete_atom_reply delete_atom_reply;
4929 struct find_atom_reply find_atom_reply;
4930 struct get_atom_information_reply get_atom_information_reply;
4931 struct set_atom_information_reply set_atom_information_reply;
4932 struct empty_atom_table_reply empty_atom_table_reply;
4933 struct init_atom_table_reply init_atom_table_reply;
4934 struct get_msg_queue_reply get_msg_queue_reply;
4935 struct set_queue_fd_reply set_queue_fd_reply;
4936 struct set_queue_mask_reply set_queue_mask_reply;
4937 struct get_queue_status_reply get_queue_status_reply;
4938 struct get_process_idle_event_reply get_process_idle_event_reply;
4939 struct send_message_reply send_message_reply;
4940 struct post_quit_message_reply post_quit_message_reply;
4941 struct send_hardware_message_reply send_hardware_message_reply;
4942 struct get_message_reply get_message_reply;
4943 struct reply_message_reply reply_message_reply;
4944 struct accept_hardware_message_reply accept_hardware_message_reply;
4945 struct get_message_reply_reply get_message_reply_reply;
4946 struct set_win_timer_reply set_win_timer_reply;
4947 struct kill_win_timer_reply kill_win_timer_reply;
4948 struct is_window_hung_reply is_window_hung_reply;
4949 struct get_serial_info_reply get_serial_info_reply;
4950 struct set_serial_info_reply set_serial_info_reply;
4951 struct register_async_reply register_async_reply;
4952 struct cancel_async_reply cancel_async_reply;
4953 struct ioctl_reply ioctl_reply;
4954 struct get_ioctl_result_reply get_ioctl_result_reply;
4955 struct create_named_pipe_reply create_named_pipe_reply;
4956 struct get_named_pipe_info_reply get_named_pipe_info_reply;
4957 struct create_window_reply create_window_reply;
4958 struct destroy_window_reply destroy_window_reply;
4959 struct get_desktop_window_reply get_desktop_window_reply;
4960 struct set_window_owner_reply set_window_owner_reply;
4961 struct get_window_info_reply get_window_info_reply;
4962 struct set_window_info_reply set_window_info_reply;
4963 struct set_parent_reply set_parent_reply;
4964 struct get_window_parents_reply get_window_parents_reply;
4965 struct get_window_children_reply get_window_children_reply;
4966 struct get_window_children_from_point_reply get_window_children_from_point_reply;
4967 struct get_window_tree_reply get_window_tree_reply;
4968 struct set_window_pos_reply set_window_pos_reply;
4969 struct get_window_rectangles_reply get_window_rectangles_reply;
4970 struct get_window_text_reply get_window_text_reply;
4971 struct set_window_text_reply set_window_text_reply;
4972 struct get_windows_offset_reply get_windows_offset_reply;
4973 struct get_visible_region_reply get_visible_region_reply;
4974 struct get_window_region_reply get_window_region_reply;
4975 struct set_window_region_reply set_window_region_reply;
4976 struct get_update_region_reply get_update_region_reply;
4977 struct update_window_zorder_reply update_window_zorder_reply;
4978 struct redraw_window_reply redraw_window_reply;
4979 struct set_window_property_reply set_window_property_reply;
4980 struct remove_window_property_reply remove_window_property_reply;
4981 struct get_window_property_reply get_window_property_reply;
4982 struct get_window_properties_reply get_window_properties_reply;
4983 struct create_winstation_reply create_winstation_reply;
4984 struct open_winstation_reply open_winstation_reply;
4985 struct close_winstation_reply close_winstation_reply;
4986 struct get_process_winstation_reply get_process_winstation_reply;
4987 struct set_process_winstation_reply set_process_winstation_reply;
4988 struct enum_winstation_reply enum_winstation_reply;
4989 struct create_desktop_reply create_desktop_reply;
4990 struct open_desktop_reply open_desktop_reply;
4991 struct close_desktop_reply close_desktop_reply;
4992 struct get_thread_desktop_reply get_thread_desktop_reply;
4993 struct set_thread_desktop_reply set_thread_desktop_reply;
4994 struct enum_desktop_reply enum_desktop_reply;
4995 struct set_user_object_info_reply set_user_object_info_reply;
4996 struct attach_thread_input_reply attach_thread_input_reply;
4997 struct get_thread_input_reply get_thread_input_reply;
4998 struct get_last_input_time_reply get_last_input_time_reply;
4999 struct get_key_state_reply get_key_state_reply;
5000 struct set_key_state_reply set_key_state_reply;
5001 struct set_foreground_window_reply set_foreground_window_reply;
5002 struct set_focus_window_reply set_focus_window_reply;
5003 struct set_active_window_reply set_active_window_reply;
5004 struct set_capture_window_reply set_capture_window_reply;
5005 struct set_caret_window_reply set_caret_window_reply;
5006 struct set_caret_info_reply set_caret_info_reply;
5007 struct set_hook_reply set_hook_reply;
5008 struct remove_hook_reply remove_hook_reply;
5009 struct start_hook_chain_reply start_hook_chain_reply;
5010 struct finish_hook_chain_reply finish_hook_chain_reply;
5011 struct get_hook_info_reply get_hook_info_reply;
5012 struct create_class_reply create_class_reply;
5013 struct destroy_class_reply destroy_class_reply;
5014 struct set_class_info_reply set_class_info_reply;
5015 struct set_clipboard_info_reply set_clipboard_info_reply;
5016 struct open_token_reply open_token_reply;
5017 struct set_global_windows_reply set_global_windows_reply;
5018 struct adjust_token_privileges_reply adjust_token_privileges_reply;
5019 struct get_token_privileges_reply get_token_privileges_reply;
5020 struct check_token_privileges_reply check_token_privileges_reply;
5021 struct duplicate_token_reply duplicate_token_reply;
5022 struct access_check_reply access_check_reply;
5023 struct get_token_user_reply get_token_user_reply;
5024 struct get_token_groups_reply get_token_groups_reply;
5025 struct set_security_object_reply set_security_object_reply;
5026 struct get_security_object_reply get_security_object_reply;
5027 struct create_mailslot_reply create_mailslot_reply;
5028 struct set_mailslot_info_reply set_mailslot_info_reply;
5029 struct create_directory_reply create_directory_reply;
5030 struct open_directory_reply open_directory_reply;
5031 struct get_directory_entry_reply get_directory_entry_reply;
5032 struct create_symlink_reply create_symlink_reply;
5033 struct open_symlink_reply open_symlink_reply;
5034 struct query_symlink_reply query_symlink_reply;
5035 struct get_object_info_reply get_object_info_reply;
5036 struct unlink_object_reply unlink_object_reply;
5037 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
5038 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
5039 struct create_device_manager_reply create_device_manager_reply;
5040 struct create_device_reply create_device_reply;
5041 struct delete_device_reply delete_device_reply;
5042 struct get_next_device_request_reply get_next_device_request_reply;
5043 struct make_process_system_reply make_process_system_reply;
5044 struct get_token_statistics_reply get_token_statistics_reply;
5045 struct create_completion_reply create_completion_reply;
5046 struct open_completion_reply open_completion_reply;
5047 struct add_completion_reply add_completion_reply;
5048 struct remove_completion_reply remove_completion_reply;
5049 struct query_completion_reply query_completion_reply;
5050 struct set_completion_info_reply set_completion_info_reply;
5051 struct add_fd_completion_reply add_fd_completion_reply;
5052 struct get_window_layered_info_reply get_window_layered_info_reply;
5053 struct set_window_layered_info_reply set_window_layered_info_reply;
5056 #define SERVER_PROTOCOL_VERSION 353
5058 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */