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
;
1536 struct wait_named_pipe_request
1538 struct request_header __header
;
1539 unsigned int timeout
;
1541 /* VARARG(filename,string); */
1546 struct disconnect_named_pipe_request
1548 struct request_header __header
;
1556 REQ_get_new_process_info
,
1560 REQ_init_process_done
,
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
,
1576 REQ_set_handle_info
,
1586 REQ_create_semaphore
,
1587 REQ_release_semaphore
,
1590 REQ_alloc_file_handle
,
1592 REQ_set_file_pointer
,
1602 REQ_set_socket_event
,
1603 REQ_get_socket_event
,
1604 REQ_enable_socket_event
,
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
,
1618 REQ_get_mapping_info
,
1620 REQ_create_snapshot
,
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
,
1630 REQ_read_process_memory
,
1631 REQ_write_process_memory
,
1639 REQ_delete_key_value
,
1642 REQ_save_registry_atexit
,
1643 REQ_set_registry_levels
,
1648 REQ_get_thread_context
,
1649 REQ_set_thread_context
,
1650 REQ_get_selector_entry
,
1655 REQ_init_atom_table
,
1657 REQ_inc_queue_paint_count
,
1659 REQ_get_queue_status
,
1660 REQ_wait_input_idle
,
1664 REQ_get_message_reply
,
1665 REQ_cleanup_window_queue
,
1669 REQ_get_serial_info
,
1670 REQ_set_serial_info
,
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
,
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 */