server: Add a common structure to store irp parameters.
[wine.git] / include / wine / server_protocol.h
blob639faf4518f52990963b666d05a9765d160b7ca9
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 int 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;
29 typedef unsigned __int64 client_ptr_t;
30 typedef unsigned __int64 affinity_t;
31 typedef client_ptr_t mod_handle_t;
33 struct request_header
35 int req;
36 data_size_t request_size;
37 data_size_t reply_size;
40 struct reply_header
42 unsigned int error;
43 data_size_t reply_size;
48 struct request_max_size
50 int pad[16];
53 #define FIRST_USER_HANDLE 0x0020
54 #define LAST_USER_HANDLE 0xffef
58 typedef union
60 int code;
61 struct
63 int code;
64 int first;
65 unsigned int exc_code;
66 unsigned int flags;
67 client_ptr_t record;
68 client_ptr_t address;
69 int nb_params;
70 int __pad;
71 client_ptr_t params[15];
72 } exception;
73 struct
75 int code;
76 obj_handle_t handle;
77 client_ptr_t teb;
78 client_ptr_t start;
79 } create_thread;
80 struct
82 int code;
83 obj_handle_t file;
84 obj_handle_t process;
85 obj_handle_t thread;
86 mod_handle_t base;
87 int dbg_offset;
88 int dbg_size;
89 client_ptr_t teb;
90 client_ptr_t start;
91 client_ptr_t name;
92 int unicode;
93 } create_process;
94 struct
96 int code;
97 int exit_code;
98 } exit;
99 struct
101 int code;
102 obj_handle_t handle;
103 mod_handle_t base;
104 int dbg_offset;
105 int dbg_size;
106 client_ptr_t name;
107 int unicode;
108 } load_dll;
109 struct
111 int code;
112 int __pad;
113 mod_handle_t base;
114 } unload_dll;
115 } debug_event_t;
118 enum cpu_type
120 CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64
122 typedef int cpu_type_t;
125 typedef struct
127 cpu_type_t cpu;
128 unsigned int flags;
129 union
131 struct { unsigned int eip, ebp, esp, eflags, cs, ss; } i386_regs;
132 struct { unsigned __int64 rip, rbp, rsp;
133 unsigned int cs, ss, flags, __pad; } x86_64_regs;
134 struct { unsigned int iar, msr, ctr, lr, dar, dsisr, trap, __pad; } powerpc_regs;
135 struct { unsigned int sp, lr, pc, cpsr; } arm_regs;
136 struct { unsigned __int64 sp, pc, pstate; } arm64_regs;
137 } ctl;
138 union
140 struct { unsigned int eax, ebx, ecx, edx, esi, edi; } i386_regs;
141 struct { unsigned __int64 rax,rbx, rcx, rdx, rsi, rdi,
142 r8, r9, r10, r11, r12, r13, r14, r15; } x86_64_regs;
143 struct { unsigned int gpr[32], cr, xer; } powerpc_regs;
144 struct { unsigned int r[13]; } arm_regs;
145 struct { unsigned __int64 x[31]; } arm64_regs;
146 } integer;
147 union
149 struct { unsigned int ds, es, fs, gs; } i386_regs;
150 struct { unsigned int ds, es, fs, gs; } x86_64_regs;
151 } seg;
152 union
154 struct { unsigned int ctrl, status, tag, err_off, err_sel, data_off, data_sel, cr0npx;
155 unsigned char regs[80]; } i386_regs;
156 struct { struct { unsigned __int64 low, high; } fpregs[32]; } x86_64_regs;
157 struct { double fpr[32], fpscr; } powerpc_regs;
158 } fp;
159 union
161 struct { unsigned int dr0, dr1, dr2, dr3, dr6, dr7; } i386_regs;
162 struct { unsigned __int64 dr0, dr1, dr2, dr3, dr6, dr7; } x86_64_regs;
163 struct { unsigned int dr[8]; } powerpc_regs;
164 } debug;
165 union
167 unsigned char i386_regs[512];
168 } ext;
169 } context_t;
171 #define SERVER_CTX_CONTROL 0x01
172 #define SERVER_CTX_INTEGER 0x02
173 #define SERVER_CTX_SEGMENTS 0x04
174 #define SERVER_CTX_FLOATING_POINT 0x08
175 #define SERVER_CTX_DEBUG_REGISTERS 0x10
176 #define SERVER_CTX_EXTENDED_REGISTERS 0x20
179 struct send_fd
181 thread_id_t tid;
182 int fd;
186 struct wake_up_reply
188 client_ptr_t cookie;
189 int signaled;
190 int __pad;
194 typedef __int64 timeout_t;
195 #define TIMEOUT_INFINITE (((timeout_t)0x7fffffff) << 32 | 0xffffffff)
198 typedef struct
200 unsigned int debug_flags;
201 unsigned int console_flags;
202 obj_handle_t console;
203 obj_handle_t hstdin;
204 obj_handle_t hstdout;
205 obj_handle_t hstderr;
206 unsigned int x;
207 unsigned int y;
208 unsigned int xsize;
209 unsigned int ysize;
210 unsigned int xchars;
211 unsigned int ychars;
212 unsigned int attribute;
213 unsigned int flags;
214 unsigned int show;
215 data_size_t curdir_len;
216 data_size_t dllpath_len;
217 data_size_t imagepath_len;
218 data_size_t cmdline_len;
219 data_size_t title_len;
220 data_size_t desktop_len;
221 data_size_t shellinfo_len;
222 data_size_t runtime_len;
231 } startup_info_t;
234 typedef struct
236 atom_t atom;
237 int string;
238 lparam_t data;
239 } property_data_t;
242 typedef struct
244 int left;
245 int top;
246 int right;
247 int bottom;
248 } rectangle_t;
251 typedef struct
253 obj_handle_t handle;
254 obj_handle_t event;
255 client_ptr_t callback;
256 client_ptr_t iosb;
257 client_ptr_t arg;
258 apc_param_t cvalue;
259 } async_data_t;
263 struct hardware_msg_data
265 lparam_t info;
266 unsigned int hw_id;
267 unsigned int flags;
268 union
270 int type;
271 struct
273 int type;
274 unsigned int message;
275 unsigned short vkey;
276 unsigned short scan;
277 } kbd;
278 struct
280 int type;
281 int x;
282 int y;
283 unsigned int data;
284 } mouse;
285 } rawinput;
288 struct callback_msg_data
290 client_ptr_t callback;
291 lparam_t data;
292 lparam_t result;
295 struct winevent_msg_data
297 user_handle_t hook;
298 thread_id_t tid;
299 client_ptr_t hook_proc;
303 typedef union
305 int type;
306 struct
308 int type;
309 unsigned short vkey;
310 unsigned short scan;
311 unsigned int flags;
312 unsigned int time;
313 lparam_t info;
314 } kbd;
315 struct
317 int type;
318 int x;
319 int y;
320 unsigned int data;
321 unsigned int flags;
322 unsigned int time;
323 lparam_t info;
324 } mouse;
325 struct
327 int type;
328 unsigned int msg;
329 lparam_t lparam;
330 } hw;
331 } hw_input_t;
333 typedef union
335 unsigned char bytes[1];
336 struct hardware_msg_data hardware;
337 struct callback_msg_data callback;
338 struct winevent_msg_data winevent;
339 } message_data_t;
342 typedef struct
344 WCHAR ch;
345 unsigned short attr;
346 } char_info_t;
349 struct filesystem_event
351 int action;
352 data_size_t len;
353 char name[1];
356 typedef struct
358 unsigned int low_part;
359 int high_part;
360 } luid_t;
362 #define MAX_ACL_LEN 65535
364 struct security_descriptor
366 unsigned int control;
367 data_size_t owner_len;
368 data_size_t group_len;
369 data_size_t sacl_len;
370 data_size_t dacl_len;
377 struct object_attributes
379 obj_handle_t rootdir;
380 data_size_t sd_len;
381 data_size_t name_len;
386 struct token_groups
388 unsigned int count;
393 enum select_op
395 SELECT_NONE,
396 SELECT_WAIT,
397 SELECT_WAIT_ALL,
398 SELECT_SIGNAL_AND_WAIT,
399 SELECT_KEYED_EVENT_WAIT,
400 SELECT_KEYED_EVENT_RELEASE
403 typedef union
405 enum select_op op;
406 struct
408 enum select_op op;
409 obj_handle_t handles[MAXIMUM_WAIT_OBJECTS];
410 } wait;
411 struct
413 enum select_op op;
414 obj_handle_t wait;
415 obj_handle_t signal;
416 } signal_and_wait;
417 struct
419 enum select_op op;
420 obj_handle_t handle;
421 client_ptr_t key;
422 } keyed_event;
423 } select_op_t;
425 enum apc_type
427 APC_NONE,
428 APC_USER,
429 APC_TIMER,
430 APC_ASYNC_IO,
431 APC_VIRTUAL_ALLOC,
432 APC_VIRTUAL_FREE,
433 APC_VIRTUAL_QUERY,
434 APC_VIRTUAL_PROTECT,
435 APC_VIRTUAL_FLUSH,
436 APC_VIRTUAL_LOCK,
437 APC_VIRTUAL_UNLOCK,
438 APC_MAP_VIEW,
439 APC_UNMAP_VIEW,
440 APC_CREATE_THREAD
443 typedef union
445 enum apc_type type;
446 struct
448 enum apc_type type;
449 int __pad;
450 client_ptr_t func;
451 apc_param_t args[3];
452 } user;
453 struct
455 enum apc_type type;
456 int __pad;
457 client_ptr_t func;
458 timeout_t time;
459 client_ptr_t arg;
460 } timer;
461 struct
463 enum apc_type type;
464 unsigned int status;
465 client_ptr_t func;
466 client_ptr_t user;
467 client_ptr_t sb;
468 } async_io;
469 struct
471 enum apc_type type;
472 unsigned int op_type;
473 client_ptr_t addr;
474 mem_size_t size;
475 unsigned int zero_bits;
476 unsigned int prot;
477 } virtual_alloc;
478 struct
480 enum apc_type type;
481 unsigned int op_type;
482 client_ptr_t addr;
483 mem_size_t size;
484 } virtual_free;
485 struct
487 enum apc_type type;
488 int __pad;
489 client_ptr_t addr;
490 } virtual_query;
491 struct
493 enum apc_type type;
494 unsigned int prot;
495 client_ptr_t addr;
496 mem_size_t size;
497 } virtual_protect;
498 struct
500 enum apc_type type;
501 int __pad;
502 client_ptr_t addr;
503 mem_size_t size;
504 } virtual_flush;
505 struct
507 enum apc_type type;
508 int __pad;
509 client_ptr_t addr;
510 mem_size_t size;
511 } virtual_lock;
512 struct
514 enum apc_type type;
515 int __pad;
516 client_ptr_t addr;
517 mem_size_t size;
518 } virtual_unlock;
519 struct
521 enum apc_type type;
522 obj_handle_t handle;
523 client_ptr_t addr;
524 mem_size_t size;
525 file_pos_t offset;
526 unsigned int alloc_type;
527 unsigned short zero_bits;
528 unsigned short prot;
529 } map_view;
530 struct
532 enum apc_type type;
533 int __pad;
534 client_ptr_t addr;
535 } unmap_view;
536 struct
538 enum apc_type type;
539 int suspend;
540 client_ptr_t func;
541 client_ptr_t arg;
542 mem_size_t reserve;
543 mem_size_t commit;
544 } create_thread;
545 } apc_call_t;
547 typedef union
549 enum apc_type type;
550 struct
552 enum apc_type type;
553 unsigned int status;
554 client_ptr_t apc;
555 client_ptr_t arg;
556 unsigned int total;
557 } async_io;
558 struct
560 enum apc_type type;
561 unsigned int status;
562 client_ptr_t addr;
563 mem_size_t size;
564 } virtual_alloc;
565 struct
567 enum apc_type type;
568 unsigned int status;
569 client_ptr_t addr;
570 mem_size_t size;
571 } virtual_free;
572 struct
574 enum apc_type type;
575 unsigned int status;
576 client_ptr_t base;
577 client_ptr_t alloc_base;
578 mem_size_t size;
579 unsigned short state;
580 unsigned short prot;
581 unsigned short alloc_prot;
582 unsigned short alloc_type;
583 } virtual_query;
584 struct
586 enum apc_type type;
587 unsigned int status;
588 client_ptr_t addr;
589 mem_size_t size;
590 unsigned int prot;
591 } virtual_protect;
592 struct
594 enum apc_type type;
595 unsigned int status;
596 client_ptr_t addr;
597 mem_size_t size;
598 } virtual_flush;
599 struct
601 enum apc_type type;
602 unsigned int status;
603 client_ptr_t addr;
604 mem_size_t size;
605 } virtual_lock;
606 struct
608 enum apc_type type;
609 unsigned int status;
610 client_ptr_t addr;
611 mem_size_t size;
612 } virtual_unlock;
613 struct
615 enum apc_type type;
616 unsigned int status;
617 client_ptr_t addr;
618 mem_size_t size;
619 } map_view;
620 struct
622 enum apc_type type;
623 unsigned int status;
624 } unmap_view;
625 struct
627 enum apc_type type;
628 unsigned int status;
629 thread_id_t tid;
630 obj_handle_t handle;
631 } create_thread;
632 } apc_result_t;
634 typedef union
636 unsigned int major;
637 struct
639 unsigned int major;
640 unsigned int key;
641 file_pos_t pos;
642 } read;
643 struct
645 unsigned int major;
646 unsigned int key;
647 file_pos_t pos;
648 } write;
649 struct
651 unsigned int major;
652 ioctl_code_t code;
653 } ioctl;
654 } irp_params_t;
656 struct rawinput_device
658 unsigned short usage_page;
659 unsigned short usage;
660 unsigned int flags;
661 user_handle_t target;
668 struct new_process_request
670 struct request_header __header;
671 int inherit_all;
672 unsigned int create_flags;
673 int socket_fd;
674 obj_handle_t exe_file;
675 unsigned int process_access;
676 unsigned int process_attr;
677 unsigned int thread_access;
678 unsigned int thread_attr;
679 cpu_type_t cpu;
680 data_size_t info_size;
681 /* VARARG(info,startup_info,info_size); */
682 /* VARARG(env,unicode_str); */
683 char __pad_52[4];
685 struct new_process_reply
687 struct reply_header __header;
688 obj_handle_t info;
689 process_id_t pid;
690 obj_handle_t phandle;
691 thread_id_t tid;
692 obj_handle_t thandle;
693 char __pad_28[4];
698 struct get_new_process_info_request
700 struct request_header __header;
701 obj_handle_t info;
703 struct get_new_process_info_reply
705 struct reply_header __header;
706 int success;
707 int exit_code;
712 struct new_thread_request
714 struct request_header __header;
715 unsigned int access;
716 unsigned int attributes;
717 int suspend;
718 int request_fd;
719 char __pad_28[4];
721 struct new_thread_reply
723 struct reply_header __header;
724 thread_id_t tid;
725 obj_handle_t handle;
730 struct get_startup_info_request
732 struct request_header __header;
733 char __pad_12[4];
735 struct get_startup_info_reply
737 struct reply_header __header;
738 obj_handle_t exe_file;
739 data_size_t info_size;
740 /* VARARG(info,startup_info,info_size); */
741 /* VARARG(env,unicode_str); */
746 struct init_process_done_request
748 struct request_header __header;
749 int gui;
750 mod_handle_t module;
751 client_ptr_t ldt_copy;
752 client_ptr_t entry;
754 struct init_process_done_reply
756 struct reply_header __header;
761 struct init_thread_request
763 struct request_header __header;
764 int unix_pid;
765 int unix_tid;
766 int debug_level;
767 client_ptr_t teb;
768 client_ptr_t entry;
769 int reply_fd;
770 int wait_fd;
771 cpu_type_t cpu;
772 char __pad_52[4];
774 struct init_thread_reply
776 struct reply_header __header;
777 process_id_t pid;
778 thread_id_t tid;
779 timeout_t server_start;
780 data_size_t info_size;
781 int version;
782 unsigned int all_cpus;
783 char __pad_36[4];
788 struct terminate_process_request
790 struct request_header __header;
791 obj_handle_t handle;
792 int exit_code;
793 char __pad_20[4];
795 struct terminate_process_reply
797 struct reply_header __header;
798 int self;
799 char __pad_12[4];
804 struct terminate_thread_request
806 struct request_header __header;
807 obj_handle_t handle;
808 int exit_code;
809 char __pad_20[4];
811 struct terminate_thread_reply
813 struct reply_header __header;
814 int self;
815 int last;
820 struct get_process_info_request
822 struct request_header __header;
823 obj_handle_t handle;
825 struct get_process_info_reply
827 struct reply_header __header;
828 process_id_t pid;
829 process_id_t ppid;
830 affinity_t affinity;
831 client_ptr_t peb;
832 timeout_t start_time;
833 timeout_t end_time;
834 int exit_code;
835 int priority;
836 cpu_type_t cpu;
837 int debugger_present;
842 struct set_process_info_request
844 struct request_header __header;
845 obj_handle_t handle;
846 int mask;
847 int priority;
848 affinity_t affinity;
850 struct set_process_info_reply
852 struct reply_header __header;
854 #define SET_PROCESS_INFO_PRIORITY 0x01
855 #define SET_PROCESS_INFO_AFFINITY 0x02
859 struct get_thread_info_request
861 struct request_header __header;
862 obj_handle_t handle;
863 thread_id_t tid_in;
864 char __pad_20[4];
866 struct get_thread_info_reply
868 struct reply_header __header;
869 process_id_t pid;
870 thread_id_t tid;
871 client_ptr_t teb;
872 affinity_t affinity;
873 timeout_t creation_time;
874 timeout_t exit_time;
875 int exit_code;
876 int priority;
877 int last;
878 char __pad_60[4];
883 struct set_thread_info_request
885 struct request_header __header;
886 obj_handle_t handle;
887 int mask;
888 int priority;
889 affinity_t affinity;
890 obj_handle_t token;
891 char __pad_36[4];
893 struct set_thread_info_reply
895 struct reply_header __header;
897 #define SET_THREAD_INFO_PRIORITY 0x01
898 #define SET_THREAD_INFO_AFFINITY 0x02
899 #define SET_THREAD_INFO_TOKEN 0x04
903 struct get_dll_info_request
905 struct request_header __header;
906 obj_handle_t handle;
907 mod_handle_t base_address;
909 struct get_dll_info_reply
911 struct reply_header __header;
912 client_ptr_t entry_point;
913 data_size_t size;
914 data_size_t filename_len;
915 /* VARARG(filename,unicode_str); */
920 struct suspend_thread_request
922 struct request_header __header;
923 obj_handle_t handle;
925 struct suspend_thread_reply
927 struct reply_header __header;
928 int count;
929 char __pad_12[4];
934 struct resume_thread_request
936 struct request_header __header;
937 obj_handle_t handle;
939 struct resume_thread_reply
941 struct reply_header __header;
942 int count;
943 char __pad_12[4];
948 struct load_dll_request
950 struct request_header __header;
951 obj_handle_t mapping;
952 mod_handle_t base;
953 client_ptr_t name;
954 data_size_t size;
955 int dbg_offset;
956 int dbg_size;
957 /* VARARG(filename,unicode_str); */
958 char __pad_44[4];
960 struct load_dll_reply
962 struct reply_header __header;
967 struct unload_dll_request
969 struct request_header __header;
970 char __pad_12[4];
971 mod_handle_t base;
973 struct unload_dll_reply
975 struct reply_header __header;
980 struct queue_apc_request
982 struct request_header __header;
983 obj_handle_t handle;
984 apc_call_t call;
986 struct queue_apc_reply
988 struct reply_header __header;
989 obj_handle_t handle;
990 int self;
995 struct get_apc_result_request
997 struct request_header __header;
998 obj_handle_t handle;
1000 struct get_apc_result_reply
1002 struct reply_header __header;
1003 apc_result_t result;
1008 struct close_handle_request
1010 struct request_header __header;
1011 obj_handle_t handle;
1013 struct close_handle_reply
1015 struct reply_header __header;
1020 struct set_handle_info_request
1022 struct request_header __header;
1023 obj_handle_t handle;
1024 int flags;
1025 int mask;
1027 struct set_handle_info_reply
1029 struct reply_header __header;
1030 int old_flags;
1031 char __pad_12[4];
1036 struct dup_handle_request
1038 struct request_header __header;
1039 obj_handle_t src_process;
1040 obj_handle_t src_handle;
1041 obj_handle_t dst_process;
1042 unsigned int access;
1043 unsigned int attributes;
1044 unsigned int options;
1045 char __pad_36[4];
1047 struct dup_handle_reply
1049 struct reply_header __header;
1050 obj_handle_t handle;
1051 int self;
1052 int closed;
1053 char __pad_20[4];
1055 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
1056 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
1057 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
1061 struct open_process_request
1063 struct request_header __header;
1064 process_id_t pid;
1065 unsigned int access;
1066 unsigned int attributes;
1068 struct open_process_reply
1070 struct reply_header __header;
1071 obj_handle_t handle;
1072 char __pad_12[4];
1077 struct open_thread_request
1079 struct request_header __header;
1080 thread_id_t tid;
1081 unsigned int access;
1082 unsigned int attributes;
1084 struct open_thread_reply
1086 struct reply_header __header;
1087 obj_handle_t handle;
1088 char __pad_12[4];
1093 struct select_request
1095 struct request_header __header;
1096 int flags;
1097 client_ptr_t cookie;
1098 timeout_t timeout;
1099 obj_handle_t prev_apc;
1100 /* VARARG(result,apc_result); */
1101 /* VARARG(data,select_op); */
1102 char __pad_36[4];
1104 struct select_reply
1106 struct reply_header __header;
1107 timeout_t timeout;
1108 apc_call_t call;
1109 obj_handle_t apc_handle;
1110 char __pad_60[4];
1112 #define SELECT_ALERTABLE 1
1113 #define SELECT_INTERRUPTIBLE 2
1117 struct create_event_request
1119 struct request_header __header;
1120 unsigned int access;
1121 unsigned int attributes;
1122 int manual_reset;
1123 int initial_state;
1124 /* VARARG(objattr,object_attributes); */
1125 char __pad_28[4];
1127 struct create_event_reply
1129 struct reply_header __header;
1130 obj_handle_t handle;
1131 char __pad_12[4];
1135 struct event_op_request
1137 struct request_header __header;
1138 obj_handle_t handle;
1139 int op;
1140 char __pad_20[4];
1142 struct event_op_reply
1144 struct reply_header __header;
1146 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
1148 struct query_event_request
1150 struct request_header __header;
1151 obj_handle_t handle;
1153 struct query_event_reply
1155 struct reply_header __header;
1156 int manual_reset;
1157 int state;
1161 struct open_event_request
1163 struct request_header __header;
1164 unsigned int access;
1165 unsigned int attributes;
1166 obj_handle_t rootdir;
1167 /* VARARG(name,unicode_str); */
1169 struct open_event_reply
1171 struct reply_header __header;
1172 obj_handle_t handle;
1173 char __pad_12[4];
1178 struct create_keyed_event_request
1180 struct request_header __header;
1181 unsigned int access;
1182 unsigned int attributes;
1183 /* VARARG(objattr,object_attributes); */
1184 char __pad_20[4];
1186 struct create_keyed_event_reply
1188 struct reply_header __header;
1189 obj_handle_t handle;
1190 char __pad_12[4];
1194 struct open_keyed_event_request
1196 struct request_header __header;
1197 unsigned int access;
1198 unsigned int attributes;
1199 obj_handle_t rootdir;
1200 /* VARARG(name,unicode_str); */
1202 struct open_keyed_event_reply
1204 struct reply_header __header;
1205 obj_handle_t handle;
1206 char __pad_12[4];
1211 struct create_mutex_request
1213 struct request_header __header;
1214 unsigned int access;
1215 unsigned int attributes;
1216 int owned;
1217 /* VARARG(objattr,object_attributes); */
1219 struct create_mutex_reply
1221 struct reply_header __header;
1222 obj_handle_t handle;
1223 char __pad_12[4];
1228 struct release_mutex_request
1230 struct request_header __header;
1231 obj_handle_t handle;
1233 struct release_mutex_reply
1235 struct reply_header __header;
1236 unsigned int prev_count;
1237 char __pad_12[4];
1242 struct open_mutex_request
1244 struct request_header __header;
1245 unsigned int access;
1246 unsigned int attributes;
1247 obj_handle_t rootdir;
1248 /* VARARG(name,unicode_str); */
1250 struct open_mutex_reply
1252 struct reply_header __header;
1253 obj_handle_t handle;
1254 char __pad_12[4];
1259 struct create_semaphore_request
1261 struct request_header __header;
1262 unsigned int access;
1263 unsigned int attributes;
1264 unsigned int initial;
1265 unsigned int max;
1266 /* VARARG(objattr,object_attributes); */
1267 char __pad_28[4];
1269 struct create_semaphore_reply
1271 struct reply_header __header;
1272 obj_handle_t handle;
1273 char __pad_12[4];
1278 struct release_semaphore_request
1280 struct request_header __header;
1281 obj_handle_t handle;
1282 unsigned int count;
1283 char __pad_20[4];
1285 struct release_semaphore_reply
1287 struct reply_header __header;
1288 unsigned int prev_count;
1289 char __pad_12[4];
1292 struct query_semaphore_request
1294 struct request_header __header;
1295 obj_handle_t handle;
1297 struct query_semaphore_reply
1299 struct reply_header __header;
1300 unsigned int current;
1301 unsigned int max;
1305 struct open_semaphore_request
1307 struct request_header __header;
1308 unsigned int access;
1309 unsigned int attributes;
1310 obj_handle_t rootdir;
1311 /* VARARG(name,unicode_str); */
1313 struct open_semaphore_reply
1315 struct reply_header __header;
1316 obj_handle_t handle;
1317 char __pad_12[4];
1322 struct create_file_request
1324 struct request_header __header;
1325 unsigned int access;
1326 unsigned int attributes;
1327 unsigned int sharing;
1328 int create;
1329 unsigned int options;
1330 unsigned int attrs;
1331 /* VARARG(objattr,object_attributes); */
1332 /* VARARG(filename,string); */
1333 char __pad_36[4];
1335 struct create_file_reply
1337 struct reply_header __header;
1338 obj_handle_t handle;
1339 char __pad_12[4];
1344 struct open_file_object_request
1346 struct request_header __header;
1347 unsigned int access;
1348 unsigned int attributes;
1349 obj_handle_t rootdir;
1350 unsigned int sharing;
1351 unsigned int options;
1352 /* VARARG(filename,unicode_str); */
1354 struct open_file_object_reply
1356 struct reply_header __header;
1357 obj_handle_t handle;
1358 char __pad_12[4];
1363 struct alloc_file_handle_request
1365 struct request_header __header;
1366 unsigned int access;
1367 unsigned int attributes;
1368 int fd;
1370 struct alloc_file_handle_reply
1372 struct reply_header __header;
1373 obj_handle_t handle;
1374 char __pad_12[4];
1379 struct get_handle_unix_name_request
1381 struct request_header __header;
1382 obj_handle_t handle;
1384 struct get_handle_unix_name_reply
1386 struct reply_header __header;
1387 data_size_t name_len;
1388 /* VARARG(name,string); */
1389 char __pad_12[4];
1394 struct get_handle_fd_request
1396 struct request_header __header;
1397 obj_handle_t handle;
1399 struct get_handle_fd_reply
1401 struct reply_header __header;
1402 int type;
1403 int cacheable;
1404 unsigned int access;
1405 unsigned int options;
1407 enum server_fd_type
1409 FD_TYPE_INVALID,
1410 FD_TYPE_FILE,
1411 FD_TYPE_DIR,
1412 FD_TYPE_SOCKET,
1413 FD_TYPE_SERIAL,
1414 FD_TYPE_PIPE,
1415 FD_TYPE_MAILSLOT,
1416 FD_TYPE_CHAR,
1417 FD_TYPE_DEVICE,
1418 FD_TYPE_NB_TYPES
1423 struct flush_request
1425 struct request_header __header;
1426 int blocking;
1427 async_data_t async;
1429 struct flush_reply
1431 struct reply_header __header;
1432 obj_handle_t event;
1433 char __pad_12[4];
1438 struct lock_file_request
1440 struct request_header __header;
1441 obj_handle_t handle;
1442 file_pos_t offset;
1443 file_pos_t count;
1444 int shared;
1445 int wait;
1447 struct lock_file_reply
1449 struct reply_header __header;
1450 obj_handle_t handle;
1451 int overlapped;
1456 struct unlock_file_request
1458 struct request_header __header;
1459 obj_handle_t handle;
1460 file_pos_t offset;
1461 file_pos_t count;
1463 struct unlock_file_reply
1465 struct reply_header __header;
1470 struct create_socket_request
1472 struct request_header __header;
1473 unsigned int access;
1474 unsigned int attributes;
1475 int family;
1476 int type;
1477 int protocol;
1478 unsigned int flags;
1479 char __pad_36[4];
1481 struct create_socket_reply
1483 struct reply_header __header;
1484 obj_handle_t handle;
1485 char __pad_12[4];
1490 struct accept_socket_request
1492 struct request_header __header;
1493 obj_handle_t lhandle;
1494 unsigned int access;
1495 unsigned int attributes;
1497 struct accept_socket_reply
1499 struct reply_header __header;
1500 obj_handle_t handle;
1501 char __pad_12[4];
1506 struct accept_into_socket_request
1508 struct request_header __header;
1509 obj_handle_t lhandle;
1510 obj_handle_t ahandle;
1511 char __pad_20[4];
1513 struct accept_into_socket_reply
1515 struct reply_header __header;
1520 struct set_socket_event_request
1522 struct request_header __header;
1523 obj_handle_t handle;
1524 unsigned int mask;
1525 obj_handle_t event;
1526 user_handle_t window;
1527 unsigned int msg;
1529 struct set_socket_event_reply
1531 struct reply_header __header;
1536 struct get_socket_event_request
1538 struct request_header __header;
1539 obj_handle_t handle;
1540 int service;
1541 obj_handle_t c_event;
1543 struct get_socket_event_reply
1545 struct reply_header __header;
1546 unsigned int mask;
1547 unsigned int pmask;
1548 unsigned int state;
1549 /* VARARG(errors,ints); */
1550 char __pad_20[4];
1555 struct get_socket_info_request
1557 struct request_header __header;
1558 obj_handle_t handle;
1560 struct get_socket_info_reply
1562 struct reply_header __header;
1563 int family;
1564 int type;
1565 int protocol;
1566 char __pad_20[4];
1571 struct enable_socket_event_request
1573 struct request_header __header;
1574 obj_handle_t handle;
1575 unsigned int mask;
1576 unsigned int sstate;
1577 unsigned int cstate;
1578 char __pad_28[4];
1580 struct enable_socket_event_reply
1582 struct reply_header __header;
1585 struct set_socket_deferred_request
1587 struct request_header __header;
1588 obj_handle_t handle;
1589 obj_handle_t deferred;
1590 char __pad_20[4];
1592 struct set_socket_deferred_reply
1594 struct reply_header __header;
1598 struct alloc_console_request
1600 struct request_header __header;
1601 unsigned int access;
1602 unsigned int attributes;
1603 process_id_t pid;
1604 int input_fd;
1605 char __pad_28[4];
1607 struct alloc_console_reply
1609 struct reply_header __header;
1610 obj_handle_t handle_in;
1611 obj_handle_t event;
1616 struct free_console_request
1618 struct request_header __header;
1619 char __pad_12[4];
1621 struct free_console_reply
1623 struct reply_header __header;
1627 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1628 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1629 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1630 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1631 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1632 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1633 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1634 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1635 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1636 struct console_renderer_event
1638 short event;
1639 union
1641 struct update
1643 short top;
1644 short bottom;
1645 } update;
1646 struct resize
1648 short width;
1649 short height;
1650 } resize;
1651 struct cursor_pos
1653 short x;
1654 short y;
1655 } cursor_pos;
1656 struct cursor_geom
1658 short visible;
1659 short size;
1660 } cursor_geom;
1661 struct display
1663 short left;
1664 short top;
1665 short width;
1666 short height;
1667 } display;
1668 } u;
1672 struct get_console_renderer_events_request
1674 struct request_header __header;
1675 obj_handle_t handle;
1677 struct get_console_renderer_events_reply
1679 struct reply_header __header;
1680 /* VARARG(data,bytes); */
1685 struct open_console_request
1687 struct request_header __header;
1688 obj_handle_t from;
1690 unsigned int access;
1691 unsigned int attributes;
1692 int share;
1693 char __pad_28[4];
1695 struct open_console_reply
1697 struct reply_header __header;
1698 obj_handle_t handle;
1699 char __pad_12[4];
1704 struct get_console_wait_event_request
1706 struct request_header __header;
1707 char __pad_12[4];
1709 struct get_console_wait_event_reply
1711 struct reply_header __header;
1712 obj_handle_t handle;
1713 char __pad_12[4];
1717 struct get_console_mode_request
1719 struct request_header __header;
1720 obj_handle_t handle;
1722 struct get_console_mode_reply
1724 struct reply_header __header;
1725 int mode;
1726 char __pad_12[4];
1731 struct set_console_mode_request
1733 struct request_header __header;
1734 obj_handle_t handle;
1735 int mode;
1736 char __pad_20[4];
1738 struct set_console_mode_reply
1740 struct reply_header __header;
1745 struct set_console_input_info_request
1747 struct request_header __header;
1748 obj_handle_t handle;
1749 int mask;
1750 obj_handle_t active_sb;
1751 int history_mode;
1752 int history_size;
1753 int edition_mode;
1754 int input_cp;
1755 int output_cp;
1756 user_handle_t win;
1757 /* VARARG(title,unicode_str); */
1759 struct set_console_input_info_reply
1761 struct reply_header __header;
1763 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1764 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1765 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1766 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1767 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1768 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1769 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1770 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1774 struct get_console_input_info_request
1776 struct request_header __header;
1777 obj_handle_t handle;
1779 struct get_console_input_info_reply
1781 struct reply_header __header;
1782 int history_mode;
1783 int history_size;
1784 int history_index;
1785 int edition_mode;
1786 int input_cp;
1787 int output_cp;
1788 user_handle_t win;
1789 /* VARARG(title,unicode_str); */
1790 char __pad_36[4];
1795 struct append_console_input_history_request
1797 struct request_header __header;
1798 obj_handle_t handle;
1799 /* VARARG(line,unicode_str); */
1801 struct append_console_input_history_reply
1803 struct reply_header __header;
1808 struct get_console_input_history_request
1810 struct request_header __header;
1811 obj_handle_t handle;
1812 int index;
1813 char __pad_20[4];
1815 struct get_console_input_history_reply
1817 struct reply_header __header;
1818 int total;
1819 /* VARARG(line,unicode_str); */
1820 char __pad_12[4];
1825 struct create_console_output_request
1827 struct request_header __header;
1828 obj_handle_t handle_in;
1829 unsigned int access;
1830 unsigned int attributes;
1831 unsigned int share;
1832 int fd;
1834 struct create_console_output_reply
1836 struct reply_header __header;
1837 obj_handle_t handle_out;
1838 char __pad_12[4];
1843 struct set_console_output_info_request
1845 struct request_header __header;
1846 obj_handle_t handle;
1847 int mask;
1848 short int cursor_size;
1849 short int cursor_visible;
1850 short int cursor_x;
1851 short int cursor_y;
1852 short int width;
1853 short int height;
1854 short int attr;
1855 short int win_left;
1856 short int win_top;
1857 short int win_right;
1858 short int win_bottom;
1859 short int max_width;
1860 short int max_height;
1861 char __pad_46[2];
1863 struct set_console_output_info_reply
1865 struct reply_header __header;
1867 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1868 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1869 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1870 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1871 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1872 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1876 struct get_console_output_info_request
1878 struct request_header __header;
1879 obj_handle_t handle;
1881 struct get_console_output_info_reply
1883 struct reply_header __header;
1884 short int cursor_size;
1885 short int cursor_visible;
1886 short int cursor_x;
1887 short int cursor_y;
1888 short int width;
1889 short int height;
1890 short int attr;
1891 short int win_left;
1892 short int win_top;
1893 short int win_right;
1894 short int win_bottom;
1895 short int max_width;
1896 short int max_height;
1897 char __pad_34[6];
1901 struct write_console_input_request
1903 struct request_header __header;
1904 obj_handle_t handle;
1905 /* VARARG(rec,input_records); */
1907 struct write_console_input_reply
1909 struct reply_header __header;
1910 int written;
1911 char __pad_12[4];
1916 struct read_console_input_request
1918 struct request_header __header;
1919 obj_handle_t handle;
1920 int flush;
1921 char __pad_20[4];
1923 struct read_console_input_reply
1925 struct reply_header __header;
1926 int read;
1927 /* VARARG(rec,input_records); */
1928 char __pad_12[4];
1933 struct write_console_output_request
1935 struct request_header __header;
1936 obj_handle_t handle;
1937 int x;
1938 int y;
1939 int mode;
1940 int wrap;
1941 /* VARARG(data,bytes); */
1943 struct write_console_output_reply
1945 struct reply_header __header;
1946 int written;
1947 int width;
1948 int height;
1949 char __pad_20[4];
1951 enum char_info_mode
1953 CHAR_INFO_MODE_TEXT,
1954 CHAR_INFO_MODE_ATTR,
1955 CHAR_INFO_MODE_TEXTATTR,
1956 CHAR_INFO_MODE_TEXTSTDATTR
1961 struct fill_console_output_request
1963 struct request_header __header;
1964 obj_handle_t handle;
1965 int x;
1966 int y;
1967 int mode;
1968 int count;
1969 int wrap;
1970 char_info_t data;
1972 struct fill_console_output_reply
1974 struct reply_header __header;
1975 int written;
1976 char __pad_12[4];
1981 struct read_console_output_request
1983 struct request_header __header;
1984 obj_handle_t handle;
1985 int x;
1986 int y;
1987 int mode;
1988 int wrap;
1990 struct read_console_output_reply
1992 struct reply_header __header;
1993 int width;
1994 int height;
1995 /* VARARG(data,bytes); */
2000 struct move_console_output_request
2002 struct request_header __header;
2003 obj_handle_t handle;
2004 short int x_src;
2005 short int y_src;
2006 short int x_dst;
2007 short int y_dst;
2008 short int w;
2009 short int h;
2010 char __pad_28[4];
2012 struct move_console_output_reply
2014 struct reply_header __header;
2019 struct send_console_signal_request
2021 struct request_header __header;
2022 int signal;
2023 process_id_t group_id;
2024 char __pad_20[4];
2026 struct send_console_signal_reply
2028 struct reply_header __header;
2033 struct read_directory_changes_request
2035 struct request_header __header;
2036 unsigned int filter;
2037 int subtree;
2038 int want_data;
2039 async_data_t async;
2041 struct read_directory_changes_reply
2043 struct reply_header __header;
2047 struct read_change_request
2049 struct request_header __header;
2050 obj_handle_t handle;
2052 struct read_change_reply
2054 struct reply_header __header;
2055 /* VARARG(events,filesystem_event); */
2060 struct create_mapping_request
2062 struct request_header __header;
2063 unsigned int access;
2064 unsigned int attributes;
2065 unsigned int protect;
2066 mem_size_t size;
2067 obj_handle_t file_handle;
2068 /* VARARG(objattr,object_attributes); */
2069 char __pad_36[4];
2071 struct create_mapping_reply
2073 struct reply_header __header;
2074 obj_handle_t handle;
2075 char __pad_12[4];
2078 #define VPROT_READ 0x01
2079 #define VPROT_WRITE 0x02
2080 #define VPROT_EXEC 0x04
2081 #define VPROT_WRITECOPY 0x08
2082 #define VPROT_GUARD 0x10
2083 #define VPROT_NOCACHE 0x20
2084 #define VPROT_COMMITTED 0x40
2085 #define VPROT_WRITEWATCH 0x80
2087 #define VPROT_IMAGE 0x0100
2088 #define VPROT_SYSTEM 0x0200
2089 #define VPROT_VALLOC 0x0400
2090 #define VPROT_NOEXEC 0x0800
2094 struct open_mapping_request
2096 struct request_header __header;
2097 unsigned int access;
2098 unsigned int attributes;
2099 obj_handle_t rootdir;
2100 /* VARARG(name,unicode_str); */
2102 struct open_mapping_reply
2104 struct reply_header __header;
2105 obj_handle_t handle;
2106 char __pad_12[4];
2111 struct get_mapping_info_request
2113 struct request_header __header;
2114 obj_handle_t handle;
2115 unsigned int access;
2116 char __pad_20[4];
2118 struct get_mapping_info_reply
2120 struct reply_header __header;
2121 mem_size_t size;
2122 int protect;
2123 int header_size;
2124 client_ptr_t base;
2125 obj_handle_t mapping;
2126 obj_handle_t shared_file;
2131 struct get_mapping_committed_range_request
2133 struct request_header __header;
2134 obj_handle_t handle;
2135 file_pos_t offset;
2137 struct get_mapping_committed_range_reply
2139 struct reply_header __header;
2140 mem_size_t size;
2141 int committed;
2142 char __pad_20[4];
2147 struct add_mapping_committed_range_request
2149 struct request_header __header;
2150 obj_handle_t handle;
2151 file_pos_t offset;
2152 mem_size_t size;
2154 struct add_mapping_committed_range_reply
2156 struct reply_header __header;
2160 #define SNAP_PROCESS 0x00000001
2161 #define SNAP_THREAD 0x00000002
2163 struct create_snapshot_request
2165 struct request_header __header;
2166 unsigned int attributes;
2167 unsigned int flags;
2168 char __pad_20[4];
2170 struct create_snapshot_reply
2172 struct reply_header __header;
2173 obj_handle_t handle;
2174 char __pad_12[4];
2179 struct next_process_request
2181 struct request_header __header;
2182 obj_handle_t handle;
2183 int reset;
2184 char __pad_20[4];
2186 struct next_process_reply
2188 struct reply_header __header;
2189 int count;
2190 process_id_t pid;
2191 process_id_t ppid;
2192 int threads;
2193 int priority;
2194 int handles;
2195 int unix_pid;
2196 /* VARARG(filename,unicode_str); */
2197 char __pad_36[4];
2202 struct next_thread_request
2204 struct request_header __header;
2205 obj_handle_t handle;
2206 int reset;
2207 char __pad_20[4];
2209 struct next_thread_reply
2211 struct reply_header __header;
2212 int count;
2213 process_id_t pid;
2214 thread_id_t tid;
2215 int base_pri;
2216 int delta_pri;
2217 char __pad_28[4];
2222 struct wait_debug_event_request
2224 struct request_header __header;
2225 int get_handle;
2227 struct wait_debug_event_reply
2229 struct reply_header __header;
2230 process_id_t pid;
2231 thread_id_t tid;
2232 obj_handle_t wait;
2233 /* VARARG(event,debug_event); */
2234 char __pad_20[4];
2239 struct queue_exception_event_request
2241 struct request_header __header;
2242 int first;
2243 unsigned int code;
2244 unsigned int flags;
2245 client_ptr_t record;
2246 client_ptr_t address;
2247 data_size_t len;
2248 /* VARARG(params,uints64,len); */
2249 /* VARARG(context,context); */
2250 char __pad_44[4];
2252 struct queue_exception_event_reply
2254 struct reply_header __header;
2255 obj_handle_t handle;
2256 char __pad_12[4];
2261 struct get_exception_status_request
2263 struct request_header __header;
2264 obj_handle_t handle;
2266 struct get_exception_status_reply
2268 struct reply_header __header;
2269 /* VARARG(context,context); */
2274 struct continue_debug_event_request
2276 struct request_header __header;
2277 process_id_t pid;
2278 thread_id_t tid;
2279 int status;
2281 struct continue_debug_event_reply
2283 struct reply_header __header;
2288 struct debug_process_request
2290 struct request_header __header;
2291 process_id_t pid;
2292 int attach;
2293 char __pad_20[4];
2295 struct debug_process_reply
2297 struct reply_header __header;
2302 struct debug_break_request
2304 struct request_header __header;
2305 obj_handle_t handle;
2307 struct debug_break_reply
2309 struct reply_header __header;
2310 int self;
2311 char __pad_12[4];
2316 struct set_debugger_kill_on_exit_request
2318 struct request_header __header;
2319 int kill_on_exit;
2321 struct set_debugger_kill_on_exit_reply
2323 struct reply_header __header;
2328 struct read_process_memory_request
2330 struct request_header __header;
2331 obj_handle_t handle;
2332 client_ptr_t addr;
2334 struct read_process_memory_reply
2336 struct reply_header __header;
2337 /* VARARG(data,bytes); */
2342 struct write_process_memory_request
2344 struct request_header __header;
2345 obj_handle_t handle;
2346 client_ptr_t addr;
2347 /* VARARG(data,bytes); */
2349 struct write_process_memory_reply
2351 struct reply_header __header;
2356 struct create_key_request
2358 struct request_header __header;
2359 obj_handle_t parent;
2360 unsigned int access;
2361 unsigned int attributes;
2362 unsigned int options;
2363 data_size_t namelen;
2364 /* VARARG(name,unicode_str,namelen); */
2365 /* VARARG(class,unicode_str); */
2367 struct create_key_reply
2369 struct reply_header __header;
2370 obj_handle_t hkey;
2371 int created;
2375 struct open_key_request
2377 struct request_header __header;
2378 obj_handle_t parent;
2379 unsigned int access;
2380 unsigned int attributes;
2381 /* VARARG(name,unicode_str); */
2383 struct open_key_reply
2385 struct reply_header __header;
2386 obj_handle_t hkey;
2387 char __pad_12[4];
2392 struct delete_key_request
2394 struct request_header __header;
2395 obj_handle_t hkey;
2397 struct delete_key_reply
2399 struct reply_header __header;
2404 struct flush_key_request
2406 struct request_header __header;
2407 obj_handle_t hkey;
2409 struct flush_key_reply
2411 struct reply_header __header;
2416 struct enum_key_request
2418 struct request_header __header;
2419 obj_handle_t hkey;
2420 int index;
2421 int info_class;
2423 struct enum_key_reply
2425 struct reply_header __header;
2426 int subkeys;
2427 int max_subkey;
2428 int max_class;
2429 int values;
2430 int max_value;
2431 int max_data;
2432 timeout_t modif;
2433 data_size_t total;
2434 data_size_t namelen;
2435 /* VARARG(name,unicode_str,namelen); */
2436 /* VARARG(class,unicode_str); */
2441 struct set_key_value_request
2443 struct request_header __header;
2444 obj_handle_t hkey;
2445 int type;
2446 data_size_t namelen;
2447 /* VARARG(name,unicode_str,namelen); */
2448 /* VARARG(data,bytes); */
2450 struct set_key_value_reply
2452 struct reply_header __header;
2457 struct get_key_value_request
2459 struct request_header __header;
2460 obj_handle_t hkey;
2461 /* VARARG(name,unicode_str); */
2463 struct get_key_value_reply
2465 struct reply_header __header;
2466 int type;
2467 data_size_t total;
2468 /* VARARG(data,bytes); */
2473 struct enum_key_value_request
2475 struct request_header __header;
2476 obj_handle_t hkey;
2477 int index;
2478 int info_class;
2480 struct enum_key_value_reply
2482 struct reply_header __header;
2483 int type;
2484 data_size_t total;
2485 data_size_t namelen;
2486 /* VARARG(name,unicode_str,namelen); */
2487 /* VARARG(data,bytes); */
2488 char __pad_20[4];
2493 struct delete_key_value_request
2495 struct request_header __header;
2496 obj_handle_t hkey;
2497 /* VARARG(name,unicode_str); */
2499 struct delete_key_value_reply
2501 struct reply_header __header;
2506 struct load_registry_request
2508 struct request_header __header;
2509 obj_handle_t hkey;
2510 obj_handle_t file;
2511 /* VARARG(name,unicode_str); */
2512 char __pad_20[4];
2514 struct load_registry_reply
2516 struct reply_header __header;
2521 struct unload_registry_request
2523 struct request_header __header;
2524 obj_handle_t hkey;
2526 struct unload_registry_reply
2528 struct reply_header __header;
2533 struct save_registry_request
2535 struct request_header __header;
2536 obj_handle_t hkey;
2537 obj_handle_t file;
2538 char __pad_20[4];
2540 struct save_registry_reply
2542 struct reply_header __header;
2547 struct set_registry_notification_request
2549 struct request_header __header;
2550 obj_handle_t hkey;
2551 obj_handle_t event;
2552 int subtree;
2553 unsigned int filter;
2554 char __pad_28[4];
2556 struct set_registry_notification_reply
2558 struct reply_header __header;
2563 struct create_timer_request
2565 struct request_header __header;
2566 unsigned int access;
2567 unsigned int attributes;
2568 obj_handle_t rootdir;
2569 int manual;
2570 /* VARARG(name,unicode_str); */
2571 char __pad_28[4];
2573 struct create_timer_reply
2575 struct reply_header __header;
2576 obj_handle_t handle;
2577 char __pad_12[4];
2582 struct open_timer_request
2584 struct request_header __header;
2585 unsigned int access;
2586 unsigned int attributes;
2587 obj_handle_t rootdir;
2588 /* VARARG(name,unicode_str); */
2590 struct open_timer_reply
2592 struct reply_header __header;
2593 obj_handle_t handle;
2594 char __pad_12[4];
2598 struct set_timer_request
2600 struct request_header __header;
2601 obj_handle_t handle;
2602 timeout_t expire;
2603 client_ptr_t callback;
2604 client_ptr_t arg;
2605 int period;
2606 char __pad_44[4];
2608 struct set_timer_reply
2610 struct reply_header __header;
2611 int signaled;
2612 char __pad_12[4];
2616 struct cancel_timer_request
2618 struct request_header __header;
2619 obj_handle_t handle;
2621 struct cancel_timer_reply
2623 struct reply_header __header;
2624 int signaled;
2625 char __pad_12[4];
2629 struct get_timer_info_request
2631 struct request_header __header;
2632 obj_handle_t handle;
2634 struct get_timer_info_reply
2636 struct reply_header __header;
2637 timeout_t when;
2638 int signaled;
2639 char __pad_20[4];
2644 struct get_thread_context_request
2646 struct request_header __header;
2647 obj_handle_t handle;
2648 unsigned int flags;
2649 int suspend;
2651 struct get_thread_context_reply
2653 struct reply_header __header;
2654 int self;
2655 /* VARARG(context,context); */
2656 char __pad_12[4];
2661 struct set_thread_context_request
2663 struct request_header __header;
2664 obj_handle_t handle;
2665 int suspend;
2666 /* VARARG(context,context); */
2667 char __pad_20[4];
2669 struct set_thread_context_reply
2671 struct reply_header __header;
2672 int self;
2673 char __pad_12[4];
2678 struct get_selector_entry_request
2680 struct request_header __header;
2681 obj_handle_t handle;
2682 int entry;
2683 char __pad_20[4];
2685 struct get_selector_entry_reply
2687 struct reply_header __header;
2688 unsigned int base;
2689 unsigned int limit;
2690 unsigned char flags;
2691 char __pad_17[7];
2696 struct add_atom_request
2698 struct request_header __header;
2699 obj_handle_t table;
2700 /* VARARG(name,unicode_str); */
2702 struct add_atom_reply
2704 struct reply_header __header;
2705 atom_t atom;
2706 char __pad_12[4];
2711 struct delete_atom_request
2713 struct request_header __header;
2714 obj_handle_t table;
2715 atom_t atom;
2716 char __pad_20[4];
2718 struct delete_atom_reply
2720 struct reply_header __header;
2725 struct find_atom_request
2727 struct request_header __header;
2728 obj_handle_t table;
2729 /* VARARG(name,unicode_str); */
2731 struct find_atom_reply
2733 struct reply_header __header;
2734 atom_t atom;
2735 char __pad_12[4];
2740 struct get_atom_information_request
2742 struct request_header __header;
2743 obj_handle_t table;
2744 atom_t atom;
2745 char __pad_20[4];
2747 struct get_atom_information_reply
2749 struct reply_header __header;
2750 int count;
2751 int pinned;
2752 data_size_t total;
2753 /* VARARG(name,unicode_str); */
2754 char __pad_20[4];
2759 struct set_atom_information_request
2761 struct request_header __header;
2762 obj_handle_t table;
2763 atom_t atom;
2764 int pinned;
2766 struct set_atom_information_reply
2768 struct reply_header __header;
2773 struct empty_atom_table_request
2775 struct request_header __header;
2776 obj_handle_t table;
2777 int if_pinned;
2778 char __pad_20[4];
2780 struct empty_atom_table_reply
2782 struct reply_header __header;
2787 struct init_atom_table_request
2789 struct request_header __header;
2790 int entries;
2792 struct init_atom_table_reply
2794 struct reply_header __header;
2795 obj_handle_t table;
2796 char __pad_12[4];
2801 struct get_msg_queue_request
2803 struct request_header __header;
2804 char __pad_12[4];
2806 struct get_msg_queue_reply
2808 struct reply_header __header;
2809 obj_handle_t handle;
2810 char __pad_12[4];
2815 struct set_queue_fd_request
2817 struct request_header __header;
2818 obj_handle_t handle;
2820 struct set_queue_fd_reply
2822 struct reply_header __header;
2827 struct set_queue_mask_request
2829 struct request_header __header;
2830 unsigned int wake_mask;
2831 unsigned int changed_mask;
2832 int skip_wait;
2834 struct set_queue_mask_reply
2836 struct reply_header __header;
2837 unsigned int wake_bits;
2838 unsigned int changed_bits;
2843 struct get_queue_status_request
2845 struct request_header __header;
2846 unsigned int clear_bits;
2848 struct get_queue_status_reply
2850 struct reply_header __header;
2851 unsigned int wake_bits;
2852 unsigned int changed_bits;
2857 struct get_process_idle_event_request
2859 struct request_header __header;
2860 obj_handle_t handle;
2862 struct get_process_idle_event_reply
2864 struct reply_header __header;
2865 obj_handle_t event;
2866 char __pad_12[4];
2871 struct send_message_request
2873 struct request_header __header;
2874 thread_id_t id;
2875 int type;
2876 int flags;
2877 user_handle_t win;
2878 unsigned int msg;
2879 lparam_t wparam;
2880 lparam_t lparam;
2881 timeout_t timeout;
2882 /* VARARG(data,message_data); */
2884 struct send_message_reply
2886 struct reply_header __header;
2889 struct post_quit_message_request
2891 struct request_header __header;
2892 int exit_code;
2894 struct post_quit_message_reply
2896 struct reply_header __header;
2899 enum message_type
2901 MSG_ASCII,
2902 MSG_UNICODE,
2903 MSG_NOTIFY,
2904 MSG_CALLBACK,
2905 MSG_CALLBACK_RESULT,
2906 MSG_OTHER_PROCESS,
2907 MSG_POSTED,
2908 MSG_HARDWARE,
2909 MSG_WINEVENT,
2910 MSG_HOOK_LL
2912 #define SEND_MSG_ABORT_IF_HUNG 0x01
2916 struct send_hardware_message_request
2918 struct request_header __header;
2919 user_handle_t win;
2920 hw_input_t input;
2921 unsigned int flags;
2922 char __pad_52[4];
2924 struct send_hardware_message_reply
2926 struct reply_header __header;
2927 int wait;
2928 int prev_x;
2929 int prev_y;
2930 int new_x;
2931 int new_y;
2932 /* VARARG(keystate,bytes); */
2933 char __pad_28[4];
2935 #define SEND_HWMSG_INJECTED 0x01
2939 struct get_message_request
2941 struct request_header __header;
2942 unsigned int flags;
2943 user_handle_t get_win;
2944 unsigned int get_first;
2945 unsigned int get_last;
2946 unsigned int hw_id;
2947 unsigned int wake_mask;
2948 unsigned int changed_mask;
2950 struct get_message_reply
2952 struct reply_header __header;
2953 user_handle_t win;
2954 unsigned int msg;
2955 lparam_t wparam;
2956 lparam_t lparam;
2957 int type;
2958 int x;
2959 int y;
2960 unsigned int time;
2961 unsigned int active_hooks;
2962 data_size_t total;
2963 /* VARARG(data,message_data); */
2968 struct reply_message_request
2970 struct request_header __header;
2971 int remove;
2972 lparam_t result;
2973 /* VARARG(data,bytes); */
2975 struct reply_message_reply
2977 struct reply_header __header;
2982 struct accept_hardware_message_request
2984 struct request_header __header;
2985 unsigned int hw_id;
2986 int remove;
2987 char __pad_20[4];
2989 struct accept_hardware_message_reply
2991 struct reply_header __header;
2996 struct get_message_reply_request
2998 struct request_header __header;
2999 int cancel;
3001 struct get_message_reply_reply
3003 struct reply_header __header;
3004 lparam_t result;
3005 /* VARARG(data,bytes); */
3010 struct set_win_timer_request
3012 struct request_header __header;
3013 user_handle_t win;
3014 unsigned int msg;
3015 unsigned int rate;
3016 lparam_t id;
3017 lparam_t lparam;
3019 struct set_win_timer_reply
3021 struct reply_header __header;
3022 lparam_t id;
3027 struct kill_win_timer_request
3029 struct request_header __header;
3030 user_handle_t win;
3031 lparam_t id;
3032 unsigned int msg;
3033 char __pad_28[4];
3035 struct kill_win_timer_reply
3037 struct reply_header __header;
3042 struct is_window_hung_request
3044 struct request_header __header;
3045 user_handle_t win;
3047 struct is_window_hung_reply
3049 struct reply_header __header;
3050 int is_hung;
3051 char __pad_12[4];
3056 struct get_serial_info_request
3058 struct request_header __header;
3059 obj_handle_t handle;
3060 int flags;
3061 char __pad_20[4];
3063 struct get_serial_info_reply
3065 struct reply_header __header;
3066 unsigned int readinterval;
3067 unsigned int readconst;
3068 unsigned int readmult;
3069 unsigned int writeconst;
3070 unsigned int writemult;
3071 unsigned int eventmask;
3072 unsigned int cookie;
3073 unsigned int pending_write;
3078 struct set_serial_info_request
3080 struct request_header __header;
3081 obj_handle_t handle;
3082 int flags;
3083 unsigned int readinterval;
3084 unsigned int readconst;
3085 unsigned int readmult;
3086 unsigned int writeconst;
3087 unsigned int writemult;
3088 unsigned int eventmask;
3089 char __pad_44[4];
3091 struct set_serial_info_reply
3093 struct reply_header __header;
3095 #define SERIALINFO_SET_TIMEOUTS 0x01
3096 #define SERIALINFO_SET_MASK 0x02
3097 #define SERIALINFO_PENDING_WRITE 0x04
3098 #define SERIALINFO_PENDING_WAIT 0x08
3102 struct register_async_request
3104 struct request_header __header;
3105 int type;
3106 async_data_t async;
3107 int count;
3108 char __pad_60[4];
3110 struct register_async_reply
3112 struct reply_header __header;
3114 #define ASYNC_TYPE_READ 0x01
3115 #define ASYNC_TYPE_WRITE 0x02
3116 #define ASYNC_TYPE_WAIT 0x03
3120 struct cancel_async_request
3122 struct request_header __header;
3123 obj_handle_t handle;
3124 client_ptr_t iosb;
3125 int only_thread;
3126 char __pad_28[4];
3128 struct cancel_async_reply
3130 struct reply_header __header;
3135 struct read_request
3137 struct request_header __header;
3138 int blocking;
3139 async_data_t async;
3140 file_pos_t pos;
3142 struct read_reply
3144 struct reply_header __header;
3145 obj_handle_t wait;
3146 unsigned int options;
3147 /* VARARG(data,bytes); */
3152 struct write_request
3154 struct request_header __header;
3155 int blocking;
3156 async_data_t async;
3157 file_pos_t pos;
3158 /* VARARG(data,bytes); */
3160 struct write_reply
3162 struct reply_header __header;
3163 obj_handle_t wait;
3164 unsigned int options;
3165 data_size_t size;
3166 char __pad_20[4];
3171 struct ioctl_request
3173 struct request_header __header;
3174 ioctl_code_t code;
3175 async_data_t async;
3176 int blocking;
3177 /* VARARG(in_data,bytes); */
3178 char __pad_60[4];
3180 struct ioctl_reply
3182 struct reply_header __header;
3183 obj_handle_t wait;
3184 unsigned int options;
3185 /* VARARG(out_data,bytes); */
3190 struct set_irp_result_request
3192 struct request_header __header;
3193 obj_handle_t manager;
3194 obj_handle_t handle;
3195 unsigned int status;
3196 data_size_t size;
3197 /* VARARG(data,bytes); */
3198 char __pad_28[4];
3200 struct set_irp_result_reply
3202 struct reply_header __header;
3207 struct get_irp_result_request
3209 struct request_header __header;
3210 obj_handle_t handle;
3211 client_ptr_t user_arg;
3213 struct get_irp_result_reply
3215 struct reply_header __header;
3216 data_size_t size;
3217 /* VARARG(out_data,bytes); */
3218 char __pad_12[4];
3223 struct create_named_pipe_request
3225 struct request_header __header;
3226 unsigned int access;
3227 unsigned int attributes;
3228 unsigned int options;
3229 unsigned int sharing;
3230 unsigned int maxinstances;
3231 unsigned int outsize;
3232 unsigned int insize;
3233 timeout_t timeout;
3234 unsigned int flags;
3235 /* VARARG(objattr,object_attributes); */
3236 char __pad_52[4];
3238 struct create_named_pipe_reply
3240 struct reply_header __header;
3241 obj_handle_t handle;
3242 char __pad_12[4];
3246 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
3247 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
3248 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
3249 #define NAMED_PIPE_SERVER_END 0x8000
3252 struct get_named_pipe_info_request
3254 struct request_header __header;
3255 obj_handle_t handle;
3257 struct get_named_pipe_info_reply
3259 struct reply_header __header;
3260 unsigned int flags;
3261 unsigned int sharing;
3262 unsigned int maxinstances;
3263 unsigned int instances;
3264 unsigned int outsize;
3265 unsigned int insize;
3269 struct set_named_pipe_info_request
3271 struct request_header __header;
3272 obj_handle_t handle;
3273 unsigned int flags;
3274 char __pad_20[4];
3276 struct set_named_pipe_info_reply
3278 struct reply_header __header;
3282 struct create_window_request
3284 struct request_header __header;
3285 user_handle_t parent;
3286 user_handle_t owner;
3287 atom_t atom;
3288 mod_handle_t instance;
3289 /* VARARG(class,unicode_str); */
3291 struct create_window_reply
3293 struct reply_header __header;
3294 user_handle_t handle;
3295 user_handle_t parent;
3296 user_handle_t owner;
3297 int extra;
3298 client_ptr_t class_ptr;
3303 struct destroy_window_request
3305 struct request_header __header;
3306 user_handle_t handle;
3308 struct destroy_window_reply
3310 struct reply_header __header;
3315 struct get_desktop_window_request
3317 struct request_header __header;
3318 int force;
3320 struct get_desktop_window_reply
3322 struct reply_header __header;
3323 user_handle_t top_window;
3324 user_handle_t msg_window;
3329 struct set_window_owner_request
3331 struct request_header __header;
3332 user_handle_t handle;
3333 user_handle_t owner;
3334 char __pad_20[4];
3336 struct set_window_owner_reply
3338 struct reply_header __header;
3339 user_handle_t full_owner;
3340 user_handle_t prev_owner;
3345 struct get_window_info_request
3347 struct request_header __header;
3348 user_handle_t handle;
3350 struct get_window_info_reply
3352 struct reply_header __header;
3353 user_handle_t full_handle;
3354 user_handle_t last_active;
3355 process_id_t pid;
3356 thread_id_t tid;
3357 atom_t atom;
3358 int is_unicode;
3363 struct set_window_info_request
3365 struct request_header __header;
3366 unsigned short flags;
3367 short int is_unicode;
3368 user_handle_t handle;
3369 unsigned int style;
3370 unsigned int ex_style;
3371 unsigned int id;
3372 mod_handle_t instance;
3373 lparam_t user_data;
3374 int extra_offset;
3375 data_size_t extra_size;
3376 lparam_t extra_value;
3378 struct set_window_info_reply
3380 struct reply_header __header;
3381 unsigned int old_style;
3382 unsigned int old_ex_style;
3383 mod_handle_t old_instance;
3384 lparam_t old_user_data;
3385 lparam_t old_extra_value;
3386 unsigned int old_id;
3387 char __pad_44[4];
3389 #define SET_WIN_STYLE 0x01
3390 #define SET_WIN_EXSTYLE 0x02
3391 #define SET_WIN_ID 0x04
3392 #define SET_WIN_INSTANCE 0x08
3393 #define SET_WIN_USERDATA 0x10
3394 #define SET_WIN_EXTRA 0x20
3395 #define SET_WIN_UNICODE 0x40
3399 struct set_parent_request
3401 struct request_header __header;
3402 user_handle_t handle;
3403 user_handle_t parent;
3404 char __pad_20[4];
3406 struct set_parent_reply
3408 struct reply_header __header;
3409 user_handle_t old_parent;
3410 user_handle_t full_parent;
3415 struct get_window_parents_request
3417 struct request_header __header;
3418 user_handle_t handle;
3420 struct get_window_parents_reply
3422 struct reply_header __header;
3423 int count;
3424 /* VARARG(parents,user_handles); */
3425 char __pad_12[4];
3430 struct get_window_children_request
3432 struct request_header __header;
3433 obj_handle_t desktop;
3434 user_handle_t parent;
3435 atom_t atom;
3436 thread_id_t tid;
3437 /* VARARG(class,unicode_str); */
3438 char __pad_28[4];
3440 struct get_window_children_reply
3442 struct reply_header __header;
3443 int count;
3444 /* VARARG(children,user_handles); */
3445 char __pad_12[4];
3450 struct get_window_children_from_point_request
3452 struct request_header __header;
3453 user_handle_t parent;
3454 int x;
3455 int y;
3457 struct get_window_children_from_point_reply
3459 struct reply_header __header;
3460 int count;
3461 /* VARARG(children,user_handles); */
3462 char __pad_12[4];
3467 struct get_window_tree_request
3469 struct request_header __header;
3470 user_handle_t handle;
3472 struct get_window_tree_reply
3474 struct reply_header __header;
3475 user_handle_t parent;
3476 user_handle_t owner;
3477 user_handle_t next_sibling;
3478 user_handle_t prev_sibling;
3479 user_handle_t first_sibling;
3480 user_handle_t last_sibling;
3481 user_handle_t first_child;
3482 user_handle_t last_child;
3486 struct set_window_pos_request
3488 struct request_header __header;
3489 unsigned short swp_flags;
3490 unsigned short paint_flags;
3491 user_handle_t handle;
3492 user_handle_t previous;
3493 rectangle_t window;
3494 rectangle_t client;
3495 /* VARARG(valid,rectangles); */
3497 struct set_window_pos_reply
3499 struct reply_header __header;
3500 unsigned int new_style;
3501 unsigned int new_ex_style;
3502 user_handle_t surface_win;
3503 char __pad_20[4];
3505 #define SET_WINPOS_PAINT_SURFACE 0x01
3506 #define SET_WINPOS_PIXEL_FORMAT 0x02
3509 struct get_window_rectangles_request
3511 struct request_header __header;
3512 user_handle_t handle;
3513 int relative;
3514 char __pad_20[4];
3516 struct get_window_rectangles_reply
3518 struct reply_header __header;
3519 rectangle_t window;
3520 rectangle_t visible;
3521 rectangle_t client;
3523 enum coords_relative
3525 COORDS_CLIENT,
3526 COORDS_WINDOW,
3527 COORDS_PARENT,
3528 COORDS_SCREEN
3533 struct get_window_text_request
3535 struct request_header __header;
3536 user_handle_t handle;
3538 struct get_window_text_reply
3540 struct reply_header __header;
3541 /* VARARG(text,unicode_str); */
3546 struct set_window_text_request
3548 struct request_header __header;
3549 user_handle_t handle;
3550 /* VARARG(text,unicode_str); */
3552 struct set_window_text_reply
3554 struct reply_header __header;
3559 struct get_windows_offset_request
3561 struct request_header __header;
3562 user_handle_t from;
3563 user_handle_t to;
3564 char __pad_20[4];
3566 struct get_windows_offset_reply
3568 struct reply_header __header;
3569 int x;
3570 int y;
3571 int mirror;
3572 char __pad_20[4];
3577 struct get_visible_region_request
3579 struct request_header __header;
3580 user_handle_t window;
3581 unsigned int flags;
3582 char __pad_20[4];
3584 struct get_visible_region_reply
3586 struct reply_header __header;
3587 user_handle_t top_win;
3588 rectangle_t top_rect;
3589 rectangle_t win_rect;
3590 unsigned int paint_flags;
3591 data_size_t total_size;
3592 /* VARARG(region,rectangles); */
3593 char __pad_52[4];
3598 struct get_surface_region_request
3600 struct request_header __header;
3601 user_handle_t window;
3603 struct get_surface_region_reply
3605 struct reply_header __header;
3606 rectangle_t visible_rect;
3607 data_size_t total_size;
3608 /* VARARG(region,rectangles); */
3609 char __pad_28[4];
3614 struct get_window_region_request
3616 struct request_header __header;
3617 user_handle_t window;
3619 struct get_window_region_reply
3621 struct reply_header __header;
3622 data_size_t total_size;
3623 /* VARARG(region,rectangles); */
3624 char __pad_12[4];
3629 struct set_window_region_request
3631 struct request_header __header;
3632 user_handle_t window;
3633 int redraw;
3634 /* VARARG(region,rectangles); */
3635 char __pad_20[4];
3637 struct set_window_region_reply
3639 struct reply_header __header;
3644 struct get_update_region_request
3646 struct request_header __header;
3647 user_handle_t window;
3648 user_handle_t from_child;
3649 unsigned int flags;
3651 struct get_update_region_reply
3653 struct reply_header __header;
3654 user_handle_t child;
3655 unsigned int flags;
3656 data_size_t total_size;
3657 /* VARARG(region,rectangles); */
3658 char __pad_20[4];
3660 #define UPDATE_NONCLIENT 0x01
3661 #define UPDATE_ERASE 0x02
3662 #define UPDATE_PAINT 0x04
3663 #define UPDATE_INTERNALPAINT 0x08
3664 #define UPDATE_ALLCHILDREN 0x10
3665 #define UPDATE_NOCHILDREN 0x20
3666 #define UPDATE_NOREGION 0x40
3667 #define UPDATE_DELAYED_ERASE 0x80
3671 struct update_window_zorder_request
3673 struct request_header __header;
3674 user_handle_t window;
3675 rectangle_t rect;
3677 struct update_window_zorder_reply
3679 struct reply_header __header;
3684 struct redraw_window_request
3686 struct request_header __header;
3687 user_handle_t window;
3688 unsigned int flags;
3689 /* VARARG(region,rectangles); */
3690 char __pad_20[4];
3692 struct redraw_window_reply
3694 struct reply_header __header;
3699 struct set_window_property_request
3701 struct request_header __header;
3702 user_handle_t window;
3703 lparam_t data;
3704 atom_t atom;
3705 /* VARARG(name,unicode_str); */
3706 char __pad_28[4];
3708 struct set_window_property_reply
3710 struct reply_header __header;
3715 struct remove_window_property_request
3717 struct request_header __header;
3718 user_handle_t window;
3719 atom_t atom;
3720 /* VARARG(name,unicode_str); */
3721 char __pad_20[4];
3723 struct remove_window_property_reply
3725 struct reply_header __header;
3726 lparam_t data;
3731 struct get_window_property_request
3733 struct request_header __header;
3734 user_handle_t window;
3735 atom_t atom;
3736 /* VARARG(name,unicode_str); */
3737 char __pad_20[4];
3739 struct get_window_property_reply
3741 struct reply_header __header;
3742 lparam_t data;
3747 struct get_window_properties_request
3749 struct request_header __header;
3750 user_handle_t window;
3752 struct get_window_properties_reply
3754 struct reply_header __header;
3755 int total;
3756 /* VARARG(props,properties); */
3757 char __pad_12[4];
3762 struct create_winstation_request
3764 struct request_header __header;
3765 unsigned int flags;
3766 unsigned int access;
3767 unsigned int attributes;
3768 /* VARARG(name,unicode_str); */
3770 struct create_winstation_reply
3772 struct reply_header __header;
3773 obj_handle_t handle;
3774 char __pad_12[4];
3779 struct open_winstation_request
3781 struct request_header __header;
3782 unsigned int access;
3783 unsigned int attributes;
3784 /* VARARG(name,unicode_str); */
3785 char __pad_20[4];
3787 struct open_winstation_reply
3789 struct reply_header __header;
3790 obj_handle_t handle;
3791 char __pad_12[4];
3796 struct close_winstation_request
3798 struct request_header __header;
3799 obj_handle_t handle;
3801 struct close_winstation_reply
3803 struct reply_header __header;
3808 struct get_process_winstation_request
3810 struct request_header __header;
3811 char __pad_12[4];
3813 struct get_process_winstation_reply
3815 struct reply_header __header;
3816 obj_handle_t handle;
3817 char __pad_12[4];
3822 struct set_process_winstation_request
3824 struct request_header __header;
3825 obj_handle_t handle;
3827 struct set_process_winstation_reply
3829 struct reply_header __header;
3834 struct enum_winstation_request
3836 struct request_header __header;
3837 unsigned int index;
3839 struct enum_winstation_reply
3841 struct reply_header __header;
3842 unsigned int next;
3843 /* VARARG(name,unicode_str); */
3844 char __pad_12[4];
3849 struct create_desktop_request
3851 struct request_header __header;
3852 unsigned int flags;
3853 unsigned int access;
3854 unsigned int attributes;
3855 /* VARARG(name,unicode_str); */
3857 struct create_desktop_reply
3859 struct reply_header __header;
3860 obj_handle_t handle;
3861 char __pad_12[4];
3866 struct open_desktop_request
3868 struct request_header __header;
3869 obj_handle_t winsta;
3870 unsigned int flags;
3871 unsigned int access;
3872 unsigned int attributes;
3873 /* VARARG(name,unicode_str); */
3874 char __pad_28[4];
3876 struct open_desktop_reply
3878 struct reply_header __header;
3879 obj_handle_t handle;
3880 char __pad_12[4];
3885 struct open_input_desktop_request
3887 struct request_header __header;
3888 unsigned int flags;
3889 unsigned int access;
3890 unsigned int attributes;
3892 struct open_input_desktop_reply
3894 struct reply_header __header;
3895 obj_handle_t handle;
3896 char __pad_12[4];
3901 struct close_desktop_request
3903 struct request_header __header;
3904 obj_handle_t handle;
3906 struct close_desktop_reply
3908 struct reply_header __header;
3913 struct get_thread_desktop_request
3915 struct request_header __header;
3916 thread_id_t tid;
3918 struct get_thread_desktop_reply
3920 struct reply_header __header;
3921 obj_handle_t handle;
3922 char __pad_12[4];
3927 struct set_thread_desktop_request
3929 struct request_header __header;
3930 obj_handle_t handle;
3932 struct set_thread_desktop_reply
3934 struct reply_header __header;
3939 struct enum_desktop_request
3941 struct request_header __header;
3942 obj_handle_t winstation;
3943 unsigned int index;
3944 char __pad_20[4];
3946 struct enum_desktop_reply
3948 struct reply_header __header;
3949 unsigned int next;
3950 /* VARARG(name,unicode_str); */
3951 char __pad_12[4];
3956 struct set_user_object_info_request
3958 struct request_header __header;
3959 obj_handle_t handle;
3960 unsigned int flags;
3961 unsigned int obj_flags;
3963 struct set_user_object_info_reply
3965 struct reply_header __header;
3966 int is_desktop;
3967 unsigned int old_obj_flags;
3968 /* VARARG(name,unicode_str); */
3970 #define SET_USER_OBJECT_FLAGS 1
3974 struct register_hotkey_request
3976 struct request_header __header;
3977 user_handle_t window;
3978 int id;
3979 unsigned int flags;
3980 unsigned int vkey;
3981 char __pad_28[4];
3983 struct register_hotkey_reply
3985 struct reply_header __header;
3986 int replaced;
3987 unsigned int flags;
3988 unsigned int vkey;
3989 char __pad_20[4];
3994 struct unregister_hotkey_request
3996 struct request_header __header;
3997 user_handle_t window;
3998 int id;
3999 char __pad_20[4];
4001 struct unregister_hotkey_reply
4003 struct reply_header __header;
4004 unsigned int flags;
4005 unsigned int vkey;
4010 struct attach_thread_input_request
4012 struct request_header __header;
4013 thread_id_t tid_from;
4014 thread_id_t tid_to;
4015 int attach;
4017 struct attach_thread_input_reply
4019 struct reply_header __header;
4024 struct get_thread_input_request
4026 struct request_header __header;
4027 thread_id_t tid;
4029 struct get_thread_input_reply
4031 struct reply_header __header;
4032 user_handle_t focus;
4033 user_handle_t capture;
4034 user_handle_t active;
4035 user_handle_t foreground;
4036 user_handle_t menu_owner;
4037 user_handle_t move_size;
4038 user_handle_t caret;
4039 user_handle_t cursor;
4040 int show_count;
4041 rectangle_t rect;
4042 char __pad_60[4];
4047 struct get_last_input_time_request
4049 struct request_header __header;
4050 char __pad_12[4];
4052 struct get_last_input_time_reply
4054 struct reply_header __header;
4055 unsigned int time;
4056 char __pad_12[4];
4061 struct get_key_state_request
4063 struct request_header __header;
4064 thread_id_t tid;
4065 int key;
4066 char __pad_20[4];
4068 struct get_key_state_reply
4070 struct reply_header __header;
4071 unsigned char state;
4072 /* VARARG(keystate,bytes); */
4073 char __pad_9[7];
4077 struct set_key_state_request
4079 struct request_header __header;
4080 thread_id_t tid;
4081 int async;
4082 /* VARARG(keystate,bytes); */
4083 char __pad_20[4];
4085 struct set_key_state_reply
4087 struct reply_header __header;
4091 struct set_foreground_window_request
4093 struct request_header __header;
4094 user_handle_t handle;
4096 struct set_foreground_window_reply
4098 struct reply_header __header;
4099 user_handle_t previous;
4100 int send_msg_old;
4101 int send_msg_new;
4102 char __pad_20[4];
4106 struct set_focus_window_request
4108 struct request_header __header;
4109 user_handle_t handle;
4111 struct set_focus_window_reply
4113 struct reply_header __header;
4114 user_handle_t previous;
4115 char __pad_12[4];
4119 struct set_active_window_request
4121 struct request_header __header;
4122 user_handle_t handle;
4124 struct set_active_window_reply
4126 struct reply_header __header;
4127 user_handle_t previous;
4128 char __pad_12[4];
4132 struct set_capture_window_request
4134 struct request_header __header;
4135 user_handle_t handle;
4136 unsigned int flags;
4137 char __pad_20[4];
4139 struct set_capture_window_reply
4141 struct reply_header __header;
4142 user_handle_t previous;
4143 user_handle_t full_handle;
4145 #define CAPTURE_MENU 0x01
4146 #define CAPTURE_MOVESIZE 0x02
4150 struct set_caret_window_request
4152 struct request_header __header;
4153 user_handle_t handle;
4154 int width;
4155 int height;
4157 struct set_caret_window_reply
4159 struct reply_header __header;
4160 user_handle_t previous;
4161 rectangle_t old_rect;
4162 int old_hide;
4163 int old_state;
4164 char __pad_36[4];
4169 struct set_caret_info_request
4171 struct request_header __header;
4172 unsigned int flags;
4173 user_handle_t handle;
4174 int x;
4175 int y;
4176 int hide;
4177 int state;
4178 char __pad_36[4];
4180 struct set_caret_info_reply
4182 struct reply_header __header;
4183 user_handle_t full_handle;
4184 rectangle_t old_rect;
4185 int old_hide;
4186 int old_state;
4187 char __pad_36[4];
4189 #define SET_CARET_POS 0x01
4190 #define SET_CARET_HIDE 0x02
4191 #define SET_CARET_STATE 0x04
4195 struct set_hook_request
4197 struct request_header __header;
4198 int id;
4199 process_id_t pid;
4200 thread_id_t tid;
4201 int event_min;
4202 int event_max;
4203 client_ptr_t proc;
4204 int flags;
4205 int unicode;
4206 /* VARARG(module,unicode_str); */
4208 struct set_hook_reply
4210 struct reply_header __header;
4211 user_handle_t handle;
4212 unsigned int active_hooks;
4217 struct remove_hook_request
4219 struct request_header __header;
4220 user_handle_t handle;
4221 client_ptr_t proc;
4222 int id;
4223 char __pad_28[4];
4225 struct remove_hook_reply
4227 struct reply_header __header;
4228 unsigned int active_hooks;
4229 char __pad_12[4];
4234 struct start_hook_chain_request
4236 struct request_header __header;
4237 int id;
4238 int event;
4239 user_handle_t window;
4240 int object_id;
4241 int child_id;
4243 struct start_hook_chain_reply
4245 struct reply_header __header;
4246 user_handle_t handle;
4247 process_id_t pid;
4248 thread_id_t tid;
4249 int unicode;
4250 client_ptr_t proc;
4251 unsigned int active_hooks;
4252 /* VARARG(module,unicode_str); */
4253 char __pad_36[4];
4258 struct finish_hook_chain_request
4260 struct request_header __header;
4261 int id;
4263 struct finish_hook_chain_reply
4265 struct reply_header __header;
4270 struct get_hook_info_request
4272 struct request_header __header;
4273 user_handle_t handle;
4274 int get_next;
4275 int event;
4276 user_handle_t window;
4277 int object_id;
4278 int child_id;
4279 char __pad_36[4];
4281 struct get_hook_info_reply
4283 struct reply_header __header;
4284 user_handle_t handle;
4285 int id;
4286 process_id_t pid;
4287 thread_id_t tid;
4288 client_ptr_t proc;
4289 int unicode;
4290 /* VARARG(module,unicode_str); */
4291 char __pad_36[4];
4296 struct create_class_request
4298 struct request_header __header;
4299 int local;
4300 atom_t atom;
4301 unsigned int style;
4302 mod_handle_t instance;
4303 int extra;
4304 int win_extra;
4305 client_ptr_t client_ptr;
4306 /* VARARG(name,unicode_str); */
4308 struct create_class_reply
4310 struct reply_header __header;
4311 atom_t atom;
4312 char __pad_12[4];
4317 struct destroy_class_request
4319 struct request_header __header;
4320 atom_t atom;
4321 mod_handle_t instance;
4322 /* VARARG(name,unicode_str); */
4324 struct destroy_class_reply
4326 struct reply_header __header;
4327 client_ptr_t client_ptr;
4332 struct set_class_info_request
4334 struct request_header __header;
4335 user_handle_t window;
4336 unsigned int flags;
4337 atom_t atom;
4338 unsigned int style;
4339 int win_extra;
4340 mod_handle_t instance;
4341 int extra_offset;
4342 data_size_t extra_size;
4343 lparam_t extra_value;
4345 struct set_class_info_reply
4347 struct reply_header __header;
4348 atom_t old_atom;
4349 unsigned int old_style;
4350 int old_extra;
4351 int old_win_extra;
4352 mod_handle_t old_instance;
4353 lparam_t old_extra_value;
4355 #define SET_CLASS_ATOM 0x0001
4356 #define SET_CLASS_STYLE 0x0002
4357 #define SET_CLASS_WINEXTRA 0x0004
4358 #define SET_CLASS_INSTANCE 0x0008
4359 #define SET_CLASS_EXTRA 0x0010
4363 struct set_clipboard_info_request
4365 struct request_header __header;
4366 unsigned int flags;
4367 user_handle_t clipboard;
4368 user_handle_t owner;
4369 user_handle_t viewer;
4370 unsigned int seqno;
4372 struct set_clipboard_info_reply
4374 struct reply_header __header;
4375 unsigned int flags;
4376 user_handle_t old_clipboard;
4377 user_handle_t old_owner;
4378 user_handle_t old_viewer;
4379 unsigned int seqno;
4380 char __pad_28[4];
4383 #define SET_CB_OPEN 0x001
4384 #define SET_CB_OWNER 0x002
4385 #define SET_CB_VIEWER 0x004
4386 #define SET_CB_SEQNO 0x008
4387 #define SET_CB_RELOWNER 0x010
4388 #define SET_CB_CLOSE 0x020
4389 #define CB_OPEN 0x040
4390 #define CB_OWNER 0x080
4391 #define CB_PROCESS 0x100
4395 struct open_token_request
4397 struct request_header __header;
4398 obj_handle_t handle;
4399 unsigned int access;
4400 unsigned int attributes;
4401 unsigned int flags;
4402 char __pad_28[4];
4404 struct open_token_reply
4406 struct reply_header __header;
4407 obj_handle_t token;
4408 char __pad_12[4];
4410 #define OPEN_TOKEN_THREAD 1
4411 #define OPEN_TOKEN_AS_SELF 2
4415 struct set_global_windows_request
4417 struct request_header __header;
4418 unsigned int flags;
4419 user_handle_t shell_window;
4420 user_handle_t shell_listview;
4421 user_handle_t progman_window;
4422 user_handle_t taskman_window;
4424 struct set_global_windows_reply
4426 struct reply_header __header;
4427 user_handle_t old_shell_window;
4428 user_handle_t old_shell_listview;
4429 user_handle_t old_progman_window;
4430 user_handle_t old_taskman_window;
4432 #define SET_GLOBAL_SHELL_WINDOWS 0x01
4433 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
4434 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
4437 struct adjust_token_privileges_request
4439 struct request_header __header;
4440 obj_handle_t handle;
4441 int disable_all;
4442 int get_modified_state;
4443 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4445 struct adjust_token_privileges_reply
4447 struct reply_header __header;
4448 unsigned int len;
4449 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4450 char __pad_12[4];
4454 struct get_token_privileges_request
4456 struct request_header __header;
4457 obj_handle_t handle;
4459 struct get_token_privileges_reply
4461 struct reply_header __header;
4462 unsigned int len;
4463 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4464 char __pad_12[4];
4468 struct check_token_privileges_request
4470 struct request_header __header;
4471 obj_handle_t handle;
4472 int all_required;
4473 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4474 char __pad_20[4];
4476 struct check_token_privileges_reply
4478 struct reply_header __header;
4479 int has_privileges;
4480 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4481 char __pad_12[4];
4484 struct duplicate_token_request
4486 struct request_header __header;
4487 obj_handle_t handle;
4488 unsigned int access;
4489 unsigned int attributes;
4490 int primary;
4491 int impersonation_level;
4493 struct duplicate_token_reply
4495 struct reply_header __header;
4496 obj_handle_t new_handle;
4497 char __pad_12[4];
4500 struct access_check_request
4502 struct request_header __header;
4503 obj_handle_t handle;
4504 unsigned int desired_access;
4505 unsigned int mapping_read;
4506 unsigned int mapping_write;
4507 unsigned int mapping_execute;
4508 unsigned int mapping_all;
4509 /* VARARG(sd,security_descriptor); */
4510 char __pad_36[4];
4512 struct access_check_reply
4514 struct reply_header __header;
4515 unsigned int access_granted;
4516 unsigned int access_status;
4517 unsigned int privileges_len;
4518 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4519 char __pad_20[4];
4522 struct get_token_sid_request
4524 struct request_header __header;
4525 obj_handle_t handle;
4526 unsigned int which_sid;
4527 char __pad_20[4];
4529 struct get_token_sid_reply
4531 struct reply_header __header;
4532 data_size_t sid_len;
4533 /* VARARG(sid,SID); */
4534 char __pad_12[4];
4537 struct get_token_groups_request
4539 struct request_header __header;
4540 obj_handle_t handle;
4542 struct get_token_groups_reply
4544 struct reply_header __header;
4545 data_size_t user_len;
4546 /* VARARG(user,token_groups); */
4547 char __pad_12[4];
4550 struct get_token_default_dacl_request
4552 struct request_header __header;
4553 obj_handle_t handle;
4555 struct get_token_default_dacl_reply
4557 struct reply_header __header;
4558 data_size_t acl_len;
4559 /* VARARG(acl,ACL); */
4560 char __pad_12[4];
4563 struct set_token_default_dacl_request
4565 struct request_header __header;
4566 obj_handle_t handle;
4567 /* VARARG(acl,ACL); */
4569 struct set_token_default_dacl_reply
4571 struct reply_header __header;
4574 struct set_security_object_request
4576 struct request_header __header;
4577 obj_handle_t handle;
4578 unsigned int security_info;
4579 /* VARARG(sd,security_descriptor); */
4580 char __pad_20[4];
4582 struct set_security_object_reply
4584 struct reply_header __header;
4587 struct get_security_object_request
4589 struct request_header __header;
4590 obj_handle_t handle;
4591 unsigned int security_info;
4592 char __pad_20[4];
4594 struct get_security_object_reply
4596 struct reply_header __header;
4597 unsigned int sd_len;
4598 /* VARARG(sd,security_descriptor); */
4599 char __pad_12[4];
4603 struct create_mailslot_request
4605 struct request_header __header;
4606 unsigned int access;
4607 unsigned int attributes;
4608 obj_handle_t rootdir;
4609 timeout_t read_timeout;
4610 unsigned int max_msgsize;
4611 /* VARARG(name,unicode_str); */
4612 char __pad_36[4];
4614 struct create_mailslot_reply
4616 struct reply_header __header;
4617 obj_handle_t handle;
4618 char __pad_12[4];
4623 struct set_mailslot_info_request
4625 struct request_header __header;
4626 obj_handle_t handle;
4627 timeout_t read_timeout;
4628 unsigned int flags;
4629 char __pad_28[4];
4631 struct set_mailslot_info_reply
4633 struct reply_header __header;
4634 timeout_t read_timeout;
4635 unsigned int max_msgsize;
4636 char __pad_20[4];
4638 #define MAILSLOT_SET_READ_TIMEOUT 1
4642 struct create_directory_request
4644 struct request_header __header;
4645 unsigned int access;
4646 unsigned int attributes;
4647 obj_handle_t rootdir;
4648 /* VARARG(directory_name,unicode_str); */
4650 struct create_directory_reply
4652 struct reply_header __header;
4653 obj_handle_t handle;
4654 char __pad_12[4];
4659 struct open_directory_request
4661 struct request_header __header;
4662 unsigned int access;
4663 unsigned int attributes;
4664 obj_handle_t rootdir;
4665 /* VARARG(directory_name,unicode_str); */
4667 struct open_directory_reply
4669 struct reply_header __header;
4670 obj_handle_t handle;
4671 char __pad_12[4];
4676 struct get_directory_entry_request
4678 struct request_header __header;
4679 obj_handle_t handle;
4680 unsigned int index;
4681 char __pad_20[4];
4683 struct get_directory_entry_reply
4685 struct reply_header __header;
4686 data_size_t name_len;
4687 /* VARARG(name,unicode_str,name_len); */
4688 /* VARARG(type,unicode_str); */
4689 char __pad_12[4];
4694 struct create_symlink_request
4696 struct request_header __header;
4697 unsigned int access;
4698 unsigned int attributes;
4699 obj_handle_t rootdir;
4700 data_size_t name_len;
4701 /* VARARG(name,unicode_str,name_len); */
4702 /* VARARG(target_name,unicode_str); */
4703 char __pad_28[4];
4705 struct create_symlink_reply
4707 struct reply_header __header;
4708 obj_handle_t handle;
4709 char __pad_12[4];
4714 struct open_symlink_request
4716 struct request_header __header;
4717 unsigned int access;
4718 unsigned int attributes;
4719 obj_handle_t rootdir;
4720 /* VARARG(name,unicode_str); */
4722 struct open_symlink_reply
4724 struct reply_header __header;
4725 obj_handle_t handle;
4726 char __pad_12[4];
4731 struct query_symlink_request
4733 struct request_header __header;
4734 obj_handle_t handle;
4736 struct query_symlink_reply
4738 struct reply_header __header;
4739 data_size_t total;
4740 /* VARARG(target_name,unicode_str); */
4741 char __pad_12[4];
4746 struct get_object_info_request
4748 struct request_header __header;
4749 obj_handle_t handle;
4751 struct get_object_info_reply
4753 struct reply_header __header;
4754 unsigned int access;
4755 unsigned int ref_count;
4756 unsigned int handle_count;
4757 data_size_t total;
4758 /* VARARG(name,unicode_str); */
4763 struct unlink_object_request
4765 struct request_header __header;
4766 obj_handle_t handle;
4768 struct unlink_object_reply
4770 struct reply_header __header;
4775 struct get_token_impersonation_level_request
4777 struct request_header __header;
4778 obj_handle_t handle;
4780 struct get_token_impersonation_level_reply
4782 struct reply_header __header;
4783 int impersonation_level;
4784 char __pad_12[4];
4788 struct allocate_locally_unique_id_request
4790 struct request_header __header;
4791 char __pad_12[4];
4793 struct allocate_locally_unique_id_reply
4795 struct reply_header __header;
4796 luid_t luid;
4801 struct create_device_manager_request
4803 struct request_header __header;
4804 unsigned int access;
4805 unsigned int attributes;
4806 char __pad_20[4];
4808 struct create_device_manager_reply
4810 struct reply_header __header;
4811 obj_handle_t handle;
4812 char __pad_12[4];
4817 struct create_device_request
4819 struct request_header __header;
4820 unsigned int access;
4821 unsigned int attributes;
4822 obj_handle_t rootdir;
4823 client_ptr_t user_ptr;
4824 obj_handle_t manager;
4825 /* VARARG(name,unicode_str); */
4826 char __pad_36[4];
4828 struct create_device_reply
4830 struct reply_header __header;
4831 obj_handle_t handle;
4832 char __pad_12[4];
4837 struct delete_device_request
4839 struct request_header __header;
4840 obj_handle_t handle;
4842 struct delete_device_reply
4844 struct reply_header __header;
4849 struct get_next_device_request_request
4851 struct request_header __header;
4852 obj_handle_t manager;
4853 obj_handle_t prev;
4854 unsigned int status;
4856 struct get_next_device_request_reply
4858 struct reply_header __header;
4859 client_ptr_t user_ptr;
4860 irp_params_t params;
4861 obj_handle_t next;
4862 process_id_t client_pid;
4863 thread_id_t client_tid;
4864 data_size_t in_size;
4865 data_size_t out_size;
4866 /* VARARG(next_data,bytes); */
4867 char __pad_52[4];
4872 struct make_process_system_request
4874 struct request_header __header;
4875 char __pad_12[4];
4877 struct make_process_system_reply
4879 struct reply_header __header;
4880 obj_handle_t event;
4881 char __pad_12[4];
4886 struct get_token_statistics_request
4888 struct request_header __header;
4889 obj_handle_t handle;
4891 struct get_token_statistics_reply
4893 struct reply_header __header;
4894 luid_t token_id;
4895 luid_t modified_id;
4896 int primary;
4897 int impersonation_level;
4898 int group_count;
4899 int privilege_count;
4904 struct create_completion_request
4906 struct request_header __header;
4907 unsigned int access;
4908 unsigned int attributes;
4909 unsigned int concurrent;
4910 obj_handle_t rootdir;
4911 /* VARARG(filename,unicode_str); */
4912 char __pad_28[4];
4914 struct create_completion_reply
4916 struct reply_header __header;
4917 obj_handle_t handle;
4918 char __pad_12[4];
4923 struct open_completion_request
4925 struct request_header __header;
4926 unsigned int access;
4927 unsigned int attributes;
4928 obj_handle_t rootdir;
4929 /* VARARG(filename,unicode_str); */
4931 struct open_completion_reply
4933 struct reply_header __header;
4934 obj_handle_t handle;
4935 char __pad_12[4];
4940 struct add_completion_request
4942 struct request_header __header;
4943 obj_handle_t handle;
4944 apc_param_t ckey;
4945 apc_param_t cvalue;
4946 apc_param_t information;
4947 unsigned int status;
4948 char __pad_44[4];
4950 struct add_completion_reply
4952 struct reply_header __header;
4957 struct remove_completion_request
4959 struct request_header __header;
4960 obj_handle_t handle;
4962 struct remove_completion_reply
4964 struct reply_header __header;
4965 apc_param_t ckey;
4966 apc_param_t cvalue;
4967 apc_param_t information;
4968 unsigned int status;
4969 char __pad_36[4];
4974 struct query_completion_request
4976 struct request_header __header;
4977 obj_handle_t handle;
4979 struct query_completion_reply
4981 struct reply_header __header;
4982 unsigned int depth;
4983 char __pad_12[4];
4988 struct set_completion_info_request
4990 struct request_header __header;
4991 obj_handle_t handle;
4992 apc_param_t ckey;
4993 obj_handle_t chandle;
4994 char __pad_28[4];
4996 struct set_completion_info_reply
4998 struct reply_header __header;
5003 struct add_fd_completion_request
5005 struct request_header __header;
5006 obj_handle_t handle;
5007 apc_param_t cvalue;
5008 apc_param_t information;
5009 unsigned int status;
5010 char __pad_36[4];
5012 struct add_fd_completion_reply
5014 struct reply_header __header;
5019 struct get_window_layered_info_request
5021 struct request_header __header;
5022 user_handle_t handle;
5024 struct get_window_layered_info_reply
5026 struct reply_header __header;
5027 unsigned int color_key;
5028 unsigned int alpha;
5029 unsigned int flags;
5030 char __pad_20[4];
5035 struct set_window_layered_info_request
5037 struct request_header __header;
5038 user_handle_t handle;
5039 unsigned int color_key;
5040 unsigned int alpha;
5041 unsigned int flags;
5042 char __pad_28[4];
5044 struct set_window_layered_info_reply
5046 struct reply_header __header;
5051 struct alloc_user_handle_request
5053 struct request_header __header;
5054 char __pad_12[4];
5056 struct alloc_user_handle_reply
5058 struct reply_header __header;
5059 user_handle_t handle;
5060 char __pad_12[4];
5065 struct free_user_handle_request
5067 struct request_header __header;
5068 user_handle_t handle;
5070 struct free_user_handle_reply
5072 struct reply_header __header;
5077 struct set_cursor_request
5079 struct request_header __header;
5080 unsigned int flags;
5081 user_handle_t handle;
5082 int show_count;
5083 int x;
5084 int y;
5085 rectangle_t clip;
5086 unsigned int clip_msg;
5087 char __pad_52[4];
5089 struct set_cursor_reply
5091 struct reply_header __header;
5092 user_handle_t prev_handle;
5093 int prev_count;
5094 int prev_x;
5095 int prev_y;
5096 int new_x;
5097 int new_y;
5098 rectangle_t new_clip;
5099 unsigned int last_change;
5100 char __pad_52[4];
5102 #define SET_CURSOR_HANDLE 0x01
5103 #define SET_CURSOR_COUNT 0x02
5104 #define SET_CURSOR_POS 0x04
5105 #define SET_CURSOR_CLIP 0x08
5106 #define SET_CURSOR_NOCLIP 0x10
5110 struct update_rawinput_devices_request
5112 struct request_header __header;
5113 /* VARARG(devices,rawinput_devices); */
5114 char __pad_12[4];
5116 struct update_rawinput_devices_reply
5118 struct reply_header __header;
5123 struct get_suspend_context_request
5125 struct request_header __header;
5126 char __pad_12[4];
5128 struct get_suspend_context_reply
5130 struct reply_header __header;
5131 /* VARARG(context,context); */
5136 struct set_suspend_context_request
5138 struct request_header __header;
5139 /* VARARG(context,context); */
5140 char __pad_12[4];
5142 struct set_suspend_context_reply
5144 struct reply_header __header;
5149 struct create_job_request
5151 struct request_header __header;
5152 unsigned int access;
5153 unsigned int attributes;
5154 /* VARARG(objattr,object_attributes); */
5155 char __pad_20[4];
5157 struct create_job_reply
5159 struct reply_header __header;
5160 obj_handle_t handle;
5161 char __pad_12[4];
5166 struct assign_job_request
5168 struct request_header __header;
5169 obj_handle_t job;
5170 obj_handle_t process;
5171 char __pad_20[4];
5173 struct assign_job_reply
5175 struct reply_header __header;
5180 struct process_in_job_request
5182 struct request_header __header;
5183 obj_handle_t job;
5184 obj_handle_t process;
5185 char __pad_20[4];
5187 struct process_in_job_reply
5189 struct reply_header __header;
5194 struct set_job_limits_request
5196 struct request_header __header;
5197 obj_handle_t handle;
5198 unsigned int limit_flags;
5199 char __pad_20[4];
5201 struct set_job_limits_reply
5203 struct reply_header __header;
5208 struct set_job_completion_port_request
5210 struct request_header __header;
5211 obj_handle_t job;
5212 obj_handle_t port;
5213 char __pad_20[4];
5214 client_ptr_t key;
5216 struct set_job_completion_port_reply
5218 struct reply_header __header;
5223 struct terminate_job_request
5225 struct request_header __header;
5226 obj_handle_t handle;
5227 int status;
5228 char __pad_20[4];
5230 struct terminate_job_reply
5232 struct reply_header __header;
5236 enum request
5238 REQ_new_process,
5239 REQ_get_new_process_info,
5240 REQ_new_thread,
5241 REQ_get_startup_info,
5242 REQ_init_process_done,
5243 REQ_init_thread,
5244 REQ_terminate_process,
5245 REQ_terminate_thread,
5246 REQ_get_process_info,
5247 REQ_set_process_info,
5248 REQ_get_thread_info,
5249 REQ_set_thread_info,
5250 REQ_get_dll_info,
5251 REQ_suspend_thread,
5252 REQ_resume_thread,
5253 REQ_load_dll,
5254 REQ_unload_dll,
5255 REQ_queue_apc,
5256 REQ_get_apc_result,
5257 REQ_close_handle,
5258 REQ_set_handle_info,
5259 REQ_dup_handle,
5260 REQ_open_process,
5261 REQ_open_thread,
5262 REQ_select,
5263 REQ_create_event,
5264 REQ_event_op,
5265 REQ_query_event,
5266 REQ_open_event,
5267 REQ_create_keyed_event,
5268 REQ_open_keyed_event,
5269 REQ_create_mutex,
5270 REQ_release_mutex,
5271 REQ_open_mutex,
5272 REQ_create_semaphore,
5273 REQ_release_semaphore,
5274 REQ_query_semaphore,
5275 REQ_open_semaphore,
5276 REQ_create_file,
5277 REQ_open_file_object,
5278 REQ_alloc_file_handle,
5279 REQ_get_handle_unix_name,
5280 REQ_get_handle_fd,
5281 REQ_flush,
5282 REQ_lock_file,
5283 REQ_unlock_file,
5284 REQ_create_socket,
5285 REQ_accept_socket,
5286 REQ_accept_into_socket,
5287 REQ_set_socket_event,
5288 REQ_get_socket_event,
5289 REQ_get_socket_info,
5290 REQ_enable_socket_event,
5291 REQ_set_socket_deferred,
5292 REQ_alloc_console,
5293 REQ_free_console,
5294 REQ_get_console_renderer_events,
5295 REQ_open_console,
5296 REQ_get_console_wait_event,
5297 REQ_get_console_mode,
5298 REQ_set_console_mode,
5299 REQ_set_console_input_info,
5300 REQ_get_console_input_info,
5301 REQ_append_console_input_history,
5302 REQ_get_console_input_history,
5303 REQ_create_console_output,
5304 REQ_set_console_output_info,
5305 REQ_get_console_output_info,
5306 REQ_write_console_input,
5307 REQ_read_console_input,
5308 REQ_write_console_output,
5309 REQ_fill_console_output,
5310 REQ_read_console_output,
5311 REQ_move_console_output,
5312 REQ_send_console_signal,
5313 REQ_read_directory_changes,
5314 REQ_read_change,
5315 REQ_create_mapping,
5316 REQ_open_mapping,
5317 REQ_get_mapping_info,
5318 REQ_get_mapping_committed_range,
5319 REQ_add_mapping_committed_range,
5320 REQ_create_snapshot,
5321 REQ_next_process,
5322 REQ_next_thread,
5323 REQ_wait_debug_event,
5324 REQ_queue_exception_event,
5325 REQ_get_exception_status,
5326 REQ_continue_debug_event,
5327 REQ_debug_process,
5328 REQ_debug_break,
5329 REQ_set_debugger_kill_on_exit,
5330 REQ_read_process_memory,
5331 REQ_write_process_memory,
5332 REQ_create_key,
5333 REQ_open_key,
5334 REQ_delete_key,
5335 REQ_flush_key,
5336 REQ_enum_key,
5337 REQ_set_key_value,
5338 REQ_get_key_value,
5339 REQ_enum_key_value,
5340 REQ_delete_key_value,
5341 REQ_load_registry,
5342 REQ_unload_registry,
5343 REQ_save_registry,
5344 REQ_set_registry_notification,
5345 REQ_create_timer,
5346 REQ_open_timer,
5347 REQ_set_timer,
5348 REQ_cancel_timer,
5349 REQ_get_timer_info,
5350 REQ_get_thread_context,
5351 REQ_set_thread_context,
5352 REQ_get_selector_entry,
5353 REQ_add_atom,
5354 REQ_delete_atom,
5355 REQ_find_atom,
5356 REQ_get_atom_information,
5357 REQ_set_atom_information,
5358 REQ_empty_atom_table,
5359 REQ_init_atom_table,
5360 REQ_get_msg_queue,
5361 REQ_set_queue_fd,
5362 REQ_set_queue_mask,
5363 REQ_get_queue_status,
5364 REQ_get_process_idle_event,
5365 REQ_send_message,
5366 REQ_post_quit_message,
5367 REQ_send_hardware_message,
5368 REQ_get_message,
5369 REQ_reply_message,
5370 REQ_accept_hardware_message,
5371 REQ_get_message_reply,
5372 REQ_set_win_timer,
5373 REQ_kill_win_timer,
5374 REQ_is_window_hung,
5375 REQ_get_serial_info,
5376 REQ_set_serial_info,
5377 REQ_register_async,
5378 REQ_cancel_async,
5379 REQ_read,
5380 REQ_write,
5381 REQ_ioctl,
5382 REQ_set_irp_result,
5383 REQ_get_irp_result,
5384 REQ_create_named_pipe,
5385 REQ_get_named_pipe_info,
5386 REQ_set_named_pipe_info,
5387 REQ_create_window,
5388 REQ_destroy_window,
5389 REQ_get_desktop_window,
5390 REQ_set_window_owner,
5391 REQ_get_window_info,
5392 REQ_set_window_info,
5393 REQ_set_parent,
5394 REQ_get_window_parents,
5395 REQ_get_window_children,
5396 REQ_get_window_children_from_point,
5397 REQ_get_window_tree,
5398 REQ_set_window_pos,
5399 REQ_get_window_rectangles,
5400 REQ_get_window_text,
5401 REQ_set_window_text,
5402 REQ_get_windows_offset,
5403 REQ_get_visible_region,
5404 REQ_get_surface_region,
5405 REQ_get_window_region,
5406 REQ_set_window_region,
5407 REQ_get_update_region,
5408 REQ_update_window_zorder,
5409 REQ_redraw_window,
5410 REQ_set_window_property,
5411 REQ_remove_window_property,
5412 REQ_get_window_property,
5413 REQ_get_window_properties,
5414 REQ_create_winstation,
5415 REQ_open_winstation,
5416 REQ_close_winstation,
5417 REQ_get_process_winstation,
5418 REQ_set_process_winstation,
5419 REQ_enum_winstation,
5420 REQ_create_desktop,
5421 REQ_open_desktop,
5422 REQ_open_input_desktop,
5423 REQ_close_desktop,
5424 REQ_get_thread_desktop,
5425 REQ_set_thread_desktop,
5426 REQ_enum_desktop,
5427 REQ_set_user_object_info,
5428 REQ_register_hotkey,
5429 REQ_unregister_hotkey,
5430 REQ_attach_thread_input,
5431 REQ_get_thread_input,
5432 REQ_get_last_input_time,
5433 REQ_get_key_state,
5434 REQ_set_key_state,
5435 REQ_set_foreground_window,
5436 REQ_set_focus_window,
5437 REQ_set_active_window,
5438 REQ_set_capture_window,
5439 REQ_set_caret_window,
5440 REQ_set_caret_info,
5441 REQ_set_hook,
5442 REQ_remove_hook,
5443 REQ_start_hook_chain,
5444 REQ_finish_hook_chain,
5445 REQ_get_hook_info,
5446 REQ_create_class,
5447 REQ_destroy_class,
5448 REQ_set_class_info,
5449 REQ_set_clipboard_info,
5450 REQ_open_token,
5451 REQ_set_global_windows,
5452 REQ_adjust_token_privileges,
5453 REQ_get_token_privileges,
5454 REQ_check_token_privileges,
5455 REQ_duplicate_token,
5456 REQ_access_check,
5457 REQ_get_token_sid,
5458 REQ_get_token_groups,
5459 REQ_get_token_default_dacl,
5460 REQ_set_token_default_dacl,
5461 REQ_set_security_object,
5462 REQ_get_security_object,
5463 REQ_create_mailslot,
5464 REQ_set_mailslot_info,
5465 REQ_create_directory,
5466 REQ_open_directory,
5467 REQ_get_directory_entry,
5468 REQ_create_symlink,
5469 REQ_open_symlink,
5470 REQ_query_symlink,
5471 REQ_get_object_info,
5472 REQ_unlink_object,
5473 REQ_get_token_impersonation_level,
5474 REQ_allocate_locally_unique_id,
5475 REQ_create_device_manager,
5476 REQ_create_device,
5477 REQ_delete_device,
5478 REQ_get_next_device_request,
5479 REQ_make_process_system,
5480 REQ_get_token_statistics,
5481 REQ_create_completion,
5482 REQ_open_completion,
5483 REQ_add_completion,
5484 REQ_remove_completion,
5485 REQ_query_completion,
5486 REQ_set_completion_info,
5487 REQ_add_fd_completion,
5488 REQ_get_window_layered_info,
5489 REQ_set_window_layered_info,
5490 REQ_alloc_user_handle,
5491 REQ_free_user_handle,
5492 REQ_set_cursor,
5493 REQ_update_rawinput_devices,
5494 REQ_get_suspend_context,
5495 REQ_set_suspend_context,
5496 REQ_create_job,
5497 REQ_assign_job,
5498 REQ_process_in_job,
5499 REQ_set_job_limits,
5500 REQ_set_job_completion_port,
5501 REQ_terminate_job,
5502 REQ_NB_REQUESTS
5505 union generic_request
5507 struct request_max_size max_size;
5508 struct request_header request_header;
5509 struct new_process_request new_process_request;
5510 struct get_new_process_info_request get_new_process_info_request;
5511 struct new_thread_request new_thread_request;
5512 struct get_startup_info_request get_startup_info_request;
5513 struct init_process_done_request init_process_done_request;
5514 struct init_thread_request init_thread_request;
5515 struct terminate_process_request terminate_process_request;
5516 struct terminate_thread_request terminate_thread_request;
5517 struct get_process_info_request get_process_info_request;
5518 struct set_process_info_request set_process_info_request;
5519 struct get_thread_info_request get_thread_info_request;
5520 struct set_thread_info_request set_thread_info_request;
5521 struct get_dll_info_request get_dll_info_request;
5522 struct suspend_thread_request suspend_thread_request;
5523 struct resume_thread_request resume_thread_request;
5524 struct load_dll_request load_dll_request;
5525 struct unload_dll_request unload_dll_request;
5526 struct queue_apc_request queue_apc_request;
5527 struct get_apc_result_request get_apc_result_request;
5528 struct close_handle_request close_handle_request;
5529 struct set_handle_info_request set_handle_info_request;
5530 struct dup_handle_request dup_handle_request;
5531 struct open_process_request open_process_request;
5532 struct open_thread_request open_thread_request;
5533 struct select_request select_request;
5534 struct create_event_request create_event_request;
5535 struct event_op_request event_op_request;
5536 struct query_event_request query_event_request;
5537 struct open_event_request open_event_request;
5538 struct create_keyed_event_request create_keyed_event_request;
5539 struct open_keyed_event_request open_keyed_event_request;
5540 struct create_mutex_request create_mutex_request;
5541 struct release_mutex_request release_mutex_request;
5542 struct open_mutex_request open_mutex_request;
5543 struct create_semaphore_request create_semaphore_request;
5544 struct release_semaphore_request release_semaphore_request;
5545 struct query_semaphore_request query_semaphore_request;
5546 struct open_semaphore_request open_semaphore_request;
5547 struct create_file_request create_file_request;
5548 struct open_file_object_request open_file_object_request;
5549 struct alloc_file_handle_request alloc_file_handle_request;
5550 struct get_handle_unix_name_request get_handle_unix_name_request;
5551 struct get_handle_fd_request get_handle_fd_request;
5552 struct flush_request flush_request;
5553 struct lock_file_request lock_file_request;
5554 struct unlock_file_request unlock_file_request;
5555 struct create_socket_request create_socket_request;
5556 struct accept_socket_request accept_socket_request;
5557 struct accept_into_socket_request accept_into_socket_request;
5558 struct set_socket_event_request set_socket_event_request;
5559 struct get_socket_event_request get_socket_event_request;
5560 struct get_socket_info_request get_socket_info_request;
5561 struct enable_socket_event_request enable_socket_event_request;
5562 struct set_socket_deferred_request set_socket_deferred_request;
5563 struct alloc_console_request alloc_console_request;
5564 struct free_console_request free_console_request;
5565 struct get_console_renderer_events_request get_console_renderer_events_request;
5566 struct open_console_request open_console_request;
5567 struct get_console_wait_event_request get_console_wait_event_request;
5568 struct get_console_mode_request get_console_mode_request;
5569 struct set_console_mode_request set_console_mode_request;
5570 struct set_console_input_info_request set_console_input_info_request;
5571 struct get_console_input_info_request get_console_input_info_request;
5572 struct append_console_input_history_request append_console_input_history_request;
5573 struct get_console_input_history_request get_console_input_history_request;
5574 struct create_console_output_request create_console_output_request;
5575 struct set_console_output_info_request set_console_output_info_request;
5576 struct get_console_output_info_request get_console_output_info_request;
5577 struct write_console_input_request write_console_input_request;
5578 struct read_console_input_request read_console_input_request;
5579 struct write_console_output_request write_console_output_request;
5580 struct fill_console_output_request fill_console_output_request;
5581 struct read_console_output_request read_console_output_request;
5582 struct move_console_output_request move_console_output_request;
5583 struct send_console_signal_request send_console_signal_request;
5584 struct read_directory_changes_request read_directory_changes_request;
5585 struct read_change_request read_change_request;
5586 struct create_mapping_request create_mapping_request;
5587 struct open_mapping_request open_mapping_request;
5588 struct get_mapping_info_request get_mapping_info_request;
5589 struct get_mapping_committed_range_request get_mapping_committed_range_request;
5590 struct add_mapping_committed_range_request add_mapping_committed_range_request;
5591 struct create_snapshot_request create_snapshot_request;
5592 struct next_process_request next_process_request;
5593 struct next_thread_request next_thread_request;
5594 struct wait_debug_event_request wait_debug_event_request;
5595 struct queue_exception_event_request queue_exception_event_request;
5596 struct get_exception_status_request get_exception_status_request;
5597 struct continue_debug_event_request continue_debug_event_request;
5598 struct debug_process_request debug_process_request;
5599 struct debug_break_request debug_break_request;
5600 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
5601 struct read_process_memory_request read_process_memory_request;
5602 struct write_process_memory_request write_process_memory_request;
5603 struct create_key_request create_key_request;
5604 struct open_key_request open_key_request;
5605 struct delete_key_request delete_key_request;
5606 struct flush_key_request flush_key_request;
5607 struct enum_key_request enum_key_request;
5608 struct set_key_value_request set_key_value_request;
5609 struct get_key_value_request get_key_value_request;
5610 struct enum_key_value_request enum_key_value_request;
5611 struct delete_key_value_request delete_key_value_request;
5612 struct load_registry_request load_registry_request;
5613 struct unload_registry_request unload_registry_request;
5614 struct save_registry_request save_registry_request;
5615 struct set_registry_notification_request set_registry_notification_request;
5616 struct create_timer_request create_timer_request;
5617 struct open_timer_request open_timer_request;
5618 struct set_timer_request set_timer_request;
5619 struct cancel_timer_request cancel_timer_request;
5620 struct get_timer_info_request get_timer_info_request;
5621 struct get_thread_context_request get_thread_context_request;
5622 struct set_thread_context_request set_thread_context_request;
5623 struct get_selector_entry_request get_selector_entry_request;
5624 struct add_atom_request add_atom_request;
5625 struct delete_atom_request delete_atom_request;
5626 struct find_atom_request find_atom_request;
5627 struct get_atom_information_request get_atom_information_request;
5628 struct set_atom_information_request set_atom_information_request;
5629 struct empty_atom_table_request empty_atom_table_request;
5630 struct init_atom_table_request init_atom_table_request;
5631 struct get_msg_queue_request get_msg_queue_request;
5632 struct set_queue_fd_request set_queue_fd_request;
5633 struct set_queue_mask_request set_queue_mask_request;
5634 struct get_queue_status_request get_queue_status_request;
5635 struct get_process_idle_event_request get_process_idle_event_request;
5636 struct send_message_request send_message_request;
5637 struct post_quit_message_request post_quit_message_request;
5638 struct send_hardware_message_request send_hardware_message_request;
5639 struct get_message_request get_message_request;
5640 struct reply_message_request reply_message_request;
5641 struct accept_hardware_message_request accept_hardware_message_request;
5642 struct get_message_reply_request get_message_reply_request;
5643 struct set_win_timer_request set_win_timer_request;
5644 struct kill_win_timer_request kill_win_timer_request;
5645 struct is_window_hung_request is_window_hung_request;
5646 struct get_serial_info_request get_serial_info_request;
5647 struct set_serial_info_request set_serial_info_request;
5648 struct register_async_request register_async_request;
5649 struct cancel_async_request cancel_async_request;
5650 struct read_request read_request;
5651 struct write_request write_request;
5652 struct ioctl_request ioctl_request;
5653 struct set_irp_result_request set_irp_result_request;
5654 struct get_irp_result_request get_irp_result_request;
5655 struct create_named_pipe_request create_named_pipe_request;
5656 struct get_named_pipe_info_request get_named_pipe_info_request;
5657 struct set_named_pipe_info_request set_named_pipe_info_request;
5658 struct create_window_request create_window_request;
5659 struct destroy_window_request destroy_window_request;
5660 struct get_desktop_window_request get_desktop_window_request;
5661 struct set_window_owner_request set_window_owner_request;
5662 struct get_window_info_request get_window_info_request;
5663 struct set_window_info_request set_window_info_request;
5664 struct set_parent_request set_parent_request;
5665 struct get_window_parents_request get_window_parents_request;
5666 struct get_window_children_request get_window_children_request;
5667 struct get_window_children_from_point_request get_window_children_from_point_request;
5668 struct get_window_tree_request get_window_tree_request;
5669 struct set_window_pos_request set_window_pos_request;
5670 struct get_window_rectangles_request get_window_rectangles_request;
5671 struct get_window_text_request get_window_text_request;
5672 struct set_window_text_request set_window_text_request;
5673 struct get_windows_offset_request get_windows_offset_request;
5674 struct get_visible_region_request get_visible_region_request;
5675 struct get_surface_region_request get_surface_region_request;
5676 struct get_window_region_request get_window_region_request;
5677 struct set_window_region_request set_window_region_request;
5678 struct get_update_region_request get_update_region_request;
5679 struct update_window_zorder_request update_window_zorder_request;
5680 struct redraw_window_request redraw_window_request;
5681 struct set_window_property_request set_window_property_request;
5682 struct remove_window_property_request remove_window_property_request;
5683 struct get_window_property_request get_window_property_request;
5684 struct get_window_properties_request get_window_properties_request;
5685 struct create_winstation_request create_winstation_request;
5686 struct open_winstation_request open_winstation_request;
5687 struct close_winstation_request close_winstation_request;
5688 struct get_process_winstation_request get_process_winstation_request;
5689 struct set_process_winstation_request set_process_winstation_request;
5690 struct enum_winstation_request enum_winstation_request;
5691 struct create_desktop_request create_desktop_request;
5692 struct open_desktop_request open_desktop_request;
5693 struct open_input_desktop_request open_input_desktop_request;
5694 struct close_desktop_request close_desktop_request;
5695 struct get_thread_desktop_request get_thread_desktop_request;
5696 struct set_thread_desktop_request set_thread_desktop_request;
5697 struct enum_desktop_request enum_desktop_request;
5698 struct set_user_object_info_request set_user_object_info_request;
5699 struct register_hotkey_request register_hotkey_request;
5700 struct unregister_hotkey_request unregister_hotkey_request;
5701 struct attach_thread_input_request attach_thread_input_request;
5702 struct get_thread_input_request get_thread_input_request;
5703 struct get_last_input_time_request get_last_input_time_request;
5704 struct get_key_state_request get_key_state_request;
5705 struct set_key_state_request set_key_state_request;
5706 struct set_foreground_window_request set_foreground_window_request;
5707 struct set_focus_window_request set_focus_window_request;
5708 struct set_active_window_request set_active_window_request;
5709 struct set_capture_window_request set_capture_window_request;
5710 struct set_caret_window_request set_caret_window_request;
5711 struct set_caret_info_request set_caret_info_request;
5712 struct set_hook_request set_hook_request;
5713 struct remove_hook_request remove_hook_request;
5714 struct start_hook_chain_request start_hook_chain_request;
5715 struct finish_hook_chain_request finish_hook_chain_request;
5716 struct get_hook_info_request get_hook_info_request;
5717 struct create_class_request create_class_request;
5718 struct destroy_class_request destroy_class_request;
5719 struct set_class_info_request set_class_info_request;
5720 struct set_clipboard_info_request set_clipboard_info_request;
5721 struct open_token_request open_token_request;
5722 struct set_global_windows_request set_global_windows_request;
5723 struct adjust_token_privileges_request adjust_token_privileges_request;
5724 struct get_token_privileges_request get_token_privileges_request;
5725 struct check_token_privileges_request check_token_privileges_request;
5726 struct duplicate_token_request duplicate_token_request;
5727 struct access_check_request access_check_request;
5728 struct get_token_sid_request get_token_sid_request;
5729 struct get_token_groups_request get_token_groups_request;
5730 struct get_token_default_dacl_request get_token_default_dacl_request;
5731 struct set_token_default_dacl_request set_token_default_dacl_request;
5732 struct set_security_object_request set_security_object_request;
5733 struct get_security_object_request get_security_object_request;
5734 struct create_mailslot_request create_mailslot_request;
5735 struct set_mailslot_info_request set_mailslot_info_request;
5736 struct create_directory_request create_directory_request;
5737 struct open_directory_request open_directory_request;
5738 struct get_directory_entry_request get_directory_entry_request;
5739 struct create_symlink_request create_symlink_request;
5740 struct open_symlink_request open_symlink_request;
5741 struct query_symlink_request query_symlink_request;
5742 struct get_object_info_request get_object_info_request;
5743 struct unlink_object_request unlink_object_request;
5744 struct get_token_impersonation_level_request get_token_impersonation_level_request;
5745 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
5746 struct create_device_manager_request create_device_manager_request;
5747 struct create_device_request create_device_request;
5748 struct delete_device_request delete_device_request;
5749 struct get_next_device_request_request get_next_device_request_request;
5750 struct make_process_system_request make_process_system_request;
5751 struct get_token_statistics_request get_token_statistics_request;
5752 struct create_completion_request create_completion_request;
5753 struct open_completion_request open_completion_request;
5754 struct add_completion_request add_completion_request;
5755 struct remove_completion_request remove_completion_request;
5756 struct query_completion_request query_completion_request;
5757 struct set_completion_info_request set_completion_info_request;
5758 struct add_fd_completion_request add_fd_completion_request;
5759 struct get_window_layered_info_request get_window_layered_info_request;
5760 struct set_window_layered_info_request set_window_layered_info_request;
5761 struct alloc_user_handle_request alloc_user_handle_request;
5762 struct free_user_handle_request free_user_handle_request;
5763 struct set_cursor_request set_cursor_request;
5764 struct update_rawinput_devices_request update_rawinput_devices_request;
5765 struct get_suspend_context_request get_suspend_context_request;
5766 struct set_suspend_context_request set_suspend_context_request;
5767 struct create_job_request create_job_request;
5768 struct assign_job_request assign_job_request;
5769 struct process_in_job_request process_in_job_request;
5770 struct set_job_limits_request set_job_limits_request;
5771 struct set_job_completion_port_request set_job_completion_port_request;
5772 struct terminate_job_request terminate_job_request;
5774 union generic_reply
5776 struct request_max_size max_size;
5777 struct reply_header reply_header;
5778 struct new_process_reply new_process_reply;
5779 struct get_new_process_info_reply get_new_process_info_reply;
5780 struct new_thread_reply new_thread_reply;
5781 struct get_startup_info_reply get_startup_info_reply;
5782 struct init_process_done_reply init_process_done_reply;
5783 struct init_thread_reply init_thread_reply;
5784 struct terminate_process_reply terminate_process_reply;
5785 struct terminate_thread_reply terminate_thread_reply;
5786 struct get_process_info_reply get_process_info_reply;
5787 struct set_process_info_reply set_process_info_reply;
5788 struct get_thread_info_reply get_thread_info_reply;
5789 struct set_thread_info_reply set_thread_info_reply;
5790 struct get_dll_info_reply get_dll_info_reply;
5791 struct suspend_thread_reply suspend_thread_reply;
5792 struct resume_thread_reply resume_thread_reply;
5793 struct load_dll_reply load_dll_reply;
5794 struct unload_dll_reply unload_dll_reply;
5795 struct queue_apc_reply queue_apc_reply;
5796 struct get_apc_result_reply get_apc_result_reply;
5797 struct close_handle_reply close_handle_reply;
5798 struct set_handle_info_reply set_handle_info_reply;
5799 struct dup_handle_reply dup_handle_reply;
5800 struct open_process_reply open_process_reply;
5801 struct open_thread_reply open_thread_reply;
5802 struct select_reply select_reply;
5803 struct create_event_reply create_event_reply;
5804 struct event_op_reply event_op_reply;
5805 struct query_event_reply query_event_reply;
5806 struct open_event_reply open_event_reply;
5807 struct create_keyed_event_reply create_keyed_event_reply;
5808 struct open_keyed_event_reply open_keyed_event_reply;
5809 struct create_mutex_reply create_mutex_reply;
5810 struct release_mutex_reply release_mutex_reply;
5811 struct open_mutex_reply open_mutex_reply;
5812 struct create_semaphore_reply create_semaphore_reply;
5813 struct release_semaphore_reply release_semaphore_reply;
5814 struct query_semaphore_reply query_semaphore_reply;
5815 struct open_semaphore_reply open_semaphore_reply;
5816 struct create_file_reply create_file_reply;
5817 struct open_file_object_reply open_file_object_reply;
5818 struct alloc_file_handle_reply alloc_file_handle_reply;
5819 struct get_handle_unix_name_reply get_handle_unix_name_reply;
5820 struct get_handle_fd_reply get_handle_fd_reply;
5821 struct flush_reply flush_reply;
5822 struct lock_file_reply lock_file_reply;
5823 struct unlock_file_reply unlock_file_reply;
5824 struct create_socket_reply create_socket_reply;
5825 struct accept_socket_reply accept_socket_reply;
5826 struct accept_into_socket_reply accept_into_socket_reply;
5827 struct set_socket_event_reply set_socket_event_reply;
5828 struct get_socket_event_reply get_socket_event_reply;
5829 struct get_socket_info_reply get_socket_info_reply;
5830 struct enable_socket_event_reply enable_socket_event_reply;
5831 struct set_socket_deferred_reply set_socket_deferred_reply;
5832 struct alloc_console_reply alloc_console_reply;
5833 struct free_console_reply free_console_reply;
5834 struct get_console_renderer_events_reply get_console_renderer_events_reply;
5835 struct open_console_reply open_console_reply;
5836 struct get_console_wait_event_reply get_console_wait_event_reply;
5837 struct get_console_mode_reply get_console_mode_reply;
5838 struct set_console_mode_reply set_console_mode_reply;
5839 struct set_console_input_info_reply set_console_input_info_reply;
5840 struct get_console_input_info_reply get_console_input_info_reply;
5841 struct append_console_input_history_reply append_console_input_history_reply;
5842 struct get_console_input_history_reply get_console_input_history_reply;
5843 struct create_console_output_reply create_console_output_reply;
5844 struct set_console_output_info_reply set_console_output_info_reply;
5845 struct get_console_output_info_reply get_console_output_info_reply;
5846 struct write_console_input_reply write_console_input_reply;
5847 struct read_console_input_reply read_console_input_reply;
5848 struct write_console_output_reply write_console_output_reply;
5849 struct fill_console_output_reply fill_console_output_reply;
5850 struct read_console_output_reply read_console_output_reply;
5851 struct move_console_output_reply move_console_output_reply;
5852 struct send_console_signal_reply send_console_signal_reply;
5853 struct read_directory_changes_reply read_directory_changes_reply;
5854 struct read_change_reply read_change_reply;
5855 struct create_mapping_reply create_mapping_reply;
5856 struct open_mapping_reply open_mapping_reply;
5857 struct get_mapping_info_reply get_mapping_info_reply;
5858 struct get_mapping_committed_range_reply get_mapping_committed_range_reply;
5859 struct add_mapping_committed_range_reply add_mapping_committed_range_reply;
5860 struct create_snapshot_reply create_snapshot_reply;
5861 struct next_process_reply next_process_reply;
5862 struct next_thread_reply next_thread_reply;
5863 struct wait_debug_event_reply wait_debug_event_reply;
5864 struct queue_exception_event_reply queue_exception_event_reply;
5865 struct get_exception_status_reply get_exception_status_reply;
5866 struct continue_debug_event_reply continue_debug_event_reply;
5867 struct debug_process_reply debug_process_reply;
5868 struct debug_break_reply debug_break_reply;
5869 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
5870 struct read_process_memory_reply read_process_memory_reply;
5871 struct write_process_memory_reply write_process_memory_reply;
5872 struct create_key_reply create_key_reply;
5873 struct open_key_reply open_key_reply;
5874 struct delete_key_reply delete_key_reply;
5875 struct flush_key_reply flush_key_reply;
5876 struct enum_key_reply enum_key_reply;
5877 struct set_key_value_reply set_key_value_reply;
5878 struct get_key_value_reply get_key_value_reply;
5879 struct enum_key_value_reply enum_key_value_reply;
5880 struct delete_key_value_reply delete_key_value_reply;
5881 struct load_registry_reply load_registry_reply;
5882 struct unload_registry_reply unload_registry_reply;
5883 struct save_registry_reply save_registry_reply;
5884 struct set_registry_notification_reply set_registry_notification_reply;
5885 struct create_timer_reply create_timer_reply;
5886 struct open_timer_reply open_timer_reply;
5887 struct set_timer_reply set_timer_reply;
5888 struct cancel_timer_reply cancel_timer_reply;
5889 struct get_timer_info_reply get_timer_info_reply;
5890 struct get_thread_context_reply get_thread_context_reply;
5891 struct set_thread_context_reply set_thread_context_reply;
5892 struct get_selector_entry_reply get_selector_entry_reply;
5893 struct add_atom_reply add_atom_reply;
5894 struct delete_atom_reply delete_atom_reply;
5895 struct find_atom_reply find_atom_reply;
5896 struct get_atom_information_reply get_atom_information_reply;
5897 struct set_atom_information_reply set_atom_information_reply;
5898 struct empty_atom_table_reply empty_atom_table_reply;
5899 struct init_atom_table_reply init_atom_table_reply;
5900 struct get_msg_queue_reply get_msg_queue_reply;
5901 struct set_queue_fd_reply set_queue_fd_reply;
5902 struct set_queue_mask_reply set_queue_mask_reply;
5903 struct get_queue_status_reply get_queue_status_reply;
5904 struct get_process_idle_event_reply get_process_idle_event_reply;
5905 struct send_message_reply send_message_reply;
5906 struct post_quit_message_reply post_quit_message_reply;
5907 struct send_hardware_message_reply send_hardware_message_reply;
5908 struct get_message_reply get_message_reply;
5909 struct reply_message_reply reply_message_reply;
5910 struct accept_hardware_message_reply accept_hardware_message_reply;
5911 struct get_message_reply_reply get_message_reply_reply;
5912 struct set_win_timer_reply set_win_timer_reply;
5913 struct kill_win_timer_reply kill_win_timer_reply;
5914 struct is_window_hung_reply is_window_hung_reply;
5915 struct get_serial_info_reply get_serial_info_reply;
5916 struct set_serial_info_reply set_serial_info_reply;
5917 struct register_async_reply register_async_reply;
5918 struct cancel_async_reply cancel_async_reply;
5919 struct read_reply read_reply;
5920 struct write_reply write_reply;
5921 struct ioctl_reply ioctl_reply;
5922 struct set_irp_result_reply set_irp_result_reply;
5923 struct get_irp_result_reply get_irp_result_reply;
5924 struct create_named_pipe_reply create_named_pipe_reply;
5925 struct get_named_pipe_info_reply get_named_pipe_info_reply;
5926 struct set_named_pipe_info_reply set_named_pipe_info_reply;
5927 struct create_window_reply create_window_reply;
5928 struct destroy_window_reply destroy_window_reply;
5929 struct get_desktop_window_reply get_desktop_window_reply;
5930 struct set_window_owner_reply set_window_owner_reply;
5931 struct get_window_info_reply get_window_info_reply;
5932 struct set_window_info_reply set_window_info_reply;
5933 struct set_parent_reply set_parent_reply;
5934 struct get_window_parents_reply get_window_parents_reply;
5935 struct get_window_children_reply get_window_children_reply;
5936 struct get_window_children_from_point_reply get_window_children_from_point_reply;
5937 struct get_window_tree_reply get_window_tree_reply;
5938 struct set_window_pos_reply set_window_pos_reply;
5939 struct get_window_rectangles_reply get_window_rectangles_reply;
5940 struct get_window_text_reply get_window_text_reply;
5941 struct set_window_text_reply set_window_text_reply;
5942 struct get_windows_offset_reply get_windows_offset_reply;
5943 struct get_visible_region_reply get_visible_region_reply;
5944 struct get_surface_region_reply get_surface_region_reply;
5945 struct get_window_region_reply get_window_region_reply;
5946 struct set_window_region_reply set_window_region_reply;
5947 struct get_update_region_reply get_update_region_reply;
5948 struct update_window_zorder_reply update_window_zorder_reply;
5949 struct redraw_window_reply redraw_window_reply;
5950 struct set_window_property_reply set_window_property_reply;
5951 struct remove_window_property_reply remove_window_property_reply;
5952 struct get_window_property_reply get_window_property_reply;
5953 struct get_window_properties_reply get_window_properties_reply;
5954 struct create_winstation_reply create_winstation_reply;
5955 struct open_winstation_reply open_winstation_reply;
5956 struct close_winstation_reply close_winstation_reply;
5957 struct get_process_winstation_reply get_process_winstation_reply;
5958 struct set_process_winstation_reply set_process_winstation_reply;
5959 struct enum_winstation_reply enum_winstation_reply;
5960 struct create_desktop_reply create_desktop_reply;
5961 struct open_desktop_reply open_desktop_reply;
5962 struct open_input_desktop_reply open_input_desktop_reply;
5963 struct close_desktop_reply close_desktop_reply;
5964 struct get_thread_desktop_reply get_thread_desktop_reply;
5965 struct set_thread_desktop_reply set_thread_desktop_reply;
5966 struct enum_desktop_reply enum_desktop_reply;
5967 struct set_user_object_info_reply set_user_object_info_reply;
5968 struct register_hotkey_reply register_hotkey_reply;
5969 struct unregister_hotkey_reply unregister_hotkey_reply;
5970 struct attach_thread_input_reply attach_thread_input_reply;
5971 struct get_thread_input_reply get_thread_input_reply;
5972 struct get_last_input_time_reply get_last_input_time_reply;
5973 struct get_key_state_reply get_key_state_reply;
5974 struct set_key_state_reply set_key_state_reply;
5975 struct set_foreground_window_reply set_foreground_window_reply;
5976 struct set_focus_window_reply set_focus_window_reply;
5977 struct set_active_window_reply set_active_window_reply;
5978 struct set_capture_window_reply set_capture_window_reply;
5979 struct set_caret_window_reply set_caret_window_reply;
5980 struct set_caret_info_reply set_caret_info_reply;
5981 struct set_hook_reply set_hook_reply;
5982 struct remove_hook_reply remove_hook_reply;
5983 struct start_hook_chain_reply start_hook_chain_reply;
5984 struct finish_hook_chain_reply finish_hook_chain_reply;
5985 struct get_hook_info_reply get_hook_info_reply;
5986 struct create_class_reply create_class_reply;
5987 struct destroy_class_reply destroy_class_reply;
5988 struct set_class_info_reply set_class_info_reply;
5989 struct set_clipboard_info_reply set_clipboard_info_reply;
5990 struct open_token_reply open_token_reply;
5991 struct set_global_windows_reply set_global_windows_reply;
5992 struct adjust_token_privileges_reply adjust_token_privileges_reply;
5993 struct get_token_privileges_reply get_token_privileges_reply;
5994 struct check_token_privileges_reply check_token_privileges_reply;
5995 struct duplicate_token_reply duplicate_token_reply;
5996 struct access_check_reply access_check_reply;
5997 struct get_token_sid_reply get_token_sid_reply;
5998 struct get_token_groups_reply get_token_groups_reply;
5999 struct get_token_default_dacl_reply get_token_default_dacl_reply;
6000 struct set_token_default_dacl_reply set_token_default_dacl_reply;
6001 struct set_security_object_reply set_security_object_reply;
6002 struct get_security_object_reply get_security_object_reply;
6003 struct create_mailslot_reply create_mailslot_reply;
6004 struct set_mailslot_info_reply set_mailslot_info_reply;
6005 struct create_directory_reply create_directory_reply;
6006 struct open_directory_reply open_directory_reply;
6007 struct get_directory_entry_reply get_directory_entry_reply;
6008 struct create_symlink_reply create_symlink_reply;
6009 struct open_symlink_reply open_symlink_reply;
6010 struct query_symlink_reply query_symlink_reply;
6011 struct get_object_info_reply get_object_info_reply;
6012 struct unlink_object_reply unlink_object_reply;
6013 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
6014 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
6015 struct create_device_manager_reply create_device_manager_reply;
6016 struct create_device_reply create_device_reply;
6017 struct delete_device_reply delete_device_reply;
6018 struct get_next_device_request_reply get_next_device_request_reply;
6019 struct make_process_system_reply make_process_system_reply;
6020 struct get_token_statistics_reply get_token_statistics_reply;
6021 struct create_completion_reply create_completion_reply;
6022 struct open_completion_reply open_completion_reply;
6023 struct add_completion_reply add_completion_reply;
6024 struct remove_completion_reply remove_completion_reply;
6025 struct query_completion_reply query_completion_reply;
6026 struct set_completion_info_reply set_completion_info_reply;
6027 struct add_fd_completion_reply add_fd_completion_reply;
6028 struct get_window_layered_info_reply get_window_layered_info_reply;
6029 struct set_window_layered_info_reply set_window_layered_info_reply;
6030 struct alloc_user_handle_reply alloc_user_handle_reply;
6031 struct free_user_handle_reply free_user_handle_reply;
6032 struct set_cursor_reply set_cursor_reply;
6033 struct update_rawinput_devices_reply update_rawinput_devices_reply;
6034 struct get_suspend_context_reply get_suspend_context_reply;
6035 struct set_suspend_context_reply set_suspend_context_reply;
6036 struct create_job_reply create_job_reply;
6037 struct assign_job_reply assign_job_reply;
6038 struct process_in_job_reply process_in_job_reply;
6039 struct set_job_limits_reply set_job_limits_reply;
6040 struct set_job_completion_port_reply set_job_completion_port_reply;
6041 struct terminate_job_reply terminate_job_reply;
6044 #define SERVER_PROTOCOL_VERSION 474
6046 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */