Implement WaitNamedPipe and DisconnectNamedPipe.
[wine.git] / include / wine / server_protocol.h
blobe62090c53da7c98d57f2905e46b0c4dfde3de932
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;
43 struct debug_event_exception
45 EXCEPTION_RECORD record;
46 int first;
48 struct debug_event_create_thread
50 handle_t handle;
51 void *teb;
52 void *start;
54 struct debug_event_create_process
56 handle_t file;
57 handle_t process;
58 handle_t thread;
59 void *base;
60 int dbg_offset;
61 int dbg_size;
62 void *teb;
63 void *start;
64 void *name;
65 int unicode;
67 struct debug_event_exit
69 int exit_code;
71 struct debug_event_load_dll
73 handle_t handle;
74 void *base;
75 int dbg_offset;
76 int dbg_size;
77 void *name;
78 int unicode;
80 struct debug_event_unload_dll
82 void *base;
84 struct debug_event_output_string
86 void *string;
87 int unicode;
88 int length;
90 struct debug_event_rip_info
92 int error;
93 int type;
95 union debug_event_data
97 struct debug_event_exception exception;
98 struct debug_event_create_thread create_thread;
99 struct debug_event_create_process create_process;
100 struct debug_event_exit exit;
101 struct debug_event_load_dll load_dll;
102 struct debug_event_unload_dll unload_dll;
103 struct debug_event_output_string output_string;
104 struct debug_event_rip_info rip_info;
108 typedef struct
110 int code;
111 union debug_event_data info;
112 } debug_event_t;
115 struct send_fd
117 void *tid;
118 int fd;
122 struct wake_up_reply
124 void *cookie;
125 int signaled;
132 struct new_process_request
134 struct request_header __header;
135 int inherit_all;
136 int create_flags;
137 int start_flags;
138 handle_t exe_file;
139 handle_t hstdin;
140 handle_t hstdout;
141 handle_t hstderr;
142 int cmd_show;
143 /* VARARG(filename,string); */
144 handle_t info;
149 struct get_new_process_info_request
151 struct request_header __header;
152 handle_t info;
153 int pinherit;
154 int tinherit;
155 void* pid;
156 handle_t phandle;
157 void* tid;
158 handle_t thandle;
159 handle_t event;
164 struct new_thread_request
166 struct request_header __header;
167 int suspend;
168 int inherit;
169 int request_fd;
170 void* tid;
171 handle_t handle;
176 struct boot_done_request
178 struct request_header __header;
179 int debug_level;
184 struct init_process_request
186 struct request_header __header;
187 void* ldt_copy;
188 int ppid;
189 int create_flags;
190 int start_flags;
191 unsigned int server_start;
192 handle_t exe_file;
193 handle_t hstdin;
194 handle_t hstdout;
195 handle_t hstderr;
196 int cmd_show;
197 /* VARARG(filename,string); */
202 struct init_process_done_request
204 struct request_header __header;
205 void* module;
206 void* entry;
207 void* name;
208 handle_t exe_file;
209 int gui;
210 int debugged;
215 struct init_thread_request
217 struct request_header __header;
218 int unix_pid;
219 void* teb;
220 void* entry;
221 int reply_fd;
222 int wait_fd;
223 void* pid;
224 void* tid;
225 int boot;
226 int version;
231 struct set_thread_buffer_request
233 struct request_header __header;
234 int fd;
235 unsigned int offset;
236 unsigned int size;
241 struct terminate_process_request
243 struct request_header __header;
244 handle_t handle;
245 int exit_code;
246 int self;
251 struct terminate_thread_request
253 struct request_header __header;
254 handle_t handle;
255 int exit_code;
256 int self;
257 int last;
262 struct get_process_info_request
264 struct request_header __header;
265 handle_t handle;
266 void* pid;
267 int debugged;
268 int exit_code;
269 int priority;
270 int process_affinity;
271 int system_affinity;
276 struct set_process_info_request
278 struct request_header __header;
279 handle_t handle;
280 int mask;
281 int priority;
282 int affinity;
284 #define SET_PROCESS_INFO_PRIORITY 0x01
285 #define SET_PROCESS_INFO_AFFINITY 0x02
289 struct get_thread_info_request
291 struct request_header __header;
292 handle_t handle;
293 void* tid_in;
294 void* tid;
295 void* teb;
296 int exit_code;
297 int priority;
302 struct set_thread_info_request
304 struct request_header __header;
305 handle_t handle;
306 int mask;
307 int priority;
308 int affinity;
310 #define SET_THREAD_INFO_PRIORITY 0x01
311 #define SET_THREAD_INFO_AFFINITY 0x02
315 struct suspend_thread_request
317 struct request_header __header;
318 handle_t handle;
319 int count;
324 struct resume_thread_request
326 struct request_header __header;
327 handle_t handle;
328 int count;
333 struct load_dll_request
335 struct request_header __header;
336 handle_t handle;
337 void* base;
338 int dbg_offset;
339 int dbg_size;
340 void* name;
345 struct unload_dll_request
347 struct request_header __header;
348 void* base;
353 struct queue_apc_request
355 struct request_header __header;
356 handle_t handle;
357 int user;
358 void* func;
359 void* param;
364 struct get_apc_request
366 struct request_header __header;
367 int alertable;
368 void* func;
369 int type;
370 /* VARARG(args,ptrs); */
372 enum apc_type { APC_NONE, APC_USER, APC_TIMER, APC_ASYNC };
376 struct close_handle_request
378 struct request_header __header;
379 handle_t handle;
380 int fd;
385 struct set_handle_info_request
387 struct request_header __header;
388 handle_t handle;
389 int flags;
390 int mask;
391 int fd;
392 int old_flags;
393 int cur_fd;
398 struct dup_handle_request
400 struct request_header __header;
401 handle_t src_process;
402 handle_t src_handle;
403 handle_t dst_process;
404 unsigned int access;
405 int inherit;
406 int options;
407 handle_t handle;
408 int fd;
410 #define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
411 #define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
412 #define DUP_HANDLE_MAKE_GLOBAL 0x80000000
416 struct open_process_request
418 struct request_header __header;
419 void* pid;
420 unsigned int access;
421 int inherit;
422 handle_t handle;
427 struct select_request
429 struct request_header __header;
430 int flags;
431 void* cookie;
432 int sec;
433 int usec;
434 /* VARARG(handles,handles); */
436 #define SELECT_ALL 1
437 #define SELECT_ALERTABLE 2
438 #define SELECT_INTERRUPTIBLE 4
439 #define SELECT_TIMEOUT 8
443 struct create_event_request
445 struct request_header __header;
446 int manual_reset;
447 int initial_state;
448 int inherit;
449 /* VARARG(name,unicode_str); */
450 handle_t handle;
454 struct event_op_request
456 struct request_header __header;
457 handle_t handle;
458 int op;
460 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
464 struct open_event_request
466 struct request_header __header;
467 unsigned int access;
468 int inherit;
469 /* VARARG(name,unicode_str); */
470 handle_t handle;
475 struct create_mutex_request
477 struct request_header __header;
478 int owned;
479 int inherit;
480 /* VARARG(name,unicode_str); */
481 handle_t handle;
486 struct release_mutex_request
488 struct request_header __header;
489 handle_t handle;
494 struct open_mutex_request
496 struct request_header __header;
497 unsigned int access;
498 int inherit;
499 /* VARARG(name,unicode_str); */
500 handle_t handle;
505 struct create_semaphore_request
507 struct request_header __header;
508 unsigned int initial;
509 unsigned int max;
510 int inherit;
511 /* VARARG(name,unicode_str); */
512 handle_t handle;
517 struct release_semaphore_request
519 struct request_header __header;
520 handle_t handle;
521 unsigned int count;
522 unsigned int prev_count;
527 struct open_semaphore_request
529 struct request_header __header;
530 unsigned int access;
531 int inherit;
532 /* VARARG(name,unicode_str); */
533 handle_t handle;
538 struct create_file_request
540 struct request_header __header;
541 unsigned int access;
542 int inherit;
543 unsigned int sharing;
544 int create;
545 unsigned int attrs;
546 /* VARARG(filename,string); */
547 handle_t handle;
552 struct alloc_file_handle_request
554 struct request_header __header;
555 unsigned int access;
556 int fd;
557 handle_t handle;
562 struct get_handle_fd_request
564 struct request_header __header;
565 handle_t handle;
566 unsigned int access;
567 int fd;
572 struct set_file_pointer_request
574 struct request_header __header;
575 handle_t handle;
576 int low;
577 int high;
578 int whence;
579 int new_low;
580 int new_high;
585 struct truncate_file_request
587 struct request_header __header;
588 handle_t handle;
593 struct set_file_time_request
595 struct request_header __header;
596 handle_t handle;
597 time_t access_time;
598 time_t write_time;
603 struct flush_file_request
605 struct request_header __header;
606 handle_t handle;
611 struct get_file_info_request
613 struct request_header __header;
614 handle_t handle;
615 int type;
616 int attr;
617 time_t access_time;
618 time_t write_time;
619 int size_high;
620 int size_low;
621 int links;
622 int index_high;
623 int index_low;
624 unsigned int serial;
629 struct lock_file_request
631 struct request_header __header;
632 handle_t handle;
633 unsigned int offset_low;
634 unsigned int offset_high;
635 unsigned int count_low;
636 unsigned int count_high;
641 struct unlock_file_request
643 struct request_header __header;
644 handle_t handle;
645 unsigned int offset_low;
646 unsigned int offset_high;
647 unsigned int count_low;
648 unsigned int count_high;
653 struct create_pipe_request
655 struct request_header __header;
656 int inherit;
657 handle_t handle_read;
658 handle_t handle_write;
663 struct create_socket_request
665 struct request_header __header;
666 unsigned int access;
667 int inherit;
668 int family;
669 int type;
670 int protocol;
671 handle_t handle;
676 struct accept_socket_request
678 struct request_header __header;
679 handle_t lhandle;
680 unsigned int access;
681 int inherit;
682 handle_t handle;
687 struct set_socket_event_request
689 struct request_header __header;
690 handle_t handle;
691 unsigned int mask;
692 handle_t event;
697 struct get_socket_event_request
699 struct request_header __header;
700 handle_t handle;
701 int service;
702 handle_t s_event;
703 handle_t c_event;
704 unsigned int mask;
705 unsigned int pmask;
706 unsigned int state;
707 /* VARARG(errors,ints); */
712 struct enable_socket_event_request
714 struct request_header __header;
715 handle_t handle;
716 unsigned int mask;
717 unsigned int sstate;
718 unsigned int cstate;
723 struct alloc_console_request
725 struct request_header __header;
726 unsigned int access;
727 int inherit;
728 handle_t handle_in;
729 handle_t handle_out;
734 struct free_console_request
736 struct request_header __header;
741 struct open_console_request
743 struct request_header __header;
744 int output;
745 unsigned int access;
746 int inherit;
747 handle_t handle;
752 struct set_console_fd_request
754 struct request_header __header;
755 handle_t handle;
756 int fd_in;
757 int fd_out;
758 int pid;
763 struct get_console_mode_request
765 struct request_header __header;
766 handle_t handle;
767 int mode;
772 struct set_console_mode_request
774 struct request_header __header;
775 handle_t handle;
776 int mode;
781 struct set_console_info_request
783 struct request_header __header;
784 handle_t handle;
785 int mask;
786 int cursor_size;
787 int cursor_visible;
788 /* VARARG(title,string); */
790 #define SET_CONSOLE_INFO_CURSOR 0x01
791 #define SET_CONSOLE_INFO_TITLE 0x02
794 struct get_console_info_request
796 struct request_header __header;
797 handle_t handle;
798 int cursor_size;
799 int cursor_visible;
800 int pid;
801 /* VARARG(title,string); */
806 struct write_console_input_request
808 struct request_header __header;
809 handle_t handle;
810 /* VARARG(rec,input_records); */
811 int written;
815 struct read_console_input_request
817 struct request_header __header;
818 handle_t handle;
819 int flush;
820 int read;
821 /* VARARG(rec,input_records); */
826 struct create_change_notification_request
828 struct request_header __header;
829 int subtree;
830 int filter;
831 handle_t handle;
836 struct create_mapping_request
838 struct request_header __header;
839 int size_high;
840 int size_low;
841 int protect;
842 int inherit;
843 handle_t file_handle;
844 /* VARARG(name,unicode_str); */
845 handle_t handle;
848 #define VPROT_READ 0x01
849 #define VPROT_WRITE 0x02
850 #define VPROT_EXEC 0x04
851 #define VPROT_WRITECOPY 0x08
852 #define VPROT_GUARD 0x10
853 #define VPROT_NOCACHE 0x20
854 #define VPROT_COMMITTED 0x40
855 #define VPROT_IMAGE 0x80
859 struct open_mapping_request
861 struct request_header __header;
862 unsigned int access;
863 int inherit;
864 /* VARARG(name,unicode_str); */
865 handle_t handle;
870 struct get_mapping_info_request
872 struct request_header __header;
873 handle_t handle;
874 int size_high;
875 int size_low;
876 int protect;
877 int header_size;
878 void* base;
879 handle_t shared_file;
880 int shared_size;
885 struct create_device_request
887 struct request_header __header;
888 unsigned int access;
889 int inherit;
890 int id;
891 handle_t handle;
896 struct create_snapshot_request
898 struct request_header __header;
899 int inherit;
900 int flags;
901 void* pid;
902 handle_t handle;
907 struct next_process_request
909 struct request_header __header;
910 handle_t handle;
911 int reset;
912 int count;
913 void* pid;
914 int threads;
915 int priority;
920 struct next_thread_request
922 struct request_header __header;
923 handle_t handle;
924 int reset;
925 int count;
926 void* pid;
927 void* tid;
928 int base_pri;
929 int delta_pri;
934 struct next_module_request
936 struct request_header __header;
937 handle_t handle;
938 int reset;
939 void* pid;
940 void* base;
945 struct wait_debug_event_request
947 struct request_header __header;
948 int get_handle;
949 void* pid;
950 void* tid;
951 handle_t wait;
952 /* VARARG(event,debug_event); */
957 struct queue_exception_event_request
959 struct request_header __header;
960 int first;
961 /* VARARG(record,exc_event); */
962 handle_t handle;
967 struct get_exception_status_request
969 struct request_header __header;
970 handle_t handle;
971 int status;
972 /* VARARG(context,context); */
977 struct output_debug_string_request
979 struct request_header __header;
980 void* string;
981 int unicode;
982 int length;
987 struct continue_debug_event_request
989 struct request_header __header;
990 void* pid;
991 void* tid;
992 int status;
997 struct debug_process_request
999 struct request_header __header;
1000 void* pid;
1005 struct read_process_memory_request
1007 struct request_header __header;
1008 handle_t handle;
1009 void* addr;
1010 int len;
1011 /* VARARG(data,bytes); */
1016 struct write_process_memory_request
1018 struct request_header __header;
1019 handle_t handle;
1020 void* addr;
1021 int len;
1022 unsigned int first_mask;
1023 unsigned int last_mask;
1024 /* VARARG(data,bytes); */
1029 struct create_key_request
1031 struct request_header __header;
1032 handle_t parent;
1033 unsigned int access;
1034 unsigned int options;
1035 time_t modif;
1036 /* VARARG(name,unicode_len_str); */
1037 /* VARARG(class,unicode_str); */
1038 handle_t hkey;
1039 int created;
1043 struct open_key_request
1045 struct request_header __header;
1046 handle_t parent;
1047 unsigned int access;
1048 /* VARARG(name,unicode_str); */
1049 handle_t hkey;
1054 struct delete_key_request
1056 struct request_header __header;
1057 handle_t hkey;
1062 struct enum_key_request
1064 struct request_header __header;
1065 handle_t hkey;
1066 int index;
1067 int full;
1068 int subkeys;
1069 int max_subkey;
1070 int max_class;
1071 int values;
1072 int max_value;
1073 int max_data;
1074 time_t modif;
1075 /* VARARG(name,unicode_len_str); */
1076 /* VARARG(class,unicode_str); */
1081 struct set_key_value_request
1083 struct request_header __header;
1084 handle_t hkey;
1085 int type;
1086 unsigned int total;
1087 unsigned int offset;
1088 /* VARARG(name,unicode_len_str); */
1089 /* VARARG(data,bytes); */
1094 struct get_key_value_request
1096 struct request_header __header;
1097 handle_t hkey;
1098 unsigned int offset;
1099 /* VARARG(name,unicode_len_str); */
1100 int type;
1101 int len;
1102 /* VARARG(data,bytes); */
1107 struct enum_key_value_request
1109 struct request_header __header;
1110 handle_t hkey;
1111 int index;
1112 unsigned int offset;
1113 int type;
1114 int len;
1115 /* VARARG(name,unicode_len_str); */
1116 /* VARARG(data,bytes); */
1121 struct delete_key_value_request
1123 struct request_header __header;
1124 handle_t hkey;
1125 /* VARARG(name,unicode_str); */
1130 struct load_registry_request
1132 struct request_header __header;
1133 handle_t hkey;
1134 handle_t file;
1135 /* VARARG(name,unicode_str); */
1140 struct save_registry_request
1142 struct request_header __header;
1143 handle_t hkey;
1144 handle_t file;
1149 struct save_registry_atexit_request
1151 struct request_header __header;
1152 handle_t hkey;
1153 /* VARARG(file,string); */
1158 struct set_registry_levels_request
1160 struct request_header __header;
1161 int current;
1162 int saving;
1163 int period;
1168 struct create_timer_request
1170 struct request_header __header;
1171 int inherit;
1172 int manual;
1173 /* VARARG(name,unicode_str); */
1174 handle_t handle;
1179 struct open_timer_request
1181 struct request_header __header;
1182 unsigned int access;
1183 int inherit;
1184 /* VARARG(name,unicode_str); */
1185 handle_t handle;
1189 struct set_timer_request
1191 struct request_header __header;
1192 handle_t handle;
1193 int sec;
1194 int usec;
1195 int period;
1196 void* callback;
1197 void* arg;
1201 struct cancel_timer_request
1203 struct request_header __header;
1204 handle_t handle;
1209 struct get_thread_context_request
1211 struct request_header __header;
1212 handle_t handle;
1213 unsigned int flags;
1214 /* VARARG(context,context); */
1219 struct set_thread_context_request
1221 struct request_header __header;
1222 handle_t handle;
1223 unsigned int flags;
1224 /* VARARG(context,context); */
1229 struct get_selector_entry_request
1231 struct request_header __header;
1232 handle_t handle;
1233 int entry;
1234 unsigned int base;
1235 unsigned int limit;
1236 unsigned char flags;
1241 struct add_atom_request
1243 struct request_header __header;
1244 int local;
1245 /* VARARG(name,unicode_str); */
1246 int atom;
1251 struct delete_atom_request
1253 struct request_header __header;
1254 int atom;
1255 int local;
1260 struct find_atom_request
1262 struct request_header __header;
1263 int local;
1264 /* VARARG(name,unicode_str); */
1265 int atom;
1270 struct get_atom_name_request
1272 struct request_header __header;
1273 int atom;
1274 int local;
1275 int count;
1276 /* VARARG(name,unicode_str); */
1281 struct init_atom_table_request
1283 struct request_header __header;
1284 int entries;
1289 struct get_msg_queue_request
1291 struct request_header __header;
1292 handle_t handle;
1297 struct inc_queue_paint_count_request
1299 struct request_header __header;
1300 void* id;
1301 int incr;
1306 struct set_queue_mask_request
1308 struct request_header __header;
1309 unsigned int wake_mask;
1310 unsigned int changed_mask;
1311 int skip_wait;
1312 unsigned int wake_bits;
1313 unsigned int changed_bits;
1318 struct get_queue_status_request
1320 struct request_header __header;
1321 int clear;
1322 unsigned int wake_bits;
1323 unsigned int changed_bits;
1328 struct wait_input_idle_request
1330 struct request_header __header;
1331 handle_t handle;
1332 int timeout;
1333 handle_t event;
1338 struct send_message_request
1340 struct request_header __header;
1341 void* id;
1342 int type;
1343 handle_t win;
1344 unsigned int msg;
1345 unsigned int wparam;
1346 unsigned int lparam;
1347 int x;
1348 int y;
1349 unsigned int time;
1350 unsigned int info;
1351 int timeout;
1352 /* VARARG(data,bytes); */
1355 enum message_type
1357 MSG_ASCII,
1358 MSG_UNICODE,
1359 MSG_NOTIFY,
1360 MSG_CALLBACK,
1361 MSG_OTHER_PROCESS,
1362 MSG_POSTED,
1363 MSG_HARDWARE_RAW,
1364 MSG_HARDWARE_COOKED
1369 struct get_message_request
1371 struct request_header __header;
1372 int flags;
1373 handle_t get_win;
1374 unsigned int get_first;
1375 unsigned int get_last;
1376 int type;
1377 handle_t win;
1378 unsigned int msg;
1379 unsigned int wparam;
1380 unsigned int lparam;
1381 int x;
1382 int y;
1383 unsigned int time;
1384 unsigned int info;
1385 /* VARARG(data,bytes); */
1387 #define GET_MSG_REMOVE 1
1388 #define GET_MSG_SENT_ONLY 2
1389 #define GET_MSG_REMOVE_LAST 4
1392 struct reply_message_request
1394 struct request_header __header;
1395 unsigned int result;
1396 int remove;
1397 /* VARARG(data,bytes); */
1402 struct get_message_reply_request
1404 struct request_header __header;
1405 int cancel;
1406 unsigned int result;
1407 /* VARARG(data,bytes); */
1412 struct cleanup_window_queue_request
1414 struct request_header __header;
1415 handle_t win;
1420 struct set_win_timer_request
1422 struct request_header __header;
1423 handle_t win;
1424 unsigned int msg;
1425 unsigned int id;
1426 unsigned int rate;
1427 unsigned int lparam;
1432 struct kill_win_timer_request
1434 struct request_header __header;
1435 handle_t win;
1436 unsigned int msg;
1437 unsigned int id;
1442 struct create_serial_request
1444 struct request_header __header;
1445 unsigned int access;
1446 int inherit;
1447 unsigned int sharing;
1448 /* VARARG(name,string); */
1449 handle_t handle;
1454 struct get_serial_info_request
1456 struct request_header __header;
1457 handle_t handle;
1458 unsigned int readinterval;
1459 unsigned int readconst;
1460 unsigned int readmult;
1461 unsigned int writeconst;
1462 unsigned int writemult;
1463 unsigned int eventmask;
1464 unsigned int commerror;
1469 struct set_serial_info_request
1471 struct request_header __header;
1472 handle_t handle;
1473 int flags;
1474 unsigned int readinterval;
1475 unsigned int readconst;
1476 unsigned int readmult;
1477 unsigned int writeconst;
1478 unsigned int writemult;
1479 unsigned int eventmask;
1480 unsigned int commerror;
1482 #define SERIALINFO_SET_TIMEOUTS 0x01
1483 #define SERIALINFO_SET_MASK 0x02
1484 #define SERIALINFO_SET_ERROR 0x04
1488 struct create_async_request
1490 struct request_header __header;
1491 handle_t file_handle;
1492 int count;
1493 int type;
1494 int timeout;
1496 #define ASYNC_TYPE_READ 0x01
1497 #define ASYNC_TYPE_WRITE 0x02
1498 #define ASYNC_TYPE_WAIT 0x03
1502 struct create_named_pipe_request
1504 struct request_header __header;
1505 unsigned int openmode;
1506 unsigned int pipemode;
1507 unsigned int maxinstances;
1508 unsigned int outsize;
1509 unsigned int insize;
1510 unsigned int timeout;
1511 /* VARARG(filename,string); */
1512 handle_t handle;
1517 struct open_named_pipe_request
1519 struct request_header __header;
1520 unsigned int access;
1521 /* VARARG(filename,string); */
1522 handle_t handle;
1527 struct connect_named_pipe_request
1529 struct request_header __header;
1530 handle_t handle;
1531 handle_t event;
1536 struct wait_named_pipe_request
1538 struct request_header __header;
1539 unsigned int timeout;
1540 handle_t event;
1541 /* VARARG(filename,string); */
1546 struct disconnect_named_pipe_request
1548 struct request_header __header;
1549 handle_t handle;
1553 enum request
1555 REQ_new_process,
1556 REQ_get_new_process_info,
1557 REQ_new_thread,
1558 REQ_boot_done,
1559 REQ_init_process,
1560 REQ_init_process_done,
1561 REQ_init_thread,
1562 REQ_set_thread_buffer,
1563 REQ_terminate_process,
1564 REQ_terminate_thread,
1565 REQ_get_process_info,
1566 REQ_set_process_info,
1567 REQ_get_thread_info,
1568 REQ_set_thread_info,
1569 REQ_suspend_thread,
1570 REQ_resume_thread,
1571 REQ_load_dll,
1572 REQ_unload_dll,
1573 REQ_queue_apc,
1574 REQ_get_apc,
1575 REQ_close_handle,
1576 REQ_set_handle_info,
1577 REQ_dup_handle,
1578 REQ_open_process,
1579 REQ_select,
1580 REQ_create_event,
1581 REQ_event_op,
1582 REQ_open_event,
1583 REQ_create_mutex,
1584 REQ_release_mutex,
1585 REQ_open_mutex,
1586 REQ_create_semaphore,
1587 REQ_release_semaphore,
1588 REQ_open_semaphore,
1589 REQ_create_file,
1590 REQ_alloc_file_handle,
1591 REQ_get_handle_fd,
1592 REQ_set_file_pointer,
1593 REQ_truncate_file,
1594 REQ_set_file_time,
1595 REQ_flush_file,
1596 REQ_get_file_info,
1597 REQ_lock_file,
1598 REQ_unlock_file,
1599 REQ_create_pipe,
1600 REQ_create_socket,
1601 REQ_accept_socket,
1602 REQ_set_socket_event,
1603 REQ_get_socket_event,
1604 REQ_enable_socket_event,
1605 REQ_alloc_console,
1606 REQ_free_console,
1607 REQ_open_console,
1608 REQ_set_console_fd,
1609 REQ_get_console_mode,
1610 REQ_set_console_mode,
1611 REQ_set_console_info,
1612 REQ_get_console_info,
1613 REQ_write_console_input,
1614 REQ_read_console_input,
1615 REQ_create_change_notification,
1616 REQ_create_mapping,
1617 REQ_open_mapping,
1618 REQ_get_mapping_info,
1619 REQ_create_device,
1620 REQ_create_snapshot,
1621 REQ_next_process,
1622 REQ_next_thread,
1623 REQ_next_module,
1624 REQ_wait_debug_event,
1625 REQ_queue_exception_event,
1626 REQ_get_exception_status,
1627 REQ_output_debug_string,
1628 REQ_continue_debug_event,
1629 REQ_debug_process,
1630 REQ_read_process_memory,
1631 REQ_write_process_memory,
1632 REQ_create_key,
1633 REQ_open_key,
1634 REQ_delete_key,
1635 REQ_enum_key,
1636 REQ_set_key_value,
1637 REQ_get_key_value,
1638 REQ_enum_key_value,
1639 REQ_delete_key_value,
1640 REQ_load_registry,
1641 REQ_save_registry,
1642 REQ_save_registry_atexit,
1643 REQ_set_registry_levels,
1644 REQ_create_timer,
1645 REQ_open_timer,
1646 REQ_set_timer,
1647 REQ_cancel_timer,
1648 REQ_get_thread_context,
1649 REQ_set_thread_context,
1650 REQ_get_selector_entry,
1651 REQ_add_atom,
1652 REQ_delete_atom,
1653 REQ_find_atom,
1654 REQ_get_atom_name,
1655 REQ_init_atom_table,
1656 REQ_get_msg_queue,
1657 REQ_inc_queue_paint_count,
1658 REQ_set_queue_mask,
1659 REQ_get_queue_status,
1660 REQ_wait_input_idle,
1661 REQ_send_message,
1662 REQ_get_message,
1663 REQ_reply_message,
1664 REQ_get_message_reply,
1665 REQ_cleanup_window_queue,
1666 REQ_set_win_timer,
1667 REQ_kill_win_timer,
1668 REQ_create_serial,
1669 REQ_get_serial_info,
1670 REQ_set_serial_info,
1671 REQ_create_async,
1672 REQ_create_named_pipe,
1673 REQ_open_named_pipe,
1674 REQ_connect_named_pipe,
1675 REQ_wait_named_pipe,
1676 REQ_disconnect_named_pipe,
1677 REQ_NB_REQUESTS
1680 union generic_request
1682 struct request_max_size max_size;
1683 struct request_header header;
1684 struct new_process_request new_process;
1685 struct get_new_process_info_request get_new_process_info;
1686 struct new_thread_request new_thread;
1687 struct boot_done_request boot_done;
1688 struct init_process_request init_process;
1689 struct init_process_done_request init_process_done;
1690 struct init_thread_request init_thread;
1691 struct set_thread_buffer_request set_thread_buffer;
1692 struct terminate_process_request terminate_process;
1693 struct terminate_thread_request terminate_thread;
1694 struct get_process_info_request get_process_info;
1695 struct set_process_info_request set_process_info;
1696 struct get_thread_info_request get_thread_info;
1697 struct set_thread_info_request set_thread_info;
1698 struct suspend_thread_request suspend_thread;
1699 struct resume_thread_request resume_thread;
1700 struct load_dll_request load_dll;
1701 struct unload_dll_request unload_dll;
1702 struct queue_apc_request queue_apc;
1703 struct get_apc_request get_apc;
1704 struct close_handle_request close_handle;
1705 struct set_handle_info_request set_handle_info;
1706 struct dup_handle_request dup_handle;
1707 struct open_process_request open_process;
1708 struct select_request select;
1709 struct create_event_request create_event;
1710 struct event_op_request event_op;
1711 struct open_event_request open_event;
1712 struct create_mutex_request create_mutex;
1713 struct release_mutex_request release_mutex;
1714 struct open_mutex_request open_mutex;
1715 struct create_semaphore_request create_semaphore;
1716 struct release_semaphore_request release_semaphore;
1717 struct open_semaphore_request open_semaphore;
1718 struct create_file_request create_file;
1719 struct alloc_file_handle_request alloc_file_handle;
1720 struct get_handle_fd_request get_handle_fd;
1721 struct set_file_pointer_request set_file_pointer;
1722 struct truncate_file_request truncate_file;
1723 struct set_file_time_request set_file_time;
1724 struct flush_file_request flush_file;
1725 struct get_file_info_request get_file_info;
1726 struct lock_file_request lock_file;
1727 struct unlock_file_request unlock_file;
1728 struct create_pipe_request create_pipe;
1729 struct create_socket_request create_socket;
1730 struct accept_socket_request accept_socket;
1731 struct set_socket_event_request set_socket_event;
1732 struct get_socket_event_request get_socket_event;
1733 struct enable_socket_event_request enable_socket_event;
1734 struct alloc_console_request alloc_console;
1735 struct free_console_request free_console;
1736 struct open_console_request open_console;
1737 struct set_console_fd_request set_console_fd;
1738 struct get_console_mode_request get_console_mode;
1739 struct set_console_mode_request set_console_mode;
1740 struct set_console_info_request set_console_info;
1741 struct get_console_info_request get_console_info;
1742 struct write_console_input_request write_console_input;
1743 struct read_console_input_request read_console_input;
1744 struct create_change_notification_request create_change_notification;
1745 struct create_mapping_request create_mapping;
1746 struct open_mapping_request open_mapping;
1747 struct get_mapping_info_request get_mapping_info;
1748 struct create_device_request create_device;
1749 struct create_snapshot_request create_snapshot;
1750 struct next_process_request next_process;
1751 struct next_thread_request next_thread;
1752 struct next_module_request next_module;
1753 struct wait_debug_event_request wait_debug_event;
1754 struct queue_exception_event_request queue_exception_event;
1755 struct get_exception_status_request get_exception_status;
1756 struct output_debug_string_request output_debug_string;
1757 struct continue_debug_event_request continue_debug_event;
1758 struct debug_process_request debug_process;
1759 struct read_process_memory_request read_process_memory;
1760 struct write_process_memory_request write_process_memory;
1761 struct create_key_request create_key;
1762 struct open_key_request open_key;
1763 struct delete_key_request delete_key;
1764 struct enum_key_request enum_key;
1765 struct set_key_value_request set_key_value;
1766 struct get_key_value_request get_key_value;
1767 struct enum_key_value_request enum_key_value;
1768 struct delete_key_value_request delete_key_value;
1769 struct load_registry_request load_registry;
1770 struct save_registry_request save_registry;
1771 struct save_registry_atexit_request save_registry_atexit;
1772 struct set_registry_levels_request set_registry_levels;
1773 struct create_timer_request create_timer;
1774 struct open_timer_request open_timer;
1775 struct set_timer_request set_timer;
1776 struct cancel_timer_request cancel_timer;
1777 struct get_thread_context_request get_thread_context;
1778 struct set_thread_context_request set_thread_context;
1779 struct get_selector_entry_request get_selector_entry;
1780 struct add_atom_request add_atom;
1781 struct delete_atom_request delete_atom;
1782 struct find_atom_request find_atom;
1783 struct get_atom_name_request get_atom_name;
1784 struct init_atom_table_request init_atom_table;
1785 struct get_msg_queue_request get_msg_queue;
1786 struct inc_queue_paint_count_request inc_queue_paint_count;
1787 struct set_queue_mask_request set_queue_mask;
1788 struct get_queue_status_request get_queue_status;
1789 struct wait_input_idle_request wait_input_idle;
1790 struct send_message_request send_message;
1791 struct get_message_request get_message;
1792 struct reply_message_request reply_message;
1793 struct get_message_reply_request get_message_reply;
1794 struct cleanup_window_queue_request cleanup_window_queue;
1795 struct set_win_timer_request set_win_timer;
1796 struct kill_win_timer_request kill_win_timer;
1797 struct create_serial_request create_serial;
1798 struct get_serial_info_request get_serial_info;
1799 struct set_serial_info_request set_serial_info;
1800 struct create_async_request create_async;
1801 struct create_named_pipe_request create_named_pipe;
1802 struct open_named_pipe_request open_named_pipe;
1803 struct connect_named_pipe_request connect_named_pipe;
1804 struct wait_named_pipe_request wait_named_pipe;
1805 struct disconnect_named_pipe_request disconnect_named_pipe;
1808 #define SERVER_PROTOCOL_VERSION 50
1810 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */