4 * Copyright (C) 1999 Alexandre Julliard
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.
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.
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
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WINE_SERVER_REQUEST_H
22 #define __WINE_SERVER_REQUEST_H
27 #include "wine/server_protocol.h"
29 /* max request length */
30 #define MAX_REQUEST_LENGTH 8192
32 /* request handler definition */
33 #define DECL_HANDLER(name) \
34 void req_##name( const struct name##_request *req, struct name##_reply *reply )
36 /* request functions */
39 extern void fatal_protocol_error( struct thread
*thread
,
40 const char *err
, ... ) __attribute__((format (printf
,2,3)));
41 extern void fatal_error( const char *err
, ... ) __attribute__((noreturn
,format(printf
,1,2)));
43 extern void fatal_protocol_error( struct thread
*thread
, const char *err
, ... );
44 extern void fatal_error( const char *err
, ... );
47 extern const char *get_config_dir(void);
48 extern void *set_reply_data_size( data_size_t size
);
49 extern const struct object_attributes
*get_req_object_attributes( const struct security_descriptor
**sd
,
50 struct unicode_str
*name
,
51 struct object
**root
);
52 extern const void *get_req_data_after_objattr( const struct object_attributes
*attr
, data_size_t
*len
);
53 extern int receive_fd( struct process
*process
);
54 extern int send_client_fd( struct process
*process
, int fd
, obj_handle_t handle
);
55 extern void read_request( struct thread
*thread
);
56 extern void write_reply( struct thread
*thread
);
57 extern timeout_t
monotonic_counter(void);
58 extern void open_master_socket(void);
59 extern void close_master_socket( timeout_t timeout
);
60 extern void shutdown_master_socket(void);
61 extern int wait_for_lock(void);
62 extern int kill_lock_owner( int sig
);
63 extern char *server_dir
;
64 extern int server_dir_fd
, config_dir_fd
;
66 extern void trace_request(void);
67 extern void trace_reply( enum request req
, const union generic_reply
*reply
);
69 /* get current tick count to return to client */
70 static inline unsigned int get_tick_count(void)
72 return monotonic_counter() / 10000;
75 /* get the request vararg data */
76 static inline const void *get_req_data(void)
78 return current
->req_data
;
81 /* get the request vararg size */
82 static inline data_size_t
get_req_data_size(void)
84 return current
->req
.request_header
.request_size
;
87 /* get the request vararg as unicode string */
88 static inline struct unicode_str
get_req_unicode_str(void)
90 struct unicode_str ret
;
91 ret
.str
= get_req_data();
92 ret
.len
= (get_req_data_size() / sizeof(WCHAR
)) * sizeof(WCHAR
);
96 /* get the reply maximum vararg size */
97 static inline data_size_t
get_reply_max_size(void)
99 return current
->req
.request_header
.reply_size
;
102 /* allocate and fill the reply data */
103 static inline void *set_reply_data( const void *data
, data_size_t size
)
105 void *ret
= set_reply_data_size( size
);
106 if (ret
) memcpy( ret
, data
, size
);
110 /* set the reply data pointer directly (will be freed by request code) */
111 static inline void set_reply_data_ptr( void *data
, data_size_t size
)
113 assert( size
<= get_reply_max_size() );
114 current
->reply_size
= size
;
115 current
->reply_data
= data
;
119 /* Everything below this line is generated automatically by tools/make_requests */
120 /* ### make_requests begin ### */
122 DECL_HANDLER(new_process
);
123 DECL_HANDLER(get_new_process_info
);
124 DECL_HANDLER(new_thread
);
125 DECL_HANDLER(get_startup_info
);
126 DECL_HANDLER(init_process_done
);
127 DECL_HANDLER(init_first_thread
);
128 DECL_HANDLER(init_thread
);
129 DECL_HANDLER(terminate_process
);
130 DECL_HANDLER(terminate_thread
);
131 DECL_HANDLER(get_process_info
);
132 DECL_HANDLER(get_process_debug_info
);
133 DECL_HANDLER(get_process_image_name
);
134 DECL_HANDLER(get_process_vm_counters
);
135 DECL_HANDLER(set_process_info
);
136 DECL_HANDLER(get_thread_info
);
137 DECL_HANDLER(get_thread_times
);
138 DECL_HANDLER(set_thread_info
);
139 DECL_HANDLER(suspend_thread
);
140 DECL_HANDLER(resume_thread
);
141 DECL_HANDLER(queue_apc
);
142 DECL_HANDLER(get_apc_result
);
143 DECL_HANDLER(close_handle
);
144 DECL_HANDLER(set_handle_info
);
145 DECL_HANDLER(dup_handle
);
146 DECL_HANDLER(compare_objects
);
147 DECL_HANDLER(make_temporary
);
148 DECL_HANDLER(open_process
);
149 DECL_HANDLER(open_thread
);
150 DECL_HANDLER(select
);
151 DECL_HANDLER(create_event
);
152 DECL_HANDLER(event_op
);
153 DECL_HANDLER(query_event
);
154 DECL_HANDLER(open_event
);
155 DECL_HANDLER(create_keyed_event
);
156 DECL_HANDLER(open_keyed_event
);
157 DECL_HANDLER(create_mutex
);
158 DECL_HANDLER(release_mutex
);
159 DECL_HANDLER(open_mutex
);
160 DECL_HANDLER(query_mutex
);
161 DECL_HANDLER(create_semaphore
);
162 DECL_HANDLER(release_semaphore
);
163 DECL_HANDLER(query_semaphore
);
164 DECL_HANDLER(open_semaphore
);
165 DECL_HANDLER(create_file
);
166 DECL_HANDLER(open_file_object
);
167 DECL_HANDLER(alloc_file_handle
);
168 DECL_HANDLER(get_handle_unix_name
);
169 DECL_HANDLER(get_handle_fd
);
170 DECL_HANDLER(get_directory_cache_entry
);
172 DECL_HANDLER(get_file_info
);
173 DECL_HANDLER(get_volume_info
);
174 DECL_HANDLER(lock_file
);
175 DECL_HANDLER(unlock_file
);
176 DECL_HANDLER(recv_socket
);
177 DECL_HANDLER(send_socket
);
178 DECL_HANDLER(socket_get_events
);
179 DECL_HANDLER(socket_send_icmp_id
);
180 DECL_HANDLER(socket_get_icmp_id
);
181 DECL_HANDLER(get_next_console_request
);
182 DECL_HANDLER(read_directory_changes
);
183 DECL_HANDLER(read_change
);
184 DECL_HANDLER(create_mapping
);
185 DECL_HANDLER(open_mapping
);
186 DECL_HANDLER(get_mapping_info
);
187 DECL_HANDLER(map_view
);
188 DECL_HANDLER(map_image_view
);
189 DECL_HANDLER(map_builtin_view
);
190 DECL_HANDLER(get_image_view_info
);
191 DECL_HANDLER(unmap_view
);
192 DECL_HANDLER(get_mapping_committed_range
);
193 DECL_HANDLER(add_mapping_committed_range
);
194 DECL_HANDLER(is_same_mapping
);
195 DECL_HANDLER(get_mapping_filename
);
196 DECL_HANDLER(list_processes
);
197 DECL_HANDLER(create_debug_obj
);
198 DECL_HANDLER(wait_debug_event
);
199 DECL_HANDLER(queue_exception_event
);
200 DECL_HANDLER(get_exception_status
);
201 DECL_HANDLER(continue_debug_event
);
202 DECL_HANDLER(debug_process
);
203 DECL_HANDLER(set_debug_obj_info
);
204 DECL_HANDLER(read_process_memory
);
205 DECL_HANDLER(write_process_memory
);
206 DECL_HANDLER(create_key
);
207 DECL_HANDLER(open_key
);
208 DECL_HANDLER(delete_key
);
209 DECL_HANDLER(flush_key
);
210 DECL_HANDLER(enum_key
);
211 DECL_HANDLER(set_key_value
);
212 DECL_HANDLER(get_key_value
);
213 DECL_HANDLER(enum_key_value
);
214 DECL_HANDLER(delete_key_value
);
215 DECL_HANDLER(load_registry
);
216 DECL_HANDLER(unload_registry
);
217 DECL_HANDLER(save_registry
);
218 DECL_HANDLER(set_registry_notification
);
219 DECL_HANDLER(rename_key
);
220 DECL_HANDLER(create_timer
);
221 DECL_HANDLER(open_timer
);
222 DECL_HANDLER(set_timer
);
223 DECL_HANDLER(cancel_timer
);
224 DECL_HANDLER(get_timer_info
);
225 DECL_HANDLER(get_thread_context
);
226 DECL_HANDLER(set_thread_context
);
227 DECL_HANDLER(get_selector_entry
);
228 DECL_HANDLER(add_atom
);
229 DECL_HANDLER(delete_atom
);
230 DECL_HANDLER(find_atom
);
231 DECL_HANDLER(get_atom_information
);
232 DECL_HANDLER(get_msg_queue
);
233 DECL_HANDLER(set_queue_fd
);
234 DECL_HANDLER(set_queue_mask
);
235 DECL_HANDLER(get_queue_status
);
236 DECL_HANDLER(get_process_idle_event
);
237 DECL_HANDLER(send_message
);
238 DECL_HANDLER(post_quit_message
);
239 DECL_HANDLER(send_hardware_message
);
240 DECL_HANDLER(get_message
);
241 DECL_HANDLER(reply_message
);
242 DECL_HANDLER(accept_hardware_message
);
243 DECL_HANDLER(get_message_reply
);
244 DECL_HANDLER(set_win_timer
);
245 DECL_HANDLER(kill_win_timer
);
246 DECL_HANDLER(is_window_hung
);
247 DECL_HANDLER(get_serial_info
);
248 DECL_HANDLER(set_serial_info
);
249 DECL_HANDLER(cancel_sync
);
250 DECL_HANDLER(register_async
);
251 DECL_HANDLER(cancel_async
);
252 DECL_HANDLER(get_async_result
);
253 DECL_HANDLER(set_async_direct_result
);
257 DECL_HANDLER(set_irp_result
);
258 DECL_HANDLER(create_named_pipe
);
259 DECL_HANDLER(set_named_pipe_info
);
260 DECL_HANDLER(create_window
);
261 DECL_HANDLER(destroy_window
);
262 DECL_HANDLER(get_desktop_window
);
263 DECL_HANDLER(set_window_owner
);
264 DECL_HANDLER(get_window_info
);
265 DECL_HANDLER(set_window_info
);
266 DECL_HANDLER(set_parent
);
267 DECL_HANDLER(get_window_parents
);
268 DECL_HANDLER(get_window_children
);
269 DECL_HANDLER(get_window_children_from_point
);
270 DECL_HANDLER(get_window_tree
);
271 DECL_HANDLER(set_window_pos
);
272 DECL_HANDLER(get_window_rectangles
);
273 DECL_HANDLER(get_window_text
);
274 DECL_HANDLER(set_window_text
);
275 DECL_HANDLER(get_windows_offset
);
276 DECL_HANDLER(get_visible_region
);
277 DECL_HANDLER(get_surface_region
);
278 DECL_HANDLER(get_window_region
);
279 DECL_HANDLER(set_window_region
);
280 DECL_HANDLER(get_update_region
);
281 DECL_HANDLER(update_window_zorder
);
282 DECL_HANDLER(redraw_window
);
283 DECL_HANDLER(set_window_property
);
284 DECL_HANDLER(remove_window_property
);
285 DECL_HANDLER(get_window_property
);
286 DECL_HANDLER(get_window_properties
);
287 DECL_HANDLER(create_winstation
);
288 DECL_HANDLER(open_winstation
);
289 DECL_HANDLER(close_winstation
);
290 DECL_HANDLER(get_process_winstation
);
291 DECL_HANDLER(set_process_winstation
);
292 DECL_HANDLER(enum_winstation
);
293 DECL_HANDLER(create_desktop
);
294 DECL_HANDLER(open_desktop
);
295 DECL_HANDLER(open_input_desktop
);
296 DECL_HANDLER(close_desktop
);
297 DECL_HANDLER(get_thread_desktop
);
298 DECL_HANDLER(set_thread_desktop
);
299 DECL_HANDLER(enum_desktop
);
300 DECL_HANDLER(set_user_object_info
);
301 DECL_HANDLER(register_hotkey
);
302 DECL_HANDLER(unregister_hotkey
);
303 DECL_HANDLER(attach_thread_input
);
304 DECL_HANDLER(get_thread_input
);
305 DECL_HANDLER(get_last_input_time
);
306 DECL_HANDLER(get_key_state
);
307 DECL_HANDLER(set_key_state
);
308 DECL_HANDLER(set_foreground_window
);
309 DECL_HANDLER(set_focus_window
);
310 DECL_HANDLER(set_active_window
);
311 DECL_HANDLER(set_capture_window
);
312 DECL_HANDLER(set_caret_window
);
313 DECL_HANDLER(set_caret_info
);
314 DECL_HANDLER(set_hook
);
315 DECL_HANDLER(remove_hook
);
316 DECL_HANDLER(start_hook_chain
);
317 DECL_HANDLER(finish_hook_chain
);
318 DECL_HANDLER(get_hook_info
);
319 DECL_HANDLER(create_class
);
320 DECL_HANDLER(destroy_class
);
321 DECL_HANDLER(set_class_info
);
322 DECL_HANDLER(open_clipboard
);
323 DECL_HANDLER(close_clipboard
);
324 DECL_HANDLER(empty_clipboard
);
325 DECL_HANDLER(set_clipboard_data
);
326 DECL_HANDLER(get_clipboard_data
);
327 DECL_HANDLER(get_clipboard_formats
);
328 DECL_HANDLER(enum_clipboard_formats
);
329 DECL_HANDLER(release_clipboard
);
330 DECL_HANDLER(get_clipboard_info
);
331 DECL_HANDLER(set_clipboard_viewer
);
332 DECL_HANDLER(add_clipboard_listener
);
333 DECL_HANDLER(remove_clipboard_listener
);
334 DECL_HANDLER(open_token
);
335 DECL_HANDLER(set_global_windows
);
336 DECL_HANDLER(adjust_token_privileges
);
337 DECL_HANDLER(get_token_privileges
);
338 DECL_HANDLER(check_token_privileges
);
339 DECL_HANDLER(duplicate_token
);
340 DECL_HANDLER(filter_token
);
341 DECL_HANDLER(access_check
);
342 DECL_HANDLER(get_token_sid
);
343 DECL_HANDLER(get_token_groups
);
344 DECL_HANDLER(get_token_default_dacl
);
345 DECL_HANDLER(set_token_default_dacl
);
346 DECL_HANDLER(set_security_object
);
347 DECL_HANDLER(get_security_object
);
348 DECL_HANDLER(get_system_handles
);
349 DECL_HANDLER(create_mailslot
);
350 DECL_HANDLER(set_mailslot_info
);
351 DECL_HANDLER(create_directory
);
352 DECL_HANDLER(open_directory
);
353 DECL_HANDLER(get_directory_entry
);
354 DECL_HANDLER(create_symlink
);
355 DECL_HANDLER(open_symlink
);
356 DECL_HANDLER(query_symlink
);
357 DECL_HANDLER(get_object_info
);
358 DECL_HANDLER(get_object_name
);
359 DECL_HANDLER(get_object_type
);
360 DECL_HANDLER(get_object_types
);
361 DECL_HANDLER(allocate_locally_unique_id
);
362 DECL_HANDLER(create_device_manager
);
363 DECL_HANDLER(create_device
);
364 DECL_HANDLER(delete_device
);
365 DECL_HANDLER(get_next_device_request
);
366 DECL_HANDLER(get_kernel_object_ptr
);
367 DECL_HANDLER(set_kernel_object_ptr
);
368 DECL_HANDLER(grab_kernel_object
);
369 DECL_HANDLER(release_kernel_object
);
370 DECL_HANDLER(get_kernel_object_handle
);
371 DECL_HANDLER(make_process_system
);
372 DECL_HANDLER(get_token_info
);
373 DECL_HANDLER(create_linked_token
);
374 DECL_HANDLER(create_completion
);
375 DECL_HANDLER(open_completion
);
376 DECL_HANDLER(add_completion
);
377 DECL_HANDLER(remove_completion
);
378 DECL_HANDLER(query_completion
);
379 DECL_HANDLER(set_completion_info
);
380 DECL_HANDLER(add_fd_completion
);
381 DECL_HANDLER(set_fd_completion_mode
);
382 DECL_HANDLER(set_fd_disp_info
);
383 DECL_HANDLER(set_fd_name_info
);
384 DECL_HANDLER(set_fd_eof_info
);
385 DECL_HANDLER(get_window_layered_info
);
386 DECL_HANDLER(set_window_layered_info
);
387 DECL_HANDLER(alloc_user_handle
);
388 DECL_HANDLER(free_user_handle
);
389 DECL_HANDLER(set_cursor
);
390 DECL_HANDLER(get_cursor_history
);
391 DECL_HANDLER(get_rawinput_buffer
);
392 DECL_HANDLER(update_rawinput_devices
);
393 DECL_HANDLER(create_job
);
394 DECL_HANDLER(open_job
);
395 DECL_HANDLER(assign_job
);
396 DECL_HANDLER(process_in_job
);
397 DECL_HANDLER(set_job_limits
);
398 DECL_HANDLER(set_job_completion_port
);
399 DECL_HANDLER(get_job_info
);
400 DECL_HANDLER(terminate_job
);
401 DECL_HANDLER(suspend_process
);
402 DECL_HANDLER(resume_process
);
403 DECL_HANDLER(get_next_thread
);
405 #ifdef WANT_REQUEST_HANDLERS
407 typedef void (*req_handler
)( const void *req
, void *reply
);
408 static const req_handler req_handlers
[REQ_NB_REQUESTS
] =
410 (req_handler
)req_new_process
,
411 (req_handler
)req_get_new_process_info
,
412 (req_handler
)req_new_thread
,
413 (req_handler
)req_get_startup_info
,
414 (req_handler
)req_init_process_done
,
415 (req_handler
)req_init_first_thread
,
416 (req_handler
)req_init_thread
,
417 (req_handler
)req_terminate_process
,
418 (req_handler
)req_terminate_thread
,
419 (req_handler
)req_get_process_info
,
420 (req_handler
)req_get_process_debug_info
,
421 (req_handler
)req_get_process_image_name
,
422 (req_handler
)req_get_process_vm_counters
,
423 (req_handler
)req_set_process_info
,
424 (req_handler
)req_get_thread_info
,
425 (req_handler
)req_get_thread_times
,
426 (req_handler
)req_set_thread_info
,
427 (req_handler
)req_suspend_thread
,
428 (req_handler
)req_resume_thread
,
429 (req_handler
)req_queue_apc
,
430 (req_handler
)req_get_apc_result
,
431 (req_handler
)req_close_handle
,
432 (req_handler
)req_set_handle_info
,
433 (req_handler
)req_dup_handle
,
434 (req_handler
)req_compare_objects
,
435 (req_handler
)req_make_temporary
,
436 (req_handler
)req_open_process
,
437 (req_handler
)req_open_thread
,
438 (req_handler
)req_select
,
439 (req_handler
)req_create_event
,
440 (req_handler
)req_event_op
,
441 (req_handler
)req_query_event
,
442 (req_handler
)req_open_event
,
443 (req_handler
)req_create_keyed_event
,
444 (req_handler
)req_open_keyed_event
,
445 (req_handler
)req_create_mutex
,
446 (req_handler
)req_release_mutex
,
447 (req_handler
)req_open_mutex
,
448 (req_handler
)req_query_mutex
,
449 (req_handler
)req_create_semaphore
,
450 (req_handler
)req_release_semaphore
,
451 (req_handler
)req_query_semaphore
,
452 (req_handler
)req_open_semaphore
,
453 (req_handler
)req_create_file
,
454 (req_handler
)req_open_file_object
,
455 (req_handler
)req_alloc_file_handle
,
456 (req_handler
)req_get_handle_unix_name
,
457 (req_handler
)req_get_handle_fd
,
458 (req_handler
)req_get_directory_cache_entry
,
459 (req_handler
)req_flush
,
460 (req_handler
)req_get_file_info
,
461 (req_handler
)req_get_volume_info
,
462 (req_handler
)req_lock_file
,
463 (req_handler
)req_unlock_file
,
464 (req_handler
)req_recv_socket
,
465 (req_handler
)req_send_socket
,
466 (req_handler
)req_socket_get_events
,
467 (req_handler
)req_socket_send_icmp_id
,
468 (req_handler
)req_socket_get_icmp_id
,
469 (req_handler
)req_get_next_console_request
,
470 (req_handler
)req_read_directory_changes
,
471 (req_handler
)req_read_change
,
472 (req_handler
)req_create_mapping
,
473 (req_handler
)req_open_mapping
,
474 (req_handler
)req_get_mapping_info
,
475 (req_handler
)req_map_view
,
476 (req_handler
)req_map_image_view
,
477 (req_handler
)req_map_builtin_view
,
478 (req_handler
)req_get_image_view_info
,
479 (req_handler
)req_unmap_view
,
480 (req_handler
)req_get_mapping_committed_range
,
481 (req_handler
)req_add_mapping_committed_range
,
482 (req_handler
)req_is_same_mapping
,
483 (req_handler
)req_get_mapping_filename
,
484 (req_handler
)req_list_processes
,
485 (req_handler
)req_create_debug_obj
,
486 (req_handler
)req_wait_debug_event
,
487 (req_handler
)req_queue_exception_event
,
488 (req_handler
)req_get_exception_status
,
489 (req_handler
)req_continue_debug_event
,
490 (req_handler
)req_debug_process
,
491 (req_handler
)req_set_debug_obj_info
,
492 (req_handler
)req_read_process_memory
,
493 (req_handler
)req_write_process_memory
,
494 (req_handler
)req_create_key
,
495 (req_handler
)req_open_key
,
496 (req_handler
)req_delete_key
,
497 (req_handler
)req_flush_key
,
498 (req_handler
)req_enum_key
,
499 (req_handler
)req_set_key_value
,
500 (req_handler
)req_get_key_value
,
501 (req_handler
)req_enum_key_value
,
502 (req_handler
)req_delete_key_value
,
503 (req_handler
)req_load_registry
,
504 (req_handler
)req_unload_registry
,
505 (req_handler
)req_save_registry
,
506 (req_handler
)req_set_registry_notification
,
507 (req_handler
)req_rename_key
,
508 (req_handler
)req_create_timer
,
509 (req_handler
)req_open_timer
,
510 (req_handler
)req_set_timer
,
511 (req_handler
)req_cancel_timer
,
512 (req_handler
)req_get_timer_info
,
513 (req_handler
)req_get_thread_context
,
514 (req_handler
)req_set_thread_context
,
515 (req_handler
)req_get_selector_entry
,
516 (req_handler
)req_add_atom
,
517 (req_handler
)req_delete_atom
,
518 (req_handler
)req_find_atom
,
519 (req_handler
)req_get_atom_information
,
520 (req_handler
)req_get_msg_queue
,
521 (req_handler
)req_set_queue_fd
,
522 (req_handler
)req_set_queue_mask
,
523 (req_handler
)req_get_queue_status
,
524 (req_handler
)req_get_process_idle_event
,
525 (req_handler
)req_send_message
,
526 (req_handler
)req_post_quit_message
,
527 (req_handler
)req_send_hardware_message
,
528 (req_handler
)req_get_message
,
529 (req_handler
)req_reply_message
,
530 (req_handler
)req_accept_hardware_message
,
531 (req_handler
)req_get_message_reply
,
532 (req_handler
)req_set_win_timer
,
533 (req_handler
)req_kill_win_timer
,
534 (req_handler
)req_is_window_hung
,
535 (req_handler
)req_get_serial_info
,
536 (req_handler
)req_set_serial_info
,
537 (req_handler
)req_cancel_sync
,
538 (req_handler
)req_register_async
,
539 (req_handler
)req_cancel_async
,
540 (req_handler
)req_get_async_result
,
541 (req_handler
)req_set_async_direct_result
,
542 (req_handler
)req_read
,
543 (req_handler
)req_write
,
544 (req_handler
)req_ioctl
,
545 (req_handler
)req_set_irp_result
,
546 (req_handler
)req_create_named_pipe
,
547 (req_handler
)req_set_named_pipe_info
,
548 (req_handler
)req_create_window
,
549 (req_handler
)req_destroy_window
,
550 (req_handler
)req_get_desktop_window
,
551 (req_handler
)req_set_window_owner
,
552 (req_handler
)req_get_window_info
,
553 (req_handler
)req_set_window_info
,
554 (req_handler
)req_set_parent
,
555 (req_handler
)req_get_window_parents
,
556 (req_handler
)req_get_window_children
,
557 (req_handler
)req_get_window_children_from_point
,
558 (req_handler
)req_get_window_tree
,
559 (req_handler
)req_set_window_pos
,
560 (req_handler
)req_get_window_rectangles
,
561 (req_handler
)req_get_window_text
,
562 (req_handler
)req_set_window_text
,
563 (req_handler
)req_get_windows_offset
,
564 (req_handler
)req_get_visible_region
,
565 (req_handler
)req_get_surface_region
,
566 (req_handler
)req_get_window_region
,
567 (req_handler
)req_set_window_region
,
568 (req_handler
)req_get_update_region
,
569 (req_handler
)req_update_window_zorder
,
570 (req_handler
)req_redraw_window
,
571 (req_handler
)req_set_window_property
,
572 (req_handler
)req_remove_window_property
,
573 (req_handler
)req_get_window_property
,
574 (req_handler
)req_get_window_properties
,
575 (req_handler
)req_create_winstation
,
576 (req_handler
)req_open_winstation
,
577 (req_handler
)req_close_winstation
,
578 (req_handler
)req_get_process_winstation
,
579 (req_handler
)req_set_process_winstation
,
580 (req_handler
)req_enum_winstation
,
581 (req_handler
)req_create_desktop
,
582 (req_handler
)req_open_desktop
,
583 (req_handler
)req_open_input_desktop
,
584 (req_handler
)req_close_desktop
,
585 (req_handler
)req_get_thread_desktop
,
586 (req_handler
)req_set_thread_desktop
,
587 (req_handler
)req_enum_desktop
,
588 (req_handler
)req_set_user_object_info
,
589 (req_handler
)req_register_hotkey
,
590 (req_handler
)req_unregister_hotkey
,
591 (req_handler
)req_attach_thread_input
,
592 (req_handler
)req_get_thread_input
,
593 (req_handler
)req_get_last_input_time
,
594 (req_handler
)req_get_key_state
,
595 (req_handler
)req_set_key_state
,
596 (req_handler
)req_set_foreground_window
,
597 (req_handler
)req_set_focus_window
,
598 (req_handler
)req_set_active_window
,
599 (req_handler
)req_set_capture_window
,
600 (req_handler
)req_set_caret_window
,
601 (req_handler
)req_set_caret_info
,
602 (req_handler
)req_set_hook
,
603 (req_handler
)req_remove_hook
,
604 (req_handler
)req_start_hook_chain
,
605 (req_handler
)req_finish_hook_chain
,
606 (req_handler
)req_get_hook_info
,
607 (req_handler
)req_create_class
,
608 (req_handler
)req_destroy_class
,
609 (req_handler
)req_set_class_info
,
610 (req_handler
)req_open_clipboard
,
611 (req_handler
)req_close_clipboard
,
612 (req_handler
)req_empty_clipboard
,
613 (req_handler
)req_set_clipboard_data
,
614 (req_handler
)req_get_clipboard_data
,
615 (req_handler
)req_get_clipboard_formats
,
616 (req_handler
)req_enum_clipboard_formats
,
617 (req_handler
)req_release_clipboard
,
618 (req_handler
)req_get_clipboard_info
,
619 (req_handler
)req_set_clipboard_viewer
,
620 (req_handler
)req_add_clipboard_listener
,
621 (req_handler
)req_remove_clipboard_listener
,
622 (req_handler
)req_open_token
,
623 (req_handler
)req_set_global_windows
,
624 (req_handler
)req_adjust_token_privileges
,
625 (req_handler
)req_get_token_privileges
,
626 (req_handler
)req_check_token_privileges
,
627 (req_handler
)req_duplicate_token
,
628 (req_handler
)req_filter_token
,
629 (req_handler
)req_access_check
,
630 (req_handler
)req_get_token_sid
,
631 (req_handler
)req_get_token_groups
,
632 (req_handler
)req_get_token_default_dacl
,
633 (req_handler
)req_set_token_default_dacl
,
634 (req_handler
)req_set_security_object
,
635 (req_handler
)req_get_security_object
,
636 (req_handler
)req_get_system_handles
,
637 (req_handler
)req_create_mailslot
,
638 (req_handler
)req_set_mailslot_info
,
639 (req_handler
)req_create_directory
,
640 (req_handler
)req_open_directory
,
641 (req_handler
)req_get_directory_entry
,
642 (req_handler
)req_create_symlink
,
643 (req_handler
)req_open_symlink
,
644 (req_handler
)req_query_symlink
,
645 (req_handler
)req_get_object_info
,
646 (req_handler
)req_get_object_name
,
647 (req_handler
)req_get_object_type
,
648 (req_handler
)req_get_object_types
,
649 (req_handler
)req_allocate_locally_unique_id
,
650 (req_handler
)req_create_device_manager
,
651 (req_handler
)req_create_device
,
652 (req_handler
)req_delete_device
,
653 (req_handler
)req_get_next_device_request
,
654 (req_handler
)req_get_kernel_object_ptr
,
655 (req_handler
)req_set_kernel_object_ptr
,
656 (req_handler
)req_grab_kernel_object
,
657 (req_handler
)req_release_kernel_object
,
658 (req_handler
)req_get_kernel_object_handle
,
659 (req_handler
)req_make_process_system
,
660 (req_handler
)req_get_token_info
,
661 (req_handler
)req_create_linked_token
,
662 (req_handler
)req_create_completion
,
663 (req_handler
)req_open_completion
,
664 (req_handler
)req_add_completion
,
665 (req_handler
)req_remove_completion
,
666 (req_handler
)req_query_completion
,
667 (req_handler
)req_set_completion_info
,
668 (req_handler
)req_add_fd_completion
,
669 (req_handler
)req_set_fd_completion_mode
,
670 (req_handler
)req_set_fd_disp_info
,
671 (req_handler
)req_set_fd_name_info
,
672 (req_handler
)req_set_fd_eof_info
,
673 (req_handler
)req_get_window_layered_info
,
674 (req_handler
)req_set_window_layered_info
,
675 (req_handler
)req_alloc_user_handle
,
676 (req_handler
)req_free_user_handle
,
677 (req_handler
)req_set_cursor
,
678 (req_handler
)req_get_cursor_history
,
679 (req_handler
)req_get_rawinput_buffer
,
680 (req_handler
)req_update_rawinput_devices
,
681 (req_handler
)req_create_job
,
682 (req_handler
)req_open_job
,
683 (req_handler
)req_assign_job
,
684 (req_handler
)req_process_in_job
,
685 (req_handler
)req_set_job_limits
,
686 (req_handler
)req_set_job_completion_port
,
687 (req_handler
)req_get_job_info
,
688 (req_handler
)req_terminate_job
,
689 (req_handler
)req_suspend_process
,
690 (req_handler
)req_resume_process
,
691 (req_handler
)req_get_next_thread
,
694 C_ASSERT( sizeof(abstime_t
) == 8 );
695 C_ASSERT( sizeof(affinity_t
) == 8 );
696 C_ASSERT( sizeof(apc_call_t
) == 64 );
697 C_ASSERT( sizeof(apc_param_t
) == 8 );
698 C_ASSERT( sizeof(apc_result_t
) == 40 );
699 C_ASSERT( sizeof(async_data_t
) == 40 );
700 C_ASSERT( sizeof(atom_t
) == 4 );
701 C_ASSERT( sizeof(char) == 1 );
702 C_ASSERT( sizeof(client_ptr_t
) == 8 );
703 C_ASSERT( sizeof(context_t
) == 1720 );
704 C_ASSERT( sizeof(cursor_pos_t
) == 24 );
705 C_ASSERT( sizeof(data_size_t
) == 4 );
706 C_ASSERT( sizeof(debug_event_t
) == 160 );
707 C_ASSERT( sizeof(file_pos_t
) == 8 );
708 C_ASSERT( sizeof(generic_map_t
) == 16 );
709 C_ASSERT( sizeof(hw_input_t
) == 40 );
710 C_ASSERT( sizeof(int) == 4 );
711 C_ASSERT( sizeof(ioctl_code_t
) == 4 );
712 C_ASSERT( sizeof(irp_params_t
) == 32 );
713 C_ASSERT( sizeof(lparam_t
) == 8 );
714 C_ASSERT( sizeof(mem_size_t
) == 8 );
715 C_ASSERT( sizeof(message_data_t
) == 56 );
716 C_ASSERT( sizeof(mod_handle_t
) == 8 );
717 C_ASSERT( sizeof(obj_handle_t
) == 4 );
718 C_ASSERT( sizeof(pe_image_info_t
) == 80 );
719 C_ASSERT( sizeof(process_id_t
) == 4 );
720 C_ASSERT( sizeof(property_data_t
) == 16 );
721 C_ASSERT( sizeof(rectangle_t
) == 16 );
722 C_ASSERT( sizeof(select_op_t
) == 264 );
723 C_ASSERT( sizeof(short int) == 2 );
724 C_ASSERT( sizeof(startup_info_t
) == 96 );
725 C_ASSERT( sizeof(struct filesystem_event
) == 12 );
726 C_ASSERT( sizeof(struct handle_info
) == 20 );
727 C_ASSERT( sizeof(struct luid
) == 8 );
728 C_ASSERT( sizeof(struct luid_attr
) == 12 );
729 C_ASSERT( sizeof(struct object_attributes
) == 16 );
730 C_ASSERT( sizeof(struct object_type_info
) == 44 );
731 C_ASSERT( sizeof(struct process_info
) == 40 );
732 C_ASSERT( sizeof(struct rawinput_device
) == 12 );
733 C_ASSERT( sizeof(struct thread_info
) == 40 );
734 C_ASSERT( sizeof(thread_id_t
) == 4 );
735 C_ASSERT( sizeof(timeout_t
) == 8 );
736 C_ASSERT( sizeof(unsigned char) == 1 );
737 C_ASSERT( sizeof(unsigned int) == 4 );
738 C_ASSERT( sizeof(unsigned short) == 2 );
739 C_ASSERT( sizeof(user_apc_t
) == 40 );
740 C_ASSERT( sizeof(user_handle_t
) == 4 );
741 C_ASSERT( FIELD_OFFSET(struct new_process_request
, token
) == 12 );
742 C_ASSERT( FIELD_OFFSET(struct new_process_request
, debug
) == 16 );
743 C_ASSERT( FIELD_OFFSET(struct new_process_request
, parent_process
) == 20 );
744 C_ASSERT( FIELD_OFFSET(struct new_process_request
, flags
) == 24 );
745 C_ASSERT( FIELD_OFFSET(struct new_process_request
, socket_fd
) == 28 );
746 C_ASSERT( FIELD_OFFSET(struct new_process_request
, access
) == 32 );
747 C_ASSERT( FIELD_OFFSET(struct new_process_request
, machine
) == 36 );
748 C_ASSERT( FIELD_OFFSET(struct new_process_request
, info_size
) == 40 );
749 C_ASSERT( FIELD_OFFSET(struct new_process_request
, handles_size
) == 44 );
750 C_ASSERT( FIELD_OFFSET(struct new_process_request
, jobs_size
) == 48 );
751 C_ASSERT( sizeof(struct new_process_request
) == 56 );
752 C_ASSERT( FIELD_OFFSET(struct new_process_reply
, info
) == 8 );
753 C_ASSERT( FIELD_OFFSET(struct new_process_reply
, pid
) == 12 );
754 C_ASSERT( FIELD_OFFSET(struct new_process_reply
, handle
) == 16 );
755 C_ASSERT( sizeof(struct new_process_reply
) == 24 );
756 C_ASSERT( FIELD_OFFSET(struct get_new_process_info_request
, info
) == 12 );
757 C_ASSERT( sizeof(struct get_new_process_info_request
) == 16 );
758 C_ASSERT( FIELD_OFFSET(struct get_new_process_info_reply
, success
) == 8 );
759 C_ASSERT( FIELD_OFFSET(struct get_new_process_info_reply
, exit_code
) == 12 );
760 C_ASSERT( sizeof(struct get_new_process_info_reply
) == 16 );
761 C_ASSERT( FIELD_OFFSET(struct new_thread_request
, process
) == 12 );
762 C_ASSERT( FIELD_OFFSET(struct new_thread_request
, access
) == 16 );
763 C_ASSERT( FIELD_OFFSET(struct new_thread_request
, flags
) == 20 );
764 C_ASSERT( FIELD_OFFSET(struct new_thread_request
, request_fd
) == 24 );
765 C_ASSERT( sizeof(struct new_thread_request
) == 32 );
766 C_ASSERT( FIELD_OFFSET(struct new_thread_reply
, tid
) == 8 );
767 C_ASSERT( FIELD_OFFSET(struct new_thread_reply
, handle
) == 12 );
768 C_ASSERT( sizeof(struct new_thread_reply
) == 16 );
769 C_ASSERT( sizeof(struct get_startup_info_request
) == 16 );
770 C_ASSERT( FIELD_OFFSET(struct get_startup_info_reply
, info_size
) == 8 );
771 C_ASSERT( FIELD_OFFSET(struct get_startup_info_reply
, machine
) == 12 );
772 C_ASSERT( sizeof(struct get_startup_info_reply
) == 16 );
773 C_ASSERT( FIELD_OFFSET(struct init_process_done_request
, teb
) == 16 );
774 C_ASSERT( FIELD_OFFSET(struct init_process_done_request
, peb
) == 24 );
775 C_ASSERT( FIELD_OFFSET(struct init_process_done_request
, ldt_copy
) == 32 );
776 C_ASSERT( sizeof(struct init_process_done_request
) == 40 );
777 C_ASSERT( FIELD_OFFSET(struct init_process_done_reply
, entry
) == 8 );
778 C_ASSERT( FIELD_OFFSET(struct init_process_done_reply
, suspend
) == 16 );
779 C_ASSERT( sizeof(struct init_process_done_reply
) == 24 );
780 C_ASSERT( FIELD_OFFSET(struct init_first_thread_request
, unix_pid
) == 12 );
781 C_ASSERT( FIELD_OFFSET(struct init_first_thread_request
, unix_tid
) == 16 );
782 C_ASSERT( FIELD_OFFSET(struct init_first_thread_request
, debug_level
) == 20 );
783 C_ASSERT( FIELD_OFFSET(struct init_first_thread_request
, reply_fd
) == 24 );
784 C_ASSERT( FIELD_OFFSET(struct init_first_thread_request
, wait_fd
) == 28 );
785 C_ASSERT( sizeof(struct init_first_thread_request
) == 32 );
786 C_ASSERT( FIELD_OFFSET(struct init_first_thread_reply
, pid
) == 8 );
787 C_ASSERT( FIELD_OFFSET(struct init_first_thread_reply
, tid
) == 12 );
788 C_ASSERT( FIELD_OFFSET(struct init_first_thread_reply
, server_start
) == 16 );
789 C_ASSERT( FIELD_OFFSET(struct init_first_thread_reply
, session_id
) == 24 );
790 C_ASSERT( FIELD_OFFSET(struct init_first_thread_reply
, info_size
) == 28 );
791 C_ASSERT( sizeof(struct init_first_thread_reply
) == 32 );
792 C_ASSERT( FIELD_OFFSET(struct init_thread_request
, unix_tid
) == 12 );
793 C_ASSERT( FIELD_OFFSET(struct init_thread_request
, reply_fd
) == 16 );
794 C_ASSERT( FIELD_OFFSET(struct init_thread_request
, wait_fd
) == 20 );
795 C_ASSERT( FIELD_OFFSET(struct init_thread_request
, teb
) == 24 );
796 C_ASSERT( FIELD_OFFSET(struct init_thread_request
, entry
) == 32 );
797 C_ASSERT( sizeof(struct init_thread_request
) == 40 );
798 C_ASSERT( FIELD_OFFSET(struct init_thread_reply
, suspend
) == 8 );
799 C_ASSERT( sizeof(struct init_thread_reply
) == 16 );
800 C_ASSERT( FIELD_OFFSET(struct terminate_process_request
, handle
) == 12 );
801 C_ASSERT( FIELD_OFFSET(struct terminate_process_request
, exit_code
) == 16 );
802 C_ASSERT( sizeof(struct terminate_process_request
) == 24 );
803 C_ASSERT( FIELD_OFFSET(struct terminate_process_reply
, self
) == 8 );
804 C_ASSERT( sizeof(struct terminate_process_reply
) == 16 );
805 C_ASSERT( FIELD_OFFSET(struct terminate_thread_request
, handle
) == 12 );
806 C_ASSERT( FIELD_OFFSET(struct terminate_thread_request
, exit_code
) == 16 );
807 C_ASSERT( sizeof(struct terminate_thread_request
) == 24 );
808 C_ASSERT( FIELD_OFFSET(struct terminate_thread_reply
, self
) == 8 );
809 C_ASSERT( sizeof(struct terminate_thread_reply
) == 16 );
810 C_ASSERT( FIELD_OFFSET(struct get_process_info_request
, handle
) == 12 );
811 C_ASSERT( sizeof(struct get_process_info_request
) == 16 );
812 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, pid
) == 8 );
813 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, ppid
) == 12 );
814 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, affinity
) == 16 );
815 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, peb
) == 24 );
816 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, start_time
) == 32 );
817 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, end_time
) == 40 );
818 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, session_id
) == 48 );
819 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, exit_code
) == 52 );
820 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, priority
) == 56 );
821 C_ASSERT( FIELD_OFFSET(struct get_process_info_reply
, machine
) == 60 );
822 C_ASSERT( sizeof(struct get_process_info_reply
) == 64 );
823 C_ASSERT( FIELD_OFFSET(struct get_process_debug_info_request
, handle
) == 12 );
824 C_ASSERT( sizeof(struct get_process_debug_info_request
) == 16 );
825 C_ASSERT( FIELD_OFFSET(struct get_process_debug_info_reply
, debug
) == 8 );
826 C_ASSERT( FIELD_OFFSET(struct get_process_debug_info_reply
, debug_children
) == 12 );
827 C_ASSERT( sizeof(struct get_process_debug_info_reply
) == 16 );
828 C_ASSERT( FIELD_OFFSET(struct get_process_image_name_request
, handle
) == 12 );
829 C_ASSERT( FIELD_OFFSET(struct get_process_image_name_request
, win32
) == 16 );
830 C_ASSERT( sizeof(struct get_process_image_name_request
) == 24 );
831 C_ASSERT( FIELD_OFFSET(struct get_process_image_name_reply
, len
) == 8 );
832 C_ASSERT( sizeof(struct get_process_image_name_reply
) == 16 );
833 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_request
, handle
) == 12 );
834 C_ASSERT( sizeof(struct get_process_vm_counters_request
) == 16 );
835 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_reply
, peak_virtual_size
) == 8 );
836 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_reply
, virtual_size
) == 16 );
837 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_reply
, peak_working_set_size
) == 24 );
838 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_reply
, working_set_size
) == 32 );
839 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_reply
, pagefile_usage
) == 40 );
840 C_ASSERT( FIELD_OFFSET(struct get_process_vm_counters_reply
, peak_pagefile_usage
) == 48 );
841 C_ASSERT( sizeof(struct get_process_vm_counters_reply
) == 56 );
842 C_ASSERT( FIELD_OFFSET(struct set_process_info_request
, handle
) == 12 );
843 C_ASSERT( FIELD_OFFSET(struct set_process_info_request
, mask
) == 16 );
844 C_ASSERT( FIELD_OFFSET(struct set_process_info_request
, priority
) == 20 );
845 C_ASSERT( FIELD_OFFSET(struct set_process_info_request
, affinity
) == 24 );
846 C_ASSERT( sizeof(struct set_process_info_request
) == 32 );
847 C_ASSERT( FIELD_OFFSET(struct get_thread_info_request
, handle
) == 12 );
848 C_ASSERT( FIELD_OFFSET(struct get_thread_info_request
, access
) == 16 );
849 C_ASSERT( sizeof(struct get_thread_info_request
) == 24 );
850 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, pid
) == 8 );
851 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, tid
) == 12 );
852 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, teb
) == 16 );
853 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, entry_point
) == 24 );
854 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, affinity
) == 32 );
855 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, exit_code
) == 40 );
856 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, priority
) == 44 );
857 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, last
) == 48 );
858 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, suspend_count
) == 52 );
859 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, dbg_hidden
) == 56 );
860 C_ASSERT( FIELD_OFFSET(struct get_thread_info_reply
, desc_len
) == 60 );
861 C_ASSERT( sizeof(struct get_thread_info_reply
) == 64 );
862 C_ASSERT( FIELD_OFFSET(struct get_thread_times_request
, handle
) == 12 );
863 C_ASSERT( sizeof(struct get_thread_times_request
) == 16 );
864 C_ASSERT( FIELD_OFFSET(struct get_thread_times_reply
, creation_time
) == 8 );
865 C_ASSERT( FIELD_OFFSET(struct get_thread_times_reply
, exit_time
) == 16 );
866 C_ASSERT( FIELD_OFFSET(struct get_thread_times_reply
, unix_pid
) == 24 );
867 C_ASSERT( FIELD_OFFSET(struct get_thread_times_reply
, unix_tid
) == 28 );
868 C_ASSERT( sizeof(struct get_thread_times_reply
) == 32 );
869 C_ASSERT( FIELD_OFFSET(struct set_thread_info_request
, handle
) == 12 );
870 C_ASSERT( FIELD_OFFSET(struct set_thread_info_request
, mask
) == 16 );
871 C_ASSERT( FIELD_OFFSET(struct set_thread_info_request
, priority
) == 20 );
872 C_ASSERT( FIELD_OFFSET(struct set_thread_info_request
, affinity
) == 24 );
873 C_ASSERT( FIELD_OFFSET(struct set_thread_info_request
, entry_point
) == 32 );
874 C_ASSERT( FIELD_OFFSET(struct set_thread_info_request
, token
) == 40 );
875 C_ASSERT( sizeof(struct set_thread_info_request
) == 48 );
876 C_ASSERT( FIELD_OFFSET(struct suspend_thread_request
, handle
) == 12 );
877 C_ASSERT( sizeof(struct suspend_thread_request
) == 16 );
878 C_ASSERT( FIELD_OFFSET(struct suspend_thread_reply
, count
) == 8 );
879 C_ASSERT( sizeof(struct suspend_thread_reply
) == 16 );
880 C_ASSERT( FIELD_OFFSET(struct resume_thread_request
, handle
) == 12 );
881 C_ASSERT( sizeof(struct resume_thread_request
) == 16 );
882 C_ASSERT( FIELD_OFFSET(struct resume_thread_reply
, count
) == 8 );
883 C_ASSERT( sizeof(struct resume_thread_reply
) == 16 );
884 C_ASSERT( FIELD_OFFSET(struct queue_apc_request
, handle
) == 12 );
885 C_ASSERT( sizeof(struct queue_apc_request
) == 16 );
886 C_ASSERT( FIELD_OFFSET(struct queue_apc_reply
, handle
) == 8 );
887 C_ASSERT( FIELD_OFFSET(struct queue_apc_reply
, self
) == 12 );
888 C_ASSERT( sizeof(struct queue_apc_reply
) == 16 );
889 C_ASSERT( FIELD_OFFSET(struct get_apc_result_request
, handle
) == 12 );
890 C_ASSERT( sizeof(struct get_apc_result_request
) == 16 );
891 C_ASSERT( FIELD_OFFSET(struct get_apc_result_reply
, result
) == 8 );
892 C_ASSERT( sizeof(struct get_apc_result_reply
) == 48 );
893 C_ASSERT( FIELD_OFFSET(struct close_handle_request
, handle
) == 12 );
894 C_ASSERT( sizeof(struct close_handle_request
) == 16 );
895 C_ASSERT( FIELD_OFFSET(struct set_handle_info_request
, handle
) == 12 );
896 C_ASSERT( FIELD_OFFSET(struct set_handle_info_request
, flags
) == 16 );
897 C_ASSERT( FIELD_OFFSET(struct set_handle_info_request
, mask
) == 20 );
898 C_ASSERT( sizeof(struct set_handle_info_request
) == 24 );
899 C_ASSERT( FIELD_OFFSET(struct set_handle_info_reply
, old_flags
) == 8 );
900 C_ASSERT( sizeof(struct set_handle_info_reply
) == 16 );
901 C_ASSERT( FIELD_OFFSET(struct dup_handle_request
, src_process
) == 12 );
902 C_ASSERT( FIELD_OFFSET(struct dup_handle_request
, src_handle
) == 16 );
903 C_ASSERT( FIELD_OFFSET(struct dup_handle_request
, dst_process
) == 20 );
904 C_ASSERT( FIELD_OFFSET(struct dup_handle_request
, access
) == 24 );
905 C_ASSERT( FIELD_OFFSET(struct dup_handle_request
, attributes
) == 28 );
906 C_ASSERT( FIELD_OFFSET(struct dup_handle_request
, options
) == 32 );
907 C_ASSERT( sizeof(struct dup_handle_request
) == 40 );
908 C_ASSERT( FIELD_OFFSET(struct dup_handle_reply
, handle
) == 8 );
909 C_ASSERT( sizeof(struct dup_handle_reply
) == 16 );
910 C_ASSERT( FIELD_OFFSET(struct compare_objects_request
, first
) == 12 );
911 C_ASSERT( FIELD_OFFSET(struct compare_objects_request
, second
) == 16 );
912 C_ASSERT( sizeof(struct compare_objects_request
) == 24 );
913 C_ASSERT( FIELD_OFFSET(struct make_temporary_request
, handle
) == 12 );
914 C_ASSERT( sizeof(struct make_temporary_request
) == 16 );
915 C_ASSERT( FIELD_OFFSET(struct open_process_request
, pid
) == 12 );
916 C_ASSERT( FIELD_OFFSET(struct open_process_request
, access
) == 16 );
917 C_ASSERT( FIELD_OFFSET(struct open_process_request
, attributes
) == 20 );
918 C_ASSERT( sizeof(struct open_process_request
) == 24 );
919 C_ASSERT( FIELD_OFFSET(struct open_process_reply
, handle
) == 8 );
920 C_ASSERT( sizeof(struct open_process_reply
) == 16 );
921 C_ASSERT( FIELD_OFFSET(struct open_thread_request
, tid
) == 12 );
922 C_ASSERT( FIELD_OFFSET(struct open_thread_request
, access
) == 16 );
923 C_ASSERT( FIELD_OFFSET(struct open_thread_request
, attributes
) == 20 );
924 C_ASSERT( sizeof(struct open_thread_request
) == 24 );
925 C_ASSERT( FIELD_OFFSET(struct open_thread_reply
, handle
) == 8 );
926 C_ASSERT( sizeof(struct open_thread_reply
) == 16 );
927 C_ASSERT( FIELD_OFFSET(struct select_request
, flags
) == 12 );
928 C_ASSERT( FIELD_OFFSET(struct select_request
, cookie
) == 16 );
929 C_ASSERT( FIELD_OFFSET(struct select_request
, timeout
) == 24 );
930 C_ASSERT( FIELD_OFFSET(struct select_request
, size
) == 32 );
931 C_ASSERT( FIELD_OFFSET(struct select_request
, prev_apc
) == 36 );
932 C_ASSERT( sizeof(struct select_request
) == 40 );
933 C_ASSERT( FIELD_OFFSET(struct select_reply
, apc_handle
) == 8 );
934 C_ASSERT( FIELD_OFFSET(struct select_reply
, signaled
) == 12 );
935 C_ASSERT( sizeof(struct select_reply
) == 16 );
936 C_ASSERT( FIELD_OFFSET(struct create_event_request
, access
) == 12 );
937 C_ASSERT( FIELD_OFFSET(struct create_event_request
, manual_reset
) == 16 );
938 C_ASSERT( FIELD_OFFSET(struct create_event_request
, initial_state
) == 20 );
939 C_ASSERT( sizeof(struct create_event_request
) == 24 );
940 C_ASSERT( FIELD_OFFSET(struct create_event_reply
, handle
) == 8 );
941 C_ASSERT( sizeof(struct create_event_reply
) == 16 );
942 C_ASSERT( FIELD_OFFSET(struct event_op_request
, handle
) == 12 );
943 C_ASSERT( FIELD_OFFSET(struct event_op_request
, op
) == 16 );
944 C_ASSERT( sizeof(struct event_op_request
) == 24 );
945 C_ASSERT( FIELD_OFFSET(struct event_op_reply
, state
) == 8 );
946 C_ASSERT( sizeof(struct event_op_reply
) == 16 );
947 C_ASSERT( FIELD_OFFSET(struct query_event_request
, handle
) == 12 );
948 C_ASSERT( sizeof(struct query_event_request
) == 16 );
949 C_ASSERT( FIELD_OFFSET(struct query_event_reply
, manual_reset
) == 8 );
950 C_ASSERT( FIELD_OFFSET(struct query_event_reply
, state
) == 12 );
951 C_ASSERT( sizeof(struct query_event_reply
) == 16 );
952 C_ASSERT( FIELD_OFFSET(struct open_event_request
, access
) == 12 );
953 C_ASSERT( FIELD_OFFSET(struct open_event_request
, attributes
) == 16 );
954 C_ASSERT( FIELD_OFFSET(struct open_event_request
, rootdir
) == 20 );
955 C_ASSERT( sizeof(struct open_event_request
) == 24 );
956 C_ASSERT( FIELD_OFFSET(struct open_event_reply
, handle
) == 8 );
957 C_ASSERT( sizeof(struct open_event_reply
) == 16 );
958 C_ASSERT( FIELD_OFFSET(struct create_keyed_event_request
, access
) == 12 );
959 C_ASSERT( sizeof(struct create_keyed_event_request
) == 16 );
960 C_ASSERT( FIELD_OFFSET(struct create_keyed_event_reply
, handle
) == 8 );
961 C_ASSERT( sizeof(struct create_keyed_event_reply
) == 16 );
962 C_ASSERT( FIELD_OFFSET(struct open_keyed_event_request
, access
) == 12 );
963 C_ASSERT( FIELD_OFFSET(struct open_keyed_event_request
, attributes
) == 16 );
964 C_ASSERT( FIELD_OFFSET(struct open_keyed_event_request
, rootdir
) == 20 );
965 C_ASSERT( sizeof(struct open_keyed_event_request
) == 24 );
966 C_ASSERT( FIELD_OFFSET(struct open_keyed_event_reply
, handle
) == 8 );
967 C_ASSERT( sizeof(struct open_keyed_event_reply
) == 16 );
968 C_ASSERT( FIELD_OFFSET(struct create_mutex_request
, access
) == 12 );
969 C_ASSERT( FIELD_OFFSET(struct create_mutex_request
, owned
) == 16 );
970 C_ASSERT( sizeof(struct create_mutex_request
) == 24 );
971 C_ASSERT( FIELD_OFFSET(struct create_mutex_reply
, handle
) == 8 );
972 C_ASSERT( sizeof(struct create_mutex_reply
) == 16 );
973 C_ASSERT( FIELD_OFFSET(struct release_mutex_request
, handle
) == 12 );
974 C_ASSERT( sizeof(struct release_mutex_request
) == 16 );
975 C_ASSERT( FIELD_OFFSET(struct release_mutex_reply
, prev_count
) == 8 );
976 C_ASSERT( sizeof(struct release_mutex_reply
) == 16 );
977 C_ASSERT( FIELD_OFFSET(struct open_mutex_request
, access
) == 12 );
978 C_ASSERT( FIELD_OFFSET(struct open_mutex_request
, attributes
) == 16 );
979 C_ASSERT( FIELD_OFFSET(struct open_mutex_request
, rootdir
) == 20 );
980 C_ASSERT( sizeof(struct open_mutex_request
) == 24 );
981 C_ASSERT( FIELD_OFFSET(struct open_mutex_reply
, handle
) == 8 );
982 C_ASSERT( sizeof(struct open_mutex_reply
) == 16 );
983 C_ASSERT( FIELD_OFFSET(struct query_mutex_request
, handle
) == 12 );
984 C_ASSERT( sizeof(struct query_mutex_request
) == 16 );
985 C_ASSERT( FIELD_OFFSET(struct query_mutex_reply
, count
) == 8 );
986 C_ASSERT( FIELD_OFFSET(struct query_mutex_reply
, owned
) == 12 );
987 C_ASSERT( FIELD_OFFSET(struct query_mutex_reply
, abandoned
) == 16 );
988 C_ASSERT( sizeof(struct query_mutex_reply
) == 24 );
989 C_ASSERT( FIELD_OFFSET(struct create_semaphore_request
, access
) == 12 );
990 C_ASSERT( FIELD_OFFSET(struct create_semaphore_request
, initial
) == 16 );
991 C_ASSERT( FIELD_OFFSET(struct create_semaphore_request
, max
) == 20 );
992 C_ASSERT( sizeof(struct create_semaphore_request
) == 24 );
993 C_ASSERT( FIELD_OFFSET(struct create_semaphore_reply
, handle
) == 8 );
994 C_ASSERT( sizeof(struct create_semaphore_reply
) == 16 );
995 C_ASSERT( FIELD_OFFSET(struct release_semaphore_request
, handle
) == 12 );
996 C_ASSERT( FIELD_OFFSET(struct release_semaphore_request
, count
) == 16 );
997 C_ASSERT( sizeof(struct release_semaphore_request
) == 24 );
998 C_ASSERT( FIELD_OFFSET(struct release_semaphore_reply
, prev_count
) == 8 );
999 C_ASSERT( sizeof(struct release_semaphore_reply
) == 16 );
1000 C_ASSERT( FIELD_OFFSET(struct query_semaphore_request
, handle
) == 12 );
1001 C_ASSERT( sizeof(struct query_semaphore_request
) == 16 );
1002 C_ASSERT( FIELD_OFFSET(struct query_semaphore_reply
, current
) == 8 );
1003 C_ASSERT( FIELD_OFFSET(struct query_semaphore_reply
, max
) == 12 );
1004 C_ASSERT( sizeof(struct query_semaphore_reply
) == 16 );
1005 C_ASSERT( FIELD_OFFSET(struct open_semaphore_request
, access
) == 12 );
1006 C_ASSERT( FIELD_OFFSET(struct open_semaphore_request
, attributes
) == 16 );
1007 C_ASSERT( FIELD_OFFSET(struct open_semaphore_request
, rootdir
) == 20 );
1008 C_ASSERT( sizeof(struct open_semaphore_request
) == 24 );
1009 C_ASSERT( FIELD_OFFSET(struct open_semaphore_reply
, handle
) == 8 );
1010 C_ASSERT( sizeof(struct open_semaphore_reply
) == 16 );
1011 C_ASSERT( FIELD_OFFSET(struct create_file_request
, access
) == 12 );
1012 C_ASSERT( FIELD_OFFSET(struct create_file_request
, sharing
) == 16 );
1013 C_ASSERT( FIELD_OFFSET(struct create_file_request
, create
) == 20 );
1014 C_ASSERT( FIELD_OFFSET(struct create_file_request
, options
) == 24 );
1015 C_ASSERT( FIELD_OFFSET(struct create_file_request
, attrs
) == 28 );
1016 C_ASSERT( sizeof(struct create_file_request
) == 32 );
1017 C_ASSERT( FIELD_OFFSET(struct create_file_reply
, handle
) == 8 );
1018 C_ASSERT( sizeof(struct create_file_reply
) == 16 );
1019 C_ASSERT( FIELD_OFFSET(struct open_file_object_request
, access
) == 12 );
1020 C_ASSERT( FIELD_OFFSET(struct open_file_object_request
, attributes
) == 16 );
1021 C_ASSERT( FIELD_OFFSET(struct open_file_object_request
, rootdir
) == 20 );
1022 C_ASSERT( FIELD_OFFSET(struct open_file_object_request
, sharing
) == 24 );
1023 C_ASSERT( FIELD_OFFSET(struct open_file_object_request
, options
) == 28 );
1024 C_ASSERT( sizeof(struct open_file_object_request
) == 32 );
1025 C_ASSERT( FIELD_OFFSET(struct open_file_object_reply
, handle
) == 8 );
1026 C_ASSERT( sizeof(struct open_file_object_reply
) == 16 );
1027 C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_request
, access
) == 12 );
1028 C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_request
, attributes
) == 16 );
1029 C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_request
, fd
) == 20 );
1030 C_ASSERT( sizeof(struct alloc_file_handle_request
) == 24 );
1031 C_ASSERT( FIELD_OFFSET(struct alloc_file_handle_reply
, handle
) == 8 );
1032 C_ASSERT( sizeof(struct alloc_file_handle_reply
) == 16 );
1033 C_ASSERT( FIELD_OFFSET(struct get_handle_unix_name_request
, handle
) == 12 );
1034 C_ASSERT( sizeof(struct get_handle_unix_name_request
) == 16 );
1035 C_ASSERT( FIELD_OFFSET(struct get_handle_unix_name_reply
, name_len
) == 8 );
1036 C_ASSERT( sizeof(struct get_handle_unix_name_reply
) == 16 );
1037 C_ASSERT( FIELD_OFFSET(struct get_handle_fd_request
, handle
) == 12 );
1038 C_ASSERT( sizeof(struct get_handle_fd_request
) == 16 );
1039 C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply
, type
) == 8 );
1040 C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply
, cacheable
) == 12 );
1041 C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply
, access
) == 16 );
1042 C_ASSERT( FIELD_OFFSET(struct get_handle_fd_reply
, options
) == 20 );
1043 C_ASSERT( sizeof(struct get_handle_fd_reply
) == 24 );
1044 C_ASSERT( FIELD_OFFSET(struct get_directory_cache_entry_request
, handle
) == 12 );
1045 C_ASSERT( sizeof(struct get_directory_cache_entry_request
) == 16 );
1046 C_ASSERT( FIELD_OFFSET(struct get_directory_cache_entry_reply
, entry
) == 8 );
1047 C_ASSERT( sizeof(struct get_directory_cache_entry_reply
) == 16 );
1048 C_ASSERT( FIELD_OFFSET(struct flush_request
, async
) == 16 );
1049 C_ASSERT( sizeof(struct flush_request
) == 56 );
1050 C_ASSERT( FIELD_OFFSET(struct flush_reply
, event
) == 8 );
1051 C_ASSERT( sizeof(struct flush_reply
) == 16 );
1052 C_ASSERT( FIELD_OFFSET(struct get_file_info_request
, handle
) == 12 );
1053 C_ASSERT( FIELD_OFFSET(struct get_file_info_request
, info_class
) == 16 );
1054 C_ASSERT( sizeof(struct get_file_info_request
) == 24 );
1055 C_ASSERT( sizeof(struct get_file_info_reply
) == 8 );
1056 C_ASSERT( FIELD_OFFSET(struct get_volume_info_request
, handle
) == 12 );
1057 C_ASSERT( FIELD_OFFSET(struct get_volume_info_request
, async
) == 16 );
1058 C_ASSERT( FIELD_OFFSET(struct get_volume_info_request
, info_class
) == 56 );
1059 C_ASSERT( sizeof(struct get_volume_info_request
) == 64 );
1060 C_ASSERT( FIELD_OFFSET(struct get_volume_info_reply
, wait
) == 8 );
1061 C_ASSERT( sizeof(struct get_volume_info_reply
) == 16 );
1062 C_ASSERT( FIELD_OFFSET(struct lock_file_request
, handle
) == 12 );
1063 C_ASSERT( FIELD_OFFSET(struct lock_file_request
, offset
) == 16 );
1064 C_ASSERT( FIELD_OFFSET(struct lock_file_request
, count
) == 24 );
1065 C_ASSERT( FIELD_OFFSET(struct lock_file_request
, shared
) == 32 );
1066 C_ASSERT( FIELD_OFFSET(struct lock_file_request
, wait
) == 36 );
1067 C_ASSERT( sizeof(struct lock_file_request
) == 40 );
1068 C_ASSERT( FIELD_OFFSET(struct lock_file_reply
, handle
) == 8 );
1069 C_ASSERT( FIELD_OFFSET(struct lock_file_reply
, overlapped
) == 12 );
1070 C_ASSERT( sizeof(struct lock_file_reply
) == 16 );
1071 C_ASSERT( FIELD_OFFSET(struct unlock_file_request
, handle
) == 12 );
1072 C_ASSERT( FIELD_OFFSET(struct unlock_file_request
, offset
) == 16 );
1073 C_ASSERT( FIELD_OFFSET(struct unlock_file_request
, count
) == 24 );
1074 C_ASSERT( sizeof(struct unlock_file_request
) == 32 );
1075 C_ASSERT( FIELD_OFFSET(struct recv_socket_request
, oob
) == 12 );
1076 C_ASSERT( FIELD_OFFSET(struct recv_socket_request
, async
) == 16 );
1077 C_ASSERT( FIELD_OFFSET(struct recv_socket_request
, force_async
) == 56 );
1078 C_ASSERT( sizeof(struct recv_socket_request
) == 64 );
1079 C_ASSERT( FIELD_OFFSET(struct recv_socket_reply
, wait
) == 8 );
1080 C_ASSERT( FIELD_OFFSET(struct recv_socket_reply
, options
) == 12 );
1081 C_ASSERT( FIELD_OFFSET(struct recv_socket_reply
, nonblocking
) == 16 );
1082 C_ASSERT( sizeof(struct recv_socket_reply
) == 24 );
1083 C_ASSERT( FIELD_OFFSET(struct send_socket_request
, async
) == 16 );
1084 C_ASSERT( FIELD_OFFSET(struct send_socket_request
, force_async
) == 56 );
1085 C_ASSERT( sizeof(struct send_socket_request
) == 64 );
1086 C_ASSERT( FIELD_OFFSET(struct send_socket_reply
, wait
) == 8 );
1087 C_ASSERT( FIELD_OFFSET(struct send_socket_reply
, options
) == 12 );
1088 C_ASSERT( FIELD_OFFSET(struct send_socket_reply
, nonblocking
) == 16 );
1089 C_ASSERT( sizeof(struct send_socket_reply
) == 24 );
1090 C_ASSERT( FIELD_OFFSET(struct socket_get_events_request
, handle
) == 12 );
1091 C_ASSERT( FIELD_OFFSET(struct socket_get_events_request
, event
) == 16 );
1092 C_ASSERT( sizeof(struct socket_get_events_request
) == 24 );
1093 C_ASSERT( FIELD_OFFSET(struct socket_get_events_reply
, flags
) == 8 );
1094 C_ASSERT( sizeof(struct socket_get_events_reply
) == 16 );
1095 C_ASSERT( FIELD_OFFSET(struct socket_send_icmp_id_request
, handle
) == 12 );
1096 C_ASSERT( FIELD_OFFSET(struct socket_send_icmp_id_request
, icmp_id
) == 16 );
1097 C_ASSERT( FIELD_OFFSET(struct socket_send_icmp_id_request
, icmp_seq
) == 18 );
1098 C_ASSERT( sizeof(struct socket_send_icmp_id_request
) == 24 );
1099 C_ASSERT( sizeof(struct socket_send_icmp_id_reply
) == 8 );
1100 C_ASSERT( FIELD_OFFSET(struct socket_get_icmp_id_request
, handle
) == 12 );
1101 C_ASSERT( FIELD_OFFSET(struct socket_get_icmp_id_request
, icmp_seq
) == 16 );
1102 C_ASSERT( sizeof(struct socket_get_icmp_id_request
) == 24 );
1103 C_ASSERT( FIELD_OFFSET(struct socket_get_icmp_id_reply
, icmp_id
) == 8 );
1104 C_ASSERT( sizeof(struct socket_get_icmp_id_reply
) == 16 );
1105 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_request
, handle
) == 12 );
1106 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_request
, signal
) == 16 );
1107 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_request
, read
) == 20 );
1108 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_request
, status
) == 24 );
1109 C_ASSERT( sizeof(struct get_next_console_request_request
) == 32 );
1110 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_reply
, code
) == 8 );
1111 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_reply
, output
) == 12 );
1112 C_ASSERT( FIELD_OFFSET(struct get_next_console_request_reply
, out_size
) == 16 );
1113 C_ASSERT( sizeof(struct get_next_console_request_reply
) == 24 );
1114 C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request
, filter
) == 12 );
1115 C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request
, subtree
) == 16 );
1116 C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request
, want_data
) == 20 );
1117 C_ASSERT( FIELD_OFFSET(struct read_directory_changes_request
, async
) == 24 );
1118 C_ASSERT( sizeof(struct read_directory_changes_request
) == 64 );
1119 C_ASSERT( FIELD_OFFSET(struct read_change_request
, handle
) == 12 );
1120 C_ASSERT( sizeof(struct read_change_request
) == 16 );
1121 C_ASSERT( sizeof(struct read_change_reply
) == 8 );
1122 C_ASSERT( FIELD_OFFSET(struct create_mapping_request
, access
) == 12 );
1123 C_ASSERT( FIELD_OFFSET(struct create_mapping_request
, flags
) == 16 );
1124 C_ASSERT( FIELD_OFFSET(struct create_mapping_request
, file_access
) == 20 );
1125 C_ASSERT( FIELD_OFFSET(struct create_mapping_request
, size
) == 24 );
1126 C_ASSERT( FIELD_OFFSET(struct create_mapping_request
, file_handle
) == 32 );
1127 C_ASSERT( sizeof(struct create_mapping_request
) == 40 );
1128 C_ASSERT( FIELD_OFFSET(struct create_mapping_reply
, handle
) == 8 );
1129 C_ASSERT( sizeof(struct create_mapping_reply
) == 16 );
1130 C_ASSERT( FIELD_OFFSET(struct open_mapping_request
, access
) == 12 );
1131 C_ASSERT( FIELD_OFFSET(struct open_mapping_request
, attributes
) == 16 );
1132 C_ASSERT( FIELD_OFFSET(struct open_mapping_request
, rootdir
) == 20 );
1133 C_ASSERT( sizeof(struct open_mapping_request
) == 24 );
1134 C_ASSERT( FIELD_OFFSET(struct open_mapping_reply
, handle
) == 8 );
1135 C_ASSERT( sizeof(struct open_mapping_reply
) == 16 );
1136 C_ASSERT( FIELD_OFFSET(struct get_mapping_info_request
, handle
) == 12 );
1137 C_ASSERT( FIELD_OFFSET(struct get_mapping_info_request
, access
) == 16 );
1138 C_ASSERT( sizeof(struct get_mapping_info_request
) == 24 );
1139 C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply
, size
) == 8 );
1140 C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply
, flags
) == 16 );
1141 C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply
, shared_file
) == 20 );
1142 C_ASSERT( FIELD_OFFSET(struct get_mapping_info_reply
, total
) == 24 );
1143 C_ASSERT( sizeof(struct get_mapping_info_reply
) == 32 );
1144 C_ASSERT( FIELD_OFFSET(struct map_view_request
, mapping
) == 12 );
1145 C_ASSERT( FIELD_OFFSET(struct map_view_request
, access
) == 16 );
1146 C_ASSERT( FIELD_OFFSET(struct map_view_request
, base
) == 24 );
1147 C_ASSERT( FIELD_OFFSET(struct map_view_request
, size
) == 32 );
1148 C_ASSERT( FIELD_OFFSET(struct map_view_request
, start
) == 40 );
1149 C_ASSERT( sizeof(struct map_view_request
) == 48 );
1150 C_ASSERT( FIELD_OFFSET(struct map_image_view_request
, mapping
) == 12 );
1151 C_ASSERT( FIELD_OFFSET(struct map_image_view_request
, base
) == 16 );
1152 C_ASSERT( FIELD_OFFSET(struct map_image_view_request
, size
) == 24 );
1153 C_ASSERT( FIELD_OFFSET(struct map_image_view_request
, entry
) == 32 );
1154 C_ASSERT( FIELD_OFFSET(struct map_image_view_request
, machine
) == 36 );
1155 C_ASSERT( sizeof(struct map_image_view_request
) == 40 );
1156 C_ASSERT( sizeof(struct map_builtin_view_request
) == 16 );
1157 C_ASSERT( FIELD_OFFSET(struct get_image_view_info_request
, process
) == 12 );
1158 C_ASSERT( FIELD_OFFSET(struct get_image_view_info_request
, addr
) == 16 );
1159 C_ASSERT( sizeof(struct get_image_view_info_request
) == 24 );
1160 C_ASSERT( FIELD_OFFSET(struct get_image_view_info_reply
, base
) == 8 );
1161 C_ASSERT( FIELD_OFFSET(struct get_image_view_info_reply
, size
) == 16 );
1162 C_ASSERT( sizeof(struct get_image_view_info_reply
) == 24 );
1163 C_ASSERT( FIELD_OFFSET(struct unmap_view_request
, base
) == 16 );
1164 C_ASSERT( sizeof(struct unmap_view_request
) == 24 );
1165 C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_request
, base
) == 16 );
1166 C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_request
, offset
) == 24 );
1167 C_ASSERT( sizeof(struct get_mapping_committed_range_request
) == 32 );
1168 C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_reply
, size
) == 8 );
1169 C_ASSERT( FIELD_OFFSET(struct get_mapping_committed_range_reply
, committed
) == 16 );
1170 C_ASSERT( sizeof(struct get_mapping_committed_range_reply
) == 24 );
1171 C_ASSERT( FIELD_OFFSET(struct add_mapping_committed_range_request
, base
) == 16 );
1172 C_ASSERT( FIELD_OFFSET(struct add_mapping_committed_range_request
, offset
) == 24 );
1173 C_ASSERT( FIELD_OFFSET(struct add_mapping_committed_range_request
, size
) == 32 );
1174 C_ASSERT( sizeof(struct add_mapping_committed_range_request
) == 40 );
1175 C_ASSERT( FIELD_OFFSET(struct is_same_mapping_request
, base1
) == 16 );
1176 C_ASSERT( FIELD_OFFSET(struct is_same_mapping_request
, base2
) == 24 );
1177 C_ASSERT( sizeof(struct is_same_mapping_request
) == 32 );
1178 C_ASSERT( FIELD_OFFSET(struct get_mapping_filename_request
, process
) == 12 );
1179 C_ASSERT( FIELD_OFFSET(struct get_mapping_filename_request
, addr
) == 16 );
1180 C_ASSERT( sizeof(struct get_mapping_filename_request
) == 24 );
1181 C_ASSERT( FIELD_OFFSET(struct get_mapping_filename_reply
, len
) == 8 );
1182 C_ASSERT( sizeof(struct get_mapping_filename_reply
) == 16 );
1183 C_ASSERT( sizeof(struct list_processes_request
) == 16 );
1184 C_ASSERT( FIELD_OFFSET(struct list_processes_reply
, info_size
) == 8 );
1185 C_ASSERT( FIELD_OFFSET(struct list_processes_reply
, process_count
) == 12 );
1186 C_ASSERT( FIELD_OFFSET(struct list_processes_reply
, total_thread_count
) == 16 );
1187 C_ASSERT( FIELD_OFFSET(struct list_processes_reply
, total_name_len
) == 20 );
1188 C_ASSERT( sizeof(struct list_processes_reply
) == 24 );
1189 C_ASSERT( FIELD_OFFSET(struct create_debug_obj_request
, access
) == 12 );
1190 C_ASSERT( FIELD_OFFSET(struct create_debug_obj_request
, flags
) == 16 );
1191 C_ASSERT( sizeof(struct create_debug_obj_request
) == 24 );
1192 C_ASSERT( FIELD_OFFSET(struct create_debug_obj_reply
, handle
) == 8 );
1193 C_ASSERT( sizeof(struct create_debug_obj_reply
) == 16 );
1194 C_ASSERT( FIELD_OFFSET(struct wait_debug_event_request
, debug
) == 12 );
1195 C_ASSERT( sizeof(struct wait_debug_event_request
) == 16 );
1196 C_ASSERT( FIELD_OFFSET(struct wait_debug_event_reply
, pid
) == 8 );
1197 C_ASSERT( FIELD_OFFSET(struct wait_debug_event_reply
, tid
) == 12 );
1198 C_ASSERT( sizeof(struct wait_debug_event_reply
) == 16 );
1199 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request
, first
) == 12 );
1200 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request
, code
) == 16 );
1201 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request
, flags
) == 20 );
1202 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request
, record
) == 24 );
1203 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request
, address
) == 32 );
1204 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_request
, len
) == 40 );
1205 C_ASSERT( sizeof(struct queue_exception_event_request
) == 48 );
1206 C_ASSERT( FIELD_OFFSET(struct queue_exception_event_reply
, handle
) == 8 );
1207 C_ASSERT( sizeof(struct queue_exception_event_reply
) == 16 );
1208 C_ASSERT( FIELD_OFFSET(struct get_exception_status_request
, handle
) == 12 );
1209 C_ASSERT( sizeof(struct get_exception_status_request
) == 16 );
1210 C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request
, debug
) == 12 );
1211 C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request
, pid
) == 16 );
1212 C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request
, tid
) == 20 );
1213 C_ASSERT( FIELD_OFFSET(struct continue_debug_event_request
, status
) == 24 );
1214 C_ASSERT( sizeof(struct continue_debug_event_request
) == 32 );
1215 C_ASSERT( FIELD_OFFSET(struct debug_process_request
, handle
) == 12 );
1216 C_ASSERT( FIELD_OFFSET(struct debug_process_request
, debug
) == 16 );
1217 C_ASSERT( FIELD_OFFSET(struct debug_process_request
, attach
) == 20 );
1218 C_ASSERT( sizeof(struct debug_process_request
) == 24 );
1219 C_ASSERT( FIELD_OFFSET(struct set_debug_obj_info_request
, debug
) == 12 );
1220 C_ASSERT( FIELD_OFFSET(struct set_debug_obj_info_request
, flags
) == 16 );
1221 C_ASSERT( sizeof(struct set_debug_obj_info_request
) == 24 );
1222 C_ASSERT( FIELD_OFFSET(struct read_process_memory_request
, handle
) == 12 );
1223 C_ASSERT( FIELD_OFFSET(struct read_process_memory_request
, addr
) == 16 );
1224 C_ASSERT( sizeof(struct read_process_memory_request
) == 24 );
1225 C_ASSERT( sizeof(struct read_process_memory_reply
) == 8 );
1226 C_ASSERT( FIELD_OFFSET(struct write_process_memory_request
, handle
) == 12 );
1227 C_ASSERT( FIELD_OFFSET(struct write_process_memory_request
, addr
) == 16 );
1228 C_ASSERT( sizeof(struct write_process_memory_request
) == 24 );
1229 C_ASSERT( FIELD_OFFSET(struct create_key_request
, access
) == 12 );
1230 C_ASSERT( FIELD_OFFSET(struct create_key_request
, options
) == 16 );
1231 C_ASSERT( sizeof(struct create_key_request
) == 24 );
1232 C_ASSERT( FIELD_OFFSET(struct create_key_reply
, hkey
) == 8 );
1233 C_ASSERT( sizeof(struct create_key_reply
) == 16 );
1234 C_ASSERT( FIELD_OFFSET(struct open_key_request
, parent
) == 12 );
1235 C_ASSERT( FIELD_OFFSET(struct open_key_request
, access
) == 16 );
1236 C_ASSERT( FIELD_OFFSET(struct open_key_request
, attributes
) == 20 );
1237 C_ASSERT( sizeof(struct open_key_request
) == 24 );
1238 C_ASSERT( FIELD_OFFSET(struct open_key_reply
, hkey
) == 8 );
1239 C_ASSERT( sizeof(struct open_key_reply
) == 16 );
1240 C_ASSERT( FIELD_OFFSET(struct delete_key_request
, hkey
) == 12 );
1241 C_ASSERT( sizeof(struct delete_key_request
) == 16 );
1242 C_ASSERT( FIELD_OFFSET(struct flush_key_request
, hkey
) == 12 );
1243 C_ASSERT( sizeof(struct flush_key_request
) == 16 );
1244 C_ASSERT( FIELD_OFFSET(struct enum_key_request
, hkey
) == 12 );
1245 C_ASSERT( FIELD_OFFSET(struct enum_key_request
, index
) == 16 );
1246 C_ASSERT( FIELD_OFFSET(struct enum_key_request
, info_class
) == 20 );
1247 C_ASSERT( sizeof(struct enum_key_request
) == 24 );
1248 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, subkeys
) == 8 );
1249 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, max_subkey
) == 12 );
1250 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, max_class
) == 16 );
1251 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, values
) == 20 );
1252 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, max_value
) == 24 );
1253 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, max_data
) == 28 );
1254 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, modif
) == 32 );
1255 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, total
) == 40 );
1256 C_ASSERT( FIELD_OFFSET(struct enum_key_reply
, namelen
) == 44 );
1257 C_ASSERT( sizeof(struct enum_key_reply
) == 48 );
1258 C_ASSERT( FIELD_OFFSET(struct set_key_value_request
, hkey
) == 12 );
1259 C_ASSERT( FIELD_OFFSET(struct set_key_value_request
, type
) == 16 );
1260 C_ASSERT( FIELD_OFFSET(struct set_key_value_request
, namelen
) == 20 );
1261 C_ASSERT( sizeof(struct set_key_value_request
) == 24 );
1262 C_ASSERT( FIELD_OFFSET(struct get_key_value_request
, hkey
) == 12 );
1263 C_ASSERT( sizeof(struct get_key_value_request
) == 16 );
1264 C_ASSERT( FIELD_OFFSET(struct get_key_value_reply
, type
) == 8 );
1265 C_ASSERT( FIELD_OFFSET(struct get_key_value_reply
, total
) == 12 );
1266 C_ASSERT( sizeof(struct get_key_value_reply
) == 16 );
1267 C_ASSERT( FIELD_OFFSET(struct enum_key_value_request
, hkey
) == 12 );
1268 C_ASSERT( FIELD_OFFSET(struct enum_key_value_request
, index
) == 16 );
1269 C_ASSERT( FIELD_OFFSET(struct enum_key_value_request
, info_class
) == 20 );
1270 C_ASSERT( sizeof(struct enum_key_value_request
) == 24 );
1271 C_ASSERT( FIELD_OFFSET(struct enum_key_value_reply
, type
) == 8 );
1272 C_ASSERT( FIELD_OFFSET(struct enum_key_value_reply
, total
) == 12 );
1273 C_ASSERT( FIELD_OFFSET(struct enum_key_value_reply
, namelen
) == 16 );
1274 C_ASSERT( sizeof(struct enum_key_value_reply
) == 24 );
1275 C_ASSERT( FIELD_OFFSET(struct delete_key_value_request
, hkey
) == 12 );
1276 C_ASSERT( sizeof(struct delete_key_value_request
) == 16 );
1277 C_ASSERT( FIELD_OFFSET(struct load_registry_request
, file
) == 12 );
1278 C_ASSERT( sizeof(struct load_registry_request
) == 16 );
1279 C_ASSERT( FIELD_OFFSET(struct unload_registry_request
, parent
) == 12 );
1280 C_ASSERT( FIELD_OFFSET(struct unload_registry_request
, attributes
) == 16 );
1281 C_ASSERT( sizeof(struct unload_registry_request
) == 24 );
1282 C_ASSERT( FIELD_OFFSET(struct save_registry_request
, hkey
) == 12 );
1283 C_ASSERT( FIELD_OFFSET(struct save_registry_request
, file
) == 16 );
1284 C_ASSERT( sizeof(struct save_registry_request
) == 24 );
1285 C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request
, hkey
) == 12 );
1286 C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request
, event
) == 16 );
1287 C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request
, subtree
) == 20 );
1288 C_ASSERT( FIELD_OFFSET(struct set_registry_notification_request
, filter
) == 24 );
1289 C_ASSERT( sizeof(struct set_registry_notification_request
) == 32 );
1290 C_ASSERT( FIELD_OFFSET(struct rename_key_request
, hkey
) == 12 );
1291 C_ASSERT( sizeof(struct rename_key_request
) == 16 );
1292 C_ASSERT( FIELD_OFFSET(struct create_timer_request
, access
) == 12 );
1293 C_ASSERT( FIELD_OFFSET(struct create_timer_request
, manual
) == 16 );
1294 C_ASSERT( sizeof(struct create_timer_request
) == 24 );
1295 C_ASSERT( FIELD_OFFSET(struct create_timer_reply
, handle
) == 8 );
1296 C_ASSERT( sizeof(struct create_timer_reply
) == 16 );
1297 C_ASSERT( FIELD_OFFSET(struct open_timer_request
, access
) == 12 );
1298 C_ASSERT( FIELD_OFFSET(struct open_timer_request
, attributes
) == 16 );
1299 C_ASSERT( FIELD_OFFSET(struct open_timer_request
, rootdir
) == 20 );
1300 C_ASSERT( sizeof(struct open_timer_request
) == 24 );
1301 C_ASSERT( FIELD_OFFSET(struct open_timer_reply
, handle
) == 8 );
1302 C_ASSERT( sizeof(struct open_timer_reply
) == 16 );
1303 C_ASSERT( FIELD_OFFSET(struct set_timer_request
, handle
) == 12 );
1304 C_ASSERT( FIELD_OFFSET(struct set_timer_request
, expire
) == 16 );
1305 C_ASSERT( FIELD_OFFSET(struct set_timer_request
, callback
) == 24 );
1306 C_ASSERT( FIELD_OFFSET(struct set_timer_request
, arg
) == 32 );
1307 C_ASSERT( FIELD_OFFSET(struct set_timer_request
, period
) == 40 );
1308 C_ASSERT( sizeof(struct set_timer_request
) == 48 );
1309 C_ASSERT( FIELD_OFFSET(struct set_timer_reply
, signaled
) == 8 );
1310 C_ASSERT( sizeof(struct set_timer_reply
) == 16 );
1311 C_ASSERT( FIELD_OFFSET(struct cancel_timer_request
, handle
) == 12 );
1312 C_ASSERT( sizeof(struct cancel_timer_request
) == 16 );
1313 C_ASSERT( FIELD_OFFSET(struct cancel_timer_reply
, signaled
) == 8 );
1314 C_ASSERT( sizeof(struct cancel_timer_reply
) == 16 );
1315 C_ASSERT( FIELD_OFFSET(struct get_timer_info_request
, handle
) == 12 );
1316 C_ASSERT( sizeof(struct get_timer_info_request
) == 16 );
1317 C_ASSERT( FIELD_OFFSET(struct get_timer_info_reply
, when
) == 8 );
1318 C_ASSERT( FIELD_OFFSET(struct get_timer_info_reply
, signaled
) == 16 );
1319 C_ASSERT( sizeof(struct get_timer_info_reply
) == 24 );
1320 C_ASSERT( FIELD_OFFSET(struct get_thread_context_request
, handle
) == 12 );
1321 C_ASSERT( FIELD_OFFSET(struct get_thread_context_request
, context
) == 16 );
1322 C_ASSERT( FIELD_OFFSET(struct get_thread_context_request
, flags
) == 20 );
1323 C_ASSERT( FIELD_OFFSET(struct get_thread_context_request
, native_flags
) == 24 );
1324 C_ASSERT( FIELD_OFFSET(struct get_thread_context_request
, machine
) == 28 );
1325 C_ASSERT( sizeof(struct get_thread_context_request
) == 32 );
1326 C_ASSERT( FIELD_OFFSET(struct get_thread_context_reply
, self
) == 8 );
1327 C_ASSERT( FIELD_OFFSET(struct get_thread_context_reply
, handle
) == 12 );
1328 C_ASSERT( sizeof(struct get_thread_context_reply
) == 16 );
1329 C_ASSERT( FIELD_OFFSET(struct set_thread_context_request
, handle
) == 12 );
1330 C_ASSERT( FIELD_OFFSET(struct set_thread_context_request
, native_flags
) == 16 );
1331 C_ASSERT( sizeof(struct set_thread_context_request
) == 24 );
1332 C_ASSERT( FIELD_OFFSET(struct set_thread_context_reply
, self
) == 8 );
1333 C_ASSERT( sizeof(struct set_thread_context_reply
) == 16 );
1334 C_ASSERT( FIELD_OFFSET(struct get_selector_entry_request
, handle
) == 12 );
1335 C_ASSERT( FIELD_OFFSET(struct get_selector_entry_request
, entry
) == 16 );
1336 C_ASSERT( sizeof(struct get_selector_entry_request
) == 24 );
1337 C_ASSERT( FIELD_OFFSET(struct get_selector_entry_reply
, base
) == 8 );
1338 C_ASSERT( FIELD_OFFSET(struct get_selector_entry_reply
, limit
) == 12 );
1339 C_ASSERT( FIELD_OFFSET(struct get_selector_entry_reply
, flags
) == 16 );
1340 C_ASSERT( sizeof(struct get_selector_entry_reply
) == 24 );
1341 C_ASSERT( sizeof(struct add_atom_request
) == 16 );
1342 C_ASSERT( FIELD_OFFSET(struct add_atom_reply
, atom
) == 8 );
1343 C_ASSERT( sizeof(struct add_atom_reply
) == 16 );
1344 C_ASSERT( FIELD_OFFSET(struct delete_atom_request
, atom
) == 12 );
1345 C_ASSERT( sizeof(struct delete_atom_request
) == 16 );
1346 C_ASSERT( sizeof(struct find_atom_request
) == 16 );
1347 C_ASSERT( FIELD_OFFSET(struct find_atom_reply
, atom
) == 8 );
1348 C_ASSERT( sizeof(struct find_atom_reply
) == 16 );
1349 C_ASSERT( FIELD_OFFSET(struct get_atom_information_request
, atom
) == 12 );
1350 C_ASSERT( sizeof(struct get_atom_information_request
) == 16 );
1351 C_ASSERT( FIELD_OFFSET(struct get_atom_information_reply
, count
) == 8 );
1352 C_ASSERT( FIELD_OFFSET(struct get_atom_information_reply
, pinned
) == 12 );
1353 C_ASSERT( FIELD_OFFSET(struct get_atom_information_reply
, total
) == 16 );
1354 C_ASSERT( sizeof(struct get_atom_information_reply
) == 24 );
1355 C_ASSERT( sizeof(struct get_msg_queue_request
) == 16 );
1356 C_ASSERT( FIELD_OFFSET(struct get_msg_queue_reply
, handle
) == 8 );
1357 C_ASSERT( sizeof(struct get_msg_queue_reply
) == 16 );
1358 C_ASSERT( FIELD_OFFSET(struct set_queue_fd_request
, handle
) == 12 );
1359 C_ASSERT( sizeof(struct set_queue_fd_request
) == 16 );
1360 C_ASSERT( FIELD_OFFSET(struct set_queue_mask_request
, wake_mask
) == 12 );
1361 C_ASSERT( FIELD_OFFSET(struct set_queue_mask_request
, changed_mask
) == 16 );
1362 C_ASSERT( FIELD_OFFSET(struct set_queue_mask_request
, skip_wait
) == 20 );
1363 C_ASSERT( sizeof(struct set_queue_mask_request
) == 24 );
1364 C_ASSERT( FIELD_OFFSET(struct set_queue_mask_reply
, wake_bits
) == 8 );
1365 C_ASSERT( FIELD_OFFSET(struct set_queue_mask_reply
, changed_bits
) == 12 );
1366 C_ASSERT( sizeof(struct set_queue_mask_reply
) == 16 );
1367 C_ASSERT( FIELD_OFFSET(struct get_queue_status_request
, clear_bits
) == 12 );
1368 C_ASSERT( sizeof(struct get_queue_status_request
) == 16 );
1369 C_ASSERT( FIELD_OFFSET(struct get_queue_status_reply
, wake_bits
) == 8 );
1370 C_ASSERT( FIELD_OFFSET(struct get_queue_status_reply
, changed_bits
) == 12 );
1371 C_ASSERT( sizeof(struct get_queue_status_reply
) == 16 );
1372 C_ASSERT( FIELD_OFFSET(struct get_process_idle_event_request
, handle
) == 12 );
1373 C_ASSERT( sizeof(struct get_process_idle_event_request
) == 16 );
1374 C_ASSERT( FIELD_OFFSET(struct get_process_idle_event_reply
, event
) == 8 );
1375 C_ASSERT( sizeof(struct get_process_idle_event_reply
) == 16 );
1376 C_ASSERT( FIELD_OFFSET(struct send_message_request
, id
) == 12 );
1377 C_ASSERT( FIELD_OFFSET(struct send_message_request
, type
) == 16 );
1378 C_ASSERT( FIELD_OFFSET(struct send_message_request
, flags
) == 20 );
1379 C_ASSERT( FIELD_OFFSET(struct send_message_request
, win
) == 24 );
1380 C_ASSERT( FIELD_OFFSET(struct send_message_request
, msg
) == 28 );
1381 C_ASSERT( FIELD_OFFSET(struct send_message_request
, wparam
) == 32 );
1382 C_ASSERT( FIELD_OFFSET(struct send_message_request
, lparam
) == 40 );
1383 C_ASSERT( FIELD_OFFSET(struct send_message_request
, timeout
) == 48 );
1384 C_ASSERT( sizeof(struct send_message_request
) == 56 );
1385 C_ASSERT( FIELD_OFFSET(struct post_quit_message_request
, exit_code
) == 12 );
1386 C_ASSERT( sizeof(struct post_quit_message_request
) == 16 );
1387 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request
, win
) == 12 );
1388 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request
, input
) == 16 );
1389 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_request
, flags
) == 56 );
1390 C_ASSERT( sizeof(struct send_hardware_message_request
) == 64 );
1391 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply
, wait
) == 8 );
1392 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply
, prev_x
) == 12 );
1393 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply
, prev_y
) == 16 );
1394 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply
, new_x
) == 20 );
1395 C_ASSERT( FIELD_OFFSET(struct send_hardware_message_reply
, new_y
) == 24 );
1396 C_ASSERT( sizeof(struct send_hardware_message_reply
) == 32 );
1397 C_ASSERT( FIELD_OFFSET(struct get_message_request
, flags
) == 12 );
1398 C_ASSERT( FIELD_OFFSET(struct get_message_request
, get_win
) == 16 );
1399 C_ASSERT( FIELD_OFFSET(struct get_message_request
, get_first
) == 20 );
1400 C_ASSERT( FIELD_OFFSET(struct get_message_request
, get_last
) == 24 );
1401 C_ASSERT( FIELD_OFFSET(struct get_message_request
, hw_id
) == 28 );
1402 C_ASSERT( FIELD_OFFSET(struct get_message_request
, wake_mask
) == 32 );
1403 C_ASSERT( FIELD_OFFSET(struct get_message_request
, changed_mask
) == 36 );
1404 C_ASSERT( sizeof(struct get_message_request
) == 40 );
1405 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, win
) == 8 );
1406 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, msg
) == 12 );
1407 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, wparam
) == 16 );
1408 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, lparam
) == 24 );
1409 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, type
) == 32 );
1410 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, x
) == 36 );
1411 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, y
) == 40 );
1412 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, time
) == 44 );
1413 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, active_hooks
) == 48 );
1414 C_ASSERT( FIELD_OFFSET(struct get_message_reply
, total
) == 52 );
1415 C_ASSERT( sizeof(struct get_message_reply
) == 56 );
1416 C_ASSERT( FIELD_OFFSET(struct reply_message_request
, remove
) == 12 );
1417 C_ASSERT( FIELD_OFFSET(struct reply_message_request
, result
) == 16 );
1418 C_ASSERT( sizeof(struct reply_message_request
) == 24 );
1419 C_ASSERT( FIELD_OFFSET(struct accept_hardware_message_request
, hw_id
) == 12 );
1420 C_ASSERT( sizeof(struct accept_hardware_message_request
) == 16 );
1421 C_ASSERT( FIELD_OFFSET(struct get_message_reply_request
, cancel
) == 12 );
1422 C_ASSERT( sizeof(struct get_message_reply_request
) == 16 );
1423 C_ASSERT( FIELD_OFFSET(struct get_message_reply_reply
, result
) == 8 );
1424 C_ASSERT( sizeof(struct get_message_reply_reply
) == 16 );
1425 C_ASSERT( FIELD_OFFSET(struct set_win_timer_request
, win
) == 12 );
1426 C_ASSERT( FIELD_OFFSET(struct set_win_timer_request
, msg
) == 16 );
1427 C_ASSERT( FIELD_OFFSET(struct set_win_timer_request
, rate
) == 20 );
1428 C_ASSERT( FIELD_OFFSET(struct set_win_timer_request
, id
) == 24 );
1429 C_ASSERT( FIELD_OFFSET(struct set_win_timer_request
, lparam
) == 32 );
1430 C_ASSERT( sizeof(struct set_win_timer_request
) == 40 );
1431 C_ASSERT( FIELD_OFFSET(struct set_win_timer_reply
, id
) == 8 );
1432 C_ASSERT( sizeof(struct set_win_timer_reply
) == 16 );
1433 C_ASSERT( FIELD_OFFSET(struct kill_win_timer_request
, win
) == 12 );
1434 C_ASSERT( FIELD_OFFSET(struct kill_win_timer_request
, id
) == 16 );
1435 C_ASSERT( FIELD_OFFSET(struct kill_win_timer_request
, msg
) == 24 );
1436 C_ASSERT( sizeof(struct kill_win_timer_request
) == 32 );
1437 C_ASSERT( FIELD_OFFSET(struct is_window_hung_request
, win
) == 12 );
1438 C_ASSERT( sizeof(struct is_window_hung_request
) == 16 );
1439 C_ASSERT( FIELD_OFFSET(struct is_window_hung_reply
, is_hung
) == 8 );
1440 C_ASSERT( sizeof(struct is_window_hung_reply
) == 16 );
1441 C_ASSERT( FIELD_OFFSET(struct get_serial_info_request
, handle
) == 12 );
1442 C_ASSERT( FIELD_OFFSET(struct get_serial_info_request
, flags
) == 16 );
1443 C_ASSERT( sizeof(struct get_serial_info_request
) == 24 );
1444 C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply
, eventmask
) == 8 );
1445 C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply
, cookie
) == 12 );
1446 C_ASSERT( FIELD_OFFSET(struct get_serial_info_reply
, pending_write
) == 16 );
1447 C_ASSERT( sizeof(struct get_serial_info_reply
) == 24 );
1448 C_ASSERT( FIELD_OFFSET(struct set_serial_info_request
, handle
) == 12 );
1449 C_ASSERT( FIELD_OFFSET(struct set_serial_info_request
, flags
) == 16 );
1450 C_ASSERT( sizeof(struct set_serial_info_request
) == 24 );
1451 C_ASSERT( FIELD_OFFSET(struct cancel_sync_request
, handle
) == 12 );
1452 C_ASSERT( FIELD_OFFSET(struct cancel_sync_request
, iosb
) == 16 );
1453 C_ASSERT( sizeof(struct cancel_sync_request
) == 24 );
1454 C_ASSERT( FIELD_OFFSET(struct register_async_request
, type
) == 12 );
1455 C_ASSERT( FIELD_OFFSET(struct register_async_request
, async
) == 16 );
1456 C_ASSERT( FIELD_OFFSET(struct register_async_request
, count
) == 56 );
1457 C_ASSERT( sizeof(struct register_async_request
) == 64 );
1458 C_ASSERT( FIELD_OFFSET(struct cancel_async_request
, handle
) == 12 );
1459 C_ASSERT( FIELD_OFFSET(struct cancel_async_request
, iosb
) == 16 );
1460 C_ASSERT( FIELD_OFFSET(struct cancel_async_request
, only_thread
) == 24 );
1461 C_ASSERT( sizeof(struct cancel_async_request
) == 32 );
1462 C_ASSERT( FIELD_OFFSET(struct get_async_result_request
, user_arg
) == 16 );
1463 C_ASSERT( sizeof(struct get_async_result_request
) == 24 );
1464 C_ASSERT( sizeof(struct get_async_result_reply
) == 8 );
1465 C_ASSERT( FIELD_OFFSET(struct set_async_direct_result_request
, handle
) == 12 );
1466 C_ASSERT( FIELD_OFFSET(struct set_async_direct_result_request
, information
) == 16 );
1467 C_ASSERT( FIELD_OFFSET(struct set_async_direct_result_request
, status
) == 24 );
1468 C_ASSERT( FIELD_OFFSET(struct set_async_direct_result_request
, mark_pending
) == 28 );
1469 C_ASSERT( sizeof(struct set_async_direct_result_request
) == 32 );
1470 C_ASSERT( FIELD_OFFSET(struct set_async_direct_result_reply
, handle
) == 8 );
1471 C_ASSERT( sizeof(struct set_async_direct_result_reply
) == 16 );
1472 C_ASSERT( FIELD_OFFSET(struct read_request
, async
) == 16 );
1473 C_ASSERT( FIELD_OFFSET(struct read_request
, pos
) == 56 );
1474 C_ASSERT( sizeof(struct read_request
) == 64 );
1475 C_ASSERT( FIELD_OFFSET(struct read_reply
, wait
) == 8 );
1476 C_ASSERT( FIELD_OFFSET(struct read_reply
, options
) == 12 );
1477 C_ASSERT( sizeof(struct read_reply
) == 16 );
1478 C_ASSERT( FIELD_OFFSET(struct write_request
, async
) == 16 );
1479 C_ASSERT( FIELD_OFFSET(struct write_request
, pos
) == 56 );
1480 C_ASSERT( sizeof(struct write_request
) == 64 );
1481 C_ASSERT( FIELD_OFFSET(struct write_reply
, wait
) == 8 );
1482 C_ASSERT( FIELD_OFFSET(struct write_reply
, options
) == 12 );
1483 C_ASSERT( FIELD_OFFSET(struct write_reply
, size
) == 16 );
1484 C_ASSERT( sizeof(struct write_reply
) == 24 );
1485 C_ASSERT( FIELD_OFFSET(struct ioctl_request
, code
) == 12 );
1486 C_ASSERT( FIELD_OFFSET(struct ioctl_request
, async
) == 16 );
1487 C_ASSERT( sizeof(struct ioctl_request
) == 56 );
1488 C_ASSERT( FIELD_OFFSET(struct ioctl_reply
, wait
) == 8 );
1489 C_ASSERT( FIELD_OFFSET(struct ioctl_reply
, options
) == 12 );
1490 C_ASSERT( sizeof(struct ioctl_reply
) == 16 );
1491 C_ASSERT( FIELD_OFFSET(struct set_irp_result_request
, handle
) == 12 );
1492 C_ASSERT( FIELD_OFFSET(struct set_irp_result_request
, status
) == 16 );
1493 C_ASSERT( FIELD_OFFSET(struct set_irp_result_request
, size
) == 20 );
1494 C_ASSERT( sizeof(struct set_irp_result_request
) == 24 );
1495 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, access
) == 12 );
1496 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, options
) == 16 );
1497 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, sharing
) == 20 );
1498 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, disposition
) == 24 );
1499 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, maxinstances
) == 28 );
1500 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, outsize
) == 32 );
1501 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, insize
) == 36 );
1502 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, timeout
) == 40 );
1503 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_request
, flags
) == 48 );
1504 C_ASSERT( sizeof(struct create_named_pipe_request
) == 56 );
1505 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_reply
, handle
) == 8 );
1506 C_ASSERT( FIELD_OFFSET(struct create_named_pipe_reply
, created
) == 12 );
1507 C_ASSERT( sizeof(struct create_named_pipe_reply
) == 16 );
1508 C_ASSERT( FIELD_OFFSET(struct set_named_pipe_info_request
, handle
) == 12 );
1509 C_ASSERT( FIELD_OFFSET(struct set_named_pipe_info_request
, flags
) == 16 );
1510 C_ASSERT( sizeof(struct set_named_pipe_info_request
) == 24 );
1511 C_ASSERT( FIELD_OFFSET(struct create_window_request
, parent
) == 12 );
1512 C_ASSERT( FIELD_OFFSET(struct create_window_request
, owner
) == 16 );
1513 C_ASSERT( FIELD_OFFSET(struct create_window_request
, atom
) == 20 );
1514 C_ASSERT( FIELD_OFFSET(struct create_window_request
, instance
) == 24 );
1515 C_ASSERT( FIELD_OFFSET(struct create_window_request
, dpi
) == 32 );
1516 C_ASSERT( FIELD_OFFSET(struct create_window_request
, awareness
) == 36 );
1517 C_ASSERT( FIELD_OFFSET(struct create_window_request
, style
) == 40 );
1518 C_ASSERT( FIELD_OFFSET(struct create_window_request
, ex_style
) == 44 );
1519 C_ASSERT( sizeof(struct create_window_request
) == 48 );
1520 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, handle
) == 8 );
1521 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, parent
) == 12 );
1522 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, owner
) == 16 );
1523 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, extra
) == 20 );
1524 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, class_ptr
) == 24 );
1525 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, dpi
) == 32 );
1526 C_ASSERT( FIELD_OFFSET(struct create_window_reply
, awareness
) == 36 );
1527 C_ASSERT( sizeof(struct create_window_reply
) == 40 );
1528 C_ASSERT( FIELD_OFFSET(struct destroy_window_request
, handle
) == 12 );
1529 C_ASSERT( sizeof(struct destroy_window_request
) == 16 );
1530 C_ASSERT( FIELD_OFFSET(struct get_desktop_window_request
, force
) == 12 );
1531 C_ASSERT( sizeof(struct get_desktop_window_request
) == 16 );
1532 C_ASSERT( FIELD_OFFSET(struct get_desktop_window_reply
, top_window
) == 8 );
1533 C_ASSERT( FIELD_OFFSET(struct get_desktop_window_reply
, msg_window
) == 12 );
1534 C_ASSERT( sizeof(struct get_desktop_window_reply
) == 16 );
1535 C_ASSERT( FIELD_OFFSET(struct set_window_owner_request
, handle
) == 12 );
1536 C_ASSERT( FIELD_OFFSET(struct set_window_owner_request
, owner
) == 16 );
1537 C_ASSERT( sizeof(struct set_window_owner_request
) == 24 );
1538 C_ASSERT( FIELD_OFFSET(struct set_window_owner_reply
, full_owner
) == 8 );
1539 C_ASSERT( FIELD_OFFSET(struct set_window_owner_reply
, prev_owner
) == 12 );
1540 C_ASSERT( sizeof(struct set_window_owner_reply
) == 16 );
1541 C_ASSERT( FIELD_OFFSET(struct get_window_info_request
, handle
) == 12 );
1542 C_ASSERT( sizeof(struct get_window_info_request
) == 16 );
1543 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, full_handle
) == 8 );
1544 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, last_active
) == 12 );
1545 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, pid
) == 16 );
1546 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, tid
) == 20 );
1547 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, atom
) == 24 );
1548 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, is_unicode
) == 28 );
1549 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, dpi
) == 32 );
1550 C_ASSERT( FIELD_OFFSET(struct get_window_info_reply
, awareness
) == 36 );
1551 C_ASSERT( sizeof(struct get_window_info_reply
) == 40 );
1552 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, flags
) == 12 );
1553 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, is_unicode
) == 14 );
1554 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, handle
) == 16 );
1555 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, style
) == 20 );
1556 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, ex_style
) == 24 );
1557 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, extra_size
) == 28 );
1558 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, instance
) == 32 );
1559 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, user_data
) == 40 );
1560 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, extra_value
) == 48 );
1561 C_ASSERT( FIELD_OFFSET(struct set_window_info_request
, extra_offset
) == 56 );
1562 C_ASSERT( sizeof(struct set_window_info_request
) == 64 );
1563 C_ASSERT( FIELD_OFFSET(struct set_window_info_reply
, old_style
) == 8 );
1564 C_ASSERT( FIELD_OFFSET(struct set_window_info_reply
, old_ex_style
) == 12 );
1565 C_ASSERT( FIELD_OFFSET(struct set_window_info_reply
, old_instance
) == 16 );
1566 C_ASSERT( FIELD_OFFSET(struct set_window_info_reply
, old_user_data
) == 24 );
1567 C_ASSERT( FIELD_OFFSET(struct set_window_info_reply
, old_extra_value
) == 32 );
1568 C_ASSERT( FIELD_OFFSET(struct set_window_info_reply
, old_id
) == 40 );
1569 C_ASSERT( sizeof(struct set_window_info_reply
) == 48 );
1570 C_ASSERT( FIELD_OFFSET(struct set_parent_request
, handle
) == 12 );
1571 C_ASSERT( FIELD_OFFSET(struct set_parent_request
, parent
) == 16 );
1572 C_ASSERT( sizeof(struct set_parent_request
) == 24 );
1573 C_ASSERT( FIELD_OFFSET(struct set_parent_reply
, old_parent
) == 8 );
1574 C_ASSERT( FIELD_OFFSET(struct set_parent_reply
, full_parent
) == 12 );
1575 C_ASSERT( FIELD_OFFSET(struct set_parent_reply
, dpi
) == 16 );
1576 C_ASSERT( FIELD_OFFSET(struct set_parent_reply
, awareness
) == 20 );
1577 C_ASSERT( sizeof(struct set_parent_reply
) == 24 );
1578 C_ASSERT( FIELD_OFFSET(struct get_window_parents_request
, handle
) == 12 );
1579 C_ASSERT( sizeof(struct get_window_parents_request
) == 16 );
1580 C_ASSERT( FIELD_OFFSET(struct get_window_parents_reply
, count
) == 8 );
1581 C_ASSERT( sizeof(struct get_window_parents_reply
) == 16 );
1582 C_ASSERT( FIELD_OFFSET(struct get_window_children_request
, desktop
) == 12 );
1583 C_ASSERT( FIELD_OFFSET(struct get_window_children_request
, parent
) == 16 );
1584 C_ASSERT( FIELD_OFFSET(struct get_window_children_request
, atom
) == 20 );
1585 C_ASSERT( FIELD_OFFSET(struct get_window_children_request
, tid
) == 24 );
1586 C_ASSERT( sizeof(struct get_window_children_request
) == 32 );
1587 C_ASSERT( FIELD_OFFSET(struct get_window_children_reply
, count
) == 8 );
1588 C_ASSERT( sizeof(struct get_window_children_reply
) == 16 );
1589 C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request
, parent
) == 12 );
1590 C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request
, x
) == 16 );
1591 C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request
, y
) == 20 );
1592 C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_request
, dpi
) == 24 );
1593 C_ASSERT( sizeof(struct get_window_children_from_point_request
) == 32 );
1594 C_ASSERT( FIELD_OFFSET(struct get_window_children_from_point_reply
, count
) == 8 );
1595 C_ASSERT( sizeof(struct get_window_children_from_point_reply
) == 16 );
1596 C_ASSERT( FIELD_OFFSET(struct get_window_tree_request
, handle
) == 12 );
1597 C_ASSERT( sizeof(struct get_window_tree_request
) == 16 );
1598 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, parent
) == 8 );
1599 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, owner
) == 12 );
1600 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, next_sibling
) == 16 );
1601 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, prev_sibling
) == 20 );
1602 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, first_sibling
) == 24 );
1603 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, last_sibling
) == 28 );
1604 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, first_child
) == 32 );
1605 C_ASSERT( FIELD_OFFSET(struct get_window_tree_reply
, last_child
) == 36 );
1606 C_ASSERT( sizeof(struct get_window_tree_reply
) == 40 );
1607 C_ASSERT( FIELD_OFFSET(struct set_window_pos_request
, swp_flags
) == 12 );
1608 C_ASSERT( FIELD_OFFSET(struct set_window_pos_request
, paint_flags
) == 14 );
1609 C_ASSERT( FIELD_OFFSET(struct set_window_pos_request
, handle
) == 16 );
1610 C_ASSERT( FIELD_OFFSET(struct set_window_pos_request
, previous
) == 20 );
1611 C_ASSERT( FIELD_OFFSET(struct set_window_pos_request
, window
) == 24 );
1612 C_ASSERT( FIELD_OFFSET(struct set_window_pos_request
, client
) == 40 );
1613 C_ASSERT( sizeof(struct set_window_pos_request
) == 56 );
1614 C_ASSERT( FIELD_OFFSET(struct set_window_pos_reply
, new_style
) == 8 );
1615 C_ASSERT( FIELD_OFFSET(struct set_window_pos_reply
, new_ex_style
) == 12 );
1616 C_ASSERT( FIELD_OFFSET(struct set_window_pos_reply
, surface_win
) == 16 );
1617 C_ASSERT( FIELD_OFFSET(struct set_window_pos_reply
, needs_update
) == 20 );
1618 C_ASSERT( sizeof(struct set_window_pos_reply
) == 24 );
1619 C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_request
, handle
) == 12 );
1620 C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_request
, relative
) == 16 );
1621 C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_request
, dpi
) == 20 );
1622 C_ASSERT( sizeof(struct get_window_rectangles_request
) == 24 );
1623 C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_reply
, window
) == 8 );
1624 C_ASSERT( FIELD_OFFSET(struct get_window_rectangles_reply
, client
) == 24 );
1625 C_ASSERT( sizeof(struct get_window_rectangles_reply
) == 40 );
1626 C_ASSERT( FIELD_OFFSET(struct get_window_text_request
, handle
) == 12 );
1627 C_ASSERT( sizeof(struct get_window_text_request
) == 16 );
1628 C_ASSERT( FIELD_OFFSET(struct get_window_text_reply
, length
) == 8 );
1629 C_ASSERT( sizeof(struct get_window_text_reply
) == 16 );
1630 C_ASSERT( FIELD_OFFSET(struct set_window_text_request
, handle
) == 12 );
1631 C_ASSERT( sizeof(struct set_window_text_request
) == 16 );
1632 C_ASSERT( FIELD_OFFSET(struct get_windows_offset_request
, from
) == 12 );
1633 C_ASSERT( FIELD_OFFSET(struct get_windows_offset_request
, to
) == 16 );
1634 C_ASSERT( FIELD_OFFSET(struct get_windows_offset_request
, dpi
) == 20 );
1635 C_ASSERT( sizeof(struct get_windows_offset_request
) == 24 );
1636 C_ASSERT( FIELD_OFFSET(struct get_windows_offset_reply
, x
) == 8 );
1637 C_ASSERT( FIELD_OFFSET(struct get_windows_offset_reply
, y
) == 12 );
1638 C_ASSERT( FIELD_OFFSET(struct get_windows_offset_reply
, mirror
) == 16 );
1639 C_ASSERT( sizeof(struct get_windows_offset_reply
) == 24 );
1640 C_ASSERT( FIELD_OFFSET(struct get_visible_region_request
, window
) == 12 );
1641 C_ASSERT( FIELD_OFFSET(struct get_visible_region_request
, flags
) == 16 );
1642 C_ASSERT( sizeof(struct get_visible_region_request
) == 24 );
1643 C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply
, top_win
) == 8 );
1644 C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply
, top_rect
) == 12 );
1645 C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply
, win_rect
) == 28 );
1646 C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply
, paint_flags
) == 44 );
1647 C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply
, total_size
) == 48 );
1648 C_ASSERT( sizeof(struct get_visible_region_reply
) == 56 );
1649 C_ASSERT( FIELD_OFFSET(struct get_surface_region_request
, window
) == 12 );
1650 C_ASSERT( sizeof(struct get_surface_region_request
) == 16 );
1651 C_ASSERT( FIELD_OFFSET(struct get_surface_region_reply
, visible_rect
) == 8 );
1652 C_ASSERT( FIELD_OFFSET(struct get_surface_region_reply
, total_size
) == 24 );
1653 C_ASSERT( sizeof(struct get_surface_region_reply
) == 32 );
1654 C_ASSERT( FIELD_OFFSET(struct get_window_region_request
, window
) == 12 );
1655 C_ASSERT( sizeof(struct get_window_region_request
) == 16 );
1656 C_ASSERT( FIELD_OFFSET(struct get_window_region_reply
, total_size
) == 8 );
1657 C_ASSERT( sizeof(struct get_window_region_reply
) == 16 );
1658 C_ASSERT( FIELD_OFFSET(struct set_window_region_request
, window
) == 12 );
1659 C_ASSERT( FIELD_OFFSET(struct set_window_region_request
, redraw
) == 16 );
1660 C_ASSERT( sizeof(struct set_window_region_request
) == 24 );
1661 C_ASSERT( FIELD_OFFSET(struct get_update_region_request
, window
) == 12 );
1662 C_ASSERT( FIELD_OFFSET(struct get_update_region_request
, from_child
) == 16 );
1663 C_ASSERT( FIELD_OFFSET(struct get_update_region_request
, flags
) == 20 );
1664 C_ASSERT( sizeof(struct get_update_region_request
) == 24 );
1665 C_ASSERT( FIELD_OFFSET(struct get_update_region_reply
, child
) == 8 );
1666 C_ASSERT( FIELD_OFFSET(struct get_update_region_reply
, flags
) == 12 );
1667 C_ASSERT( FIELD_OFFSET(struct get_update_region_reply
, total_size
) == 16 );
1668 C_ASSERT( sizeof(struct get_update_region_reply
) == 24 );
1669 C_ASSERT( FIELD_OFFSET(struct update_window_zorder_request
, window
) == 12 );
1670 C_ASSERT( FIELD_OFFSET(struct update_window_zorder_request
, rect
) == 16 );
1671 C_ASSERT( sizeof(struct update_window_zorder_request
) == 32 );
1672 C_ASSERT( FIELD_OFFSET(struct redraw_window_request
, window
) == 12 );
1673 C_ASSERT( FIELD_OFFSET(struct redraw_window_request
, flags
) == 16 );
1674 C_ASSERT( sizeof(struct redraw_window_request
) == 24 );
1675 C_ASSERT( FIELD_OFFSET(struct set_window_property_request
, window
) == 12 );
1676 C_ASSERT( FIELD_OFFSET(struct set_window_property_request
, data
) == 16 );
1677 C_ASSERT( FIELD_OFFSET(struct set_window_property_request
, atom
) == 24 );
1678 C_ASSERT( sizeof(struct set_window_property_request
) == 32 );
1679 C_ASSERT( FIELD_OFFSET(struct remove_window_property_request
, window
) == 12 );
1680 C_ASSERT( FIELD_OFFSET(struct remove_window_property_request
, atom
) == 16 );
1681 C_ASSERT( sizeof(struct remove_window_property_request
) == 24 );
1682 C_ASSERT( FIELD_OFFSET(struct remove_window_property_reply
, data
) == 8 );
1683 C_ASSERT( sizeof(struct remove_window_property_reply
) == 16 );
1684 C_ASSERT( FIELD_OFFSET(struct get_window_property_request
, window
) == 12 );
1685 C_ASSERT( FIELD_OFFSET(struct get_window_property_request
, atom
) == 16 );
1686 C_ASSERT( sizeof(struct get_window_property_request
) == 24 );
1687 C_ASSERT( FIELD_OFFSET(struct get_window_property_reply
, data
) == 8 );
1688 C_ASSERT( sizeof(struct get_window_property_reply
) == 16 );
1689 C_ASSERT( FIELD_OFFSET(struct get_window_properties_request
, window
) == 12 );
1690 C_ASSERT( sizeof(struct get_window_properties_request
) == 16 );
1691 C_ASSERT( FIELD_OFFSET(struct get_window_properties_reply
, total
) == 8 );
1692 C_ASSERT( sizeof(struct get_window_properties_reply
) == 16 );
1693 C_ASSERT( FIELD_OFFSET(struct create_winstation_request
, flags
) == 12 );
1694 C_ASSERT( FIELD_OFFSET(struct create_winstation_request
, access
) == 16 );
1695 C_ASSERT( FIELD_OFFSET(struct create_winstation_request
, attributes
) == 20 );
1696 C_ASSERT( FIELD_OFFSET(struct create_winstation_request
, rootdir
) == 24 );
1697 C_ASSERT( sizeof(struct create_winstation_request
) == 32 );
1698 C_ASSERT( FIELD_OFFSET(struct create_winstation_reply
, handle
) == 8 );
1699 C_ASSERT( sizeof(struct create_winstation_reply
) == 16 );
1700 C_ASSERT( FIELD_OFFSET(struct open_winstation_request
, access
) == 12 );
1701 C_ASSERT( FIELD_OFFSET(struct open_winstation_request
, attributes
) == 16 );
1702 C_ASSERT( FIELD_OFFSET(struct open_winstation_request
, rootdir
) == 20 );
1703 C_ASSERT( sizeof(struct open_winstation_request
) == 24 );
1704 C_ASSERT( FIELD_OFFSET(struct open_winstation_reply
, handle
) == 8 );
1705 C_ASSERT( sizeof(struct open_winstation_reply
) == 16 );
1706 C_ASSERT( FIELD_OFFSET(struct close_winstation_request
, handle
) == 12 );
1707 C_ASSERT( sizeof(struct close_winstation_request
) == 16 );
1708 C_ASSERT( sizeof(struct get_process_winstation_request
) == 16 );
1709 C_ASSERT( FIELD_OFFSET(struct get_process_winstation_reply
, handle
) == 8 );
1710 C_ASSERT( sizeof(struct get_process_winstation_reply
) == 16 );
1711 C_ASSERT( FIELD_OFFSET(struct set_process_winstation_request
, handle
) == 12 );
1712 C_ASSERT( sizeof(struct set_process_winstation_request
) == 16 );
1713 C_ASSERT( FIELD_OFFSET(struct enum_winstation_request
, index
) == 12 );
1714 C_ASSERT( sizeof(struct enum_winstation_request
) == 16 );
1715 C_ASSERT( FIELD_OFFSET(struct enum_winstation_reply
, next
) == 8 );
1716 C_ASSERT( sizeof(struct enum_winstation_reply
) == 16 );
1717 C_ASSERT( FIELD_OFFSET(struct create_desktop_request
, flags
) == 12 );
1718 C_ASSERT( FIELD_OFFSET(struct create_desktop_request
, access
) == 16 );
1719 C_ASSERT( FIELD_OFFSET(struct create_desktop_request
, attributes
) == 20 );
1720 C_ASSERT( sizeof(struct create_desktop_request
) == 24 );
1721 C_ASSERT( FIELD_OFFSET(struct create_desktop_reply
, handle
) == 8 );
1722 C_ASSERT( sizeof(struct create_desktop_reply
) == 16 );
1723 C_ASSERT( FIELD_OFFSET(struct open_desktop_request
, winsta
) == 12 );
1724 C_ASSERT( FIELD_OFFSET(struct open_desktop_request
, flags
) == 16 );
1725 C_ASSERT( FIELD_OFFSET(struct open_desktop_request
, access
) == 20 );
1726 C_ASSERT( FIELD_OFFSET(struct open_desktop_request
, attributes
) == 24 );
1727 C_ASSERT( sizeof(struct open_desktop_request
) == 32 );
1728 C_ASSERT( FIELD_OFFSET(struct open_desktop_reply
, handle
) == 8 );
1729 C_ASSERT( sizeof(struct open_desktop_reply
) == 16 );
1730 C_ASSERT( FIELD_OFFSET(struct open_input_desktop_request
, flags
) == 12 );
1731 C_ASSERT( FIELD_OFFSET(struct open_input_desktop_request
, access
) == 16 );
1732 C_ASSERT( FIELD_OFFSET(struct open_input_desktop_request
, attributes
) == 20 );
1733 C_ASSERT( sizeof(struct open_input_desktop_request
) == 24 );
1734 C_ASSERT( FIELD_OFFSET(struct open_input_desktop_reply
, handle
) == 8 );
1735 C_ASSERT( sizeof(struct open_input_desktop_reply
) == 16 );
1736 C_ASSERT( FIELD_OFFSET(struct close_desktop_request
, handle
) == 12 );
1737 C_ASSERT( sizeof(struct close_desktop_request
) == 16 );
1738 C_ASSERT( FIELD_OFFSET(struct get_thread_desktop_request
, tid
) == 12 );
1739 C_ASSERT( sizeof(struct get_thread_desktop_request
) == 16 );
1740 C_ASSERT( FIELD_OFFSET(struct get_thread_desktop_reply
, handle
) == 8 );
1741 C_ASSERT( sizeof(struct get_thread_desktop_reply
) == 16 );
1742 C_ASSERT( FIELD_OFFSET(struct set_thread_desktop_request
, handle
) == 12 );
1743 C_ASSERT( sizeof(struct set_thread_desktop_request
) == 16 );
1744 C_ASSERT( FIELD_OFFSET(struct enum_desktop_request
, winstation
) == 12 );
1745 C_ASSERT( FIELD_OFFSET(struct enum_desktop_request
, index
) == 16 );
1746 C_ASSERT( sizeof(struct enum_desktop_request
) == 24 );
1747 C_ASSERT( FIELD_OFFSET(struct enum_desktop_reply
, next
) == 8 );
1748 C_ASSERT( sizeof(struct enum_desktop_reply
) == 16 );
1749 C_ASSERT( FIELD_OFFSET(struct set_user_object_info_request
, handle
) == 12 );
1750 C_ASSERT( FIELD_OFFSET(struct set_user_object_info_request
, flags
) == 16 );
1751 C_ASSERT( FIELD_OFFSET(struct set_user_object_info_request
, obj_flags
) == 20 );
1752 C_ASSERT( sizeof(struct set_user_object_info_request
) == 24 );
1753 C_ASSERT( FIELD_OFFSET(struct set_user_object_info_reply
, is_desktop
) == 8 );
1754 C_ASSERT( FIELD_OFFSET(struct set_user_object_info_reply
, old_obj_flags
) == 12 );
1755 C_ASSERT( sizeof(struct set_user_object_info_reply
) == 16 );
1756 C_ASSERT( FIELD_OFFSET(struct register_hotkey_request
, window
) == 12 );
1757 C_ASSERT( FIELD_OFFSET(struct register_hotkey_request
, id
) == 16 );
1758 C_ASSERT( FIELD_OFFSET(struct register_hotkey_request
, flags
) == 20 );
1759 C_ASSERT( FIELD_OFFSET(struct register_hotkey_request
, vkey
) == 24 );
1760 C_ASSERT( sizeof(struct register_hotkey_request
) == 32 );
1761 C_ASSERT( FIELD_OFFSET(struct register_hotkey_reply
, replaced
) == 8 );
1762 C_ASSERT( FIELD_OFFSET(struct register_hotkey_reply
, flags
) == 12 );
1763 C_ASSERT( FIELD_OFFSET(struct register_hotkey_reply
, vkey
) == 16 );
1764 C_ASSERT( sizeof(struct register_hotkey_reply
) == 24 );
1765 C_ASSERT( FIELD_OFFSET(struct unregister_hotkey_request
, window
) == 12 );
1766 C_ASSERT( FIELD_OFFSET(struct unregister_hotkey_request
, id
) == 16 );
1767 C_ASSERT( sizeof(struct unregister_hotkey_request
) == 24 );
1768 C_ASSERT( FIELD_OFFSET(struct unregister_hotkey_reply
, flags
) == 8 );
1769 C_ASSERT( FIELD_OFFSET(struct unregister_hotkey_reply
, vkey
) == 12 );
1770 C_ASSERT( sizeof(struct unregister_hotkey_reply
) == 16 );
1771 C_ASSERT( FIELD_OFFSET(struct attach_thread_input_request
, tid_from
) == 12 );
1772 C_ASSERT( FIELD_OFFSET(struct attach_thread_input_request
, tid_to
) == 16 );
1773 C_ASSERT( FIELD_OFFSET(struct attach_thread_input_request
, attach
) == 20 );
1774 C_ASSERT( sizeof(struct attach_thread_input_request
) == 24 );
1775 C_ASSERT( FIELD_OFFSET(struct get_thread_input_request
, tid
) == 12 );
1776 C_ASSERT( sizeof(struct get_thread_input_request
) == 16 );
1777 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, focus
) == 8 );
1778 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, capture
) == 12 );
1779 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, active
) == 16 );
1780 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, foreground
) == 20 );
1781 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, menu_owner
) == 24 );
1782 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, move_size
) == 28 );
1783 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, caret
) == 32 );
1784 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, cursor
) == 36 );
1785 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, show_count
) == 40 );
1786 C_ASSERT( FIELD_OFFSET(struct get_thread_input_reply
, rect
) == 44 );
1787 C_ASSERT( sizeof(struct get_thread_input_reply
) == 64 );
1788 C_ASSERT( sizeof(struct get_last_input_time_request
) == 16 );
1789 C_ASSERT( FIELD_OFFSET(struct get_last_input_time_reply
, time
) == 8 );
1790 C_ASSERT( sizeof(struct get_last_input_time_reply
) == 16 );
1791 C_ASSERT( FIELD_OFFSET(struct get_key_state_request
, async
) == 12 );
1792 C_ASSERT( FIELD_OFFSET(struct get_key_state_request
, key
) == 16 );
1793 C_ASSERT( sizeof(struct get_key_state_request
) == 24 );
1794 C_ASSERT( FIELD_OFFSET(struct get_key_state_reply
, state
) == 8 );
1795 C_ASSERT( sizeof(struct get_key_state_reply
) == 16 );
1796 C_ASSERT( FIELD_OFFSET(struct set_key_state_request
, async
) == 12 );
1797 C_ASSERT( sizeof(struct set_key_state_request
) == 16 );
1798 C_ASSERT( FIELD_OFFSET(struct set_foreground_window_request
, handle
) == 12 );
1799 C_ASSERT( sizeof(struct set_foreground_window_request
) == 16 );
1800 C_ASSERT( FIELD_OFFSET(struct set_foreground_window_reply
, previous
) == 8 );
1801 C_ASSERT( FIELD_OFFSET(struct set_foreground_window_reply
, send_msg_old
) == 12 );
1802 C_ASSERT( FIELD_OFFSET(struct set_foreground_window_reply
, send_msg_new
) == 16 );
1803 C_ASSERT( sizeof(struct set_foreground_window_reply
) == 24 );
1804 C_ASSERT( FIELD_OFFSET(struct set_focus_window_request
, handle
) == 12 );
1805 C_ASSERT( sizeof(struct set_focus_window_request
) == 16 );
1806 C_ASSERT( FIELD_OFFSET(struct set_focus_window_reply
, previous
) == 8 );
1807 C_ASSERT( sizeof(struct set_focus_window_reply
) == 16 );
1808 C_ASSERT( FIELD_OFFSET(struct set_active_window_request
, handle
) == 12 );
1809 C_ASSERT( sizeof(struct set_active_window_request
) == 16 );
1810 C_ASSERT( FIELD_OFFSET(struct set_active_window_reply
, previous
) == 8 );
1811 C_ASSERT( sizeof(struct set_active_window_reply
) == 16 );
1812 C_ASSERT( FIELD_OFFSET(struct set_capture_window_request
, handle
) == 12 );
1813 C_ASSERT( FIELD_OFFSET(struct set_capture_window_request
, flags
) == 16 );
1814 C_ASSERT( sizeof(struct set_capture_window_request
) == 24 );
1815 C_ASSERT( FIELD_OFFSET(struct set_capture_window_reply
, previous
) == 8 );
1816 C_ASSERT( FIELD_OFFSET(struct set_capture_window_reply
, full_handle
) == 12 );
1817 C_ASSERT( sizeof(struct set_capture_window_reply
) == 16 );
1818 C_ASSERT( FIELD_OFFSET(struct set_caret_window_request
, handle
) == 12 );
1819 C_ASSERT( FIELD_OFFSET(struct set_caret_window_request
, width
) == 16 );
1820 C_ASSERT( FIELD_OFFSET(struct set_caret_window_request
, height
) == 20 );
1821 C_ASSERT( sizeof(struct set_caret_window_request
) == 24 );
1822 C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply
, previous
) == 8 );
1823 C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply
, old_rect
) == 12 );
1824 C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply
, old_hide
) == 28 );
1825 C_ASSERT( FIELD_OFFSET(struct set_caret_window_reply
, old_state
) == 32 );
1826 C_ASSERT( sizeof(struct set_caret_window_reply
) == 40 );
1827 C_ASSERT( FIELD_OFFSET(struct set_caret_info_request
, flags
) == 12 );
1828 C_ASSERT( FIELD_OFFSET(struct set_caret_info_request
, handle
) == 16 );
1829 C_ASSERT( FIELD_OFFSET(struct set_caret_info_request
, x
) == 20 );
1830 C_ASSERT( FIELD_OFFSET(struct set_caret_info_request
, y
) == 24 );
1831 C_ASSERT( FIELD_OFFSET(struct set_caret_info_request
, hide
) == 28 );
1832 C_ASSERT( FIELD_OFFSET(struct set_caret_info_request
, state
) == 32 );
1833 C_ASSERT( sizeof(struct set_caret_info_request
) == 40 );
1834 C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply
, full_handle
) == 8 );
1835 C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply
, old_rect
) == 12 );
1836 C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply
, old_hide
) == 28 );
1837 C_ASSERT( FIELD_OFFSET(struct set_caret_info_reply
, old_state
) == 32 );
1838 C_ASSERT( sizeof(struct set_caret_info_reply
) == 40 );
1839 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, id
) == 12 );
1840 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, pid
) == 16 );
1841 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, tid
) == 20 );
1842 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, event_min
) == 24 );
1843 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, event_max
) == 28 );
1844 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, proc
) == 32 );
1845 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, flags
) == 40 );
1846 C_ASSERT( FIELD_OFFSET(struct set_hook_request
, unicode
) == 44 );
1847 C_ASSERT( sizeof(struct set_hook_request
) == 48 );
1848 C_ASSERT( FIELD_OFFSET(struct set_hook_reply
, handle
) == 8 );
1849 C_ASSERT( FIELD_OFFSET(struct set_hook_reply
, active_hooks
) == 12 );
1850 C_ASSERT( sizeof(struct set_hook_reply
) == 16 );
1851 C_ASSERT( FIELD_OFFSET(struct remove_hook_request
, handle
) == 12 );
1852 C_ASSERT( FIELD_OFFSET(struct remove_hook_request
, proc
) == 16 );
1853 C_ASSERT( FIELD_OFFSET(struct remove_hook_request
, id
) == 24 );
1854 C_ASSERT( sizeof(struct remove_hook_request
) == 32 );
1855 C_ASSERT( FIELD_OFFSET(struct remove_hook_reply
, active_hooks
) == 8 );
1856 C_ASSERT( sizeof(struct remove_hook_reply
) == 16 );
1857 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request
, id
) == 12 );
1858 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request
, event
) == 16 );
1859 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request
, window
) == 20 );
1860 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request
, object_id
) == 24 );
1861 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_request
, child_id
) == 28 );
1862 C_ASSERT( sizeof(struct start_hook_chain_request
) == 32 );
1863 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply
, handle
) == 8 );
1864 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply
, pid
) == 12 );
1865 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply
, tid
) == 16 );
1866 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply
, unicode
) == 20 );
1867 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply
, proc
) == 24 );
1868 C_ASSERT( FIELD_OFFSET(struct start_hook_chain_reply
, active_hooks
) == 32 );
1869 C_ASSERT( sizeof(struct start_hook_chain_reply
) == 40 );
1870 C_ASSERT( FIELD_OFFSET(struct finish_hook_chain_request
, id
) == 12 );
1871 C_ASSERT( sizeof(struct finish_hook_chain_request
) == 16 );
1872 C_ASSERT( FIELD_OFFSET(struct get_hook_info_request
, handle
) == 12 );
1873 C_ASSERT( FIELD_OFFSET(struct get_hook_info_request
, get_next
) == 16 );
1874 C_ASSERT( FIELD_OFFSET(struct get_hook_info_request
, event
) == 20 );
1875 C_ASSERT( FIELD_OFFSET(struct get_hook_info_request
, window
) == 24 );
1876 C_ASSERT( FIELD_OFFSET(struct get_hook_info_request
, object_id
) == 28 );
1877 C_ASSERT( FIELD_OFFSET(struct get_hook_info_request
, child_id
) == 32 );
1878 C_ASSERT( sizeof(struct get_hook_info_request
) == 40 );
1879 C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply
, handle
) == 8 );
1880 C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply
, id
) == 12 );
1881 C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply
, pid
) == 16 );
1882 C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply
, tid
) == 20 );
1883 C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply
, proc
) == 24 );
1884 C_ASSERT( FIELD_OFFSET(struct get_hook_info_reply
, unicode
) == 32 );
1885 C_ASSERT( sizeof(struct get_hook_info_reply
) == 40 );
1886 C_ASSERT( FIELD_OFFSET(struct create_class_request
, local
) == 12 );
1887 C_ASSERT( FIELD_OFFSET(struct create_class_request
, atom
) == 16 );
1888 C_ASSERT( FIELD_OFFSET(struct create_class_request
, style
) == 20 );
1889 C_ASSERT( FIELD_OFFSET(struct create_class_request
, instance
) == 24 );
1890 C_ASSERT( FIELD_OFFSET(struct create_class_request
, extra
) == 32 );
1891 C_ASSERT( FIELD_OFFSET(struct create_class_request
, win_extra
) == 36 );
1892 C_ASSERT( FIELD_OFFSET(struct create_class_request
, client_ptr
) == 40 );
1893 C_ASSERT( FIELD_OFFSET(struct create_class_request
, name_offset
) == 48 );
1894 C_ASSERT( sizeof(struct create_class_request
) == 56 );
1895 C_ASSERT( FIELD_OFFSET(struct create_class_reply
, atom
) == 8 );
1896 C_ASSERT( sizeof(struct create_class_reply
) == 16 );
1897 C_ASSERT( FIELD_OFFSET(struct destroy_class_request
, atom
) == 12 );
1898 C_ASSERT( FIELD_OFFSET(struct destroy_class_request
, instance
) == 16 );
1899 C_ASSERT( sizeof(struct destroy_class_request
) == 24 );
1900 C_ASSERT( FIELD_OFFSET(struct destroy_class_reply
, client_ptr
) == 8 );
1901 C_ASSERT( sizeof(struct destroy_class_reply
) == 16 );
1902 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, window
) == 12 );
1903 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, flags
) == 16 );
1904 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, atom
) == 20 );
1905 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, style
) == 24 );
1906 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, win_extra
) == 28 );
1907 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, instance
) == 32 );
1908 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, extra_offset
) == 40 );
1909 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, extra_size
) == 44 );
1910 C_ASSERT( FIELD_OFFSET(struct set_class_info_request
, extra_value
) == 48 );
1911 C_ASSERT( sizeof(struct set_class_info_request
) == 56 );
1912 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, old_atom
) == 8 );
1913 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, base_atom
) == 12 );
1914 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, old_instance
) == 16 );
1915 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, old_extra_value
) == 24 );
1916 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, old_style
) == 32 );
1917 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, old_extra
) == 36 );
1918 C_ASSERT( FIELD_OFFSET(struct set_class_info_reply
, old_win_extra
) == 40 );
1919 C_ASSERT( sizeof(struct set_class_info_reply
) == 48 );
1920 C_ASSERT( FIELD_OFFSET(struct open_clipboard_request
, window
) == 12 );
1921 C_ASSERT( sizeof(struct open_clipboard_request
) == 16 );
1922 C_ASSERT( FIELD_OFFSET(struct open_clipboard_reply
, owner
) == 8 );
1923 C_ASSERT( sizeof(struct open_clipboard_reply
) == 16 );
1924 C_ASSERT( sizeof(struct close_clipboard_request
) == 16 );
1925 C_ASSERT( FIELD_OFFSET(struct close_clipboard_reply
, viewer
) == 8 );
1926 C_ASSERT( FIELD_OFFSET(struct close_clipboard_reply
, owner
) == 12 );
1927 C_ASSERT( sizeof(struct close_clipboard_reply
) == 16 );
1928 C_ASSERT( sizeof(struct empty_clipboard_request
) == 16 );
1929 C_ASSERT( FIELD_OFFSET(struct set_clipboard_data_request
, format
) == 12 );
1930 C_ASSERT( FIELD_OFFSET(struct set_clipboard_data_request
, lcid
) == 16 );
1931 C_ASSERT( sizeof(struct set_clipboard_data_request
) == 24 );
1932 C_ASSERT( FIELD_OFFSET(struct set_clipboard_data_reply
, seqno
) == 8 );
1933 C_ASSERT( sizeof(struct set_clipboard_data_reply
) == 16 );
1934 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_request
, format
) == 12 );
1935 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_request
, render
) == 16 );
1936 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_request
, cached
) == 20 );
1937 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_request
, seqno
) == 24 );
1938 C_ASSERT( sizeof(struct get_clipboard_data_request
) == 32 );
1939 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_reply
, from
) == 8 );
1940 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_reply
, owner
) == 12 );
1941 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_reply
, seqno
) == 16 );
1942 C_ASSERT( FIELD_OFFSET(struct get_clipboard_data_reply
, total
) == 20 );
1943 C_ASSERT( sizeof(struct get_clipboard_data_reply
) == 24 );
1944 C_ASSERT( FIELD_OFFSET(struct get_clipboard_formats_request
, format
) == 12 );
1945 C_ASSERT( sizeof(struct get_clipboard_formats_request
) == 16 );
1946 C_ASSERT( FIELD_OFFSET(struct get_clipboard_formats_reply
, count
) == 8 );
1947 C_ASSERT( sizeof(struct get_clipboard_formats_reply
) == 16 );
1948 C_ASSERT( FIELD_OFFSET(struct enum_clipboard_formats_request
, previous
) == 12 );
1949 C_ASSERT( sizeof(struct enum_clipboard_formats_request
) == 16 );
1950 C_ASSERT( FIELD_OFFSET(struct enum_clipboard_formats_reply
, format
) == 8 );
1951 C_ASSERT( sizeof(struct enum_clipboard_formats_reply
) == 16 );
1952 C_ASSERT( FIELD_OFFSET(struct release_clipboard_request
, owner
) == 12 );
1953 C_ASSERT( sizeof(struct release_clipboard_request
) == 16 );
1954 C_ASSERT( FIELD_OFFSET(struct release_clipboard_reply
, viewer
) == 8 );
1955 C_ASSERT( FIELD_OFFSET(struct release_clipboard_reply
, owner
) == 12 );
1956 C_ASSERT( sizeof(struct release_clipboard_reply
) == 16 );
1957 C_ASSERT( sizeof(struct get_clipboard_info_request
) == 16 );
1958 C_ASSERT( FIELD_OFFSET(struct get_clipboard_info_reply
, window
) == 8 );
1959 C_ASSERT( FIELD_OFFSET(struct get_clipboard_info_reply
, owner
) == 12 );
1960 C_ASSERT( FIELD_OFFSET(struct get_clipboard_info_reply
, viewer
) == 16 );
1961 C_ASSERT( FIELD_OFFSET(struct get_clipboard_info_reply
, seqno
) == 20 );
1962 C_ASSERT( sizeof(struct get_clipboard_info_reply
) == 24 );
1963 C_ASSERT( FIELD_OFFSET(struct set_clipboard_viewer_request
, viewer
) == 12 );
1964 C_ASSERT( FIELD_OFFSET(struct set_clipboard_viewer_request
, previous
) == 16 );
1965 C_ASSERT( sizeof(struct set_clipboard_viewer_request
) == 24 );
1966 C_ASSERT( FIELD_OFFSET(struct set_clipboard_viewer_reply
, old_viewer
) == 8 );
1967 C_ASSERT( FIELD_OFFSET(struct set_clipboard_viewer_reply
, owner
) == 12 );
1968 C_ASSERT( sizeof(struct set_clipboard_viewer_reply
) == 16 );
1969 C_ASSERT( FIELD_OFFSET(struct add_clipboard_listener_request
, window
) == 12 );
1970 C_ASSERT( sizeof(struct add_clipboard_listener_request
) == 16 );
1971 C_ASSERT( FIELD_OFFSET(struct remove_clipboard_listener_request
, window
) == 12 );
1972 C_ASSERT( sizeof(struct remove_clipboard_listener_request
) == 16 );
1973 C_ASSERT( FIELD_OFFSET(struct open_token_request
, handle
) == 12 );
1974 C_ASSERT( FIELD_OFFSET(struct open_token_request
, access
) == 16 );
1975 C_ASSERT( FIELD_OFFSET(struct open_token_request
, attributes
) == 20 );
1976 C_ASSERT( FIELD_OFFSET(struct open_token_request
, flags
) == 24 );
1977 C_ASSERT( sizeof(struct open_token_request
) == 32 );
1978 C_ASSERT( FIELD_OFFSET(struct open_token_reply
, token
) == 8 );
1979 C_ASSERT( sizeof(struct open_token_reply
) == 16 );
1980 C_ASSERT( FIELD_OFFSET(struct set_global_windows_request
, flags
) == 12 );
1981 C_ASSERT( FIELD_OFFSET(struct set_global_windows_request
, shell_window
) == 16 );
1982 C_ASSERT( FIELD_OFFSET(struct set_global_windows_request
, shell_listview
) == 20 );
1983 C_ASSERT( FIELD_OFFSET(struct set_global_windows_request
, progman_window
) == 24 );
1984 C_ASSERT( FIELD_OFFSET(struct set_global_windows_request
, taskman_window
) == 28 );
1985 C_ASSERT( sizeof(struct set_global_windows_request
) == 32 );
1986 C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply
, old_shell_window
) == 8 );
1987 C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply
, old_shell_listview
) == 12 );
1988 C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply
, old_progman_window
) == 16 );
1989 C_ASSERT( FIELD_OFFSET(struct set_global_windows_reply
, old_taskman_window
) == 20 );
1990 C_ASSERT( sizeof(struct set_global_windows_reply
) == 24 );
1991 C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_request
, handle
) == 12 );
1992 C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_request
, disable_all
) == 16 );
1993 C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_request
, get_modified_state
) == 20 );
1994 C_ASSERT( sizeof(struct adjust_token_privileges_request
) == 24 );
1995 C_ASSERT( FIELD_OFFSET(struct adjust_token_privileges_reply
, len
) == 8 );
1996 C_ASSERT( sizeof(struct adjust_token_privileges_reply
) == 16 );
1997 C_ASSERT( FIELD_OFFSET(struct get_token_privileges_request
, handle
) == 12 );
1998 C_ASSERT( sizeof(struct get_token_privileges_request
) == 16 );
1999 C_ASSERT( FIELD_OFFSET(struct get_token_privileges_reply
, len
) == 8 );
2000 C_ASSERT( sizeof(struct get_token_privileges_reply
) == 16 );
2001 C_ASSERT( FIELD_OFFSET(struct check_token_privileges_request
, handle
) == 12 );
2002 C_ASSERT( FIELD_OFFSET(struct check_token_privileges_request
, all_required
) == 16 );
2003 C_ASSERT( sizeof(struct check_token_privileges_request
) == 24 );
2004 C_ASSERT( FIELD_OFFSET(struct check_token_privileges_reply
, has_privileges
) == 8 );
2005 C_ASSERT( sizeof(struct check_token_privileges_reply
) == 16 );
2006 C_ASSERT( FIELD_OFFSET(struct duplicate_token_request
, handle
) == 12 );
2007 C_ASSERT( FIELD_OFFSET(struct duplicate_token_request
, access
) == 16 );
2008 C_ASSERT( FIELD_OFFSET(struct duplicate_token_request
, primary
) == 20 );
2009 C_ASSERT( FIELD_OFFSET(struct duplicate_token_request
, impersonation_level
) == 24 );
2010 C_ASSERT( sizeof(struct duplicate_token_request
) == 32 );
2011 C_ASSERT( FIELD_OFFSET(struct duplicate_token_reply
, new_handle
) == 8 );
2012 C_ASSERT( sizeof(struct duplicate_token_reply
) == 16 );
2013 C_ASSERT( FIELD_OFFSET(struct filter_token_request
, handle
) == 12 );
2014 C_ASSERT( FIELD_OFFSET(struct filter_token_request
, flags
) == 16 );
2015 C_ASSERT( FIELD_OFFSET(struct filter_token_request
, privileges_size
) == 20 );
2016 C_ASSERT( sizeof(struct filter_token_request
) == 24 );
2017 C_ASSERT( FIELD_OFFSET(struct filter_token_reply
, new_handle
) == 8 );
2018 C_ASSERT( sizeof(struct filter_token_reply
) == 16 );
2019 C_ASSERT( FIELD_OFFSET(struct access_check_request
, handle
) == 12 );
2020 C_ASSERT( FIELD_OFFSET(struct access_check_request
, desired_access
) == 16 );
2021 C_ASSERT( FIELD_OFFSET(struct access_check_request
, mapping
) == 20 );
2022 C_ASSERT( sizeof(struct access_check_request
) == 40 );
2023 C_ASSERT( FIELD_OFFSET(struct access_check_reply
, access_granted
) == 8 );
2024 C_ASSERT( FIELD_OFFSET(struct access_check_reply
, access_status
) == 12 );
2025 C_ASSERT( FIELD_OFFSET(struct access_check_reply
, privileges_len
) == 16 );
2026 C_ASSERT( sizeof(struct access_check_reply
) == 24 );
2027 C_ASSERT( FIELD_OFFSET(struct get_token_sid_request
, handle
) == 12 );
2028 C_ASSERT( FIELD_OFFSET(struct get_token_sid_request
, which_sid
) == 16 );
2029 C_ASSERT( sizeof(struct get_token_sid_request
) == 24 );
2030 C_ASSERT( FIELD_OFFSET(struct get_token_sid_reply
, sid_len
) == 8 );
2031 C_ASSERT( sizeof(struct get_token_sid_reply
) == 16 );
2032 C_ASSERT( FIELD_OFFSET(struct get_token_groups_request
, handle
) == 12 );
2033 C_ASSERT( FIELD_OFFSET(struct get_token_groups_request
, attr_mask
) == 16 );
2034 C_ASSERT( sizeof(struct get_token_groups_request
) == 24 );
2035 C_ASSERT( FIELD_OFFSET(struct get_token_groups_reply
, attr_len
) == 8 );
2036 C_ASSERT( FIELD_OFFSET(struct get_token_groups_reply
, sid_len
) == 12 );
2037 C_ASSERT( sizeof(struct get_token_groups_reply
) == 16 );
2038 C_ASSERT( FIELD_OFFSET(struct get_token_default_dacl_request
, handle
) == 12 );
2039 C_ASSERT( sizeof(struct get_token_default_dacl_request
) == 16 );
2040 C_ASSERT( FIELD_OFFSET(struct get_token_default_dacl_reply
, acl_len
) == 8 );
2041 C_ASSERT( sizeof(struct get_token_default_dacl_reply
) == 16 );
2042 C_ASSERT( FIELD_OFFSET(struct set_token_default_dacl_request
, handle
) == 12 );
2043 C_ASSERT( sizeof(struct set_token_default_dacl_request
) == 16 );
2044 C_ASSERT( FIELD_OFFSET(struct set_security_object_request
, handle
) == 12 );
2045 C_ASSERT( FIELD_OFFSET(struct set_security_object_request
, security_info
) == 16 );
2046 C_ASSERT( sizeof(struct set_security_object_request
) == 24 );
2047 C_ASSERT( FIELD_OFFSET(struct get_security_object_request
, handle
) == 12 );
2048 C_ASSERT( FIELD_OFFSET(struct get_security_object_request
, security_info
) == 16 );
2049 C_ASSERT( sizeof(struct get_security_object_request
) == 24 );
2050 C_ASSERT( FIELD_OFFSET(struct get_security_object_reply
, sd_len
) == 8 );
2051 C_ASSERT( sizeof(struct get_security_object_reply
) == 16 );
2052 C_ASSERT( sizeof(struct get_system_handles_request
) == 16 );
2053 C_ASSERT( FIELD_OFFSET(struct get_system_handles_reply
, count
) == 8 );
2054 C_ASSERT( sizeof(struct get_system_handles_reply
) == 16 );
2055 C_ASSERT( FIELD_OFFSET(struct create_mailslot_request
, access
) == 12 );
2056 C_ASSERT( FIELD_OFFSET(struct create_mailslot_request
, read_timeout
) == 16 );
2057 C_ASSERT( FIELD_OFFSET(struct create_mailslot_request
, max_msgsize
) == 24 );
2058 C_ASSERT( sizeof(struct create_mailslot_request
) == 32 );
2059 C_ASSERT( FIELD_OFFSET(struct create_mailslot_reply
, handle
) == 8 );
2060 C_ASSERT( sizeof(struct create_mailslot_reply
) == 16 );
2061 C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_request
, handle
) == 12 );
2062 C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_request
, read_timeout
) == 16 );
2063 C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_request
, flags
) == 24 );
2064 C_ASSERT( sizeof(struct set_mailslot_info_request
) == 32 );
2065 C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_reply
, read_timeout
) == 8 );
2066 C_ASSERT( FIELD_OFFSET(struct set_mailslot_info_reply
, max_msgsize
) == 16 );
2067 C_ASSERT( sizeof(struct set_mailslot_info_reply
) == 24 );
2068 C_ASSERT( FIELD_OFFSET(struct create_directory_request
, access
) == 12 );
2069 C_ASSERT( sizeof(struct create_directory_request
) == 16 );
2070 C_ASSERT( FIELD_OFFSET(struct create_directory_reply
, handle
) == 8 );
2071 C_ASSERT( sizeof(struct create_directory_reply
) == 16 );
2072 C_ASSERT( FIELD_OFFSET(struct open_directory_request
, access
) == 12 );
2073 C_ASSERT( FIELD_OFFSET(struct open_directory_request
, attributes
) == 16 );
2074 C_ASSERT( FIELD_OFFSET(struct open_directory_request
, rootdir
) == 20 );
2075 C_ASSERT( sizeof(struct open_directory_request
) == 24 );
2076 C_ASSERT( FIELD_OFFSET(struct open_directory_reply
, handle
) == 8 );
2077 C_ASSERT( sizeof(struct open_directory_reply
) == 16 );
2078 C_ASSERT( FIELD_OFFSET(struct get_directory_entry_request
, handle
) == 12 );
2079 C_ASSERT( FIELD_OFFSET(struct get_directory_entry_request
, index
) == 16 );
2080 C_ASSERT( sizeof(struct get_directory_entry_request
) == 24 );
2081 C_ASSERT( FIELD_OFFSET(struct get_directory_entry_reply
, total_len
) == 8 );
2082 C_ASSERT( FIELD_OFFSET(struct get_directory_entry_reply
, name_len
) == 12 );
2083 C_ASSERT( sizeof(struct get_directory_entry_reply
) == 16 );
2084 C_ASSERT( FIELD_OFFSET(struct create_symlink_request
, access
) == 12 );
2085 C_ASSERT( sizeof(struct create_symlink_request
) == 16 );
2086 C_ASSERT( FIELD_OFFSET(struct create_symlink_reply
, handle
) == 8 );
2087 C_ASSERT( sizeof(struct create_symlink_reply
) == 16 );
2088 C_ASSERT( FIELD_OFFSET(struct open_symlink_request
, access
) == 12 );
2089 C_ASSERT( FIELD_OFFSET(struct open_symlink_request
, attributes
) == 16 );
2090 C_ASSERT( FIELD_OFFSET(struct open_symlink_request
, rootdir
) == 20 );
2091 C_ASSERT( sizeof(struct open_symlink_request
) == 24 );
2092 C_ASSERT( FIELD_OFFSET(struct open_symlink_reply
, handle
) == 8 );
2093 C_ASSERT( sizeof(struct open_symlink_reply
) == 16 );
2094 C_ASSERT( FIELD_OFFSET(struct query_symlink_request
, handle
) == 12 );
2095 C_ASSERT( sizeof(struct query_symlink_request
) == 16 );
2096 C_ASSERT( FIELD_OFFSET(struct query_symlink_reply
, total
) == 8 );
2097 C_ASSERT( sizeof(struct query_symlink_reply
) == 16 );
2098 C_ASSERT( FIELD_OFFSET(struct get_object_info_request
, handle
) == 12 );
2099 C_ASSERT( sizeof(struct get_object_info_request
) == 16 );
2100 C_ASSERT( FIELD_OFFSET(struct get_object_info_reply
, access
) == 8 );
2101 C_ASSERT( FIELD_OFFSET(struct get_object_info_reply
, ref_count
) == 12 );
2102 C_ASSERT( FIELD_OFFSET(struct get_object_info_reply
, handle_count
) == 16 );
2103 C_ASSERT( sizeof(struct get_object_info_reply
) == 24 );
2104 C_ASSERT( FIELD_OFFSET(struct get_object_name_request
, handle
) == 12 );
2105 C_ASSERT( sizeof(struct get_object_name_request
) == 16 );
2106 C_ASSERT( FIELD_OFFSET(struct get_object_name_reply
, total
) == 8 );
2107 C_ASSERT( sizeof(struct get_object_name_reply
) == 16 );
2108 C_ASSERT( FIELD_OFFSET(struct get_object_type_request
, handle
) == 12 );
2109 C_ASSERT( sizeof(struct get_object_type_request
) == 16 );
2110 C_ASSERT( sizeof(struct get_object_type_reply
) == 8 );
2111 C_ASSERT( sizeof(struct get_object_types_request
) == 16 );
2112 C_ASSERT( FIELD_OFFSET(struct get_object_types_reply
, count
) == 8 );
2113 C_ASSERT( sizeof(struct get_object_types_reply
) == 16 );
2114 C_ASSERT( sizeof(struct allocate_locally_unique_id_request
) == 16 );
2115 C_ASSERT( FIELD_OFFSET(struct allocate_locally_unique_id_reply
, luid
) == 8 );
2116 C_ASSERT( sizeof(struct allocate_locally_unique_id_reply
) == 16 );
2117 C_ASSERT( FIELD_OFFSET(struct create_device_manager_request
, access
) == 12 );
2118 C_ASSERT( FIELD_OFFSET(struct create_device_manager_request
, attributes
) == 16 );
2119 C_ASSERT( sizeof(struct create_device_manager_request
) == 24 );
2120 C_ASSERT( FIELD_OFFSET(struct create_device_manager_reply
, handle
) == 8 );
2121 C_ASSERT( sizeof(struct create_device_manager_reply
) == 16 );
2122 C_ASSERT( FIELD_OFFSET(struct create_device_request
, rootdir
) == 12 );
2123 C_ASSERT( FIELD_OFFSET(struct create_device_request
, user_ptr
) == 16 );
2124 C_ASSERT( FIELD_OFFSET(struct create_device_request
, manager
) == 24 );
2125 C_ASSERT( sizeof(struct create_device_request
) == 32 );
2126 C_ASSERT( FIELD_OFFSET(struct delete_device_request
, manager
) == 12 );
2127 C_ASSERT( FIELD_OFFSET(struct delete_device_request
, device
) == 16 );
2128 C_ASSERT( sizeof(struct delete_device_request
) == 24 );
2129 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, manager
) == 12 );
2130 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, prev
) == 16 );
2131 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, status
) == 20 );
2132 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, user_ptr
) == 24 );
2133 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, pending
) == 32 );
2134 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, iosb_status
) == 36 );
2135 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_request
, result
) == 40 );
2136 C_ASSERT( sizeof(struct get_next_device_request_request
) == 48 );
2137 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply
, params
) == 8 );
2138 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply
, next
) == 40 );
2139 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply
, client_tid
) == 44 );
2140 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply
, client_thread
) == 48 );
2141 C_ASSERT( FIELD_OFFSET(struct get_next_device_request_reply
, in_size
) == 56 );
2142 C_ASSERT( sizeof(struct get_next_device_request_reply
) == 64 );
2143 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_ptr_request
, manager
) == 12 );
2144 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_ptr_request
, handle
) == 16 );
2145 C_ASSERT( sizeof(struct get_kernel_object_ptr_request
) == 24 );
2146 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_ptr_reply
, user_ptr
) == 8 );
2147 C_ASSERT( sizeof(struct get_kernel_object_ptr_reply
) == 16 );
2148 C_ASSERT( FIELD_OFFSET(struct set_kernel_object_ptr_request
, manager
) == 12 );
2149 C_ASSERT( FIELD_OFFSET(struct set_kernel_object_ptr_request
, handle
) == 16 );
2150 C_ASSERT( FIELD_OFFSET(struct set_kernel_object_ptr_request
, user_ptr
) == 24 );
2151 C_ASSERT( sizeof(struct set_kernel_object_ptr_request
) == 32 );
2152 C_ASSERT( FIELD_OFFSET(struct grab_kernel_object_request
, manager
) == 12 );
2153 C_ASSERT( FIELD_OFFSET(struct grab_kernel_object_request
, user_ptr
) == 16 );
2154 C_ASSERT( sizeof(struct grab_kernel_object_request
) == 24 );
2155 C_ASSERT( FIELD_OFFSET(struct release_kernel_object_request
, manager
) == 12 );
2156 C_ASSERT( FIELD_OFFSET(struct release_kernel_object_request
, user_ptr
) == 16 );
2157 C_ASSERT( sizeof(struct release_kernel_object_request
) == 24 );
2158 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_handle_request
, manager
) == 12 );
2159 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_handle_request
, user_ptr
) == 16 );
2160 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_handle_request
, access
) == 24 );
2161 C_ASSERT( sizeof(struct get_kernel_object_handle_request
) == 32 );
2162 C_ASSERT( FIELD_OFFSET(struct get_kernel_object_handle_reply
, handle
) == 8 );
2163 C_ASSERT( sizeof(struct get_kernel_object_handle_reply
) == 16 );
2164 C_ASSERT( FIELD_OFFSET(struct make_process_system_request
, handle
) == 12 );
2165 C_ASSERT( sizeof(struct make_process_system_request
) == 16 );
2166 C_ASSERT( FIELD_OFFSET(struct make_process_system_reply
, event
) == 8 );
2167 C_ASSERT( sizeof(struct make_process_system_reply
) == 16 );
2168 C_ASSERT( FIELD_OFFSET(struct get_token_info_request
, handle
) == 12 );
2169 C_ASSERT( sizeof(struct get_token_info_request
) == 16 );
2170 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, token_id
) == 8 );
2171 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, modified_id
) == 16 );
2172 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, session_id
) == 24 );
2173 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, primary
) == 28 );
2174 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, impersonation_level
) == 32 );
2175 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, elevation
) == 36 );
2176 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, group_count
) == 40 );
2177 C_ASSERT( FIELD_OFFSET(struct get_token_info_reply
, privilege_count
) == 44 );
2178 C_ASSERT( sizeof(struct get_token_info_reply
) == 48 );
2179 C_ASSERT( FIELD_OFFSET(struct create_linked_token_request
, handle
) == 12 );
2180 C_ASSERT( sizeof(struct create_linked_token_request
) == 16 );
2181 C_ASSERT( FIELD_OFFSET(struct create_linked_token_reply
, linked
) == 8 );
2182 C_ASSERT( sizeof(struct create_linked_token_reply
) == 16 );
2183 C_ASSERT( FIELD_OFFSET(struct create_completion_request
, access
) == 12 );
2184 C_ASSERT( FIELD_OFFSET(struct create_completion_request
, concurrent
) == 16 );
2185 C_ASSERT( sizeof(struct create_completion_request
) == 24 );
2186 C_ASSERT( FIELD_OFFSET(struct create_completion_reply
, handle
) == 8 );
2187 C_ASSERT( sizeof(struct create_completion_reply
) == 16 );
2188 C_ASSERT( FIELD_OFFSET(struct open_completion_request
, access
) == 12 );
2189 C_ASSERT( FIELD_OFFSET(struct open_completion_request
, attributes
) == 16 );
2190 C_ASSERT( FIELD_OFFSET(struct open_completion_request
, rootdir
) == 20 );
2191 C_ASSERT( sizeof(struct open_completion_request
) == 24 );
2192 C_ASSERT( FIELD_OFFSET(struct open_completion_reply
, handle
) == 8 );
2193 C_ASSERT( sizeof(struct open_completion_reply
) == 16 );
2194 C_ASSERT( FIELD_OFFSET(struct add_completion_request
, handle
) == 12 );
2195 C_ASSERT( FIELD_OFFSET(struct add_completion_request
, ckey
) == 16 );
2196 C_ASSERT( FIELD_OFFSET(struct add_completion_request
, cvalue
) == 24 );
2197 C_ASSERT( FIELD_OFFSET(struct add_completion_request
, information
) == 32 );
2198 C_ASSERT( FIELD_OFFSET(struct add_completion_request
, status
) == 40 );
2199 C_ASSERT( sizeof(struct add_completion_request
) == 48 );
2200 C_ASSERT( FIELD_OFFSET(struct remove_completion_request
, handle
) == 12 );
2201 C_ASSERT( sizeof(struct remove_completion_request
) == 16 );
2202 C_ASSERT( FIELD_OFFSET(struct remove_completion_reply
, ckey
) == 8 );
2203 C_ASSERT( FIELD_OFFSET(struct remove_completion_reply
, cvalue
) == 16 );
2204 C_ASSERT( FIELD_OFFSET(struct remove_completion_reply
, information
) == 24 );
2205 C_ASSERT( FIELD_OFFSET(struct remove_completion_reply
, status
) == 32 );
2206 C_ASSERT( sizeof(struct remove_completion_reply
) == 40 );
2207 C_ASSERT( FIELD_OFFSET(struct query_completion_request
, handle
) == 12 );
2208 C_ASSERT( sizeof(struct query_completion_request
) == 16 );
2209 C_ASSERT( FIELD_OFFSET(struct query_completion_reply
, depth
) == 8 );
2210 C_ASSERT( sizeof(struct query_completion_reply
) == 16 );
2211 C_ASSERT( FIELD_OFFSET(struct set_completion_info_request
, handle
) == 12 );
2212 C_ASSERT( FIELD_OFFSET(struct set_completion_info_request
, ckey
) == 16 );
2213 C_ASSERT( FIELD_OFFSET(struct set_completion_info_request
, chandle
) == 24 );
2214 C_ASSERT( sizeof(struct set_completion_info_request
) == 32 );
2215 C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request
, handle
) == 12 );
2216 C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request
, cvalue
) == 16 );
2217 C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request
, information
) == 24 );
2218 C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request
, status
) == 32 );
2219 C_ASSERT( FIELD_OFFSET(struct add_fd_completion_request
, async
) == 36 );
2220 C_ASSERT( sizeof(struct add_fd_completion_request
) == 40 );
2221 C_ASSERT( FIELD_OFFSET(struct set_fd_completion_mode_request
, handle
) == 12 );
2222 C_ASSERT( FIELD_OFFSET(struct set_fd_completion_mode_request
, flags
) == 16 );
2223 C_ASSERT( sizeof(struct set_fd_completion_mode_request
) == 24 );
2224 C_ASSERT( FIELD_OFFSET(struct set_fd_disp_info_request
, handle
) == 12 );
2225 C_ASSERT( FIELD_OFFSET(struct set_fd_disp_info_request
, flags
) == 16 );
2226 C_ASSERT( sizeof(struct set_fd_disp_info_request
) == 24 );
2227 C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request
, handle
) == 12 );
2228 C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request
, rootdir
) == 16 );
2229 C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request
, namelen
) == 20 );
2230 C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request
, link
) == 24 );
2231 C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request
, replace
) == 28 );
2232 C_ASSERT( sizeof(struct set_fd_name_info_request
) == 32 );
2233 C_ASSERT( FIELD_OFFSET(struct set_fd_eof_info_request
, handle
) == 12 );
2234 C_ASSERT( FIELD_OFFSET(struct set_fd_eof_info_request
, eof
) == 16 );
2235 C_ASSERT( sizeof(struct set_fd_eof_info_request
) == 24 );
2236 C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_request
, handle
) == 12 );
2237 C_ASSERT( sizeof(struct get_window_layered_info_request
) == 16 );
2238 C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_reply
, color_key
) == 8 );
2239 C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_reply
, alpha
) == 12 );
2240 C_ASSERT( FIELD_OFFSET(struct get_window_layered_info_reply
, flags
) == 16 );
2241 C_ASSERT( sizeof(struct get_window_layered_info_reply
) == 24 );
2242 C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request
, handle
) == 12 );
2243 C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request
, color_key
) == 16 );
2244 C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request
, alpha
) == 20 );
2245 C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request
, flags
) == 24 );
2246 C_ASSERT( sizeof(struct set_window_layered_info_request
) == 32 );
2247 C_ASSERT( sizeof(struct alloc_user_handle_request
) == 16 );
2248 C_ASSERT( FIELD_OFFSET(struct alloc_user_handle_reply
, handle
) == 8 );
2249 C_ASSERT( sizeof(struct alloc_user_handle_reply
) == 16 );
2250 C_ASSERT( FIELD_OFFSET(struct free_user_handle_request
, handle
) == 12 );
2251 C_ASSERT( sizeof(struct free_user_handle_request
) == 16 );
2252 C_ASSERT( FIELD_OFFSET(struct set_cursor_request
, flags
) == 12 );
2253 C_ASSERT( FIELD_OFFSET(struct set_cursor_request
, handle
) == 16 );
2254 C_ASSERT( FIELD_OFFSET(struct set_cursor_request
, show_count
) == 20 );
2255 C_ASSERT( FIELD_OFFSET(struct set_cursor_request
, x
) == 24 );
2256 C_ASSERT( FIELD_OFFSET(struct set_cursor_request
, y
) == 28 );
2257 C_ASSERT( FIELD_OFFSET(struct set_cursor_request
, clip
) == 32 );
2258 C_ASSERT( sizeof(struct set_cursor_request
) == 48 );
2259 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, prev_handle
) == 8 );
2260 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, prev_count
) == 12 );
2261 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, prev_x
) == 16 );
2262 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, prev_y
) == 20 );
2263 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, new_x
) == 24 );
2264 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, new_y
) == 28 );
2265 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, new_clip
) == 32 );
2266 C_ASSERT( FIELD_OFFSET(struct set_cursor_reply
, last_change
) == 48 );
2267 C_ASSERT( sizeof(struct set_cursor_reply
) == 56 );
2268 C_ASSERT( sizeof(struct get_cursor_history_request
) == 16 );
2269 C_ASSERT( sizeof(struct get_cursor_history_reply
) == 8 );
2270 C_ASSERT( FIELD_OFFSET(struct get_rawinput_buffer_request
, rawinput_size
) == 12 );
2271 C_ASSERT( FIELD_OFFSET(struct get_rawinput_buffer_request
, buffer_size
) == 16 );
2272 C_ASSERT( sizeof(struct get_rawinput_buffer_request
) == 24 );
2273 C_ASSERT( FIELD_OFFSET(struct get_rawinput_buffer_reply
, next_size
) == 8 );
2274 C_ASSERT( FIELD_OFFSET(struct get_rawinput_buffer_reply
, count
) == 12 );
2275 C_ASSERT( sizeof(struct get_rawinput_buffer_reply
) == 16 );
2276 C_ASSERT( sizeof(struct update_rawinput_devices_request
) == 16 );
2277 C_ASSERT( FIELD_OFFSET(struct create_job_request
, access
) == 12 );
2278 C_ASSERT( sizeof(struct create_job_request
) == 16 );
2279 C_ASSERT( FIELD_OFFSET(struct create_job_reply
, handle
) == 8 );
2280 C_ASSERT( sizeof(struct create_job_reply
) == 16 );
2281 C_ASSERT( FIELD_OFFSET(struct open_job_request
, access
) == 12 );
2282 C_ASSERT( FIELD_OFFSET(struct open_job_request
, attributes
) == 16 );
2283 C_ASSERT( FIELD_OFFSET(struct open_job_request
, rootdir
) == 20 );
2284 C_ASSERT( sizeof(struct open_job_request
) == 24 );
2285 C_ASSERT( FIELD_OFFSET(struct open_job_reply
, handle
) == 8 );
2286 C_ASSERT( sizeof(struct open_job_reply
) == 16 );
2287 C_ASSERT( FIELD_OFFSET(struct assign_job_request
, job
) == 12 );
2288 C_ASSERT( FIELD_OFFSET(struct assign_job_request
, process
) == 16 );
2289 C_ASSERT( sizeof(struct assign_job_request
) == 24 );
2290 C_ASSERT( FIELD_OFFSET(struct process_in_job_request
, job
) == 12 );
2291 C_ASSERT( FIELD_OFFSET(struct process_in_job_request
, process
) == 16 );
2292 C_ASSERT( sizeof(struct process_in_job_request
) == 24 );
2293 C_ASSERT( FIELD_OFFSET(struct set_job_limits_request
, handle
) == 12 );
2294 C_ASSERT( FIELD_OFFSET(struct set_job_limits_request
, limit_flags
) == 16 );
2295 C_ASSERT( sizeof(struct set_job_limits_request
) == 24 );
2296 C_ASSERT( FIELD_OFFSET(struct set_job_completion_port_request
, job
) == 12 );
2297 C_ASSERT( FIELD_OFFSET(struct set_job_completion_port_request
, port
) == 16 );
2298 C_ASSERT( FIELD_OFFSET(struct set_job_completion_port_request
, key
) == 24 );
2299 C_ASSERT( sizeof(struct set_job_completion_port_request
) == 32 );
2300 C_ASSERT( FIELD_OFFSET(struct get_job_info_request
, handle
) == 12 );
2301 C_ASSERT( sizeof(struct get_job_info_request
) == 16 );
2302 C_ASSERT( FIELD_OFFSET(struct get_job_info_reply
, total_processes
) == 8 );
2303 C_ASSERT( FIELD_OFFSET(struct get_job_info_reply
, active_processes
) == 12 );
2304 C_ASSERT( sizeof(struct get_job_info_reply
) == 16 );
2305 C_ASSERT( FIELD_OFFSET(struct terminate_job_request
, handle
) == 12 );
2306 C_ASSERT( FIELD_OFFSET(struct terminate_job_request
, status
) == 16 );
2307 C_ASSERT( sizeof(struct terminate_job_request
) == 24 );
2308 C_ASSERT( FIELD_OFFSET(struct suspend_process_request
, handle
) == 12 );
2309 C_ASSERT( sizeof(struct suspend_process_request
) == 16 );
2310 C_ASSERT( FIELD_OFFSET(struct resume_process_request
, handle
) == 12 );
2311 C_ASSERT( sizeof(struct resume_process_request
) == 16 );
2312 C_ASSERT( FIELD_OFFSET(struct get_next_thread_request
, process
) == 12 );
2313 C_ASSERT( FIELD_OFFSET(struct get_next_thread_request
, last
) == 16 );
2314 C_ASSERT( FIELD_OFFSET(struct get_next_thread_request
, access
) == 20 );
2315 C_ASSERT( FIELD_OFFSET(struct get_next_thread_request
, attributes
) == 24 );
2316 C_ASSERT( FIELD_OFFSET(struct get_next_thread_request
, flags
) == 28 );
2317 C_ASSERT( sizeof(struct get_next_thread_request
) == 32 );
2318 C_ASSERT( FIELD_OFFSET(struct get_next_thread_reply
, handle
) == 8 );
2319 C_ASSERT( sizeof(struct get_next_thread_reply
) == 16 );
2321 #endif /* WANT_REQUEST_HANDLERS */
2323 /* ### make_requests end ### */
2324 /* Everything above this line is generated automatically by tools/make_requests */
2326 #endif /* __WINE_SERVER_REQUEST_H */