server: Queue an IRP_MJ_CLOSE request on file destruction.
[wine.git] / include / wine / server_protocol.h
blob9807dcc9960a7c5c6dc73ecbc42009cb08c82e6b
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 access;
641 unsigned int sharing;
642 unsigned int options;
643 client_ptr_t device;
644 } create;
645 struct
647 unsigned int major;
648 int __pad;
649 client_ptr_t device;
650 } close;
651 struct
653 unsigned int major;
654 unsigned int key;
655 client_ptr_t device;
656 file_pos_t pos;
657 } read;
658 struct
660 unsigned int major;
661 unsigned int key;
662 client_ptr_t device;
663 file_pos_t pos;
664 } write;
665 struct
667 unsigned int major;
668 int __pad;
669 client_ptr_t device;
670 } flush;
671 struct
673 unsigned int major;
674 ioctl_code_t code;
675 client_ptr_t device;
676 } ioctl;
677 } irp_params_t;
679 struct rawinput_device
681 unsigned short usage_page;
682 unsigned short usage;
683 unsigned int flags;
684 user_handle_t target;
691 struct new_process_request
693 struct request_header __header;
694 int inherit_all;
695 unsigned int create_flags;
696 int socket_fd;
697 obj_handle_t exe_file;
698 unsigned int process_access;
699 unsigned int process_attr;
700 unsigned int thread_access;
701 unsigned int thread_attr;
702 cpu_type_t cpu;
703 data_size_t info_size;
704 /* VARARG(info,startup_info,info_size); */
705 /* VARARG(env,unicode_str); */
706 char __pad_52[4];
708 struct new_process_reply
710 struct reply_header __header;
711 obj_handle_t info;
712 process_id_t pid;
713 obj_handle_t phandle;
714 thread_id_t tid;
715 obj_handle_t thandle;
716 char __pad_28[4];
721 struct get_new_process_info_request
723 struct request_header __header;
724 obj_handle_t info;
726 struct get_new_process_info_reply
728 struct reply_header __header;
729 int success;
730 int exit_code;
735 struct new_thread_request
737 struct request_header __header;
738 unsigned int access;
739 unsigned int attributes;
740 int suspend;
741 int request_fd;
742 char __pad_28[4];
744 struct new_thread_reply
746 struct reply_header __header;
747 thread_id_t tid;
748 obj_handle_t handle;
753 struct get_startup_info_request
755 struct request_header __header;
756 char __pad_12[4];
758 struct get_startup_info_reply
760 struct reply_header __header;
761 obj_handle_t exe_file;
762 data_size_t info_size;
763 /* VARARG(info,startup_info,info_size); */
764 /* VARARG(env,unicode_str); */
769 struct init_process_done_request
771 struct request_header __header;
772 int gui;
773 mod_handle_t module;
774 client_ptr_t ldt_copy;
775 client_ptr_t entry;
777 struct init_process_done_reply
779 struct reply_header __header;
784 struct init_thread_request
786 struct request_header __header;
787 int unix_pid;
788 int unix_tid;
789 int debug_level;
790 client_ptr_t teb;
791 client_ptr_t entry;
792 int reply_fd;
793 int wait_fd;
794 cpu_type_t cpu;
795 char __pad_52[4];
797 struct init_thread_reply
799 struct reply_header __header;
800 process_id_t pid;
801 thread_id_t tid;
802 timeout_t server_start;
803 data_size_t info_size;
804 int version;
805 unsigned int all_cpus;
806 char __pad_36[4];
811 struct terminate_process_request
813 struct request_header __header;
814 obj_handle_t handle;
815 int exit_code;
816 char __pad_20[4];
818 struct terminate_process_reply
820 struct reply_header __header;
821 int self;
822 char __pad_12[4];
827 struct terminate_thread_request
829 struct request_header __header;
830 obj_handle_t handle;
831 int exit_code;
832 char __pad_20[4];
834 struct terminate_thread_reply
836 struct reply_header __header;
837 int self;
838 int last;
843 struct get_process_info_request
845 struct request_header __header;
846 obj_handle_t handle;
848 struct get_process_info_reply
850 struct reply_header __header;
851 process_id_t pid;
852 process_id_t ppid;
853 affinity_t affinity;
854 client_ptr_t peb;
855 timeout_t start_time;
856 timeout_t end_time;
857 int exit_code;
858 int priority;
859 cpu_type_t cpu;
860 int debugger_present;
865 struct set_process_info_request
867 struct request_header __header;
868 obj_handle_t handle;
869 int mask;
870 int priority;
871 affinity_t affinity;
873 struct set_process_info_reply
875 struct reply_header __header;
877 #define SET_PROCESS_INFO_PRIORITY 0x01
878 #define SET_PROCESS_INFO_AFFINITY 0x02
882 struct get_thread_info_request
884 struct request_header __header;
885 obj_handle_t handle;
886 thread_id_t tid_in;
887 char __pad_20[4];
889 struct get_thread_info_reply
891 struct reply_header __header;
892 process_id_t pid;
893 thread_id_t tid;
894 client_ptr_t teb;
895 affinity_t affinity;
896 timeout_t creation_time;
897 timeout_t exit_time;
898 int exit_code;
899 int priority;
900 int last;
901 char __pad_60[4];
906 struct set_thread_info_request
908 struct request_header __header;
909 obj_handle_t handle;
910 int mask;
911 int priority;
912 affinity_t affinity;
913 obj_handle_t token;
914 char __pad_36[4];
916 struct set_thread_info_reply
918 struct reply_header __header;
920 #define SET_THREAD_INFO_PRIORITY 0x01
921 #define SET_THREAD_INFO_AFFINITY 0x02
922 #define SET_THREAD_INFO_TOKEN 0x04
926 struct get_dll_info_request
928 struct request_header __header;
929 obj_handle_t handle;
930 mod_handle_t base_address;
932 struct get_dll_info_reply
934 struct reply_header __header;
935 client_ptr_t entry_point;
936 data_size_t size;
937 data_size_t filename_len;
938 /* VARARG(filename,unicode_str); */
943 struct suspend_thread_request
945 struct request_header __header;
946 obj_handle_t handle;
948 struct suspend_thread_reply
950 struct reply_header __header;
951 int count;
952 char __pad_12[4];
957 struct resume_thread_request
959 struct request_header __header;
960 obj_handle_t handle;
962 struct resume_thread_reply
964 struct reply_header __header;
965 int count;
966 char __pad_12[4];
971 struct load_dll_request
973 struct request_header __header;
974 obj_handle_t mapping;
975 mod_handle_t base;
976 client_ptr_t name;
977 data_size_t size;
978 int dbg_offset;
979 int dbg_size;
980 /* VARARG(filename,unicode_str); */
981 char __pad_44[4];
983 struct load_dll_reply
985 struct reply_header __header;
990 struct unload_dll_request
992 struct request_header __header;
993 char __pad_12[4];
994 mod_handle_t base;
996 struct unload_dll_reply
998 struct reply_header __header;
1003 struct queue_apc_request
1005 struct request_header __header;
1006 obj_handle_t handle;
1007 apc_call_t call;
1009 struct queue_apc_reply
1011 struct reply_header __header;
1012 obj_handle_t handle;
1013 int self;
1018 struct get_apc_result_request
1020 struct request_header __header;
1021 obj_handle_t handle;
1023 struct get_apc_result_reply
1025 struct reply_header __header;
1026 apc_result_t result;
1031 struct close_handle_request
1033 struct request_header __header;
1034 obj_handle_t handle;
1036 struct close_handle_reply
1038 struct reply_header __header;
1043 struct set_handle_info_request
1045 struct request_header __header;
1046 obj_handle_t handle;
1047 int flags;
1048 int mask;
1050 struct set_handle_info_reply
1052 struct reply_header __header;
1053 int old_flags;
1054 char __pad_12[4];
1059 struct dup_handle_request
1061 struct request_header __header;
1062 obj_handle_t src_process;
1063 obj_handle_t src_handle;
1064 obj_handle_t dst_process;
1065 unsigned int access;
1066 unsigned int attributes;
1067 unsigned int options;
1068 char __pad_36[4];
1070 struct dup_handle_reply
1072 struct reply_header __header;
1073 obj_handle_t handle;
1074 int self;
1075 int closed;
1076 char __pad_20[4];
1078 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
1079 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
1080 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
1084 struct open_process_request
1086 struct request_header __header;
1087 process_id_t pid;
1088 unsigned int access;
1089 unsigned int attributes;
1091 struct open_process_reply
1093 struct reply_header __header;
1094 obj_handle_t handle;
1095 char __pad_12[4];
1100 struct open_thread_request
1102 struct request_header __header;
1103 thread_id_t tid;
1104 unsigned int access;
1105 unsigned int attributes;
1107 struct open_thread_reply
1109 struct reply_header __header;
1110 obj_handle_t handle;
1111 char __pad_12[4];
1116 struct select_request
1118 struct request_header __header;
1119 int flags;
1120 client_ptr_t cookie;
1121 timeout_t timeout;
1122 obj_handle_t prev_apc;
1123 /* VARARG(result,apc_result); */
1124 /* VARARG(data,select_op); */
1125 char __pad_36[4];
1127 struct select_reply
1129 struct reply_header __header;
1130 timeout_t timeout;
1131 apc_call_t call;
1132 obj_handle_t apc_handle;
1133 char __pad_60[4];
1135 #define SELECT_ALERTABLE 1
1136 #define SELECT_INTERRUPTIBLE 2
1140 struct create_event_request
1142 struct request_header __header;
1143 unsigned int access;
1144 unsigned int attributes;
1145 int manual_reset;
1146 int initial_state;
1147 /* VARARG(objattr,object_attributes); */
1148 char __pad_28[4];
1150 struct create_event_reply
1152 struct reply_header __header;
1153 obj_handle_t handle;
1154 char __pad_12[4];
1158 struct event_op_request
1160 struct request_header __header;
1161 obj_handle_t handle;
1162 int op;
1163 char __pad_20[4];
1165 struct event_op_reply
1167 struct reply_header __header;
1169 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
1171 struct query_event_request
1173 struct request_header __header;
1174 obj_handle_t handle;
1176 struct query_event_reply
1178 struct reply_header __header;
1179 int manual_reset;
1180 int state;
1184 struct open_event_request
1186 struct request_header __header;
1187 unsigned int access;
1188 unsigned int attributes;
1189 obj_handle_t rootdir;
1190 /* VARARG(name,unicode_str); */
1192 struct open_event_reply
1194 struct reply_header __header;
1195 obj_handle_t handle;
1196 char __pad_12[4];
1201 struct create_keyed_event_request
1203 struct request_header __header;
1204 unsigned int access;
1205 unsigned int attributes;
1206 /* VARARG(objattr,object_attributes); */
1207 char __pad_20[4];
1209 struct create_keyed_event_reply
1211 struct reply_header __header;
1212 obj_handle_t handle;
1213 char __pad_12[4];
1217 struct open_keyed_event_request
1219 struct request_header __header;
1220 unsigned int access;
1221 unsigned int attributes;
1222 obj_handle_t rootdir;
1223 /* VARARG(name,unicode_str); */
1225 struct open_keyed_event_reply
1227 struct reply_header __header;
1228 obj_handle_t handle;
1229 char __pad_12[4];
1234 struct create_mutex_request
1236 struct request_header __header;
1237 unsigned int access;
1238 unsigned int attributes;
1239 int owned;
1240 /* VARARG(objattr,object_attributes); */
1242 struct create_mutex_reply
1244 struct reply_header __header;
1245 obj_handle_t handle;
1246 char __pad_12[4];
1251 struct release_mutex_request
1253 struct request_header __header;
1254 obj_handle_t handle;
1256 struct release_mutex_reply
1258 struct reply_header __header;
1259 unsigned int prev_count;
1260 char __pad_12[4];
1265 struct open_mutex_request
1267 struct request_header __header;
1268 unsigned int access;
1269 unsigned int attributes;
1270 obj_handle_t rootdir;
1271 /* VARARG(name,unicode_str); */
1273 struct open_mutex_reply
1275 struct reply_header __header;
1276 obj_handle_t handle;
1277 char __pad_12[4];
1282 struct create_semaphore_request
1284 struct request_header __header;
1285 unsigned int access;
1286 unsigned int attributes;
1287 unsigned int initial;
1288 unsigned int max;
1289 /* VARARG(objattr,object_attributes); */
1290 char __pad_28[4];
1292 struct create_semaphore_reply
1294 struct reply_header __header;
1295 obj_handle_t handle;
1296 char __pad_12[4];
1301 struct release_semaphore_request
1303 struct request_header __header;
1304 obj_handle_t handle;
1305 unsigned int count;
1306 char __pad_20[4];
1308 struct release_semaphore_reply
1310 struct reply_header __header;
1311 unsigned int prev_count;
1312 char __pad_12[4];
1315 struct query_semaphore_request
1317 struct request_header __header;
1318 obj_handle_t handle;
1320 struct query_semaphore_reply
1322 struct reply_header __header;
1323 unsigned int current;
1324 unsigned int max;
1328 struct open_semaphore_request
1330 struct request_header __header;
1331 unsigned int access;
1332 unsigned int attributes;
1333 obj_handle_t rootdir;
1334 /* VARARG(name,unicode_str); */
1336 struct open_semaphore_reply
1338 struct reply_header __header;
1339 obj_handle_t handle;
1340 char __pad_12[4];
1345 struct create_file_request
1347 struct request_header __header;
1348 unsigned int access;
1349 unsigned int attributes;
1350 unsigned int sharing;
1351 int create;
1352 unsigned int options;
1353 unsigned int attrs;
1354 /* VARARG(objattr,object_attributes); */
1355 /* VARARG(filename,string); */
1356 char __pad_36[4];
1358 struct create_file_reply
1360 struct reply_header __header;
1361 obj_handle_t handle;
1362 char __pad_12[4];
1367 struct open_file_object_request
1369 struct request_header __header;
1370 unsigned int access;
1371 unsigned int attributes;
1372 obj_handle_t rootdir;
1373 unsigned int sharing;
1374 unsigned int options;
1375 /* VARARG(filename,unicode_str); */
1377 struct open_file_object_reply
1379 struct reply_header __header;
1380 obj_handle_t handle;
1381 char __pad_12[4];
1386 struct alloc_file_handle_request
1388 struct request_header __header;
1389 unsigned int access;
1390 unsigned int attributes;
1391 int fd;
1393 struct alloc_file_handle_reply
1395 struct reply_header __header;
1396 obj_handle_t handle;
1397 char __pad_12[4];
1402 struct get_handle_unix_name_request
1404 struct request_header __header;
1405 obj_handle_t handle;
1407 struct get_handle_unix_name_reply
1409 struct reply_header __header;
1410 data_size_t name_len;
1411 /* VARARG(name,string); */
1412 char __pad_12[4];
1417 struct get_handle_fd_request
1419 struct request_header __header;
1420 obj_handle_t handle;
1422 struct get_handle_fd_reply
1424 struct reply_header __header;
1425 int type;
1426 int cacheable;
1427 unsigned int access;
1428 unsigned int options;
1430 enum server_fd_type
1432 FD_TYPE_INVALID,
1433 FD_TYPE_FILE,
1434 FD_TYPE_DIR,
1435 FD_TYPE_SOCKET,
1436 FD_TYPE_SERIAL,
1437 FD_TYPE_PIPE,
1438 FD_TYPE_MAILSLOT,
1439 FD_TYPE_CHAR,
1440 FD_TYPE_DEVICE,
1441 FD_TYPE_NB_TYPES
1446 struct flush_request
1448 struct request_header __header;
1449 int blocking;
1450 async_data_t async;
1452 struct flush_reply
1454 struct reply_header __header;
1455 obj_handle_t event;
1456 char __pad_12[4];
1461 struct lock_file_request
1463 struct request_header __header;
1464 obj_handle_t handle;
1465 file_pos_t offset;
1466 file_pos_t count;
1467 int shared;
1468 int wait;
1470 struct lock_file_reply
1472 struct reply_header __header;
1473 obj_handle_t handle;
1474 int overlapped;
1479 struct unlock_file_request
1481 struct request_header __header;
1482 obj_handle_t handle;
1483 file_pos_t offset;
1484 file_pos_t count;
1486 struct unlock_file_reply
1488 struct reply_header __header;
1493 struct create_socket_request
1495 struct request_header __header;
1496 unsigned int access;
1497 unsigned int attributes;
1498 int family;
1499 int type;
1500 int protocol;
1501 unsigned int flags;
1502 char __pad_36[4];
1504 struct create_socket_reply
1506 struct reply_header __header;
1507 obj_handle_t handle;
1508 char __pad_12[4];
1513 struct accept_socket_request
1515 struct request_header __header;
1516 obj_handle_t lhandle;
1517 unsigned int access;
1518 unsigned int attributes;
1520 struct accept_socket_reply
1522 struct reply_header __header;
1523 obj_handle_t handle;
1524 char __pad_12[4];
1529 struct accept_into_socket_request
1531 struct request_header __header;
1532 obj_handle_t lhandle;
1533 obj_handle_t ahandle;
1534 char __pad_20[4];
1536 struct accept_into_socket_reply
1538 struct reply_header __header;
1543 struct set_socket_event_request
1545 struct request_header __header;
1546 obj_handle_t handle;
1547 unsigned int mask;
1548 obj_handle_t event;
1549 user_handle_t window;
1550 unsigned int msg;
1552 struct set_socket_event_reply
1554 struct reply_header __header;
1559 struct get_socket_event_request
1561 struct request_header __header;
1562 obj_handle_t handle;
1563 int service;
1564 obj_handle_t c_event;
1566 struct get_socket_event_reply
1568 struct reply_header __header;
1569 unsigned int mask;
1570 unsigned int pmask;
1571 unsigned int state;
1572 /* VARARG(errors,ints); */
1573 char __pad_20[4];
1578 struct get_socket_info_request
1580 struct request_header __header;
1581 obj_handle_t handle;
1583 struct get_socket_info_reply
1585 struct reply_header __header;
1586 int family;
1587 int type;
1588 int protocol;
1589 char __pad_20[4];
1594 struct enable_socket_event_request
1596 struct request_header __header;
1597 obj_handle_t handle;
1598 unsigned int mask;
1599 unsigned int sstate;
1600 unsigned int cstate;
1601 char __pad_28[4];
1603 struct enable_socket_event_reply
1605 struct reply_header __header;
1608 struct set_socket_deferred_request
1610 struct request_header __header;
1611 obj_handle_t handle;
1612 obj_handle_t deferred;
1613 char __pad_20[4];
1615 struct set_socket_deferred_reply
1617 struct reply_header __header;
1621 struct alloc_console_request
1623 struct request_header __header;
1624 unsigned int access;
1625 unsigned int attributes;
1626 process_id_t pid;
1627 int input_fd;
1628 char __pad_28[4];
1630 struct alloc_console_reply
1632 struct reply_header __header;
1633 obj_handle_t handle_in;
1634 obj_handle_t event;
1639 struct free_console_request
1641 struct request_header __header;
1642 char __pad_12[4];
1644 struct free_console_reply
1646 struct reply_header __header;
1650 #define CONSOLE_RENDERER_NONE_EVENT 0x00
1651 #define CONSOLE_RENDERER_TITLE_EVENT 0x01
1652 #define CONSOLE_RENDERER_ACTIVE_SB_EVENT 0x02
1653 #define CONSOLE_RENDERER_SB_RESIZE_EVENT 0x03
1654 #define CONSOLE_RENDERER_UPDATE_EVENT 0x04
1655 #define CONSOLE_RENDERER_CURSOR_POS_EVENT 0x05
1656 #define CONSOLE_RENDERER_CURSOR_GEOM_EVENT 0x06
1657 #define CONSOLE_RENDERER_DISPLAY_EVENT 0x07
1658 #define CONSOLE_RENDERER_EXIT_EVENT 0x08
1659 struct console_renderer_event
1661 short event;
1662 union
1664 struct update
1666 short top;
1667 short bottom;
1668 } update;
1669 struct resize
1671 short width;
1672 short height;
1673 } resize;
1674 struct cursor_pos
1676 short x;
1677 short y;
1678 } cursor_pos;
1679 struct cursor_geom
1681 short visible;
1682 short size;
1683 } cursor_geom;
1684 struct display
1686 short left;
1687 short top;
1688 short width;
1689 short height;
1690 } display;
1691 } u;
1695 struct get_console_renderer_events_request
1697 struct request_header __header;
1698 obj_handle_t handle;
1700 struct get_console_renderer_events_reply
1702 struct reply_header __header;
1703 /* VARARG(data,bytes); */
1708 struct open_console_request
1710 struct request_header __header;
1711 obj_handle_t from;
1713 unsigned int access;
1714 unsigned int attributes;
1715 int share;
1716 char __pad_28[4];
1718 struct open_console_reply
1720 struct reply_header __header;
1721 obj_handle_t handle;
1722 char __pad_12[4];
1727 struct get_console_wait_event_request
1729 struct request_header __header;
1730 char __pad_12[4];
1732 struct get_console_wait_event_reply
1734 struct reply_header __header;
1735 obj_handle_t handle;
1736 char __pad_12[4];
1740 struct get_console_mode_request
1742 struct request_header __header;
1743 obj_handle_t handle;
1745 struct get_console_mode_reply
1747 struct reply_header __header;
1748 int mode;
1749 char __pad_12[4];
1754 struct set_console_mode_request
1756 struct request_header __header;
1757 obj_handle_t handle;
1758 int mode;
1759 char __pad_20[4];
1761 struct set_console_mode_reply
1763 struct reply_header __header;
1768 struct set_console_input_info_request
1770 struct request_header __header;
1771 obj_handle_t handle;
1772 int mask;
1773 obj_handle_t active_sb;
1774 int history_mode;
1775 int history_size;
1776 int edition_mode;
1777 int input_cp;
1778 int output_cp;
1779 user_handle_t win;
1780 /* VARARG(title,unicode_str); */
1782 struct set_console_input_info_reply
1784 struct reply_header __header;
1786 #define SET_CONSOLE_INPUT_INFO_ACTIVE_SB 0x01
1787 #define SET_CONSOLE_INPUT_INFO_TITLE 0x02
1788 #define SET_CONSOLE_INPUT_INFO_HISTORY_MODE 0x04
1789 #define SET_CONSOLE_INPUT_INFO_HISTORY_SIZE 0x08
1790 #define SET_CONSOLE_INPUT_INFO_EDITION_MODE 0x10
1791 #define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE 0x20
1792 #define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE 0x40
1793 #define SET_CONSOLE_INPUT_INFO_WIN 0x80
1797 struct get_console_input_info_request
1799 struct request_header __header;
1800 obj_handle_t handle;
1802 struct get_console_input_info_reply
1804 struct reply_header __header;
1805 int history_mode;
1806 int history_size;
1807 int history_index;
1808 int edition_mode;
1809 int input_cp;
1810 int output_cp;
1811 user_handle_t win;
1812 /* VARARG(title,unicode_str); */
1813 char __pad_36[4];
1818 struct append_console_input_history_request
1820 struct request_header __header;
1821 obj_handle_t handle;
1822 /* VARARG(line,unicode_str); */
1824 struct append_console_input_history_reply
1826 struct reply_header __header;
1831 struct get_console_input_history_request
1833 struct request_header __header;
1834 obj_handle_t handle;
1835 int index;
1836 char __pad_20[4];
1838 struct get_console_input_history_reply
1840 struct reply_header __header;
1841 int total;
1842 /* VARARG(line,unicode_str); */
1843 char __pad_12[4];
1848 struct create_console_output_request
1850 struct request_header __header;
1851 obj_handle_t handle_in;
1852 unsigned int access;
1853 unsigned int attributes;
1854 unsigned int share;
1855 int fd;
1857 struct create_console_output_reply
1859 struct reply_header __header;
1860 obj_handle_t handle_out;
1861 char __pad_12[4];
1866 struct set_console_output_info_request
1868 struct request_header __header;
1869 obj_handle_t handle;
1870 int mask;
1871 short int cursor_size;
1872 short int cursor_visible;
1873 short int cursor_x;
1874 short int cursor_y;
1875 short int width;
1876 short int height;
1877 short int attr;
1878 short int win_left;
1879 short int win_top;
1880 short int win_right;
1881 short int win_bottom;
1882 short int max_width;
1883 short int max_height;
1884 char __pad_46[2];
1886 struct set_console_output_info_reply
1888 struct reply_header __header;
1890 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM 0x01
1891 #define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS 0x02
1892 #define SET_CONSOLE_OUTPUT_INFO_SIZE 0x04
1893 #define SET_CONSOLE_OUTPUT_INFO_ATTR 0x08
1894 #define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW 0x10
1895 #define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE 0x20
1899 struct get_console_output_info_request
1901 struct request_header __header;
1902 obj_handle_t handle;
1904 struct get_console_output_info_reply
1906 struct reply_header __header;
1907 short int cursor_size;
1908 short int cursor_visible;
1909 short int cursor_x;
1910 short int cursor_y;
1911 short int width;
1912 short int height;
1913 short int attr;
1914 short int win_left;
1915 short int win_top;
1916 short int win_right;
1917 short int win_bottom;
1918 short int max_width;
1919 short int max_height;
1920 char __pad_34[6];
1924 struct write_console_input_request
1926 struct request_header __header;
1927 obj_handle_t handle;
1928 /* VARARG(rec,input_records); */
1930 struct write_console_input_reply
1932 struct reply_header __header;
1933 int written;
1934 char __pad_12[4];
1939 struct read_console_input_request
1941 struct request_header __header;
1942 obj_handle_t handle;
1943 int flush;
1944 char __pad_20[4];
1946 struct read_console_input_reply
1948 struct reply_header __header;
1949 int read;
1950 /* VARARG(rec,input_records); */
1951 char __pad_12[4];
1956 struct write_console_output_request
1958 struct request_header __header;
1959 obj_handle_t handle;
1960 int x;
1961 int y;
1962 int mode;
1963 int wrap;
1964 /* VARARG(data,bytes); */
1966 struct write_console_output_reply
1968 struct reply_header __header;
1969 int written;
1970 int width;
1971 int height;
1972 char __pad_20[4];
1974 enum char_info_mode
1976 CHAR_INFO_MODE_TEXT,
1977 CHAR_INFO_MODE_ATTR,
1978 CHAR_INFO_MODE_TEXTATTR,
1979 CHAR_INFO_MODE_TEXTSTDATTR
1984 struct fill_console_output_request
1986 struct request_header __header;
1987 obj_handle_t handle;
1988 int x;
1989 int y;
1990 int mode;
1991 int count;
1992 int wrap;
1993 char_info_t data;
1995 struct fill_console_output_reply
1997 struct reply_header __header;
1998 int written;
1999 char __pad_12[4];
2004 struct read_console_output_request
2006 struct request_header __header;
2007 obj_handle_t handle;
2008 int x;
2009 int y;
2010 int mode;
2011 int wrap;
2013 struct read_console_output_reply
2015 struct reply_header __header;
2016 int width;
2017 int height;
2018 /* VARARG(data,bytes); */
2023 struct move_console_output_request
2025 struct request_header __header;
2026 obj_handle_t handle;
2027 short int x_src;
2028 short int y_src;
2029 short int x_dst;
2030 short int y_dst;
2031 short int w;
2032 short int h;
2033 char __pad_28[4];
2035 struct move_console_output_reply
2037 struct reply_header __header;
2042 struct send_console_signal_request
2044 struct request_header __header;
2045 int signal;
2046 process_id_t group_id;
2047 char __pad_20[4];
2049 struct send_console_signal_reply
2051 struct reply_header __header;
2056 struct read_directory_changes_request
2058 struct request_header __header;
2059 unsigned int filter;
2060 int subtree;
2061 int want_data;
2062 async_data_t async;
2064 struct read_directory_changes_reply
2066 struct reply_header __header;
2070 struct read_change_request
2072 struct request_header __header;
2073 obj_handle_t handle;
2075 struct read_change_reply
2077 struct reply_header __header;
2078 /* VARARG(events,filesystem_event); */
2083 struct create_mapping_request
2085 struct request_header __header;
2086 unsigned int access;
2087 unsigned int attributes;
2088 unsigned int protect;
2089 mem_size_t size;
2090 obj_handle_t file_handle;
2091 /* VARARG(objattr,object_attributes); */
2092 char __pad_36[4];
2094 struct create_mapping_reply
2096 struct reply_header __header;
2097 obj_handle_t handle;
2098 char __pad_12[4];
2101 #define VPROT_READ 0x01
2102 #define VPROT_WRITE 0x02
2103 #define VPROT_EXEC 0x04
2104 #define VPROT_WRITECOPY 0x08
2105 #define VPROT_GUARD 0x10
2106 #define VPROT_NOCACHE 0x20
2107 #define VPROT_COMMITTED 0x40
2108 #define VPROT_WRITEWATCH 0x80
2110 #define VPROT_IMAGE 0x0100
2111 #define VPROT_SYSTEM 0x0200
2112 #define VPROT_VALLOC 0x0400
2113 #define VPROT_NOEXEC 0x0800
2117 struct open_mapping_request
2119 struct request_header __header;
2120 unsigned int access;
2121 unsigned int attributes;
2122 obj_handle_t rootdir;
2123 /* VARARG(name,unicode_str); */
2125 struct open_mapping_reply
2127 struct reply_header __header;
2128 obj_handle_t handle;
2129 char __pad_12[4];
2134 struct get_mapping_info_request
2136 struct request_header __header;
2137 obj_handle_t handle;
2138 unsigned int access;
2139 char __pad_20[4];
2141 struct get_mapping_info_reply
2143 struct reply_header __header;
2144 mem_size_t size;
2145 int protect;
2146 int header_size;
2147 client_ptr_t base;
2148 obj_handle_t mapping;
2149 obj_handle_t shared_file;
2154 struct get_mapping_committed_range_request
2156 struct request_header __header;
2157 obj_handle_t handle;
2158 file_pos_t offset;
2160 struct get_mapping_committed_range_reply
2162 struct reply_header __header;
2163 mem_size_t size;
2164 int committed;
2165 char __pad_20[4];
2170 struct add_mapping_committed_range_request
2172 struct request_header __header;
2173 obj_handle_t handle;
2174 file_pos_t offset;
2175 mem_size_t size;
2177 struct add_mapping_committed_range_reply
2179 struct reply_header __header;
2183 #define SNAP_PROCESS 0x00000001
2184 #define SNAP_THREAD 0x00000002
2186 struct create_snapshot_request
2188 struct request_header __header;
2189 unsigned int attributes;
2190 unsigned int flags;
2191 char __pad_20[4];
2193 struct create_snapshot_reply
2195 struct reply_header __header;
2196 obj_handle_t handle;
2197 char __pad_12[4];
2202 struct next_process_request
2204 struct request_header __header;
2205 obj_handle_t handle;
2206 int reset;
2207 char __pad_20[4];
2209 struct next_process_reply
2211 struct reply_header __header;
2212 int count;
2213 process_id_t pid;
2214 process_id_t ppid;
2215 int threads;
2216 int priority;
2217 int handles;
2218 int unix_pid;
2219 /* VARARG(filename,unicode_str); */
2220 char __pad_36[4];
2225 struct next_thread_request
2227 struct request_header __header;
2228 obj_handle_t handle;
2229 int reset;
2230 char __pad_20[4];
2232 struct next_thread_reply
2234 struct reply_header __header;
2235 int count;
2236 process_id_t pid;
2237 thread_id_t tid;
2238 int base_pri;
2239 int delta_pri;
2240 char __pad_28[4];
2245 struct wait_debug_event_request
2247 struct request_header __header;
2248 int get_handle;
2250 struct wait_debug_event_reply
2252 struct reply_header __header;
2253 process_id_t pid;
2254 thread_id_t tid;
2255 obj_handle_t wait;
2256 /* VARARG(event,debug_event); */
2257 char __pad_20[4];
2262 struct queue_exception_event_request
2264 struct request_header __header;
2265 int first;
2266 unsigned int code;
2267 unsigned int flags;
2268 client_ptr_t record;
2269 client_ptr_t address;
2270 data_size_t len;
2271 /* VARARG(params,uints64,len); */
2272 /* VARARG(context,context); */
2273 char __pad_44[4];
2275 struct queue_exception_event_reply
2277 struct reply_header __header;
2278 obj_handle_t handle;
2279 char __pad_12[4];
2284 struct get_exception_status_request
2286 struct request_header __header;
2287 obj_handle_t handle;
2289 struct get_exception_status_reply
2291 struct reply_header __header;
2292 /* VARARG(context,context); */
2297 struct continue_debug_event_request
2299 struct request_header __header;
2300 process_id_t pid;
2301 thread_id_t tid;
2302 int status;
2304 struct continue_debug_event_reply
2306 struct reply_header __header;
2311 struct debug_process_request
2313 struct request_header __header;
2314 process_id_t pid;
2315 int attach;
2316 char __pad_20[4];
2318 struct debug_process_reply
2320 struct reply_header __header;
2325 struct debug_break_request
2327 struct request_header __header;
2328 obj_handle_t handle;
2330 struct debug_break_reply
2332 struct reply_header __header;
2333 int self;
2334 char __pad_12[4];
2339 struct set_debugger_kill_on_exit_request
2341 struct request_header __header;
2342 int kill_on_exit;
2344 struct set_debugger_kill_on_exit_reply
2346 struct reply_header __header;
2351 struct read_process_memory_request
2353 struct request_header __header;
2354 obj_handle_t handle;
2355 client_ptr_t addr;
2357 struct read_process_memory_reply
2359 struct reply_header __header;
2360 /* VARARG(data,bytes); */
2365 struct write_process_memory_request
2367 struct request_header __header;
2368 obj_handle_t handle;
2369 client_ptr_t addr;
2370 /* VARARG(data,bytes); */
2372 struct write_process_memory_reply
2374 struct reply_header __header;
2379 struct create_key_request
2381 struct request_header __header;
2382 obj_handle_t parent;
2383 unsigned int access;
2384 unsigned int attributes;
2385 unsigned int options;
2386 data_size_t namelen;
2387 /* VARARG(name,unicode_str,namelen); */
2388 /* VARARG(class,unicode_str); */
2390 struct create_key_reply
2392 struct reply_header __header;
2393 obj_handle_t hkey;
2394 int created;
2398 struct open_key_request
2400 struct request_header __header;
2401 obj_handle_t parent;
2402 unsigned int access;
2403 unsigned int attributes;
2404 /* VARARG(name,unicode_str); */
2406 struct open_key_reply
2408 struct reply_header __header;
2409 obj_handle_t hkey;
2410 char __pad_12[4];
2415 struct delete_key_request
2417 struct request_header __header;
2418 obj_handle_t hkey;
2420 struct delete_key_reply
2422 struct reply_header __header;
2427 struct flush_key_request
2429 struct request_header __header;
2430 obj_handle_t hkey;
2432 struct flush_key_reply
2434 struct reply_header __header;
2439 struct enum_key_request
2441 struct request_header __header;
2442 obj_handle_t hkey;
2443 int index;
2444 int info_class;
2446 struct enum_key_reply
2448 struct reply_header __header;
2449 int subkeys;
2450 int max_subkey;
2451 int max_class;
2452 int values;
2453 int max_value;
2454 int max_data;
2455 timeout_t modif;
2456 data_size_t total;
2457 data_size_t namelen;
2458 /* VARARG(name,unicode_str,namelen); */
2459 /* VARARG(class,unicode_str); */
2464 struct set_key_value_request
2466 struct request_header __header;
2467 obj_handle_t hkey;
2468 int type;
2469 data_size_t namelen;
2470 /* VARARG(name,unicode_str,namelen); */
2471 /* VARARG(data,bytes); */
2473 struct set_key_value_reply
2475 struct reply_header __header;
2480 struct get_key_value_request
2482 struct request_header __header;
2483 obj_handle_t hkey;
2484 /* VARARG(name,unicode_str); */
2486 struct get_key_value_reply
2488 struct reply_header __header;
2489 int type;
2490 data_size_t total;
2491 /* VARARG(data,bytes); */
2496 struct enum_key_value_request
2498 struct request_header __header;
2499 obj_handle_t hkey;
2500 int index;
2501 int info_class;
2503 struct enum_key_value_reply
2505 struct reply_header __header;
2506 int type;
2507 data_size_t total;
2508 data_size_t namelen;
2509 /* VARARG(name,unicode_str,namelen); */
2510 /* VARARG(data,bytes); */
2511 char __pad_20[4];
2516 struct delete_key_value_request
2518 struct request_header __header;
2519 obj_handle_t hkey;
2520 /* VARARG(name,unicode_str); */
2522 struct delete_key_value_reply
2524 struct reply_header __header;
2529 struct load_registry_request
2531 struct request_header __header;
2532 obj_handle_t hkey;
2533 obj_handle_t file;
2534 /* VARARG(name,unicode_str); */
2535 char __pad_20[4];
2537 struct load_registry_reply
2539 struct reply_header __header;
2544 struct unload_registry_request
2546 struct request_header __header;
2547 obj_handle_t hkey;
2549 struct unload_registry_reply
2551 struct reply_header __header;
2556 struct save_registry_request
2558 struct request_header __header;
2559 obj_handle_t hkey;
2560 obj_handle_t file;
2561 char __pad_20[4];
2563 struct save_registry_reply
2565 struct reply_header __header;
2570 struct set_registry_notification_request
2572 struct request_header __header;
2573 obj_handle_t hkey;
2574 obj_handle_t event;
2575 int subtree;
2576 unsigned int filter;
2577 char __pad_28[4];
2579 struct set_registry_notification_reply
2581 struct reply_header __header;
2586 struct create_timer_request
2588 struct request_header __header;
2589 unsigned int access;
2590 unsigned int attributes;
2591 obj_handle_t rootdir;
2592 int manual;
2593 /* VARARG(name,unicode_str); */
2594 char __pad_28[4];
2596 struct create_timer_reply
2598 struct reply_header __header;
2599 obj_handle_t handle;
2600 char __pad_12[4];
2605 struct open_timer_request
2607 struct request_header __header;
2608 unsigned int access;
2609 unsigned int attributes;
2610 obj_handle_t rootdir;
2611 /* VARARG(name,unicode_str); */
2613 struct open_timer_reply
2615 struct reply_header __header;
2616 obj_handle_t handle;
2617 char __pad_12[4];
2621 struct set_timer_request
2623 struct request_header __header;
2624 obj_handle_t handle;
2625 timeout_t expire;
2626 client_ptr_t callback;
2627 client_ptr_t arg;
2628 int period;
2629 char __pad_44[4];
2631 struct set_timer_reply
2633 struct reply_header __header;
2634 int signaled;
2635 char __pad_12[4];
2639 struct cancel_timer_request
2641 struct request_header __header;
2642 obj_handle_t handle;
2644 struct cancel_timer_reply
2646 struct reply_header __header;
2647 int signaled;
2648 char __pad_12[4];
2652 struct get_timer_info_request
2654 struct request_header __header;
2655 obj_handle_t handle;
2657 struct get_timer_info_reply
2659 struct reply_header __header;
2660 timeout_t when;
2661 int signaled;
2662 char __pad_20[4];
2667 struct get_thread_context_request
2669 struct request_header __header;
2670 obj_handle_t handle;
2671 unsigned int flags;
2672 int suspend;
2674 struct get_thread_context_reply
2676 struct reply_header __header;
2677 int self;
2678 /* VARARG(context,context); */
2679 char __pad_12[4];
2684 struct set_thread_context_request
2686 struct request_header __header;
2687 obj_handle_t handle;
2688 int suspend;
2689 /* VARARG(context,context); */
2690 char __pad_20[4];
2692 struct set_thread_context_reply
2694 struct reply_header __header;
2695 int self;
2696 char __pad_12[4];
2701 struct get_selector_entry_request
2703 struct request_header __header;
2704 obj_handle_t handle;
2705 int entry;
2706 char __pad_20[4];
2708 struct get_selector_entry_reply
2710 struct reply_header __header;
2711 unsigned int base;
2712 unsigned int limit;
2713 unsigned char flags;
2714 char __pad_17[7];
2719 struct add_atom_request
2721 struct request_header __header;
2722 obj_handle_t table;
2723 /* VARARG(name,unicode_str); */
2725 struct add_atom_reply
2727 struct reply_header __header;
2728 atom_t atom;
2729 char __pad_12[4];
2734 struct delete_atom_request
2736 struct request_header __header;
2737 obj_handle_t table;
2738 atom_t atom;
2739 char __pad_20[4];
2741 struct delete_atom_reply
2743 struct reply_header __header;
2748 struct find_atom_request
2750 struct request_header __header;
2751 obj_handle_t table;
2752 /* VARARG(name,unicode_str); */
2754 struct find_atom_reply
2756 struct reply_header __header;
2757 atom_t atom;
2758 char __pad_12[4];
2763 struct get_atom_information_request
2765 struct request_header __header;
2766 obj_handle_t table;
2767 atom_t atom;
2768 char __pad_20[4];
2770 struct get_atom_information_reply
2772 struct reply_header __header;
2773 int count;
2774 int pinned;
2775 data_size_t total;
2776 /* VARARG(name,unicode_str); */
2777 char __pad_20[4];
2782 struct set_atom_information_request
2784 struct request_header __header;
2785 obj_handle_t table;
2786 atom_t atom;
2787 int pinned;
2789 struct set_atom_information_reply
2791 struct reply_header __header;
2796 struct empty_atom_table_request
2798 struct request_header __header;
2799 obj_handle_t table;
2800 int if_pinned;
2801 char __pad_20[4];
2803 struct empty_atom_table_reply
2805 struct reply_header __header;
2810 struct init_atom_table_request
2812 struct request_header __header;
2813 int entries;
2815 struct init_atom_table_reply
2817 struct reply_header __header;
2818 obj_handle_t table;
2819 char __pad_12[4];
2824 struct get_msg_queue_request
2826 struct request_header __header;
2827 char __pad_12[4];
2829 struct get_msg_queue_reply
2831 struct reply_header __header;
2832 obj_handle_t handle;
2833 char __pad_12[4];
2838 struct set_queue_fd_request
2840 struct request_header __header;
2841 obj_handle_t handle;
2843 struct set_queue_fd_reply
2845 struct reply_header __header;
2850 struct set_queue_mask_request
2852 struct request_header __header;
2853 unsigned int wake_mask;
2854 unsigned int changed_mask;
2855 int skip_wait;
2857 struct set_queue_mask_reply
2859 struct reply_header __header;
2860 unsigned int wake_bits;
2861 unsigned int changed_bits;
2866 struct get_queue_status_request
2868 struct request_header __header;
2869 unsigned int clear_bits;
2871 struct get_queue_status_reply
2873 struct reply_header __header;
2874 unsigned int wake_bits;
2875 unsigned int changed_bits;
2880 struct get_process_idle_event_request
2882 struct request_header __header;
2883 obj_handle_t handle;
2885 struct get_process_idle_event_reply
2887 struct reply_header __header;
2888 obj_handle_t event;
2889 char __pad_12[4];
2894 struct send_message_request
2896 struct request_header __header;
2897 thread_id_t id;
2898 int type;
2899 int flags;
2900 user_handle_t win;
2901 unsigned int msg;
2902 lparam_t wparam;
2903 lparam_t lparam;
2904 timeout_t timeout;
2905 /* VARARG(data,message_data); */
2907 struct send_message_reply
2909 struct reply_header __header;
2912 struct post_quit_message_request
2914 struct request_header __header;
2915 int exit_code;
2917 struct post_quit_message_reply
2919 struct reply_header __header;
2922 enum message_type
2924 MSG_ASCII,
2925 MSG_UNICODE,
2926 MSG_NOTIFY,
2927 MSG_CALLBACK,
2928 MSG_CALLBACK_RESULT,
2929 MSG_OTHER_PROCESS,
2930 MSG_POSTED,
2931 MSG_HARDWARE,
2932 MSG_WINEVENT,
2933 MSG_HOOK_LL
2935 #define SEND_MSG_ABORT_IF_HUNG 0x01
2939 struct send_hardware_message_request
2941 struct request_header __header;
2942 user_handle_t win;
2943 hw_input_t input;
2944 unsigned int flags;
2945 char __pad_52[4];
2947 struct send_hardware_message_reply
2949 struct reply_header __header;
2950 int wait;
2951 int prev_x;
2952 int prev_y;
2953 int new_x;
2954 int new_y;
2955 /* VARARG(keystate,bytes); */
2956 char __pad_28[4];
2958 #define SEND_HWMSG_INJECTED 0x01
2962 struct get_message_request
2964 struct request_header __header;
2965 unsigned int flags;
2966 user_handle_t get_win;
2967 unsigned int get_first;
2968 unsigned int get_last;
2969 unsigned int hw_id;
2970 unsigned int wake_mask;
2971 unsigned int changed_mask;
2973 struct get_message_reply
2975 struct reply_header __header;
2976 user_handle_t win;
2977 unsigned int msg;
2978 lparam_t wparam;
2979 lparam_t lparam;
2980 int type;
2981 int x;
2982 int y;
2983 unsigned int time;
2984 unsigned int active_hooks;
2985 data_size_t total;
2986 /* VARARG(data,message_data); */
2991 struct reply_message_request
2993 struct request_header __header;
2994 int remove;
2995 lparam_t result;
2996 /* VARARG(data,bytes); */
2998 struct reply_message_reply
3000 struct reply_header __header;
3005 struct accept_hardware_message_request
3007 struct request_header __header;
3008 unsigned int hw_id;
3009 int remove;
3010 char __pad_20[4];
3012 struct accept_hardware_message_reply
3014 struct reply_header __header;
3019 struct get_message_reply_request
3021 struct request_header __header;
3022 int cancel;
3024 struct get_message_reply_reply
3026 struct reply_header __header;
3027 lparam_t result;
3028 /* VARARG(data,bytes); */
3033 struct set_win_timer_request
3035 struct request_header __header;
3036 user_handle_t win;
3037 unsigned int msg;
3038 unsigned int rate;
3039 lparam_t id;
3040 lparam_t lparam;
3042 struct set_win_timer_reply
3044 struct reply_header __header;
3045 lparam_t id;
3050 struct kill_win_timer_request
3052 struct request_header __header;
3053 user_handle_t win;
3054 lparam_t id;
3055 unsigned int msg;
3056 char __pad_28[4];
3058 struct kill_win_timer_reply
3060 struct reply_header __header;
3065 struct is_window_hung_request
3067 struct request_header __header;
3068 user_handle_t win;
3070 struct is_window_hung_reply
3072 struct reply_header __header;
3073 int is_hung;
3074 char __pad_12[4];
3079 struct get_serial_info_request
3081 struct request_header __header;
3082 obj_handle_t handle;
3083 int flags;
3084 char __pad_20[4];
3086 struct get_serial_info_reply
3088 struct reply_header __header;
3089 unsigned int readinterval;
3090 unsigned int readconst;
3091 unsigned int readmult;
3092 unsigned int writeconst;
3093 unsigned int writemult;
3094 unsigned int eventmask;
3095 unsigned int cookie;
3096 unsigned int pending_write;
3101 struct set_serial_info_request
3103 struct request_header __header;
3104 obj_handle_t handle;
3105 int flags;
3106 unsigned int readinterval;
3107 unsigned int readconst;
3108 unsigned int readmult;
3109 unsigned int writeconst;
3110 unsigned int writemult;
3111 unsigned int eventmask;
3112 char __pad_44[4];
3114 struct set_serial_info_reply
3116 struct reply_header __header;
3118 #define SERIALINFO_SET_TIMEOUTS 0x01
3119 #define SERIALINFO_SET_MASK 0x02
3120 #define SERIALINFO_PENDING_WRITE 0x04
3121 #define SERIALINFO_PENDING_WAIT 0x08
3125 struct register_async_request
3127 struct request_header __header;
3128 int type;
3129 async_data_t async;
3130 int count;
3131 char __pad_60[4];
3133 struct register_async_reply
3135 struct reply_header __header;
3137 #define ASYNC_TYPE_READ 0x01
3138 #define ASYNC_TYPE_WRITE 0x02
3139 #define ASYNC_TYPE_WAIT 0x03
3143 struct cancel_async_request
3145 struct request_header __header;
3146 obj_handle_t handle;
3147 client_ptr_t iosb;
3148 int only_thread;
3149 char __pad_28[4];
3151 struct cancel_async_reply
3153 struct reply_header __header;
3158 struct read_request
3160 struct request_header __header;
3161 int blocking;
3162 async_data_t async;
3163 file_pos_t pos;
3165 struct read_reply
3167 struct reply_header __header;
3168 obj_handle_t wait;
3169 unsigned int options;
3170 /* VARARG(data,bytes); */
3175 struct write_request
3177 struct request_header __header;
3178 int blocking;
3179 async_data_t async;
3180 file_pos_t pos;
3181 /* VARARG(data,bytes); */
3183 struct write_reply
3185 struct reply_header __header;
3186 obj_handle_t wait;
3187 unsigned int options;
3188 data_size_t size;
3189 char __pad_20[4];
3194 struct ioctl_request
3196 struct request_header __header;
3197 ioctl_code_t code;
3198 async_data_t async;
3199 int blocking;
3200 /* VARARG(in_data,bytes); */
3201 char __pad_60[4];
3203 struct ioctl_reply
3205 struct reply_header __header;
3206 obj_handle_t wait;
3207 unsigned int options;
3208 /* VARARG(out_data,bytes); */
3213 struct set_irp_result_request
3215 struct request_header __header;
3216 obj_handle_t manager;
3217 obj_handle_t handle;
3218 unsigned int status;
3219 data_size_t size;
3220 /* VARARG(data,bytes); */
3221 char __pad_28[4];
3223 struct set_irp_result_reply
3225 struct reply_header __header;
3230 struct get_irp_result_request
3232 struct request_header __header;
3233 obj_handle_t handle;
3234 client_ptr_t user_arg;
3236 struct get_irp_result_reply
3238 struct reply_header __header;
3239 data_size_t size;
3240 /* VARARG(out_data,bytes); */
3241 char __pad_12[4];
3246 struct create_named_pipe_request
3248 struct request_header __header;
3249 unsigned int access;
3250 unsigned int attributes;
3251 unsigned int options;
3252 unsigned int sharing;
3253 unsigned int maxinstances;
3254 unsigned int outsize;
3255 unsigned int insize;
3256 timeout_t timeout;
3257 unsigned int flags;
3258 /* VARARG(objattr,object_attributes); */
3259 char __pad_52[4];
3261 struct create_named_pipe_reply
3263 struct reply_header __header;
3264 obj_handle_t handle;
3265 char __pad_12[4];
3269 #define NAMED_PIPE_MESSAGE_STREAM_WRITE 0x0001
3270 #define NAMED_PIPE_MESSAGE_STREAM_READ 0x0002
3271 #define NAMED_PIPE_NONBLOCKING_MODE 0x0004
3272 #define NAMED_PIPE_SERVER_END 0x8000
3275 struct get_named_pipe_info_request
3277 struct request_header __header;
3278 obj_handle_t handle;
3280 struct get_named_pipe_info_reply
3282 struct reply_header __header;
3283 unsigned int flags;
3284 unsigned int sharing;
3285 unsigned int maxinstances;
3286 unsigned int instances;
3287 unsigned int outsize;
3288 unsigned int insize;
3292 struct set_named_pipe_info_request
3294 struct request_header __header;
3295 obj_handle_t handle;
3296 unsigned int flags;
3297 char __pad_20[4];
3299 struct set_named_pipe_info_reply
3301 struct reply_header __header;
3305 struct create_window_request
3307 struct request_header __header;
3308 user_handle_t parent;
3309 user_handle_t owner;
3310 atom_t atom;
3311 mod_handle_t instance;
3312 /* VARARG(class,unicode_str); */
3314 struct create_window_reply
3316 struct reply_header __header;
3317 user_handle_t handle;
3318 user_handle_t parent;
3319 user_handle_t owner;
3320 int extra;
3321 client_ptr_t class_ptr;
3326 struct destroy_window_request
3328 struct request_header __header;
3329 user_handle_t handle;
3331 struct destroy_window_reply
3333 struct reply_header __header;
3338 struct get_desktop_window_request
3340 struct request_header __header;
3341 int force;
3343 struct get_desktop_window_reply
3345 struct reply_header __header;
3346 user_handle_t top_window;
3347 user_handle_t msg_window;
3352 struct set_window_owner_request
3354 struct request_header __header;
3355 user_handle_t handle;
3356 user_handle_t owner;
3357 char __pad_20[4];
3359 struct set_window_owner_reply
3361 struct reply_header __header;
3362 user_handle_t full_owner;
3363 user_handle_t prev_owner;
3368 struct get_window_info_request
3370 struct request_header __header;
3371 user_handle_t handle;
3373 struct get_window_info_reply
3375 struct reply_header __header;
3376 user_handle_t full_handle;
3377 user_handle_t last_active;
3378 process_id_t pid;
3379 thread_id_t tid;
3380 atom_t atom;
3381 int is_unicode;
3386 struct set_window_info_request
3388 struct request_header __header;
3389 unsigned short flags;
3390 short int is_unicode;
3391 user_handle_t handle;
3392 unsigned int style;
3393 unsigned int ex_style;
3394 unsigned int id;
3395 mod_handle_t instance;
3396 lparam_t user_data;
3397 int extra_offset;
3398 data_size_t extra_size;
3399 lparam_t extra_value;
3401 struct set_window_info_reply
3403 struct reply_header __header;
3404 unsigned int old_style;
3405 unsigned int old_ex_style;
3406 mod_handle_t old_instance;
3407 lparam_t old_user_data;
3408 lparam_t old_extra_value;
3409 unsigned int old_id;
3410 char __pad_44[4];
3412 #define SET_WIN_STYLE 0x01
3413 #define SET_WIN_EXSTYLE 0x02
3414 #define SET_WIN_ID 0x04
3415 #define SET_WIN_INSTANCE 0x08
3416 #define SET_WIN_USERDATA 0x10
3417 #define SET_WIN_EXTRA 0x20
3418 #define SET_WIN_UNICODE 0x40
3422 struct set_parent_request
3424 struct request_header __header;
3425 user_handle_t handle;
3426 user_handle_t parent;
3427 char __pad_20[4];
3429 struct set_parent_reply
3431 struct reply_header __header;
3432 user_handle_t old_parent;
3433 user_handle_t full_parent;
3438 struct get_window_parents_request
3440 struct request_header __header;
3441 user_handle_t handle;
3443 struct get_window_parents_reply
3445 struct reply_header __header;
3446 int count;
3447 /* VARARG(parents,user_handles); */
3448 char __pad_12[4];
3453 struct get_window_children_request
3455 struct request_header __header;
3456 obj_handle_t desktop;
3457 user_handle_t parent;
3458 atom_t atom;
3459 thread_id_t tid;
3460 /* VARARG(class,unicode_str); */
3461 char __pad_28[4];
3463 struct get_window_children_reply
3465 struct reply_header __header;
3466 int count;
3467 /* VARARG(children,user_handles); */
3468 char __pad_12[4];
3473 struct get_window_children_from_point_request
3475 struct request_header __header;
3476 user_handle_t parent;
3477 int x;
3478 int y;
3480 struct get_window_children_from_point_reply
3482 struct reply_header __header;
3483 int count;
3484 /* VARARG(children,user_handles); */
3485 char __pad_12[4];
3490 struct get_window_tree_request
3492 struct request_header __header;
3493 user_handle_t handle;
3495 struct get_window_tree_reply
3497 struct reply_header __header;
3498 user_handle_t parent;
3499 user_handle_t owner;
3500 user_handle_t next_sibling;
3501 user_handle_t prev_sibling;
3502 user_handle_t first_sibling;
3503 user_handle_t last_sibling;
3504 user_handle_t first_child;
3505 user_handle_t last_child;
3509 struct set_window_pos_request
3511 struct request_header __header;
3512 unsigned short swp_flags;
3513 unsigned short paint_flags;
3514 user_handle_t handle;
3515 user_handle_t previous;
3516 rectangle_t window;
3517 rectangle_t client;
3518 /* VARARG(valid,rectangles); */
3520 struct set_window_pos_reply
3522 struct reply_header __header;
3523 unsigned int new_style;
3524 unsigned int new_ex_style;
3525 user_handle_t surface_win;
3526 char __pad_20[4];
3528 #define SET_WINPOS_PAINT_SURFACE 0x01
3529 #define SET_WINPOS_PIXEL_FORMAT 0x02
3532 struct get_window_rectangles_request
3534 struct request_header __header;
3535 user_handle_t handle;
3536 int relative;
3537 char __pad_20[4];
3539 struct get_window_rectangles_reply
3541 struct reply_header __header;
3542 rectangle_t window;
3543 rectangle_t visible;
3544 rectangle_t client;
3546 enum coords_relative
3548 COORDS_CLIENT,
3549 COORDS_WINDOW,
3550 COORDS_PARENT,
3551 COORDS_SCREEN
3556 struct get_window_text_request
3558 struct request_header __header;
3559 user_handle_t handle;
3561 struct get_window_text_reply
3563 struct reply_header __header;
3564 /* VARARG(text,unicode_str); */
3569 struct set_window_text_request
3571 struct request_header __header;
3572 user_handle_t handle;
3573 /* VARARG(text,unicode_str); */
3575 struct set_window_text_reply
3577 struct reply_header __header;
3582 struct get_windows_offset_request
3584 struct request_header __header;
3585 user_handle_t from;
3586 user_handle_t to;
3587 char __pad_20[4];
3589 struct get_windows_offset_reply
3591 struct reply_header __header;
3592 int x;
3593 int y;
3594 int mirror;
3595 char __pad_20[4];
3600 struct get_visible_region_request
3602 struct request_header __header;
3603 user_handle_t window;
3604 unsigned int flags;
3605 char __pad_20[4];
3607 struct get_visible_region_reply
3609 struct reply_header __header;
3610 user_handle_t top_win;
3611 rectangle_t top_rect;
3612 rectangle_t win_rect;
3613 unsigned int paint_flags;
3614 data_size_t total_size;
3615 /* VARARG(region,rectangles); */
3616 char __pad_52[4];
3621 struct get_surface_region_request
3623 struct request_header __header;
3624 user_handle_t window;
3626 struct get_surface_region_reply
3628 struct reply_header __header;
3629 rectangle_t visible_rect;
3630 data_size_t total_size;
3631 /* VARARG(region,rectangles); */
3632 char __pad_28[4];
3637 struct get_window_region_request
3639 struct request_header __header;
3640 user_handle_t window;
3642 struct get_window_region_reply
3644 struct reply_header __header;
3645 data_size_t total_size;
3646 /* VARARG(region,rectangles); */
3647 char __pad_12[4];
3652 struct set_window_region_request
3654 struct request_header __header;
3655 user_handle_t window;
3656 int redraw;
3657 /* VARARG(region,rectangles); */
3658 char __pad_20[4];
3660 struct set_window_region_reply
3662 struct reply_header __header;
3667 struct get_update_region_request
3669 struct request_header __header;
3670 user_handle_t window;
3671 user_handle_t from_child;
3672 unsigned int flags;
3674 struct get_update_region_reply
3676 struct reply_header __header;
3677 user_handle_t child;
3678 unsigned int flags;
3679 data_size_t total_size;
3680 /* VARARG(region,rectangles); */
3681 char __pad_20[4];
3683 #define UPDATE_NONCLIENT 0x01
3684 #define UPDATE_ERASE 0x02
3685 #define UPDATE_PAINT 0x04
3686 #define UPDATE_INTERNALPAINT 0x08
3687 #define UPDATE_ALLCHILDREN 0x10
3688 #define UPDATE_NOCHILDREN 0x20
3689 #define UPDATE_NOREGION 0x40
3690 #define UPDATE_DELAYED_ERASE 0x80
3694 struct update_window_zorder_request
3696 struct request_header __header;
3697 user_handle_t window;
3698 rectangle_t rect;
3700 struct update_window_zorder_reply
3702 struct reply_header __header;
3707 struct redraw_window_request
3709 struct request_header __header;
3710 user_handle_t window;
3711 unsigned int flags;
3712 /* VARARG(region,rectangles); */
3713 char __pad_20[4];
3715 struct redraw_window_reply
3717 struct reply_header __header;
3722 struct set_window_property_request
3724 struct request_header __header;
3725 user_handle_t window;
3726 lparam_t data;
3727 atom_t atom;
3728 /* VARARG(name,unicode_str); */
3729 char __pad_28[4];
3731 struct set_window_property_reply
3733 struct reply_header __header;
3738 struct remove_window_property_request
3740 struct request_header __header;
3741 user_handle_t window;
3742 atom_t atom;
3743 /* VARARG(name,unicode_str); */
3744 char __pad_20[4];
3746 struct remove_window_property_reply
3748 struct reply_header __header;
3749 lparam_t data;
3754 struct get_window_property_request
3756 struct request_header __header;
3757 user_handle_t window;
3758 atom_t atom;
3759 /* VARARG(name,unicode_str); */
3760 char __pad_20[4];
3762 struct get_window_property_reply
3764 struct reply_header __header;
3765 lparam_t data;
3770 struct get_window_properties_request
3772 struct request_header __header;
3773 user_handle_t window;
3775 struct get_window_properties_reply
3777 struct reply_header __header;
3778 int total;
3779 /* VARARG(props,properties); */
3780 char __pad_12[4];
3785 struct create_winstation_request
3787 struct request_header __header;
3788 unsigned int flags;
3789 unsigned int access;
3790 unsigned int attributes;
3791 /* VARARG(name,unicode_str); */
3793 struct create_winstation_reply
3795 struct reply_header __header;
3796 obj_handle_t handle;
3797 char __pad_12[4];
3802 struct open_winstation_request
3804 struct request_header __header;
3805 unsigned int access;
3806 unsigned int attributes;
3807 /* VARARG(name,unicode_str); */
3808 char __pad_20[4];
3810 struct open_winstation_reply
3812 struct reply_header __header;
3813 obj_handle_t handle;
3814 char __pad_12[4];
3819 struct close_winstation_request
3821 struct request_header __header;
3822 obj_handle_t handle;
3824 struct close_winstation_reply
3826 struct reply_header __header;
3831 struct get_process_winstation_request
3833 struct request_header __header;
3834 char __pad_12[4];
3836 struct get_process_winstation_reply
3838 struct reply_header __header;
3839 obj_handle_t handle;
3840 char __pad_12[4];
3845 struct set_process_winstation_request
3847 struct request_header __header;
3848 obj_handle_t handle;
3850 struct set_process_winstation_reply
3852 struct reply_header __header;
3857 struct enum_winstation_request
3859 struct request_header __header;
3860 unsigned int index;
3862 struct enum_winstation_reply
3864 struct reply_header __header;
3865 unsigned int next;
3866 /* VARARG(name,unicode_str); */
3867 char __pad_12[4];
3872 struct create_desktop_request
3874 struct request_header __header;
3875 unsigned int flags;
3876 unsigned int access;
3877 unsigned int attributes;
3878 /* VARARG(name,unicode_str); */
3880 struct create_desktop_reply
3882 struct reply_header __header;
3883 obj_handle_t handle;
3884 char __pad_12[4];
3889 struct open_desktop_request
3891 struct request_header __header;
3892 obj_handle_t winsta;
3893 unsigned int flags;
3894 unsigned int access;
3895 unsigned int attributes;
3896 /* VARARG(name,unicode_str); */
3897 char __pad_28[4];
3899 struct open_desktop_reply
3901 struct reply_header __header;
3902 obj_handle_t handle;
3903 char __pad_12[4];
3908 struct open_input_desktop_request
3910 struct request_header __header;
3911 unsigned int flags;
3912 unsigned int access;
3913 unsigned int attributes;
3915 struct open_input_desktop_reply
3917 struct reply_header __header;
3918 obj_handle_t handle;
3919 char __pad_12[4];
3924 struct close_desktop_request
3926 struct request_header __header;
3927 obj_handle_t handle;
3929 struct close_desktop_reply
3931 struct reply_header __header;
3936 struct get_thread_desktop_request
3938 struct request_header __header;
3939 thread_id_t tid;
3941 struct get_thread_desktop_reply
3943 struct reply_header __header;
3944 obj_handle_t handle;
3945 char __pad_12[4];
3950 struct set_thread_desktop_request
3952 struct request_header __header;
3953 obj_handle_t handle;
3955 struct set_thread_desktop_reply
3957 struct reply_header __header;
3962 struct enum_desktop_request
3964 struct request_header __header;
3965 obj_handle_t winstation;
3966 unsigned int index;
3967 char __pad_20[4];
3969 struct enum_desktop_reply
3971 struct reply_header __header;
3972 unsigned int next;
3973 /* VARARG(name,unicode_str); */
3974 char __pad_12[4];
3979 struct set_user_object_info_request
3981 struct request_header __header;
3982 obj_handle_t handle;
3983 unsigned int flags;
3984 unsigned int obj_flags;
3986 struct set_user_object_info_reply
3988 struct reply_header __header;
3989 int is_desktop;
3990 unsigned int old_obj_flags;
3991 /* VARARG(name,unicode_str); */
3993 #define SET_USER_OBJECT_FLAGS 1
3997 struct register_hotkey_request
3999 struct request_header __header;
4000 user_handle_t window;
4001 int id;
4002 unsigned int flags;
4003 unsigned int vkey;
4004 char __pad_28[4];
4006 struct register_hotkey_reply
4008 struct reply_header __header;
4009 int replaced;
4010 unsigned int flags;
4011 unsigned int vkey;
4012 char __pad_20[4];
4017 struct unregister_hotkey_request
4019 struct request_header __header;
4020 user_handle_t window;
4021 int id;
4022 char __pad_20[4];
4024 struct unregister_hotkey_reply
4026 struct reply_header __header;
4027 unsigned int flags;
4028 unsigned int vkey;
4033 struct attach_thread_input_request
4035 struct request_header __header;
4036 thread_id_t tid_from;
4037 thread_id_t tid_to;
4038 int attach;
4040 struct attach_thread_input_reply
4042 struct reply_header __header;
4047 struct get_thread_input_request
4049 struct request_header __header;
4050 thread_id_t tid;
4052 struct get_thread_input_reply
4054 struct reply_header __header;
4055 user_handle_t focus;
4056 user_handle_t capture;
4057 user_handle_t active;
4058 user_handle_t foreground;
4059 user_handle_t menu_owner;
4060 user_handle_t move_size;
4061 user_handle_t caret;
4062 user_handle_t cursor;
4063 int show_count;
4064 rectangle_t rect;
4065 char __pad_60[4];
4070 struct get_last_input_time_request
4072 struct request_header __header;
4073 char __pad_12[4];
4075 struct get_last_input_time_reply
4077 struct reply_header __header;
4078 unsigned int time;
4079 char __pad_12[4];
4084 struct get_key_state_request
4086 struct request_header __header;
4087 thread_id_t tid;
4088 int key;
4089 char __pad_20[4];
4091 struct get_key_state_reply
4093 struct reply_header __header;
4094 unsigned char state;
4095 /* VARARG(keystate,bytes); */
4096 char __pad_9[7];
4100 struct set_key_state_request
4102 struct request_header __header;
4103 thread_id_t tid;
4104 int async;
4105 /* VARARG(keystate,bytes); */
4106 char __pad_20[4];
4108 struct set_key_state_reply
4110 struct reply_header __header;
4114 struct set_foreground_window_request
4116 struct request_header __header;
4117 user_handle_t handle;
4119 struct set_foreground_window_reply
4121 struct reply_header __header;
4122 user_handle_t previous;
4123 int send_msg_old;
4124 int send_msg_new;
4125 char __pad_20[4];
4129 struct set_focus_window_request
4131 struct request_header __header;
4132 user_handle_t handle;
4134 struct set_focus_window_reply
4136 struct reply_header __header;
4137 user_handle_t previous;
4138 char __pad_12[4];
4142 struct set_active_window_request
4144 struct request_header __header;
4145 user_handle_t handle;
4147 struct set_active_window_reply
4149 struct reply_header __header;
4150 user_handle_t previous;
4151 char __pad_12[4];
4155 struct set_capture_window_request
4157 struct request_header __header;
4158 user_handle_t handle;
4159 unsigned int flags;
4160 char __pad_20[4];
4162 struct set_capture_window_reply
4164 struct reply_header __header;
4165 user_handle_t previous;
4166 user_handle_t full_handle;
4168 #define CAPTURE_MENU 0x01
4169 #define CAPTURE_MOVESIZE 0x02
4173 struct set_caret_window_request
4175 struct request_header __header;
4176 user_handle_t handle;
4177 int width;
4178 int height;
4180 struct set_caret_window_reply
4182 struct reply_header __header;
4183 user_handle_t previous;
4184 rectangle_t old_rect;
4185 int old_hide;
4186 int old_state;
4187 char __pad_36[4];
4192 struct set_caret_info_request
4194 struct request_header __header;
4195 unsigned int flags;
4196 user_handle_t handle;
4197 int x;
4198 int y;
4199 int hide;
4200 int state;
4201 char __pad_36[4];
4203 struct set_caret_info_reply
4205 struct reply_header __header;
4206 user_handle_t full_handle;
4207 rectangle_t old_rect;
4208 int old_hide;
4209 int old_state;
4210 char __pad_36[4];
4212 #define SET_CARET_POS 0x01
4213 #define SET_CARET_HIDE 0x02
4214 #define SET_CARET_STATE 0x04
4218 struct set_hook_request
4220 struct request_header __header;
4221 int id;
4222 process_id_t pid;
4223 thread_id_t tid;
4224 int event_min;
4225 int event_max;
4226 client_ptr_t proc;
4227 int flags;
4228 int unicode;
4229 /* VARARG(module,unicode_str); */
4231 struct set_hook_reply
4233 struct reply_header __header;
4234 user_handle_t handle;
4235 unsigned int active_hooks;
4240 struct remove_hook_request
4242 struct request_header __header;
4243 user_handle_t handle;
4244 client_ptr_t proc;
4245 int id;
4246 char __pad_28[4];
4248 struct remove_hook_reply
4250 struct reply_header __header;
4251 unsigned int active_hooks;
4252 char __pad_12[4];
4257 struct start_hook_chain_request
4259 struct request_header __header;
4260 int id;
4261 int event;
4262 user_handle_t window;
4263 int object_id;
4264 int child_id;
4266 struct start_hook_chain_reply
4268 struct reply_header __header;
4269 user_handle_t handle;
4270 process_id_t pid;
4271 thread_id_t tid;
4272 int unicode;
4273 client_ptr_t proc;
4274 unsigned int active_hooks;
4275 /* VARARG(module,unicode_str); */
4276 char __pad_36[4];
4281 struct finish_hook_chain_request
4283 struct request_header __header;
4284 int id;
4286 struct finish_hook_chain_reply
4288 struct reply_header __header;
4293 struct get_hook_info_request
4295 struct request_header __header;
4296 user_handle_t handle;
4297 int get_next;
4298 int event;
4299 user_handle_t window;
4300 int object_id;
4301 int child_id;
4302 char __pad_36[4];
4304 struct get_hook_info_reply
4306 struct reply_header __header;
4307 user_handle_t handle;
4308 int id;
4309 process_id_t pid;
4310 thread_id_t tid;
4311 client_ptr_t proc;
4312 int unicode;
4313 /* VARARG(module,unicode_str); */
4314 char __pad_36[4];
4319 struct create_class_request
4321 struct request_header __header;
4322 int local;
4323 atom_t atom;
4324 unsigned int style;
4325 mod_handle_t instance;
4326 int extra;
4327 int win_extra;
4328 client_ptr_t client_ptr;
4329 /* VARARG(name,unicode_str); */
4331 struct create_class_reply
4333 struct reply_header __header;
4334 atom_t atom;
4335 char __pad_12[4];
4340 struct destroy_class_request
4342 struct request_header __header;
4343 atom_t atom;
4344 mod_handle_t instance;
4345 /* VARARG(name,unicode_str); */
4347 struct destroy_class_reply
4349 struct reply_header __header;
4350 client_ptr_t client_ptr;
4355 struct set_class_info_request
4357 struct request_header __header;
4358 user_handle_t window;
4359 unsigned int flags;
4360 atom_t atom;
4361 unsigned int style;
4362 int win_extra;
4363 mod_handle_t instance;
4364 int extra_offset;
4365 data_size_t extra_size;
4366 lparam_t extra_value;
4368 struct set_class_info_reply
4370 struct reply_header __header;
4371 atom_t old_atom;
4372 unsigned int old_style;
4373 int old_extra;
4374 int old_win_extra;
4375 mod_handle_t old_instance;
4376 lparam_t old_extra_value;
4378 #define SET_CLASS_ATOM 0x0001
4379 #define SET_CLASS_STYLE 0x0002
4380 #define SET_CLASS_WINEXTRA 0x0004
4381 #define SET_CLASS_INSTANCE 0x0008
4382 #define SET_CLASS_EXTRA 0x0010
4386 struct set_clipboard_info_request
4388 struct request_header __header;
4389 unsigned int flags;
4390 user_handle_t clipboard;
4391 user_handle_t owner;
4392 user_handle_t viewer;
4393 unsigned int seqno;
4395 struct set_clipboard_info_reply
4397 struct reply_header __header;
4398 unsigned int flags;
4399 user_handle_t old_clipboard;
4400 user_handle_t old_owner;
4401 user_handle_t old_viewer;
4402 unsigned int seqno;
4403 char __pad_28[4];
4406 #define SET_CB_OPEN 0x001
4407 #define SET_CB_VIEWER 0x004
4408 #define SET_CB_SEQNO 0x008
4409 #define SET_CB_RELOWNER 0x010
4410 #define SET_CB_CLOSE 0x020
4411 #define CB_OPEN 0x040
4412 #define CB_OWNER 0x080
4413 #define CB_PROCESS 0x100
4417 struct empty_clipboard_request
4419 struct request_header __header;
4420 char __pad_12[4];
4422 struct empty_clipboard_reply
4424 struct reply_header __header;
4429 struct open_token_request
4431 struct request_header __header;
4432 obj_handle_t handle;
4433 unsigned int access;
4434 unsigned int attributes;
4435 unsigned int flags;
4436 char __pad_28[4];
4438 struct open_token_reply
4440 struct reply_header __header;
4441 obj_handle_t token;
4442 char __pad_12[4];
4444 #define OPEN_TOKEN_THREAD 1
4445 #define OPEN_TOKEN_AS_SELF 2
4449 struct set_global_windows_request
4451 struct request_header __header;
4452 unsigned int flags;
4453 user_handle_t shell_window;
4454 user_handle_t shell_listview;
4455 user_handle_t progman_window;
4456 user_handle_t taskman_window;
4458 struct set_global_windows_reply
4460 struct reply_header __header;
4461 user_handle_t old_shell_window;
4462 user_handle_t old_shell_listview;
4463 user_handle_t old_progman_window;
4464 user_handle_t old_taskman_window;
4466 #define SET_GLOBAL_SHELL_WINDOWS 0x01
4467 #define SET_GLOBAL_PROGMAN_WINDOW 0x02
4468 #define SET_GLOBAL_TASKMAN_WINDOW 0x04
4471 struct adjust_token_privileges_request
4473 struct request_header __header;
4474 obj_handle_t handle;
4475 int disable_all;
4476 int get_modified_state;
4477 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4479 struct adjust_token_privileges_reply
4481 struct reply_header __header;
4482 unsigned int len;
4483 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4484 char __pad_12[4];
4488 struct get_token_privileges_request
4490 struct request_header __header;
4491 obj_handle_t handle;
4493 struct get_token_privileges_reply
4495 struct reply_header __header;
4496 unsigned int len;
4497 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4498 char __pad_12[4];
4502 struct check_token_privileges_request
4504 struct request_header __header;
4505 obj_handle_t handle;
4506 int all_required;
4507 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4508 char __pad_20[4];
4510 struct check_token_privileges_reply
4512 struct reply_header __header;
4513 int has_privileges;
4514 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4515 char __pad_12[4];
4518 struct duplicate_token_request
4520 struct request_header __header;
4521 obj_handle_t handle;
4522 unsigned int access;
4523 unsigned int attributes;
4524 int primary;
4525 int impersonation_level;
4527 struct duplicate_token_reply
4529 struct reply_header __header;
4530 obj_handle_t new_handle;
4531 char __pad_12[4];
4534 struct access_check_request
4536 struct request_header __header;
4537 obj_handle_t handle;
4538 unsigned int desired_access;
4539 unsigned int mapping_read;
4540 unsigned int mapping_write;
4541 unsigned int mapping_execute;
4542 unsigned int mapping_all;
4543 /* VARARG(sd,security_descriptor); */
4544 char __pad_36[4];
4546 struct access_check_reply
4548 struct reply_header __header;
4549 unsigned int access_granted;
4550 unsigned int access_status;
4551 unsigned int privileges_len;
4552 /* VARARG(privileges,LUID_AND_ATTRIBUTES); */
4553 char __pad_20[4];
4556 struct get_token_sid_request
4558 struct request_header __header;
4559 obj_handle_t handle;
4560 unsigned int which_sid;
4561 char __pad_20[4];
4563 struct get_token_sid_reply
4565 struct reply_header __header;
4566 data_size_t sid_len;
4567 /* VARARG(sid,SID); */
4568 char __pad_12[4];
4571 struct get_token_groups_request
4573 struct request_header __header;
4574 obj_handle_t handle;
4576 struct get_token_groups_reply
4578 struct reply_header __header;
4579 data_size_t user_len;
4580 /* VARARG(user,token_groups); */
4581 char __pad_12[4];
4584 struct get_token_default_dacl_request
4586 struct request_header __header;
4587 obj_handle_t handle;
4589 struct get_token_default_dacl_reply
4591 struct reply_header __header;
4592 data_size_t acl_len;
4593 /* VARARG(acl,ACL); */
4594 char __pad_12[4];
4597 struct set_token_default_dacl_request
4599 struct request_header __header;
4600 obj_handle_t handle;
4601 /* VARARG(acl,ACL); */
4603 struct set_token_default_dacl_reply
4605 struct reply_header __header;
4608 struct set_security_object_request
4610 struct request_header __header;
4611 obj_handle_t handle;
4612 unsigned int security_info;
4613 /* VARARG(sd,security_descriptor); */
4614 char __pad_20[4];
4616 struct set_security_object_reply
4618 struct reply_header __header;
4621 struct get_security_object_request
4623 struct request_header __header;
4624 obj_handle_t handle;
4625 unsigned int security_info;
4626 char __pad_20[4];
4628 struct get_security_object_reply
4630 struct reply_header __header;
4631 unsigned int sd_len;
4632 /* VARARG(sd,security_descriptor); */
4633 char __pad_12[4];
4637 struct create_mailslot_request
4639 struct request_header __header;
4640 unsigned int access;
4641 unsigned int attributes;
4642 obj_handle_t rootdir;
4643 timeout_t read_timeout;
4644 unsigned int max_msgsize;
4645 /* VARARG(name,unicode_str); */
4646 char __pad_36[4];
4648 struct create_mailslot_reply
4650 struct reply_header __header;
4651 obj_handle_t handle;
4652 char __pad_12[4];
4657 struct set_mailslot_info_request
4659 struct request_header __header;
4660 obj_handle_t handle;
4661 timeout_t read_timeout;
4662 unsigned int flags;
4663 char __pad_28[4];
4665 struct set_mailslot_info_reply
4667 struct reply_header __header;
4668 timeout_t read_timeout;
4669 unsigned int max_msgsize;
4670 char __pad_20[4];
4672 #define MAILSLOT_SET_READ_TIMEOUT 1
4676 struct create_directory_request
4678 struct request_header __header;
4679 unsigned int access;
4680 unsigned int attributes;
4681 obj_handle_t rootdir;
4682 /* VARARG(directory_name,unicode_str); */
4684 struct create_directory_reply
4686 struct reply_header __header;
4687 obj_handle_t handle;
4688 char __pad_12[4];
4693 struct open_directory_request
4695 struct request_header __header;
4696 unsigned int access;
4697 unsigned int attributes;
4698 obj_handle_t rootdir;
4699 /* VARARG(directory_name,unicode_str); */
4701 struct open_directory_reply
4703 struct reply_header __header;
4704 obj_handle_t handle;
4705 char __pad_12[4];
4710 struct get_directory_entry_request
4712 struct request_header __header;
4713 obj_handle_t handle;
4714 unsigned int index;
4715 char __pad_20[4];
4717 struct get_directory_entry_reply
4719 struct reply_header __header;
4720 data_size_t name_len;
4721 /* VARARG(name,unicode_str,name_len); */
4722 /* VARARG(type,unicode_str); */
4723 char __pad_12[4];
4728 struct create_symlink_request
4730 struct request_header __header;
4731 unsigned int access;
4732 unsigned int attributes;
4733 obj_handle_t rootdir;
4734 data_size_t name_len;
4735 /* VARARG(name,unicode_str,name_len); */
4736 /* VARARG(target_name,unicode_str); */
4737 char __pad_28[4];
4739 struct create_symlink_reply
4741 struct reply_header __header;
4742 obj_handle_t handle;
4743 char __pad_12[4];
4748 struct open_symlink_request
4750 struct request_header __header;
4751 unsigned int access;
4752 unsigned int attributes;
4753 obj_handle_t rootdir;
4754 /* VARARG(name,unicode_str); */
4756 struct open_symlink_reply
4758 struct reply_header __header;
4759 obj_handle_t handle;
4760 char __pad_12[4];
4765 struct query_symlink_request
4767 struct request_header __header;
4768 obj_handle_t handle;
4770 struct query_symlink_reply
4772 struct reply_header __header;
4773 data_size_t total;
4774 /* VARARG(target_name,unicode_str); */
4775 char __pad_12[4];
4780 struct get_object_info_request
4782 struct request_header __header;
4783 obj_handle_t handle;
4785 struct get_object_info_reply
4787 struct reply_header __header;
4788 unsigned int access;
4789 unsigned int ref_count;
4790 unsigned int handle_count;
4791 data_size_t total;
4792 /* VARARG(name,unicode_str); */
4797 struct get_object_type_request
4799 struct request_header __header;
4800 obj_handle_t handle;
4802 struct get_object_type_reply
4804 struct reply_header __header;
4805 data_size_t total;
4806 /* VARARG(type,unicode_str); */
4807 char __pad_12[4];
4812 struct unlink_object_request
4814 struct request_header __header;
4815 obj_handle_t handle;
4817 struct unlink_object_reply
4819 struct reply_header __header;
4824 struct get_token_impersonation_level_request
4826 struct request_header __header;
4827 obj_handle_t handle;
4829 struct get_token_impersonation_level_reply
4831 struct reply_header __header;
4832 int impersonation_level;
4833 char __pad_12[4];
4837 struct allocate_locally_unique_id_request
4839 struct request_header __header;
4840 char __pad_12[4];
4842 struct allocate_locally_unique_id_reply
4844 struct reply_header __header;
4845 luid_t luid;
4850 struct create_device_manager_request
4852 struct request_header __header;
4853 unsigned int access;
4854 unsigned int attributes;
4855 char __pad_20[4];
4857 struct create_device_manager_reply
4859 struct reply_header __header;
4860 obj_handle_t handle;
4861 char __pad_12[4];
4866 struct create_device_request
4868 struct request_header __header;
4869 unsigned int access;
4870 unsigned int attributes;
4871 obj_handle_t rootdir;
4872 client_ptr_t user_ptr;
4873 obj_handle_t manager;
4874 /* VARARG(name,unicode_str); */
4875 char __pad_36[4];
4877 struct create_device_reply
4879 struct reply_header __header;
4880 obj_handle_t handle;
4881 char __pad_12[4];
4886 struct delete_device_request
4888 struct request_header __header;
4889 obj_handle_t handle;
4891 struct delete_device_reply
4893 struct reply_header __header;
4898 struct get_next_device_request_request
4900 struct request_header __header;
4901 obj_handle_t manager;
4902 obj_handle_t prev;
4903 unsigned int status;
4905 struct get_next_device_request_reply
4907 struct reply_header __header;
4908 irp_params_t params;
4909 obj_handle_t next;
4910 process_id_t client_pid;
4911 thread_id_t client_tid;
4912 data_size_t in_size;
4913 data_size_t out_size;
4914 /* VARARG(next_data,bytes); */
4915 char __pad_52[4];
4920 struct make_process_system_request
4922 struct request_header __header;
4923 char __pad_12[4];
4925 struct make_process_system_reply
4927 struct reply_header __header;
4928 obj_handle_t event;
4929 char __pad_12[4];
4934 struct get_token_statistics_request
4936 struct request_header __header;
4937 obj_handle_t handle;
4939 struct get_token_statistics_reply
4941 struct reply_header __header;
4942 luid_t token_id;
4943 luid_t modified_id;
4944 int primary;
4945 int impersonation_level;
4946 int group_count;
4947 int privilege_count;
4952 struct create_completion_request
4954 struct request_header __header;
4955 unsigned int access;
4956 unsigned int attributes;
4957 unsigned int concurrent;
4958 obj_handle_t rootdir;
4959 /* VARARG(filename,unicode_str); */
4960 char __pad_28[4];
4962 struct create_completion_reply
4964 struct reply_header __header;
4965 obj_handle_t handle;
4966 char __pad_12[4];
4971 struct open_completion_request
4973 struct request_header __header;
4974 unsigned int access;
4975 unsigned int attributes;
4976 obj_handle_t rootdir;
4977 /* VARARG(filename,unicode_str); */
4979 struct open_completion_reply
4981 struct reply_header __header;
4982 obj_handle_t handle;
4983 char __pad_12[4];
4988 struct add_completion_request
4990 struct request_header __header;
4991 obj_handle_t handle;
4992 apc_param_t ckey;
4993 apc_param_t cvalue;
4994 apc_param_t information;
4995 unsigned int status;
4996 char __pad_44[4];
4998 struct add_completion_reply
5000 struct reply_header __header;
5005 struct remove_completion_request
5007 struct request_header __header;
5008 obj_handle_t handle;
5010 struct remove_completion_reply
5012 struct reply_header __header;
5013 apc_param_t ckey;
5014 apc_param_t cvalue;
5015 apc_param_t information;
5016 unsigned int status;
5017 char __pad_36[4];
5022 struct query_completion_request
5024 struct request_header __header;
5025 obj_handle_t handle;
5027 struct query_completion_reply
5029 struct reply_header __header;
5030 unsigned int depth;
5031 char __pad_12[4];
5036 struct set_completion_info_request
5038 struct request_header __header;
5039 obj_handle_t handle;
5040 apc_param_t ckey;
5041 obj_handle_t chandle;
5042 char __pad_28[4];
5044 struct set_completion_info_reply
5046 struct reply_header __header;
5051 struct add_fd_completion_request
5053 struct request_header __header;
5054 obj_handle_t handle;
5055 apc_param_t cvalue;
5056 apc_param_t information;
5057 unsigned int status;
5058 char __pad_36[4];
5060 struct add_fd_completion_reply
5062 struct reply_header __header;
5067 struct get_window_layered_info_request
5069 struct request_header __header;
5070 user_handle_t handle;
5072 struct get_window_layered_info_reply
5074 struct reply_header __header;
5075 unsigned int color_key;
5076 unsigned int alpha;
5077 unsigned int flags;
5078 char __pad_20[4];
5083 struct set_window_layered_info_request
5085 struct request_header __header;
5086 user_handle_t handle;
5087 unsigned int color_key;
5088 unsigned int alpha;
5089 unsigned int flags;
5090 char __pad_28[4];
5092 struct set_window_layered_info_reply
5094 struct reply_header __header;
5099 struct alloc_user_handle_request
5101 struct request_header __header;
5102 char __pad_12[4];
5104 struct alloc_user_handle_reply
5106 struct reply_header __header;
5107 user_handle_t handle;
5108 char __pad_12[4];
5113 struct free_user_handle_request
5115 struct request_header __header;
5116 user_handle_t handle;
5118 struct free_user_handle_reply
5120 struct reply_header __header;
5125 struct set_cursor_request
5127 struct request_header __header;
5128 unsigned int flags;
5129 user_handle_t handle;
5130 int show_count;
5131 int x;
5132 int y;
5133 rectangle_t clip;
5134 unsigned int clip_msg;
5135 char __pad_52[4];
5137 struct set_cursor_reply
5139 struct reply_header __header;
5140 user_handle_t prev_handle;
5141 int prev_count;
5142 int prev_x;
5143 int prev_y;
5144 int new_x;
5145 int new_y;
5146 rectangle_t new_clip;
5147 unsigned int last_change;
5148 char __pad_52[4];
5150 #define SET_CURSOR_HANDLE 0x01
5151 #define SET_CURSOR_COUNT 0x02
5152 #define SET_CURSOR_POS 0x04
5153 #define SET_CURSOR_CLIP 0x08
5154 #define SET_CURSOR_NOCLIP 0x10
5158 struct update_rawinput_devices_request
5160 struct request_header __header;
5161 /* VARARG(devices,rawinput_devices); */
5162 char __pad_12[4];
5164 struct update_rawinput_devices_reply
5166 struct reply_header __header;
5171 struct get_suspend_context_request
5173 struct request_header __header;
5174 char __pad_12[4];
5176 struct get_suspend_context_reply
5178 struct reply_header __header;
5179 /* VARARG(context,context); */
5184 struct set_suspend_context_request
5186 struct request_header __header;
5187 /* VARARG(context,context); */
5188 char __pad_12[4];
5190 struct set_suspend_context_reply
5192 struct reply_header __header;
5197 struct create_job_request
5199 struct request_header __header;
5200 unsigned int access;
5201 unsigned int attributes;
5202 /* VARARG(objattr,object_attributes); */
5203 char __pad_20[4];
5205 struct create_job_reply
5207 struct reply_header __header;
5208 obj_handle_t handle;
5209 char __pad_12[4];
5214 struct assign_job_request
5216 struct request_header __header;
5217 obj_handle_t job;
5218 obj_handle_t process;
5219 char __pad_20[4];
5221 struct assign_job_reply
5223 struct reply_header __header;
5228 struct process_in_job_request
5230 struct request_header __header;
5231 obj_handle_t job;
5232 obj_handle_t process;
5233 char __pad_20[4];
5235 struct process_in_job_reply
5237 struct reply_header __header;
5242 struct set_job_limits_request
5244 struct request_header __header;
5245 obj_handle_t handle;
5246 unsigned int limit_flags;
5247 char __pad_20[4];
5249 struct set_job_limits_reply
5251 struct reply_header __header;
5256 struct set_job_completion_port_request
5258 struct request_header __header;
5259 obj_handle_t job;
5260 obj_handle_t port;
5261 char __pad_20[4];
5262 client_ptr_t key;
5264 struct set_job_completion_port_reply
5266 struct reply_header __header;
5271 struct terminate_job_request
5273 struct request_header __header;
5274 obj_handle_t handle;
5275 int status;
5276 char __pad_20[4];
5278 struct terminate_job_reply
5280 struct reply_header __header;
5284 enum request
5286 REQ_new_process,
5287 REQ_get_new_process_info,
5288 REQ_new_thread,
5289 REQ_get_startup_info,
5290 REQ_init_process_done,
5291 REQ_init_thread,
5292 REQ_terminate_process,
5293 REQ_terminate_thread,
5294 REQ_get_process_info,
5295 REQ_set_process_info,
5296 REQ_get_thread_info,
5297 REQ_set_thread_info,
5298 REQ_get_dll_info,
5299 REQ_suspend_thread,
5300 REQ_resume_thread,
5301 REQ_load_dll,
5302 REQ_unload_dll,
5303 REQ_queue_apc,
5304 REQ_get_apc_result,
5305 REQ_close_handle,
5306 REQ_set_handle_info,
5307 REQ_dup_handle,
5308 REQ_open_process,
5309 REQ_open_thread,
5310 REQ_select,
5311 REQ_create_event,
5312 REQ_event_op,
5313 REQ_query_event,
5314 REQ_open_event,
5315 REQ_create_keyed_event,
5316 REQ_open_keyed_event,
5317 REQ_create_mutex,
5318 REQ_release_mutex,
5319 REQ_open_mutex,
5320 REQ_create_semaphore,
5321 REQ_release_semaphore,
5322 REQ_query_semaphore,
5323 REQ_open_semaphore,
5324 REQ_create_file,
5325 REQ_open_file_object,
5326 REQ_alloc_file_handle,
5327 REQ_get_handle_unix_name,
5328 REQ_get_handle_fd,
5329 REQ_flush,
5330 REQ_lock_file,
5331 REQ_unlock_file,
5332 REQ_create_socket,
5333 REQ_accept_socket,
5334 REQ_accept_into_socket,
5335 REQ_set_socket_event,
5336 REQ_get_socket_event,
5337 REQ_get_socket_info,
5338 REQ_enable_socket_event,
5339 REQ_set_socket_deferred,
5340 REQ_alloc_console,
5341 REQ_free_console,
5342 REQ_get_console_renderer_events,
5343 REQ_open_console,
5344 REQ_get_console_wait_event,
5345 REQ_get_console_mode,
5346 REQ_set_console_mode,
5347 REQ_set_console_input_info,
5348 REQ_get_console_input_info,
5349 REQ_append_console_input_history,
5350 REQ_get_console_input_history,
5351 REQ_create_console_output,
5352 REQ_set_console_output_info,
5353 REQ_get_console_output_info,
5354 REQ_write_console_input,
5355 REQ_read_console_input,
5356 REQ_write_console_output,
5357 REQ_fill_console_output,
5358 REQ_read_console_output,
5359 REQ_move_console_output,
5360 REQ_send_console_signal,
5361 REQ_read_directory_changes,
5362 REQ_read_change,
5363 REQ_create_mapping,
5364 REQ_open_mapping,
5365 REQ_get_mapping_info,
5366 REQ_get_mapping_committed_range,
5367 REQ_add_mapping_committed_range,
5368 REQ_create_snapshot,
5369 REQ_next_process,
5370 REQ_next_thread,
5371 REQ_wait_debug_event,
5372 REQ_queue_exception_event,
5373 REQ_get_exception_status,
5374 REQ_continue_debug_event,
5375 REQ_debug_process,
5376 REQ_debug_break,
5377 REQ_set_debugger_kill_on_exit,
5378 REQ_read_process_memory,
5379 REQ_write_process_memory,
5380 REQ_create_key,
5381 REQ_open_key,
5382 REQ_delete_key,
5383 REQ_flush_key,
5384 REQ_enum_key,
5385 REQ_set_key_value,
5386 REQ_get_key_value,
5387 REQ_enum_key_value,
5388 REQ_delete_key_value,
5389 REQ_load_registry,
5390 REQ_unload_registry,
5391 REQ_save_registry,
5392 REQ_set_registry_notification,
5393 REQ_create_timer,
5394 REQ_open_timer,
5395 REQ_set_timer,
5396 REQ_cancel_timer,
5397 REQ_get_timer_info,
5398 REQ_get_thread_context,
5399 REQ_set_thread_context,
5400 REQ_get_selector_entry,
5401 REQ_add_atom,
5402 REQ_delete_atom,
5403 REQ_find_atom,
5404 REQ_get_atom_information,
5405 REQ_set_atom_information,
5406 REQ_empty_atom_table,
5407 REQ_init_atom_table,
5408 REQ_get_msg_queue,
5409 REQ_set_queue_fd,
5410 REQ_set_queue_mask,
5411 REQ_get_queue_status,
5412 REQ_get_process_idle_event,
5413 REQ_send_message,
5414 REQ_post_quit_message,
5415 REQ_send_hardware_message,
5416 REQ_get_message,
5417 REQ_reply_message,
5418 REQ_accept_hardware_message,
5419 REQ_get_message_reply,
5420 REQ_set_win_timer,
5421 REQ_kill_win_timer,
5422 REQ_is_window_hung,
5423 REQ_get_serial_info,
5424 REQ_set_serial_info,
5425 REQ_register_async,
5426 REQ_cancel_async,
5427 REQ_read,
5428 REQ_write,
5429 REQ_ioctl,
5430 REQ_set_irp_result,
5431 REQ_get_irp_result,
5432 REQ_create_named_pipe,
5433 REQ_get_named_pipe_info,
5434 REQ_set_named_pipe_info,
5435 REQ_create_window,
5436 REQ_destroy_window,
5437 REQ_get_desktop_window,
5438 REQ_set_window_owner,
5439 REQ_get_window_info,
5440 REQ_set_window_info,
5441 REQ_set_parent,
5442 REQ_get_window_parents,
5443 REQ_get_window_children,
5444 REQ_get_window_children_from_point,
5445 REQ_get_window_tree,
5446 REQ_set_window_pos,
5447 REQ_get_window_rectangles,
5448 REQ_get_window_text,
5449 REQ_set_window_text,
5450 REQ_get_windows_offset,
5451 REQ_get_visible_region,
5452 REQ_get_surface_region,
5453 REQ_get_window_region,
5454 REQ_set_window_region,
5455 REQ_get_update_region,
5456 REQ_update_window_zorder,
5457 REQ_redraw_window,
5458 REQ_set_window_property,
5459 REQ_remove_window_property,
5460 REQ_get_window_property,
5461 REQ_get_window_properties,
5462 REQ_create_winstation,
5463 REQ_open_winstation,
5464 REQ_close_winstation,
5465 REQ_get_process_winstation,
5466 REQ_set_process_winstation,
5467 REQ_enum_winstation,
5468 REQ_create_desktop,
5469 REQ_open_desktop,
5470 REQ_open_input_desktop,
5471 REQ_close_desktop,
5472 REQ_get_thread_desktop,
5473 REQ_set_thread_desktop,
5474 REQ_enum_desktop,
5475 REQ_set_user_object_info,
5476 REQ_register_hotkey,
5477 REQ_unregister_hotkey,
5478 REQ_attach_thread_input,
5479 REQ_get_thread_input,
5480 REQ_get_last_input_time,
5481 REQ_get_key_state,
5482 REQ_set_key_state,
5483 REQ_set_foreground_window,
5484 REQ_set_focus_window,
5485 REQ_set_active_window,
5486 REQ_set_capture_window,
5487 REQ_set_caret_window,
5488 REQ_set_caret_info,
5489 REQ_set_hook,
5490 REQ_remove_hook,
5491 REQ_start_hook_chain,
5492 REQ_finish_hook_chain,
5493 REQ_get_hook_info,
5494 REQ_create_class,
5495 REQ_destroy_class,
5496 REQ_set_class_info,
5497 REQ_set_clipboard_info,
5498 REQ_empty_clipboard,
5499 REQ_open_token,
5500 REQ_set_global_windows,
5501 REQ_adjust_token_privileges,
5502 REQ_get_token_privileges,
5503 REQ_check_token_privileges,
5504 REQ_duplicate_token,
5505 REQ_access_check,
5506 REQ_get_token_sid,
5507 REQ_get_token_groups,
5508 REQ_get_token_default_dacl,
5509 REQ_set_token_default_dacl,
5510 REQ_set_security_object,
5511 REQ_get_security_object,
5512 REQ_create_mailslot,
5513 REQ_set_mailslot_info,
5514 REQ_create_directory,
5515 REQ_open_directory,
5516 REQ_get_directory_entry,
5517 REQ_create_symlink,
5518 REQ_open_symlink,
5519 REQ_query_symlink,
5520 REQ_get_object_info,
5521 REQ_get_object_type,
5522 REQ_unlink_object,
5523 REQ_get_token_impersonation_level,
5524 REQ_allocate_locally_unique_id,
5525 REQ_create_device_manager,
5526 REQ_create_device,
5527 REQ_delete_device,
5528 REQ_get_next_device_request,
5529 REQ_make_process_system,
5530 REQ_get_token_statistics,
5531 REQ_create_completion,
5532 REQ_open_completion,
5533 REQ_add_completion,
5534 REQ_remove_completion,
5535 REQ_query_completion,
5536 REQ_set_completion_info,
5537 REQ_add_fd_completion,
5538 REQ_get_window_layered_info,
5539 REQ_set_window_layered_info,
5540 REQ_alloc_user_handle,
5541 REQ_free_user_handle,
5542 REQ_set_cursor,
5543 REQ_update_rawinput_devices,
5544 REQ_get_suspend_context,
5545 REQ_set_suspend_context,
5546 REQ_create_job,
5547 REQ_assign_job,
5548 REQ_process_in_job,
5549 REQ_set_job_limits,
5550 REQ_set_job_completion_port,
5551 REQ_terminate_job,
5552 REQ_NB_REQUESTS
5555 union generic_request
5557 struct request_max_size max_size;
5558 struct request_header request_header;
5559 struct new_process_request new_process_request;
5560 struct get_new_process_info_request get_new_process_info_request;
5561 struct new_thread_request new_thread_request;
5562 struct get_startup_info_request get_startup_info_request;
5563 struct init_process_done_request init_process_done_request;
5564 struct init_thread_request init_thread_request;
5565 struct terminate_process_request terminate_process_request;
5566 struct terminate_thread_request terminate_thread_request;
5567 struct get_process_info_request get_process_info_request;
5568 struct set_process_info_request set_process_info_request;
5569 struct get_thread_info_request get_thread_info_request;
5570 struct set_thread_info_request set_thread_info_request;
5571 struct get_dll_info_request get_dll_info_request;
5572 struct suspend_thread_request suspend_thread_request;
5573 struct resume_thread_request resume_thread_request;
5574 struct load_dll_request load_dll_request;
5575 struct unload_dll_request unload_dll_request;
5576 struct queue_apc_request queue_apc_request;
5577 struct get_apc_result_request get_apc_result_request;
5578 struct close_handle_request close_handle_request;
5579 struct set_handle_info_request set_handle_info_request;
5580 struct dup_handle_request dup_handle_request;
5581 struct open_process_request open_process_request;
5582 struct open_thread_request open_thread_request;
5583 struct select_request select_request;
5584 struct create_event_request create_event_request;
5585 struct event_op_request event_op_request;
5586 struct query_event_request query_event_request;
5587 struct open_event_request open_event_request;
5588 struct create_keyed_event_request create_keyed_event_request;
5589 struct open_keyed_event_request open_keyed_event_request;
5590 struct create_mutex_request create_mutex_request;
5591 struct release_mutex_request release_mutex_request;
5592 struct open_mutex_request open_mutex_request;
5593 struct create_semaphore_request create_semaphore_request;
5594 struct release_semaphore_request release_semaphore_request;
5595 struct query_semaphore_request query_semaphore_request;
5596 struct open_semaphore_request open_semaphore_request;
5597 struct create_file_request create_file_request;
5598 struct open_file_object_request open_file_object_request;
5599 struct alloc_file_handle_request alloc_file_handle_request;
5600 struct get_handle_unix_name_request get_handle_unix_name_request;
5601 struct get_handle_fd_request get_handle_fd_request;
5602 struct flush_request flush_request;
5603 struct lock_file_request lock_file_request;
5604 struct unlock_file_request unlock_file_request;
5605 struct create_socket_request create_socket_request;
5606 struct accept_socket_request accept_socket_request;
5607 struct accept_into_socket_request accept_into_socket_request;
5608 struct set_socket_event_request set_socket_event_request;
5609 struct get_socket_event_request get_socket_event_request;
5610 struct get_socket_info_request get_socket_info_request;
5611 struct enable_socket_event_request enable_socket_event_request;
5612 struct set_socket_deferred_request set_socket_deferred_request;
5613 struct alloc_console_request alloc_console_request;
5614 struct free_console_request free_console_request;
5615 struct get_console_renderer_events_request get_console_renderer_events_request;
5616 struct open_console_request open_console_request;
5617 struct get_console_wait_event_request get_console_wait_event_request;
5618 struct get_console_mode_request get_console_mode_request;
5619 struct set_console_mode_request set_console_mode_request;
5620 struct set_console_input_info_request set_console_input_info_request;
5621 struct get_console_input_info_request get_console_input_info_request;
5622 struct append_console_input_history_request append_console_input_history_request;
5623 struct get_console_input_history_request get_console_input_history_request;
5624 struct create_console_output_request create_console_output_request;
5625 struct set_console_output_info_request set_console_output_info_request;
5626 struct get_console_output_info_request get_console_output_info_request;
5627 struct write_console_input_request write_console_input_request;
5628 struct read_console_input_request read_console_input_request;
5629 struct write_console_output_request write_console_output_request;
5630 struct fill_console_output_request fill_console_output_request;
5631 struct read_console_output_request read_console_output_request;
5632 struct move_console_output_request move_console_output_request;
5633 struct send_console_signal_request send_console_signal_request;
5634 struct read_directory_changes_request read_directory_changes_request;
5635 struct read_change_request read_change_request;
5636 struct create_mapping_request create_mapping_request;
5637 struct open_mapping_request open_mapping_request;
5638 struct get_mapping_info_request get_mapping_info_request;
5639 struct get_mapping_committed_range_request get_mapping_committed_range_request;
5640 struct add_mapping_committed_range_request add_mapping_committed_range_request;
5641 struct create_snapshot_request create_snapshot_request;
5642 struct next_process_request next_process_request;
5643 struct next_thread_request next_thread_request;
5644 struct wait_debug_event_request wait_debug_event_request;
5645 struct queue_exception_event_request queue_exception_event_request;
5646 struct get_exception_status_request get_exception_status_request;
5647 struct continue_debug_event_request continue_debug_event_request;
5648 struct debug_process_request debug_process_request;
5649 struct debug_break_request debug_break_request;
5650 struct set_debugger_kill_on_exit_request set_debugger_kill_on_exit_request;
5651 struct read_process_memory_request read_process_memory_request;
5652 struct write_process_memory_request write_process_memory_request;
5653 struct create_key_request create_key_request;
5654 struct open_key_request open_key_request;
5655 struct delete_key_request delete_key_request;
5656 struct flush_key_request flush_key_request;
5657 struct enum_key_request enum_key_request;
5658 struct set_key_value_request set_key_value_request;
5659 struct get_key_value_request get_key_value_request;
5660 struct enum_key_value_request enum_key_value_request;
5661 struct delete_key_value_request delete_key_value_request;
5662 struct load_registry_request load_registry_request;
5663 struct unload_registry_request unload_registry_request;
5664 struct save_registry_request save_registry_request;
5665 struct set_registry_notification_request set_registry_notification_request;
5666 struct create_timer_request create_timer_request;
5667 struct open_timer_request open_timer_request;
5668 struct set_timer_request set_timer_request;
5669 struct cancel_timer_request cancel_timer_request;
5670 struct get_timer_info_request get_timer_info_request;
5671 struct get_thread_context_request get_thread_context_request;
5672 struct set_thread_context_request set_thread_context_request;
5673 struct get_selector_entry_request get_selector_entry_request;
5674 struct add_atom_request add_atom_request;
5675 struct delete_atom_request delete_atom_request;
5676 struct find_atom_request find_atom_request;
5677 struct get_atom_information_request get_atom_information_request;
5678 struct set_atom_information_request set_atom_information_request;
5679 struct empty_atom_table_request empty_atom_table_request;
5680 struct init_atom_table_request init_atom_table_request;
5681 struct get_msg_queue_request get_msg_queue_request;
5682 struct set_queue_fd_request set_queue_fd_request;
5683 struct set_queue_mask_request set_queue_mask_request;
5684 struct get_queue_status_request get_queue_status_request;
5685 struct get_process_idle_event_request get_process_idle_event_request;
5686 struct send_message_request send_message_request;
5687 struct post_quit_message_request post_quit_message_request;
5688 struct send_hardware_message_request send_hardware_message_request;
5689 struct get_message_request get_message_request;
5690 struct reply_message_request reply_message_request;
5691 struct accept_hardware_message_request accept_hardware_message_request;
5692 struct get_message_reply_request get_message_reply_request;
5693 struct set_win_timer_request set_win_timer_request;
5694 struct kill_win_timer_request kill_win_timer_request;
5695 struct is_window_hung_request is_window_hung_request;
5696 struct get_serial_info_request get_serial_info_request;
5697 struct set_serial_info_request set_serial_info_request;
5698 struct register_async_request register_async_request;
5699 struct cancel_async_request cancel_async_request;
5700 struct read_request read_request;
5701 struct write_request write_request;
5702 struct ioctl_request ioctl_request;
5703 struct set_irp_result_request set_irp_result_request;
5704 struct get_irp_result_request get_irp_result_request;
5705 struct create_named_pipe_request create_named_pipe_request;
5706 struct get_named_pipe_info_request get_named_pipe_info_request;
5707 struct set_named_pipe_info_request set_named_pipe_info_request;
5708 struct create_window_request create_window_request;
5709 struct destroy_window_request destroy_window_request;
5710 struct get_desktop_window_request get_desktop_window_request;
5711 struct set_window_owner_request set_window_owner_request;
5712 struct get_window_info_request get_window_info_request;
5713 struct set_window_info_request set_window_info_request;
5714 struct set_parent_request set_parent_request;
5715 struct get_window_parents_request get_window_parents_request;
5716 struct get_window_children_request get_window_children_request;
5717 struct get_window_children_from_point_request get_window_children_from_point_request;
5718 struct get_window_tree_request get_window_tree_request;
5719 struct set_window_pos_request set_window_pos_request;
5720 struct get_window_rectangles_request get_window_rectangles_request;
5721 struct get_window_text_request get_window_text_request;
5722 struct set_window_text_request set_window_text_request;
5723 struct get_windows_offset_request get_windows_offset_request;
5724 struct get_visible_region_request get_visible_region_request;
5725 struct get_surface_region_request get_surface_region_request;
5726 struct get_window_region_request get_window_region_request;
5727 struct set_window_region_request set_window_region_request;
5728 struct get_update_region_request get_update_region_request;
5729 struct update_window_zorder_request update_window_zorder_request;
5730 struct redraw_window_request redraw_window_request;
5731 struct set_window_property_request set_window_property_request;
5732 struct remove_window_property_request remove_window_property_request;
5733 struct get_window_property_request get_window_property_request;
5734 struct get_window_properties_request get_window_properties_request;
5735 struct create_winstation_request create_winstation_request;
5736 struct open_winstation_request open_winstation_request;
5737 struct close_winstation_request close_winstation_request;
5738 struct get_process_winstation_request get_process_winstation_request;
5739 struct set_process_winstation_request set_process_winstation_request;
5740 struct enum_winstation_request enum_winstation_request;
5741 struct create_desktop_request create_desktop_request;
5742 struct open_desktop_request open_desktop_request;
5743 struct open_input_desktop_request open_input_desktop_request;
5744 struct close_desktop_request close_desktop_request;
5745 struct get_thread_desktop_request get_thread_desktop_request;
5746 struct set_thread_desktop_request set_thread_desktop_request;
5747 struct enum_desktop_request enum_desktop_request;
5748 struct set_user_object_info_request set_user_object_info_request;
5749 struct register_hotkey_request register_hotkey_request;
5750 struct unregister_hotkey_request unregister_hotkey_request;
5751 struct attach_thread_input_request attach_thread_input_request;
5752 struct get_thread_input_request get_thread_input_request;
5753 struct get_last_input_time_request get_last_input_time_request;
5754 struct get_key_state_request get_key_state_request;
5755 struct set_key_state_request set_key_state_request;
5756 struct set_foreground_window_request set_foreground_window_request;
5757 struct set_focus_window_request set_focus_window_request;
5758 struct set_active_window_request set_active_window_request;
5759 struct set_capture_window_request set_capture_window_request;
5760 struct set_caret_window_request set_caret_window_request;
5761 struct set_caret_info_request set_caret_info_request;
5762 struct set_hook_request set_hook_request;
5763 struct remove_hook_request remove_hook_request;
5764 struct start_hook_chain_request start_hook_chain_request;
5765 struct finish_hook_chain_request finish_hook_chain_request;
5766 struct get_hook_info_request get_hook_info_request;
5767 struct create_class_request create_class_request;
5768 struct destroy_class_request destroy_class_request;
5769 struct set_class_info_request set_class_info_request;
5770 struct set_clipboard_info_request set_clipboard_info_request;
5771 struct empty_clipboard_request empty_clipboard_request;
5772 struct open_token_request open_token_request;
5773 struct set_global_windows_request set_global_windows_request;
5774 struct adjust_token_privileges_request adjust_token_privileges_request;
5775 struct get_token_privileges_request get_token_privileges_request;
5776 struct check_token_privileges_request check_token_privileges_request;
5777 struct duplicate_token_request duplicate_token_request;
5778 struct access_check_request access_check_request;
5779 struct get_token_sid_request get_token_sid_request;
5780 struct get_token_groups_request get_token_groups_request;
5781 struct get_token_default_dacl_request get_token_default_dacl_request;
5782 struct set_token_default_dacl_request set_token_default_dacl_request;
5783 struct set_security_object_request set_security_object_request;
5784 struct get_security_object_request get_security_object_request;
5785 struct create_mailslot_request create_mailslot_request;
5786 struct set_mailslot_info_request set_mailslot_info_request;
5787 struct create_directory_request create_directory_request;
5788 struct open_directory_request open_directory_request;
5789 struct get_directory_entry_request get_directory_entry_request;
5790 struct create_symlink_request create_symlink_request;
5791 struct open_symlink_request open_symlink_request;
5792 struct query_symlink_request query_symlink_request;
5793 struct get_object_info_request get_object_info_request;
5794 struct get_object_type_request get_object_type_request;
5795 struct unlink_object_request unlink_object_request;
5796 struct get_token_impersonation_level_request get_token_impersonation_level_request;
5797 struct allocate_locally_unique_id_request allocate_locally_unique_id_request;
5798 struct create_device_manager_request create_device_manager_request;
5799 struct create_device_request create_device_request;
5800 struct delete_device_request delete_device_request;
5801 struct get_next_device_request_request get_next_device_request_request;
5802 struct make_process_system_request make_process_system_request;
5803 struct get_token_statistics_request get_token_statistics_request;
5804 struct create_completion_request create_completion_request;
5805 struct open_completion_request open_completion_request;
5806 struct add_completion_request add_completion_request;
5807 struct remove_completion_request remove_completion_request;
5808 struct query_completion_request query_completion_request;
5809 struct set_completion_info_request set_completion_info_request;
5810 struct add_fd_completion_request add_fd_completion_request;
5811 struct get_window_layered_info_request get_window_layered_info_request;
5812 struct set_window_layered_info_request set_window_layered_info_request;
5813 struct alloc_user_handle_request alloc_user_handle_request;
5814 struct free_user_handle_request free_user_handle_request;
5815 struct set_cursor_request set_cursor_request;
5816 struct update_rawinput_devices_request update_rawinput_devices_request;
5817 struct get_suspend_context_request get_suspend_context_request;
5818 struct set_suspend_context_request set_suspend_context_request;
5819 struct create_job_request create_job_request;
5820 struct assign_job_request assign_job_request;
5821 struct process_in_job_request process_in_job_request;
5822 struct set_job_limits_request set_job_limits_request;
5823 struct set_job_completion_port_request set_job_completion_port_request;
5824 struct terminate_job_request terminate_job_request;
5826 union generic_reply
5828 struct request_max_size max_size;
5829 struct reply_header reply_header;
5830 struct new_process_reply new_process_reply;
5831 struct get_new_process_info_reply get_new_process_info_reply;
5832 struct new_thread_reply new_thread_reply;
5833 struct get_startup_info_reply get_startup_info_reply;
5834 struct init_process_done_reply init_process_done_reply;
5835 struct init_thread_reply init_thread_reply;
5836 struct terminate_process_reply terminate_process_reply;
5837 struct terminate_thread_reply terminate_thread_reply;
5838 struct get_process_info_reply get_process_info_reply;
5839 struct set_process_info_reply set_process_info_reply;
5840 struct get_thread_info_reply get_thread_info_reply;
5841 struct set_thread_info_reply set_thread_info_reply;
5842 struct get_dll_info_reply get_dll_info_reply;
5843 struct suspend_thread_reply suspend_thread_reply;
5844 struct resume_thread_reply resume_thread_reply;
5845 struct load_dll_reply load_dll_reply;
5846 struct unload_dll_reply unload_dll_reply;
5847 struct queue_apc_reply queue_apc_reply;
5848 struct get_apc_result_reply get_apc_result_reply;
5849 struct close_handle_reply close_handle_reply;
5850 struct set_handle_info_reply set_handle_info_reply;
5851 struct dup_handle_reply dup_handle_reply;
5852 struct open_process_reply open_process_reply;
5853 struct open_thread_reply open_thread_reply;
5854 struct select_reply select_reply;
5855 struct create_event_reply create_event_reply;
5856 struct event_op_reply event_op_reply;
5857 struct query_event_reply query_event_reply;
5858 struct open_event_reply open_event_reply;
5859 struct create_keyed_event_reply create_keyed_event_reply;
5860 struct open_keyed_event_reply open_keyed_event_reply;
5861 struct create_mutex_reply create_mutex_reply;
5862 struct release_mutex_reply release_mutex_reply;
5863 struct open_mutex_reply open_mutex_reply;
5864 struct create_semaphore_reply create_semaphore_reply;
5865 struct release_semaphore_reply release_semaphore_reply;
5866 struct query_semaphore_reply query_semaphore_reply;
5867 struct open_semaphore_reply open_semaphore_reply;
5868 struct create_file_reply create_file_reply;
5869 struct open_file_object_reply open_file_object_reply;
5870 struct alloc_file_handle_reply alloc_file_handle_reply;
5871 struct get_handle_unix_name_reply get_handle_unix_name_reply;
5872 struct get_handle_fd_reply get_handle_fd_reply;
5873 struct flush_reply flush_reply;
5874 struct lock_file_reply lock_file_reply;
5875 struct unlock_file_reply unlock_file_reply;
5876 struct create_socket_reply create_socket_reply;
5877 struct accept_socket_reply accept_socket_reply;
5878 struct accept_into_socket_reply accept_into_socket_reply;
5879 struct set_socket_event_reply set_socket_event_reply;
5880 struct get_socket_event_reply get_socket_event_reply;
5881 struct get_socket_info_reply get_socket_info_reply;
5882 struct enable_socket_event_reply enable_socket_event_reply;
5883 struct set_socket_deferred_reply set_socket_deferred_reply;
5884 struct alloc_console_reply alloc_console_reply;
5885 struct free_console_reply free_console_reply;
5886 struct get_console_renderer_events_reply get_console_renderer_events_reply;
5887 struct open_console_reply open_console_reply;
5888 struct get_console_wait_event_reply get_console_wait_event_reply;
5889 struct get_console_mode_reply get_console_mode_reply;
5890 struct set_console_mode_reply set_console_mode_reply;
5891 struct set_console_input_info_reply set_console_input_info_reply;
5892 struct get_console_input_info_reply get_console_input_info_reply;
5893 struct append_console_input_history_reply append_console_input_history_reply;
5894 struct get_console_input_history_reply get_console_input_history_reply;
5895 struct create_console_output_reply create_console_output_reply;
5896 struct set_console_output_info_reply set_console_output_info_reply;
5897 struct get_console_output_info_reply get_console_output_info_reply;
5898 struct write_console_input_reply write_console_input_reply;
5899 struct read_console_input_reply read_console_input_reply;
5900 struct write_console_output_reply write_console_output_reply;
5901 struct fill_console_output_reply fill_console_output_reply;
5902 struct read_console_output_reply read_console_output_reply;
5903 struct move_console_output_reply move_console_output_reply;
5904 struct send_console_signal_reply send_console_signal_reply;
5905 struct read_directory_changes_reply read_directory_changes_reply;
5906 struct read_change_reply read_change_reply;
5907 struct create_mapping_reply create_mapping_reply;
5908 struct open_mapping_reply open_mapping_reply;
5909 struct get_mapping_info_reply get_mapping_info_reply;
5910 struct get_mapping_committed_range_reply get_mapping_committed_range_reply;
5911 struct add_mapping_committed_range_reply add_mapping_committed_range_reply;
5912 struct create_snapshot_reply create_snapshot_reply;
5913 struct next_process_reply next_process_reply;
5914 struct next_thread_reply next_thread_reply;
5915 struct wait_debug_event_reply wait_debug_event_reply;
5916 struct queue_exception_event_reply queue_exception_event_reply;
5917 struct get_exception_status_reply get_exception_status_reply;
5918 struct continue_debug_event_reply continue_debug_event_reply;
5919 struct debug_process_reply debug_process_reply;
5920 struct debug_break_reply debug_break_reply;
5921 struct set_debugger_kill_on_exit_reply set_debugger_kill_on_exit_reply;
5922 struct read_process_memory_reply read_process_memory_reply;
5923 struct write_process_memory_reply write_process_memory_reply;
5924 struct create_key_reply create_key_reply;
5925 struct open_key_reply open_key_reply;
5926 struct delete_key_reply delete_key_reply;
5927 struct flush_key_reply flush_key_reply;
5928 struct enum_key_reply enum_key_reply;
5929 struct set_key_value_reply set_key_value_reply;
5930 struct get_key_value_reply get_key_value_reply;
5931 struct enum_key_value_reply enum_key_value_reply;
5932 struct delete_key_value_reply delete_key_value_reply;
5933 struct load_registry_reply load_registry_reply;
5934 struct unload_registry_reply unload_registry_reply;
5935 struct save_registry_reply save_registry_reply;
5936 struct set_registry_notification_reply set_registry_notification_reply;
5937 struct create_timer_reply create_timer_reply;
5938 struct open_timer_reply open_timer_reply;
5939 struct set_timer_reply set_timer_reply;
5940 struct cancel_timer_reply cancel_timer_reply;
5941 struct get_timer_info_reply get_timer_info_reply;
5942 struct get_thread_context_reply get_thread_context_reply;
5943 struct set_thread_context_reply set_thread_context_reply;
5944 struct get_selector_entry_reply get_selector_entry_reply;
5945 struct add_atom_reply add_atom_reply;
5946 struct delete_atom_reply delete_atom_reply;
5947 struct find_atom_reply find_atom_reply;
5948 struct get_atom_information_reply get_atom_information_reply;
5949 struct set_atom_information_reply set_atom_information_reply;
5950 struct empty_atom_table_reply empty_atom_table_reply;
5951 struct init_atom_table_reply init_atom_table_reply;
5952 struct get_msg_queue_reply get_msg_queue_reply;
5953 struct set_queue_fd_reply set_queue_fd_reply;
5954 struct set_queue_mask_reply set_queue_mask_reply;
5955 struct get_queue_status_reply get_queue_status_reply;
5956 struct get_process_idle_event_reply get_process_idle_event_reply;
5957 struct send_message_reply send_message_reply;
5958 struct post_quit_message_reply post_quit_message_reply;
5959 struct send_hardware_message_reply send_hardware_message_reply;
5960 struct get_message_reply get_message_reply;
5961 struct reply_message_reply reply_message_reply;
5962 struct accept_hardware_message_reply accept_hardware_message_reply;
5963 struct get_message_reply_reply get_message_reply_reply;
5964 struct set_win_timer_reply set_win_timer_reply;
5965 struct kill_win_timer_reply kill_win_timer_reply;
5966 struct is_window_hung_reply is_window_hung_reply;
5967 struct get_serial_info_reply get_serial_info_reply;
5968 struct set_serial_info_reply set_serial_info_reply;
5969 struct register_async_reply register_async_reply;
5970 struct cancel_async_reply cancel_async_reply;
5971 struct read_reply read_reply;
5972 struct write_reply write_reply;
5973 struct ioctl_reply ioctl_reply;
5974 struct set_irp_result_reply set_irp_result_reply;
5975 struct get_irp_result_reply get_irp_result_reply;
5976 struct create_named_pipe_reply create_named_pipe_reply;
5977 struct get_named_pipe_info_reply get_named_pipe_info_reply;
5978 struct set_named_pipe_info_reply set_named_pipe_info_reply;
5979 struct create_window_reply create_window_reply;
5980 struct destroy_window_reply destroy_window_reply;
5981 struct get_desktop_window_reply get_desktop_window_reply;
5982 struct set_window_owner_reply set_window_owner_reply;
5983 struct get_window_info_reply get_window_info_reply;
5984 struct set_window_info_reply set_window_info_reply;
5985 struct set_parent_reply set_parent_reply;
5986 struct get_window_parents_reply get_window_parents_reply;
5987 struct get_window_children_reply get_window_children_reply;
5988 struct get_window_children_from_point_reply get_window_children_from_point_reply;
5989 struct get_window_tree_reply get_window_tree_reply;
5990 struct set_window_pos_reply set_window_pos_reply;
5991 struct get_window_rectangles_reply get_window_rectangles_reply;
5992 struct get_window_text_reply get_window_text_reply;
5993 struct set_window_text_reply set_window_text_reply;
5994 struct get_windows_offset_reply get_windows_offset_reply;
5995 struct get_visible_region_reply get_visible_region_reply;
5996 struct get_surface_region_reply get_surface_region_reply;
5997 struct get_window_region_reply get_window_region_reply;
5998 struct set_window_region_reply set_window_region_reply;
5999 struct get_update_region_reply get_update_region_reply;
6000 struct update_window_zorder_reply update_window_zorder_reply;
6001 struct redraw_window_reply redraw_window_reply;
6002 struct set_window_property_reply set_window_property_reply;
6003 struct remove_window_property_reply remove_window_property_reply;
6004 struct get_window_property_reply get_window_property_reply;
6005 struct get_window_properties_reply get_window_properties_reply;
6006 struct create_winstation_reply create_winstation_reply;
6007 struct open_winstation_reply open_winstation_reply;
6008 struct close_winstation_reply close_winstation_reply;
6009 struct get_process_winstation_reply get_process_winstation_reply;
6010 struct set_process_winstation_reply set_process_winstation_reply;
6011 struct enum_winstation_reply enum_winstation_reply;
6012 struct create_desktop_reply create_desktop_reply;
6013 struct open_desktop_reply open_desktop_reply;
6014 struct open_input_desktop_reply open_input_desktop_reply;
6015 struct close_desktop_reply close_desktop_reply;
6016 struct get_thread_desktop_reply get_thread_desktop_reply;
6017 struct set_thread_desktop_reply set_thread_desktop_reply;
6018 struct enum_desktop_reply enum_desktop_reply;
6019 struct set_user_object_info_reply set_user_object_info_reply;
6020 struct register_hotkey_reply register_hotkey_reply;
6021 struct unregister_hotkey_reply unregister_hotkey_reply;
6022 struct attach_thread_input_reply attach_thread_input_reply;
6023 struct get_thread_input_reply get_thread_input_reply;
6024 struct get_last_input_time_reply get_last_input_time_reply;
6025 struct get_key_state_reply get_key_state_reply;
6026 struct set_key_state_reply set_key_state_reply;
6027 struct set_foreground_window_reply set_foreground_window_reply;
6028 struct set_focus_window_reply set_focus_window_reply;
6029 struct set_active_window_reply set_active_window_reply;
6030 struct set_capture_window_reply set_capture_window_reply;
6031 struct set_caret_window_reply set_caret_window_reply;
6032 struct set_caret_info_reply set_caret_info_reply;
6033 struct set_hook_reply set_hook_reply;
6034 struct remove_hook_reply remove_hook_reply;
6035 struct start_hook_chain_reply start_hook_chain_reply;
6036 struct finish_hook_chain_reply finish_hook_chain_reply;
6037 struct get_hook_info_reply get_hook_info_reply;
6038 struct create_class_reply create_class_reply;
6039 struct destroy_class_reply destroy_class_reply;
6040 struct set_class_info_reply set_class_info_reply;
6041 struct set_clipboard_info_reply set_clipboard_info_reply;
6042 struct empty_clipboard_reply empty_clipboard_reply;
6043 struct open_token_reply open_token_reply;
6044 struct set_global_windows_reply set_global_windows_reply;
6045 struct adjust_token_privileges_reply adjust_token_privileges_reply;
6046 struct get_token_privileges_reply get_token_privileges_reply;
6047 struct check_token_privileges_reply check_token_privileges_reply;
6048 struct duplicate_token_reply duplicate_token_reply;
6049 struct access_check_reply access_check_reply;
6050 struct get_token_sid_reply get_token_sid_reply;
6051 struct get_token_groups_reply get_token_groups_reply;
6052 struct get_token_default_dacl_reply get_token_default_dacl_reply;
6053 struct set_token_default_dacl_reply set_token_default_dacl_reply;
6054 struct set_security_object_reply set_security_object_reply;
6055 struct get_security_object_reply get_security_object_reply;
6056 struct create_mailslot_reply create_mailslot_reply;
6057 struct set_mailslot_info_reply set_mailslot_info_reply;
6058 struct create_directory_reply create_directory_reply;
6059 struct open_directory_reply open_directory_reply;
6060 struct get_directory_entry_reply get_directory_entry_reply;
6061 struct create_symlink_reply create_symlink_reply;
6062 struct open_symlink_reply open_symlink_reply;
6063 struct query_symlink_reply query_symlink_reply;
6064 struct get_object_info_reply get_object_info_reply;
6065 struct get_object_type_reply get_object_type_reply;
6066 struct unlink_object_reply unlink_object_reply;
6067 struct get_token_impersonation_level_reply get_token_impersonation_level_reply;
6068 struct allocate_locally_unique_id_reply allocate_locally_unique_id_reply;
6069 struct create_device_manager_reply create_device_manager_reply;
6070 struct create_device_reply create_device_reply;
6071 struct delete_device_reply delete_device_reply;
6072 struct get_next_device_request_reply get_next_device_request_reply;
6073 struct make_process_system_reply make_process_system_reply;
6074 struct get_token_statistics_reply get_token_statistics_reply;
6075 struct create_completion_reply create_completion_reply;
6076 struct open_completion_reply open_completion_reply;
6077 struct add_completion_reply add_completion_reply;
6078 struct remove_completion_reply remove_completion_reply;
6079 struct query_completion_reply query_completion_reply;
6080 struct set_completion_info_reply set_completion_info_reply;
6081 struct add_fd_completion_reply add_fd_completion_reply;
6082 struct get_window_layered_info_reply get_window_layered_info_reply;
6083 struct set_window_layered_info_reply set_window_layered_info_reply;
6084 struct alloc_user_handle_reply alloc_user_handle_reply;
6085 struct free_user_handle_reply free_user_handle_reply;
6086 struct set_cursor_reply set_cursor_reply;
6087 struct update_rawinput_devices_reply update_rawinput_devices_reply;
6088 struct get_suspend_context_reply get_suspend_context_reply;
6089 struct set_suspend_context_reply set_suspend_context_reply;
6090 struct create_job_reply create_job_reply;
6091 struct assign_job_reply assign_job_reply;
6092 struct process_in_job_reply process_in_job_reply;
6093 struct set_job_limits_reply set_job_limits_reply;
6094 struct set_job_completion_port_reply set_job_completion_port_reply;
6095 struct terminate_job_reply terminate_job_reply;
6098 #define SERVER_PROTOCOL_VERSION 479
6100 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */