Make ConnectNamedPipe work in overlapped mode.
[wine/wine-kai.git] / include / wine / server_protocol.h
blob41dba2ee446129423f3d4f433977244c15204558
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 <stdlib.h>
12 #include <time.h>
13 #include "winbase.h"
15 struct request_header
17 int req;
18 unsigned short var_offset;
19 unsigned short var_size;
20 unsigned int error;
23 struct reply_header
25 unsigned int error;
26 unsigned short var_offset;
27 unsigned short var_size;
32 struct request_max_size
34 int pad[16];
38 #define REQUEST_MAX_VAR_SIZE 1024
40 typedef int handle_t;
41 typedef unsigned short atom_t;
42 typedef unsigned int user_handle_t;
44 #define FIRST_USER_HANDLE 0x0020
45 #define LAST_USER_HANDLE 0xffef
49 struct debug_event_exception
51 EXCEPTION_RECORD record;
52 int first;
54 struct debug_event_create_thread
56 handle_t handle;
57 void *teb;
58 void *start;
60 struct debug_event_create_process
62 handle_t file;
63 handle_t process;
64 handle_t thread;
65 void *base;
66 int dbg_offset;
67 int dbg_size;
68 void *teb;
69 void *start;
70 void *name;
71 int unicode;
73 struct debug_event_exit
75 int exit_code;
77 struct debug_event_load_dll
79 handle_t handle;
80 void *base;
81 int dbg_offset;
82 int dbg_size;
83 void *name;
84 int unicode;
86 struct debug_event_unload_dll
88 void *base;
90 struct debug_event_output_string
92 void *string;
93 int unicode;
94 int length;
96 struct debug_event_rip_info
98 int error;
99 int type;
101 union debug_event_data
103 struct debug_event_exception exception;
104 struct debug_event_create_thread create_thread;
105 struct debug_event_create_process create_process;
106 struct debug_event_exit exit;
107 struct debug_event_load_dll load_dll;
108 struct debug_event_unload_dll unload_dll;
109 struct debug_event_output_string output_string;
110 struct debug_event_rip_info rip_info;
114 typedef struct
116 int code;
117 union debug_event_data info;
118 } debug_event_t;
121 struct send_fd
123 void *tid;
124 int fd;
128 struct wake_up_reply
130 void *cookie;
131 int signaled;
135 typedef struct
137 atom_t atom;
138 short string;
139 handle_t handle;
140 } property_data_t;
143 typedef struct
145 int left;
146 int top;
147 int right;
148 int bottom;
149 } rectangle_t;
155 struct new_process_request
157 struct request_header __header;
158 int inherit_all;
159 int create_flags;
160 int start_flags;
161 handle_t exe_file;
162 handle_t hstdin;
163 handle_t hstdout;
164 handle_t hstderr;
165 int cmd_show;
166 /* VARARG(filename,string); */
167 handle_t info;
172 struct get_new_process_info_request
174 struct request_header __header;
175 handle_t info;
176 int pinherit;
177 int tinherit;
178 void* pid;
179 handle_t phandle;
180 void* tid;
181 handle_t thandle;
182 handle_t event;
187 struct new_thread_request
189 struct request_header __header;
190 int suspend;
191 int inherit;
192 int request_fd;
193 void* tid;
194 handle_t handle;
199 struct boot_done_request
201 struct request_header __header;
202 int debug_level;
207 struct init_process_request
209 struct request_header __header;
210 void* ldt_copy;
211 int ppid;
212 int create_flags;
213 int start_flags;
214 unsigned int server_start;
215 handle_t exe_file;
216 handle_t hstdin;
217 handle_t hstdout;
218 handle_t hstderr;
219 int cmd_show;
220 /* VARARG(filename,string); */
225 struct init_process_done_request
227 struct request_header __header;
228 void* module;
229 void* entry;
230 void* name;
231 handle_t exe_file;
232 int gui;
233 int debugged;
238 struct init_thread_request
240 struct request_header __header;
241 int unix_pid;
242 void* teb;
243 void* entry;
244 int reply_fd;
245 int wait_fd;
246 void* pid;
247 void* tid;
248 int boot;
249 int version;
254 struct set_thread_buffer_request
256 struct request_header __header;
257 int fd;
258 unsigned int offset;
259 unsigned int size;
264 struct terminate_process_request
266 struct request_header __header;
267 handle_t handle;
268 int exit_code;
269 int self;
274 struct terminate_thread_request
276 struct request_header __header;
277 handle_t handle;
278 int exit_code;
279 int self;
280 int last;
285 struct get_process_info_request
287 struct request_header __header;
288 handle_t handle;
289 void* pid;
290 int debugged;
291 int exit_code;
292 int priority;
293 int process_affinity;
294 int system_affinity;
299 struct set_process_info_request
301 struct request_header __header;
302 handle_t handle;
303 int mask;
304 int priority;
305 int affinity;
307 #define SET_PROCESS_INFO_PRIORITY 0x01
308 #define SET_PROCESS_INFO_AFFINITY 0x02
312 struct get_thread_info_request
314 struct request_header __header;
315 handle_t handle;
316 void* tid_in;
317 void* tid;
318 void* teb;
319 int exit_code;
320 int priority;
325 struct set_thread_info_request
327 struct request_header __header;
328 handle_t handle;
329 int mask;
330 int priority;
331 int affinity;
333 #define SET_THREAD_INFO_PRIORITY 0x01
334 #define SET_THREAD_INFO_AFFINITY 0x02
338 struct suspend_thread_request
340 struct request_header __header;
341 handle_t handle;
342 int count;
347 struct resume_thread_request
349 struct request_header __header;
350 handle_t handle;
351 int count;
356 struct load_dll_request
358 struct request_header __header;
359 handle_t handle;
360 void* base;
361 int dbg_offset;
362 int dbg_size;
363 void* name;
368 struct unload_dll_request
370 struct request_header __header;
371 void* base;
376 struct queue_apc_request
378 struct request_header __header;
379 handle_t handle;
380 int user;
381 void* func;
382 void* param;
387 struct get_apc_request
389 struct request_header __header;
390 int alertable;
391 void* func;
392 int type;
393 /* VARARG(args,ptrs); */
395 enum apc_type { APC_NONE, APC_USER, APC_TIMER, APC_ASYNC };
399 struct close_handle_request
401 struct request_header __header;
402 handle_t handle;
403 int fd;
408 struct set_handle_info_request
410 struct request_header __header;
411 handle_t handle;
412 int flags;
413 int mask;
414 int fd;
415 int old_flags;
416 int cur_fd;
421 struct dup_handle_request
423 struct request_header __header;
424 handle_t src_process;
425 handle_t src_handle;
426 handle_t dst_process;
427 unsigned int access;
428 int inherit;
429 int options;
430 handle_t handle;
431 int fd;
433 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
434 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
435 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
439 struct open_process_request
441 struct request_header __header;
442 void* pid;
443 unsigned int access;
444 int inherit;
445 handle_t handle;
450 struct select_request
452 struct request_header __header;
453 int flags;
454 void* cookie;
455 int sec;
456 int usec;
457 /* VARARG(handles,handles); */
459 #define SELECT_ALL 1
460 #define SELECT_ALERTABLE 2
461 #define SELECT_INTERRUPTIBLE 4
462 #define SELECT_TIMEOUT 8
466 struct create_event_request
468 struct request_header __header;
469 int manual_reset;
470 int initial_state;
471 int inherit;
472 /* VARARG(name,unicode_str); */
473 handle_t handle;
477 struct event_op_request
479 struct request_header __header;
480 handle_t handle;
481 int op;
483 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
487 struct open_event_request
489 struct request_header __header;
490 unsigned int access;
491 int inherit;
492 /* VARARG(name,unicode_str); */
493 handle_t handle;
498 struct create_mutex_request
500 struct request_header __header;
501 int owned;
502 int inherit;
503 /* VARARG(name,unicode_str); */
504 handle_t handle;
509 struct release_mutex_request
511 struct request_header __header;
512 handle_t handle;
517 struct open_mutex_request
519 struct request_header __header;
520 unsigned int access;
521 int inherit;
522 /* VARARG(name,unicode_str); */
523 handle_t handle;
528 struct create_semaphore_request
530 struct request_header __header;
531 unsigned int initial;
532 unsigned int max;
533 int inherit;
534 /* VARARG(name,unicode_str); */
535 handle_t handle;
540 struct release_semaphore_request
542 struct request_header __header;
543 handle_t handle;
544 unsigned int count;
545 unsigned int prev_count;
550 struct open_semaphore_request
552 struct request_header __header;
553 unsigned int access;
554 int inherit;
555 /* VARARG(name,unicode_str); */
556 handle_t handle;
561 struct create_file_request
563 struct request_header __header;
564 unsigned int access;
565 int inherit;
566 unsigned int sharing;
567 int create;
568 unsigned int attrs;
569 int drive_type;
570 /* VARARG(filename,string); */
571 handle_t handle;
576 struct alloc_file_handle_request
578 struct request_header __header;
579 unsigned int access;
580 int fd;
581 handle_t handle;
586 struct get_handle_fd_request
588 struct request_header __header;
589 handle_t handle;
590 unsigned int access;
591 int fd;
592 int type;
594 #define FD_TYPE_INVALID 0
595 #define FD_TYPE_DEFAULT 1
596 #define FD_TYPE_CONSOLE 2
597 #define FD_TYPE_OVERLAPPED 3
598 #define FD_TYPE_TIMEOUT 4
602 struct set_file_pointer_request
604 struct request_header __header;
605 handle_t handle;
606 int low;
607 int high;
608 int whence;
609 int new_low;
610 int new_high;
615 struct truncate_file_request
617 struct request_header __header;
618 handle_t handle;
623 struct set_file_time_request
625 struct request_header __header;
626 handle_t handle;
627 time_t access_time;
628 time_t write_time;
633 struct flush_file_request
635 struct request_header __header;
636 handle_t handle;
641 struct get_file_info_request
643 struct request_header __header;
644 handle_t handle;
645 int type;
646 int attr;
647 time_t access_time;
648 time_t write_time;
649 int size_high;
650 int size_low;
651 int links;
652 int index_high;
653 int index_low;
654 unsigned int serial;
659 struct lock_file_request
661 struct request_header __header;
662 handle_t handle;
663 unsigned int offset_low;
664 unsigned int offset_high;
665 unsigned int count_low;
666 unsigned int count_high;
671 struct unlock_file_request
673 struct request_header __header;
674 handle_t handle;
675 unsigned int offset_low;
676 unsigned int offset_high;
677 unsigned int count_low;
678 unsigned int count_high;
683 struct create_pipe_request
685 struct request_header __header;
686 int inherit;
687 handle_t handle_read;
688 handle_t handle_write;
693 struct create_socket_request
695 struct request_header __header;
696 unsigned int access;
697 int inherit;
698 int family;
699 int type;
700 int protocol;
701 handle_t handle;
706 struct accept_socket_request
708 struct request_header __header;
709 handle_t lhandle;
710 unsigned int access;
711 int inherit;
712 handle_t handle;
717 struct set_socket_event_request
719 struct request_header __header;
720 handle_t handle;
721 unsigned int mask;
722 handle_t event;
727 struct get_socket_event_request
729 struct request_header __header;
730 handle_t handle;
731 int service;
732 handle_t s_event;
733 handle_t c_event;
734 unsigned int mask;
735 unsigned int pmask;
736 unsigned int state;
737 /* VARARG(errors,ints); */
742 struct enable_socket_event_request
744 struct request_header __header;
745 handle_t handle;
746 unsigned int mask;
747 unsigned int sstate;
748 unsigned int cstate;
753 struct alloc_console_request
755 struct request_header __header;
756 unsigned int access;
757 int inherit;
758 handle_t handle_in;
759 handle_t handle_out;
764 struct free_console_request
766 struct request_header __header;
771 struct open_console_request
773 struct request_header __header;
774 int output;
775 unsigned int access;
776 int inherit;
777 handle_t handle;
782 struct set_console_fd_request
784 struct request_header __header;
785 handle_t handle;
786 int fd_in;
787 int fd_out;
788 int pid;
793 struct get_console_mode_request
795 struct request_header __header;
796 handle_t handle;
797 int mode;
802 struct set_console_mode_request
804 struct request_header __header;
805 handle_t handle;
806 int mode;
811 struct set_console_info_request
813 struct request_header __header;
814 handle_t handle;
815 int mask;
816 int cursor_size;
817 int cursor_visible;
818 /* VARARG(title,string); */
820 #define SET_CONSOLE_INFO_CURSOR 0x01
821 #define SET_CONSOLE_INFO_TITLE 0x02
824 struct get_console_info_request
826 struct request_header __header;
827 handle_t handle;
828 int cursor_size;
829 int cursor_visible;
830 int pid;
831 /* VARARG(title,string); */
836 struct write_console_input_request
838 struct request_header __header;
839 handle_t handle;
840 /* VARARG(rec,input_records); */
841 int written;
845 struct read_console_input_request
847 struct request_header __header;
848 handle_t handle;
849 int flush;
850 int read;
851 /* VARARG(rec,input_records); */
856 struct create_change_notification_request
858 struct request_header __header;
859 int subtree;
860 int filter;
861 handle_t handle;
866 struct create_mapping_request
868 struct request_header __header;
869 int size_high;
870 int size_low;
871 int protect;
872 int inherit;
873 handle_t file_handle;
874 /* VARARG(name,unicode_str); */
875 handle_t handle;
878 #define VPROT_READ 0x01
879 #define VPROT_WRITE 0x02
880 #define VPROT_EXEC 0x04
881 #define VPROT_WRITECOPY 0x08
882 #define VPROT_GUARD 0x10
883 #define VPROT_NOCACHE 0x20
884 #define VPROT_COMMITTED 0x40
885 #define VPROT_IMAGE 0x80
889 struct open_mapping_request
891 struct request_header __header;
892 unsigned int access;
893 int inherit;
894 /* VARARG(name,unicode_str); */
895 handle_t handle;
900 struct get_mapping_info_request
902 struct request_header __header;
903 handle_t handle;
904 int size_high;
905 int size_low;
906 int protect;
907 int header_size;
908 void* base;
909 handle_t shared_file;
910 int shared_size;
911 int drive_type;
916 struct create_device_request
918 struct request_header __header;
919 unsigned int access;
920 int inherit;
921 int id;
922 handle_t handle;
927 struct create_snapshot_request
929 struct request_header __header;
930 int inherit;
931 int flags;
932 void* pid;
933 handle_t handle;
938 struct next_process_request
940 struct request_header __header;
941 handle_t handle;
942 int reset;
943 int count;
944 void* pid;
945 int threads;
946 int priority;
951 struct next_thread_request
953 struct request_header __header;
954 handle_t handle;
955 int reset;
956 int count;
957 void* pid;
958 void* tid;
959 int base_pri;
960 int delta_pri;
965 struct next_module_request
967 struct request_header __header;
968 handle_t handle;
969 int reset;
970 void* pid;
971 void* base;
976 struct wait_debug_event_request
978 struct request_header __header;
979 int get_handle;
980 void* pid;
981 void* tid;
982 handle_t wait;
983 /* VARARG(event,debug_event); */
988 struct queue_exception_event_request
990 struct request_header __header;
991 int first;
992 /* VARARG(record,exc_event); */
993 handle_t handle;
998 struct get_exception_status_request
1000 struct request_header __header;
1001 handle_t handle;
1002 int status;
1003 /* VARARG(context,context); */
1008 struct output_debug_string_request
1010 struct request_header __header;
1011 void* string;
1012 int unicode;
1013 int length;
1018 struct continue_debug_event_request
1020 struct request_header __header;
1021 void* pid;
1022 void* tid;
1023 int status;
1028 struct debug_process_request
1030 struct request_header __header;
1031 void* pid;
1036 struct read_process_memory_request
1038 struct request_header __header;
1039 handle_t handle;
1040 void* addr;
1041 int len;
1042 /* VARARG(data,bytes); */
1047 struct write_process_memory_request
1049 struct request_header __header;
1050 handle_t handle;
1051 void* addr;
1052 int len;
1053 unsigned int first_mask;
1054 unsigned int last_mask;
1055 /* VARARG(data,bytes); */
1060 struct create_key_request
1062 struct request_header __header;
1063 handle_t parent;
1064 unsigned int access;
1065 unsigned int options;
1066 time_t modif;
1067 /* VARARG(name,unicode_len_str); */
1068 /* VARARG(class,unicode_str); */
1069 handle_t hkey;
1070 int created;
1074 struct open_key_request
1076 struct request_header __header;
1077 handle_t parent;
1078 unsigned int access;
1079 /* VARARG(name,unicode_str); */
1080 handle_t hkey;
1085 struct delete_key_request
1087 struct request_header __header;
1088 handle_t hkey;
1093 struct enum_key_request
1095 struct request_header __header;
1096 handle_t hkey;
1097 int index;
1098 int full;
1099 int subkeys;
1100 int max_subkey;
1101 int max_class;
1102 int values;
1103 int max_value;
1104 int max_data;
1105 time_t modif;
1106 /* VARARG(name,unicode_len_str); */
1107 /* VARARG(class,unicode_str); */
1112 struct set_key_value_request
1114 struct request_header __header;
1115 handle_t hkey;
1116 int type;
1117 unsigned int total;
1118 unsigned int offset;
1119 /* VARARG(name,unicode_len_str); */
1120 /* VARARG(data,bytes); */
1125 struct get_key_value_request
1127 struct request_header __header;
1128 handle_t hkey;
1129 unsigned int offset;
1130 /* VARARG(name,unicode_len_str); */
1131 int type;
1132 int len;
1133 /* VARARG(data,bytes); */
1138 struct enum_key_value_request
1140 struct request_header __header;
1141 handle_t hkey;
1142 int index;
1143 unsigned int offset;
1144 int type;
1145 int len;
1146 /* VARARG(name,unicode_len_str); */
1147 /* VARARG(data,bytes); */
1152 struct delete_key_value_request
1154 struct request_header __header;
1155 handle_t hkey;
1156 /* VARARG(name,unicode_str); */
1161 struct load_registry_request
1163 struct request_header __header;
1164 handle_t hkey;
1165 handle_t file;
1166 /* VARARG(name,unicode_str); */
1171 struct save_registry_request
1173 struct request_header __header;
1174 handle_t hkey;
1175 handle_t file;
1180 struct save_registry_atexit_request
1182 struct request_header __header;
1183 handle_t hkey;
1184 /* VARARG(file,string); */
1189 struct set_registry_levels_request
1191 struct request_header __header;
1192 int current;
1193 int saving;
1194 int period;
1199 struct create_timer_request
1201 struct request_header __header;
1202 int inherit;
1203 int manual;
1204 /* VARARG(name,unicode_str); */
1205 handle_t handle;
1210 struct open_timer_request
1212 struct request_header __header;
1213 unsigned int access;
1214 int inherit;
1215 /* VARARG(name,unicode_str); */
1216 handle_t handle;
1220 struct set_timer_request
1222 struct request_header __header;
1223 handle_t handle;
1224 int sec;
1225 int usec;
1226 int period;
1227 void* callback;
1228 void* arg;
1232 struct cancel_timer_request
1234 struct request_header __header;
1235 handle_t handle;
1240 struct get_thread_context_request
1242 struct request_header __header;
1243 handle_t handle;
1244 unsigned int flags;
1245 /* VARARG(context,context); */
1250 struct set_thread_context_request
1252 struct request_header __header;
1253 handle_t handle;
1254 unsigned int flags;
1255 /* VARARG(context,context); */
1260 struct get_selector_entry_request
1262 struct request_header __header;
1263 handle_t handle;
1264 int entry;
1265 unsigned int base;
1266 unsigned int limit;
1267 unsigned char flags;
1272 struct add_atom_request
1274 struct request_header __header;
1275 int local;
1276 /* VARARG(name,unicode_str); */
1277 atom_t atom;
1282 struct delete_atom_request
1284 struct request_header __header;
1285 atom_t atom;
1286 int local;
1291 struct find_atom_request
1293 struct request_header __header;
1294 int local;
1295 /* VARARG(name,unicode_str); */
1296 atom_t atom;
1301 struct get_atom_name_request
1303 struct request_header __header;
1304 atom_t atom;
1305 int local;
1306 int count;
1307 /* VARARG(name,unicode_str); */
1312 struct init_atom_table_request
1314 struct request_header __header;
1315 int entries;
1320 struct get_msg_queue_request
1322 struct request_header __header;
1323 handle_t handle;
1328 struct inc_queue_paint_count_request
1330 struct request_header __header;
1331 void* id;
1332 int incr;
1337 struct set_queue_mask_request
1339 struct request_header __header;
1340 unsigned int wake_mask;
1341 unsigned int changed_mask;
1342 int skip_wait;
1343 unsigned int wake_bits;
1344 unsigned int changed_bits;
1349 struct get_queue_status_request
1351 struct request_header __header;
1352 int clear;
1353 unsigned int wake_bits;
1354 unsigned int changed_bits;
1359 struct wait_input_idle_request
1361 struct request_header __header;
1362 handle_t handle;
1363 int timeout;
1364 handle_t event;
1369 struct send_message_request
1371 struct request_header __header;
1372 void* id;
1373 int type;
1374 user_handle_t win;
1375 unsigned int msg;
1376 unsigned int wparam;
1377 unsigned int lparam;
1378 int x;
1379 int y;
1380 unsigned int time;
1381 unsigned int info;
1382 int timeout;
1383 /* VARARG(data,bytes); */
1386 enum message_type
1388 MSG_ASCII,
1389 MSG_UNICODE,
1390 MSG_NOTIFY,
1391 MSG_CALLBACK,
1392 MSG_OTHER_PROCESS,
1393 MSG_POSTED,
1394 MSG_HARDWARE_RAW,
1395 MSG_HARDWARE_COOKED
1400 struct get_message_request
1402 struct request_header __header;
1403 int flags;
1404 user_handle_t get_win;
1405 unsigned int get_first;
1406 unsigned int get_last;
1407 int type;
1408 user_handle_t win;
1409 unsigned int msg;
1410 unsigned int wparam;
1411 unsigned int lparam;
1412 int x;
1413 int y;
1414 unsigned int time;
1415 unsigned int info;
1416 /* VARARG(data,bytes); */
1418 #define GET_MSG_REMOVE 1
1419 #define GET_MSG_SENT_ONLY 2
1420 #define GET_MSG_REMOVE_LAST 4
1423 struct reply_message_request
1425 struct request_header __header;
1426 unsigned int result;
1427 int remove;
1428 /* VARARG(data,bytes); */
1433 struct get_message_reply_request
1435 struct request_header __header;
1436 int cancel;
1437 unsigned int result;
1438 /* VARARG(data,bytes); */
1443 struct set_win_timer_request
1445 struct request_header __header;
1446 user_handle_t win;
1447 unsigned int msg;
1448 unsigned int id;
1449 unsigned int rate;
1450 unsigned int lparam;
1455 struct kill_win_timer_request
1457 struct request_header __header;
1458 user_handle_t win;
1459 unsigned int msg;
1460 unsigned int id;
1465 struct create_serial_request
1467 struct request_header __header;
1468 unsigned int access;
1469 int inherit;
1470 unsigned int attributes;
1471 unsigned int sharing;
1472 /* VARARG(name,string); */
1473 handle_t handle;
1478 struct get_serial_info_request
1480 struct request_header __header;
1481 handle_t handle;
1482 unsigned int readinterval;
1483 unsigned int readconst;
1484 unsigned int readmult;
1485 unsigned int writeconst;
1486 unsigned int writemult;
1487 unsigned int eventmask;
1488 unsigned int commerror;
1493 struct set_serial_info_request
1495 struct request_header __header;
1496 handle_t handle;
1497 int flags;
1498 unsigned int readinterval;
1499 unsigned int readconst;
1500 unsigned int readmult;
1501 unsigned int writeconst;
1502 unsigned int writemult;
1503 unsigned int eventmask;
1504 unsigned int commerror;
1506 #define SERIALINFO_SET_TIMEOUTS 0x01
1507 #define SERIALINFO_SET_MASK 0x02
1508 #define SERIALINFO_SET_ERROR 0x04
1512 struct create_async_request
1514 struct request_header __header;
1515 handle_t file_handle;
1516 int count;
1517 int type;
1518 int timeout;
1520 #define ASYNC_TYPE_READ 0x01
1521 #define ASYNC_TYPE_WRITE 0x02
1522 #define ASYNC_TYPE_WAIT 0x03
1526 struct create_named_pipe_request
1528 struct request_header __header;
1529 unsigned int openmode;
1530 unsigned int pipemode;
1531 unsigned int maxinstances;
1532 unsigned int outsize;
1533 unsigned int insize;
1534 unsigned int timeout;
1535 /* VARARG(filename,string); */
1536 handle_t handle;
1541 struct open_named_pipe_request
1543 struct request_header __header;
1544 unsigned int access;
1545 /* VARARG(filename,string); */
1546 handle_t handle;
1551 struct connect_named_pipe_request
1553 struct request_header __header;
1554 handle_t handle;
1555 void* overlapped;
1556 void* func;
1561 struct wait_named_pipe_request
1563 struct request_header __header;
1564 unsigned int timeout;
1565 void* overlapped;
1566 void* func;
1567 /* VARARG(filename,string); */
1572 struct disconnect_named_pipe_request
1574 struct request_header __header;
1575 handle_t handle;
1579 struct get_named_pipe_info_request
1581 struct request_header __header;
1582 handle_t handle;
1583 unsigned int flags;
1584 unsigned int maxinstances;
1585 unsigned int outsize;
1586 unsigned int insize;
1591 struct create_window_request
1593 struct request_header __header;
1594 user_handle_t parent;
1595 user_handle_t owner;
1596 atom_t atom;
1597 user_handle_t handle;
1602 struct link_window_request
1604 struct request_header __header;
1605 user_handle_t handle;
1606 user_handle_t parent;
1607 user_handle_t previous;
1608 user_handle_t full_parent;
1613 struct destroy_window_request
1615 struct request_header __header;
1616 user_handle_t handle;
1621 struct set_window_owner_request
1623 struct request_header __header;
1624 user_handle_t handle;
1625 user_handle_t owner;
1626 user_handle_t full_owner;
1631 struct get_window_info_request
1633 struct request_header __header;
1634 user_handle_t handle;
1635 user_handle_t full_handle;
1636 void* pid;
1637 void* tid;
1638 atom_t atom;
1643 struct set_window_info_request
1645 struct request_header __header;
1646 user_handle_t handle;
1647 unsigned int flags;
1648 unsigned int style;
1649 unsigned int ex_style;
1650 unsigned int id;
1651 void* instance;
1652 void* user_data;
1653 unsigned int old_style;
1654 unsigned int old_ex_style;
1655 unsigned int old_id;
1656 void* old_instance;
1657 void* old_user_data;
1659 #define SET_WIN_STYLE 0x01
1660 #define SET_WIN_EXSTYLE 0x02
1661 #define SET_WIN_ID 0x04
1662 #define SET_WIN_INSTANCE 0x08
1663 #define SET_WIN_USERDATA 0x10
1667 struct get_window_parents_request
1669 struct request_header __header;
1670 user_handle_t handle;
1671 int count;
1672 /* VARARG(parents,user_handles); */
1677 struct get_window_children_request
1679 struct request_header __header;
1680 user_handle_t parent;
1681 atom_t atom;
1682 void* tid;
1683 int count;
1684 /* VARARG(children,user_handles); */
1689 struct get_window_tree_request
1691 struct request_header __header;
1692 user_handle_t handle;
1693 user_handle_t parent;
1694 user_handle_t owner;
1695 user_handle_t next_sibling;
1696 user_handle_t prev_sibling;
1697 user_handle_t first_sibling;
1698 user_handle_t last_sibling;
1699 user_handle_t first_child;
1700 user_handle_t last_child;
1704 struct set_window_rectangles_request
1706 struct request_header __header;
1707 user_handle_t handle;
1708 rectangle_t window;
1709 rectangle_t client;
1714 struct get_window_rectangles_request
1716 struct request_header __header;
1717 user_handle_t handle;
1718 rectangle_t window;
1719 rectangle_t client;
1724 struct get_windows_offset_request
1726 struct request_header __header;
1727 user_handle_t from;
1728 user_handle_t to;
1729 int x;
1730 int y;
1735 struct set_window_property_request
1737 struct request_header __header;
1738 user_handle_t window;
1739 atom_t atom;
1740 int string;
1741 handle_t handle;
1746 struct remove_window_property_request
1748 struct request_header __header;
1749 user_handle_t window;
1750 atom_t atom;
1751 handle_t handle;
1756 struct get_window_property_request
1758 struct request_header __header;
1759 user_handle_t window;
1760 atom_t atom;
1761 handle_t handle;
1766 struct get_window_properties_request
1768 struct request_header __header;
1769 user_handle_t window;
1770 /* VARARG(props,properties); */
1774 enum request
1776 REQ_new_process,
1777 REQ_get_new_process_info,
1778 REQ_new_thread,
1779 REQ_boot_done,
1780 REQ_init_process,
1781 REQ_init_process_done,
1782 REQ_init_thread,
1783 REQ_set_thread_buffer,
1784 REQ_terminate_process,
1785 REQ_terminate_thread,
1786 REQ_get_process_info,
1787 REQ_set_process_info,
1788 REQ_get_thread_info,
1789 REQ_set_thread_info,
1790 REQ_suspend_thread,
1791 REQ_resume_thread,
1792 REQ_load_dll,
1793 REQ_unload_dll,
1794 REQ_queue_apc,
1795 REQ_get_apc,
1796 REQ_close_handle,
1797 REQ_set_handle_info,
1798 REQ_dup_handle,
1799 REQ_open_process,
1800 REQ_select,
1801 REQ_create_event,
1802 REQ_event_op,
1803 REQ_open_event,
1804 REQ_create_mutex,
1805 REQ_release_mutex,
1806 REQ_open_mutex,
1807 REQ_create_semaphore,
1808 REQ_release_semaphore,
1809 REQ_open_semaphore,
1810 REQ_create_file,
1811 REQ_alloc_file_handle,
1812 REQ_get_handle_fd,
1813 REQ_set_file_pointer,
1814 REQ_truncate_file,
1815 REQ_set_file_time,
1816 REQ_flush_file,
1817 REQ_get_file_info,
1818 REQ_lock_file,
1819 REQ_unlock_file,
1820 REQ_create_pipe,
1821 REQ_create_socket,
1822 REQ_accept_socket,
1823 REQ_set_socket_event,
1824 REQ_get_socket_event,
1825 REQ_enable_socket_event,
1826 REQ_alloc_console,
1827 REQ_free_console,
1828 REQ_open_console,
1829 REQ_set_console_fd,
1830 REQ_get_console_mode,
1831 REQ_set_console_mode,
1832 REQ_set_console_info,
1833 REQ_get_console_info,
1834 REQ_write_console_input,
1835 REQ_read_console_input,
1836 REQ_create_change_notification,
1837 REQ_create_mapping,
1838 REQ_open_mapping,
1839 REQ_get_mapping_info,
1840 REQ_create_device,
1841 REQ_create_snapshot,
1842 REQ_next_process,
1843 REQ_next_thread,
1844 REQ_next_module,
1845 REQ_wait_debug_event,
1846 REQ_queue_exception_event,
1847 REQ_get_exception_status,
1848 REQ_output_debug_string,
1849 REQ_continue_debug_event,
1850 REQ_debug_process,
1851 REQ_read_process_memory,
1852 REQ_write_process_memory,
1853 REQ_create_key,
1854 REQ_open_key,
1855 REQ_delete_key,
1856 REQ_enum_key,
1857 REQ_set_key_value,
1858 REQ_get_key_value,
1859 REQ_enum_key_value,
1860 REQ_delete_key_value,
1861 REQ_load_registry,
1862 REQ_save_registry,
1863 REQ_save_registry_atexit,
1864 REQ_set_registry_levels,
1865 REQ_create_timer,
1866 REQ_open_timer,
1867 REQ_set_timer,
1868 REQ_cancel_timer,
1869 REQ_get_thread_context,
1870 REQ_set_thread_context,
1871 REQ_get_selector_entry,
1872 REQ_add_atom,
1873 REQ_delete_atom,
1874 REQ_find_atom,
1875 REQ_get_atom_name,
1876 REQ_init_atom_table,
1877 REQ_get_msg_queue,
1878 REQ_inc_queue_paint_count,
1879 REQ_set_queue_mask,
1880 REQ_get_queue_status,
1881 REQ_wait_input_idle,
1882 REQ_send_message,
1883 REQ_get_message,
1884 REQ_reply_message,
1885 REQ_get_message_reply,
1886 REQ_set_win_timer,
1887 REQ_kill_win_timer,
1888 REQ_create_serial,
1889 REQ_get_serial_info,
1890 REQ_set_serial_info,
1891 REQ_create_async,
1892 REQ_create_named_pipe,
1893 REQ_open_named_pipe,
1894 REQ_connect_named_pipe,
1895 REQ_wait_named_pipe,
1896 REQ_disconnect_named_pipe,
1897 REQ_get_named_pipe_info,
1898 REQ_create_window,
1899 REQ_link_window,
1900 REQ_destroy_window,
1901 REQ_set_window_owner,
1902 REQ_get_window_info,
1903 REQ_set_window_info,
1904 REQ_get_window_parents,
1905 REQ_get_window_children,
1906 REQ_get_window_tree,
1907 REQ_set_window_rectangles,
1908 REQ_get_window_rectangles,
1909 REQ_get_windows_offset,
1910 REQ_set_window_property,
1911 REQ_remove_window_property,
1912 REQ_get_window_property,
1913 REQ_get_window_properties,
1914 REQ_NB_REQUESTS
1917 union generic_request
1919 struct request_max_size max_size;
1920 struct request_header header;
1921 struct new_process_request new_process;
1922 struct get_new_process_info_request get_new_process_info;
1923 struct new_thread_request new_thread;
1924 struct boot_done_request boot_done;
1925 struct init_process_request init_process;
1926 struct init_process_done_request init_process_done;
1927 struct init_thread_request init_thread;
1928 struct set_thread_buffer_request set_thread_buffer;
1929 struct terminate_process_request terminate_process;
1930 struct terminate_thread_request terminate_thread;
1931 struct get_process_info_request get_process_info;
1932 struct set_process_info_request set_process_info;
1933 struct get_thread_info_request get_thread_info;
1934 struct set_thread_info_request set_thread_info;
1935 struct suspend_thread_request suspend_thread;
1936 struct resume_thread_request resume_thread;
1937 struct load_dll_request load_dll;
1938 struct unload_dll_request unload_dll;
1939 struct queue_apc_request queue_apc;
1940 struct get_apc_request get_apc;
1941 struct close_handle_request close_handle;
1942 struct set_handle_info_request set_handle_info;
1943 struct dup_handle_request dup_handle;
1944 struct open_process_request open_process;
1945 struct select_request select;
1946 struct create_event_request create_event;
1947 struct event_op_request event_op;
1948 struct open_event_request open_event;
1949 struct create_mutex_request create_mutex;
1950 struct release_mutex_request release_mutex;
1951 struct open_mutex_request open_mutex;
1952 struct create_semaphore_request create_semaphore;
1953 struct release_semaphore_request release_semaphore;
1954 struct open_semaphore_request open_semaphore;
1955 struct create_file_request create_file;
1956 struct alloc_file_handle_request alloc_file_handle;
1957 struct get_handle_fd_request get_handle_fd;
1958 struct set_file_pointer_request set_file_pointer;
1959 struct truncate_file_request truncate_file;
1960 struct set_file_time_request set_file_time;
1961 struct flush_file_request flush_file;
1962 struct get_file_info_request get_file_info;
1963 struct lock_file_request lock_file;
1964 struct unlock_file_request unlock_file;
1965 struct create_pipe_request create_pipe;
1966 struct create_socket_request create_socket;
1967 struct accept_socket_request accept_socket;
1968 struct set_socket_event_request set_socket_event;
1969 struct get_socket_event_request get_socket_event;
1970 struct enable_socket_event_request enable_socket_event;
1971 struct alloc_console_request alloc_console;
1972 struct free_console_request free_console;
1973 struct open_console_request open_console;
1974 struct set_console_fd_request set_console_fd;
1975 struct get_console_mode_request get_console_mode;
1976 struct set_console_mode_request set_console_mode;
1977 struct set_console_info_request set_console_info;
1978 struct get_console_info_request get_console_info;
1979 struct write_console_input_request write_console_input;
1980 struct read_console_input_request read_console_input;
1981 struct create_change_notification_request create_change_notification;
1982 struct create_mapping_request create_mapping;
1983 struct open_mapping_request open_mapping;
1984 struct get_mapping_info_request get_mapping_info;
1985 struct create_device_request create_device;
1986 struct create_snapshot_request create_snapshot;
1987 struct next_process_request next_process;
1988 struct next_thread_request next_thread;
1989 struct next_module_request next_module;
1990 struct wait_debug_event_request wait_debug_event;
1991 struct queue_exception_event_request queue_exception_event;
1992 struct get_exception_status_request get_exception_status;
1993 struct output_debug_string_request output_debug_string;
1994 struct continue_debug_event_request continue_debug_event;
1995 struct debug_process_request debug_process;
1996 struct read_process_memory_request read_process_memory;
1997 struct write_process_memory_request write_process_memory;
1998 struct create_key_request create_key;
1999 struct open_key_request open_key;
2000 struct delete_key_request delete_key;
2001 struct enum_key_request enum_key;
2002 struct set_key_value_request set_key_value;
2003 struct get_key_value_request get_key_value;
2004 struct enum_key_value_request enum_key_value;
2005 struct delete_key_value_request delete_key_value;
2006 struct load_registry_request load_registry;
2007 struct save_registry_request save_registry;
2008 struct save_registry_atexit_request save_registry_atexit;
2009 struct set_registry_levels_request set_registry_levels;
2010 struct create_timer_request create_timer;
2011 struct open_timer_request open_timer;
2012 struct set_timer_request set_timer;
2013 struct cancel_timer_request cancel_timer;
2014 struct get_thread_context_request get_thread_context;
2015 struct set_thread_context_request set_thread_context;
2016 struct get_selector_entry_request get_selector_entry;
2017 struct add_atom_request add_atom;
2018 struct delete_atom_request delete_atom;
2019 struct find_atom_request find_atom;
2020 struct get_atom_name_request get_atom_name;
2021 struct init_atom_table_request init_atom_table;
2022 struct get_msg_queue_request get_msg_queue;
2023 struct inc_queue_paint_count_request inc_queue_paint_count;
2024 struct set_queue_mask_request set_queue_mask;
2025 struct get_queue_status_request get_queue_status;
2026 struct wait_input_idle_request wait_input_idle;
2027 struct send_message_request send_message;
2028 struct get_message_request get_message;
2029 struct reply_message_request reply_message;
2030 struct get_message_reply_request get_message_reply;
2031 struct set_win_timer_request set_win_timer;
2032 struct kill_win_timer_request kill_win_timer;
2033 struct create_serial_request create_serial;
2034 struct get_serial_info_request get_serial_info;
2035 struct set_serial_info_request set_serial_info;
2036 struct create_async_request create_async;
2037 struct create_named_pipe_request create_named_pipe;
2038 struct open_named_pipe_request open_named_pipe;
2039 struct connect_named_pipe_request connect_named_pipe;
2040 struct wait_named_pipe_request wait_named_pipe;
2041 struct disconnect_named_pipe_request disconnect_named_pipe;
2042 struct get_named_pipe_info_request get_named_pipe_info;
2043 struct create_window_request create_window;
2044 struct link_window_request link_window;
2045 struct destroy_window_request destroy_window;
2046 struct set_window_owner_request set_window_owner;
2047 struct get_window_info_request get_window_info;
2048 struct set_window_info_request set_window_info;
2049 struct get_window_parents_request get_window_parents;
2050 struct get_window_children_request get_window_children;
2051 struct get_window_tree_request get_window_tree;
2052 struct set_window_rectangles_request set_window_rectangles;
2053 struct get_window_rectangles_request get_window_rectangles;
2054 struct get_windows_offset_request get_windows_offset;
2055 struct set_window_property_request set_window_property;
2056 struct remove_window_property_request remove_window_property;
2057 struct get_window_property_request get_window_property;
2058 struct get_window_properties_request get_window_properties;
2061 #define SERVER_PROTOCOL_VERSION 63
2063 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */