blob: ef6adea8613699f9f8c6fe94d9c28778f6667b8d [file] [log] [blame]
Alexandre Julliard5bc78081999-06-22 17:26:53 +00001/*
2 * Wine server requests
3 *
4 * Copyright (C) 1999 Alexandre Julliard
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00005 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
Jonathan Ernst360a3f92006-05-18 14:49:52 +020018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Alexandre Julliard5bc78081999-06-22 17:26:53 +000019 */
Alexandre Julliard767e6f61998-08-09 12:47:43 +000020
21#ifndef __WINE_SERVER_REQUEST_H
22#define __WINE_SERVER_REQUEST_H
23
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000024#include <assert.h>
25
Alexandre Julliard5bc78081999-06-22 17:26:53 +000026#include "thread.h"
Alexandre Julliard37ec9272001-07-19 00:35:37 +000027#include "wine/server_protocol.h"
Alexandre Julliard5bc78081999-06-22 17:26:53 +000028
Alexandre Julliardebe29ef1999-06-26 08:43:26 +000029/* max request length */
30#define MAX_REQUEST_LENGTH 8192
Alexandre Julliard5bc78081999-06-22 17:26:53 +000031
Alexandre Julliardebe29ef1999-06-26 08:43:26 +000032/* request handler definition */
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000033#define DECL_HANDLER(name) \
34 void req_##name( const struct name##_request *req, struct name##_reply *reply )
Alexandre Julliard5bc78081999-06-22 17:26:53 +000035
36/* request functions */
37
Alexandre Julliardea0d0282000-03-10 22:16:10 +000038#ifdef __GNUC__
39extern void fatal_protocol_error( struct thread *thread,
40 const char *err, ... ) __attribute__((format (printf,2,3)));
Alexandre Julliarde5dedb12001-03-08 01:16:41 +000041extern void fatal_protocol_perror( struct thread *thread,
42 const char *err, ... ) __attribute__((format (printf,2,3)));
43extern void fatal_error( const char *err, ... ) __attribute__((noreturn,format(printf,1,2)));
44extern void fatal_perror( const char *err, ... ) __attribute__((noreturn,format(printf,1,2)));
Alexandre Julliardea0d0282000-03-10 22:16:10 +000045#else
46extern void fatal_protocol_error( struct thread *thread, const char *err, ... );
Alexandre Julliarde5dedb12001-03-08 01:16:41 +000047extern void fatal_protocol_perror( struct thread *thread, const char *err, ... );
48extern void fatal_error( const char *err, ... );
49extern void fatal_perror( const char *err, ... );
Alexandre Julliardea0d0282000-03-10 22:16:10 +000050#endif
51
Alexandre Julliard6c8d9172000-08-26 04:40:07 +000052extern const char *get_config_dir(void);
Alexandre Julliard0f273c12006-07-26 10:43:25 +020053extern void *set_reply_data_size( data_size_t size );
Alexandre Julliardf5242402001-02-28 21:45:23 +000054extern int receive_fd( struct process *process );
Alexandre Julliard51885742002-05-30 20:12:58 +000055extern int send_client_fd( struct process *process, int fd, obj_handle_t handle );
Alexandre Julliard8859d772001-03-01 22:13:49 +000056extern void read_request( struct thread *thread );
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000057extern void write_reply( struct thread *thread );
Alexandre Julliard516e40e2001-10-17 17:48:49 +000058extern unsigned int get_tick_count(void);
Alexandre Julliard2fe57772000-01-25 01:40:27 +000059extern void open_master_socket(void);
Alexandre Julliardaf268c62008-01-02 16:16:00 +010060extern void close_master_socket( timeout_t timeout );
Alexandre Julliard3a4c04d2006-08-14 20:40:31 +020061extern void shutdown_master_socket(void);
Alexandre Julliard4144b5b2002-06-20 23:21:27 +000062extern int wait_for_lock(void);
Alexandre Julliard40043ed2002-08-16 20:02:15 +000063extern int kill_lock_owner( int sig );
Alexandre Julliard161160f2008-04-17 12:41:34 +020064extern int server_dir_fd, config_dir_fd;
Alexandre Julliard5bc78081999-06-22 17:26:53 +000065
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000066extern void trace_request(void);
67extern void trace_reply( enum request req, const union generic_reply *reply );
Alexandre Julliard5bc78081999-06-22 17:26:53 +000068
Alexandre Julliard86113532000-08-29 03:54:30 +000069/* get the request vararg data */
Andrew Talbotb1788c82007-03-17 10:52:14 +000070static inline const void *get_req_data(void)
Alexandre Julliard86113532000-08-29 03:54:30 +000071{
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000072 return current->req_data;
Alexandre Julliard86113532000-08-29 03:54:30 +000073}
74
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000075/* get the request vararg size */
Andrew Talbotb1788c82007-03-17 10:52:14 +000076static inline data_size_t get_req_data_size(void)
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000077{
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000078 return current->req.request_header.request_size;
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000079}
80
Alexandre Julliardead9b062005-11-18 16:31:18 +000081/* get the request vararg as unicode string */
Andrew Talbotb1788c82007-03-17 10:52:14 +000082static inline void get_req_unicode_str( struct unicode_str *str )
Alexandre Julliardead9b062005-11-18 16:31:18 +000083{
84 str->str = get_req_data();
85 str->len = (get_req_data_size() / sizeof(WCHAR)) * sizeof(WCHAR);
86}
87
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000088/* get the reply maximum vararg size */
Andrew Talbotb1788c82007-03-17 10:52:14 +000089static inline data_size_t get_reply_max_size(void)
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000090{
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000091 return current->req.request_header.reply_size;
Alexandre Julliard9c2370b2000-08-30 00:00:48 +000092}
93
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000094/* allocate and fill the reply data */
Andrew Talbotb1788c82007-03-17 10:52:14 +000095static inline void *set_reply_data( const void *data, data_size_t size )
Alexandre Julliard9caa71e2001-11-30 18:46:42 +000096{
97 void *ret = set_reply_data_size( size );
98 if (ret) memcpy( ret, data, size );
99 return ret;
100}
101
102/* set the reply data pointer directly (will be freed by request code) */
Andrew Talbotb1788c82007-03-17 10:52:14 +0000103static inline void set_reply_data_ptr( void *data, data_size_t size )
Alexandre Julliard9caa71e2001-11-30 18:46:42 +0000104{
105 assert( size <= get_reply_max_size() );
106 current->reply_size = size;
107 current->reply_data = data;
108}
109
110
Alexandre Julliard5bc78081999-06-22 17:26:53 +0000111/* Everything below this line is generated automatically by tools/make_requests */
112/* ### make_requests begin ### */
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000113
Alexandre Julliardf692d441999-03-21 19:23:54 +0000114DECL_HANDLER(new_process);
Alexandre Julliarde9936d92001-01-26 00:22:26 +0000115DECL_HANDLER(get_new_process_info);
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000116DECL_HANDLER(new_thread);
Alexandre Julliard6543a652002-03-29 18:28:56 +0000117DECL_HANDLER(get_startup_info);
Alexandre Julliardec7bb231999-11-12 03:35:25 +0000118DECL_HANDLER(init_process_done);
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000119DECL_HANDLER(init_thread);
120DECL_HANDLER(terminate_process);
121DECL_HANDLER(terminate_thread);
122DECL_HANDLER(get_process_info);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000123DECL_HANDLER(set_process_info);
Alexandre Julliard85ed45e1998-08-22 19:03:56 +0000124DECL_HANDLER(get_thread_info);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000125DECL_HANDLER(set_thread_info);
Eric Pouech2359b572003-01-09 00:01:28 +0000126DECL_HANDLER(get_dll_info);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000127DECL_HANDLER(suspend_thread);
128DECL_HANDLER(resume_thread);
Alexandre Julliard05f0b712000-03-09 18:18:41 +0000129DECL_HANDLER(load_dll);
130DECL_HANDLER(unload_dll);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000131DECL_HANDLER(queue_apc);
Alexandre Julliardfb40dc42007-01-15 22:24:40 +0100132DECL_HANDLER(get_apc_result);
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000133DECL_HANDLER(close_handle);
Alexandre Julliard6d4ee731999-02-20 16:13:28 +0000134DECL_HANDLER(set_handle_info);
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000135DECL_HANDLER(dup_handle);
136DECL_HANDLER(open_process);
Chris Morgan417296c2002-04-02 00:49:05 +0000137DECL_HANDLER(open_thread);
Alexandre Julliard85ed45e1998-08-22 19:03:56 +0000138DECL_HANDLER(select);
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000139DECL_HANDLER(create_event);
140DECL_HANDLER(event_op);
Alexandre Julliard43c190e1999-05-15 10:48:19 +0000141DECL_HANDLER(open_event);
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000142DECL_HANDLER(create_mutex);
143DECL_HANDLER(release_mutex);
Alexandre Julliard43c190e1999-05-15 10:48:19 +0000144DECL_HANDLER(open_mutex);
Alexandre Julliardd30dfd21998-09-27 18:28:36 +0000145DECL_HANDLER(create_semaphore);
146DECL_HANDLER(release_semaphore);
Alexandre Julliard43c190e1999-05-15 10:48:19 +0000147DECL_HANDLER(open_semaphore);
Alexandre Julliard338e7571998-12-27 15:28:54 +0000148DECL_HANDLER(create_file);
Alexandre Julliard67505c02005-12-12 14:27:45 +0100149DECL_HANDLER(open_file_object);
Alexandre Julliardebe29ef1999-06-26 08:43:26 +0000150DECL_HANDLER(alloc_file_handle);
Henri Verbeet27705d52009-11-12 15:10:12 +0100151DECL_HANDLER(get_handle_unix_name);
Alexandre Julliard1ab243b2000-12-19 02:12:45 +0000152DECL_HANDLER(get_handle_fd);
Alexandre Julliardaa0ebd01998-12-30 12:06:45 +0000153DECL_HANDLER(flush_file);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000154DECL_HANDLER(lock_file);
155DECL_HANDLER(unlock_file);
Ove Kaaven019211f1999-10-13 16:05:37 +0000156DECL_HANDLER(create_socket);
157DECL_HANDLER(accept_socket);
158DECL_HANDLER(set_socket_event);
159DECL_HANDLER(get_socket_event);
160DECL_HANDLER(enable_socket_event);
Martin Wilckd15bf1c2002-04-23 22:03:42 +0000161DECL_HANDLER(set_socket_deferred);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000162DECL_HANDLER(alloc_console);
163DECL_HANDLER(free_console);
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000164DECL_HANDLER(get_console_renderer_events);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000165DECL_HANDLER(open_console);
Eric Pouech412d37f2003-06-21 02:07:10 +0000166DECL_HANDLER(get_console_wait_event);
Alexandre Julliard62a8b431999-01-19 17:48:23 +0000167DECL_HANDLER(get_console_mode);
168DECL_HANDLER(set_console_mode);
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000169DECL_HANDLER(set_console_input_info);
170DECL_HANDLER(get_console_input_info);
171DECL_HANDLER(append_console_input_history);
172DECL_HANDLER(get_console_input_history);
173DECL_HANDLER(create_console_output);
174DECL_HANDLER(set_console_output_info);
175DECL_HANDLER(get_console_output_info);
Alexandre Julliard4b461121999-01-31 19:04:30 +0000176DECL_HANDLER(write_console_input);
177DECL_HANDLER(read_console_input);
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000178DECL_HANDLER(write_console_output);
Alexandre Julliard9caa71e2001-11-30 18:46:42 +0000179DECL_HANDLER(fill_console_output);
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000180DECL_HANDLER(read_console_output);
181DECL_HANDLER(move_console_output);
Eric Pouech93bfa0d2002-06-02 21:22:22 +0000182DECL_HANDLER(send_console_signal);
Mike McCormack08351072006-01-27 12:13:56 +0100183DECL_HANDLER(read_directory_changes);
Mike McCormack01932112006-02-06 11:58:55 +0100184DECL_HANDLER(read_change);
Alexandre Julliarda8b8d9c1999-01-01 16:59:27 +0000185DECL_HANDLER(create_mapping);
Alexandre Julliard43c190e1999-05-15 10:48:19 +0000186DECL_HANDLER(open_mapping);
Alexandre Julliarda8b8d9c1999-01-01 16:59:27 +0000187DECL_HANDLER(get_mapping_info);
Alexandre Julliardcdce50f2008-11-05 12:24:05 +0100188DECL_HANDLER(get_mapping_committed_range);
189DECL_HANDLER(add_mapping_committed_range);
Alexandre Julliardfdc92ba1999-02-14 18:03:15 +0000190DECL_HANDLER(create_snapshot);
191DECL_HANDLER(next_process);
Alexandre Julliard07d84462000-04-16 19:45:05 +0000192DECL_HANDLER(next_thread);
Alexandre Julliarde712e071999-05-23 19:53:30 +0000193DECL_HANDLER(wait_debug_event);
Alexandre Julliarde939eae2001-01-26 20:45:41 +0000194DECL_HANDLER(queue_exception_event);
195DECL_HANDLER(get_exception_status);
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000196DECL_HANDLER(output_debug_string);
Alexandre Julliarde712e071999-05-23 19:53:30 +0000197DECL_HANDLER(continue_debug_event);
198DECL_HANDLER(debug_process);
Alexandre Julliard3c4538c2002-02-27 01:55:02 +0000199DECL_HANDLER(debug_break);
Eric Pouechfbccb382002-02-27 01:28:30 +0000200DECL_HANDLER(set_debugger_kill_on_exit);
Alexandre Julliard8b8828f1999-11-12 21:39:14 +0000201DECL_HANDLER(read_process_memory);
Alexandre Julliardeef70251999-11-13 19:54:54 +0000202DECL_HANDLER(write_process_memory);
Alexandre Julliardd7e85d61999-11-23 19:39:11 +0000203DECL_HANDLER(create_key);
204DECL_HANDLER(open_key);
205DECL_HANDLER(delete_key);
Mike Hearn43cb03b2004-01-03 00:38:30 +0000206DECL_HANDLER(flush_key);
Alexandre Julliardd7e85d61999-11-23 19:39:11 +0000207DECL_HANDLER(enum_key);
Alexandre Julliardd7e85d61999-11-23 19:39:11 +0000208DECL_HANDLER(set_key_value);
209DECL_HANDLER(get_key_value);
210DECL_HANDLER(enum_key_value);
211DECL_HANDLER(delete_key_value);
212DECL_HANDLER(load_registry);
Mike McCormack5ac945c2003-08-19 03:08:17 +0000213DECL_HANDLER(unload_registry);
Alexandre Julliardd7e85d61999-11-23 19:39:11 +0000214DECL_HANDLER(save_registry);
Mike McCormack11f4b442002-11-25 02:47:32 +0000215DECL_HANDLER(set_registry_notification);
Alexandre Julliardad47a301999-11-29 01:58:35 +0000216DECL_HANDLER(create_timer);
217DECL_HANDLER(open_timer);
218DECL_HANDLER(set_timer);
219DECL_HANDLER(cancel_timer);
Robert Shearman7572b122004-12-13 21:10:58 +0000220DECL_HANDLER(get_timer_info);
Alexandre Julliard3e2517c2000-01-20 18:59:03 +0000221DECL_HANDLER(get_thread_context);
222DECL_HANDLER(set_thread_context);
Alexandre Julliard0a7c1f62000-01-27 02:54:17 +0000223DECL_HANDLER(get_selector_entry);
Alexandre Julliardb849d792000-02-13 13:56:13 +0000224DECL_HANDLER(add_atom);
225DECL_HANDLER(delete_atom);
226DECL_HANDLER(find_atom);
Eric Poueche6267362005-05-10 15:15:50 +0000227DECL_HANDLER(get_atom_information);
228DECL_HANDLER(set_atom_information);
229DECL_HANDLER(empty_atom_table);
Turchanov Sergei43a27e32000-05-30 20:32:06 +0000230DECL_HANDLER(init_atom_table);
Alexandre Julliardc5e433a2000-05-30 19:48:18 +0000231DECL_HANDLER(get_msg_queue);
Alexandre Julliard0cb29f42007-04-04 18:02:01 +0200232DECL_HANDLER(set_queue_fd);
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000233DECL_HANDLER(set_queue_mask);
234DECL_HANDLER(get_queue_status);
Alexandre Julliardce40ef12006-07-26 11:48:25 +0200235DECL_HANDLER(get_process_idle_event);
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000236DECL_HANDLER(send_message);
Robert Shearmana40ce392006-01-17 13:14:31 +0100237DECL_HANDLER(post_quit_message);
Alexandre Julliardd3b30962006-08-09 16:45:26 +0200238DECL_HANDLER(send_hardware_message);
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000239DECL_HANDLER(get_message);
240DECL_HANDLER(reply_message);
Alexandre Julliard0bc83772005-03-23 10:33:17 +0000241DECL_HANDLER(accept_hardware_message);
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000242DECL_HANDLER(get_message_reply);
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000243DECL_HANDLER(set_win_timer);
244DECL_HANDLER(kill_win_timer);
Dmitry Timoshkove735e192007-12-28 10:59:13 +0800245DECL_HANDLER(is_window_hung);
Mike McCormack654fcc72000-09-16 20:55:12 +0000246DECL_HANDLER(get_serial_info);
247DECL_HANDLER(set_serial_info);
Mike McCormack6f011c02001-12-20 00:07:05 +0000248DECL_HANDLER(register_async);
Eric Pouech46344472005-01-14 19:54:38 +0000249DECL_HANDLER(cancel_async);
Alexandre Julliard63571432007-04-16 14:45:03 +0200250DECL_HANDLER(ioctl);
Alexandre Julliardaafcfe72007-05-08 20:45:44 +0200251DECL_HANDLER(get_ioctl_result);
Mike McCormackde7c3002001-07-10 19:16:49 +0000252DECL_HANDLER(create_named_pipe);
Mike McCormackf2e7ce72001-08-27 19:03:42 +0000253DECL_HANDLER(get_named_pipe_info);
Alexandre Julliard1a66d222001-08-28 18:44:52 +0000254DECL_HANDLER(create_window);
Alexandre Julliard1a66d222001-08-28 18:44:52 +0000255DECL_HANDLER(destroy_window);
Alexandre Julliard8c518802005-07-08 11:37:40 +0000256DECL_HANDLER(get_desktop_window);
Alexandre Julliardddc33172001-10-22 19:08:33 +0000257DECL_HANDLER(set_window_owner);
Alexandre Julliard1a66d222001-08-28 18:44:52 +0000258DECL_HANDLER(get_window_info);
Alexandre Julliardddc33172001-10-22 19:08:33 +0000259DECL_HANDLER(set_window_info);
Alexandre Julliard4d32a472005-03-25 10:38:56 +0000260DECL_HANDLER(set_parent);
Alexandre Julliarda09da0c2001-09-21 21:08:40 +0000261DECL_HANDLER(get_window_parents);
262DECL_HANDLER(get_window_children);
Alexandre Julliard4616dcb2004-07-20 22:17:38 +0000263DECL_HANDLER(get_window_children_from_point);
Alexandre Julliarda09da0c2001-09-21 21:08:40 +0000264DECL_HANDLER(get_window_tree);
Alexandre Julliard5defa492004-12-07 17:31:53 +0000265DECL_HANDLER(set_window_pos);
Alexandre Julliard0d509652001-10-16 21:55:37 +0000266DECL_HANDLER(get_window_rectangles);
Alexandre Julliard805bdc52001-11-13 22:23:48 +0000267DECL_HANDLER(get_window_text);
268DECL_HANDLER(set_window_text);
Alexandre Julliard0d509652001-10-16 21:55:37 +0000269DECL_HANDLER(get_windows_offset);
Alexandre Julliarde8d86b72004-06-23 20:44:58 +0000270DECL_HANDLER(get_visible_region);
Alexandre Julliard618a7e52004-06-29 03:53:25 +0000271DECL_HANDLER(get_window_region);
272DECL_HANDLER(set_window_region);
Alexandre Julliard5defa492004-12-07 17:31:53 +0000273DECL_HANDLER(get_update_region);
Alexandre Julliard5054c792005-03-21 12:37:00 +0000274DECL_HANDLER(update_window_zorder);
Alexandre Julliard5defa492004-12-07 17:31:53 +0000275DECL_HANDLER(redraw_window);
Alexandre Julliard7a2017d2001-10-12 19:10:26 +0000276DECL_HANDLER(set_window_property);
277DECL_HANDLER(remove_window_property);
278DECL_HANDLER(get_window_property);
279DECL_HANDLER(get_window_properties);
Alexandre Julliard1bf96e02005-06-08 18:44:50 +0000280DECL_HANDLER(create_winstation);
281DECL_HANDLER(open_winstation);
282DECL_HANDLER(close_winstation);
283DECL_HANDLER(get_process_winstation);
284DECL_HANDLER(set_process_winstation);
Alexandre Julliardd30b5742007-12-05 16:45:32 +0100285DECL_HANDLER(enum_winstation);
Alexandre Julliard1bf96e02005-06-08 18:44:50 +0000286DECL_HANDLER(create_desktop);
287DECL_HANDLER(open_desktop);
288DECL_HANDLER(close_desktop);
289DECL_HANDLER(get_thread_desktop);
290DECL_HANDLER(set_thread_desktop);
Alexandre Julliardd30b5742007-12-05 16:45:32 +0100291DECL_HANDLER(enum_desktop);
Alexandre Julliard1bf96e02005-06-08 18:44:50 +0000292DECL_HANDLER(set_user_object_info);
Alexandre Julliardab5063b2002-10-11 18:50:15 +0000293DECL_HANDLER(attach_thread_input);
294DECL_HANDLER(get_thread_input);
Mike McCormackabe70f72005-04-28 12:04:14 +0000295DECL_HANDLER(get_last_input_time);
Alexandre Julliard8ba666f2003-01-08 19:56:31 +0000296DECL_HANDLER(get_key_state);
297DECL_HANDLER(set_key_state);
Alexandre Julliard5030bda2002-10-11 23:41:06 +0000298DECL_HANDLER(set_foreground_window);
299DECL_HANDLER(set_focus_window);
300DECL_HANDLER(set_active_window);
Alexandre Julliarda9e8f592002-10-12 01:24:37 +0000301DECL_HANDLER(set_capture_window);
Alexandre Julliard11e35232002-10-17 01:24:33 +0000302DECL_HANDLER(set_caret_window);
303DECL_HANDLER(set_caret_info);
Alexandre Julliard02861352002-10-29 00:41:42 +0000304DECL_HANDLER(set_hook);
305DECL_HANDLER(remove_hook);
306DECL_HANDLER(start_hook_chain);
307DECL_HANDLER(finish_hook_chain);
Alexandre Julliard2f80fcd2006-10-05 14:05:48 +0200308DECL_HANDLER(get_hook_info);
Alexandre Julliardbfce1512003-12-10 04:08:06 +0000309DECL_HANDLER(create_class);
310DECL_HANDLER(destroy_class);
311DECL_HANDLER(set_class_info);
Ulrich Czekallab2df5f92003-06-23 23:02:02 +0000312DECL_HANDLER(set_clipboard_info);
Mike McCormack36cd6f52003-07-24 00:07:00 +0000313DECL_HANDLER(open_token);
Alexandre Julliard8d174d32003-10-07 03:40:23 +0000314DECL_HANDLER(set_global_windows);
Robert Shearmanb0f02b22005-02-11 11:52:06 +0000315DECL_HANDLER(adjust_token_privileges);
316DECL_HANDLER(get_token_privileges);
Robert Shearmand2ea92d2005-04-22 21:17:15 +0000317DECL_HANDLER(check_token_privileges);
Robert Shearmanb0f02b22005-02-11 11:52:06 +0000318DECL_HANDLER(duplicate_token);
Robert Shearman4ad93412005-05-24 12:32:18 +0000319DECL_HANDLER(access_check);
Rob Shearmanbd569162009-11-16 20:11:06 +0000320DECL_HANDLER(get_token_sid);
Robert Shearman3396a662006-05-13 16:58:19 +0100321DECL_HANDLER(get_token_groups);
Hans Leidekker24af6f32009-04-21 09:53:16 +0200322DECL_HANDLER(get_token_default_dacl);
323DECL_HANDLER(set_token_default_dacl);
Vitaliy Margolenb0e9d7e2007-02-07 21:43:11 -0700324DECL_HANDLER(set_security_object);
Rob Shearman5356bfd2007-10-02 15:55:13 +0100325DECL_HANDLER(get_security_object);
Mike McCormack2ab6a772005-03-30 19:02:15 +0000326DECL_HANDLER(create_mailslot);
Mike McCormack2ab6a772005-03-30 19:02:15 +0000327DECL_HANDLER(set_mailslot_info);
Vitaliy Margolen3c6bdcc2005-11-29 17:21:05 +0100328DECL_HANDLER(create_directory);
329DECL_HANDLER(open_directory);
Alexandre Julliarda5e38b32007-12-05 16:57:41 +0100330DECL_HANDLER(get_directory_entry);
Vitaliy Margolen80444df2005-11-30 19:22:57 +0100331DECL_HANDLER(create_symlink);
332DECL_HANDLER(open_symlink);
333DECL_HANDLER(query_symlink);
Vitaliy Margolenbae75022007-01-24 23:43:04 -0700334DECL_HANDLER(get_object_info);
Alexandre Julliardba715792008-10-20 16:21:06 +0200335DECL_HANDLER(unlink_object);
Rob Shearmand342d142007-02-21 17:10:45 +0000336DECL_HANDLER(get_token_impersonation_level);
Juan Langc2cb2962007-03-06 16:33:26 -0800337DECL_HANDLER(allocate_locally_unique_id);
Alexandre Julliardb43dc152007-05-08 20:28:37 +0200338DECL_HANDLER(create_device_manager);
339DECL_HANDLER(create_device);
340DECL_HANDLER(delete_device);
Alexandre Julliard78b75102007-05-08 20:40:26 +0200341DECL_HANDLER(get_next_device_request);
Alexandre Julliard156b2052007-06-06 20:33:13 +0200342DECL_HANDLER(make_process_system);
Rob Shearman3f431a02007-09-13 16:47:56 +0100343DECL_HANDLER(get_token_statistics);
Andrey Turkin47758242007-09-18 00:00:45 +0400344DECL_HANDLER(create_completion);
345DECL_HANDLER(open_completion);
346DECL_HANDLER(add_completion);
347DECL_HANDLER(remove_completion);
348DECL_HANDLER(query_completion);
Andrey Turkind1a81552007-09-28 00:03:39 +0400349DECL_HANDLER(set_completion_info);
Andrey Turkin27cb7c72007-11-10 01:11:58 +0300350DECL_HANDLER(add_fd_completion);
Alexandre Julliard05b41812008-09-12 15:30:47 +0200351DECL_HANDLER(get_window_layered_info);
352DECL_HANDLER(set_window_layered_info);
Alexandre Julliard9018e132009-10-12 14:25:01 +0200353DECL_HANDLER(alloc_user_handle);
354DECL_HANDLER(free_user_handle);
Alexandre Julliard8159d4e2010-03-22 17:52:23 +0100355DECL_HANDLER(set_cursor);
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000356
Alexandre Julliard5bc78081999-06-22 17:26:53 +0000357#ifdef WANT_REQUEST_HANDLERS
358
Alexandre Julliard9caa71e2001-11-30 18:46:42 +0000359typedef void (*req_handler)( const void *req, void *reply );
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000360static const req_handler req_handlers[REQ_NB_REQUESTS] =
361{
362 (req_handler)req_new_process,
Alexandre Julliarde9936d92001-01-26 00:22:26 +0000363 (req_handler)req_get_new_process_info,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000364 (req_handler)req_new_thread,
Alexandre Julliard6543a652002-03-29 18:28:56 +0000365 (req_handler)req_get_startup_info,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000366 (req_handler)req_init_process_done,
367 (req_handler)req_init_thread,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000368 (req_handler)req_terminate_process,
369 (req_handler)req_terminate_thread,
370 (req_handler)req_get_process_info,
371 (req_handler)req_set_process_info,
372 (req_handler)req_get_thread_info,
373 (req_handler)req_set_thread_info,
Eric Pouech2359b572003-01-09 00:01:28 +0000374 (req_handler)req_get_dll_info,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000375 (req_handler)req_suspend_thread,
376 (req_handler)req_resume_thread,
377 (req_handler)req_load_dll,
378 (req_handler)req_unload_dll,
379 (req_handler)req_queue_apc,
Alexandre Julliardfb40dc42007-01-15 22:24:40 +0100380 (req_handler)req_get_apc_result,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000381 (req_handler)req_close_handle,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000382 (req_handler)req_set_handle_info,
383 (req_handler)req_dup_handle,
384 (req_handler)req_open_process,
Chris Morgan417296c2002-04-02 00:49:05 +0000385 (req_handler)req_open_thread,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000386 (req_handler)req_select,
387 (req_handler)req_create_event,
388 (req_handler)req_event_op,
389 (req_handler)req_open_event,
390 (req_handler)req_create_mutex,
391 (req_handler)req_release_mutex,
392 (req_handler)req_open_mutex,
393 (req_handler)req_create_semaphore,
394 (req_handler)req_release_semaphore,
395 (req_handler)req_open_semaphore,
396 (req_handler)req_create_file,
Alexandre Julliard67505c02005-12-12 14:27:45 +0100397 (req_handler)req_open_file_object,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000398 (req_handler)req_alloc_file_handle,
Henri Verbeet27705d52009-11-12 15:10:12 +0100399 (req_handler)req_get_handle_unix_name,
Alexandre Julliard1ab243b2000-12-19 02:12:45 +0000400 (req_handler)req_get_handle_fd,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000401 (req_handler)req_flush_file,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000402 (req_handler)req_lock_file,
403 (req_handler)req_unlock_file,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000404 (req_handler)req_create_socket,
405 (req_handler)req_accept_socket,
406 (req_handler)req_set_socket_event,
407 (req_handler)req_get_socket_event,
408 (req_handler)req_enable_socket_event,
Martin Wilckd15bf1c2002-04-23 22:03:42 +0000409 (req_handler)req_set_socket_deferred,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000410 (req_handler)req_alloc_console,
411 (req_handler)req_free_console,
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000412 (req_handler)req_get_console_renderer_events,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000413 (req_handler)req_open_console,
Eric Pouech412d37f2003-06-21 02:07:10 +0000414 (req_handler)req_get_console_wait_event,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000415 (req_handler)req_get_console_mode,
416 (req_handler)req_set_console_mode,
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000417 (req_handler)req_set_console_input_info,
418 (req_handler)req_get_console_input_info,
419 (req_handler)req_append_console_input_history,
420 (req_handler)req_get_console_input_history,
421 (req_handler)req_create_console_output,
422 (req_handler)req_set_console_output_info,
423 (req_handler)req_get_console_output_info,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000424 (req_handler)req_write_console_input,
425 (req_handler)req_read_console_input,
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000426 (req_handler)req_write_console_output,
Alexandre Julliard9caa71e2001-11-30 18:46:42 +0000427 (req_handler)req_fill_console_output,
Eric Pouech0b83d4c2001-11-23 23:04:58 +0000428 (req_handler)req_read_console_output,
429 (req_handler)req_move_console_output,
Eric Pouech93bfa0d2002-06-02 21:22:22 +0000430 (req_handler)req_send_console_signal,
Mike McCormack08351072006-01-27 12:13:56 +0100431 (req_handler)req_read_directory_changes,
Mike McCormack01932112006-02-06 11:58:55 +0100432 (req_handler)req_read_change,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000433 (req_handler)req_create_mapping,
434 (req_handler)req_open_mapping,
435 (req_handler)req_get_mapping_info,
Alexandre Julliardcdce50f2008-11-05 12:24:05 +0100436 (req_handler)req_get_mapping_committed_range,
437 (req_handler)req_add_mapping_committed_range,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000438 (req_handler)req_create_snapshot,
439 (req_handler)req_next_process,
Alexandre Julliard07d84462000-04-16 19:45:05 +0000440 (req_handler)req_next_thread,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000441 (req_handler)req_wait_debug_event,
Alexandre Julliarde939eae2001-01-26 20:45:41 +0000442 (req_handler)req_queue_exception_event,
443 (req_handler)req_get_exception_status,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000444 (req_handler)req_output_debug_string,
445 (req_handler)req_continue_debug_event,
446 (req_handler)req_debug_process,
Alexandre Julliard3c4538c2002-02-27 01:55:02 +0000447 (req_handler)req_debug_break,
Eric Pouechfbccb382002-02-27 01:28:30 +0000448 (req_handler)req_set_debugger_kill_on_exit,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000449 (req_handler)req_read_process_memory,
450 (req_handler)req_write_process_memory,
451 (req_handler)req_create_key,
452 (req_handler)req_open_key,
453 (req_handler)req_delete_key,
Mike Hearn43cb03b2004-01-03 00:38:30 +0000454 (req_handler)req_flush_key,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000455 (req_handler)req_enum_key,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000456 (req_handler)req_set_key_value,
457 (req_handler)req_get_key_value,
458 (req_handler)req_enum_key_value,
459 (req_handler)req_delete_key_value,
460 (req_handler)req_load_registry,
Mike McCormack5ac945c2003-08-19 03:08:17 +0000461 (req_handler)req_unload_registry,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000462 (req_handler)req_save_registry,
Mike McCormack11f4b442002-11-25 02:47:32 +0000463 (req_handler)req_set_registry_notification,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000464 (req_handler)req_create_timer,
465 (req_handler)req_open_timer,
466 (req_handler)req_set_timer,
467 (req_handler)req_cancel_timer,
Robert Shearman7572b122004-12-13 21:10:58 +0000468 (req_handler)req_get_timer_info,
Alexandre Julliardea0d0282000-03-10 22:16:10 +0000469 (req_handler)req_get_thread_context,
470 (req_handler)req_set_thread_context,
471 (req_handler)req_get_selector_entry,
472 (req_handler)req_add_atom,
473 (req_handler)req_delete_atom,
474 (req_handler)req_find_atom,
Eric Poueche6267362005-05-10 15:15:50 +0000475 (req_handler)req_get_atom_information,
476 (req_handler)req_set_atom_information,
477 (req_handler)req_empty_atom_table,
Turchanov Sergei43a27e32000-05-30 20:32:06 +0000478 (req_handler)req_init_atom_table,
Alexandre Julliardc5e433a2000-05-30 19:48:18 +0000479 (req_handler)req_get_msg_queue,
Alexandre Julliard0cb29f42007-04-04 18:02:01 +0200480 (req_handler)req_set_queue_fd,
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000481 (req_handler)req_set_queue_mask,
482 (req_handler)req_get_queue_status,
Alexandre Julliardce40ef12006-07-26 11:48:25 +0200483 (req_handler)req_get_process_idle_event,
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000484 (req_handler)req_send_message,
Robert Shearmana40ce392006-01-17 13:14:31 +0100485 (req_handler)req_post_quit_message,
Alexandre Julliardd3b30962006-08-09 16:45:26 +0200486 (req_handler)req_send_hardware_message,
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000487 (req_handler)req_get_message,
488 (req_handler)req_reply_message,
Alexandre Julliard0bc83772005-03-23 10:33:17 +0000489 (req_handler)req_accept_hardware_message,
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000490 (req_handler)req_get_message_reply,
Alexandre Julliard51ab43b2001-05-18 22:51:56 +0000491 (req_handler)req_set_win_timer,
492 (req_handler)req_kill_win_timer,
Dmitry Timoshkove735e192007-12-28 10:59:13 +0800493 (req_handler)req_is_window_hung,
Mike McCormack654fcc72000-09-16 20:55:12 +0000494 (req_handler)req_get_serial_info,
495 (req_handler)req_set_serial_info,
Mike McCormack6f011c02001-12-20 00:07:05 +0000496 (req_handler)req_register_async,
Eric Pouech46344472005-01-14 19:54:38 +0000497 (req_handler)req_cancel_async,
Alexandre Julliard63571432007-04-16 14:45:03 +0200498 (req_handler)req_ioctl,
Alexandre Julliardaafcfe72007-05-08 20:45:44 +0200499 (req_handler)req_get_ioctl_result,
Mike McCormackde7c3002001-07-10 19:16:49 +0000500 (req_handler)req_create_named_pipe,
Mike McCormackf2e7ce72001-08-27 19:03:42 +0000501 (req_handler)req_get_named_pipe_info,
Alexandre Julliard1a66d222001-08-28 18:44:52 +0000502 (req_handler)req_create_window,
Alexandre Julliard1a66d222001-08-28 18:44:52 +0000503 (req_handler)req_destroy_window,
Alexandre Julliard8c518802005-07-08 11:37:40 +0000504 (req_handler)req_get_desktop_window,
Alexandre Julliardddc33172001-10-22 19:08:33 +0000505 (req_handler)req_set_window_owner,
Alexandre Julliard1a66d222001-08-28 18:44:52 +0000506 (req_handler)req_get_window_info,
Alexandre Julliardddc33172001-10-22 19:08:33 +0000507 (req_handler)req_set_window_info,
Alexandre Julliard4d32a472005-03-25 10:38:56 +0000508 (req_handler)req_set_parent,
Alexandre Julliarda09da0c2001-09-21 21:08:40 +0000509 (req_handler)req_get_window_parents,
510 (req_handler)req_get_window_children,
Alexandre Julliard4616dcb2004-07-20 22:17:38 +0000511 (req_handler)req_get_window_children_from_point,
Alexandre Julliarda09da0c2001-09-21 21:08:40 +0000512 (req_handler)req_get_window_tree,
Alexandre Julliard5defa492004-12-07 17:31:53 +0000513 (req_handler)req_set_window_pos,
Alexandre Julliard0d509652001-10-16 21:55:37 +0000514 (req_handler)req_get_window_rectangles,
Alexandre Julliard805bdc52001-11-13 22:23:48 +0000515 (req_handler)req_get_window_text,
516 (req_handler)req_set_window_text,
Alexandre Julliard0d509652001-10-16 21:55:37 +0000517 (req_handler)req_get_windows_offset,
Alexandre Julliarde8d86b72004-06-23 20:44:58 +0000518 (req_handler)req_get_visible_region,
Alexandre Julliard618a7e52004-06-29 03:53:25 +0000519 (req_handler)req_get_window_region,
520 (req_handler)req_set_window_region,
Alexandre Julliard5defa492004-12-07 17:31:53 +0000521 (req_handler)req_get_update_region,
Alexandre Julliard5054c792005-03-21 12:37:00 +0000522 (req_handler)req_update_window_zorder,
Alexandre Julliard5defa492004-12-07 17:31:53 +0000523 (req_handler)req_redraw_window,
Alexandre Julliard7a2017d2001-10-12 19:10:26 +0000524 (req_handler)req_set_window_property,
525 (req_handler)req_remove_window_property,
526 (req_handler)req_get_window_property,
527 (req_handler)req_get_window_properties,
Alexandre Julliard1bf96e02005-06-08 18:44:50 +0000528 (req_handler)req_create_winstation,
529 (req_handler)req_open_winstation,
530 (req_handler)req_close_winstation,
531 (req_handler)req_get_process_winstation,
532 (req_handler)req_set_process_winstation,
Alexandre Julliardd30b5742007-12-05 16:45:32 +0100533 (req_handler)req_enum_winstation,
Alexandre Julliard1bf96e02005-06-08 18:44:50 +0000534 (req_handler)req_create_desktop,
535 (req_handler)req_open_desktop,
536 (req_handler)req_close_desktop,
537 (req_handler)req_get_thread_desktop,
538 (req_handler)req_set_thread_desktop,
Alexandre Julliardd30b5742007-12-05 16:45:32 +0100539 (req_handler)req_enum_desktop,
Alexandre Julliard1bf96e02005-06-08 18:44:50 +0000540 (req_handler)req_set_user_object_info,
Alexandre Julliardab5063b2002-10-11 18:50:15 +0000541 (req_handler)req_attach_thread_input,
542 (req_handler)req_get_thread_input,
Mike McCormackabe70f72005-04-28 12:04:14 +0000543 (req_handler)req_get_last_input_time,
Alexandre Julliard8ba666f2003-01-08 19:56:31 +0000544 (req_handler)req_get_key_state,
545 (req_handler)req_set_key_state,
Alexandre Julliard5030bda2002-10-11 23:41:06 +0000546 (req_handler)req_set_foreground_window,
547 (req_handler)req_set_focus_window,
548 (req_handler)req_set_active_window,
Alexandre Julliarda9e8f592002-10-12 01:24:37 +0000549 (req_handler)req_set_capture_window,
Alexandre Julliard11e35232002-10-17 01:24:33 +0000550 (req_handler)req_set_caret_window,
551 (req_handler)req_set_caret_info,
Alexandre Julliard02861352002-10-29 00:41:42 +0000552 (req_handler)req_set_hook,
553 (req_handler)req_remove_hook,
554 (req_handler)req_start_hook_chain,
555 (req_handler)req_finish_hook_chain,
Alexandre Julliard2f80fcd2006-10-05 14:05:48 +0200556 (req_handler)req_get_hook_info,
Alexandre Julliardbfce1512003-12-10 04:08:06 +0000557 (req_handler)req_create_class,
558 (req_handler)req_destroy_class,
559 (req_handler)req_set_class_info,
Ulrich Czekallab2df5f92003-06-23 23:02:02 +0000560 (req_handler)req_set_clipboard_info,
Mike McCormack36cd6f52003-07-24 00:07:00 +0000561 (req_handler)req_open_token,
Alexandre Julliard8d174d32003-10-07 03:40:23 +0000562 (req_handler)req_set_global_windows,
Robert Shearmanb0f02b22005-02-11 11:52:06 +0000563 (req_handler)req_adjust_token_privileges,
564 (req_handler)req_get_token_privileges,
Robert Shearmand2ea92d2005-04-22 21:17:15 +0000565 (req_handler)req_check_token_privileges,
Robert Shearmanb0f02b22005-02-11 11:52:06 +0000566 (req_handler)req_duplicate_token,
Robert Shearman4ad93412005-05-24 12:32:18 +0000567 (req_handler)req_access_check,
Rob Shearmanbd569162009-11-16 20:11:06 +0000568 (req_handler)req_get_token_sid,
Robert Shearman3396a662006-05-13 16:58:19 +0100569 (req_handler)req_get_token_groups,
Hans Leidekker24af6f32009-04-21 09:53:16 +0200570 (req_handler)req_get_token_default_dacl,
571 (req_handler)req_set_token_default_dacl,
Vitaliy Margolenb0e9d7e2007-02-07 21:43:11 -0700572 (req_handler)req_set_security_object,
Rob Shearman5356bfd2007-10-02 15:55:13 +0100573 (req_handler)req_get_security_object,
Mike McCormack2ab6a772005-03-30 19:02:15 +0000574 (req_handler)req_create_mailslot,
Mike McCormack2ab6a772005-03-30 19:02:15 +0000575 (req_handler)req_set_mailslot_info,
Vitaliy Margolen3c6bdcc2005-11-29 17:21:05 +0100576 (req_handler)req_create_directory,
577 (req_handler)req_open_directory,
Alexandre Julliarda5e38b32007-12-05 16:57:41 +0100578 (req_handler)req_get_directory_entry,
Vitaliy Margolen80444df2005-11-30 19:22:57 +0100579 (req_handler)req_create_symlink,
580 (req_handler)req_open_symlink,
581 (req_handler)req_query_symlink,
Vitaliy Margolenbae75022007-01-24 23:43:04 -0700582 (req_handler)req_get_object_info,
Alexandre Julliardba715792008-10-20 16:21:06 +0200583 (req_handler)req_unlink_object,
Rob Shearmand342d142007-02-21 17:10:45 +0000584 (req_handler)req_get_token_impersonation_level,
Juan Langc2cb2962007-03-06 16:33:26 -0800585 (req_handler)req_allocate_locally_unique_id,
Alexandre Julliardb43dc152007-05-08 20:28:37 +0200586 (req_handler)req_create_device_manager,
587 (req_handler)req_create_device,
588 (req_handler)req_delete_device,
Alexandre Julliard78b75102007-05-08 20:40:26 +0200589 (req_handler)req_get_next_device_request,
Alexandre Julliard156b2052007-06-06 20:33:13 +0200590 (req_handler)req_make_process_system,
Rob Shearman3f431a02007-09-13 16:47:56 +0100591 (req_handler)req_get_token_statistics,
Andrey Turkin47758242007-09-18 00:00:45 +0400592 (req_handler)req_create_completion,
593 (req_handler)req_open_completion,
594 (req_handler)req_add_completion,
595 (req_handler)req_remove_completion,
596 (req_handler)req_query_completion,
Andrey Turkind1a81552007-09-28 00:03:39 +0400597 (req_handler)req_set_completion_info,
Andrey Turkin27cb7c72007-11-10 01:11:58 +0300598 (req_handler)req_add_fd_completion,
Alexandre Julliard05b41812008-09-12 15:30:47 +0200599 (req_handler)req_get_window_layered_info,
600 (req_handler)req_set_window_layered_info,
Alexandre Julliard9018e132009-10-12 14:25:01 +0200601 (req_handler)req_alloc_user_handle,
602 (req_handler)req_free_user_handle,
Alexandre Julliard8159d4e2010-03-22 17:52:23 +0100603 (req_handler)req_set_cursor,
Alexandre Julliard767e6f61998-08-09 12:47:43 +0000604};
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100605
Alexandre Julliard913e7922009-01-19 14:15:51 +0100606C_ASSERT( sizeof(affinity_t) == 8 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100607C_ASSERT( sizeof(apc_call_t) == 40 );
608C_ASSERT( sizeof(apc_param_t) == 8 );
609C_ASSERT( sizeof(apc_result_t) == 40 );
610C_ASSERT( sizeof(async_data_t) == 40 );
611C_ASSERT( sizeof(atom_t) == 4 );
612C_ASSERT( sizeof(char) == 1 );
613C_ASSERT( sizeof(char_info_t) == 4 );
614C_ASSERT( sizeof(client_ptr_t) == 8 );
Alexandre Julliard653d2c42009-04-03 14:49:10 +0200615C_ASSERT( sizeof(cpu_type_t) == 4 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100616C_ASSERT( sizeof(data_size_t) == 4 );
617C_ASSERT( sizeof(file_pos_t) == 8 );
618C_ASSERT( sizeof(int) == 4 );
619C_ASSERT( sizeof(ioctl_code_t) == 4 );
620C_ASSERT( sizeof(lparam_t) == 8 );
621C_ASSERT( sizeof(luid_t) == 8 );
622C_ASSERT( sizeof(mem_size_t) == 8 );
623C_ASSERT( sizeof(mod_handle_t) == 8 );
624C_ASSERT( sizeof(obj_handle_t) == 4 );
625C_ASSERT( sizeof(process_id_t) == 4 );
626C_ASSERT( sizeof(rectangle_t) == 16 );
627C_ASSERT( sizeof(short int) == 2 );
628C_ASSERT( sizeof(thread_id_t) == 4 );
629C_ASSERT( sizeof(timeout_t) == 8 );
630C_ASSERT( sizeof(unsigned char) == 1 );
631C_ASSERT( sizeof(unsigned int) == 4 );
632C_ASSERT( sizeof(unsigned short) == 2 );
633C_ASSERT( sizeof(user_handle_t) == 4 );
634C_ASSERT( FIELD_OFFSET(struct new_process_request, inherit_all) == 12 );
635C_ASSERT( FIELD_OFFSET(struct new_process_request, create_flags) == 16 );
636C_ASSERT( FIELD_OFFSET(struct new_process_request, socket_fd) == 20 );
637C_ASSERT( FIELD_OFFSET(struct new_process_request, exe_file) == 24 );
Alexandre Julliardda8acbc2009-08-20 20:05:21 +0200638C_ASSERT( FIELD_OFFSET(struct new_process_request, process_access) == 28 );
639C_ASSERT( FIELD_OFFSET(struct new_process_request, process_attr) == 32 );
640C_ASSERT( FIELD_OFFSET(struct new_process_request, thread_access) == 36 );
641C_ASSERT( FIELD_OFFSET(struct new_process_request, thread_attr) == 40 );
642C_ASSERT( FIELD_OFFSET(struct new_process_request, info_size) == 44 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200643C_ASSERT( sizeof(struct new_process_request) == 48 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100644C_ASSERT( FIELD_OFFSET(struct new_process_reply, info) == 8 );
645C_ASSERT( FIELD_OFFSET(struct new_process_reply, pid) == 12 );
646C_ASSERT( FIELD_OFFSET(struct new_process_reply, phandle) == 16 );
647C_ASSERT( FIELD_OFFSET(struct new_process_reply, tid) == 20 );
648C_ASSERT( FIELD_OFFSET(struct new_process_reply, thandle) == 24 );
649C_ASSERT( sizeof(struct new_process_reply) == 32 );
650C_ASSERT( FIELD_OFFSET(struct get_new_process_info_request, info) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200651C_ASSERT( sizeof(struct get_new_process_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100652C_ASSERT( FIELD_OFFSET(struct get_new_process_info_reply, success) == 8 );
653C_ASSERT( FIELD_OFFSET(struct get_new_process_info_reply, exit_code) == 12 );
654C_ASSERT( sizeof(struct get_new_process_info_reply) == 16 );
655C_ASSERT( FIELD_OFFSET(struct new_thread_request, access) == 12 );
656C_ASSERT( FIELD_OFFSET(struct new_thread_request, attributes) == 16 );
657C_ASSERT( FIELD_OFFSET(struct new_thread_request, suspend) == 20 );
658C_ASSERT( FIELD_OFFSET(struct new_thread_request, request_fd) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200659C_ASSERT( sizeof(struct new_thread_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100660C_ASSERT( FIELD_OFFSET(struct new_thread_reply, tid) == 8 );
661C_ASSERT( FIELD_OFFSET(struct new_thread_reply, handle) == 12 );
662C_ASSERT( sizeof(struct new_thread_reply) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200663C_ASSERT( sizeof(struct get_startup_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100664C_ASSERT( FIELD_OFFSET(struct get_startup_info_reply, exe_file) == 8 );
Alexandre Julliardda8acbc2009-08-20 20:05:21 +0200665C_ASSERT( FIELD_OFFSET(struct get_startup_info_reply, info_size) == 12 );
666C_ASSERT( sizeof(struct get_startup_info_reply) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100667C_ASSERT( FIELD_OFFSET(struct init_process_done_request, gui) == 12 );
668C_ASSERT( FIELD_OFFSET(struct init_process_done_request, module) == 16 );
669C_ASSERT( FIELD_OFFSET(struct init_process_done_request, ldt_copy) == 24 );
670C_ASSERT( FIELD_OFFSET(struct init_process_done_request, entry) == 32 );
671C_ASSERT( sizeof(struct init_process_done_request) == 40 );
672C_ASSERT( FIELD_OFFSET(struct init_thread_request, unix_pid) == 12 );
673C_ASSERT( FIELD_OFFSET(struct init_thread_request, unix_tid) == 16 );
674C_ASSERT( FIELD_OFFSET(struct init_thread_request, debug_level) == 20 );
675C_ASSERT( FIELD_OFFSET(struct init_thread_request, teb) == 24 );
676C_ASSERT( FIELD_OFFSET(struct init_thread_request, entry) == 32 );
677C_ASSERT( FIELD_OFFSET(struct init_thread_request, reply_fd) == 40 );
678C_ASSERT( FIELD_OFFSET(struct init_thread_request, wait_fd) == 44 );
Alexandre Julliard653d2c42009-04-03 14:49:10 +0200679C_ASSERT( FIELD_OFFSET(struct init_thread_request, cpu) == 48 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200680C_ASSERT( sizeof(struct init_thread_request) == 56 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100681C_ASSERT( FIELD_OFFSET(struct init_thread_reply, pid) == 8 );
682C_ASSERT( FIELD_OFFSET(struct init_thread_reply, tid) == 12 );
683C_ASSERT( FIELD_OFFSET(struct init_thread_reply, server_start) == 16 );
684C_ASSERT( FIELD_OFFSET(struct init_thread_reply, info_size) == 24 );
685C_ASSERT( FIELD_OFFSET(struct init_thread_reply, version) == 28 );
Alexandre Julliard279defe2009-04-03 14:59:12 +0200686C_ASSERT( FIELD_OFFSET(struct init_thread_reply, all_cpus) == 32 );
687C_ASSERT( sizeof(struct init_thread_reply) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100688C_ASSERT( FIELD_OFFSET(struct terminate_process_request, handle) == 12 );
689C_ASSERT( FIELD_OFFSET(struct terminate_process_request, exit_code) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200690C_ASSERT( sizeof(struct terminate_process_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100691C_ASSERT( FIELD_OFFSET(struct terminate_process_reply, self) == 8 );
692C_ASSERT( sizeof(struct terminate_process_reply) == 16 );
693C_ASSERT( FIELD_OFFSET(struct terminate_thread_request, handle) == 12 );
694C_ASSERT( FIELD_OFFSET(struct terminate_thread_request, exit_code) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200695C_ASSERT( sizeof(struct terminate_thread_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100696C_ASSERT( FIELD_OFFSET(struct terminate_thread_reply, self) == 8 );
697C_ASSERT( FIELD_OFFSET(struct terminate_thread_reply, last) == 12 );
698C_ASSERT( sizeof(struct terminate_thread_reply) == 16 );
699C_ASSERT( FIELD_OFFSET(struct get_process_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200700C_ASSERT( sizeof(struct get_process_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100701C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, pid) == 8 );
702C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, ppid) == 12 );
Alexandre Julliard913e7922009-01-19 14:15:51 +0100703C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, affinity) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100704C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, peb) == 24 );
705C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, start_time) == 32 );
706C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, end_time) == 40 );
707C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, exit_code) == 48 );
Alexandre Julliard913e7922009-01-19 14:15:51 +0100708C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, priority) == 52 );
Alexandre Julliard6056e8a2009-07-07 11:37:47 +0200709C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, cpu) == 56 );
Henri Verbeetf0a50452010-03-14 21:53:27 +0100710C_ASSERT( FIELD_OFFSET(struct get_process_info_reply, debugger_present) == 60 );
Alexandre Julliard6056e8a2009-07-07 11:37:47 +0200711C_ASSERT( sizeof(struct get_process_info_reply) == 64 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100712C_ASSERT( FIELD_OFFSET(struct set_process_info_request, handle) == 12 );
713C_ASSERT( FIELD_OFFSET(struct set_process_info_request, mask) == 16 );
714C_ASSERT( FIELD_OFFSET(struct set_process_info_request, priority) == 20 );
715C_ASSERT( FIELD_OFFSET(struct set_process_info_request, affinity) == 24 );
716C_ASSERT( sizeof(struct set_process_info_request) == 32 );
717C_ASSERT( FIELD_OFFSET(struct get_thread_info_request, handle) == 12 );
718C_ASSERT( FIELD_OFFSET(struct get_thread_info_request, tid_in) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200719C_ASSERT( sizeof(struct get_thread_info_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100720C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, pid) == 8 );
721C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, tid) == 12 );
722C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, teb) == 16 );
Alexandre Julliard913e7922009-01-19 14:15:51 +0100723C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, affinity) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100724C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, creation_time) == 32 );
725C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, exit_time) == 40 );
726C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, exit_code) == 48 );
Alexandre Julliard913e7922009-01-19 14:15:51 +0100727C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, priority) == 52 );
728C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply, last) == 56 );
729C_ASSERT( sizeof(struct get_thread_info_reply) == 64 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100730C_ASSERT( FIELD_OFFSET(struct set_thread_info_request, handle) == 12 );
731C_ASSERT( FIELD_OFFSET(struct set_thread_info_request, mask) == 16 );
732C_ASSERT( FIELD_OFFSET(struct set_thread_info_request, priority) == 20 );
733C_ASSERT( FIELD_OFFSET(struct set_thread_info_request, affinity) == 24 );
Alexandre Julliard913e7922009-01-19 14:15:51 +0100734C_ASSERT( FIELD_OFFSET(struct set_thread_info_request, token) == 32 );
735C_ASSERT( sizeof(struct set_thread_info_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100736C_ASSERT( FIELD_OFFSET(struct get_dll_info_request, handle) == 12 );
737C_ASSERT( FIELD_OFFSET(struct get_dll_info_request, base_address) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200738C_ASSERT( sizeof(struct get_dll_info_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100739C_ASSERT( FIELD_OFFSET(struct get_dll_info_reply, entry_point) == 8 );
740C_ASSERT( FIELD_OFFSET(struct get_dll_info_reply, size) == 16 );
741C_ASSERT( FIELD_OFFSET(struct get_dll_info_reply, filename_len) == 20 );
742C_ASSERT( sizeof(struct get_dll_info_reply) == 24 );
743C_ASSERT( FIELD_OFFSET(struct suspend_thread_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200744C_ASSERT( sizeof(struct suspend_thread_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100745C_ASSERT( FIELD_OFFSET(struct suspend_thread_reply, count) == 8 );
746C_ASSERT( sizeof(struct suspend_thread_reply) == 16 );
747C_ASSERT( FIELD_OFFSET(struct resume_thread_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200748C_ASSERT( sizeof(struct resume_thread_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100749C_ASSERT( FIELD_OFFSET(struct resume_thread_reply, count) == 8 );
750C_ASSERT( sizeof(struct resume_thread_reply) == 16 );
751C_ASSERT( FIELD_OFFSET(struct load_dll_request, handle) == 12 );
752C_ASSERT( FIELD_OFFSET(struct load_dll_request, base) == 16 );
753C_ASSERT( FIELD_OFFSET(struct load_dll_request, name) == 24 );
754C_ASSERT( FIELD_OFFSET(struct load_dll_request, size) == 32 );
755C_ASSERT( FIELD_OFFSET(struct load_dll_request, dbg_offset) == 36 );
756C_ASSERT( FIELD_OFFSET(struct load_dll_request, dbg_size) == 40 );
757C_ASSERT( sizeof(struct load_dll_request) == 48 );
758C_ASSERT( FIELD_OFFSET(struct unload_dll_request, base) == 16 );
759C_ASSERT( sizeof(struct unload_dll_request) == 24 );
760C_ASSERT( FIELD_OFFSET(struct queue_apc_request, handle) == 12 );
761C_ASSERT( FIELD_OFFSET(struct queue_apc_request, call) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200762C_ASSERT( sizeof(struct queue_apc_request) == 56 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100763C_ASSERT( FIELD_OFFSET(struct queue_apc_reply, handle) == 8 );
764C_ASSERT( FIELD_OFFSET(struct queue_apc_reply, self) == 12 );
765C_ASSERT( sizeof(struct queue_apc_reply) == 16 );
766C_ASSERT( FIELD_OFFSET(struct get_apc_result_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200767C_ASSERT( sizeof(struct get_apc_result_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100768C_ASSERT( FIELD_OFFSET(struct get_apc_result_reply, result) == 8 );
769C_ASSERT( sizeof(struct get_apc_result_reply) == 48 );
770C_ASSERT( FIELD_OFFSET(struct close_handle_request, handle) == 12 );
771C_ASSERT( sizeof(struct close_handle_request) == 16 );
772C_ASSERT( FIELD_OFFSET(struct set_handle_info_request, handle) == 12 );
773C_ASSERT( FIELD_OFFSET(struct set_handle_info_request, flags) == 16 );
774C_ASSERT( FIELD_OFFSET(struct set_handle_info_request, mask) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200775C_ASSERT( sizeof(struct set_handle_info_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100776C_ASSERT( FIELD_OFFSET(struct set_handle_info_reply, old_flags) == 8 );
777C_ASSERT( sizeof(struct set_handle_info_reply) == 16 );
778C_ASSERT( FIELD_OFFSET(struct dup_handle_request, src_process) == 12 );
779C_ASSERT( FIELD_OFFSET(struct dup_handle_request, src_handle) == 16 );
780C_ASSERT( FIELD_OFFSET(struct dup_handle_request, dst_process) == 20 );
781C_ASSERT( FIELD_OFFSET(struct dup_handle_request, access) == 24 );
782C_ASSERT( FIELD_OFFSET(struct dup_handle_request, attributes) == 28 );
783C_ASSERT( FIELD_OFFSET(struct dup_handle_request, options) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200784C_ASSERT( sizeof(struct dup_handle_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100785C_ASSERT( FIELD_OFFSET(struct dup_handle_reply, handle) == 8 );
786C_ASSERT( FIELD_OFFSET(struct dup_handle_reply, self) == 12 );
787C_ASSERT( FIELD_OFFSET(struct dup_handle_reply, closed) == 16 );
788C_ASSERT( sizeof(struct dup_handle_reply) == 24 );
789C_ASSERT( FIELD_OFFSET(struct open_process_request, pid) == 12 );
790C_ASSERT( FIELD_OFFSET(struct open_process_request, access) == 16 );
791C_ASSERT( FIELD_OFFSET(struct open_process_request, attributes) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200792C_ASSERT( sizeof(struct open_process_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100793C_ASSERT( FIELD_OFFSET(struct open_process_reply, handle) == 8 );
794C_ASSERT( sizeof(struct open_process_reply) == 16 );
795C_ASSERT( FIELD_OFFSET(struct open_thread_request, tid) == 12 );
796C_ASSERT( FIELD_OFFSET(struct open_thread_request, access) == 16 );
797C_ASSERT( FIELD_OFFSET(struct open_thread_request, attributes) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200798C_ASSERT( sizeof(struct open_thread_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100799C_ASSERT( FIELD_OFFSET(struct open_thread_reply, handle) == 8 );
800C_ASSERT( sizeof(struct open_thread_reply) == 16 );
801C_ASSERT( FIELD_OFFSET(struct select_request, flags) == 12 );
802C_ASSERT( FIELD_OFFSET(struct select_request, cookie) == 16 );
803C_ASSERT( FIELD_OFFSET(struct select_request, signal) == 24 );
804C_ASSERT( FIELD_OFFSET(struct select_request, prev_apc) == 28 );
805C_ASSERT( FIELD_OFFSET(struct select_request, timeout) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200806C_ASSERT( sizeof(struct select_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100807C_ASSERT( FIELD_OFFSET(struct select_reply, timeout) == 8 );
808C_ASSERT( FIELD_OFFSET(struct select_reply, call) == 16 );
809C_ASSERT( FIELD_OFFSET(struct select_reply, apc_handle) == 56 );
810C_ASSERT( sizeof(struct select_reply) == 64 );
811C_ASSERT( FIELD_OFFSET(struct create_event_request, access) == 12 );
812C_ASSERT( FIELD_OFFSET(struct create_event_request, attributes) == 16 );
813C_ASSERT( FIELD_OFFSET(struct create_event_request, manual_reset) == 20 );
814C_ASSERT( FIELD_OFFSET(struct create_event_request, initial_state) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200815C_ASSERT( sizeof(struct create_event_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100816C_ASSERT( FIELD_OFFSET(struct create_event_reply, handle) == 8 );
817C_ASSERT( sizeof(struct create_event_reply) == 16 );
818C_ASSERT( FIELD_OFFSET(struct event_op_request, handle) == 12 );
819C_ASSERT( FIELD_OFFSET(struct event_op_request, op) == 16 );
820C_ASSERT( sizeof(struct event_op_request) == 24 );
821C_ASSERT( FIELD_OFFSET(struct open_event_request, access) == 12 );
822C_ASSERT( FIELD_OFFSET(struct open_event_request, attributes) == 16 );
823C_ASSERT( FIELD_OFFSET(struct open_event_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200824C_ASSERT( sizeof(struct open_event_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100825C_ASSERT( FIELD_OFFSET(struct open_event_reply, handle) == 8 );
826C_ASSERT( sizeof(struct open_event_reply) == 16 );
827C_ASSERT( FIELD_OFFSET(struct create_mutex_request, access) == 12 );
828C_ASSERT( FIELD_OFFSET(struct create_mutex_request, attributes) == 16 );
829C_ASSERT( FIELD_OFFSET(struct create_mutex_request, owned) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200830C_ASSERT( sizeof(struct create_mutex_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100831C_ASSERT( FIELD_OFFSET(struct create_mutex_reply, handle) == 8 );
832C_ASSERT( sizeof(struct create_mutex_reply) == 16 );
833C_ASSERT( FIELD_OFFSET(struct release_mutex_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200834C_ASSERT( sizeof(struct release_mutex_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100835C_ASSERT( FIELD_OFFSET(struct release_mutex_reply, prev_count) == 8 );
836C_ASSERT( sizeof(struct release_mutex_reply) == 16 );
837C_ASSERT( FIELD_OFFSET(struct open_mutex_request, access) == 12 );
838C_ASSERT( FIELD_OFFSET(struct open_mutex_request, attributes) == 16 );
839C_ASSERT( FIELD_OFFSET(struct open_mutex_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200840C_ASSERT( sizeof(struct open_mutex_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100841C_ASSERT( FIELD_OFFSET(struct open_mutex_reply, handle) == 8 );
842C_ASSERT( sizeof(struct open_mutex_reply) == 16 );
843C_ASSERT( FIELD_OFFSET(struct create_semaphore_request, access) == 12 );
844C_ASSERT( FIELD_OFFSET(struct create_semaphore_request, attributes) == 16 );
845C_ASSERT( FIELD_OFFSET(struct create_semaphore_request, initial) == 20 );
846C_ASSERT( FIELD_OFFSET(struct create_semaphore_request, max) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200847C_ASSERT( sizeof(struct create_semaphore_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100848C_ASSERT( FIELD_OFFSET(struct create_semaphore_reply, handle) == 8 );
849C_ASSERT( sizeof(struct create_semaphore_reply) == 16 );
850C_ASSERT( FIELD_OFFSET(struct release_semaphore_request, handle) == 12 );
851C_ASSERT( FIELD_OFFSET(struct release_semaphore_request, count) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200852C_ASSERT( sizeof(struct release_semaphore_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100853C_ASSERT( FIELD_OFFSET(struct release_semaphore_reply, prev_count) == 8 );
854C_ASSERT( sizeof(struct release_semaphore_reply) == 16 );
855C_ASSERT( FIELD_OFFSET(struct open_semaphore_request, access) == 12 );
856C_ASSERT( FIELD_OFFSET(struct open_semaphore_request, attributes) == 16 );
857C_ASSERT( FIELD_OFFSET(struct open_semaphore_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200858C_ASSERT( sizeof(struct open_semaphore_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100859C_ASSERT( FIELD_OFFSET(struct open_semaphore_reply, handle) == 8 );
860C_ASSERT( sizeof(struct open_semaphore_reply) == 16 );
861C_ASSERT( FIELD_OFFSET(struct create_file_request, access) == 12 );
862C_ASSERT( FIELD_OFFSET(struct create_file_request, attributes) == 16 );
863C_ASSERT( FIELD_OFFSET(struct create_file_request, sharing) == 20 );
864C_ASSERT( FIELD_OFFSET(struct create_file_request, create) == 24 );
865C_ASSERT( FIELD_OFFSET(struct create_file_request, options) == 28 );
866C_ASSERT( FIELD_OFFSET(struct create_file_request, attrs) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200867C_ASSERT( sizeof(struct create_file_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100868C_ASSERT( FIELD_OFFSET(struct create_file_reply, handle) == 8 );
869C_ASSERT( sizeof(struct create_file_reply) == 16 );
870C_ASSERT( FIELD_OFFSET(struct open_file_object_request, access) == 12 );
871C_ASSERT( FIELD_OFFSET(struct open_file_object_request, attributes) == 16 );
872C_ASSERT( FIELD_OFFSET(struct open_file_object_request, rootdir) == 20 );
873C_ASSERT( FIELD_OFFSET(struct open_file_object_request, sharing) == 24 );
874C_ASSERT( FIELD_OFFSET(struct open_file_object_request, options) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200875C_ASSERT( sizeof(struct open_file_object_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100876C_ASSERT( FIELD_OFFSET(struct open_file_object_reply, handle) == 8 );
877C_ASSERT( sizeof(struct open_file_object_reply) == 16 );
878C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_request, access) == 12 );
879C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_request, attributes) == 16 );
880C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_request, fd) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200881C_ASSERT( sizeof(struct alloc_file_handle_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100882C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_reply, handle) == 8 );
883C_ASSERT( sizeof(struct alloc_file_handle_reply) == 16 );
Henri Verbeet27705d52009-11-12 15:10:12 +0100884C_ASSERT( FIELD_OFFSET(struct get_handle_unix_name_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200885C_ASSERT( sizeof(struct get_handle_unix_name_request) == 16 );
Henri Verbeet27705d52009-11-12 15:10:12 +0100886C_ASSERT( FIELD_OFFSET(struct get_handle_unix_name_reply, name_len) == 8 );
887C_ASSERT( sizeof(struct get_handle_unix_name_reply) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100888C_ASSERT( FIELD_OFFSET(struct get_handle_fd_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200889C_ASSERT( sizeof(struct get_handle_fd_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100890C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply, type) == 8 );
891C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply, removable) == 12 );
892C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply, access) == 16 );
893C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply, options) == 20 );
894C_ASSERT( sizeof(struct get_handle_fd_reply) == 24 );
895C_ASSERT( FIELD_OFFSET(struct flush_file_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200896C_ASSERT( sizeof(struct flush_file_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100897C_ASSERT( FIELD_OFFSET(struct flush_file_reply, event) == 8 );
898C_ASSERT( sizeof(struct flush_file_reply) == 16 );
899C_ASSERT( FIELD_OFFSET(struct lock_file_request, handle) == 12 );
900C_ASSERT( FIELD_OFFSET(struct lock_file_request, offset) == 16 );
901C_ASSERT( FIELD_OFFSET(struct lock_file_request, count) == 24 );
902C_ASSERT( FIELD_OFFSET(struct lock_file_request, shared) == 32 );
903C_ASSERT( FIELD_OFFSET(struct lock_file_request, wait) == 36 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200904C_ASSERT( sizeof(struct lock_file_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100905C_ASSERT( FIELD_OFFSET(struct lock_file_reply, handle) == 8 );
906C_ASSERT( FIELD_OFFSET(struct lock_file_reply, overlapped) == 12 );
907C_ASSERT( sizeof(struct lock_file_reply) == 16 );
908C_ASSERT( FIELD_OFFSET(struct unlock_file_request, handle) == 12 );
909C_ASSERT( FIELD_OFFSET(struct unlock_file_request, offset) == 16 );
910C_ASSERT( FIELD_OFFSET(struct unlock_file_request, count) == 24 );
911C_ASSERT( sizeof(struct unlock_file_request) == 32 );
912C_ASSERT( FIELD_OFFSET(struct create_socket_request, access) == 12 );
913C_ASSERT( FIELD_OFFSET(struct create_socket_request, attributes) == 16 );
914C_ASSERT( FIELD_OFFSET(struct create_socket_request, family) == 20 );
915C_ASSERT( FIELD_OFFSET(struct create_socket_request, type) == 24 );
916C_ASSERT( FIELD_OFFSET(struct create_socket_request, protocol) == 28 );
917C_ASSERT( FIELD_OFFSET(struct create_socket_request, flags) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200918C_ASSERT( sizeof(struct create_socket_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100919C_ASSERT( FIELD_OFFSET(struct create_socket_reply, handle) == 8 );
920C_ASSERT( sizeof(struct create_socket_reply) == 16 );
921C_ASSERT( FIELD_OFFSET(struct accept_socket_request, lhandle) == 12 );
922C_ASSERT( FIELD_OFFSET(struct accept_socket_request, access) == 16 );
923C_ASSERT( FIELD_OFFSET(struct accept_socket_request, attributes) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200924C_ASSERT( sizeof(struct accept_socket_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100925C_ASSERT( FIELD_OFFSET(struct accept_socket_reply, handle) == 8 );
926C_ASSERT( sizeof(struct accept_socket_reply) == 16 );
927C_ASSERT( FIELD_OFFSET(struct set_socket_event_request, handle) == 12 );
928C_ASSERT( FIELD_OFFSET(struct set_socket_event_request, mask) == 16 );
929C_ASSERT( FIELD_OFFSET(struct set_socket_event_request, event) == 20 );
930C_ASSERT( FIELD_OFFSET(struct set_socket_event_request, window) == 24 );
931C_ASSERT( FIELD_OFFSET(struct set_socket_event_request, msg) == 28 );
932C_ASSERT( sizeof(struct set_socket_event_request) == 32 );
933C_ASSERT( FIELD_OFFSET(struct get_socket_event_request, handle) == 12 );
934C_ASSERT( FIELD_OFFSET(struct get_socket_event_request, service) == 16 );
935C_ASSERT( FIELD_OFFSET(struct get_socket_event_request, c_event) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200936C_ASSERT( sizeof(struct get_socket_event_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100937C_ASSERT( FIELD_OFFSET(struct get_socket_event_reply, mask) == 8 );
938C_ASSERT( FIELD_OFFSET(struct get_socket_event_reply, pmask) == 12 );
939C_ASSERT( FIELD_OFFSET(struct get_socket_event_reply, state) == 16 );
940C_ASSERT( sizeof(struct get_socket_event_reply) == 24 );
941C_ASSERT( FIELD_OFFSET(struct enable_socket_event_request, handle) == 12 );
942C_ASSERT( FIELD_OFFSET(struct enable_socket_event_request, mask) == 16 );
943C_ASSERT( FIELD_OFFSET(struct enable_socket_event_request, sstate) == 20 );
944C_ASSERT( FIELD_OFFSET(struct enable_socket_event_request, cstate) == 24 );
945C_ASSERT( sizeof(struct enable_socket_event_request) == 32 );
946C_ASSERT( FIELD_OFFSET(struct set_socket_deferred_request, handle) == 12 );
947C_ASSERT( FIELD_OFFSET(struct set_socket_deferred_request, deferred) == 16 );
948C_ASSERT( sizeof(struct set_socket_deferred_request) == 24 );
949C_ASSERT( FIELD_OFFSET(struct alloc_console_request, access) == 12 );
950C_ASSERT( FIELD_OFFSET(struct alloc_console_request, attributes) == 16 );
951C_ASSERT( FIELD_OFFSET(struct alloc_console_request, pid) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200952C_ASSERT( sizeof(struct alloc_console_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100953C_ASSERT( FIELD_OFFSET(struct alloc_console_reply, handle_in) == 8 );
954C_ASSERT( FIELD_OFFSET(struct alloc_console_reply, event) == 12 );
955C_ASSERT( sizeof(struct alloc_console_reply) == 16 );
956C_ASSERT( sizeof(struct free_console_request) == 16 );
957C_ASSERT( FIELD_OFFSET(struct get_console_renderer_events_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200958C_ASSERT( sizeof(struct get_console_renderer_events_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100959C_ASSERT( sizeof(struct get_console_renderer_events_reply) == 8 );
960C_ASSERT( FIELD_OFFSET(struct open_console_request, from) == 12 );
961C_ASSERT( FIELD_OFFSET(struct open_console_request, access) == 16 );
962C_ASSERT( FIELD_OFFSET(struct open_console_request, attributes) == 20 );
963C_ASSERT( FIELD_OFFSET(struct open_console_request, share) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200964C_ASSERT( sizeof(struct open_console_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100965C_ASSERT( FIELD_OFFSET(struct open_console_reply, handle) == 8 );
966C_ASSERT( sizeof(struct open_console_reply) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200967C_ASSERT( sizeof(struct get_console_wait_event_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100968C_ASSERT( FIELD_OFFSET(struct get_console_wait_event_reply, handle) == 8 );
969C_ASSERT( sizeof(struct get_console_wait_event_reply) == 16 );
970C_ASSERT( FIELD_OFFSET(struct get_console_mode_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200971C_ASSERT( sizeof(struct get_console_mode_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100972C_ASSERT( FIELD_OFFSET(struct get_console_mode_reply, mode) == 8 );
973C_ASSERT( sizeof(struct get_console_mode_reply) == 16 );
974C_ASSERT( FIELD_OFFSET(struct set_console_mode_request, handle) == 12 );
975C_ASSERT( FIELD_OFFSET(struct set_console_mode_request, mode) == 16 );
976C_ASSERT( sizeof(struct set_console_mode_request) == 24 );
977C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, handle) == 12 );
978C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, mask) == 16 );
979C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, active_sb) == 20 );
980C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, history_mode) == 24 );
981C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, history_size) == 28 );
982C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, edition_mode) == 32 );
983C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, input_cp) == 36 );
984C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, output_cp) == 40 );
985C_ASSERT( FIELD_OFFSET(struct set_console_input_info_request, win) == 44 );
986C_ASSERT( sizeof(struct set_console_input_info_request) == 48 );
987C_ASSERT( FIELD_OFFSET(struct get_console_input_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +0200988C_ASSERT( sizeof(struct get_console_input_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +0100989C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, history_mode) == 8 );
990C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, history_size) == 12 );
991C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, history_index) == 16 );
992C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, edition_mode) == 20 );
993C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, input_cp) == 24 );
994C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, output_cp) == 28 );
995C_ASSERT( FIELD_OFFSET(struct get_console_input_info_reply, win) == 32 );
996C_ASSERT( sizeof(struct get_console_input_info_reply) == 40 );
997C_ASSERT( FIELD_OFFSET(struct append_console_input_history_request, handle) == 12 );
998C_ASSERT( sizeof(struct append_console_input_history_request) == 16 );
999C_ASSERT( FIELD_OFFSET(struct get_console_input_history_request, handle) == 12 );
1000C_ASSERT( FIELD_OFFSET(struct get_console_input_history_request, index) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001001C_ASSERT( sizeof(struct get_console_input_history_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001002C_ASSERT( FIELD_OFFSET(struct get_console_input_history_reply, total) == 8 );
1003C_ASSERT( sizeof(struct get_console_input_history_reply) == 16 );
1004C_ASSERT( FIELD_OFFSET(struct create_console_output_request, handle_in) == 12 );
1005C_ASSERT( FIELD_OFFSET(struct create_console_output_request, access) == 16 );
1006C_ASSERT( FIELD_OFFSET(struct create_console_output_request, attributes) == 20 );
1007C_ASSERT( FIELD_OFFSET(struct create_console_output_request, share) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001008C_ASSERT( sizeof(struct create_console_output_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001009C_ASSERT( FIELD_OFFSET(struct create_console_output_reply, handle_out) == 8 );
1010C_ASSERT( sizeof(struct create_console_output_reply) == 16 );
1011C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, handle) == 12 );
1012C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, mask) == 16 );
1013C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, cursor_size) == 20 );
1014C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, cursor_visible) == 22 );
1015C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, cursor_x) == 24 );
1016C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, cursor_y) == 26 );
1017C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, width) == 28 );
1018C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, height) == 30 );
1019C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, attr) == 32 );
1020C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, win_left) == 34 );
1021C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, win_top) == 36 );
1022C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, win_right) == 38 );
1023C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, win_bottom) == 40 );
1024C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, max_width) == 42 );
1025C_ASSERT( FIELD_OFFSET(struct set_console_output_info_request, max_height) == 44 );
1026C_ASSERT( sizeof(struct set_console_output_info_request) == 48 );
1027C_ASSERT( FIELD_OFFSET(struct get_console_output_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001028C_ASSERT( sizeof(struct get_console_output_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001029C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, cursor_size) == 8 );
1030C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, cursor_visible) == 10 );
1031C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, cursor_x) == 12 );
1032C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, cursor_y) == 14 );
1033C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, width) == 16 );
1034C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, height) == 18 );
1035C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, attr) == 20 );
1036C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, win_left) == 22 );
1037C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, win_top) == 24 );
1038C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, win_right) == 26 );
1039C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, win_bottom) == 28 );
1040C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, max_width) == 30 );
1041C_ASSERT( FIELD_OFFSET(struct get_console_output_info_reply, max_height) == 32 );
1042C_ASSERT( sizeof(struct get_console_output_info_reply) == 40 );
1043C_ASSERT( FIELD_OFFSET(struct write_console_input_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001044C_ASSERT( sizeof(struct write_console_input_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001045C_ASSERT( FIELD_OFFSET(struct write_console_input_reply, written) == 8 );
1046C_ASSERT( sizeof(struct write_console_input_reply) == 16 );
1047C_ASSERT( FIELD_OFFSET(struct read_console_input_request, handle) == 12 );
1048C_ASSERT( FIELD_OFFSET(struct read_console_input_request, flush) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001049C_ASSERT( sizeof(struct read_console_input_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001050C_ASSERT( FIELD_OFFSET(struct read_console_input_reply, read) == 8 );
1051C_ASSERT( sizeof(struct read_console_input_reply) == 16 );
1052C_ASSERT( FIELD_OFFSET(struct write_console_output_request, handle) == 12 );
1053C_ASSERT( FIELD_OFFSET(struct write_console_output_request, x) == 16 );
1054C_ASSERT( FIELD_OFFSET(struct write_console_output_request, y) == 20 );
1055C_ASSERT( FIELD_OFFSET(struct write_console_output_request, mode) == 24 );
1056C_ASSERT( FIELD_OFFSET(struct write_console_output_request, wrap) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001057C_ASSERT( sizeof(struct write_console_output_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001058C_ASSERT( FIELD_OFFSET(struct write_console_output_reply, written) == 8 );
1059C_ASSERT( FIELD_OFFSET(struct write_console_output_reply, width) == 12 );
1060C_ASSERT( FIELD_OFFSET(struct write_console_output_reply, height) == 16 );
1061C_ASSERT( sizeof(struct write_console_output_reply) == 24 );
1062C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, handle) == 12 );
1063C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, x) == 16 );
1064C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, y) == 20 );
1065C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, mode) == 24 );
1066C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, count) == 28 );
1067C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, wrap) == 32 );
1068C_ASSERT( FIELD_OFFSET(struct fill_console_output_request, data) == 36 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001069C_ASSERT( sizeof(struct fill_console_output_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001070C_ASSERT( FIELD_OFFSET(struct fill_console_output_reply, written) == 8 );
1071C_ASSERT( sizeof(struct fill_console_output_reply) == 16 );
1072C_ASSERT( FIELD_OFFSET(struct read_console_output_request, handle) == 12 );
1073C_ASSERT( FIELD_OFFSET(struct read_console_output_request, x) == 16 );
1074C_ASSERT( FIELD_OFFSET(struct read_console_output_request, y) == 20 );
1075C_ASSERT( FIELD_OFFSET(struct read_console_output_request, mode) == 24 );
1076C_ASSERT( FIELD_OFFSET(struct read_console_output_request, wrap) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001077C_ASSERT( sizeof(struct read_console_output_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001078C_ASSERT( FIELD_OFFSET(struct read_console_output_reply, width) == 8 );
1079C_ASSERT( FIELD_OFFSET(struct read_console_output_reply, height) == 12 );
1080C_ASSERT( sizeof(struct read_console_output_reply) == 16 );
1081C_ASSERT( FIELD_OFFSET(struct move_console_output_request, handle) == 12 );
1082C_ASSERT( FIELD_OFFSET(struct move_console_output_request, x_src) == 16 );
1083C_ASSERT( FIELD_OFFSET(struct move_console_output_request, y_src) == 18 );
1084C_ASSERT( FIELD_OFFSET(struct move_console_output_request, x_dst) == 20 );
1085C_ASSERT( FIELD_OFFSET(struct move_console_output_request, y_dst) == 22 );
1086C_ASSERT( FIELD_OFFSET(struct move_console_output_request, w) == 24 );
1087C_ASSERT( FIELD_OFFSET(struct move_console_output_request, h) == 26 );
1088C_ASSERT( sizeof(struct move_console_output_request) == 32 );
1089C_ASSERT( FIELD_OFFSET(struct send_console_signal_request, signal) == 12 );
1090C_ASSERT( FIELD_OFFSET(struct send_console_signal_request, group_id) == 16 );
1091C_ASSERT( sizeof(struct send_console_signal_request) == 24 );
1092C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request, filter) == 12 );
1093C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request, subtree) == 16 );
1094C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request, want_data) == 20 );
1095C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request, async) == 24 );
1096C_ASSERT( sizeof(struct read_directory_changes_request) == 64 );
1097C_ASSERT( FIELD_OFFSET(struct read_change_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001098C_ASSERT( sizeof(struct read_change_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001099C_ASSERT( FIELD_OFFSET(struct read_change_reply, action) == 8 );
1100C_ASSERT( sizeof(struct read_change_reply) == 16 );
1101C_ASSERT( FIELD_OFFSET(struct create_mapping_request, access) == 12 );
1102C_ASSERT( FIELD_OFFSET(struct create_mapping_request, attributes) == 16 );
1103C_ASSERT( FIELD_OFFSET(struct create_mapping_request, protect) == 20 );
1104C_ASSERT( FIELD_OFFSET(struct create_mapping_request, size) == 24 );
1105C_ASSERT( FIELD_OFFSET(struct create_mapping_request, file_handle) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001106C_ASSERT( sizeof(struct create_mapping_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001107C_ASSERT( FIELD_OFFSET(struct create_mapping_reply, handle) == 8 );
1108C_ASSERT( sizeof(struct create_mapping_reply) == 16 );
1109C_ASSERT( FIELD_OFFSET(struct open_mapping_request, access) == 12 );
1110C_ASSERT( FIELD_OFFSET(struct open_mapping_request, attributes) == 16 );
1111C_ASSERT( FIELD_OFFSET(struct open_mapping_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001112C_ASSERT( sizeof(struct open_mapping_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001113C_ASSERT( FIELD_OFFSET(struct open_mapping_reply, handle) == 8 );
1114C_ASSERT( sizeof(struct open_mapping_reply) == 16 );
1115C_ASSERT( FIELD_OFFSET(struct get_mapping_info_request, handle) == 12 );
1116C_ASSERT( FIELD_OFFSET(struct get_mapping_info_request, access) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001117C_ASSERT( sizeof(struct get_mapping_info_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001118C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply, size) == 8 );
1119C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply, protect) == 16 );
1120C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply, header_size) == 20 );
1121C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply, base) == 24 );
1122C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply, mapping) == 32 );
1123C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply, shared_file) == 36 );
1124C_ASSERT( sizeof(struct get_mapping_info_reply) == 40 );
1125C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_request, handle) == 12 );
1126C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_request, offset) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001127C_ASSERT( sizeof(struct get_mapping_committed_range_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001128C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_reply, size) == 8 );
1129C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_reply, committed) == 16 );
1130C_ASSERT( sizeof(struct get_mapping_committed_range_reply) == 24 );
1131C_ASSERT( FIELD_OFFSET(struct add_mapping_committed_range_request, handle) == 12 );
1132C_ASSERT( FIELD_OFFSET(struct add_mapping_committed_range_request, offset) == 16 );
1133C_ASSERT( FIELD_OFFSET(struct add_mapping_committed_range_request, size) == 24 );
1134C_ASSERT( sizeof(struct add_mapping_committed_range_request) == 32 );
1135C_ASSERT( FIELD_OFFSET(struct create_snapshot_request, attributes) == 12 );
1136C_ASSERT( FIELD_OFFSET(struct create_snapshot_request, flags) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001137C_ASSERT( sizeof(struct create_snapshot_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001138C_ASSERT( FIELD_OFFSET(struct create_snapshot_reply, handle) == 8 );
1139C_ASSERT( sizeof(struct create_snapshot_reply) == 16 );
1140C_ASSERT( FIELD_OFFSET(struct next_process_request, handle) == 12 );
1141C_ASSERT( FIELD_OFFSET(struct next_process_request, reset) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001142C_ASSERT( sizeof(struct next_process_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001143C_ASSERT( FIELD_OFFSET(struct next_process_reply, count) == 8 );
1144C_ASSERT( FIELD_OFFSET(struct next_process_reply, pid) == 12 );
1145C_ASSERT( FIELD_OFFSET(struct next_process_reply, ppid) == 16 );
1146C_ASSERT( FIELD_OFFSET(struct next_process_reply, threads) == 20 );
1147C_ASSERT( FIELD_OFFSET(struct next_process_reply, priority) == 24 );
1148C_ASSERT( FIELD_OFFSET(struct next_process_reply, handles) == 28 );
1149C_ASSERT( sizeof(struct next_process_reply) == 32 );
1150C_ASSERT( FIELD_OFFSET(struct next_thread_request, handle) == 12 );
1151C_ASSERT( FIELD_OFFSET(struct next_thread_request, reset) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001152C_ASSERT( sizeof(struct next_thread_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001153C_ASSERT( FIELD_OFFSET(struct next_thread_reply, count) == 8 );
1154C_ASSERT( FIELD_OFFSET(struct next_thread_reply, pid) == 12 );
1155C_ASSERT( FIELD_OFFSET(struct next_thread_reply, tid) == 16 );
1156C_ASSERT( FIELD_OFFSET(struct next_thread_reply, base_pri) == 20 );
1157C_ASSERT( FIELD_OFFSET(struct next_thread_reply, delta_pri) == 24 );
1158C_ASSERT( sizeof(struct next_thread_reply) == 32 );
1159C_ASSERT( FIELD_OFFSET(struct wait_debug_event_request, get_handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001160C_ASSERT( sizeof(struct wait_debug_event_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001161C_ASSERT( FIELD_OFFSET(struct wait_debug_event_reply, pid) == 8 );
1162C_ASSERT( FIELD_OFFSET(struct wait_debug_event_reply, tid) == 12 );
1163C_ASSERT( FIELD_OFFSET(struct wait_debug_event_reply, wait) == 16 );
1164C_ASSERT( sizeof(struct wait_debug_event_reply) == 24 );
1165C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request, first) == 12 );
1166C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request, code) == 16 );
1167C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request, flags) == 20 );
1168C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request, record) == 24 );
1169C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request, address) == 32 );
1170C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request, len) == 40 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001171C_ASSERT( sizeof(struct queue_exception_event_request) == 48 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001172C_ASSERT( FIELD_OFFSET(struct queue_exception_event_reply, handle) == 8 );
1173C_ASSERT( sizeof(struct queue_exception_event_reply) == 16 );
1174C_ASSERT( FIELD_OFFSET(struct get_exception_status_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001175C_ASSERT( sizeof(struct get_exception_status_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001176C_ASSERT( sizeof(struct get_exception_status_reply) == 8 );
1177C_ASSERT( FIELD_OFFSET(struct output_debug_string_request, length) == 12 );
1178C_ASSERT( FIELD_OFFSET(struct output_debug_string_request, string) == 16 );
Andrey Turkin3eaecf02009-10-05 21:42:22 +04001179C_ASSERT( sizeof(struct output_debug_string_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001180C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request, pid) == 12 );
1181C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request, tid) == 16 );
1182C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request, status) == 20 );
1183C_ASSERT( sizeof(struct continue_debug_event_request) == 24 );
1184C_ASSERT( FIELD_OFFSET(struct debug_process_request, pid) == 12 );
1185C_ASSERT( FIELD_OFFSET(struct debug_process_request, attach) == 16 );
1186C_ASSERT( sizeof(struct debug_process_request) == 24 );
1187C_ASSERT( FIELD_OFFSET(struct debug_break_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001188C_ASSERT( sizeof(struct debug_break_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001189C_ASSERT( FIELD_OFFSET(struct debug_break_reply, self) == 8 );
1190C_ASSERT( sizeof(struct debug_break_reply) == 16 );
1191C_ASSERT( FIELD_OFFSET(struct set_debugger_kill_on_exit_request, kill_on_exit) == 12 );
1192C_ASSERT( sizeof(struct set_debugger_kill_on_exit_request) == 16 );
1193C_ASSERT( FIELD_OFFSET(struct read_process_memory_request, handle) == 12 );
1194C_ASSERT( FIELD_OFFSET(struct read_process_memory_request, addr) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001195C_ASSERT( sizeof(struct read_process_memory_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001196C_ASSERT( sizeof(struct read_process_memory_reply) == 8 );
1197C_ASSERT( FIELD_OFFSET(struct write_process_memory_request, handle) == 12 );
1198C_ASSERT( FIELD_OFFSET(struct write_process_memory_request, addr) == 16 );
1199C_ASSERT( sizeof(struct write_process_memory_request) == 24 );
1200C_ASSERT( FIELD_OFFSET(struct create_key_request, parent) == 12 );
1201C_ASSERT( FIELD_OFFSET(struct create_key_request, access) == 16 );
1202C_ASSERT( FIELD_OFFSET(struct create_key_request, attributes) == 20 );
1203C_ASSERT( FIELD_OFFSET(struct create_key_request, options) == 24 );
1204C_ASSERT( FIELD_OFFSET(struct create_key_request, namelen) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001205C_ASSERT( sizeof(struct create_key_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001206C_ASSERT( FIELD_OFFSET(struct create_key_reply, hkey) == 8 );
1207C_ASSERT( FIELD_OFFSET(struct create_key_reply, created) == 12 );
1208C_ASSERT( sizeof(struct create_key_reply) == 16 );
1209C_ASSERT( FIELD_OFFSET(struct open_key_request, parent) == 12 );
1210C_ASSERT( FIELD_OFFSET(struct open_key_request, access) == 16 );
1211C_ASSERT( FIELD_OFFSET(struct open_key_request, attributes) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001212C_ASSERT( sizeof(struct open_key_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001213C_ASSERT( FIELD_OFFSET(struct open_key_reply, hkey) == 8 );
1214C_ASSERT( sizeof(struct open_key_reply) == 16 );
1215C_ASSERT( FIELD_OFFSET(struct delete_key_request, hkey) == 12 );
1216C_ASSERT( sizeof(struct delete_key_request) == 16 );
1217C_ASSERT( FIELD_OFFSET(struct flush_key_request, hkey) == 12 );
1218C_ASSERT( sizeof(struct flush_key_request) == 16 );
1219C_ASSERT( FIELD_OFFSET(struct enum_key_request, hkey) == 12 );
1220C_ASSERT( FIELD_OFFSET(struct enum_key_request, index) == 16 );
1221C_ASSERT( FIELD_OFFSET(struct enum_key_request, info_class) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001222C_ASSERT( sizeof(struct enum_key_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001223C_ASSERT( FIELD_OFFSET(struct enum_key_reply, subkeys) == 8 );
1224C_ASSERT( FIELD_OFFSET(struct enum_key_reply, max_subkey) == 12 );
1225C_ASSERT( FIELD_OFFSET(struct enum_key_reply, max_class) == 16 );
1226C_ASSERT( FIELD_OFFSET(struct enum_key_reply, values) == 20 );
1227C_ASSERT( FIELD_OFFSET(struct enum_key_reply, max_value) == 24 );
1228C_ASSERT( FIELD_OFFSET(struct enum_key_reply, max_data) == 28 );
1229C_ASSERT( FIELD_OFFSET(struct enum_key_reply, modif) == 32 );
1230C_ASSERT( FIELD_OFFSET(struct enum_key_reply, total) == 40 );
1231C_ASSERT( FIELD_OFFSET(struct enum_key_reply, namelen) == 44 );
1232C_ASSERT( sizeof(struct enum_key_reply) == 48 );
1233C_ASSERT( FIELD_OFFSET(struct set_key_value_request, hkey) == 12 );
1234C_ASSERT( FIELD_OFFSET(struct set_key_value_request, type) == 16 );
1235C_ASSERT( FIELD_OFFSET(struct set_key_value_request, namelen) == 20 );
1236C_ASSERT( sizeof(struct set_key_value_request) == 24 );
1237C_ASSERT( FIELD_OFFSET(struct get_key_value_request, hkey) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001238C_ASSERT( sizeof(struct get_key_value_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001239C_ASSERT( FIELD_OFFSET(struct get_key_value_reply, type) == 8 );
1240C_ASSERT( FIELD_OFFSET(struct get_key_value_reply, total) == 12 );
1241C_ASSERT( sizeof(struct get_key_value_reply) == 16 );
1242C_ASSERT( FIELD_OFFSET(struct enum_key_value_request, hkey) == 12 );
1243C_ASSERT( FIELD_OFFSET(struct enum_key_value_request, index) == 16 );
1244C_ASSERT( FIELD_OFFSET(struct enum_key_value_request, info_class) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001245C_ASSERT( sizeof(struct enum_key_value_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001246C_ASSERT( FIELD_OFFSET(struct enum_key_value_reply, type) == 8 );
1247C_ASSERT( FIELD_OFFSET(struct enum_key_value_reply, total) == 12 );
1248C_ASSERT( FIELD_OFFSET(struct enum_key_value_reply, namelen) == 16 );
1249C_ASSERT( sizeof(struct enum_key_value_reply) == 24 );
1250C_ASSERT( FIELD_OFFSET(struct delete_key_value_request, hkey) == 12 );
1251C_ASSERT( sizeof(struct delete_key_value_request) == 16 );
1252C_ASSERT( FIELD_OFFSET(struct load_registry_request, hkey) == 12 );
1253C_ASSERT( FIELD_OFFSET(struct load_registry_request, file) == 16 );
1254C_ASSERT( sizeof(struct load_registry_request) == 24 );
1255C_ASSERT( FIELD_OFFSET(struct unload_registry_request, hkey) == 12 );
1256C_ASSERT( sizeof(struct unload_registry_request) == 16 );
1257C_ASSERT( FIELD_OFFSET(struct save_registry_request, hkey) == 12 );
1258C_ASSERT( FIELD_OFFSET(struct save_registry_request, file) == 16 );
1259C_ASSERT( sizeof(struct save_registry_request) == 24 );
1260C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request, hkey) == 12 );
1261C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request, event) == 16 );
1262C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request, subtree) == 20 );
1263C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request, filter) == 24 );
1264C_ASSERT( sizeof(struct set_registry_notification_request) == 32 );
1265C_ASSERT( FIELD_OFFSET(struct create_timer_request, access) == 12 );
1266C_ASSERT( FIELD_OFFSET(struct create_timer_request, attributes) == 16 );
1267C_ASSERT( FIELD_OFFSET(struct create_timer_request, rootdir) == 20 );
1268C_ASSERT( FIELD_OFFSET(struct create_timer_request, manual) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001269C_ASSERT( sizeof(struct create_timer_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001270C_ASSERT( FIELD_OFFSET(struct create_timer_reply, handle) == 8 );
1271C_ASSERT( sizeof(struct create_timer_reply) == 16 );
1272C_ASSERT( FIELD_OFFSET(struct open_timer_request, access) == 12 );
1273C_ASSERT( FIELD_OFFSET(struct open_timer_request, attributes) == 16 );
1274C_ASSERT( FIELD_OFFSET(struct open_timer_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001275C_ASSERT( sizeof(struct open_timer_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001276C_ASSERT( FIELD_OFFSET(struct open_timer_reply, handle) == 8 );
1277C_ASSERT( sizeof(struct open_timer_reply) == 16 );
1278C_ASSERT( FIELD_OFFSET(struct set_timer_request, handle) == 12 );
1279C_ASSERT( FIELD_OFFSET(struct set_timer_request, expire) == 16 );
1280C_ASSERT( FIELD_OFFSET(struct set_timer_request, callback) == 24 );
1281C_ASSERT( FIELD_OFFSET(struct set_timer_request, arg) == 32 );
1282C_ASSERT( FIELD_OFFSET(struct set_timer_request, period) == 40 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001283C_ASSERT( sizeof(struct set_timer_request) == 48 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001284C_ASSERT( FIELD_OFFSET(struct set_timer_reply, signaled) == 8 );
1285C_ASSERT( sizeof(struct set_timer_reply) == 16 );
1286C_ASSERT( FIELD_OFFSET(struct cancel_timer_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001287C_ASSERT( sizeof(struct cancel_timer_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001288C_ASSERT( FIELD_OFFSET(struct cancel_timer_reply, signaled) == 8 );
1289C_ASSERT( sizeof(struct cancel_timer_reply) == 16 );
1290C_ASSERT( FIELD_OFFSET(struct get_timer_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001291C_ASSERT( sizeof(struct get_timer_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001292C_ASSERT( FIELD_OFFSET(struct get_timer_info_reply, when) == 8 );
1293C_ASSERT( FIELD_OFFSET(struct get_timer_info_reply, signaled) == 16 );
1294C_ASSERT( sizeof(struct get_timer_info_reply) == 24 );
1295C_ASSERT( FIELD_OFFSET(struct get_thread_context_request, handle) == 12 );
1296C_ASSERT( FIELD_OFFSET(struct get_thread_context_request, flags) == 16 );
1297C_ASSERT( FIELD_OFFSET(struct get_thread_context_request, suspend) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001298C_ASSERT( sizeof(struct get_thread_context_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001299C_ASSERT( FIELD_OFFSET(struct get_thread_context_reply, self) == 8 );
1300C_ASSERT( sizeof(struct get_thread_context_reply) == 16 );
1301C_ASSERT( FIELD_OFFSET(struct set_thread_context_request, handle) == 12 );
Alexandre Julliard5316dd02009-04-08 19:38:02 +02001302C_ASSERT( FIELD_OFFSET(struct set_thread_context_request, suspend) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001303C_ASSERT( sizeof(struct set_thread_context_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001304C_ASSERT( FIELD_OFFSET(struct set_thread_context_reply, self) == 8 );
1305C_ASSERT( sizeof(struct set_thread_context_reply) == 16 );
1306C_ASSERT( FIELD_OFFSET(struct get_selector_entry_request, handle) == 12 );
1307C_ASSERT( FIELD_OFFSET(struct get_selector_entry_request, entry) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001308C_ASSERT( sizeof(struct get_selector_entry_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001309C_ASSERT( FIELD_OFFSET(struct get_selector_entry_reply, base) == 8 );
1310C_ASSERT( FIELD_OFFSET(struct get_selector_entry_reply, limit) == 12 );
1311C_ASSERT( FIELD_OFFSET(struct get_selector_entry_reply, flags) == 16 );
1312C_ASSERT( sizeof(struct get_selector_entry_reply) == 24 );
1313C_ASSERT( FIELD_OFFSET(struct add_atom_request, table) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001314C_ASSERT( sizeof(struct add_atom_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001315C_ASSERT( FIELD_OFFSET(struct add_atom_reply, atom) == 8 );
1316C_ASSERT( sizeof(struct add_atom_reply) == 16 );
1317C_ASSERT( FIELD_OFFSET(struct delete_atom_request, table) == 12 );
1318C_ASSERT( FIELD_OFFSET(struct delete_atom_request, atom) == 16 );
1319C_ASSERT( sizeof(struct delete_atom_request) == 24 );
1320C_ASSERT( FIELD_OFFSET(struct find_atom_request, table) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001321C_ASSERT( sizeof(struct find_atom_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001322C_ASSERT( FIELD_OFFSET(struct find_atom_reply, atom) == 8 );
1323C_ASSERT( sizeof(struct find_atom_reply) == 16 );
1324C_ASSERT( FIELD_OFFSET(struct get_atom_information_request, table) == 12 );
1325C_ASSERT( FIELD_OFFSET(struct get_atom_information_request, atom) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001326C_ASSERT( sizeof(struct get_atom_information_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001327C_ASSERT( FIELD_OFFSET(struct get_atom_information_reply, count) == 8 );
1328C_ASSERT( FIELD_OFFSET(struct get_atom_information_reply, pinned) == 12 );
1329C_ASSERT( FIELD_OFFSET(struct get_atom_information_reply, total) == 16 );
1330C_ASSERT( sizeof(struct get_atom_information_reply) == 24 );
1331C_ASSERT( FIELD_OFFSET(struct set_atom_information_request, table) == 12 );
1332C_ASSERT( FIELD_OFFSET(struct set_atom_information_request, atom) == 16 );
1333C_ASSERT( FIELD_OFFSET(struct set_atom_information_request, pinned) == 20 );
1334C_ASSERT( sizeof(struct set_atom_information_request) == 24 );
1335C_ASSERT( FIELD_OFFSET(struct empty_atom_table_request, table) == 12 );
1336C_ASSERT( FIELD_OFFSET(struct empty_atom_table_request, if_pinned) == 16 );
1337C_ASSERT( sizeof(struct empty_atom_table_request) == 24 );
1338C_ASSERT( FIELD_OFFSET(struct init_atom_table_request, entries) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001339C_ASSERT( sizeof(struct init_atom_table_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001340C_ASSERT( FIELD_OFFSET(struct init_atom_table_reply, table) == 8 );
1341C_ASSERT( sizeof(struct init_atom_table_reply) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001342C_ASSERT( sizeof(struct get_msg_queue_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001343C_ASSERT( FIELD_OFFSET(struct get_msg_queue_reply, handle) == 8 );
1344C_ASSERT( sizeof(struct get_msg_queue_reply) == 16 );
1345C_ASSERT( FIELD_OFFSET(struct set_queue_fd_request, handle) == 12 );
1346C_ASSERT( sizeof(struct set_queue_fd_request) == 16 );
1347C_ASSERT( FIELD_OFFSET(struct set_queue_mask_request, wake_mask) == 12 );
1348C_ASSERT( FIELD_OFFSET(struct set_queue_mask_request, changed_mask) == 16 );
1349C_ASSERT( FIELD_OFFSET(struct set_queue_mask_request, skip_wait) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001350C_ASSERT( sizeof(struct set_queue_mask_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001351C_ASSERT( FIELD_OFFSET(struct set_queue_mask_reply, wake_bits) == 8 );
1352C_ASSERT( FIELD_OFFSET(struct set_queue_mask_reply, changed_bits) == 12 );
1353C_ASSERT( sizeof(struct set_queue_mask_reply) == 16 );
1354C_ASSERT( FIELD_OFFSET(struct get_queue_status_request, clear) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001355C_ASSERT( sizeof(struct get_queue_status_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001356C_ASSERT( FIELD_OFFSET(struct get_queue_status_reply, wake_bits) == 8 );
1357C_ASSERT( FIELD_OFFSET(struct get_queue_status_reply, changed_bits) == 12 );
1358C_ASSERT( sizeof(struct get_queue_status_reply) == 16 );
1359C_ASSERT( FIELD_OFFSET(struct get_process_idle_event_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001360C_ASSERT( sizeof(struct get_process_idle_event_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001361C_ASSERT( FIELD_OFFSET(struct get_process_idle_event_reply, event) == 8 );
1362C_ASSERT( sizeof(struct get_process_idle_event_reply) == 16 );
1363C_ASSERT( FIELD_OFFSET(struct send_message_request, id) == 12 );
1364C_ASSERT( FIELD_OFFSET(struct send_message_request, type) == 16 );
1365C_ASSERT( FIELD_OFFSET(struct send_message_request, flags) == 20 );
1366C_ASSERT( FIELD_OFFSET(struct send_message_request, win) == 24 );
1367C_ASSERT( FIELD_OFFSET(struct send_message_request, msg) == 28 );
1368C_ASSERT( FIELD_OFFSET(struct send_message_request, wparam) == 32 );
1369C_ASSERT( FIELD_OFFSET(struct send_message_request, lparam) == 40 );
1370C_ASSERT( FIELD_OFFSET(struct send_message_request, timeout) == 48 );
1371C_ASSERT( sizeof(struct send_message_request) == 56 );
1372C_ASSERT( FIELD_OFFSET(struct post_quit_message_request, exit_code) == 12 );
1373C_ASSERT( sizeof(struct post_quit_message_request) == 16 );
1374C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, id) == 12 );
1375C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, win) == 16 );
1376C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, msg) == 20 );
1377C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, wparam) == 24 );
1378C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, lparam) == 32 );
1379C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, info) == 40 );
1380C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, x) == 48 );
1381C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, y) == 52 );
1382C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request, time) == 56 );
1383C_ASSERT( sizeof(struct send_hardware_message_request) == 64 );
Alexandre Julliardcd28e2b2010-04-20 20:51:45 +02001384C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply, cursor) == 8 );
1385C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply, count) == 12 );
1386C_ASSERT( sizeof(struct send_hardware_message_reply) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001387C_ASSERT( FIELD_OFFSET(struct get_message_request, flags) == 12 );
1388C_ASSERT( FIELD_OFFSET(struct get_message_request, get_win) == 16 );
1389C_ASSERT( FIELD_OFFSET(struct get_message_request, get_first) == 20 );
1390C_ASSERT( FIELD_OFFSET(struct get_message_request, get_last) == 24 );
1391C_ASSERT( FIELD_OFFSET(struct get_message_request, hw_id) == 28 );
1392C_ASSERT( FIELD_OFFSET(struct get_message_request, wake_mask) == 32 );
1393C_ASSERT( FIELD_OFFSET(struct get_message_request, changed_mask) == 36 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001394C_ASSERT( sizeof(struct get_message_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001395C_ASSERT( FIELD_OFFSET(struct get_message_reply, win) == 8 );
1396C_ASSERT( FIELD_OFFSET(struct get_message_reply, msg) == 12 );
1397C_ASSERT( FIELD_OFFSET(struct get_message_reply, wparam) == 16 );
1398C_ASSERT( FIELD_OFFSET(struct get_message_reply, lparam) == 24 );
1399C_ASSERT( FIELD_OFFSET(struct get_message_reply, type) == 32 );
1400C_ASSERT( FIELD_OFFSET(struct get_message_reply, time) == 36 );
1401C_ASSERT( FIELD_OFFSET(struct get_message_reply, active_hooks) == 40 );
1402C_ASSERT( FIELD_OFFSET(struct get_message_reply, total) == 44 );
1403C_ASSERT( sizeof(struct get_message_reply) == 48 );
1404C_ASSERT( FIELD_OFFSET(struct reply_message_request, remove) == 12 );
1405C_ASSERT( FIELD_OFFSET(struct reply_message_request, result) == 16 );
1406C_ASSERT( sizeof(struct reply_message_request) == 24 );
1407C_ASSERT( FIELD_OFFSET(struct accept_hardware_message_request, hw_id) == 12 );
1408C_ASSERT( FIELD_OFFSET(struct accept_hardware_message_request, remove) == 16 );
1409C_ASSERT( FIELD_OFFSET(struct accept_hardware_message_request, new_win) == 20 );
1410C_ASSERT( sizeof(struct accept_hardware_message_request) == 24 );
1411C_ASSERT( FIELD_OFFSET(struct get_message_reply_request, cancel) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001412C_ASSERT( sizeof(struct get_message_reply_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001413C_ASSERT( FIELD_OFFSET(struct get_message_reply_reply, result) == 8 );
1414C_ASSERT( sizeof(struct get_message_reply_reply) == 16 );
1415C_ASSERT( FIELD_OFFSET(struct set_win_timer_request, win) == 12 );
1416C_ASSERT( FIELD_OFFSET(struct set_win_timer_request, msg) == 16 );
1417C_ASSERT( FIELD_OFFSET(struct set_win_timer_request, rate) == 20 );
1418C_ASSERT( FIELD_OFFSET(struct set_win_timer_request, id) == 24 );
1419C_ASSERT( FIELD_OFFSET(struct set_win_timer_request, lparam) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001420C_ASSERT( sizeof(struct set_win_timer_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001421C_ASSERT( FIELD_OFFSET(struct set_win_timer_reply, id) == 8 );
1422C_ASSERT( sizeof(struct set_win_timer_reply) == 16 );
1423C_ASSERT( FIELD_OFFSET(struct kill_win_timer_request, win) == 12 );
1424C_ASSERT( FIELD_OFFSET(struct kill_win_timer_request, id) == 16 );
1425C_ASSERT( FIELD_OFFSET(struct kill_win_timer_request, msg) == 24 );
1426C_ASSERT( sizeof(struct kill_win_timer_request) == 32 );
1427C_ASSERT( FIELD_OFFSET(struct is_window_hung_request, win) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001428C_ASSERT( sizeof(struct is_window_hung_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001429C_ASSERT( FIELD_OFFSET(struct is_window_hung_reply, is_hung) == 8 );
1430C_ASSERT( sizeof(struct is_window_hung_reply) == 16 );
1431C_ASSERT( FIELD_OFFSET(struct get_serial_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001432C_ASSERT( sizeof(struct get_serial_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001433C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply, readinterval) == 8 );
1434C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply, readconst) == 12 );
1435C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply, readmult) == 16 );
1436C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply, writeconst) == 20 );
1437C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply, writemult) == 24 );
1438C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply, eventmask) == 28 );
1439C_ASSERT( sizeof(struct get_serial_info_reply) == 32 );
1440C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, handle) == 12 );
1441C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, flags) == 16 );
1442C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, readinterval) == 20 );
1443C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, readconst) == 24 );
1444C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, readmult) == 28 );
1445C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, writeconst) == 32 );
1446C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, writemult) == 36 );
1447C_ASSERT( FIELD_OFFSET(struct set_serial_info_request, eventmask) == 40 );
1448C_ASSERT( sizeof(struct set_serial_info_request) == 48 );
1449C_ASSERT( FIELD_OFFSET(struct register_async_request, type) == 12 );
1450C_ASSERT( FIELD_OFFSET(struct register_async_request, async) == 16 );
1451C_ASSERT( FIELD_OFFSET(struct register_async_request, count) == 56 );
1452C_ASSERT( sizeof(struct register_async_request) == 64 );
1453C_ASSERT( FIELD_OFFSET(struct cancel_async_request, handle) == 12 );
Mike Kaplinskiyb05774e2009-08-09 00:08:27 -04001454C_ASSERT( FIELD_OFFSET(struct cancel_async_request, iosb) == 16 );
1455C_ASSERT( FIELD_OFFSET(struct cancel_async_request, only_thread) == 24 );
1456C_ASSERT( sizeof(struct cancel_async_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001457C_ASSERT( FIELD_OFFSET(struct ioctl_request, code) == 12 );
1458C_ASSERT( FIELD_OFFSET(struct ioctl_request, async) == 16 );
1459C_ASSERT( FIELD_OFFSET(struct ioctl_request, blocking) == 56 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001460C_ASSERT( sizeof(struct ioctl_request) == 64 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001461C_ASSERT( FIELD_OFFSET(struct ioctl_reply, wait) == 8 );
1462C_ASSERT( FIELD_OFFSET(struct ioctl_reply, options) == 12 );
1463C_ASSERT( sizeof(struct ioctl_reply) == 16 );
1464C_ASSERT( FIELD_OFFSET(struct get_ioctl_result_request, handle) == 12 );
1465C_ASSERT( FIELD_OFFSET(struct get_ioctl_result_request, user_arg) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001466C_ASSERT( sizeof(struct get_ioctl_result_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001467C_ASSERT( sizeof(struct get_ioctl_result_reply) == 8 );
1468C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, access) == 12 );
1469C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, attributes) == 16 );
1470C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, rootdir) == 20 );
1471C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, options) == 24 );
1472C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, maxinstances) == 28 );
1473C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, outsize) == 32 );
1474C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, insize) == 36 );
1475C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, timeout) == 40 );
1476C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request, flags) == 48 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001477C_ASSERT( sizeof(struct create_named_pipe_request) == 56 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001478C_ASSERT( FIELD_OFFSET(struct create_named_pipe_reply, handle) == 8 );
1479C_ASSERT( sizeof(struct create_named_pipe_reply) == 16 );
1480C_ASSERT( FIELD_OFFSET(struct get_named_pipe_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001481C_ASSERT( sizeof(struct get_named_pipe_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001482C_ASSERT( FIELD_OFFSET(struct get_named_pipe_info_reply, flags) == 8 );
1483C_ASSERT( FIELD_OFFSET(struct get_named_pipe_info_reply, maxinstances) == 12 );
1484C_ASSERT( FIELD_OFFSET(struct get_named_pipe_info_reply, instances) == 16 );
1485C_ASSERT( FIELD_OFFSET(struct get_named_pipe_info_reply, outsize) == 20 );
1486C_ASSERT( FIELD_OFFSET(struct get_named_pipe_info_reply, insize) == 24 );
1487C_ASSERT( sizeof(struct get_named_pipe_info_reply) == 32 );
1488C_ASSERT( FIELD_OFFSET(struct create_window_request, parent) == 12 );
1489C_ASSERT( FIELD_OFFSET(struct create_window_request, owner) == 16 );
1490C_ASSERT( FIELD_OFFSET(struct create_window_request, atom) == 20 );
1491C_ASSERT( FIELD_OFFSET(struct create_window_request, instance) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001492C_ASSERT( sizeof(struct create_window_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001493C_ASSERT( FIELD_OFFSET(struct create_window_reply, handle) == 8 );
1494C_ASSERT( FIELD_OFFSET(struct create_window_reply, parent) == 12 );
1495C_ASSERT( FIELD_OFFSET(struct create_window_reply, owner) == 16 );
1496C_ASSERT( FIELD_OFFSET(struct create_window_reply, extra) == 20 );
1497C_ASSERT( FIELD_OFFSET(struct create_window_reply, class_ptr) == 24 );
1498C_ASSERT( sizeof(struct create_window_reply) == 32 );
1499C_ASSERT( FIELD_OFFSET(struct destroy_window_request, handle) == 12 );
1500C_ASSERT( sizeof(struct destroy_window_request) == 16 );
1501C_ASSERT( FIELD_OFFSET(struct get_desktop_window_request, force) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001502C_ASSERT( sizeof(struct get_desktop_window_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001503C_ASSERT( FIELD_OFFSET(struct get_desktop_window_reply, top_window) == 8 );
1504C_ASSERT( FIELD_OFFSET(struct get_desktop_window_reply, msg_window) == 12 );
1505C_ASSERT( sizeof(struct get_desktop_window_reply) == 16 );
1506C_ASSERT( FIELD_OFFSET(struct set_window_owner_request, handle) == 12 );
1507C_ASSERT( FIELD_OFFSET(struct set_window_owner_request, owner) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001508C_ASSERT( sizeof(struct set_window_owner_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001509C_ASSERT( FIELD_OFFSET(struct set_window_owner_reply, full_owner) == 8 );
1510C_ASSERT( FIELD_OFFSET(struct set_window_owner_reply, prev_owner) == 12 );
1511C_ASSERT( sizeof(struct set_window_owner_reply) == 16 );
1512C_ASSERT( FIELD_OFFSET(struct get_window_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001513C_ASSERT( sizeof(struct get_window_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001514C_ASSERT( FIELD_OFFSET(struct get_window_info_reply, full_handle) == 8 );
1515C_ASSERT( FIELD_OFFSET(struct get_window_info_reply, last_active) == 12 );
1516C_ASSERT( FIELD_OFFSET(struct get_window_info_reply, pid) == 16 );
1517C_ASSERT( FIELD_OFFSET(struct get_window_info_reply, tid) == 20 );
1518C_ASSERT( FIELD_OFFSET(struct get_window_info_reply, atom) == 24 );
1519C_ASSERT( FIELD_OFFSET(struct get_window_info_reply, is_unicode) == 28 );
1520C_ASSERT( sizeof(struct get_window_info_reply) == 32 );
1521C_ASSERT( FIELD_OFFSET(struct set_window_info_request, flags) == 12 );
1522C_ASSERT( FIELD_OFFSET(struct set_window_info_request, is_unicode) == 14 );
1523C_ASSERT( FIELD_OFFSET(struct set_window_info_request, handle) == 16 );
1524C_ASSERT( FIELD_OFFSET(struct set_window_info_request, style) == 20 );
1525C_ASSERT( FIELD_OFFSET(struct set_window_info_request, ex_style) == 24 );
1526C_ASSERT( FIELD_OFFSET(struct set_window_info_request, id) == 28 );
1527C_ASSERT( FIELD_OFFSET(struct set_window_info_request, instance) == 32 );
1528C_ASSERT( FIELD_OFFSET(struct set_window_info_request, user_data) == 40 );
1529C_ASSERT( FIELD_OFFSET(struct set_window_info_request, extra_offset) == 48 );
1530C_ASSERT( FIELD_OFFSET(struct set_window_info_request, extra_size) == 52 );
1531C_ASSERT( FIELD_OFFSET(struct set_window_info_request, extra_value) == 56 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001532C_ASSERT( sizeof(struct set_window_info_request) == 64 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001533C_ASSERT( FIELD_OFFSET(struct set_window_info_reply, old_style) == 8 );
1534C_ASSERT( FIELD_OFFSET(struct set_window_info_reply, old_ex_style) == 12 );
1535C_ASSERT( FIELD_OFFSET(struct set_window_info_reply, old_instance) == 16 );
1536C_ASSERT( FIELD_OFFSET(struct set_window_info_reply, old_user_data) == 24 );
1537C_ASSERT( FIELD_OFFSET(struct set_window_info_reply, old_extra_value) == 32 );
1538C_ASSERT( FIELD_OFFSET(struct set_window_info_reply, old_id) == 40 );
1539C_ASSERT( sizeof(struct set_window_info_reply) == 48 );
1540C_ASSERT( FIELD_OFFSET(struct set_parent_request, handle) == 12 );
1541C_ASSERT( FIELD_OFFSET(struct set_parent_request, parent) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001542C_ASSERT( sizeof(struct set_parent_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001543C_ASSERT( FIELD_OFFSET(struct set_parent_reply, old_parent) == 8 );
1544C_ASSERT( FIELD_OFFSET(struct set_parent_reply, full_parent) == 12 );
1545C_ASSERT( sizeof(struct set_parent_reply) == 16 );
1546C_ASSERT( FIELD_OFFSET(struct get_window_parents_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001547C_ASSERT( sizeof(struct get_window_parents_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001548C_ASSERT( FIELD_OFFSET(struct get_window_parents_reply, count) == 8 );
1549C_ASSERT( sizeof(struct get_window_parents_reply) == 16 );
1550C_ASSERT( FIELD_OFFSET(struct get_window_children_request, desktop) == 12 );
1551C_ASSERT( FIELD_OFFSET(struct get_window_children_request, parent) == 16 );
1552C_ASSERT( FIELD_OFFSET(struct get_window_children_request, atom) == 20 );
1553C_ASSERT( FIELD_OFFSET(struct get_window_children_request, tid) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001554C_ASSERT( sizeof(struct get_window_children_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001555C_ASSERT( FIELD_OFFSET(struct get_window_children_reply, count) == 8 );
1556C_ASSERT( sizeof(struct get_window_children_reply) == 16 );
1557C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request, parent) == 12 );
1558C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request, x) == 16 );
1559C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request, y) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001560C_ASSERT( sizeof(struct get_window_children_from_point_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001561C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_reply, count) == 8 );
1562C_ASSERT( sizeof(struct get_window_children_from_point_reply) == 16 );
1563C_ASSERT( FIELD_OFFSET(struct get_window_tree_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001564C_ASSERT( sizeof(struct get_window_tree_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001565C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, parent) == 8 );
1566C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, owner) == 12 );
1567C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, next_sibling) == 16 );
1568C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, prev_sibling) == 20 );
1569C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, first_sibling) == 24 );
1570C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, last_sibling) == 28 );
1571C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, first_child) == 32 );
1572C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply, last_child) == 36 );
1573C_ASSERT( sizeof(struct get_window_tree_reply) == 40 );
1574C_ASSERT( FIELD_OFFSET(struct set_window_pos_request, flags) == 12 );
1575C_ASSERT( FIELD_OFFSET(struct set_window_pos_request, handle) == 16 );
1576C_ASSERT( FIELD_OFFSET(struct set_window_pos_request, previous) == 20 );
1577C_ASSERT( FIELD_OFFSET(struct set_window_pos_request, window) == 24 );
1578C_ASSERT( FIELD_OFFSET(struct set_window_pos_request, client) == 40 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001579C_ASSERT( sizeof(struct set_window_pos_request) == 56 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001580C_ASSERT( FIELD_OFFSET(struct set_window_pos_reply, new_style) == 8 );
1581C_ASSERT( FIELD_OFFSET(struct set_window_pos_reply, new_ex_style) == 12 );
1582C_ASSERT( sizeof(struct set_window_pos_reply) == 16 );
1583C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001584C_ASSERT( sizeof(struct get_window_rectangles_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001585C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_reply, window) == 8 );
1586C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_reply, visible) == 24 );
1587C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_reply, client) == 40 );
1588C_ASSERT( sizeof(struct get_window_rectangles_reply) == 56 );
1589C_ASSERT( FIELD_OFFSET(struct get_window_text_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001590C_ASSERT( sizeof(struct get_window_text_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001591C_ASSERT( sizeof(struct get_window_text_reply) == 8 );
1592C_ASSERT( FIELD_OFFSET(struct set_window_text_request, handle) == 12 );
1593C_ASSERT( sizeof(struct set_window_text_request) == 16 );
1594C_ASSERT( FIELD_OFFSET(struct get_windows_offset_request, from) == 12 );
1595C_ASSERT( FIELD_OFFSET(struct get_windows_offset_request, to) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001596C_ASSERT( sizeof(struct get_windows_offset_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001597C_ASSERT( FIELD_OFFSET(struct get_windows_offset_reply, x) == 8 );
1598C_ASSERT( FIELD_OFFSET(struct get_windows_offset_reply, y) == 12 );
1599C_ASSERT( sizeof(struct get_windows_offset_reply) == 16 );
1600C_ASSERT( FIELD_OFFSET(struct get_visible_region_request, window) == 12 );
1601C_ASSERT( FIELD_OFFSET(struct get_visible_region_request, flags) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001602C_ASSERT( sizeof(struct get_visible_region_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001603C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, top_win) == 8 );
1604C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, top_rect) == 12 );
1605C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, win_rect) == 28 );
1606C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, total_size) == 44 );
1607C_ASSERT( sizeof(struct get_visible_region_reply) == 48 );
1608C_ASSERT( FIELD_OFFSET(struct get_window_region_request, window) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001609C_ASSERT( sizeof(struct get_window_region_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001610C_ASSERT( FIELD_OFFSET(struct get_window_region_reply, total_size) == 8 );
1611C_ASSERT( sizeof(struct get_window_region_reply) == 16 );
1612C_ASSERT( FIELD_OFFSET(struct set_window_region_request, window) == 12 );
1613C_ASSERT( FIELD_OFFSET(struct set_window_region_request, redraw) == 16 );
1614C_ASSERT( sizeof(struct set_window_region_request) == 24 );
1615C_ASSERT( FIELD_OFFSET(struct get_update_region_request, window) == 12 );
1616C_ASSERT( FIELD_OFFSET(struct get_update_region_request, from_child) == 16 );
1617C_ASSERT( FIELD_OFFSET(struct get_update_region_request, flags) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001618C_ASSERT( sizeof(struct get_update_region_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001619C_ASSERT( FIELD_OFFSET(struct get_update_region_reply, child) == 8 );
1620C_ASSERT( FIELD_OFFSET(struct get_update_region_reply, flags) == 12 );
1621C_ASSERT( FIELD_OFFSET(struct get_update_region_reply, total_size) == 16 );
1622C_ASSERT( sizeof(struct get_update_region_reply) == 24 );
1623C_ASSERT( FIELD_OFFSET(struct update_window_zorder_request, window) == 12 );
1624C_ASSERT( FIELD_OFFSET(struct update_window_zorder_request, rect) == 16 );
1625C_ASSERT( sizeof(struct update_window_zorder_request) == 32 );
1626C_ASSERT( FIELD_OFFSET(struct redraw_window_request, window) == 12 );
1627C_ASSERT( FIELD_OFFSET(struct redraw_window_request, flags) == 16 );
1628C_ASSERT( sizeof(struct redraw_window_request) == 24 );
1629C_ASSERT( FIELD_OFFSET(struct set_window_property_request, window) == 12 );
1630C_ASSERT( FIELD_OFFSET(struct set_window_property_request, data) == 16 );
1631C_ASSERT( FIELD_OFFSET(struct set_window_property_request, atom) == 24 );
1632C_ASSERT( sizeof(struct set_window_property_request) == 32 );
1633C_ASSERT( FIELD_OFFSET(struct remove_window_property_request, window) == 12 );
1634C_ASSERT( FIELD_OFFSET(struct remove_window_property_request, atom) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001635C_ASSERT( sizeof(struct remove_window_property_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001636C_ASSERT( FIELD_OFFSET(struct remove_window_property_reply, data) == 8 );
1637C_ASSERT( sizeof(struct remove_window_property_reply) == 16 );
1638C_ASSERT( FIELD_OFFSET(struct get_window_property_request, window) == 12 );
1639C_ASSERT( FIELD_OFFSET(struct get_window_property_request, atom) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001640C_ASSERT( sizeof(struct get_window_property_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001641C_ASSERT( FIELD_OFFSET(struct get_window_property_reply, data) == 8 );
1642C_ASSERT( sizeof(struct get_window_property_reply) == 16 );
1643C_ASSERT( FIELD_OFFSET(struct get_window_properties_request, window) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001644C_ASSERT( sizeof(struct get_window_properties_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001645C_ASSERT( FIELD_OFFSET(struct get_window_properties_reply, total) == 8 );
1646C_ASSERT( sizeof(struct get_window_properties_reply) == 16 );
1647C_ASSERT( FIELD_OFFSET(struct create_winstation_request, flags) == 12 );
1648C_ASSERT( FIELD_OFFSET(struct create_winstation_request, access) == 16 );
1649C_ASSERT( FIELD_OFFSET(struct create_winstation_request, attributes) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001650C_ASSERT( sizeof(struct create_winstation_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001651C_ASSERT( FIELD_OFFSET(struct create_winstation_reply, handle) == 8 );
1652C_ASSERT( sizeof(struct create_winstation_reply) == 16 );
1653C_ASSERT( FIELD_OFFSET(struct open_winstation_request, access) == 12 );
1654C_ASSERT( FIELD_OFFSET(struct open_winstation_request, attributes) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001655C_ASSERT( sizeof(struct open_winstation_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001656C_ASSERT( FIELD_OFFSET(struct open_winstation_reply, handle) == 8 );
1657C_ASSERT( sizeof(struct open_winstation_reply) == 16 );
1658C_ASSERT( FIELD_OFFSET(struct close_winstation_request, handle) == 12 );
1659C_ASSERT( sizeof(struct close_winstation_request) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001660C_ASSERT( sizeof(struct get_process_winstation_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001661C_ASSERT( FIELD_OFFSET(struct get_process_winstation_reply, handle) == 8 );
1662C_ASSERT( sizeof(struct get_process_winstation_reply) == 16 );
1663C_ASSERT( FIELD_OFFSET(struct set_process_winstation_request, handle) == 12 );
1664C_ASSERT( sizeof(struct set_process_winstation_request) == 16 );
1665C_ASSERT( FIELD_OFFSET(struct enum_winstation_request, index) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001666C_ASSERT( sizeof(struct enum_winstation_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001667C_ASSERT( FIELD_OFFSET(struct enum_winstation_reply, next) == 8 );
1668C_ASSERT( sizeof(struct enum_winstation_reply) == 16 );
1669C_ASSERT( FIELD_OFFSET(struct create_desktop_request, flags) == 12 );
1670C_ASSERT( FIELD_OFFSET(struct create_desktop_request, access) == 16 );
1671C_ASSERT( FIELD_OFFSET(struct create_desktop_request, attributes) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001672C_ASSERT( sizeof(struct create_desktop_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001673C_ASSERT( FIELD_OFFSET(struct create_desktop_reply, handle) == 8 );
1674C_ASSERT( sizeof(struct create_desktop_reply) == 16 );
1675C_ASSERT( FIELD_OFFSET(struct open_desktop_request, winsta) == 12 );
1676C_ASSERT( FIELD_OFFSET(struct open_desktop_request, flags) == 16 );
1677C_ASSERT( FIELD_OFFSET(struct open_desktop_request, access) == 20 );
1678C_ASSERT( FIELD_OFFSET(struct open_desktop_request, attributes) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001679C_ASSERT( sizeof(struct open_desktop_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001680C_ASSERT( FIELD_OFFSET(struct open_desktop_reply, handle) == 8 );
1681C_ASSERT( sizeof(struct open_desktop_reply) == 16 );
1682C_ASSERT( FIELD_OFFSET(struct close_desktop_request, handle) == 12 );
1683C_ASSERT( sizeof(struct close_desktop_request) == 16 );
1684C_ASSERT( FIELD_OFFSET(struct get_thread_desktop_request, tid) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001685C_ASSERT( sizeof(struct get_thread_desktop_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001686C_ASSERT( FIELD_OFFSET(struct get_thread_desktop_reply, handle) == 8 );
1687C_ASSERT( sizeof(struct get_thread_desktop_reply) == 16 );
1688C_ASSERT( FIELD_OFFSET(struct set_thread_desktop_request, handle) == 12 );
1689C_ASSERT( sizeof(struct set_thread_desktop_request) == 16 );
1690C_ASSERT( FIELD_OFFSET(struct enum_desktop_request, winstation) == 12 );
1691C_ASSERT( FIELD_OFFSET(struct enum_desktop_request, index) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001692C_ASSERT( sizeof(struct enum_desktop_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001693C_ASSERT( FIELD_OFFSET(struct enum_desktop_reply, next) == 8 );
1694C_ASSERT( sizeof(struct enum_desktop_reply) == 16 );
1695C_ASSERT( FIELD_OFFSET(struct set_user_object_info_request, handle) == 12 );
1696C_ASSERT( FIELD_OFFSET(struct set_user_object_info_request, flags) == 16 );
1697C_ASSERT( FIELD_OFFSET(struct set_user_object_info_request, obj_flags) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001698C_ASSERT( sizeof(struct set_user_object_info_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001699C_ASSERT( FIELD_OFFSET(struct set_user_object_info_reply, is_desktop) == 8 );
1700C_ASSERT( FIELD_OFFSET(struct set_user_object_info_reply, old_obj_flags) == 12 );
1701C_ASSERT( sizeof(struct set_user_object_info_reply) == 16 );
1702C_ASSERT( FIELD_OFFSET(struct attach_thread_input_request, tid_from) == 12 );
1703C_ASSERT( FIELD_OFFSET(struct attach_thread_input_request, tid_to) == 16 );
1704C_ASSERT( FIELD_OFFSET(struct attach_thread_input_request, attach) == 20 );
1705C_ASSERT( sizeof(struct attach_thread_input_request) == 24 );
1706C_ASSERT( FIELD_OFFSET(struct get_thread_input_request, tid) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001707C_ASSERT( sizeof(struct get_thread_input_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001708C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, focus) == 8 );
1709C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, capture) == 12 );
1710C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, active) == 16 );
1711C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, foreground) == 20 );
1712C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, menu_owner) == 24 );
1713C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, move_size) == 28 );
1714C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, caret) == 32 );
Alexandre Julliardc5459822010-05-11 11:21:03 +02001715C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, cursor) == 36 );
1716C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, show_count) == 40 );
1717C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply, rect) == 44 );
1718C_ASSERT( sizeof(struct get_thread_input_reply) == 64 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001719C_ASSERT( sizeof(struct get_last_input_time_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001720C_ASSERT( FIELD_OFFSET(struct get_last_input_time_reply, time) == 8 );
1721C_ASSERT( sizeof(struct get_last_input_time_reply) == 16 );
1722C_ASSERT( FIELD_OFFSET(struct get_key_state_request, tid) == 12 );
1723C_ASSERT( FIELD_OFFSET(struct get_key_state_request, key) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001724C_ASSERT( sizeof(struct get_key_state_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001725C_ASSERT( FIELD_OFFSET(struct get_key_state_reply, state) == 8 );
1726C_ASSERT( sizeof(struct get_key_state_reply) == 16 );
1727C_ASSERT( FIELD_OFFSET(struct set_key_state_request, tid) == 12 );
1728C_ASSERT( sizeof(struct set_key_state_request) == 16 );
1729C_ASSERT( FIELD_OFFSET(struct set_foreground_window_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001730C_ASSERT( sizeof(struct set_foreground_window_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001731C_ASSERT( FIELD_OFFSET(struct set_foreground_window_reply, previous) == 8 );
1732C_ASSERT( FIELD_OFFSET(struct set_foreground_window_reply, send_msg_old) == 12 );
1733C_ASSERT( FIELD_OFFSET(struct set_foreground_window_reply, send_msg_new) == 16 );
1734C_ASSERT( sizeof(struct set_foreground_window_reply) == 24 );
1735C_ASSERT( FIELD_OFFSET(struct set_focus_window_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001736C_ASSERT( sizeof(struct set_focus_window_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001737C_ASSERT( FIELD_OFFSET(struct set_focus_window_reply, previous) == 8 );
1738C_ASSERT( sizeof(struct set_focus_window_reply) == 16 );
1739C_ASSERT( FIELD_OFFSET(struct set_active_window_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001740C_ASSERT( sizeof(struct set_active_window_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001741C_ASSERT( FIELD_OFFSET(struct set_active_window_reply, previous) == 8 );
1742C_ASSERT( sizeof(struct set_active_window_reply) == 16 );
1743C_ASSERT( FIELD_OFFSET(struct set_capture_window_request, handle) == 12 );
1744C_ASSERT( FIELD_OFFSET(struct set_capture_window_request, flags) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001745C_ASSERT( sizeof(struct set_capture_window_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001746C_ASSERT( FIELD_OFFSET(struct set_capture_window_reply, previous) == 8 );
1747C_ASSERT( FIELD_OFFSET(struct set_capture_window_reply, full_handle) == 12 );
1748C_ASSERT( sizeof(struct set_capture_window_reply) == 16 );
1749C_ASSERT( FIELD_OFFSET(struct set_caret_window_request, handle) == 12 );
1750C_ASSERT( FIELD_OFFSET(struct set_caret_window_request, width) == 16 );
1751C_ASSERT( FIELD_OFFSET(struct set_caret_window_request, height) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001752C_ASSERT( sizeof(struct set_caret_window_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001753C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply, previous) == 8 );
1754C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply, old_rect) == 12 );
1755C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply, old_hide) == 28 );
1756C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply, old_state) == 32 );
1757C_ASSERT( sizeof(struct set_caret_window_reply) == 40 );
1758C_ASSERT( FIELD_OFFSET(struct set_caret_info_request, flags) == 12 );
1759C_ASSERT( FIELD_OFFSET(struct set_caret_info_request, handle) == 16 );
1760C_ASSERT( FIELD_OFFSET(struct set_caret_info_request, x) == 20 );
1761C_ASSERT( FIELD_OFFSET(struct set_caret_info_request, y) == 24 );
1762C_ASSERT( FIELD_OFFSET(struct set_caret_info_request, hide) == 28 );
1763C_ASSERT( FIELD_OFFSET(struct set_caret_info_request, state) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001764C_ASSERT( sizeof(struct set_caret_info_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001765C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply, full_handle) == 8 );
1766C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply, old_rect) == 12 );
1767C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply, old_hide) == 28 );
1768C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply, old_state) == 32 );
1769C_ASSERT( sizeof(struct set_caret_info_reply) == 40 );
1770C_ASSERT( FIELD_OFFSET(struct set_hook_request, id) == 12 );
1771C_ASSERT( FIELD_OFFSET(struct set_hook_request, pid) == 16 );
1772C_ASSERT( FIELD_OFFSET(struct set_hook_request, tid) == 20 );
1773C_ASSERT( FIELD_OFFSET(struct set_hook_request, event_min) == 24 );
1774C_ASSERT( FIELD_OFFSET(struct set_hook_request, event_max) == 28 );
1775C_ASSERT( FIELD_OFFSET(struct set_hook_request, proc) == 32 );
1776C_ASSERT( FIELD_OFFSET(struct set_hook_request, flags) == 40 );
1777C_ASSERT( FIELD_OFFSET(struct set_hook_request, unicode) == 44 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001778C_ASSERT( sizeof(struct set_hook_request) == 48 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001779C_ASSERT( FIELD_OFFSET(struct set_hook_reply, handle) == 8 );
1780C_ASSERT( FIELD_OFFSET(struct set_hook_reply, active_hooks) == 12 );
1781C_ASSERT( sizeof(struct set_hook_reply) == 16 );
1782C_ASSERT( FIELD_OFFSET(struct remove_hook_request, handle) == 12 );
1783C_ASSERT( FIELD_OFFSET(struct remove_hook_request, proc) == 16 );
1784C_ASSERT( FIELD_OFFSET(struct remove_hook_request, id) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001785C_ASSERT( sizeof(struct remove_hook_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001786C_ASSERT( FIELD_OFFSET(struct remove_hook_reply, active_hooks) == 8 );
1787C_ASSERT( sizeof(struct remove_hook_reply) == 16 );
1788C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request, id) == 12 );
1789C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request, event) == 16 );
1790C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request, window) == 20 );
1791C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request, object_id) == 24 );
1792C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request, child_id) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001793C_ASSERT( sizeof(struct start_hook_chain_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001794C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply, handle) == 8 );
1795C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply, pid) == 12 );
1796C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply, tid) == 16 );
1797C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply, unicode) == 20 );
1798C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply, proc) == 24 );
1799C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply, active_hooks) == 32 );
1800C_ASSERT( sizeof(struct start_hook_chain_reply) == 40 );
1801C_ASSERT( FIELD_OFFSET(struct finish_hook_chain_request, id) == 12 );
1802C_ASSERT( sizeof(struct finish_hook_chain_request) == 16 );
1803C_ASSERT( FIELD_OFFSET(struct get_hook_info_request, handle) == 12 );
1804C_ASSERT( FIELD_OFFSET(struct get_hook_info_request, get_next) == 16 );
1805C_ASSERT( FIELD_OFFSET(struct get_hook_info_request, event) == 20 );
1806C_ASSERT( FIELD_OFFSET(struct get_hook_info_request, window) == 24 );
1807C_ASSERT( FIELD_OFFSET(struct get_hook_info_request, object_id) == 28 );
1808C_ASSERT( FIELD_OFFSET(struct get_hook_info_request, child_id) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001809C_ASSERT( sizeof(struct get_hook_info_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001810C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply, handle) == 8 );
1811C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply, id) == 12 );
1812C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply, pid) == 16 );
1813C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply, tid) == 20 );
1814C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply, proc) == 24 );
1815C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply, unicode) == 32 );
1816C_ASSERT( sizeof(struct get_hook_info_reply) == 40 );
1817C_ASSERT( FIELD_OFFSET(struct create_class_request, local) == 12 );
1818C_ASSERT( FIELD_OFFSET(struct create_class_request, atom) == 16 );
1819C_ASSERT( FIELD_OFFSET(struct create_class_request, style) == 20 );
1820C_ASSERT( FIELD_OFFSET(struct create_class_request, instance) == 24 );
1821C_ASSERT( FIELD_OFFSET(struct create_class_request, extra) == 32 );
1822C_ASSERT( FIELD_OFFSET(struct create_class_request, win_extra) == 36 );
1823C_ASSERT( FIELD_OFFSET(struct create_class_request, client_ptr) == 40 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001824C_ASSERT( sizeof(struct create_class_request) == 48 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001825C_ASSERT( FIELD_OFFSET(struct create_class_reply, atom) == 8 );
1826C_ASSERT( sizeof(struct create_class_reply) == 16 );
1827C_ASSERT( FIELD_OFFSET(struct destroy_class_request, atom) == 12 );
1828C_ASSERT( FIELD_OFFSET(struct destroy_class_request, instance) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001829C_ASSERT( sizeof(struct destroy_class_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001830C_ASSERT( FIELD_OFFSET(struct destroy_class_reply, client_ptr) == 8 );
1831C_ASSERT( sizeof(struct destroy_class_reply) == 16 );
1832C_ASSERT( FIELD_OFFSET(struct set_class_info_request, window) == 12 );
1833C_ASSERT( FIELD_OFFSET(struct set_class_info_request, flags) == 16 );
1834C_ASSERT( FIELD_OFFSET(struct set_class_info_request, atom) == 20 );
1835C_ASSERT( FIELD_OFFSET(struct set_class_info_request, style) == 24 );
1836C_ASSERT( FIELD_OFFSET(struct set_class_info_request, win_extra) == 28 );
1837C_ASSERT( FIELD_OFFSET(struct set_class_info_request, instance) == 32 );
1838C_ASSERT( FIELD_OFFSET(struct set_class_info_request, extra_offset) == 40 );
1839C_ASSERT( FIELD_OFFSET(struct set_class_info_request, extra_size) == 44 );
1840C_ASSERT( FIELD_OFFSET(struct set_class_info_request, extra_value) == 48 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001841C_ASSERT( sizeof(struct set_class_info_request) == 56 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001842C_ASSERT( FIELD_OFFSET(struct set_class_info_reply, old_atom) == 8 );
1843C_ASSERT( FIELD_OFFSET(struct set_class_info_reply, old_style) == 12 );
1844C_ASSERT( FIELD_OFFSET(struct set_class_info_reply, old_extra) == 16 );
1845C_ASSERT( FIELD_OFFSET(struct set_class_info_reply, old_win_extra) == 20 );
1846C_ASSERT( FIELD_OFFSET(struct set_class_info_reply, old_instance) == 24 );
1847C_ASSERT( FIELD_OFFSET(struct set_class_info_reply, old_extra_value) == 32 );
1848C_ASSERT( sizeof(struct set_class_info_reply) == 40 );
1849C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_request, flags) == 12 );
1850C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_request, clipboard) == 16 );
1851C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_request, owner) == 20 );
1852C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_request, viewer) == 24 );
1853C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_request, seqno) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001854C_ASSERT( sizeof(struct set_clipboard_info_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001855C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_reply, flags) == 8 );
1856C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_reply, old_clipboard) == 12 );
1857C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_reply, old_owner) == 16 );
1858C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_reply, old_viewer) == 20 );
1859C_ASSERT( FIELD_OFFSET(struct set_clipboard_info_reply, seqno) == 24 );
1860C_ASSERT( sizeof(struct set_clipboard_info_reply) == 32 );
1861C_ASSERT( FIELD_OFFSET(struct open_token_request, handle) == 12 );
1862C_ASSERT( FIELD_OFFSET(struct open_token_request, access) == 16 );
1863C_ASSERT( FIELD_OFFSET(struct open_token_request, attributes) == 20 );
1864C_ASSERT( FIELD_OFFSET(struct open_token_request, flags) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001865C_ASSERT( sizeof(struct open_token_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001866C_ASSERT( FIELD_OFFSET(struct open_token_reply, token) == 8 );
1867C_ASSERT( sizeof(struct open_token_reply) == 16 );
1868C_ASSERT( FIELD_OFFSET(struct set_global_windows_request, flags) == 12 );
1869C_ASSERT( FIELD_OFFSET(struct set_global_windows_request, shell_window) == 16 );
1870C_ASSERT( FIELD_OFFSET(struct set_global_windows_request, shell_listview) == 20 );
1871C_ASSERT( FIELD_OFFSET(struct set_global_windows_request, progman_window) == 24 );
1872C_ASSERT( FIELD_OFFSET(struct set_global_windows_request, taskman_window) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001873C_ASSERT( sizeof(struct set_global_windows_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001874C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply, old_shell_window) == 8 );
1875C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply, old_shell_listview) == 12 );
1876C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply, old_progman_window) == 16 );
1877C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply, old_taskman_window) == 20 );
1878C_ASSERT( sizeof(struct set_global_windows_reply) == 24 );
1879C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_request, handle) == 12 );
1880C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_request, disable_all) == 16 );
1881C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_request, get_modified_state) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001882C_ASSERT( sizeof(struct adjust_token_privileges_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001883C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_reply, len) == 8 );
1884C_ASSERT( sizeof(struct adjust_token_privileges_reply) == 16 );
1885C_ASSERT( FIELD_OFFSET(struct get_token_privileges_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001886C_ASSERT( sizeof(struct get_token_privileges_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001887C_ASSERT( FIELD_OFFSET(struct get_token_privileges_reply, len) == 8 );
1888C_ASSERT( sizeof(struct get_token_privileges_reply) == 16 );
1889C_ASSERT( FIELD_OFFSET(struct check_token_privileges_request, handle) == 12 );
1890C_ASSERT( FIELD_OFFSET(struct check_token_privileges_request, all_required) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001891C_ASSERT( sizeof(struct check_token_privileges_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001892C_ASSERT( FIELD_OFFSET(struct check_token_privileges_reply, has_privileges) == 8 );
1893C_ASSERT( sizeof(struct check_token_privileges_reply) == 16 );
1894C_ASSERT( FIELD_OFFSET(struct duplicate_token_request, handle) == 12 );
1895C_ASSERT( FIELD_OFFSET(struct duplicate_token_request, access) == 16 );
1896C_ASSERT( FIELD_OFFSET(struct duplicate_token_request, attributes) == 20 );
1897C_ASSERT( FIELD_OFFSET(struct duplicate_token_request, primary) == 24 );
1898C_ASSERT( FIELD_OFFSET(struct duplicate_token_request, impersonation_level) == 28 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001899C_ASSERT( sizeof(struct duplicate_token_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001900C_ASSERT( FIELD_OFFSET(struct duplicate_token_reply, new_handle) == 8 );
1901C_ASSERT( sizeof(struct duplicate_token_reply) == 16 );
1902C_ASSERT( FIELD_OFFSET(struct access_check_request, handle) == 12 );
1903C_ASSERT( FIELD_OFFSET(struct access_check_request, desired_access) == 16 );
1904C_ASSERT( FIELD_OFFSET(struct access_check_request, mapping_read) == 20 );
1905C_ASSERT( FIELD_OFFSET(struct access_check_request, mapping_write) == 24 );
1906C_ASSERT( FIELD_OFFSET(struct access_check_request, mapping_execute) == 28 );
1907C_ASSERT( FIELD_OFFSET(struct access_check_request, mapping_all) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001908C_ASSERT( sizeof(struct access_check_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001909C_ASSERT( FIELD_OFFSET(struct access_check_reply, access_granted) == 8 );
1910C_ASSERT( FIELD_OFFSET(struct access_check_reply, access_status) == 12 );
1911C_ASSERT( FIELD_OFFSET(struct access_check_reply, privileges_len) == 16 );
1912C_ASSERT( sizeof(struct access_check_reply) == 24 );
Rob Shearmanbd569162009-11-16 20:11:06 +00001913C_ASSERT( FIELD_OFFSET(struct get_token_sid_request, handle) == 12 );
1914C_ASSERT( FIELD_OFFSET(struct get_token_sid_request, which_sid) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001915C_ASSERT( sizeof(struct get_token_sid_request) == 24 );
Rob Shearmanbd569162009-11-16 20:11:06 +00001916C_ASSERT( FIELD_OFFSET(struct get_token_sid_reply, sid_len) == 8 );
1917C_ASSERT( sizeof(struct get_token_sid_reply) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001918C_ASSERT( FIELD_OFFSET(struct get_token_groups_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001919C_ASSERT( sizeof(struct get_token_groups_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001920C_ASSERT( FIELD_OFFSET(struct get_token_groups_reply, user_len) == 8 );
1921C_ASSERT( sizeof(struct get_token_groups_reply) == 16 );
Hans Leidekker24af6f32009-04-21 09:53:16 +02001922C_ASSERT( FIELD_OFFSET(struct get_token_default_dacl_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001923C_ASSERT( sizeof(struct get_token_default_dacl_request) == 16 );
Hans Leidekker24af6f32009-04-21 09:53:16 +02001924C_ASSERT( FIELD_OFFSET(struct get_token_default_dacl_reply, acl_len) == 8 );
1925C_ASSERT( sizeof(struct get_token_default_dacl_reply) == 16 );
1926C_ASSERT( FIELD_OFFSET(struct set_token_default_dacl_request, handle) == 12 );
1927C_ASSERT( sizeof(struct set_token_default_dacl_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001928C_ASSERT( FIELD_OFFSET(struct set_security_object_request, handle) == 12 );
1929C_ASSERT( FIELD_OFFSET(struct set_security_object_request, security_info) == 16 );
1930C_ASSERT( sizeof(struct set_security_object_request) == 24 );
1931C_ASSERT( FIELD_OFFSET(struct get_security_object_request, handle) == 12 );
1932C_ASSERT( FIELD_OFFSET(struct get_security_object_request, security_info) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001933C_ASSERT( sizeof(struct get_security_object_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001934C_ASSERT( FIELD_OFFSET(struct get_security_object_reply, sd_len) == 8 );
1935C_ASSERT( sizeof(struct get_security_object_reply) == 16 );
1936C_ASSERT( FIELD_OFFSET(struct create_mailslot_request, access) == 12 );
1937C_ASSERT( FIELD_OFFSET(struct create_mailslot_request, attributes) == 16 );
1938C_ASSERT( FIELD_OFFSET(struct create_mailslot_request, rootdir) == 20 );
1939C_ASSERT( FIELD_OFFSET(struct create_mailslot_request, read_timeout) == 24 );
1940C_ASSERT( FIELD_OFFSET(struct create_mailslot_request, max_msgsize) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001941C_ASSERT( sizeof(struct create_mailslot_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001942C_ASSERT( FIELD_OFFSET(struct create_mailslot_reply, handle) == 8 );
1943C_ASSERT( sizeof(struct create_mailslot_reply) == 16 );
1944C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_request, handle) == 12 );
1945C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_request, read_timeout) == 16 );
1946C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_request, flags) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001947C_ASSERT( sizeof(struct set_mailslot_info_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001948C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_reply, read_timeout) == 8 );
1949C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_reply, max_msgsize) == 16 );
1950C_ASSERT( sizeof(struct set_mailslot_info_reply) == 24 );
1951C_ASSERT( FIELD_OFFSET(struct create_directory_request, access) == 12 );
1952C_ASSERT( FIELD_OFFSET(struct create_directory_request, attributes) == 16 );
1953C_ASSERT( FIELD_OFFSET(struct create_directory_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001954C_ASSERT( sizeof(struct create_directory_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001955C_ASSERT( FIELD_OFFSET(struct create_directory_reply, handle) == 8 );
1956C_ASSERT( sizeof(struct create_directory_reply) == 16 );
1957C_ASSERT( FIELD_OFFSET(struct open_directory_request, access) == 12 );
1958C_ASSERT( FIELD_OFFSET(struct open_directory_request, attributes) == 16 );
1959C_ASSERT( FIELD_OFFSET(struct open_directory_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001960C_ASSERT( sizeof(struct open_directory_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001961C_ASSERT( FIELD_OFFSET(struct open_directory_reply, handle) == 8 );
1962C_ASSERT( sizeof(struct open_directory_reply) == 16 );
1963C_ASSERT( FIELD_OFFSET(struct get_directory_entry_request, handle) == 12 );
1964C_ASSERT( FIELD_OFFSET(struct get_directory_entry_request, index) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001965C_ASSERT( sizeof(struct get_directory_entry_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001966C_ASSERT( FIELD_OFFSET(struct get_directory_entry_reply, name_len) == 8 );
1967C_ASSERT( sizeof(struct get_directory_entry_reply) == 16 );
1968C_ASSERT( FIELD_OFFSET(struct create_symlink_request, access) == 12 );
1969C_ASSERT( FIELD_OFFSET(struct create_symlink_request, attributes) == 16 );
1970C_ASSERT( FIELD_OFFSET(struct create_symlink_request, rootdir) == 20 );
1971C_ASSERT( FIELD_OFFSET(struct create_symlink_request, name_len) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001972C_ASSERT( sizeof(struct create_symlink_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001973C_ASSERT( FIELD_OFFSET(struct create_symlink_reply, handle) == 8 );
1974C_ASSERT( sizeof(struct create_symlink_reply) == 16 );
1975C_ASSERT( FIELD_OFFSET(struct open_symlink_request, access) == 12 );
1976C_ASSERT( FIELD_OFFSET(struct open_symlink_request, attributes) == 16 );
1977C_ASSERT( FIELD_OFFSET(struct open_symlink_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001978C_ASSERT( sizeof(struct open_symlink_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001979C_ASSERT( FIELD_OFFSET(struct open_symlink_reply, handle) == 8 );
1980C_ASSERT( sizeof(struct open_symlink_reply) == 16 );
1981C_ASSERT( FIELD_OFFSET(struct query_symlink_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001982C_ASSERT( sizeof(struct query_symlink_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001983C_ASSERT( sizeof(struct query_symlink_reply) == 8 );
1984C_ASSERT( FIELD_OFFSET(struct get_object_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001985C_ASSERT( sizeof(struct get_object_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001986C_ASSERT( FIELD_OFFSET(struct get_object_info_reply, access) == 8 );
1987C_ASSERT( FIELD_OFFSET(struct get_object_info_reply, ref_count) == 12 );
Alexandre Julliard658dae92010-01-08 13:01:50 +01001988C_ASSERT( FIELD_OFFSET(struct get_object_info_reply, total) == 16 );
1989C_ASSERT( sizeof(struct get_object_info_reply) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001990C_ASSERT( FIELD_OFFSET(struct unlink_object_request, handle) == 12 );
1991C_ASSERT( sizeof(struct unlink_object_request) == 16 );
1992C_ASSERT( FIELD_OFFSET(struct get_token_impersonation_level_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001993C_ASSERT( sizeof(struct get_token_impersonation_level_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001994C_ASSERT( FIELD_OFFSET(struct get_token_impersonation_level_reply, impersonation_level) == 8 );
1995C_ASSERT( sizeof(struct get_token_impersonation_level_reply) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02001996C_ASSERT( sizeof(struct allocate_locally_unique_id_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01001997C_ASSERT( FIELD_OFFSET(struct allocate_locally_unique_id_reply, luid) == 8 );
1998C_ASSERT( sizeof(struct allocate_locally_unique_id_reply) == 16 );
1999C_ASSERT( FIELD_OFFSET(struct create_device_manager_request, access) == 12 );
2000C_ASSERT( FIELD_OFFSET(struct create_device_manager_request, attributes) == 16 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002001C_ASSERT( sizeof(struct create_device_manager_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002002C_ASSERT( FIELD_OFFSET(struct create_device_manager_reply, handle) == 8 );
2003C_ASSERT( sizeof(struct create_device_manager_reply) == 16 );
2004C_ASSERT( FIELD_OFFSET(struct create_device_request, access) == 12 );
2005C_ASSERT( FIELD_OFFSET(struct create_device_request, attributes) == 16 );
2006C_ASSERT( FIELD_OFFSET(struct create_device_request, rootdir) == 20 );
2007C_ASSERT( FIELD_OFFSET(struct create_device_request, user_ptr) == 24 );
2008C_ASSERT( FIELD_OFFSET(struct create_device_request, manager) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002009C_ASSERT( sizeof(struct create_device_request) == 40 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002010C_ASSERT( FIELD_OFFSET(struct create_device_reply, handle) == 8 );
2011C_ASSERT( sizeof(struct create_device_reply) == 16 );
2012C_ASSERT( FIELD_OFFSET(struct delete_device_request, handle) == 12 );
2013C_ASSERT( sizeof(struct delete_device_request) == 16 );
2014C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request, manager) == 12 );
2015C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request, prev) == 16 );
2016C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request, status) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002017C_ASSERT( sizeof(struct get_next_device_request_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002018C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply, next) == 8 );
2019C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply, code) == 12 );
2020C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply, user_ptr) == 16 );
2021C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply, in_size) == 24 );
2022C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply, out_size) == 28 );
2023C_ASSERT( sizeof(struct get_next_device_request_reply) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002024C_ASSERT( sizeof(struct make_process_system_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002025C_ASSERT( FIELD_OFFSET(struct make_process_system_reply, event) == 8 );
2026C_ASSERT( sizeof(struct make_process_system_reply) == 16 );
2027C_ASSERT( FIELD_OFFSET(struct get_token_statistics_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002028C_ASSERT( sizeof(struct get_token_statistics_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002029C_ASSERT( FIELD_OFFSET(struct get_token_statistics_reply, token_id) == 8 );
2030C_ASSERT( FIELD_OFFSET(struct get_token_statistics_reply, modified_id) == 16 );
2031C_ASSERT( FIELD_OFFSET(struct get_token_statistics_reply, primary) == 24 );
2032C_ASSERT( FIELD_OFFSET(struct get_token_statistics_reply, impersonation_level) == 28 );
2033C_ASSERT( FIELD_OFFSET(struct get_token_statistics_reply, group_count) == 32 );
2034C_ASSERT( FIELD_OFFSET(struct get_token_statistics_reply, privilege_count) == 36 );
2035C_ASSERT( sizeof(struct get_token_statistics_reply) == 40 );
2036C_ASSERT( FIELD_OFFSET(struct create_completion_request, access) == 12 );
2037C_ASSERT( FIELD_OFFSET(struct create_completion_request, attributes) == 16 );
2038C_ASSERT( FIELD_OFFSET(struct create_completion_request, concurrent) == 20 );
2039C_ASSERT( FIELD_OFFSET(struct create_completion_request, rootdir) == 24 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002040C_ASSERT( sizeof(struct create_completion_request) == 32 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002041C_ASSERT( FIELD_OFFSET(struct create_completion_reply, handle) == 8 );
2042C_ASSERT( sizeof(struct create_completion_reply) == 16 );
2043C_ASSERT( FIELD_OFFSET(struct open_completion_request, access) == 12 );
2044C_ASSERT( FIELD_OFFSET(struct open_completion_request, attributes) == 16 );
2045C_ASSERT( FIELD_OFFSET(struct open_completion_request, rootdir) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002046C_ASSERT( sizeof(struct open_completion_request) == 24 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002047C_ASSERT( FIELD_OFFSET(struct open_completion_reply, handle) == 8 );
2048C_ASSERT( sizeof(struct open_completion_reply) == 16 );
2049C_ASSERT( FIELD_OFFSET(struct add_completion_request, handle) == 12 );
2050C_ASSERT( FIELD_OFFSET(struct add_completion_request, ckey) == 16 );
2051C_ASSERT( FIELD_OFFSET(struct add_completion_request, cvalue) == 24 );
2052C_ASSERT( FIELD_OFFSET(struct add_completion_request, information) == 32 );
2053C_ASSERT( FIELD_OFFSET(struct add_completion_request, status) == 36 );
2054C_ASSERT( sizeof(struct add_completion_request) == 40 );
2055C_ASSERT( FIELD_OFFSET(struct remove_completion_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002056C_ASSERT( sizeof(struct remove_completion_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002057C_ASSERT( FIELD_OFFSET(struct remove_completion_reply, ckey) == 8 );
2058C_ASSERT( FIELD_OFFSET(struct remove_completion_reply, cvalue) == 16 );
2059C_ASSERT( FIELD_OFFSET(struct remove_completion_reply, information) == 24 );
2060C_ASSERT( FIELD_OFFSET(struct remove_completion_reply, status) == 28 );
2061C_ASSERT( sizeof(struct remove_completion_reply) == 32 );
2062C_ASSERT( FIELD_OFFSET(struct query_completion_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002063C_ASSERT( sizeof(struct query_completion_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002064C_ASSERT( FIELD_OFFSET(struct query_completion_reply, depth) == 8 );
2065C_ASSERT( sizeof(struct query_completion_reply) == 16 );
2066C_ASSERT( FIELD_OFFSET(struct set_completion_info_request, handle) == 12 );
2067C_ASSERT( FIELD_OFFSET(struct set_completion_info_request, ckey) == 16 );
2068C_ASSERT( FIELD_OFFSET(struct set_completion_info_request, chandle) == 24 );
2069C_ASSERT( sizeof(struct set_completion_info_request) == 32 );
2070C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request, handle) == 12 );
2071C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request, cvalue) == 16 );
2072C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request, status) == 24 );
2073C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request, information) == 28 );
2074C_ASSERT( sizeof(struct add_fd_completion_request) == 32 );
2075C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_request, handle) == 12 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002076C_ASSERT( sizeof(struct get_window_layered_info_request) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002077C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_reply, color_key) == 8 );
2078C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_reply, alpha) == 12 );
2079C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_reply, flags) == 16 );
2080C_ASSERT( sizeof(struct get_window_layered_info_reply) == 24 );
2081C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, handle) == 12 );
2082C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, color_key) == 16 );
2083C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, alpha) == 20 );
2084C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, flags) == 24 );
2085C_ASSERT( sizeof(struct set_window_layered_info_request) == 32 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002086C_ASSERT( sizeof(struct alloc_user_handle_request) == 16 );
Alexandre Julliard9018e132009-10-12 14:25:01 +02002087C_ASSERT( FIELD_OFFSET(struct alloc_user_handle_reply, handle) == 8 );
2088C_ASSERT( sizeof(struct alloc_user_handle_reply) == 16 );
2089C_ASSERT( FIELD_OFFSET(struct free_user_handle_request, handle) == 12 );
2090C_ASSERT( sizeof(struct free_user_handle_request) == 16 );
Alexandre Julliard8159d4e2010-03-22 17:52:23 +01002091C_ASSERT( FIELD_OFFSET(struct set_cursor_request, flags) == 12 );
2092C_ASSERT( FIELD_OFFSET(struct set_cursor_request, handle) == 16 );
2093C_ASSERT( FIELD_OFFSET(struct set_cursor_request, show_count) == 20 );
Alexandre Julliard3044d732010-04-20 21:25:38 +02002094C_ASSERT( sizeof(struct set_cursor_request) == 24 );
Alexandre Julliard8159d4e2010-03-22 17:52:23 +01002095C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_handle) == 8 );
2096C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_count) == 12 );
2097C_ASSERT( sizeof(struct set_cursor_reply) == 16 );
Alexandre Julliard7f1dc352009-01-19 14:01:39 +01002098
Alexandre Julliard767e6f61998-08-09 12:47:43 +00002099#endif /* WANT_REQUEST_HANDLERS */
2100
Alexandre Julliard5bc78081999-06-22 17:26:53 +00002101/* ### make_requests end ### */
2102/* Everything above this line is generated automatically by tools/make_requests */
2103
Alexandre Julliard767e6f61998-08-09 12:47:43 +00002104#endif /* __WINE_SERVER_REQUEST_H */