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
8 #ifndef __WINE_WINE_SERVER_PROTOCOL_H
9 #define __WINE_WINE_SERVER_PROTOCOL_H
18 unsigned short var_offset;
19 unsigned short var_size;
26 unsigned short var_offset;
27 unsigned short var_size;
32 struct request_max_size
38 #define REQUEST_MAX_VAR_SIZE 1024
43 struct debug_event_exception
45 EXCEPTION_RECORD record;
48 struct debug_event_create_thread
54 struct debug_event_create_process
67 struct debug_event_exit
71 struct debug_event_load_dll
80 struct debug_event_unload_dll
84 struct debug_event_output_string
90 struct debug_event_rip_info
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;
111 union debug_event_data info;
132 struct new_process_request
134 struct request_header __header;
143 /* VARARG(filename,string); */
149 struct get_new_process_info_request
151 struct request_header __header;
164 struct new_thread_request
166 struct request_header __header;
176 struct boot_done_request
178 struct request_header __header;
184 struct init_process_request
186 struct request_header __header;
191 unsigned int server_start;
197 /* VARARG(filename,string); */
202 struct init_process_done_request
204 struct request_header __header;
215 struct init_thread_request
217 struct request_header __header;
231 struct set_thread_buffer_request
233 struct request_header __header;
241 struct terminate_process_request
243 struct request_header __header;
251 struct terminate_thread_request
253 struct request_header __header;
262 struct get_process_info_request
264 struct request_header __header;
270 int process_affinity;
276 struct set_process_info_request
278 struct request_header __header;
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;
302 struct set_thread_info_request
304 struct request_header __header;
310 #define SET_THREAD_INFO_PRIORITY 0x01
311 #define SET_THREAD_INFO_AFFINITY 0x02
315 struct suspend_thread_request
317 struct request_header __header;
324 struct resume_thread_request
326 struct request_header __header;
333 struct load_dll_request
335 struct request_header __header;
345 struct unload_dll_request
347 struct request_header __header;
353 struct queue_apc_request
355 struct request_header __header;
364 struct get_apc_request
366 struct request_header __header;
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;
385 struct set_handle_info_request
387 struct request_header __header;
398 struct dup_handle_request
400 struct request_header __header;
401 handle_t src_process;
403 handle_t dst_process;
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;
427 struct select_request
429 struct request_header __header;
434 /* VARARG(handles,handles); */
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;
449 /* VARARG(name,unicode_str); */
454 struct event_op_request
456 struct request_header __header;
460 enum event_op { PULSE_EVENT, SET_EVENT, RESET_EVENT };
464 struct open_event_request
466 struct request_header __header;
469 /* VARARG(name,unicode_str); */
475 struct create_mutex_request
477 struct request_header __header;
480 /* VARARG(name,unicode_str); */
486 struct release_mutex_request
488 struct request_header __header;
494 struct open_mutex_request
496 struct request_header __header;
499 /* VARARG(name,unicode_str); */
505 struct create_semaphore_request
507 struct request_header __header;
508 unsigned int initial;
511 /* VARARG(name,unicode_str); */
517 struct release_semaphore_request
519 struct request_header __header;
522 unsigned int prev_count;
527 struct open_semaphore_request
529 struct request_header __header;
532 /* VARARG(name,unicode_str); */
538 struct create_file_request
540 struct request_header __header;
543 unsigned int sharing;
546 /* VARARG(filename,string); */
552 struct alloc_file_handle_request
554 struct request_header __header;
562 struct get_handle_fd_request
564 struct request_header __header;
572 struct set_file_pointer_request
574 struct request_header __header;
585 struct truncate_file_request
587 struct request_header __header;
593 struct set_file_time_request
595 struct request_header __header;
603 struct flush_file_request
605 struct request_header __header;
611 struct get_file_info_request
613 struct request_header __header;
629 struct lock_file_request
631 struct request_header __header;
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;
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;
657 handle_t handle_read;
658 handle_t handle_write;
663 struct create_socket_request
665 struct request_header __header;
676 struct accept_socket_request
678 struct request_header __header;
687 struct set_socket_event_request
689 struct request_header __header;
697 struct get_socket_event_request
699 struct request_header __header;
707 /* VARARG(errors,ints); */
712 struct enable_socket_event_request
714 struct request_header __header;
723 struct alloc_console_request
725 struct request_header __header;
734 struct free_console_request
736 struct request_header __header;
741 struct open_console_request
743 struct request_header __header;
752 struct set_console_fd_request
754 struct request_header __header;
763 struct get_console_mode_request
765 struct request_header __header;
772 struct set_console_mode_request
774 struct request_header __header;
781 struct set_console_info_request
783 struct request_header __header;
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;
801 /* VARARG(title,string); */
806 struct write_console_input_request
808 struct request_header __header;
810 /* VARARG(rec,input_records); */
815 struct read_console_input_request
817 struct request_header __header;
821 /* VARARG(rec,input_records); */
826 struct create_change_notification_request
828 struct request_header __header;
836 struct create_mapping_request
838 struct request_header __header;
843 handle_t file_handle;
844 /* VARARG(name,unicode_str); */
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;
864 /* VARARG(name,unicode_str); */
870 struct get_mapping_info_request
872 struct request_header __header;
879 handle_t shared_file;
885 struct create_device_request
887 struct request_header __header;
896 struct create_snapshot_request
898 struct request_header __header;
907 struct next_process_request
909 struct request_header __header;
920 struct next_thread_request
922 struct request_header __header;
934 struct next_module_request
936 struct request_header __header;
945 struct wait_debug_event_request
947 struct request_header __header;
952 /* VARARG(event,debug_event); */
957 struct queue_exception_event_request
959 struct request_header __header;
961 /* VARARG(record,exc_event); */
967 struct get_exception_status_request
969 struct request_header __header;
972 /* VARARG(context,context); */
977 struct output_debug_string_request
979 struct request_header __header;
987 struct continue_debug_event_request
989 struct request_header __header;
997 struct debug_process_request
999 struct request_header __header;
1005 struct read_process_memory_request
1007 struct request_header __header;
1011 /* VARARG(data,bytes); */
1016 struct write_process_memory_request
1018 struct request_header __header;
1022 unsigned int first_mask;
1023 unsigned int last_mask;
1024 /* VARARG(data,bytes); */
1029 struct create_key_request
1031 struct request_header __header;
1033 unsigned int access;
1034 unsigned int options;
1036 /* VARARG(name,unicode_len_str); */
1037 /* VARARG(class,unicode_str); */
1043 struct open_key_request
1045 struct request_header __header;
1047 unsigned int access;
1048 /* VARARG(name,unicode_str); */
1054 struct delete_key_request
1056 struct request_header __header;
1062 struct enum_key_request
1064 struct request_header __header;
1075 /* VARARG(name,unicode_len_str); */
1076 /* VARARG(class,unicode_str); */
1081 struct set_key_value_request
1083 struct request_header __header;
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;
1098 unsigned int offset;
1099 /* VARARG(name,unicode_len_str); */
1102 /* VARARG(data,bytes); */
1107 struct enum_key_value_request
1109 struct request_header __header;
1112 unsigned int offset;
1115 /* VARARG(name,unicode_len_str); */
1116 /* VARARG(data,bytes); */
1121 struct delete_key_value_request
1123 struct request_header __header;
1125 /* VARARG(name,unicode_str); */
1130 struct load_registry_request
1132 struct request_header __header;
1135 /* VARARG(name,unicode_str); */
1140 struct save_registry_request
1142 struct request_header __header;
1149 struct save_registry_atexit_request
1151 struct request_header __header;
1153 /* VARARG(file,string); */
1158 struct set_registry_levels_request
1160 struct request_header __header;
1168 struct create_timer_request
1170 struct request_header __header;
1173 /* VARARG(name,unicode_str); */
1179 struct open_timer_request
1181 struct request_header __header;
1182 unsigned int access;
1184 /* VARARG(name,unicode_str); */
1189 struct set_timer_request
1191 struct request_header __header;
1201 struct cancel_timer_request
1203 struct request_header __header;
1209 struct get_thread_context_request
1211 struct request_header __header;
1214 /* VARARG(context,context); */
1219 struct set_thread_context_request
1221 struct request_header __header;
1224 /* VARARG(context,context); */
1229 struct get_selector_entry_request
1231 struct request_header __header;
1236 unsigned char flags;
1241 struct add_atom_request
1243 struct request_header __header;
1245 /* VARARG(name,unicode_str); */
1251 struct delete_atom_request
1253 struct request_header __header;
1260 struct find_atom_request
1262 struct request_header __header;
1264 /* VARARG(name,unicode_str); */
1270 struct get_atom_name_request
1272 struct request_header __header;
1276 /* VARARG(name,unicode_str); */
1281 struct init_atom_table_request
1283 struct request_header __header;
1289 struct get_msg_queue_request
1291 struct request_header __header;
1297 struct inc_queue_paint_count_request
1299 struct request_header __header;
1306 struct set_queue_mask_request
1308 struct request_header __header;
1309 unsigned int wake_mask;
1310 unsigned int changed_mask;
1312 unsigned int wake_bits;
1313 unsigned int changed_bits;
1318 struct get_queue_status_request
1320 struct request_header __header;
1322 unsigned int wake_bits;
1323 unsigned int changed_bits;
1328 struct wait_input_idle_request
1330 struct request_header __header;
1338 struct send_message_request
1340 struct request_header __header;
1345 unsigned int wparam;
1346 unsigned int lparam;
1352 /* VARARG(data,bytes); */
1369 struct get_message_request
1371 struct request_header __header;
1374 unsigned int get_first;
1375 unsigned int get_last;
1379 unsigned int wparam;
1380 unsigned int lparam;
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;
1397 /* VARARG(data,bytes); */
1402 struct get_message_reply_request
1404 struct request_header __header;
1406 unsigned int result;
1407 /* VARARG(data,bytes); */
1412 struct cleanup_window_queue_request
1414 struct request_header __header;
1420 struct set_win_timer_request
1422 struct request_header __header;
1427 unsigned int lparam;
1432 struct kill_win_timer_request
1434 struct request_header __header;
1442 struct create_serial_request
1444 struct request_header __header;
1445 unsigned int access;
1447 unsigned int sharing;
1448 /* VARARG(name,string); */
1454 struct get_serial_info_request
1456 struct request_header __header;
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;
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;
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); */
1517 struct open_named_pipe_request
1519 struct request_header __header;
1520 unsigned int access;
1521 /* VARARG(filename,string); */
1527 struct connect_named_pipe_request
1529 struct request_header __header;
1538 REQ_get_new_process_info,
1542 REQ_init_process_done,
1544 REQ_set_thread_buffer,
1545 REQ_terminate_process,
1546 REQ_terminate_thread,
1547 REQ_get_process_info,
1548 REQ_set_process_info,
1549 REQ_get_thread_info,
1550 REQ_set_thread_info,
1558 REQ_set_handle_info,
1568 REQ_create_semaphore,
1569 REQ_release_semaphore,
1572 REQ_alloc_file_handle,
1574 REQ_set_file_pointer,
1584 REQ_set_socket_event,
1585 REQ_get_socket_event,
1586 REQ_enable_socket_event,
1591 REQ_get_console_mode,
1592 REQ_set_console_mode,
1593 REQ_set_console_info,
1594 REQ_get_console_info,
1595 REQ_write_console_input,
1596 REQ_read_console_input,
1597 REQ_create_change_notification,
1600 REQ_get_mapping_info,
1602 REQ_create_snapshot,
1606 REQ_wait_debug_event,
1607 REQ_queue_exception_event,
1608 REQ_get_exception_status,
1609 REQ_output_debug_string,
1610 REQ_continue_debug_event,
1612 REQ_read_process_memory,
1613 REQ_write_process_memory,
1621 REQ_delete_key_value,
1624 REQ_save_registry_atexit,
1625 REQ_set_registry_levels,
1630 REQ_get_thread_context,
1631 REQ_set_thread_context,
1632 REQ_get_selector_entry,
1637 REQ_init_atom_table,
1639 REQ_inc_queue_paint_count,
1641 REQ_get_queue_status,
1642 REQ_wait_input_idle,
1646 REQ_get_message_reply,
1647 REQ_cleanup_window_queue,
1651 REQ_get_serial_info,
1652 REQ_set_serial_info,
1654 REQ_create_named_pipe,
1655 REQ_open_named_pipe,
1656 REQ_connect_named_pipe,
1660 union generic_request
1662 struct request_max_size max_size;
1663 struct request_header header;
1664 struct new_process_request new_process;
1665 struct get_new_process_info_request get_new_process_info;
1666 struct new_thread_request new_thread;
1667 struct boot_done_request boot_done;
1668 struct init_process_request init_process;
1669 struct init_process_done_request init_process_done;
1670 struct init_thread_request init_thread;
1671 struct set_thread_buffer_request set_thread_buffer;
1672 struct terminate_process_request terminate_process;
1673 struct terminate_thread_request terminate_thread;
1674 struct get_process_info_request get_process_info;
1675 struct set_process_info_request set_process_info;
1676 struct get_thread_info_request get_thread_info;
1677 struct set_thread_info_request set_thread_info;
1678 struct suspend_thread_request suspend_thread;
1679 struct resume_thread_request resume_thread;
1680 struct load_dll_request load_dll;
1681 struct unload_dll_request unload_dll;
1682 struct queue_apc_request queue_apc;
1683 struct get_apc_request get_apc;
1684 struct close_handle_request close_handle;
1685 struct set_handle_info_request set_handle_info;
1686 struct dup_handle_request dup_handle;
1687 struct open_process_request open_process;
1688 struct select_request select;
1689 struct create_event_request create_event;
1690 struct event_op_request event_op;
1691 struct open_event_request open_event;
1692 struct create_mutex_request create_mutex;
1693 struct release_mutex_request release_mutex;
1694 struct open_mutex_request open_mutex;
1695 struct create_semaphore_request create_semaphore;
1696 struct release_semaphore_request release_semaphore;
1697 struct open_semaphore_request open_semaphore;
1698 struct create_file_request create_file;
1699 struct alloc_file_handle_request alloc_file_handle;
1700 struct get_handle_fd_request get_handle_fd;
1701 struct set_file_pointer_request set_file_pointer;
1702 struct truncate_file_request truncate_file;
1703 struct set_file_time_request set_file_time;
1704 struct flush_file_request flush_file;
1705 struct get_file_info_request get_file_info;
1706 struct lock_file_request lock_file;
1707 struct unlock_file_request unlock_file;
1708 struct create_pipe_request create_pipe;
1709 struct create_socket_request create_socket;
1710 struct accept_socket_request accept_socket;
1711 struct set_socket_event_request set_socket_event;
1712 struct get_socket_event_request get_socket_event;
1713 struct enable_socket_event_request enable_socket_event;
1714 struct alloc_console_request alloc_console;
1715 struct free_console_request free_console;
1716 struct open_console_request open_console;
1717 struct set_console_fd_request set_console_fd;
1718 struct get_console_mode_request get_console_mode;
1719 struct set_console_mode_request set_console_mode;
1720 struct set_console_info_request set_console_info;
1721 struct get_console_info_request get_console_info;
1722 struct write_console_input_request write_console_input;
1723 struct read_console_input_request read_console_input;
1724 struct create_change_notification_request create_change_notification;
1725 struct create_mapping_request create_mapping;
1726 struct open_mapping_request open_mapping;
1727 struct get_mapping_info_request get_mapping_info;
1728 struct create_device_request create_device;
1729 struct create_snapshot_request create_snapshot;
1730 struct next_process_request next_process;
1731 struct next_thread_request next_thread;
1732 struct next_module_request next_module;
1733 struct wait_debug_event_request wait_debug_event;
1734 struct queue_exception_event_request queue_exception_event;
1735 struct get_exception_status_request get_exception_status;
1736 struct output_debug_string_request output_debug_string;
1737 struct continue_debug_event_request continue_debug_event;
1738 struct debug_process_request debug_process;
1739 struct read_process_memory_request read_process_memory;
1740 struct write_process_memory_request write_process_memory;
1741 struct create_key_request create_key;
1742 struct open_key_request open_key;
1743 struct delete_key_request delete_key;
1744 struct enum_key_request enum_key;
1745 struct set_key_value_request set_key_value;
1746 struct get_key_value_request get_key_value;
1747 struct enum_key_value_request enum_key_value;
1748 struct delete_key_value_request delete_key_value;
1749 struct load_registry_request load_registry;
1750 struct save_registry_request save_registry;
1751 struct save_registry_atexit_request save_registry_atexit;
1752 struct set_registry_levels_request set_registry_levels;
1753 struct create_timer_request create_timer;
1754 struct open_timer_request open_timer;
1755 struct set_timer_request set_timer;
1756 struct cancel_timer_request cancel_timer;
1757 struct get_thread_context_request get_thread_context;
1758 struct set_thread_context_request set_thread_context;
1759 struct get_selector_entry_request get_selector_entry;
1760 struct add_atom_request add_atom;
1761 struct delete_atom_request delete_atom;
1762 struct find_atom_request find_atom;
1763 struct get_atom_name_request get_atom_name;
1764 struct init_atom_table_request init_atom_table;
1765 struct get_msg_queue_request get_msg_queue;
1766 struct inc_queue_paint_count_request inc_queue_paint_count;
1767 struct set_queue_mask_request set_queue_mask;
1768 struct get_queue_status_request get_queue_status;
1769 struct wait_input_idle_request wait_input_idle;
1770 struct send_message_request send_message;
1771 struct get_message_request get_message;
1772 struct reply_message_request reply_message;
1773 struct get_message_reply_request get_message_reply;
1774 struct cleanup_window_queue_request cleanup_window_queue;
1775 struct set_win_timer_request set_win_timer;
1776 struct kill_win_timer_request kill_win_timer;
1777 struct create_serial_request create_serial;
1778 struct get_serial_info_request get_serial_info;
1779 struct set_serial_info_request set_serial_info;
1780 struct create_async_request create_async;
1781 struct create_named_pipe_request create_named_pipe;
1782 struct open_named_pipe_request open_named_pipe;
1783 struct connect_named_pipe_request connect_named_pipe;
1786 #define SERVER_PROTOCOL_VERSION 49
1788 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */