Fix subclassing to support nested messages.
[wine] / dlls / user / tests / generated.c
1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5  * Unit tests for data structure packing
6  */
7
8 #define WINVER 0x0501
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
11
12 #define WINE_NOWINSOCK
13
14 #include "windows.h"
15
16 #include "wine/test.h"
17
18 /***********************************************************************
19  * Compability macros
20  */
21
22 #define DWORD_PTR UINT_PTR
23 #define LONG_PTR INT_PTR
24 #define ULONG_PTR UINT_PTR
25
26 /***********************************************************************
27  * Windows API extension
28  */
29
30 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
31 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
32 #elif defined(__GNUC__)
33 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
34 #else
35 /* FIXME: Not sure if is possible to do without compiler extension */
36 #endif
37
38 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
39 # define _TYPE_ALIGNMENT(type) __alignof(type)
40 #elif defined(__GNUC__)
41 # define _TYPE_ALIGNMENT(type) __alignof__(type)
42 #else
43 /*
44  * FIXME: Not sure if is possible to do without compiler extension
45  *        (if type is not just a name that is, if so the normal)
46  *         TYPE_ALIGNMENT can be used)
47  */
48 #endif
49
50 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
51 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
52 #endif
53
54 /***********************************************************************
55  * Test helper macros
56  */
57
58 #ifdef FIELD_ALIGNMENT
59 # define TEST_FIELD_ALIGNMENT(type, field, align) \
60    ok(FIELD_ALIGNMENT(type, field) == align, \
61        "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
62            FIELD_ALIGNMENT(type, field))
63 #else
64 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
65 #endif
66
67 #define TEST_FIELD_OFFSET(type, field, offset) \
68     ok(FIELD_OFFSET(type, field) == offset, \
69         "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
70              FIELD_OFFSET(type, field))
71
72 #ifdef _TYPE_ALIGNMENT
73 #define TEST__TYPE_ALIGNMENT(type, align) \
74     ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", _TYPE_ALIGNMENT(type))
75 #else
76 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
77 #endif
78
79 #ifdef TYPE_ALIGNMENT
80 #define TEST_TYPE_ALIGNMENT(type, align) \
81     ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", TYPE_ALIGNMENT(type))
82 #else
83 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
84 #endif
85
86 #define TEST_TYPE_SIZE(type, size) \
87     ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", sizeof(type))
88
89 /***********************************************************************
90  * Test macros
91  */
92
93 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
94   TEST_TYPE_SIZE(field_type, field_size); \
95   TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
96   TEST_FIELD_OFFSET(type, field_name, field_offset); \
97
98 #define TEST_TYPE(type, size, align) \
99   TEST_TYPE_ALIGNMENT(type, align); \
100   TEST_TYPE_SIZE(type, size)
101
102 #define TEST_TYPE_POINTER(type, size, align) \
103     TEST__TYPE_ALIGNMENT(*(type)0, align); \
104     TEST_TYPE_SIZE(*(type)0, size)
105
106 #define TEST_TYPE_SIGNED(type) \
107     ok((type) -1 < 0, "(" #type ") -1 < 0\n");
108
109 #define TEST_TYPE_UNSIGNED(type) \
110      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
111
112 static void test_pack_ACCEL(void)
113 {
114     /* ACCEL (pack 4) */
115     TEST_TYPE(ACCEL, 6, 2);
116     TEST_FIELD(ACCEL, BYTE, fVirt, 0, 1, 1);
117     TEST_FIELD(ACCEL, WORD, key, 2, 2, 2);
118     TEST_FIELD(ACCEL, WORD, cmd, 4, 2, 2);
119 }
120
121 static void test_pack_ACCESSTIMEOUT(void)
122 {
123     /* ACCESSTIMEOUT (pack 4) */
124     TEST_TYPE(ACCESSTIMEOUT, 12, 4);
125     TEST_FIELD(ACCESSTIMEOUT, UINT, cbSize, 0, 4, 4);
126     TEST_FIELD(ACCESSTIMEOUT, DWORD, dwFlags, 4, 4, 4);
127     TEST_FIELD(ACCESSTIMEOUT, DWORD, iTimeOutMSec, 8, 4, 4);
128 }
129
130 static void test_pack_ANIMATIONINFO(void)
131 {
132     /* ANIMATIONINFO (pack 4) */
133     TEST_TYPE(ANIMATIONINFO, 8, 4);
134     TEST_FIELD(ANIMATIONINFO, UINT, cbSize, 0, 4, 4);
135     TEST_FIELD(ANIMATIONINFO, INT, iMinAnimate, 4, 4, 4);
136 }
137
138 static void test_pack_CBTACTIVATESTRUCT(void)
139 {
140     /* CBTACTIVATESTRUCT (pack 4) */
141     TEST_TYPE(CBTACTIVATESTRUCT, 8, 4);
142     TEST_FIELD(CBTACTIVATESTRUCT, BOOL, fMouse, 0, 4, 4);
143     TEST_FIELD(CBTACTIVATESTRUCT, HWND, hWndActive, 4, 4, 4);
144 }
145
146 static void test_pack_CBT_CREATEWNDA(void)
147 {
148     /* CBT_CREATEWNDA (pack 4) */
149     TEST_TYPE(CBT_CREATEWNDA, 8, 4);
150     TEST_FIELD(CBT_CREATEWNDA, CREATESTRUCTA *, lpcs, 0, 4, 4);
151     TEST_FIELD(CBT_CREATEWNDA, HWND, hwndInsertAfter, 4, 4, 4);
152 }
153
154 static void test_pack_CBT_CREATEWNDW(void)
155 {
156     /* CBT_CREATEWNDW (pack 4) */
157     TEST_TYPE(CBT_CREATEWNDW, 8, 4);
158     TEST_FIELD(CBT_CREATEWNDW, CREATESTRUCTW *, lpcs, 0, 4, 4);
159     TEST_FIELD(CBT_CREATEWNDW, HWND, hwndInsertAfter, 4, 4, 4);
160 }
161
162 static void test_pack_CLIENTCREATESTRUCT(void)
163 {
164     /* CLIENTCREATESTRUCT (pack 4) */
165     TEST_TYPE(CLIENTCREATESTRUCT, 8, 4);
166     TEST_FIELD(CLIENTCREATESTRUCT, HMENU, hWindowMenu, 0, 4, 4);
167     TEST_FIELD(CLIENTCREATESTRUCT, UINT, idFirstChild, 4, 4, 4);
168 }
169
170 static void test_pack_COMBOBOXINFO(void)
171 {
172     /* COMBOBOXINFO (pack 4) */
173     TEST_TYPE(COMBOBOXINFO, 52, 4);
174     TEST_FIELD(COMBOBOXINFO, DWORD, cbSize, 0, 4, 4);
175     TEST_FIELD(COMBOBOXINFO, RECT, rcItem, 4, 16, 4);
176     TEST_FIELD(COMBOBOXINFO, RECT, rcButton, 20, 16, 4);
177     TEST_FIELD(COMBOBOXINFO, DWORD, stateButton, 36, 4, 4);
178     TEST_FIELD(COMBOBOXINFO, HWND, hwndCombo, 40, 4, 4);
179     TEST_FIELD(COMBOBOXINFO, HWND, hwndItem, 44, 4, 4);
180     TEST_FIELD(COMBOBOXINFO, HWND, hwndList, 48, 4, 4);
181 }
182
183 static void test_pack_COMPAREITEMSTRUCT(void)
184 {
185     /* COMPAREITEMSTRUCT (pack 4) */
186     TEST_TYPE(COMPAREITEMSTRUCT, 32, 4);
187     TEST_FIELD(COMPAREITEMSTRUCT, UINT, CtlType, 0, 4, 4);
188     TEST_FIELD(COMPAREITEMSTRUCT, UINT, CtlID, 4, 4, 4);
189     TEST_FIELD(COMPAREITEMSTRUCT, HWND, hwndItem, 8, 4, 4);
190     TEST_FIELD(COMPAREITEMSTRUCT, UINT, itemID1, 12, 4, 4);
191     TEST_FIELD(COMPAREITEMSTRUCT, ULONG_PTR, itemData1, 16, 4, 4);
192     TEST_FIELD(COMPAREITEMSTRUCT, UINT, itemID2, 20, 4, 4);
193     TEST_FIELD(COMPAREITEMSTRUCT, ULONG_PTR, itemData2, 24, 4, 4);
194     TEST_FIELD(COMPAREITEMSTRUCT, DWORD, dwLocaleId, 28, 4, 4);
195 }
196
197 static void test_pack_COPYDATASTRUCT(void)
198 {
199     /* COPYDATASTRUCT (pack 4) */
200     TEST_TYPE(COPYDATASTRUCT, 12, 4);
201     TEST_FIELD(COPYDATASTRUCT, ULONG_PTR, dwData, 0, 4, 4);
202     TEST_FIELD(COPYDATASTRUCT, DWORD, cbData, 4, 4, 4);
203     TEST_FIELD(COPYDATASTRUCT, PVOID, lpData, 8, 4, 4);
204 }
205
206 static void test_pack_CREATESTRUCTA(void)
207 {
208     /* CREATESTRUCTA (pack 4) */
209     TEST_TYPE(CREATESTRUCTA, 48, 4);
210     TEST_FIELD(CREATESTRUCTA, LPVOID, lpCreateParams, 0, 4, 4);
211     TEST_FIELD(CREATESTRUCTA, HINSTANCE, hInstance, 4, 4, 4);
212     TEST_FIELD(CREATESTRUCTA, HMENU, hMenu, 8, 4, 4);
213     TEST_FIELD(CREATESTRUCTA, HWND, hwndParent, 12, 4, 4);
214     TEST_FIELD(CREATESTRUCTA, INT, cy, 16, 4, 4);
215     TEST_FIELD(CREATESTRUCTA, INT, cx, 20, 4, 4);
216     TEST_FIELD(CREATESTRUCTA, INT, y, 24, 4, 4);
217     TEST_FIELD(CREATESTRUCTA, INT, x, 28, 4, 4);
218     TEST_FIELD(CREATESTRUCTA, LONG, style, 32, 4, 4);
219     TEST_FIELD(CREATESTRUCTA, LPCSTR, lpszName, 36, 4, 4);
220     TEST_FIELD(CREATESTRUCTA, LPCSTR, lpszClass, 40, 4, 4);
221     TEST_FIELD(CREATESTRUCTA, DWORD, dwExStyle, 44, 4, 4);
222 }
223
224 static void test_pack_CREATESTRUCTW(void)
225 {
226     /* CREATESTRUCTW (pack 4) */
227     TEST_TYPE(CREATESTRUCTW, 48, 4);
228     TEST_FIELD(CREATESTRUCTW, LPVOID, lpCreateParams, 0, 4, 4);
229     TEST_FIELD(CREATESTRUCTW, HINSTANCE, hInstance, 4, 4, 4);
230     TEST_FIELD(CREATESTRUCTW, HMENU, hMenu, 8, 4, 4);
231     TEST_FIELD(CREATESTRUCTW, HWND, hwndParent, 12, 4, 4);
232     TEST_FIELD(CREATESTRUCTW, INT, cy, 16, 4, 4);
233     TEST_FIELD(CREATESTRUCTW, INT, cx, 20, 4, 4);
234     TEST_FIELD(CREATESTRUCTW, INT, y, 24, 4, 4);
235     TEST_FIELD(CREATESTRUCTW, INT, x, 28, 4, 4);
236     TEST_FIELD(CREATESTRUCTW, LONG, style, 32, 4, 4);
237     TEST_FIELD(CREATESTRUCTW, LPCWSTR, lpszName, 36, 4, 4);
238     TEST_FIELD(CREATESTRUCTW, LPCWSTR, lpszClass, 40, 4, 4);
239     TEST_FIELD(CREATESTRUCTW, DWORD, dwExStyle, 44, 4, 4);
240 }
241
242 static void test_pack_CURSORINFO(void)
243 {
244     /* CURSORINFO (pack 4) */
245     TEST_TYPE(CURSORINFO, 20, 4);
246     TEST_FIELD(CURSORINFO, DWORD, cbSize, 0, 4, 4);
247     TEST_FIELD(CURSORINFO, DWORD, flags, 4, 4, 4);
248     TEST_FIELD(CURSORINFO, HCURSOR, hCursor, 8, 4, 4);
249     TEST_FIELD(CURSORINFO, POINT, ptScreenPos, 12, 8, 4);
250 }
251
252 static void test_pack_CWPRETSTRUCT(void)
253 {
254     /* CWPRETSTRUCT (pack 4) */
255     TEST_TYPE(CWPRETSTRUCT, 20, 4);
256     TEST_FIELD(CWPRETSTRUCT, LRESULT, lResult, 0, 4, 4);
257     TEST_FIELD(CWPRETSTRUCT, LPARAM, lParam, 4, 4, 4);
258     TEST_FIELD(CWPRETSTRUCT, WPARAM, wParam, 8, 4, 4);
259     TEST_FIELD(CWPRETSTRUCT, DWORD, message, 12, 4, 4);
260     TEST_FIELD(CWPRETSTRUCT, HWND, hwnd, 16, 4, 4);
261 }
262
263 static void test_pack_CWPSTRUCT(void)
264 {
265     /* CWPSTRUCT (pack 4) */
266     TEST_TYPE(CWPSTRUCT, 16, 4);
267     TEST_FIELD(CWPSTRUCT, LPARAM, lParam, 0, 4, 4);
268     TEST_FIELD(CWPSTRUCT, WPARAM, wParam, 4, 4, 4);
269     TEST_FIELD(CWPSTRUCT, UINT, message, 8, 4, 4);
270     TEST_FIELD(CWPSTRUCT, HWND, hwnd, 12, 4, 4);
271 }
272
273 static void test_pack_DEBUGHOOKINFO(void)
274 {
275     /* DEBUGHOOKINFO (pack 4) */
276     TEST_TYPE(DEBUGHOOKINFO, 20, 4);
277     TEST_FIELD(DEBUGHOOKINFO, DWORD, idThread, 0, 4, 4);
278     TEST_FIELD(DEBUGHOOKINFO, DWORD, idThreadInstaller, 4, 4, 4);
279     TEST_FIELD(DEBUGHOOKINFO, LPARAM, lParam, 8, 4, 4);
280     TEST_FIELD(DEBUGHOOKINFO, WPARAM, wParam, 12, 4, 4);
281     TEST_FIELD(DEBUGHOOKINFO, INT, code, 16, 4, 4);
282 }
283
284 static void test_pack_DELETEITEMSTRUCT(void)
285 {
286     /* DELETEITEMSTRUCT (pack 4) */
287     TEST_TYPE(DELETEITEMSTRUCT, 20, 4);
288     TEST_FIELD(DELETEITEMSTRUCT, UINT, CtlType, 0, 4, 4);
289     TEST_FIELD(DELETEITEMSTRUCT, UINT, CtlID, 4, 4, 4);
290     TEST_FIELD(DELETEITEMSTRUCT, UINT, itemID, 8, 4, 4);
291     TEST_FIELD(DELETEITEMSTRUCT, HWND, hwndItem, 12, 4, 4);
292     TEST_FIELD(DELETEITEMSTRUCT, ULONG_PTR, itemData, 16, 4, 4);
293 }
294
295 static void test_pack_DESKTOPENUMPROCA(void)
296 {
297     /* DESKTOPENUMPROCA */
298     TEST_TYPE(DESKTOPENUMPROCA, 4, 4);
299 }
300
301 static void test_pack_DESKTOPENUMPROCW(void)
302 {
303     /* DESKTOPENUMPROCW */
304     TEST_TYPE(DESKTOPENUMPROCW, 4, 4);
305 }
306
307 static void test_pack_DLGITEMTEMPLATE(void)
308 {
309     /* DLGITEMTEMPLATE (pack 2) */
310     TEST_TYPE(DLGITEMTEMPLATE, 18, 2);
311     TEST_FIELD(DLGITEMTEMPLATE, DWORD, style, 0, 4, 2);
312     TEST_FIELD(DLGITEMTEMPLATE, DWORD, dwExtendedStyle, 4, 4, 2);
313     TEST_FIELD(DLGITEMTEMPLATE, short, x, 8, 2, 2);
314     TEST_FIELD(DLGITEMTEMPLATE, short, y, 10, 2, 2);
315     TEST_FIELD(DLGITEMTEMPLATE, short, cx, 12, 2, 2);
316     TEST_FIELD(DLGITEMTEMPLATE, short, cy, 14, 2, 2);
317     TEST_FIELD(DLGITEMTEMPLATE, WORD, id, 16, 2, 2);
318 }
319
320 static void test_pack_DLGPROC(void)
321 {
322     /* DLGPROC */
323     TEST_TYPE(DLGPROC, 4, 4);
324 }
325
326 static void test_pack_DLGTEMPLATE(void)
327 {
328     /* DLGTEMPLATE (pack 2) */
329     TEST_TYPE(DLGTEMPLATE, 18, 2);
330     TEST_FIELD(DLGTEMPLATE, DWORD, style, 0, 4, 2);
331     TEST_FIELD(DLGTEMPLATE, DWORD, dwExtendedStyle, 4, 4, 2);
332     TEST_FIELD(DLGTEMPLATE, WORD, cdit, 8, 2, 2);
333     TEST_FIELD(DLGTEMPLATE, short, x, 10, 2, 2);
334     TEST_FIELD(DLGTEMPLATE, short, y, 12, 2, 2);
335     TEST_FIELD(DLGTEMPLATE, short, cx, 14, 2, 2);
336     TEST_FIELD(DLGTEMPLATE, short, cy, 16, 2, 2);
337 }
338
339 static void test_pack_DRAWSTATEPROC(void)
340 {
341     /* DRAWSTATEPROC */
342     TEST_TYPE(DRAWSTATEPROC, 4, 4);
343 }
344
345 static void test_pack_DRAWTEXTPARAMS(void)
346 {
347     /* DRAWTEXTPARAMS (pack 4) */
348     TEST_TYPE(DRAWTEXTPARAMS, 20, 4);
349     TEST_FIELD(DRAWTEXTPARAMS, UINT, cbSize, 0, 4, 4);
350     TEST_FIELD(DRAWTEXTPARAMS, INT, iTabLength, 4, 4, 4);
351     TEST_FIELD(DRAWTEXTPARAMS, INT, iLeftMargin, 8, 4, 4);
352     TEST_FIELD(DRAWTEXTPARAMS, INT, iRightMargin, 12, 4, 4);
353     TEST_FIELD(DRAWTEXTPARAMS, UINT, uiLengthDrawn, 16, 4, 4);
354 }
355
356 static void test_pack_EDITWORDBREAKPROCA(void)
357 {
358     /* EDITWORDBREAKPROCA */
359     TEST_TYPE(EDITWORDBREAKPROCA, 4, 4);
360 }
361
362 static void test_pack_EDITWORDBREAKPROCW(void)
363 {
364     /* EDITWORDBREAKPROCW */
365     TEST_TYPE(EDITWORDBREAKPROCW, 4, 4);
366 }
367
368 static void test_pack_EVENTMSG(void)
369 {
370     /* EVENTMSG (pack 4) */
371     TEST_TYPE(EVENTMSG, 20, 4);
372     TEST_FIELD(EVENTMSG, UINT, message, 0, 4, 4);
373     TEST_FIELD(EVENTMSG, UINT, paramL, 4, 4, 4);
374     TEST_FIELD(EVENTMSG, UINT, paramH, 8, 4, 4);
375     TEST_FIELD(EVENTMSG, DWORD, time, 12, 4, 4);
376     TEST_FIELD(EVENTMSG, HWND, hwnd, 16, 4, 4);
377 }
378
379 static void test_pack_FILTERKEYS(void)
380 {
381     /* FILTERKEYS (pack 4) */
382     TEST_TYPE(FILTERKEYS, 24, 4);
383     TEST_FIELD(FILTERKEYS, UINT, cbSize, 0, 4, 4);
384     TEST_FIELD(FILTERKEYS, DWORD, dwFlags, 4, 4, 4);
385     TEST_FIELD(FILTERKEYS, DWORD, iWaitMSec, 8, 4, 4);
386     TEST_FIELD(FILTERKEYS, DWORD, iDelayMSec, 12, 4, 4);
387     TEST_FIELD(FILTERKEYS, DWORD, iRepeatMSec, 16, 4, 4);
388     TEST_FIELD(FILTERKEYS, DWORD, iBounceMSec, 20, 4, 4);
389 }
390
391 static void test_pack_GUITHREADINFO(void)
392 {
393     /* GUITHREADINFO (pack 4) */
394     TEST_TYPE(GUITHREADINFO, 48, 4);
395     TEST_FIELD(GUITHREADINFO, DWORD, cbSize, 0, 4, 4);
396     TEST_FIELD(GUITHREADINFO, DWORD, flags, 4, 4, 4);
397     TEST_FIELD(GUITHREADINFO, HWND, hwndActive, 8, 4, 4);
398     TEST_FIELD(GUITHREADINFO, HWND, hwndFocus, 12, 4, 4);
399     TEST_FIELD(GUITHREADINFO, HWND, hwndCapture, 16, 4, 4);
400     TEST_FIELD(GUITHREADINFO, HWND, hwndMenuOwner, 20, 4, 4);
401     TEST_FIELD(GUITHREADINFO, HWND, hwndMoveSize, 24, 4, 4);
402     TEST_FIELD(GUITHREADINFO, HWND, hwndCaret, 28, 4, 4);
403     TEST_FIELD(GUITHREADINFO, RECT, rcCaret, 32, 16, 4);
404 }
405
406 static void test_pack_GRAYSTRINGPROC(void)
407 {
408     /* GRAYSTRINGPROC */
409     TEST_TYPE(GRAYSTRINGPROC, 4, 4);
410 }
411
412 static void test_pack_HARDWAREHOOKSTRUCT(void)
413 {
414     /* HARDWAREHOOKSTRUCT (pack 4) */
415     TEST_TYPE(HARDWAREHOOKSTRUCT, 16, 4);
416     TEST_FIELD(HARDWAREHOOKSTRUCT, HWND, hwnd, 0, 4, 4);
417     TEST_FIELD(HARDWAREHOOKSTRUCT, UINT, message, 4, 4, 4);
418     TEST_FIELD(HARDWAREHOOKSTRUCT, WPARAM, wParam, 8, 4, 4);
419     TEST_FIELD(HARDWAREHOOKSTRUCT, LPARAM, lParam, 12, 4, 4);
420 }
421
422 static void test_pack_HARDWAREINPUT(void)
423 {
424     /* HARDWAREINPUT (pack 4) */
425     TEST_TYPE(HARDWAREINPUT, 8, 4);
426     TEST_FIELD(HARDWAREINPUT, DWORD, uMsg, 0, 4, 4);
427     TEST_FIELD(HARDWAREINPUT, WORD, wParamL, 4, 2, 2);
428     TEST_FIELD(HARDWAREINPUT, WORD, wParamH, 6, 2, 2);
429 }
430
431 static void test_pack_HDEVNOTIFY(void)
432 {
433     /* HDEVNOTIFY */
434     TEST_TYPE(HDEVNOTIFY, 4, 4);
435 }
436
437 static void test_pack_HDWP(void)
438 {
439     /* HDWP */
440     TEST_TYPE(HDWP, 4, 4);
441 }
442
443 static void test_pack_HELPINFO(void)
444 {
445     /* HELPINFO (pack 4) */
446     TEST_TYPE(HELPINFO, 28, 4);
447     TEST_FIELD(HELPINFO, UINT, cbSize, 0, 4, 4);
448     TEST_FIELD(HELPINFO, INT, iContextType, 4, 4, 4);
449     TEST_FIELD(HELPINFO, INT, iCtrlId, 8, 4, 4);
450     TEST_FIELD(HELPINFO, HANDLE, hItemHandle, 12, 4, 4);
451     TEST_FIELD(HELPINFO, DWORD_PTR, dwContextId, 16, 4, 4);
452     TEST_FIELD(HELPINFO, POINT, MousePos, 20, 8, 4);
453 }
454
455 static void test_pack_HELPWININFOA(void)
456 {
457     /* HELPWININFOA (pack 4) */
458     TEST_TYPE(HELPWININFOA, 28, 4);
459     TEST_FIELD(HELPWININFOA, int, wStructSize, 0, 4, 4);
460     TEST_FIELD(HELPWININFOA, int, x, 4, 4, 4);
461     TEST_FIELD(HELPWININFOA, int, y, 8, 4, 4);
462     TEST_FIELD(HELPWININFOA, int, dx, 12, 4, 4);
463     TEST_FIELD(HELPWININFOA, int, dy, 16, 4, 4);
464     TEST_FIELD(HELPWININFOA, int, wMax, 20, 4, 4);
465     TEST_FIELD(HELPWININFOA, CHAR[2], rgchMember, 24, 2, 1);
466 }
467
468 static void test_pack_HELPWININFOW(void)
469 {
470     /* HELPWININFOW (pack 4) */
471     TEST_TYPE(HELPWININFOW, 28, 4);
472     TEST_FIELD(HELPWININFOW, int, wStructSize, 0, 4, 4);
473     TEST_FIELD(HELPWININFOW, int, x, 4, 4, 4);
474     TEST_FIELD(HELPWININFOW, int, y, 8, 4, 4);
475     TEST_FIELD(HELPWININFOW, int, dx, 12, 4, 4);
476     TEST_FIELD(HELPWININFOW, int, dy, 16, 4, 4);
477     TEST_FIELD(HELPWININFOW, int, wMax, 20, 4, 4);
478     TEST_FIELD(HELPWININFOW, WCHAR[2], rgchMember, 24, 4, 2);
479 }
480
481 static void test_pack_HIGHCONTRASTA(void)
482 {
483     /* HIGHCONTRASTA (pack 4) */
484     TEST_FIELD(HIGHCONTRASTA, UINT, cbSize, 0, 4, 4);
485     TEST_FIELD(HIGHCONTRASTA, DWORD, dwFlags, 4, 4, 4);
486 }
487
488 static void test_pack_HIGHCONTRASTW(void)
489 {
490     /* HIGHCONTRASTW (pack 4) */
491     TEST_TYPE(HIGHCONTRASTW, 12, 4);
492     TEST_FIELD(HIGHCONTRASTW, UINT, cbSize, 0, 4, 4);
493     TEST_FIELD(HIGHCONTRASTW, DWORD, dwFlags, 4, 4, 4);
494     TEST_FIELD(HIGHCONTRASTW, LPWSTR, lpszDefaultScheme, 8, 4, 4);
495 }
496
497 static void test_pack_HOOKPROC(void)
498 {
499     /* HOOKPROC */
500     TEST_TYPE(HOOKPROC, 4, 4);
501 }
502
503 static void test_pack_ICONINFO(void)
504 {
505     /* ICONINFO (pack 4) */
506     TEST_TYPE(ICONINFO, 20, 4);
507     TEST_FIELD(ICONINFO, BOOL, fIcon, 0, 4, 4);
508     TEST_FIELD(ICONINFO, DWORD, xHotspot, 4, 4, 4);
509     TEST_FIELD(ICONINFO, DWORD, yHotspot, 8, 4, 4);
510     TEST_FIELD(ICONINFO, HBITMAP, hbmMask, 12, 4, 4);
511     TEST_FIELD(ICONINFO, HBITMAP, hbmColor, 16, 4, 4);
512 }
513
514 static void test_pack_ICONMETRICSA(void)
515 {
516     /* ICONMETRICSA (pack 4) */
517     TEST_TYPE(ICONMETRICSA, 76, 4);
518     TEST_FIELD(ICONMETRICSA, UINT, cbSize, 0, 4, 4);
519     TEST_FIELD(ICONMETRICSA, int, iHorzSpacing, 4, 4, 4);
520     TEST_FIELD(ICONMETRICSA, int, iVertSpacing, 8, 4, 4);
521     TEST_FIELD(ICONMETRICSA, int, iTitleWrap, 12, 4, 4);
522     TEST_FIELD(ICONMETRICSA, LOGFONTA, lfFont, 16, 60, 4);
523 }
524
525 static void test_pack_ICONMETRICSW(void)
526 {
527     /* ICONMETRICSW (pack 4) */
528     TEST_TYPE(ICONMETRICSW, 108, 4);
529     TEST_FIELD(ICONMETRICSW, UINT, cbSize, 0, 4, 4);
530     TEST_FIELD(ICONMETRICSW, int, iHorzSpacing, 4, 4, 4);
531     TEST_FIELD(ICONMETRICSW, int, iVertSpacing, 8, 4, 4);
532     TEST_FIELD(ICONMETRICSW, int, iTitleWrap, 12, 4, 4);
533     TEST_FIELD(ICONMETRICSW, LOGFONTW, lfFont, 16, 92, 4);
534 }
535
536 static void test_pack_INPUT(void)
537 {
538     /* INPUT (pack 4) */
539     TEST_FIELD(INPUT, DWORD, type, 0, 4, 4);
540 }
541
542 static void test_pack_KBDLLHOOKSTRUCT(void)
543 {
544     /* KBDLLHOOKSTRUCT (pack 4) */
545     TEST_TYPE(KBDLLHOOKSTRUCT, 20, 4);
546     TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, vkCode, 0, 4, 4);
547     TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, scanCode, 4, 4, 4);
548     TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, flags, 8, 4, 4);
549     TEST_FIELD(KBDLLHOOKSTRUCT, DWORD, time, 12, 4, 4);
550     TEST_FIELD(KBDLLHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 16, 4, 4);
551 }
552
553 static void test_pack_KEYBDINPUT(void)
554 {
555     /* KEYBDINPUT (pack 4) */
556     TEST_TYPE(KEYBDINPUT, 16, 4);
557     TEST_FIELD(KEYBDINPUT, WORD, wVk, 0, 2, 2);
558     TEST_FIELD(KEYBDINPUT, WORD, wScan, 2, 2, 2);
559     TEST_FIELD(KEYBDINPUT, DWORD, dwFlags, 4, 4, 4);
560     TEST_FIELD(KEYBDINPUT, DWORD, time, 8, 4, 4);
561     TEST_FIELD(KEYBDINPUT, ULONG_PTR, dwExtraInfo, 12, 4, 4);
562 }
563
564 static void test_pack_LPACCEL(void)
565 {
566     /* LPACCEL */
567     TEST_TYPE(LPACCEL, 4, 4);
568     TEST_TYPE_POINTER(LPACCEL, 6, 2);
569 }
570
571 static void test_pack_LPACCESSTIMEOUT(void)
572 {
573     /* LPACCESSTIMEOUT */
574     TEST_TYPE(LPACCESSTIMEOUT, 4, 4);
575     TEST_TYPE_POINTER(LPACCESSTIMEOUT, 12, 4);
576 }
577
578 static void test_pack_LPANIMATIONINFO(void)
579 {
580     /* LPANIMATIONINFO */
581     TEST_TYPE(LPANIMATIONINFO, 4, 4);
582     TEST_TYPE_POINTER(LPANIMATIONINFO, 8, 4);
583 }
584
585 static void test_pack_LPCBTACTIVATESTRUCT(void)
586 {
587     /* LPCBTACTIVATESTRUCT */
588     TEST_TYPE(LPCBTACTIVATESTRUCT, 4, 4);
589     TEST_TYPE_POINTER(LPCBTACTIVATESTRUCT, 8, 4);
590 }
591
592 static void test_pack_LPCBT_CREATEWNDA(void)
593 {
594     /* LPCBT_CREATEWNDA */
595     TEST_TYPE(LPCBT_CREATEWNDA, 4, 4);
596     TEST_TYPE_POINTER(LPCBT_CREATEWNDA, 8, 4);
597 }
598
599 static void test_pack_LPCBT_CREATEWNDW(void)
600 {
601     /* LPCBT_CREATEWNDW */
602     TEST_TYPE(LPCBT_CREATEWNDW, 4, 4);
603     TEST_TYPE_POINTER(LPCBT_CREATEWNDW, 8, 4);
604 }
605
606 static void test_pack_LPCDLGTEMPLATEA(void)
607 {
608     /* LPCDLGTEMPLATEA */
609     TEST_TYPE(LPCDLGTEMPLATEA, 4, 4);
610     TEST_TYPE_POINTER(LPCDLGTEMPLATEA, 18, 2);
611 }
612
613 static void test_pack_LPCDLGTEMPLATEW(void)
614 {
615     /* LPCDLGTEMPLATEW */
616     TEST_TYPE(LPCDLGTEMPLATEW, 4, 4);
617     TEST_TYPE_POINTER(LPCDLGTEMPLATEW, 18, 2);
618 }
619
620 static void test_pack_LPCLIENTCREATESTRUCT(void)
621 {
622     /* LPCLIENTCREATESTRUCT */
623     TEST_TYPE(LPCLIENTCREATESTRUCT, 4, 4);
624     TEST_TYPE_POINTER(LPCLIENTCREATESTRUCT, 8, 4);
625 }
626
627 static void test_pack_LPCMENUINFO(void)
628 {
629     /* LPCMENUINFO */
630     TEST_TYPE(LPCMENUINFO, 4, 4);
631     TEST_TYPE_POINTER(LPCMENUINFO, 28, 4);
632 }
633
634 static void test_pack_LPCMENUITEMINFOA(void)
635 {
636     /* LPCMENUITEMINFOA */
637     TEST_TYPE(LPCMENUITEMINFOA, 4, 4);
638 }
639
640 static void test_pack_LPCMENUITEMINFOW(void)
641 {
642     /* LPCMENUITEMINFOW */
643     TEST_TYPE(LPCMENUITEMINFOW, 4, 4);
644     TEST_TYPE_POINTER(LPCMENUITEMINFOW, 48, 4);
645 }
646
647 static void test_pack_LPCOMBOBOXINFO(void)
648 {
649     /* LPCOMBOBOXINFO */
650     TEST_TYPE(LPCOMBOBOXINFO, 4, 4);
651     TEST_TYPE_POINTER(LPCOMBOBOXINFO, 52, 4);
652 }
653
654 static void test_pack_LPCOMPAREITEMSTRUCT(void)
655 {
656     /* LPCOMPAREITEMSTRUCT */
657     TEST_TYPE(LPCOMPAREITEMSTRUCT, 4, 4);
658     TEST_TYPE_POINTER(LPCOMPAREITEMSTRUCT, 32, 4);
659 }
660
661 static void test_pack_LPCREATESTRUCTA(void)
662 {
663     /* LPCREATESTRUCTA */
664     TEST_TYPE(LPCREATESTRUCTA, 4, 4);
665     TEST_TYPE_POINTER(LPCREATESTRUCTA, 48, 4);
666 }
667
668 static void test_pack_LPCREATESTRUCTW(void)
669 {
670     /* LPCREATESTRUCTW */
671     TEST_TYPE(LPCREATESTRUCTW, 4, 4);
672     TEST_TYPE_POINTER(LPCREATESTRUCTW, 48, 4);
673 }
674
675 static void test_pack_LPCSCROLLINFO(void)
676 {
677     /* LPCSCROLLINFO */
678     TEST_TYPE(LPCSCROLLINFO, 4, 4);
679     TEST_TYPE_POINTER(LPCSCROLLINFO, 28, 4);
680 }
681
682 static void test_pack_LPCURSORINFO(void)
683 {
684     /* LPCURSORINFO */
685     TEST_TYPE(LPCURSORINFO, 4, 4);
686     TEST_TYPE_POINTER(LPCURSORINFO, 20, 4);
687 }
688
689 static void test_pack_LPCWPRETSTRUCT(void)
690 {
691     /* LPCWPRETSTRUCT */
692     TEST_TYPE(LPCWPRETSTRUCT, 4, 4);
693     TEST_TYPE_POINTER(LPCWPRETSTRUCT, 20, 4);
694 }
695
696 static void test_pack_LPCWPSTRUCT(void)
697 {
698     /* LPCWPSTRUCT */
699     TEST_TYPE(LPCWPSTRUCT, 4, 4);
700     TEST_TYPE_POINTER(LPCWPSTRUCT, 16, 4);
701 }
702
703 static void test_pack_LPDEBUGHOOKINFO(void)
704 {
705     /* LPDEBUGHOOKINFO */
706     TEST_TYPE(LPDEBUGHOOKINFO, 4, 4);
707     TEST_TYPE_POINTER(LPDEBUGHOOKINFO, 20, 4);
708 }
709
710 static void test_pack_LPDELETEITEMSTRUCT(void)
711 {
712     /* LPDELETEITEMSTRUCT */
713     TEST_TYPE(LPDELETEITEMSTRUCT, 4, 4);
714     TEST_TYPE_POINTER(LPDELETEITEMSTRUCT, 20, 4);
715 }
716
717 static void test_pack_LPDLGITEMTEMPLATEA(void)
718 {
719     /* LPDLGITEMTEMPLATEA */
720     TEST_TYPE(LPDLGITEMTEMPLATEA, 4, 4);
721     TEST_TYPE_POINTER(LPDLGITEMTEMPLATEA, 18, 2);
722 }
723
724 static void test_pack_LPDLGITEMTEMPLATEW(void)
725 {
726     /* LPDLGITEMTEMPLATEW */
727     TEST_TYPE(LPDLGITEMTEMPLATEW, 4, 4);
728     TEST_TYPE_POINTER(LPDLGITEMTEMPLATEW, 18, 2);
729 }
730
731 static void test_pack_LPDLGTEMPLATEA(void)
732 {
733     /* LPDLGTEMPLATEA */
734     TEST_TYPE(LPDLGTEMPLATEA, 4, 4);
735     TEST_TYPE_POINTER(LPDLGTEMPLATEA, 18, 2);
736 }
737
738 static void test_pack_LPDLGTEMPLATEW(void)
739 {
740     /* LPDLGTEMPLATEW */
741     TEST_TYPE(LPDLGTEMPLATEW, 4, 4);
742     TEST_TYPE_POINTER(LPDLGTEMPLATEW, 18, 2);
743 }
744
745 static void test_pack_LPDRAWITEMSTRUCT(void)
746 {
747     /* LPDRAWITEMSTRUCT */
748     TEST_TYPE(LPDRAWITEMSTRUCT, 4, 4);
749     TEST_TYPE_POINTER(LPDRAWITEMSTRUCT, 48, 4);
750 }
751
752 static void test_pack_LPDRAWTEXTPARAMS(void)
753 {
754     /* LPDRAWTEXTPARAMS */
755     TEST_TYPE(LPDRAWTEXTPARAMS, 4, 4);
756     TEST_TYPE_POINTER(LPDRAWTEXTPARAMS, 20, 4);
757 }
758
759 static void test_pack_LPEVENTMSG(void)
760 {
761     /* LPEVENTMSG */
762     TEST_TYPE(LPEVENTMSG, 4, 4);
763     TEST_TYPE_POINTER(LPEVENTMSG, 20, 4);
764 }
765
766 static void test_pack_LPFILTERKEYS(void)
767 {
768     /* LPFILTERKEYS */
769     TEST_TYPE(LPFILTERKEYS, 4, 4);
770     TEST_TYPE_POINTER(LPFILTERKEYS, 24, 4);
771 }
772
773 static void test_pack_LPHARDWAREHOOKSTRUCT(void)
774 {
775     /* LPHARDWAREHOOKSTRUCT */
776     TEST_TYPE(LPHARDWAREHOOKSTRUCT, 4, 4);
777     TEST_TYPE_POINTER(LPHARDWAREHOOKSTRUCT, 16, 4);
778 }
779
780 static void test_pack_LPHARDWAREINPUT(void)
781 {
782     /* LPHARDWAREINPUT */
783     TEST_TYPE(LPHARDWAREINPUT, 4, 4);
784     TEST_TYPE_POINTER(LPHARDWAREINPUT, 8, 4);
785 }
786
787 static void test_pack_LPHELPINFO(void)
788 {
789     /* LPHELPINFO */
790     TEST_TYPE(LPHELPINFO, 4, 4);
791     TEST_TYPE_POINTER(LPHELPINFO, 28, 4);
792 }
793
794 static void test_pack_LPHELPWININFOA(void)
795 {
796     /* LPHELPWININFOA */
797     TEST_TYPE(LPHELPWININFOA, 4, 4);
798     TEST_TYPE_POINTER(LPHELPWININFOA, 28, 4);
799 }
800
801 static void test_pack_LPHELPWININFOW(void)
802 {
803     /* LPHELPWININFOW */
804     TEST_TYPE(LPHELPWININFOW, 4, 4);
805     TEST_TYPE_POINTER(LPHELPWININFOW, 28, 4);
806 }
807
808 static void test_pack_LPHIGHCONTRASTA(void)
809 {
810     /* LPHIGHCONTRASTA */
811     TEST_TYPE(LPHIGHCONTRASTA, 4, 4);
812 }
813
814 static void test_pack_LPHIGHCONTRASTW(void)
815 {
816     /* LPHIGHCONTRASTW */
817     TEST_TYPE(LPHIGHCONTRASTW, 4, 4);
818     TEST_TYPE_POINTER(LPHIGHCONTRASTW, 12, 4);
819 }
820
821 static void test_pack_LPICONMETRICSA(void)
822 {
823     /* LPICONMETRICSA */
824     TEST_TYPE(LPICONMETRICSA, 4, 4);
825     TEST_TYPE_POINTER(LPICONMETRICSA, 76, 4);
826 }
827
828 static void test_pack_LPICONMETRICSW(void)
829 {
830     /* LPICONMETRICSW */
831     TEST_TYPE(LPICONMETRICSW, 4, 4);
832     TEST_TYPE_POINTER(LPICONMETRICSW, 108, 4);
833 }
834
835 static void test_pack_LPINPUT(void)
836 {
837     /* LPINPUT */
838     TEST_TYPE(LPINPUT, 4, 4);
839 }
840
841 static void test_pack_LPKBDLLHOOKSTRUCT(void)
842 {
843     /* LPKBDLLHOOKSTRUCT */
844     TEST_TYPE(LPKBDLLHOOKSTRUCT, 4, 4);
845     TEST_TYPE_POINTER(LPKBDLLHOOKSTRUCT, 20, 4);
846 }
847
848 static void test_pack_LPKEYBDINPUT(void)
849 {
850     /* LPKEYBDINPUT */
851     TEST_TYPE(LPKEYBDINPUT, 4, 4);
852     TEST_TYPE_POINTER(LPKEYBDINPUT, 16, 4);
853 }
854
855 static void test_pack_LPMDICREATESTRUCTA(void)
856 {
857     /* LPMDICREATESTRUCTA */
858     TEST_TYPE(LPMDICREATESTRUCTA, 4, 4);
859     TEST_TYPE_POINTER(LPMDICREATESTRUCTA, 36, 4);
860 }
861
862 static void test_pack_LPMDICREATESTRUCTW(void)
863 {
864     /* LPMDICREATESTRUCTW */
865     TEST_TYPE(LPMDICREATESTRUCTW, 4, 4);
866     TEST_TYPE_POINTER(LPMDICREATESTRUCTW, 36, 4);
867 }
868
869 static void test_pack_LPMDINEXTMENU(void)
870 {
871     /* LPMDINEXTMENU */
872     TEST_TYPE(LPMDINEXTMENU, 4, 4);
873     TEST_TYPE_POINTER(LPMDINEXTMENU, 12, 4);
874 }
875
876 static void test_pack_LPMEASUREITEMSTRUCT(void)
877 {
878     /* LPMEASUREITEMSTRUCT */
879     TEST_TYPE(LPMEASUREITEMSTRUCT, 4, 4);
880     TEST_TYPE_POINTER(LPMEASUREITEMSTRUCT, 24, 4);
881 }
882
883 static void test_pack_LPMENUINFO(void)
884 {
885     /* LPMENUINFO */
886     TEST_TYPE(LPMENUINFO, 4, 4);
887     TEST_TYPE_POINTER(LPMENUINFO, 28, 4);
888 }
889
890 static void test_pack_LPMENUITEMINFOA(void)
891 {
892     /* LPMENUITEMINFOA */
893     TEST_TYPE(LPMENUITEMINFOA, 4, 4);
894 }
895
896 static void test_pack_LPMENUITEMINFOW(void)
897 {
898     /* LPMENUITEMINFOW */
899     TEST_TYPE(LPMENUITEMINFOW, 4, 4);
900     TEST_TYPE_POINTER(LPMENUITEMINFOW, 48, 4);
901 }
902
903 static void test_pack_LPMENUTEMPLATE(void)
904 {
905     /* LPMENUTEMPLATE */
906     TEST_TYPE(LPMENUTEMPLATE, 4, 4);
907 }
908
909 static void test_pack_LPMINIMIZEDMETRICS(void)
910 {
911     /* LPMINIMIZEDMETRICS */
912     TEST_TYPE(LPMINIMIZEDMETRICS, 4, 4);
913     TEST_TYPE_POINTER(LPMINIMIZEDMETRICS, 20, 4);
914 }
915
916 static void test_pack_LPMINMAXINFO(void)
917 {
918     /* LPMINMAXINFO */
919     TEST_TYPE(LPMINMAXINFO, 4, 4);
920     TEST_TYPE_POINTER(LPMINMAXINFO, 40, 4);
921 }
922
923 static void test_pack_LPMONITORINFO(void)
924 {
925     /* LPMONITORINFO */
926     TEST_TYPE(LPMONITORINFO, 4, 4);
927     TEST_TYPE_POINTER(LPMONITORINFO, 40, 4);
928 }
929
930 static void test_pack_LPMONITORINFOEXA(void)
931 {
932     /* LPMONITORINFOEXA */
933     TEST_TYPE(LPMONITORINFOEXA, 4, 4);
934     TEST_TYPE_POINTER(LPMONITORINFOEXA, 72, 4);
935 }
936
937 static void test_pack_LPMONITORINFOEXW(void)
938 {
939     /* LPMONITORINFOEXW */
940     TEST_TYPE(LPMONITORINFOEXW, 4, 4);
941     TEST_TYPE_POINTER(LPMONITORINFOEXW, 104, 4);
942 }
943
944 static void test_pack_LPMOUSEHOOKSTRUCT(void)
945 {
946     /* LPMOUSEHOOKSTRUCT */
947     TEST_TYPE(LPMOUSEHOOKSTRUCT, 4, 4);
948     TEST_TYPE_POINTER(LPMOUSEHOOKSTRUCT, 20, 4);
949 }
950
951 static void test_pack_LPMOUSEINPUT(void)
952 {
953     /* LPMOUSEINPUT */
954     TEST_TYPE(LPMOUSEINPUT, 4, 4);
955     TEST_TYPE_POINTER(LPMOUSEINPUT, 24, 4);
956 }
957
958 static void test_pack_LPMOUSEKEYS(void)
959 {
960     /* LPMOUSEKEYS */
961     TEST_TYPE(LPMOUSEKEYS, 4, 4);
962     TEST_TYPE_POINTER(LPMOUSEKEYS, 28, 4);
963 }
964
965 static void test_pack_LPMSG(void)
966 {
967     /* LPMSG */
968     TEST_TYPE(LPMSG, 4, 4);
969     TEST_TYPE_POINTER(LPMSG, 28, 4);
970 }
971
972 static void test_pack_LPMSGBOXPARAMSA(void)
973 {
974     /* LPMSGBOXPARAMSA */
975     TEST_TYPE(LPMSGBOXPARAMSA, 4, 4);
976     TEST_TYPE_POINTER(LPMSGBOXPARAMSA, 40, 4);
977 }
978
979 static void test_pack_LPMSGBOXPARAMSW(void)
980 {
981     /* LPMSGBOXPARAMSW */
982     TEST_TYPE(LPMSGBOXPARAMSW, 4, 4);
983     TEST_TYPE_POINTER(LPMSGBOXPARAMSW, 40, 4);
984 }
985
986 static void test_pack_LPMSLLHOOKSTRUCT(void)
987 {
988     /* LPMSLLHOOKSTRUCT */
989     TEST_TYPE(LPMSLLHOOKSTRUCT, 4, 4);
990     TEST_TYPE_POINTER(LPMSLLHOOKSTRUCT, 24, 4);
991 }
992
993 static void test_pack_LPMULTIKEYHELPA(void)
994 {
995     /* LPMULTIKEYHELPA */
996     TEST_TYPE(LPMULTIKEYHELPA, 4, 4);
997     TEST_TYPE_POINTER(LPMULTIKEYHELPA, 8, 4);
998 }
999
1000 static void test_pack_LPMULTIKEYHELPW(void)
1001 {
1002     /* LPMULTIKEYHELPW */
1003     TEST_TYPE(LPMULTIKEYHELPW, 4, 4);
1004     TEST_TYPE_POINTER(LPMULTIKEYHELPW, 8, 4);
1005 }
1006
1007 static void test_pack_LPNCCALCSIZE_PARAMS(void)
1008 {
1009     /* LPNCCALCSIZE_PARAMS */
1010     TEST_TYPE(LPNCCALCSIZE_PARAMS, 4, 4);
1011     TEST_TYPE_POINTER(LPNCCALCSIZE_PARAMS, 52, 4);
1012 }
1013
1014 static void test_pack_LPNMHDR(void)
1015 {
1016     /* LPNMHDR */
1017     TEST_TYPE(LPNMHDR, 4, 4);
1018     TEST_TYPE_POINTER(LPNMHDR, 12, 4);
1019 }
1020
1021 static void test_pack_LPNONCLIENTMETRICSA(void)
1022 {
1023     /* LPNONCLIENTMETRICSA */
1024     TEST_TYPE(LPNONCLIENTMETRICSA, 4, 4);
1025     TEST_TYPE_POINTER(LPNONCLIENTMETRICSA, 340, 4);
1026 }
1027
1028 static void test_pack_LPNONCLIENTMETRICSW(void)
1029 {
1030     /* LPNONCLIENTMETRICSW */
1031     TEST_TYPE(LPNONCLIENTMETRICSW, 4, 4);
1032     TEST_TYPE_POINTER(LPNONCLIENTMETRICSW, 500, 4);
1033 }
1034
1035 static void test_pack_LPPAINTSTRUCT(void)
1036 {
1037     /* LPPAINTSTRUCT */
1038     TEST_TYPE(LPPAINTSTRUCT, 4, 4);
1039     TEST_TYPE_POINTER(LPPAINTSTRUCT, 64, 4);
1040 }
1041
1042 static void test_pack_LPSCROLLINFO(void)
1043 {
1044     /* LPSCROLLINFO */
1045     TEST_TYPE(LPSCROLLINFO, 4, 4);
1046     TEST_TYPE_POINTER(LPSCROLLINFO, 28, 4);
1047 }
1048
1049 static void test_pack_LPSERIALKEYSA(void)
1050 {
1051     /* LPSERIALKEYSA */
1052     TEST_TYPE(LPSERIALKEYSA, 4, 4);
1053 }
1054
1055 static void test_pack_LPSERIALKEYSW(void)
1056 {
1057     /* LPSERIALKEYSW */
1058     TEST_TYPE(LPSERIALKEYSW, 4, 4);
1059     TEST_TYPE_POINTER(LPSERIALKEYSW, 28, 4);
1060 }
1061
1062 static void test_pack_LPSOUNDSENTRYA(void)
1063 {
1064     /* LPSOUNDSENTRYA */
1065     TEST_TYPE(LPSOUNDSENTRYA, 4, 4);
1066 }
1067
1068 static void test_pack_LPSOUNDSENTRYW(void)
1069 {
1070     /* LPSOUNDSENTRYW */
1071     TEST_TYPE(LPSOUNDSENTRYW, 4, 4);
1072     TEST_TYPE_POINTER(LPSOUNDSENTRYW, 48, 4);
1073 }
1074
1075 static void test_pack_LPSTICKYKEYS(void)
1076 {
1077     /* LPSTICKYKEYS */
1078     TEST_TYPE(LPSTICKYKEYS, 4, 4);
1079     TEST_TYPE_POINTER(LPSTICKYKEYS, 8, 4);
1080 }
1081
1082 static void test_pack_LPSTYLESTRUCT(void)
1083 {
1084     /* LPSTYLESTRUCT */
1085     TEST_TYPE(LPSTYLESTRUCT, 4, 4);
1086     TEST_TYPE_POINTER(LPSTYLESTRUCT, 8, 4);
1087 }
1088
1089 static void test_pack_LPTOGGLEKEYS(void)
1090 {
1091     /* LPTOGGLEKEYS */
1092     TEST_TYPE(LPTOGGLEKEYS, 4, 4);
1093     TEST_TYPE_POINTER(LPTOGGLEKEYS, 8, 4);
1094 }
1095
1096 static void test_pack_LPTPMPARAMS(void)
1097 {
1098     /* LPTPMPARAMS */
1099     TEST_TYPE(LPTPMPARAMS, 4, 4);
1100     TEST_TYPE_POINTER(LPTPMPARAMS, 20, 4);
1101 }
1102
1103 static void test_pack_LPTRACKMOUSEEVENT(void)
1104 {
1105     /* LPTRACKMOUSEEVENT */
1106     TEST_TYPE(LPTRACKMOUSEEVENT, 4, 4);
1107     TEST_TYPE_POINTER(LPTRACKMOUSEEVENT, 16, 4);
1108 }
1109
1110 static void test_pack_LPWINDOWINFO(void)
1111 {
1112     /* LPWINDOWINFO */
1113     TEST_TYPE(LPWINDOWINFO, 4, 4);
1114 }
1115
1116 static void test_pack_LPWINDOWPLACEMENT(void)
1117 {
1118     /* LPWINDOWPLACEMENT */
1119     TEST_TYPE(LPWINDOWPLACEMENT, 4, 4);
1120     TEST_TYPE_POINTER(LPWINDOWPLACEMENT, 44, 4);
1121 }
1122
1123 static void test_pack_LPWINDOWPOS(void)
1124 {
1125     /* LPWINDOWPOS */
1126     TEST_TYPE(LPWINDOWPOS, 4, 4);
1127     TEST_TYPE_POINTER(LPWINDOWPOS, 28, 4);
1128 }
1129
1130 static void test_pack_LPWNDCLASSA(void)
1131 {
1132     /* LPWNDCLASSA */
1133     TEST_TYPE(LPWNDCLASSA, 4, 4);
1134     TEST_TYPE_POINTER(LPWNDCLASSA, 40, 4);
1135 }
1136
1137 static void test_pack_LPWNDCLASSEXA(void)
1138 {
1139     /* LPWNDCLASSEXA */
1140     TEST_TYPE(LPWNDCLASSEXA, 4, 4);
1141     TEST_TYPE_POINTER(LPWNDCLASSEXA, 48, 4);
1142 }
1143
1144 static void test_pack_LPWNDCLASSEXW(void)
1145 {
1146     /* LPWNDCLASSEXW */
1147     TEST_TYPE(LPWNDCLASSEXW, 4, 4);
1148     TEST_TYPE_POINTER(LPWNDCLASSEXW, 48, 4);
1149 }
1150
1151 static void test_pack_LPWNDCLASSW(void)
1152 {
1153     /* LPWNDCLASSW */
1154     TEST_TYPE(LPWNDCLASSW, 4, 4);
1155     TEST_TYPE_POINTER(LPWNDCLASSW, 40, 4);
1156 }
1157
1158 static void test_pack_MDICREATESTRUCTA(void)
1159 {
1160     /* MDICREATESTRUCTA (pack 4) */
1161     TEST_TYPE(MDICREATESTRUCTA, 36, 4);
1162     TEST_FIELD(MDICREATESTRUCTA, LPCSTR, szClass, 0, 4, 4);
1163     TEST_FIELD(MDICREATESTRUCTA, LPCSTR, szTitle, 4, 4, 4);
1164     TEST_FIELD(MDICREATESTRUCTA, HINSTANCE, hOwner, 8, 4, 4);
1165     TEST_FIELD(MDICREATESTRUCTA, INT, x, 12, 4, 4);
1166     TEST_FIELD(MDICREATESTRUCTA, INT, y, 16, 4, 4);
1167     TEST_FIELD(MDICREATESTRUCTA, INT, cx, 20, 4, 4);
1168     TEST_FIELD(MDICREATESTRUCTA, INT, cy, 24, 4, 4);
1169     TEST_FIELD(MDICREATESTRUCTA, DWORD, style, 28, 4, 4);
1170     TEST_FIELD(MDICREATESTRUCTA, LPARAM, lParam, 32, 4, 4);
1171 }
1172
1173 static void test_pack_MDICREATESTRUCTW(void)
1174 {
1175     /* MDICREATESTRUCTW (pack 4) */
1176     TEST_TYPE(MDICREATESTRUCTW, 36, 4);
1177     TEST_FIELD(MDICREATESTRUCTW, LPCWSTR, szClass, 0, 4, 4);
1178     TEST_FIELD(MDICREATESTRUCTW, LPCWSTR, szTitle, 4, 4, 4);
1179     TEST_FIELD(MDICREATESTRUCTW, HINSTANCE, hOwner, 8, 4, 4);
1180     TEST_FIELD(MDICREATESTRUCTW, INT, x, 12, 4, 4);
1181     TEST_FIELD(MDICREATESTRUCTW, INT, y, 16, 4, 4);
1182     TEST_FIELD(MDICREATESTRUCTW, INT, cx, 20, 4, 4);
1183     TEST_FIELD(MDICREATESTRUCTW, INT, cy, 24, 4, 4);
1184     TEST_FIELD(MDICREATESTRUCTW, DWORD, style, 28, 4, 4);
1185     TEST_FIELD(MDICREATESTRUCTW, LPARAM, lParam, 32, 4, 4);
1186 }
1187
1188 static void test_pack_MDINEXTMENU(void)
1189 {
1190     /* MDINEXTMENU (pack 4) */
1191     TEST_TYPE(MDINEXTMENU, 12, 4);
1192     TEST_FIELD(MDINEXTMENU, HMENU, hmenuIn, 0, 4, 4);
1193     TEST_FIELD(MDINEXTMENU, HMENU, hmenuNext, 4, 4, 4);
1194     TEST_FIELD(MDINEXTMENU, HWND, hwndNext, 8, 4, 4);
1195 }
1196
1197 static void test_pack_MEASUREITEMSTRUCT(void)
1198 {
1199     /* MEASUREITEMSTRUCT (pack 4) */
1200     TEST_TYPE(MEASUREITEMSTRUCT, 24, 4);
1201     TEST_FIELD(MEASUREITEMSTRUCT, UINT, CtlType, 0, 4, 4);
1202     TEST_FIELD(MEASUREITEMSTRUCT, UINT, CtlID, 4, 4, 4);
1203     TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemID, 8, 4, 4);
1204     TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemWidth, 12, 4, 4);
1205     TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemHeight, 16, 4, 4);
1206     TEST_FIELD(MEASUREITEMSTRUCT, ULONG_PTR, itemData, 20, 4, 4);
1207 }
1208
1209 static void test_pack_MENUINFO(void)
1210 {
1211     /* MENUINFO (pack 4) */
1212     TEST_TYPE(MENUINFO, 28, 4);
1213     TEST_FIELD(MENUINFO, DWORD, cbSize, 0, 4, 4);
1214     TEST_FIELD(MENUINFO, DWORD, fMask, 4, 4, 4);
1215     TEST_FIELD(MENUINFO, DWORD, dwStyle, 8, 4, 4);
1216     TEST_FIELD(MENUINFO, UINT, cyMax, 12, 4, 4);
1217     TEST_FIELD(MENUINFO, HBRUSH, hbrBack, 16, 4, 4);
1218     TEST_FIELD(MENUINFO, DWORD, dwContextHelpID, 20, 4, 4);
1219     TEST_FIELD(MENUINFO, ULONG_PTR, dwMenuData, 24, 4, 4);
1220 }
1221
1222 static void test_pack_MENUITEMINFOA(void)
1223 {
1224     /* MENUITEMINFOA (pack 4) */
1225     TEST_FIELD(MENUITEMINFOA, UINT, cbSize, 0, 4, 4);
1226     TEST_FIELD(MENUITEMINFOA, UINT, fMask, 4, 4, 4);
1227     TEST_FIELD(MENUITEMINFOA, UINT, fType, 8, 4, 4);
1228     TEST_FIELD(MENUITEMINFOA, UINT, fState, 12, 4, 4);
1229     TEST_FIELD(MENUITEMINFOA, UINT, wID, 16, 4, 4);
1230     TEST_FIELD(MENUITEMINFOA, HMENU, hSubMenu, 20, 4, 4);
1231     TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpChecked, 24, 4, 4);
1232     TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpUnchecked, 28, 4, 4);
1233     TEST_FIELD(MENUITEMINFOA, ULONG_PTR, dwItemData, 32, 4, 4);
1234 }
1235
1236 static void test_pack_MENUITEMINFOW(void)
1237 {
1238     /* MENUITEMINFOW (pack 4) */
1239     TEST_TYPE(MENUITEMINFOW, 48, 4);
1240     TEST_FIELD(MENUITEMINFOW, UINT, cbSize, 0, 4, 4);
1241     TEST_FIELD(MENUITEMINFOW, UINT, fMask, 4, 4, 4);
1242     TEST_FIELD(MENUITEMINFOW, UINT, fType, 8, 4, 4);
1243     TEST_FIELD(MENUITEMINFOW, UINT, fState, 12, 4, 4);
1244     TEST_FIELD(MENUITEMINFOW, UINT, wID, 16, 4, 4);
1245     TEST_FIELD(MENUITEMINFOW, HMENU, hSubMenu, 20, 4, 4);
1246     TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpChecked, 24, 4, 4);
1247     TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpUnchecked, 28, 4, 4);
1248     TEST_FIELD(MENUITEMINFOW, ULONG_PTR, dwItemData, 32, 4, 4);
1249     TEST_FIELD(MENUITEMINFOW, LPWSTR, dwTypeData, 36, 4, 4);
1250     TEST_FIELD(MENUITEMINFOW, UINT, cch, 40, 4, 4);
1251     TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpItem, 44, 4, 4);
1252 }
1253
1254 static void test_pack_MENUITEMTEMPLATE(void)
1255 {
1256     /* MENUITEMTEMPLATE (pack 4) */
1257     TEST_TYPE(MENUITEMTEMPLATE, 6, 2);
1258     TEST_FIELD(MENUITEMTEMPLATE, WORD, mtOption, 0, 2, 2);
1259     TEST_FIELD(MENUITEMTEMPLATE, WORD, mtID, 2, 2, 2);
1260     TEST_FIELD(MENUITEMTEMPLATE, WCHAR[1], mtString, 4, 2, 2);
1261 }
1262
1263 static void test_pack_MENUITEMTEMPLATEHEADER(void)
1264 {
1265     /* MENUITEMTEMPLATEHEADER (pack 4) */
1266     TEST_TYPE(MENUITEMTEMPLATEHEADER, 4, 2);
1267     TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, versionNumber, 0, 2, 2);
1268     TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, offset, 2, 2, 2);
1269 }
1270
1271 static void test_pack_MENUTEMPLATE(void)
1272 {
1273     /* MENUTEMPLATE */
1274 }
1275
1276 static void test_pack_MINIMIZEDMETRICS(void)
1277 {
1278     /* MINIMIZEDMETRICS (pack 4) */
1279     TEST_TYPE(MINIMIZEDMETRICS, 20, 4);
1280     TEST_FIELD(MINIMIZEDMETRICS, UINT, cbSize, 0, 4, 4);
1281     TEST_FIELD(MINIMIZEDMETRICS, int, iWidth, 4, 4, 4);
1282     TEST_FIELD(MINIMIZEDMETRICS, int, iHorzGap, 8, 4, 4);
1283     TEST_FIELD(MINIMIZEDMETRICS, int, iVertGap, 12, 4, 4);
1284     TEST_FIELD(MINIMIZEDMETRICS, int, iArrange, 16, 4, 4);
1285 }
1286
1287 static void test_pack_MINMAXINFO(void)
1288 {
1289     /* MINMAXINFO (pack 4) */
1290     TEST_TYPE(MINMAXINFO, 40, 4);
1291     TEST_FIELD(MINMAXINFO, POINT, ptReserved, 0, 8, 4);
1292     TEST_FIELD(MINMAXINFO, POINT, ptMaxSize, 8, 8, 4);
1293     TEST_FIELD(MINMAXINFO, POINT, ptMaxPosition, 16, 8, 4);
1294     TEST_FIELD(MINMAXINFO, POINT, ptMinTrackSize, 24, 8, 4);
1295     TEST_FIELD(MINMAXINFO, POINT, ptMaxTrackSize, 32, 8, 4);
1296 }
1297
1298 static void test_pack_MONITORENUMPROC(void)
1299 {
1300     /* MONITORENUMPROC */
1301     TEST_TYPE(MONITORENUMPROC, 4, 4);
1302 }
1303
1304 static void test_pack_MONITORINFO(void)
1305 {
1306     /* MONITORINFO (pack 4) */
1307     TEST_TYPE(MONITORINFO, 40, 4);
1308     TEST_FIELD(MONITORINFO, DWORD, cbSize, 0, 4, 4);
1309     TEST_FIELD(MONITORINFO, RECT, rcMonitor, 4, 16, 4);
1310     TEST_FIELD(MONITORINFO, RECT, rcWork, 20, 16, 4);
1311     TEST_FIELD(MONITORINFO, DWORD, dwFlags, 36, 4, 4);
1312 }
1313
1314 static void test_pack_MONITORINFOEXA(void)
1315 {
1316     /* MONITORINFOEXA (pack 4) */
1317     TEST_TYPE(MONITORINFOEXA, 72, 4);
1318     TEST_FIELD(MONITORINFOEXA, DWORD, cbSize, 0, 4, 4);
1319     TEST_FIELD(MONITORINFOEXA, RECT, rcMonitor, 4, 16, 4);
1320     TEST_FIELD(MONITORINFOEXA, RECT, rcWork, 20, 16, 4);
1321     TEST_FIELD(MONITORINFOEXA, DWORD, dwFlags, 36, 4, 4);
1322     TEST_FIELD(MONITORINFOEXA, CHAR[CCHDEVICENAME], szDevice, 40, 32, 1);
1323 }
1324
1325 static void test_pack_MONITORINFOEXW(void)
1326 {
1327     /* MONITORINFOEXW (pack 4) */
1328     TEST_TYPE(MONITORINFOEXW, 104, 4);
1329     TEST_FIELD(MONITORINFOEXW, DWORD, cbSize, 0, 4, 4);
1330     TEST_FIELD(MONITORINFOEXW, RECT, rcMonitor, 4, 16, 4);
1331     TEST_FIELD(MONITORINFOEXW, RECT, rcWork, 20, 16, 4);
1332     TEST_FIELD(MONITORINFOEXW, DWORD, dwFlags, 36, 4, 4);
1333     TEST_FIELD(MONITORINFOEXW, WCHAR[CCHDEVICENAME], szDevice, 40, 64, 2);
1334 }
1335
1336 static void test_pack_MOUSEHOOKSTRUCT(void)
1337 {
1338     /* MOUSEHOOKSTRUCT (pack 4) */
1339     TEST_TYPE(MOUSEHOOKSTRUCT, 20, 4);
1340     TEST_FIELD(MOUSEHOOKSTRUCT, POINT, pt, 0, 8, 4);
1341     TEST_FIELD(MOUSEHOOKSTRUCT, HWND, hwnd, 8, 4, 4);
1342     TEST_FIELD(MOUSEHOOKSTRUCT, UINT, wHitTestCode, 12, 4, 4);
1343     TEST_FIELD(MOUSEHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 16, 4, 4);
1344 }
1345
1346 static void test_pack_MOUSEINPUT(void)
1347 {
1348     /* MOUSEINPUT (pack 4) */
1349     TEST_TYPE(MOUSEINPUT, 24, 4);
1350     TEST_FIELD(MOUSEINPUT, LONG, dx, 0, 4, 4);
1351     TEST_FIELD(MOUSEINPUT, LONG, dy, 4, 4, 4);
1352     TEST_FIELD(MOUSEINPUT, DWORD, mouseData, 8, 4, 4);
1353     TEST_FIELD(MOUSEINPUT, DWORD, dwFlags, 12, 4, 4);
1354     TEST_FIELD(MOUSEINPUT, DWORD, time, 16, 4, 4);
1355     TEST_FIELD(MOUSEINPUT, ULONG_PTR, dwExtraInfo, 20, 4, 4);
1356 }
1357
1358 static void test_pack_MOUSEKEYS(void)
1359 {
1360     /* MOUSEKEYS (pack 4) */
1361     TEST_TYPE(MOUSEKEYS, 28, 4);
1362     TEST_FIELD(MOUSEKEYS, UINT, cbSize, 0, 4, 4);
1363     TEST_FIELD(MOUSEKEYS, DWORD, dwFlags, 4, 4, 4);
1364     TEST_FIELD(MOUSEKEYS, DWORD, iMaxSpeed, 8, 4, 4);
1365     TEST_FIELD(MOUSEKEYS, DWORD, iTimeToMaxSpeed, 12, 4, 4);
1366     TEST_FIELD(MOUSEKEYS, DWORD, iCtrlSpeed, 16, 4, 4);
1367     TEST_FIELD(MOUSEKEYS, DWORD, dwReserved1, 20, 4, 4);
1368     TEST_FIELD(MOUSEKEYS, DWORD, dwReserved2, 24, 4, 4);
1369 }
1370
1371 static void test_pack_MSG(void)
1372 {
1373     /* MSG (pack 4) */
1374     TEST_TYPE(MSG, 28, 4);
1375     TEST_FIELD(MSG, HWND, hwnd, 0, 4, 4);
1376     TEST_FIELD(MSG, UINT, message, 4, 4, 4);
1377     TEST_FIELD(MSG, WPARAM, wParam, 8, 4, 4);
1378     TEST_FIELD(MSG, LPARAM, lParam, 12, 4, 4);
1379     TEST_FIELD(MSG, DWORD, time, 16, 4, 4);
1380     TEST_FIELD(MSG, POINT, pt, 20, 8, 4);
1381 }
1382
1383 static void test_pack_MSGBOXCALLBACK(void)
1384 {
1385     /* MSGBOXCALLBACK */
1386     TEST_TYPE(MSGBOXCALLBACK, 4, 4);
1387 }
1388
1389 static void test_pack_MSGBOXPARAMSA(void)
1390 {
1391     /* MSGBOXPARAMSA (pack 4) */
1392     TEST_TYPE(MSGBOXPARAMSA, 40, 4);
1393     TEST_FIELD(MSGBOXPARAMSA, UINT, cbSize, 0, 4, 4);
1394     TEST_FIELD(MSGBOXPARAMSA, HWND, hwndOwner, 4, 4, 4);
1395     TEST_FIELD(MSGBOXPARAMSA, HINSTANCE, hInstance, 8, 4, 4);
1396     TEST_FIELD(MSGBOXPARAMSA, LPCSTR, lpszText, 12, 4, 4);
1397     TEST_FIELD(MSGBOXPARAMSA, LPCSTR, lpszCaption, 16, 4, 4);
1398     TEST_FIELD(MSGBOXPARAMSA, DWORD, dwStyle, 20, 4, 4);
1399     TEST_FIELD(MSGBOXPARAMSA, LPCSTR, lpszIcon, 24, 4, 4);
1400     TEST_FIELD(MSGBOXPARAMSA, DWORD_PTR, dwContextHelpId, 28, 4, 4);
1401     TEST_FIELD(MSGBOXPARAMSA, MSGBOXCALLBACK, lpfnMsgBoxCallback, 32, 4, 4);
1402     TEST_FIELD(MSGBOXPARAMSA, DWORD, dwLanguageId, 36, 4, 4);
1403 }
1404
1405 static void test_pack_MSGBOXPARAMSW(void)
1406 {
1407     /* MSGBOXPARAMSW (pack 4) */
1408     TEST_TYPE(MSGBOXPARAMSW, 40, 4);
1409     TEST_FIELD(MSGBOXPARAMSW, UINT, cbSize, 0, 4, 4);
1410     TEST_FIELD(MSGBOXPARAMSW, HWND, hwndOwner, 4, 4, 4);
1411     TEST_FIELD(MSGBOXPARAMSW, HINSTANCE, hInstance, 8, 4, 4);
1412     TEST_FIELD(MSGBOXPARAMSW, LPCWSTR, lpszText, 12, 4, 4);
1413     TEST_FIELD(MSGBOXPARAMSW, LPCWSTR, lpszCaption, 16, 4, 4);
1414     TEST_FIELD(MSGBOXPARAMSW, DWORD, dwStyle, 20, 4, 4);
1415     TEST_FIELD(MSGBOXPARAMSW, LPCWSTR, lpszIcon, 24, 4, 4);
1416     TEST_FIELD(MSGBOXPARAMSW, DWORD_PTR, dwContextHelpId, 28, 4, 4);
1417     TEST_FIELD(MSGBOXPARAMSW, MSGBOXCALLBACK, lpfnMsgBoxCallback, 32, 4, 4);
1418     TEST_FIELD(MSGBOXPARAMSW, DWORD, dwLanguageId, 36, 4, 4);
1419 }
1420
1421 static void test_pack_MSLLHOOKSTRUCT(void)
1422 {
1423     /* MSLLHOOKSTRUCT (pack 4) */
1424     TEST_TYPE(MSLLHOOKSTRUCT, 24, 4);
1425     TEST_FIELD(MSLLHOOKSTRUCT, POINT, pt, 0, 8, 4);
1426     TEST_FIELD(MSLLHOOKSTRUCT, DWORD, mouseData, 8, 4, 4);
1427     TEST_FIELD(MSLLHOOKSTRUCT, DWORD, flags, 12, 4, 4);
1428     TEST_FIELD(MSLLHOOKSTRUCT, DWORD, time, 16, 4, 4);
1429     TEST_FIELD(MSLLHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 20, 4, 4);
1430 }
1431
1432 static void test_pack_MULTIKEYHELPA(void)
1433 {
1434     /* MULTIKEYHELPA (pack 4) */
1435     TEST_TYPE(MULTIKEYHELPA, 8, 4);
1436     TEST_FIELD(MULTIKEYHELPA, DWORD, mkSize, 0, 4, 4);
1437     TEST_FIELD(MULTIKEYHELPA, CHAR, mkKeylist, 4, 1, 1);
1438     TEST_FIELD(MULTIKEYHELPA, CHAR[1], szKeyphrase, 5, 1, 1);
1439 }
1440
1441 static void test_pack_MULTIKEYHELPW(void)
1442 {
1443     /* MULTIKEYHELPW (pack 4) */
1444     TEST_TYPE(MULTIKEYHELPW, 8, 4);
1445     TEST_FIELD(MULTIKEYHELPW, DWORD, mkSize, 0, 4, 4);
1446     TEST_FIELD(MULTIKEYHELPW, WCHAR, mkKeylist, 4, 2, 2);
1447     TEST_FIELD(MULTIKEYHELPW, WCHAR[1], szKeyphrase, 6, 2, 2);
1448 }
1449
1450 static void test_pack_NAMEENUMPROCA(void)
1451 {
1452     /* NAMEENUMPROCA */
1453     TEST_TYPE(NAMEENUMPROCA, 4, 4);
1454 }
1455
1456 static void test_pack_NAMEENUMPROCW(void)
1457 {
1458     /* NAMEENUMPROCW */
1459     TEST_TYPE(NAMEENUMPROCW, 4, 4);
1460 }
1461
1462 static void test_pack_NCCALCSIZE_PARAMS(void)
1463 {
1464     /* NCCALCSIZE_PARAMS (pack 4) */
1465     TEST_TYPE(NCCALCSIZE_PARAMS, 52, 4);
1466     TEST_FIELD(NCCALCSIZE_PARAMS, RECT[3], rgrc, 0, 48, 4);
1467     TEST_FIELD(NCCALCSIZE_PARAMS, WINDOWPOS *, lppos, 48, 4, 4);
1468 }
1469
1470 static void test_pack_NMHDR(void)
1471 {
1472     /* NMHDR (pack 4) */
1473     TEST_TYPE(NMHDR, 12, 4);
1474     TEST_FIELD(NMHDR, HWND, hwndFrom, 0, 4, 4);
1475     TEST_FIELD(NMHDR, UINT_PTR, idFrom, 4, 4, 4);
1476     TEST_FIELD(NMHDR, UINT, code, 8, 4, 4);
1477 }
1478
1479 static void test_pack_NONCLIENTMETRICSA(void)
1480 {
1481     /* NONCLIENTMETRICSA (pack 4) */
1482     TEST_TYPE(NONCLIENTMETRICSA, 340, 4);
1483     TEST_FIELD(NONCLIENTMETRICSA, UINT, cbSize, 0, 4, 4);
1484     TEST_FIELD(NONCLIENTMETRICSA, INT, iBorderWidth, 4, 4, 4);
1485     TEST_FIELD(NONCLIENTMETRICSA, INT, iScrollWidth, 8, 4, 4);
1486     TEST_FIELD(NONCLIENTMETRICSA, INT, iScrollHeight, 12, 4, 4);
1487     TEST_FIELD(NONCLIENTMETRICSA, INT, iCaptionWidth, 16, 4, 4);
1488     TEST_FIELD(NONCLIENTMETRICSA, INT, iCaptionHeight, 20, 4, 4);
1489     TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfCaptionFont, 24, 60, 4);
1490     TEST_FIELD(NONCLIENTMETRICSA, INT, iSmCaptionWidth, 84, 4, 4);
1491     TEST_FIELD(NONCLIENTMETRICSA, INT, iSmCaptionHeight, 88, 4, 4);
1492     TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfSmCaptionFont, 92, 60, 4);
1493     TEST_FIELD(NONCLIENTMETRICSA, INT, iMenuWidth, 152, 4, 4);
1494     TEST_FIELD(NONCLIENTMETRICSA, INT, iMenuHeight, 156, 4, 4);
1495     TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfMenuFont, 160, 60, 4);
1496     TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfStatusFont, 220, 60, 4);
1497     TEST_FIELD(NONCLIENTMETRICSA, LOGFONTA, lfMessageFont, 280, 60, 4);
1498 }
1499
1500 static void test_pack_NONCLIENTMETRICSW(void)
1501 {
1502     /* NONCLIENTMETRICSW (pack 4) */
1503     TEST_TYPE(NONCLIENTMETRICSW, 500, 4);
1504     TEST_FIELD(NONCLIENTMETRICSW, UINT, cbSize, 0, 4, 4);
1505     TEST_FIELD(NONCLIENTMETRICSW, INT, iBorderWidth, 4, 4, 4);
1506     TEST_FIELD(NONCLIENTMETRICSW, INT, iScrollWidth, 8, 4, 4);
1507     TEST_FIELD(NONCLIENTMETRICSW, INT, iScrollHeight, 12, 4, 4);
1508     TEST_FIELD(NONCLIENTMETRICSW, INT, iCaptionWidth, 16, 4, 4);
1509     TEST_FIELD(NONCLIENTMETRICSW, INT, iCaptionHeight, 20, 4, 4);
1510     TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfCaptionFont, 24, 92, 4);
1511     TEST_FIELD(NONCLIENTMETRICSW, INT, iSmCaptionWidth, 116, 4, 4);
1512     TEST_FIELD(NONCLIENTMETRICSW, INT, iSmCaptionHeight, 120, 4, 4);
1513     TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfSmCaptionFont, 124, 92, 4);
1514     TEST_FIELD(NONCLIENTMETRICSW, INT, iMenuWidth, 216, 4, 4);
1515     TEST_FIELD(NONCLIENTMETRICSW, INT, iMenuHeight, 220, 4, 4);
1516     TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfMenuFont, 224, 92, 4);
1517     TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfStatusFont, 316, 92, 4);
1518     TEST_FIELD(NONCLIENTMETRICSW, LOGFONTW, lfMessageFont, 408, 92, 4);
1519 }
1520
1521 static void test_pack_PAINTSTRUCT(void)
1522 {
1523     /* PAINTSTRUCT (pack 4) */
1524     TEST_TYPE(PAINTSTRUCT, 64, 4);
1525     TEST_FIELD(PAINTSTRUCT, HDC, hdc, 0, 4, 4);
1526     TEST_FIELD(PAINTSTRUCT, BOOL, fErase, 4, 4, 4);
1527     TEST_FIELD(PAINTSTRUCT, RECT, rcPaint, 8, 16, 4);
1528     TEST_FIELD(PAINTSTRUCT, BOOL, fRestore, 24, 4, 4);
1529     TEST_FIELD(PAINTSTRUCT, BOOL, fIncUpdate, 28, 4, 4);
1530     TEST_FIELD(PAINTSTRUCT, BYTE[32], rgbReserved, 32, 32, 1);
1531 }
1532
1533 static void test_pack_PCOMBOBOXINFO(void)
1534 {
1535     /* PCOMBOBOXINFO */
1536     TEST_TYPE(PCOMBOBOXINFO, 4, 4);
1537     TEST_TYPE_POINTER(PCOMBOBOXINFO, 52, 4);
1538 }
1539
1540 static void test_pack_PCOMPAREITEMSTRUCT(void)
1541 {
1542     /* PCOMPAREITEMSTRUCT */
1543     TEST_TYPE(PCOMPAREITEMSTRUCT, 4, 4);
1544     TEST_TYPE_POINTER(PCOMPAREITEMSTRUCT, 32, 4);
1545 }
1546
1547 static void test_pack_PCOPYDATASTRUCT(void)
1548 {
1549     /* PCOPYDATASTRUCT */
1550     TEST_TYPE(PCOPYDATASTRUCT, 4, 4);
1551     TEST_TYPE_POINTER(PCOPYDATASTRUCT, 12, 4);
1552 }
1553
1554 static void test_pack_PCURSORINFO(void)
1555 {
1556     /* PCURSORINFO */
1557     TEST_TYPE(PCURSORINFO, 4, 4);
1558     TEST_TYPE_POINTER(PCURSORINFO, 20, 4);
1559 }
1560
1561 static void test_pack_PCWPRETSTRUCT(void)
1562 {
1563     /* PCWPRETSTRUCT */
1564     TEST_TYPE(PCWPRETSTRUCT, 4, 4);
1565     TEST_TYPE_POINTER(PCWPRETSTRUCT, 20, 4);
1566 }
1567
1568 static void test_pack_PCWPSTRUCT(void)
1569 {
1570     /* PCWPSTRUCT */
1571     TEST_TYPE(PCWPSTRUCT, 4, 4);
1572     TEST_TYPE_POINTER(PCWPSTRUCT, 16, 4);
1573 }
1574
1575 static void test_pack_PDEBUGHOOKINFO(void)
1576 {
1577     /* PDEBUGHOOKINFO */
1578     TEST_TYPE(PDEBUGHOOKINFO, 4, 4);
1579     TEST_TYPE_POINTER(PDEBUGHOOKINFO, 20, 4);
1580 }
1581
1582 static void test_pack_PDELETEITEMSTRUCT(void)
1583 {
1584     /* PDELETEITEMSTRUCT */
1585     TEST_TYPE(PDELETEITEMSTRUCT, 4, 4);
1586     TEST_TYPE_POINTER(PDELETEITEMSTRUCT, 20, 4);
1587 }
1588
1589 static void test_pack_PDLGITEMTEMPLATEA(void)
1590 {
1591     /* PDLGITEMTEMPLATEA */
1592     TEST_TYPE(PDLGITEMTEMPLATEA, 4, 4);
1593     TEST_TYPE_POINTER(PDLGITEMTEMPLATEA, 18, 2);
1594 }
1595
1596 static void test_pack_PDLGITEMTEMPLATEW(void)
1597 {
1598     /* PDLGITEMTEMPLATEW */
1599     TEST_TYPE(PDLGITEMTEMPLATEW, 4, 4);
1600     TEST_TYPE_POINTER(PDLGITEMTEMPLATEW, 18, 2);
1601 }
1602
1603 static void test_pack_PDRAWITEMSTRUCT(void)
1604 {
1605     /* PDRAWITEMSTRUCT */
1606     TEST_TYPE(PDRAWITEMSTRUCT, 4, 4);
1607     TEST_TYPE_POINTER(PDRAWITEMSTRUCT, 48, 4);
1608 }
1609
1610 static void test_pack_PEVENTMSG(void)
1611 {
1612     /* PEVENTMSG */
1613     TEST_TYPE(PEVENTMSG, 4, 4);
1614     TEST_TYPE_POINTER(PEVENTMSG, 20, 4);
1615 }
1616
1617 static void test_pack_PGUITHREADINFO(void)
1618 {
1619     /* PGUITHREADINFO */
1620     TEST_TYPE(PGUITHREADINFO, 4, 4);
1621     TEST_TYPE_POINTER(PGUITHREADINFO, 48, 4);
1622 }
1623
1624 static void test_pack_PHARDWAREHOOKSTRUCT(void)
1625 {
1626     /* PHARDWAREHOOKSTRUCT */
1627     TEST_TYPE(PHARDWAREHOOKSTRUCT, 4, 4);
1628     TEST_TYPE_POINTER(PHARDWAREHOOKSTRUCT, 16, 4);
1629 }
1630
1631 static void test_pack_PHARDWAREINPUT(void)
1632 {
1633     /* PHARDWAREINPUT */
1634     TEST_TYPE(PHARDWAREINPUT, 4, 4);
1635     TEST_TYPE_POINTER(PHARDWAREINPUT, 8, 4);
1636 }
1637
1638 static void test_pack_PHDEVNOTIFY(void)
1639 {
1640     /* PHDEVNOTIFY */
1641     TEST_TYPE(PHDEVNOTIFY, 4, 4);
1642     TEST_TYPE_POINTER(PHDEVNOTIFY, 4, 4);
1643 }
1644
1645 static void test_pack_PHELPWININFOA(void)
1646 {
1647     /* PHELPWININFOA */
1648     TEST_TYPE(PHELPWININFOA, 4, 4);
1649     TEST_TYPE_POINTER(PHELPWININFOA, 28, 4);
1650 }
1651
1652 static void test_pack_PHELPWININFOW(void)
1653 {
1654     /* PHELPWININFOW */
1655     TEST_TYPE(PHELPWININFOW, 4, 4);
1656     TEST_TYPE_POINTER(PHELPWININFOW, 28, 4);
1657 }
1658
1659 static void test_pack_PICONINFO(void)
1660 {
1661     /* PICONINFO */
1662     TEST_TYPE(PICONINFO, 4, 4);
1663     TEST_TYPE_POINTER(PICONINFO, 20, 4);
1664 }
1665
1666 static void test_pack_PICONMETRICSA(void)
1667 {
1668     /* PICONMETRICSA */
1669     TEST_TYPE(PICONMETRICSA, 4, 4);
1670     TEST_TYPE_POINTER(PICONMETRICSA, 76, 4);
1671 }
1672
1673 static void test_pack_PICONMETRICSW(void)
1674 {
1675     /* PICONMETRICSW */
1676     TEST_TYPE(PICONMETRICSW, 4, 4);
1677     TEST_TYPE_POINTER(PICONMETRICSW, 108, 4);
1678 }
1679
1680 static void test_pack_PINPUT(void)
1681 {
1682     /* PINPUT */
1683     TEST_TYPE(PINPUT, 4, 4);
1684 }
1685
1686 static void test_pack_PKBDLLHOOKSTRUCT(void)
1687 {
1688     /* PKBDLLHOOKSTRUCT */
1689     TEST_TYPE(PKBDLLHOOKSTRUCT, 4, 4);
1690     TEST_TYPE_POINTER(PKBDLLHOOKSTRUCT, 20, 4);
1691 }
1692
1693 static void test_pack_PKEYBDINPUT(void)
1694 {
1695     /* PKEYBDINPUT */
1696     TEST_TYPE(PKEYBDINPUT, 4, 4);
1697     TEST_TYPE_POINTER(PKEYBDINPUT, 16, 4);
1698 }
1699
1700 static void test_pack_PMDINEXTMENU(void)
1701 {
1702     /* PMDINEXTMENU */
1703     TEST_TYPE(PMDINEXTMENU, 4, 4);
1704     TEST_TYPE_POINTER(PMDINEXTMENU, 12, 4);
1705 }
1706
1707 static void test_pack_PMEASUREITEMSTRUCT(void)
1708 {
1709     /* PMEASUREITEMSTRUCT */
1710     TEST_TYPE(PMEASUREITEMSTRUCT, 4, 4);
1711     TEST_TYPE_POINTER(PMEASUREITEMSTRUCT, 24, 4);
1712 }
1713
1714 static void test_pack_PMENUITEMTEMPLATE(void)
1715 {
1716     /* PMENUITEMTEMPLATE */
1717     TEST_TYPE(PMENUITEMTEMPLATE, 4, 4);
1718     TEST_TYPE_POINTER(PMENUITEMTEMPLATE, 6, 2);
1719 }
1720
1721 static void test_pack_PMENUITEMTEMPLATEHEADER(void)
1722 {
1723     /* PMENUITEMTEMPLATEHEADER */
1724     TEST_TYPE(PMENUITEMTEMPLATEHEADER, 4, 4);
1725     TEST_TYPE_POINTER(PMENUITEMTEMPLATEHEADER, 4, 2);
1726 }
1727
1728 static void test_pack_PMINIMIZEDMETRICS(void)
1729 {
1730     /* PMINIMIZEDMETRICS */
1731     TEST_TYPE(PMINIMIZEDMETRICS, 4, 4);
1732     TEST_TYPE_POINTER(PMINIMIZEDMETRICS, 20, 4);
1733 }
1734
1735 static void test_pack_PMINMAXINFO(void)
1736 {
1737     /* PMINMAXINFO */
1738     TEST_TYPE(PMINMAXINFO, 4, 4);
1739     TEST_TYPE_POINTER(PMINMAXINFO, 40, 4);
1740 }
1741
1742 static void test_pack_PMOUSEHOOKSTRUCT(void)
1743 {
1744     /* PMOUSEHOOKSTRUCT */
1745     TEST_TYPE(PMOUSEHOOKSTRUCT, 4, 4);
1746     TEST_TYPE_POINTER(PMOUSEHOOKSTRUCT, 20, 4);
1747 }
1748
1749 static void test_pack_PMOUSEINPUT(void)
1750 {
1751     /* PMOUSEINPUT */
1752     TEST_TYPE(PMOUSEINPUT, 4, 4);
1753     TEST_TYPE_POINTER(PMOUSEINPUT, 24, 4);
1754 }
1755
1756 static void test_pack_PMSG(void)
1757 {
1758     /* PMSG */
1759     TEST_TYPE(PMSG, 4, 4);
1760     TEST_TYPE_POINTER(PMSG, 28, 4);
1761 }
1762
1763 static void test_pack_PMSGBOXPARAMSA(void)
1764 {
1765     /* PMSGBOXPARAMSA */
1766     TEST_TYPE(PMSGBOXPARAMSA, 4, 4);
1767     TEST_TYPE_POINTER(PMSGBOXPARAMSA, 40, 4);
1768 }
1769
1770 static void test_pack_PMSGBOXPARAMSW(void)
1771 {
1772     /* PMSGBOXPARAMSW */
1773     TEST_TYPE(PMSGBOXPARAMSW, 4, 4);
1774     TEST_TYPE_POINTER(PMSGBOXPARAMSW, 40, 4);
1775 }
1776
1777 static void test_pack_PMSLLHOOKSTRUCT(void)
1778 {
1779     /* PMSLLHOOKSTRUCT */
1780     TEST_TYPE(PMSLLHOOKSTRUCT, 4, 4);
1781     TEST_TYPE_POINTER(PMSLLHOOKSTRUCT, 24, 4);
1782 }
1783
1784 static void test_pack_PMULTIKEYHELPA(void)
1785 {
1786     /* PMULTIKEYHELPA */
1787     TEST_TYPE(PMULTIKEYHELPA, 4, 4);
1788     TEST_TYPE_POINTER(PMULTIKEYHELPA, 8, 4);
1789 }
1790
1791 static void test_pack_PMULTIKEYHELPW(void)
1792 {
1793     /* PMULTIKEYHELPW */
1794     TEST_TYPE(PMULTIKEYHELPW, 4, 4);
1795     TEST_TYPE_POINTER(PMULTIKEYHELPW, 8, 4);
1796 }
1797
1798 static void test_pack_PNONCLIENTMETRICSA(void)
1799 {
1800     /* PNONCLIENTMETRICSA */
1801     TEST_TYPE(PNONCLIENTMETRICSA, 4, 4);
1802     TEST_TYPE_POINTER(PNONCLIENTMETRICSA, 340, 4);
1803 }
1804
1805 static void test_pack_PNONCLIENTMETRICSW(void)
1806 {
1807     /* PNONCLIENTMETRICSW */
1808     TEST_TYPE(PNONCLIENTMETRICSW, 4, 4);
1809     TEST_TYPE_POINTER(PNONCLIENTMETRICSW, 500, 4);
1810 }
1811
1812 static void test_pack_PPAINTSTRUCT(void)
1813 {
1814     /* PPAINTSTRUCT */
1815     TEST_TYPE(PPAINTSTRUCT, 4, 4);
1816     TEST_TYPE_POINTER(PPAINTSTRUCT, 64, 4);
1817 }
1818
1819 static void test_pack_PROPENUMPROCA(void)
1820 {
1821     /* PROPENUMPROCA */
1822     TEST_TYPE(PROPENUMPROCA, 4, 4);
1823 }
1824
1825 static void test_pack_PROPENUMPROCEXA(void)
1826 {
1827     /* PROPENUMPROCEXA */
1828     TEST_TYPE(PROPENUMPROCEXA, 4, 4);
1829 }
1830
1831 static void test_pack_PROPENUMPROCEXW(void)
1832 {
1833     /* PROPENUMPROCEXW */
1834     TEST_TYPE(PROPENUMPROCEXW, 4, 4);
1835 }
1836
1837 static void test_pack_PROPENUMPROCW(void)
1838 {
1839     /* PROPENUMPROCW */
1840     TEST_TYPE(PROPENUMPROCW, 4, 4);
1841 }
1842
1843 static void test_pack_PWINDOWINFO(void)
1844 {
1845     /* PWINDOWINFO */
1846     TEST_TYPE(PWINDOWINFO, 4, 4);
1847 }
1848
1849 static void test_pack_PWINDOWPLACEMENT(void)
1850 {
1851     /* PWINDOWPLACEMENT */
1852     TEST_TYPE(PWINDOWPLACEMENT, 4, 4);
1853     TEST_TYPE_POINTER(PWINDOWPLACEMENT, 44, 4);
1854 }
1855
1856 static void test_pack_PWINDOWPOS(void)
1857 {
1858     /* PWINDOWPOS */
1859     TEST_TYPE(PWINDOWPOS, 4, 4);
1860     TEST_TYPE_POINTER(PWINDOWPOS, 28, 4);
1861 }
1862
1863 static void test_pack_PWNDCLASSA(void)
1864 {
1865     /* PWNDCLASSA */
1866     TEST_TYPE(PWNDCLASSA, 4, 4);
1867     TEST_TYPE_POINTER(PWNDCLASSA, 40, 4);
1868 }
1869
1870 static void test_pack_PWNDCLASSEXA(void)
1871 {
1872     /* PWNDCLASSEXA */
1873     TEST_TYPE(PWNDCLASSEXA, 4, 4);
1874     TEST_TYPE_POINTER(PWNDCLASSEXA, 48, 4);
1875 }
1876
1877 static void test_pack_PWNDCLASSEXW(void)
1878 {
1879     /* PWNDCLASSEXW */
1880     TEST_TYPE(PWNDCLASSEXW, 4, 4);
1881     TEST_TYPE_POINTER(PWNDCLASSEXW, 48, 4);
1882 }
1883
1884 static void test_pack_PWNDCLASSW(void)
1885 {
1886     /* PWNDCLASSW */
1887     TEST_TYPE(PWNDCLASSW, 4, 4);
1888     TEST_TYPE_POINTER(PWNDCLASSW, 40, 4);
1889 }
1890
1891 static void test_pack_SCROLLINFO(void)
1892 {
1893     /* SCROLLINFO (pack 4) */
1894     TEST_TYPE(SCROLLINFO, 28, 4);
1895     TEST_FIELD(SCROLLINFO, UINT, cbSize, 0, 4, 4);
1896     TEST_FIELD(SCROLLINFO, UINT, fMask, 4, 4, 4);
1897     TEST_FIELD(SCROLLINFO, INT, nMin, 8, 4, 4);
1898     TEST_FIELD(SCROLLINFO, INT, nMax, 12, 4, 4);
1899     TEST_FIELD(SCROLLINFO, UINT, nPage, 16, 4, 4);
1900     TEST_FIELD(SCROLLINFO, INT, nPos, 20, 4, 4);
1901     TEST_FIELD(SCROLLINFO, INT, nTrackPos, 24, 4, 4);
1902 }
1903
1904 static void test_pack_SENDASYNCPROC(void)
1905 {
1906     /* SENDASYNCPROC */
1907     TEST_TYPE(SENDASYNCPROC, 4, 4);
1908 }
1909
1910 static void test_pack_SERIALKEYSA(void)
1911 {
1912     /* SERIALKEYSA (pack 4) */
1913     TEST_FIELD(SERIALKEYSA, UINT, cbSize, 0, 4, 4);
1914     TEST_FIELD(SERIALKEYSA, DWORD, dwFlags, 4, 4, 4);
1915 }
1916
1917 static void test_pack_SERIALKEYSW(void)
1918 {
1919     /* SERIALKEYSW (pack 4) */
1920     TEST_TYPE(SERIALKEYSW, 28, 4);
1921     TEST_FIELD(SERIALKEYSW, UINT, cbSize, 0, 4, 4);
1922     TEST_FIELD(SERIALKEYSW, DWORD, dwFlags, 4, 4, 4);
1923     TEST_FIELD(SERIALKEYSW, LPWSTR, lpszActivePort, 8, 4, 4);
1924     TEST_FIELD(SERIALKEYSW, LPWSTR, lpszPort, 12, 4, 4);
1925     TEST_FIELD(SERIALKEYSW, UINT, iBaudRate, 16, 4, 4);
1926     TEST_FIELD(SERIALKEYSW, UINT, iPortState, 20, 4, 4);
1927     TEST_FIELD(SERIALKEYSW, UINT, iActive, 24, 4, 4);
1928 }
1929
1930 static void test_pack_SOUNDSENTRYA(void)
1931 {
1932     /* SOUNDSENTRYA (pack 4) */
1933     TEST_FIELD(SOUNDSENTRYA, UINT, cbSize, 0, 4, 4);
1934     TEST_FIELD(SOUNDSENTRYA, DWORD, dwFlags, 4, 4, 4);
1935     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffect, 8, 4, 4);
1936     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffectMSec, 12, 4, 4);
1937     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSTextEffectColorBits, 16, 4, 4);
1938     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffect, 20, 4, 4);
1939     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffectMSec, 24, 4, 4);
1940     TEST_FIELD(SOUNDSENTRYA, DWORD, iFSGrafEffectColor, 28, 4, 4);
1941     TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffect, 32, 4, 4);
1942     TEST_FIELD(SOUNDSENTRYA, DWORD, iWindowsEffectMSec, 36, 4, 4);
1943 }
1944
1945 static void test_pack_SOUNDSENTRYW(void)
1946 {
1947     /* SOUNDSENTRYW (pack 4) */
1948     TEST_TYPE(SOUNDSENTRYW, 48, 4);
1949     TEST_FIELD(SOUNDSENTRYW, UINT, cbSize, 0, 4, 4);
1950     TEST_FIELD(SOUNDSENTRYW, DWORD, dwFlags, 4, 4, 4);
1951     TEST_FIELD(SOUNDSENTRYW, DWORD, iFSTextEffect, 8, 4, 4);
1952     TEST_FIELD(SOUNDSENTRYW, DWORD, iFSTextEffectMSec, 12, 4, 4);
1953     TEST_FIELD(SOUNDSENTRYW, DWORD, iFSTextEffectColorBits, 16, 4, 4);
1954     TEST_FIELD(SOUNDSENTRYW, DWORD, iFSGrafEffect, 20, 4, 4);
1955     TEST_FIELD(SOUNDSENTRYW, DWORD, iFSGrafEffectMSec, 24, 4, 4);
1956     TEST_FIELD(SOUNDSENTRYW, DWORD, iFSGrafEffectColor, 28, 4, 4);
1957     TEST_FIELD(SOUNDSENTRYW, DWORD, iWindowsEffect, 32, 4, 4);
1958     TEST_FIELD(SOUNDSENTRYW, DWORD, iWindowsEffectMSec, 36, 4, 4);
1959     TEST_FIELD(SOUNDSENTRYW, LPWSTR, lpszWindowsEffectDLL, 40, 4, 4);
1960     TEST_FIELD(SOUNDSENTRYW, DWORD, iWindowsEffectOrdinal, 44, 4, 4);
1961 }
1962
1963 static void test_pack_STICKYKEYS(void)
1964 {
1965     /* STICKYKEYS (pack 4) */
1966     TEST_TYPE(STICKYKEYS, 8, 4);
1967     TEST_FIELD(STICKYKEYS, DWORD, cbSize, 0, 4, 4);
1968     TEST_FIELD(STICKYKEYS, DWORD, dwFlags, 4, 4, 4);
1969 }
1970
1971 static void test_pack_STYLESTRUCT(void)
1972 {
1973     /* STYLESTRUCT (pack 4) */
1974     TEST_TYPE(STYLESTRUCT, 8, 4);
1975     TEST_FIELD(STYLESTRUCT, DWORD, styleOld, 0, 4, 4);
1976     TEST_FIELD(STYLESTRUCT, DWORD, styleNew, 4, 4, 4);
1977 }
1978
1979 static void test_pack_TIMERPROC(void)
1980 {
1981     /* TIMERPROC */
1982     TEST_TYPE(TIMERPROC, 4, 4);
1983 }
1984
1985 static void test_pack_TOGGLEKEYS(void)
1986 {
1987     /* TOGGLEKEYS (pack 4) */
1988     TEST_TYPE(TOGGLEKEYS, 8, 4);
1989     TEST_FIELD(TOGGLEKEYS, DWORD, cbSize, 0, 4, 4);
1990     TEST_FIELD(TOGGLEKEYS, DWORD, dwFlags, 4, 4, 4);
1991 }
1992
1993 static void test_pack_TPMPARAMS(void)
1994 {
1995     /* TPMPARAMS (pack 4) */
1996     TEST_TYPE(TPMPARAMS, 20, 4);
1997     TEST_FIELD(TPMPARAMS, UINT, cbSize, 0, 4, 4);
1998     TEST_FIELD(TPMPARAMS, RECT, rcExclude, 4, 16, 4);
1999 }
2000
2001 static void test_pack_TRACKMOUSEEVENT(void)
2002 {
2003     /* TRACKMOUSEEVENT (pack 4) */
2004     TEST_TYPE(TRACKMOUSEEVENT, 16, 4);
2005     TEST_FIELD(TRACKMOUSEEVENT, DWORD, cbSize, 0, 4, 4);
2006     TEST_FIELD(TRACKMOUSEEVENT, DWORD, dwFlags, 4, 4, 4);
2007     TEST_FIELD(TRACKMOUSEEVENT, HWND, hwndTrack, 8, 4, 4);
2008     TEST_FIELD(TRACKMOUSEEVENT, DWORD, dwHoverTime, 12, 4, 4);
2009 }
2010
2011 static void test_pack_WINDOWINFO(void)
2012 {
2013     /* WINDOWINFO (pack 4) */
2014     TEST_FIELD(WINDOWINFO, DWORD, cbSize, 0, 4, 4);
2015     TEST_FIELD(WINDOWINFO, RECT, rcWindow, 4, 16, 4);
2016     TEST_FIELD(WINDOWINFO, RECT, rcClient, 20, 16, 4);
2017     TEST_FIELD(WINDOWINFO, DWORD, dwStyle, 36, 4, 4);
2018     TEST_FIELD(WINDOWINFO, DWORD, dwExStyle, 40, 4, 4);
2019     TEST_FIELD(WINDOWINFO, UINT, cxWindowBorders, 48, 4, 4);
2020     TEST_FIELD(WINDOWINFO, UINT, cyWindowBorders, 52, 4, 4);
2021     TEST_FIELD(WINDOWINFO, ATOM, atomWindowType, 56, 2, 2);
2022     TEST_FIELD(WINDOWINFO, WORD, wCreatorVersion, 58, 2, 2);
2023 }
2024
2025 static void test_pack_WINDOWPOS(void)
2026 {
2027     /* WINDOWPOS (pack 4) */
2028     TEST_TYPE(WINDOWPOS, 28, 4);
2029     TEST_FIELD(WINDOWPOS, HWND, hwnd, 0, 4, 4);
2030     TEST_FIELD(WINDOWPOS, HWND, hwndInsertAfter, 4, 4, 4);
2031     TEST_FIELD(WINDOWPOS, INT, x, 8, 4, 4);
2032     TEST_FIELD(WINDOWPOS, INT, y, 12, 4, 4);
2033     TEST_FIELD(WINDOWPOS, INT, cx, 16, 4, 4);
2034     TEST_FIELD(WINDOWPOS, INT, cy, 20, 4, 4);
2035     TEST_FIELD(WINDOWPOS, UINT, flags, 24, 4, 4);
2036 }
2037
2038 static void test_pack_WINEVENTPROC(void)
2039 {
2040     /* WINEVENTPROC */
2041     TEST_TYPE(WINEVENTPROC, 4, 4);
2042 }
2043
2044 static void test_pack_WINSTAENUMPROCA(void)
2045 {
2046     /* WINSTAENUMPROCA */
2047     TEST_TYPE(WINSTAENUMPROCA, 4, 4);
2048 }
2049
2050 static void test_pack_WINSTAENUMPROCW(void)
2051 {
2052     /* WINSTAENUMPROCW */
2053     TEST_TYPE(WINSTAENUMPROCW, 4, 4);
2054 }
2055
2056 static void test_pack_WNDCLASSA(void)
2057 {
2058     /* WNDCLASSA (pack 4) */
2059     TEST_TYPE(WNDCLASSA, 40, 4);
2060     TEST_FIELD(WNDCLASSA, UINT, style, 0, 4, 4);
2061     TEST_FIELD(WNDCLASSA, WNDPROC, lpfnWndProc, 4, 4, 4);
2062     TEST_FIELD(WNDCLASSA, INT, cbClsExtra, 8, 4, 4);
2063     TEST_FIELD(WNDCLASSA, INT, cbWndExtra, 12, 4, 4);
2064     TEST_FIELD(WNDCLASSA, HINSTANCE, hInstance, 16, 4, 4);
2065     TEST_FIELD(WNDCLASSA, HICON, hIcon, 20, 4, 4);
2066     TEST_FIELD(WNDCLASSA, HCURSOR, hCursor, 24, 4, 4);
2067     TEST_FIELD(WNDCLASSA, HBRUSH, hbrBackground, 28, 4, 4);
2068     TEST_FIELD(WNDCLASSA, LPCSTR, lpszMenuName, 32, 4, 4);
2069     TEST_FIELD(WNDCLASSA, LPCSTR, lpszClassName, 36, 4, 4);
2070 }
2071
2072 static void test_pack_WNDCLASSEXA(void)
2073 {
2074     /* WNDCLASSEXA (pack 4) */
2075     TEST_TYPE(WNDCLASSEXA, 48, 4);
2076     TEST_FIELD(WNDCLASSEXA, UINT, cbSize, 0, 4, 4);
2077     TEST_FIELD(WNDCLASSEXA, UINT, style, 4, 4, 4);
2078     TEST_FIELD(WNDCLASSEXA, WNDPROC, lpfnWndProc, 8, 4, 4);
2079     TEST_FIELD(WNDCLASSEXA, INT, cbClsExtra, 12, 4, 4);
2080     TEST_FIELD(WNDCLASSEXA, INT, cbWndExtra, 16, 4, 4);
2081     TEST_FIELD(WNDCLASSEXA, HINSTANCE, hInstance, 20, 4, 4);
2082     TEST_FIELD(WNDCLASSEXA, HICON, hIcon, 24, 4, 4);
2083     TEST_FIELD(WNDCLASSEXA, HCURSOR, hCursor, 28, 4, 4);
2084     TEST_FIELD(WNDCLASSEXA, HBRUSH, hbrBackground, 32, 4, 4);
2085     TEST_FIELD(WNDCLASSEXA, LPCSTR, lpszMenuName, 36, 4, 4);
2086     TEST_FIELD(WNDCLASSEXA, LPCSTR, lpszClassName, 40, 4, 4);
2087     TEST_FIELD(WNDCLASSEXA, HICON, hIconSm, 44, 4, 4);
2088 }
2089
2090 static void test_pack_WNDCLASSEXW(void)
2091 {
2092     /* WNDCLASSEXW (pack 4) */
2093     TEST_TYPE(WNDCLASSEXW, 48, 4);
2094     TEST_FIELD(WNDCLASSEXW, UINT, cbSize, 0, 4, 4);
2095     TEST_FIELD(WNDCLASSEXW, UINT, style, 4, 4, 4);
2096     TEST_FIELD(WNDCLASSEXW, WNDPROC, lpfnWndProc, 8, 4, 4);
2097     TEST_FIELD(WNDCLASSEXW, INT, cbClsExtra, 12, 4, 4);
2098     TEST_FIELD(WNDCLASSEXW, INT, cbWndExtra, 16, 4, 4);
2099     TEST_FIELD(WNDCLASSEXW, HINSTANCE, hInstance, 20, 4, 4);
2100     TEST_FIELD(WNDCLASSEXW, HICON, hIcon, 24, 4, 4);
2101     TEST_FIELD(WNDCLASSEXW, HCURSOR, hCursor, 28, 4, 4);
2102     TEST_FIELD(WNDCLASSEXW, HBRUSH, hbrBackground, 32, 4, 4);
2103     TEST_FIELD(WNDCLASSEXW, LPCWSTR, lpszMenuName, 36, 4, 4);
2104     TEST_FIELD(WNDCLASSEXW, LPCWSTR, lpszClassName, 40, 4, 4);
2105     TEST_FIELD(WNDCLASSEXW, HICON, hIconSm, 44, 4, 4);
2106 }
2107
2108 static void test_pack_WNDCLASSW(void)
2109 {
2110     /* WNDCLASSW (pack 4) */
2111     TEST_TYPE(WNDCLASSW, 40, 4);
2112     TEST_FIELD(WNDCLASSW, UINT, style, 0, 4, 4);
2113     TEST_FIELD(WNDCLASSW, WNDPROC, lpfnWndProc, 4, 4, 4);
2114     TEST_FIELD(WNDCLASSW, INT, cbClsExtra, 8, 4, 4);
2115     TEST_FIELD(WNDCLASSW, INT, cbWndExtra, 12, 4, 4);
2116     TEST_FIELD(WNDCLASSW, HINSTANCE, hInstance, 16, 4, 4);
2117     TEST_FIELD(WNDCLASSW, HICON, hIcon, 20, 4, 4);
2118     TEST_FIELD(WNDCLASSW, HCURSOR, hCursor, 24, 4, 4);
2119     TEST_FIELD(WNDCLASSW, HBRUSH, hbrBackground, 28, 4, 4);
2120     TEST_FIELD(WNDCLASSW, LPCWSTR, lpszMenuName, 32, 4, 4);
2121     TEST_FIELD(WNDCLASSW, LPCWSTR, lpszClassName, 36, 4, 4);
2122 }
2123
2124 static void test_pack_WNDENUMPROC(void)
2125 {
2126     /* WNDENUMPROC */
2127     TEST_TYPE(WNDENUMPROC, 4, 4);
2128 }
2129
2130 static void test_pack_WNDPROC(void)
2131 {
2132     /* WNDPROC */
2133     TEST_TYPE(WNDPROC, 4, 4);
2134 }
2135
2136 static void test_pack(void)
2137 {
2138     test_pack_ACCEL();
2139     test_pack_ACCESSTIMEOUT();
2140     test_pack_ANIMATIONINFO();
2141     test_pack_CBTACTIVATESTRUCT();
2142     test_pack_CBT_CREATEWNDA();
2143     test_pack_CBT_CREATEWNDW();
2144     test_pack_CLIENTCREATESTRUCT();
2145     test_pack_COMBOBOXINFO();
2146     test_pack_COMPAREITEMSTRUCT();
2147     test_pack_COPYDATASTRUCT();
2148     test_pack_CREATESTRUCTA();
2149     test_pack_CREATESTRUCTW();
2150     test_pack_CURSORINFO();
2151     test_pack_CWPRETSTRUCT();
2152     test_pack_CWPSTRUCT();
2153     test_pack_DEBUGHOOKINFO();
2154     test_pack_DELETEITEMSTRUCT();
2155     test_pack_DESKTOPENUMPROCA();
2156     test_pack_DESKTOPENUMPROCW();
2157     test_pack_DLGITEMTEMPLATE();
2158     test_pack_DLGPROC();
2159     test_pack_DLGTEMPLATE();
2160     test_pack_DRAWSTATEPROC();
2161     test_pack_DRAWTEXTPARAMS();
2162     test_pack_EDITWORDBREAKPROCA();
2163     test_pack_EDITWORDBREAKPROCW();
2164     test_pack_EVENTMSG();
2165     test_pack_FILTERKEYS();
2166     test_pack_GRAYSTRINGPROC();
2167     test_pack_GUITHREADINFO();
2168     test_pack_HARDWAREHOOKSTRUCT();
2169     test_pack_HARDWAREINPUT();
2170     test_pack_HDEVNOTIFY();
2171     test_pack_HDWP();
2172     test_pack_HELPINFO();
2173     test_pack_HELPWININFOA();
2174     test_pack_HELPWININFOW();
2175     test_pack_HIGHCONTRASTA();
2176     test_pack_HIGHCONTRASTW();
2177     test_pack_HOOKPROC();
2178     test_pack_ICONINFO();
2179     test_pack_ICONMETRICSA();
2180     test_pack_ICONMETRICSW();
2181     test_pack_INPUT();
2182     test_pack_KBDLLHOOKSTRUCT();
2183     test_pack_KEYBDINPUT();
2184     test_pack_LPACCEL();
2185     test_pack_LPACCESSTIMEOUT();
2186     test_pack_LPANIMATIONINFO();
2187     test_pack_LPCBTACTIVATESTRUCT();
2188     test_pack_LPCBT_CREATEWNDA();
2189     test_pack_LPCBT_CREATEWNDW();
2190     test_pack_LPCDLGTEMPLATEA();
2191     test_pack_LPCDLGTEMPLATEW();
2192     test_pack_LPCLIENTCREATESTRUCT();
2193     test_pack_LPCMENUINFO();
2194     test_pack_LPCMENUITEMINFOA();
2195     test_pack_LPCMENUITEMINFOW();
2196     test_pack_LPCOMBOBOXINFO();
2197     test_pack_LPCOMPAREITEMSTRUCT();
2198     test_pack_LPCREATESTRUCTA();
2199     test_pack_LPCREATESTRUCTW();
2200     test_pack_LPCSCROLLINFO();
2201     test_pack_LPCURSORINFO();
2202     test_pack_LPCWPRETSTRUCT();
2203     test_pack_LPCWPSTRUCT();
2204     test_pack_LPDEBUGHOOKINFO();
2205     test_pack_LPDELETEITEMSTRUCT();
2206     test_pack_LPDLGITEMTEMPLATEA();
2207     test_pack_LPDLGITEMTEMPLATEW();
2208     test_pack_LPDLGTEMPLATEA();
2209     test_pack_LPDLGTEMPLATEW();
2210     test_pack_LPDRAWITEMSTRUCT();
2211     test_pack_LPDRAWTEXTPARAMS();
2212     test_pack_LPEVENTMSG();
2213     test_pack_LPFILTERKEYS();
2214     test_pack_LPHARDWAREHOOKSTRUCT();
2215     test_pack_LPHARDWAREINPUT();
2216     test_pack_LPHELPINFO();
2217     test_pack_LPHELPWININFOA();
2218     test_pack_LPHELPWININFOW();
2219     test_pack_LPHIGHCONTRASTA();
2220     test_pack_LPHIGHCONTRASTW();
2221     test_pack_LPICONMETRICSA();
2222     test_pack_LPICONMETRICSW();
2223     test_pack_LPINPUT();
2224     test_pack_LPKBDLLHOOKSTRUCT();
2225     test_pack_LPKEYBDINPUT();
2226     test_pack_LPMDICREATESTRUCTA();
2227     test_pack_LPMDICREATESTRUCTW();
2228     test_pack_LPMDINEXTMENU();
2229     test_pack_LPMEASUREITEMSTRUCT();
2230     test_pack_LPMENUINFO();
2231     test_pack_LPMENUITEMINFOA();
2232     test_pack_LPMENUITEMINFOW();
2233     test_pack_LPMENUTEMPLATE();
2234     test_pack_LPMINIMIZEDMETRICS();
2235     test_pack_LPMINMAXINFO();
2236     test_pack_LPMONITORINFO();
2237     test_pack_LPMONITORINFOEXA();
2238     test_pack_LPMONITORINFOEXW();
2239     test_pack_LPMOUSEHOOKSTRUCT();
2240     test_pack_LPMOUSEINPUT();
2241     test_pack_LPMOUSEKEYS();
2242     test_pack_LPMSG();
2243     test_pack_LPMSGBOXPARAMSA();
2244     test_pack_LPMSGBOXPARAMSW();
2245     test_pack_LPMSLLHOOKSTRUCT();
2246     test_pack_LPMULTIKEYHELPA();
2247     test_pack_LPMULTIKEYHELPW();
2248     test_pack_LPNCCALCSIZE_PARAMS();
2249     test_pack_LPNMHDR();
2250     test_pack_LPNONCLIENTMETRICSA();
2251     test_pack_LPNONCLIENTMETRICSW();
2252     test_pack_LPPAINTSTRUCT();
2253     test_pack_LPSCROLLINFO();
2254     test_pack_LPSERIALKEYSA();
2255     test_pack_LPSERIALKEYSW();
2256     test_pack_LPSOUNDSENTRYA();
2257     test_pack_LPSOUNDSENTRYW();
2258     test_pack_LPSTICKYKEYS();
2259     test_pack_LPSTYLESTRUCT();
2260     test_pack_LPTOGGLEKEYS();
2261     test_pack_LPTPMPARAMS();
2262     test_pack_LPTRACKMOUSEEVENT();
2263     test_pack_LPWINDOWINFO();
2264     test_pack_LPWINDOWPLACEMENT();
2265     test_pack_LPWINDOWPOS();
2266     test_pack_LPWNDCLASSA();
2267     test_pack_LPWNDCLASSEXA();
2268     test_pack_LPWNDCLASSEXW();
2269     test_pack_LPWNDCLASSW();
2270     test_pack_MDICREATESTRUCTA();
2271     test_pack_MDICREATESTRUCTW();
2272     test_pack_MDINEXTMENU();
2273     test_pack_MEASUREITEMSTRUCT();
2274     test_pack_MENUINFO();
2275     test_pack_MENUITEMINFOA();
2276     test_pack_MENUITEMINFOW();
2277     test_pack_MENUITEMTEMPLATE();
2278     test_pack_MENUITEMTEMPLATEHEADER();
2279     test_pack_MENUTEMPLATE();
2280     test_pack_MINIMIZEDMETRICS();
2281     test_pack_MINMAXINFO();
2282     test_pack_MONITORENUMPROC();
2283     test_pack_MONITORINFO();
2284     test_pack_MONITORINFOEXA();
2285     test_pack_MONITORINFOEXW();
2286     test_pack_MOUSEHOOKSTRUCT();
2287     test_pack_MOUSEINPUT();
2288     test_pack_MOUSEKEYS();
2289     test_pack_MSG();
2290     test_pack_MSGBOXCALLBACK();
2291     test_pack_MSGBOXPARAMSA();
2292     test_pack_MSGBOXPARAMSW();
2293     test_pack_MSLLHOOKSTRUCT();
2294     test_pack_MULTIKEYHELPA();
2295     test_pack_MULTIKEYHELPW();
2296     test_pack_NAMEENUMPROCA();
2297     test_pack_NAMEENUMPROCW();
2298     test_pack_NCCALCSIZE_PARAMS();
2299     test_pack_NMHDR();
2300     test_pack_NONCLIENTMETRICSA();
2301     test_pack_NONCLIENTMETRICSW();
2302     test_pack_PAINTSTRUCT();
2303     test_pack_PCOMBOBOXINFO();
2304     test_pack_PCOMPAREITEMSTRUCT();
2305     test_pack_PCOPYDATASTRUCT();
2306     test_pack_PCURSORINFO();
2307     test_pack_PCWPRETSTRUCT();
2308     test_pack_PCWPSTRUCT();
2309     test_pack_PDEBUGHOOKINFO();
2310     test_pack_PDELETEITEMSTRUCT();
2311     test_pack_PDLGITEMTEMPLATEA();
2312     test_pack_PDLGITEMTEMPLATEW();
2313     test_pack_PDRAWITEMSTRUCT();
2314     test_pack_PEVENTMSG();
2315     test_pack_PGUITHREADINFO();
2316     test_pack_PHARDWAREHOOKSTRUCT();
2317     test_pack_PHARDWAREINPUT();
2318     test_pack_PHDEVNOTIFY();
2319     test_pack_PHELPWININFOA();
2320     test_pack_PHELPWININFOW();
2321     test_pack_PICONINFO();
2322     test_pack_PICONMETRICSA();
2323     test_pack_PICONMETRICSW();
2324     test_pack_PINPUT();
2325     test_pack_PKBDLLHOOKSTRUCT();
2326     test_pack_PKEYBDINPUT();
2327     test_pack_PMDINEXTMENU();
2328     test_pack_PMEASUREITEMSTRUCT();
2329     test_pack_PMENUITEMTEMPLATE();
2330     test_pack_PMENUITEMTEMPLATEHEADER();
2331     test_pack_PMINIMIZEDMETRICS();
2332     test_pack_PMINMAXINFO();
2333     test_pack_PMOUSEHOOKSTRUCT();
2334     test_pack_PMOUSEINPUT();
2335     test_pack_PMSG();
2336     test_pack_PMSGBOXPARAMSA();
2337     test_pack_PMSGBOXPARAMSW();
2338     test_pack_PMSLLHOOKSTRUCT();
2339     test_pack_PMULTIKEYHELPA();
2340     test_pack_PMULTIKEYHELPW();
2341     test_pack_PNONCLIENTMETRICSA();
2342     test_pack_PNONCLIENTMETRICSW();
2343     test_pack_PPAINTSTRUCT();
2344     test_pack_PROPENUMPROCA();
2345     test_pack_PROPENUMPROCEXA();
2346     test_pack_PROPENUMPROCEXW();
2347     test_pack_PROPENUMPROCW();
2348     test_pack_PWINDOWINFO();
2349     test_pack_PWINDOWPLACEMENT();
2350     test_pack_PWINDOWPOS();
2351     test_pack_PWNDCLASSA();
2352     test_pack_PWNDCLASSEXA();
2353     test_pack_PWNDCLASSEXW();
2354     test_pack_PWNDCLASSW();
2355     test_pack_SCROLLINFO();
2356     test_pack_SENDASYNCPROC();
2357     test_pack_SERIALKEYSA();
2358     test_pack_SERIALKEYSW();
2359     test_pack_SOUNDSENTRYA();
2360     test_pack_SOUNDSENTRYW();
2361     test_pack_STICKYKEYS();
2362     test_pack_STYLESTRUCT();
2363     test_pack_TIMERPROC();
2364     test_pack_TOGGLEKEYS();
2365     test_pack_TPMPARAMS();
2366     test_pack_TRACKMOUSEEVENT();
2367     test_pack_WINDOWINFO();
2368     test_pack_WINDOWPOS();
2369     test_pack_WINEVENTPROC();
2370     test_pack_WINSTAENUMPROCA();
2371     test_pack_WINSTAENUMPROCW();
2372     test_pack_WNDCLASSA();
2373     test_pack_WNDCLASSEXA();
2374     test_pack_WNDCLASSEXW();
2375     test_pack_WNDCLASSW();
2376     test_pack_WNDENUMPROC();
2377     test_pack_WNDPROC();
2378 }
2379
2380 START_TEST(generated)
2381 {
2382     test_pack();
2383 }