oleaut32: Use a saner calling convention for the marshaller asm thunks.
[wine] / dlls / shell32 / tests / generated.c
1 /* File generated automatically from tools/winapi/tests.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 <stdarg.h>
15 #include "windef.h"
16 #include "winbase.h"
17 #include "wtypes.h"
18 #include "shellapi.h"
19 #include "winuser.h"
20 #include "wingdi.h"
21 #include "shlobj.h"
22
23 #include "wine/test.h"
24
25 /***********************************************************************
26  * Compatibility macros
27  */
28
29 #define DWORD_PTR UINT_PTR
30 #define LONG_PTR INT_PTR
31 #define ULONG_PTR UINT_PTR
32
33 /***********************************************************************
34  * Windows API extension
35  */
36
37 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
38 # define _TYPE_ALIGNMENT(type) __alignof(type)
39 #elif defined(__GNUC__)
40 # define _TYPE_ALIGNMENT(type) __alignof__(type)
41 #else
42 /*
43  * FIXME: May not be possible without a compiler extension
44  *        (if type is not just a name that is, otherwise the normal
45  *         TYPE_ALIGNMENT can be used)
46  */
47 #endif
48
49 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
50 #pragma warning(disable:4116)
51 #endif
52
53 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
54 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
55 #endif
56
57 /***********************************************************************
58  * Test helper macros
59  */
60
61 #define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
62
63 #ifdef TYPE_ALIGNMENT
64 # define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
65 #else
66 # define TEST_TYPE_ALIGN(type, align)
67 #endif
68
69 #ifdef _TYPE_ALIGNMENT
70 # define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
71 # define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
72 #else
73 # define TEST_TARGET_ALIGN(type, align)
74 # define TEST_FIELD_ALIGN(type, field, align)
75 #endif
76
77 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
78
79 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
80 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
81 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
82 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
83
84
85 #ifdef _WIN64
86
87 static void test_pack_BLOB(void)
88 {
89     /* BLOB */
90     TEST_TYPE_SIZE   (BLOB, 16)
91     TEST_TYPE_ALIGN  (BLOB, 8)
92     TEST_FIELD_SIZE  (BLOB, cbSize, 4)
93     TEST_FIELD_ALIGN (BLOB, cbSize, 4)
94     TEST_FIELD_OFFSET(BLOB, cbSize, 0)
95     TEST_FIELD_SIZE  (BLOB, pBlobData, 8)
96     TEST_FIELD_ALIGN (BLOB, pBlobData, 8)
97     TEST_FIELD_OFFSET(BLOB, pBlobData, 8)
98 }
99
100 static void test_pack_BSTR(void)
101 {
102     /* BSTR */
103     TEST_TYPE_SIZE   (BSTR, 8)
104     TEST_TYPE_ALIGN  (BSTR, 8)
105     TEST_TARGET_SIZE (BSTR, 2)
106     TEST_TARGET_ALIGN(BSTR, 2)
107 }
108
109 static void test_pack_BSTRBLOB(void)
110 {
111     /* BSTRBLOB */
112     TEST_TYPE_SIZE   (BSTRBLOB, 16)
113     TEST_TYPE_ALIGN  (BSTRBLOB, 8)
114     TEST_FIELD_SIZE  (BSTRBLOB, cbSize, 4)
115     TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
116     TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
117     TEST_FIELD_SIZE  (BSTRBLOB, pData, 8)
118     TEST_FIELD_ALIGN (BSTRBLOB, pData, 8)
119     TEST_FIELD_OFFSET(BSTRBLOB, pData, 8)
120 }
121
122 static void test_pack_BYTE_BLOB(void)
123 {
124     /* BYTE_BLOB */
125     TEST_TYPE_SIZE   (BYTE_BLOB, 8)
126     TEST_TYPE_ALIGN  (BYTE_BLOB, 4)
127     TEST_FIELD_SIZE  (BYTE_BLOB, clSize, 4)
128     TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
129     TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
130     TEST_FIELD_SIZE  (BYTE_BLOB, abData, 1)
131     TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
132     TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
133 }
134
135 static void test_pack_BYTE_SIZEDARR(void)
136 {
137     /* BYTE_SIZEDARR */
138     TEST_TYPE_SIZE   (BYTE_SIZEDARR, 16)
139     TEST_TYPE_ALIGN  (BYTE_SIZEDARR, 8)
140     TEST_FIELD_SIZE  (BYTE_SIZEDARR, clSize, 4)
141     TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
142     TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
143     TEST_FIELD_SIZE  (BYTE_SIZEDARR, pData, 8)
144     TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 8)
145     TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 8)
146 }
147
148 static void test_pack_CLIPDATA(void)
149 {
150     /* CLIPDATA */
151     TEST_TYPE_SIZE   (CLIPDATA, 16)
152     TEST_TYPE_ALIGN  (CLIPDATA, 8)
153     TEST_FIELD_SIZE  (CLIPDATA, cbSize, 4)
154     TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
155     TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
156     TEST_FIELD_SIZE  (CLIPDATA, ulClipFmt, 4)
157     TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
158     TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
159     TEST_FIELD_SIZE  (CLIPDATA, pClipData, 8)
160     TEST_FIELD_ALIGN (CLIPDATA, pClipData, 8)
161     TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
162 }
163
164 static void test_pack_CLIPFORMAT(void)
165 {
166     /* CLIPFORMAT */
167     TEST_TYPE_SIZE   (CLIPFORMAT, 2)
168     TEST_TYPE_ALIGN  (CLIPFORMAT, 2)
169     TEST_TYPE_UNSIGNED(CLIPFORMAT)
170 }
171
172 static void test_pack_COAUTHIDENTITY(void)
173 {
174     /* COAUTHIDENTITY */
175     TEST_TYPE_SIZE   (COAUTHIDENTITY, 48)
176     TEST_TYPE_ALIGN  (COAUTHIDENTITY, 8)
177     TEST_FIELD_SIZE  (COAUTHIDENTITY, User, 8)
178     TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 8)
179     TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
180     TEST_FIELD_SIZE  (COAUTHIDENTITY, UserLength, 4)
181     TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
182     TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 8)
183     TEST_FIELD_SIZE  (COAUTHIDENTITY, Domain, 8)
184     TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 8)
185     TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 16)
186     TEST_FIELD_SIZE  (COAUTHIDENTITY, DomainLength, 4)
187     TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
188     TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 24)
189     TEST_FIELD_SIZE  (COAUTHIDENTITY, Password, 8)
190     TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 8)
191     TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 32)
192     TEST_FIELD_SIZE  (COAUTHIDENTITY, PasswordLength, 4)
193     TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
194     TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 40)
195     TEST_FIELD_SIZE  (COAUTHIDENTITY, Flags, 4)
196     TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
197     TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 44)
198 }
199
200 static void test_pack_COAUTHINFO(void)
201 {
202     /* COAUTHINFO */
203     TEST_TYPE_SIZE   (COAUTHINFO, 40)
204     TEST_TYPE_ALIGN  (COAUTHINFO, 8)
205     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnSvc, 4)
206     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
207     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
208     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthzSvc, 4)
209     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
210     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
211     TEST_FIELD_SIZE  (COAUTHINFO, pwszServerPrincName, 8)
212     TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 8)
213     TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
214     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnLevel, 4)
215     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
216     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 16)
217     TEST_FIELD_SIZE  (COAUTHINFO, dwImpersonationLevel, 4)
218     TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
219     TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 20)
220     TEST_FIELD_SIZE  (COAUTHINFO, pAuthIdentityData, 8)
221     TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 8)
222     TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 24)
223     TEST_FIELD_SIZE  (COAUTHINFO, dwCapabilities, 4)
224     TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
225     TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 32)
226 }
227
228 static void test_pack_DATE(void)
229 {
230     /* DATE */
231     TEST_TYPE_SIZE   (DATE, 8)
232     TEST_TYPE_ALIGN  (DATE, 8)
233 }
234
235 static void test_pack_DOUBLE(void)
236 {
237     /* DOUBLE */
238     TEST_TYPE_SIZE   (DOUBLE, 8)
239     TEST_TYPE_ALIGN  (DOUBLE, 8)
240 }
241
242 static void test_pack_DWORD_SIZEDARR(void)
243 {
244     /* DWORD_SIZEDARR */
245     TEST_TYPE_SIZE   (DWORD_SIZEDARR, 16)
246     TEST_TYPE_ALIGN  (DWORD_SIZEDARR, 8)
247     TEST_FIELD_SIZE  (DWORD_SIZEDARR, clSize, 4)
248     TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
249     TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
250     TEST_FIELD_SIZE  (DWORD_SIZEDARR, pData, 8)
251     TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 8)
252     TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 8)
253 }
254
255 static void test_pack_FLAGGED_BYTE_BLOB(void)
256 {
257     /* FLAGGED_BYTE_BLOB */
258     TEST_TYPE_SIZE   (FLAGGED_BYTE_BLOB, 12)
259     TEST_TYPE_ALIGN  (FLAGGED_BYTE_BLOB, 4)
260     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, fFlags, 4)
261     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
262     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
263     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, clSize, 4)
264     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
265     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
266     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, abData, 1)
267     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
268     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
269 }
270
271 static void test_pack_FLAGGED_WORD_BLOB(void)
272 {
273     /* FLAGGED_WORD_BLOB */
274     TEST_TYPE_SIZE   (FLAGGED_WORD_BLOB, 12)
275     TEST_TYPE_ALIGN  (FLAGGED_WORD_BLOB, 4)
276     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, fFlags, 4)
277     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
278     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
279     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, clSize, 4)
280     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
281     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
282     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, asData, 2)
283     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
284     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
285 }
286
287 static void test_pack_HMETAFILEPICT(void)
288 {
289     /* HMETAFILEPICT */
290     TEST_TYPE_SIZE   (HMETAFILEPICT, 8)
291     TEST_TYPE_ALIGN  (HMETAFILEPICT, 8)
292 }
293
294 static void test_pack_HYPER_SIZEDARR(void)
295 {
296     /* HYPER_SIZEDARR */
297     TEST_TYPE_SIZE   (HYPER_SIZEDARR, 16)
298     TEST_TYPE_ALIGN  (HYPER_SIZEDARR, 8)
299     TEST_FIELD_SIZE  (HYPER_SIZEDARR, clSize, 4)
300     TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
301     TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
302     TEST_FIELD_SIZE  (HYPER_SIZEDARR, pData, 8)
303     TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 8)
304     TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 8)
305 }
306
307 static void test_pack_LPBLOB(void)
308 {
309     /* LPBLOB */
310     TEST_TYPE_SIZE   (LPBLOB, 8)
311     TEST_TYPE_ALIGN  (LPBLOB, 8)
312 }
313
314 static void test_pack_LPBSTR(void)
315 {
316     /* LPBSTR */
317     TEST_TYPE_SIZE   (LPBSTR, 8)
318     TEST_TYPE_ALIGN  (LPBSTR, 8)
319     TEST_TARGET_SIZE (LPBSTR, 8)
320     TEST_TARGET_ALIGN(LPBSTR, 8)
321 }
322
323 static void test_pack_LPBSTRBLOB(void)
324 {
325     /* LPBSTRBLOB */
326     TEST_TYPE_SIZE   (LPBSTRBLOB, 8)
327     TEST_TYPE_ALIGN  (LPBSTRBLOB, 8)
328 }
329
330 static void test_pack_LPCOLESTR(void)
331 {
332     /* LPCOLESTR */
333     TEST_TYPE_SIZE   (LPCOLESTR, 8)
334     TEST_TYPE_ALIGN  (LPCOLESTR, 8)
335     TEST_TARGET_SIZE (LPCOLESTR, 2)
336     TEST_TARGET_ALIGN(LPCOLESTR, 2)
337 }
338
339 static void test_pack_LPCY(void)
340 {
341     /* LPCY */
342     TEST_TYPE_SIZE   (LPCY, 8)
343     TEST_TYPE_ALIGN  (LPCY, 8)
344 }
345
346 static void test_pack_LPDECIMAL(void)
347 {
348     /* LPDECIMAL */
349     TEST_TYPE_SIZE   (LPDECIMAL, 8)
350     TEST_TYPE_ALIGN  (LPDECIMAL, 8)
351 }
352
353 static void test_pack_LPOLESTR(void)
354 {
355     /* LPOLESTR */
356     TEST_TYPE_SIZE   (LPOLESTR, 8)
357     TEST_TYPE_ALIGN  (LPOLESTR, 8)
358     TEST_TARGET_SIZE (LPOLESTR, 2)
359     TEST_TARGET_ALIGN(LPOLESTR, 2)
360 }
361
362 static void test_pack_OLECHAR(void)
363 {
364     /* OLECHAR */
365     TEST_TYPE_SIZE   (OLECHAR, 2)
366     TEST_TYPE_ALIGN  (OLECHAR, 2)
367 }
368
369 static void test_pack_PROPID(void)
370 {
371     /* PROPID */
372     TEST_TYPE_SIZE   (PROPID, 4)
373     TEST_TYPE_ALIGN  (PROPID, 4)
374 }
375
376 static void test_pack_RemHBITMAP(void)
377 {
378     /* RemHBITMAP */
379     TEST_TYPE_SIZE   (RemHBITMAP, 8)
380     TEST_TYPE_ALIGN  (RemHBITMAP, 4)
381     TEST_FIELD_SIZE  (RemHBITMAP, cbData, 4)
382     TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
383     TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
384     TEST_FIELD_SIZE  (RemHBITMAP, data, 1)
385     TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
386     TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
387 }
388
389 static void test_pack_RemHENHMETAFILE(void)
390 {
391     /* RemHENHMETAFILE */
392     TEST_TYPE_SIZE   (RemHENHMETAFILE, 8)
393     TEST_TYPE_ALIGN  (RemHENHMETAFILE, 4)
394     TEST_FIELD_SIZE  (RemHENHMETAFILE, cbData, 4)
395     TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
396     TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
397     TEST_FIELD_SIZE  (RemHENHMETAFILE, data, 1)
398     TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
399     TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
400 }
401
402 static void test_pack_RemHGLOBAL(void)
403 {
404     /* RemHGLOBAL */
405     TEST_TYPE_SIZE   (RemHGLOBAL, 12)
406     TEST_TYPE_ALIGN  (RemHGLOBAL, 4)
407     TEST_FIELD_SIZE  (RemHGLOBAL, fNullHGlobal, 4)
408     TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
409     TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
410     TEST_FIELD_SIZE  (RemHGLOBAL, cbData, 4)
411     TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
412     TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
413     TEST_FIELD_SIZE  (RemHGLOBAL, data, 1)
414     TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
415     TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
416 }
417
418 static void test_pack_RemHMETAFILEPICT(void)
419 {
420     /* RemHMETAFILEPICT */
421     TEST_TYPE_SIZE   (RemHMETAFILEPICT, 20)
422     TEST_TYPE_ALIGN  (RemHMETAFILEPICT, 4)
423     TEST_FIELD_SIZE  (RemHMETAFILEPICT, mm, 4)
424     TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
425     TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
426     TEST_FIELD_SIZE  (RemHMETAFILEPICT, xExt, 4)
427     TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
428     TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
429     TEST_FIELD_SIZE  (RemHMETAFILEPICT, yExt, 4)
430     TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
431     TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
432     TEST_FIELD_SIZE  (RemHMETAFILEPICT, cbData, 4)
433     TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
434     TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
435     TEST_FIELD_SIZE  (RemHMETAFILEPICT, data, 1)
436     TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
437     TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
438 }
439
440 static void test_pack_RemHPALETTE(void)
441 {
442     /* RemHPALETTE */
443     TEST_TYPE_SIZE   (RemHPALETTE, 8)
444     TEST_TYPE_ALIGN  (RemHPALETTE, 4)
445     TEST_FIELD_SIZE  (RemHPALETTE, cbData, 4)
446     TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
447     TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
448     TEST_FIELD_SIZE  (RemHPALETTE, data, 1)
449     TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
450     TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
451 }
452
453 static void test_pack_SCODE(void)
454 {
455     /* SCODE */
456     TEST_TYPE_SIZE   (SCODE, 4)
457     TEST_TYPE_ALIGN  (SCODE, 4)
458 }
459
460 static void test_pack_UP_BYTE_BLOB(void)
461 {
462     /* UP_BYTE_BLOB */
463     TEST_TYPE_SIZE   (UP_BYTE_BLOB, 8)
464     TEST_TYPE_ALIGN  (UP_BYTE_BLOB, 8)
465     TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
466     TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
467 }
468
469 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
470 {
471     /* UP_FLAGGED_BYTE_BLOB */
472     TEST_TYPE_SIZE   (UP_FLAGGED_BYTE_BLOB, 8)
473     TEST_TYPE_ALIGN  (UP_FLAGGED_BYTE_BLOB, 8)
474     TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
475     TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
476 }
477
478 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
479 {
480     /* UP_FLAGGED_WORD_BLOB */
481     TEST_TYPE_SIZE   (UP_FLAGGED_WORD_BLOB, 8)
482     TEST_TYPE_ALIGN  (UP_FLAGGED_WORD_BLOB, 8)
483     TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
484     TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
485 }
486
487 static void test_pack_VARIANT_BOOL(void)
488 {
489     /* VARIANT_BOOL */
490     TEST_TYPE_SIZE   (VARIANT_BOOL, 2)
491     TEST_TYPE_ALIGN  (VARIANT_BOOL, 2)
492     TEST_TYPE_SIGNED(VARIANT_BOOL)
493 }
494
495 static void test_pack_VARTYPE(void)
496 {
497     /* VARTYPE */
498     TEST_TYPE_SIZE   (VARTYPE, 2)
499     TEST_TYPE_ALIGN  (VARTYPE, 2)
500     TEST_TYPE_UNSIGNED(VARTYPE)
501 }
502
503 static void test_pack_WORD_SIZEDARR(void)
504 {
505     /* WORD_SIZEDARR */
506     TEST_TYPE_SIZE   (WORD_SIZEDARR, 16)
507     TEST_TYPE_ALIGN  (WORD_SIZEDARR, 8)
508     TEST_FIELD_SIZE  (WORD_SIZEDARR, clSize, 4)
509     TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
510     TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
511     TEST_FIELD_SIZE  (WORD_SIZEDARR, pData, 8)
512     TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 8)
513     TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 8)
514 }
515
516 static void test_pack_remoteMETAFILEPICT(void)
517 {
518     /* remoteMETAFILEPICT */
519     TEST_TYPE_SIZE   (remoteMETAFILEPICT, 24)
520     TEST_TYPE_ALIGN  (remoteMETAFILEPICT, 8)
521     TEST_FIELD_SIZE  (remoteMETAFILEPICT, mm, 4)
522     TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
523     TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
524     TEST_FIELD_SIZE  (remoteMETAFILEPICT, xExt, 4)
525     TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
526     TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
527     TEST_FIELD_SIZE  (remoteMETAFILEPICT, yExt, 4)
528     TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
529     TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
530     TEST_FIELD_SIZE  (remoteMETAFILEPICT, hMF, 8)
531     TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 8)
532     TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 16)
533 }
534
535 static void test_pack_userBITMAP(void)
536 {
537     /* userBITMAP */
538     TEST_TYPE_SIZE   (userBITMAP, 28)
539     TEST_TYPE_ALIGN  (userBITMAP, 4)
540     TEST_FIELD_SIZE  (userBITMAP, bmType, 4)
541     TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
542     TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
543     TEST_FIELD_SIZE  (userBITMAP, bmWidth, 4)
544     TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
545     TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
546     TEST_FIELD_SIZE  (userBITMAP, bmHeight, 4)
547     TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
548     TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
549     TEST_FIELD_SIZE  (userBITMAP, bmWidthBytes, 4)
550     TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
551     TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
552     TEST_FIELD_SIZE  (userBITMAP, bmPlanes, 2)
553     TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
554     TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
555     TEST_FIELD_SIZE  (userBITMAP, bmBitsPixel, 2)
556     TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
557     TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
558     TEST_FIELD_SIZE  (userBITMAP, cbSize, 4)
559     TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
560     TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
561     TEST_FIELD_SIZE  (userBITMAP, pBuffer, 1)
562     TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
563     TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
564 }
565
566 static void test_pack_userCLIPFORMAT(void)
567 {
568     /* userCLIPFORMAT */
569     TEST_FIELD_SIZE  (userCLIPFORMAT, fContext, 4)
570     TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
571     TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
572 }
573
574 static void test_pack_userHBITMAP(void)
575 {
576     /* userHBITMAP */
577     TEST_FIELD_SIZE  (userHBITMAP, fContext, 4)
578     TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
579     TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
580 }
581
582 static void test_pack_userHENHMETAFILE(void)
583 {
584     /* userHENHMETAFILE */
585     TEST_FIELD_SIZE  (userHENHMETAFILE, fContext, 4)
586     TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
587     TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
588 }
589
590 static void test_pack_userHGLOBAL(void)
591 {
592     /* userHGLOBAL */
593     TEST_FIELD_SIZE  (userHGLOBAL, fContext, 4)
594     TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
595     TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
596 }
597
598 static void test_pack_userHMETAFILE(void)
599 {
600     /* userHMETAFILE */
601     TEST_FIELD_SIZE  (userHMETAFILE, fContext, 4)
602     TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
603     TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
604 }
605
606 static void test_pack_userHMETAFILEPICT(void)
607 {
608     /* userHMETAFILEPICT */
609     TEST_FIELD_SIZE  (userHMETAFILEPICT, fContext, 4)
610     TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
611     TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
612 }
613
614 static void test_pack_userHPALETTE(void)
615 {
616     /* userHPALETTE */
617     TEST_FIELD_SIZE  (userHPALETTE, fContext, 4)
618     TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
619     TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
620 }
621
622 static void test_pack_wireBSTR(void)
623 {
624     /* wireBSTR */
625     TEST_TYPE_SIZE   (wireBSTR, 8)
626     TEST_TYPE_ALIGN  (wireBSTR, 8)
627     TEST_TARGET_SIZE (wireBSTR, 12)
628     TEST_TARGET_ALIGN(wireBSTR, 4)
629 }
630
631 static void test_pack_wireCLIPFORMAT(void)
632 {
633     /* wireCLIPFORMAT */
634     TEST_TYPE_SIZE   (wireCLIPFORMAT, 8)
635     TEST_TYPE_ALIGN  (wireCLIPFORMAT, 8)
636 }
637
638 static void test_pack_wireHBITMAP(void)
639 {
640     /* wireHBITMAP */
641     TEST_TYPE_SIZE   (wireHBITMAP, 8)
642     TEST_TYPE_ALIGN  (wireHBITMAP, 8)
643 }
644
645 static void test_pack_wireHENHMETAFILE(void)
646 {
647     /* wireHENHMETAFILE */
648     TEST_TYPE_SIZE   (wireHENHMETAFILE, 8)
649     TEST_TYPE_ALIGN  (wireHENHMETAFILE, 8)
650 }
651
652 static void test_pack_wireHGLOBAL(void)
653 {
654     /* wireHGLOBAL */
655     TEST_TYPE_SIZE   (wireHGLOBAL, 8)
656     TEST_TYPE_ALIGN  (wireHGLOBAL, 8)
657 }
658
659 static void test_pack_wireHMETAFILE(void)
660 {
661     /* wireHMETAFILE */
662     TEST_TYPE_SIZE   (wireHMETAFILE, 8)
663     TEST_TYPE_ALIGN  (wireHMETAFILE, 8)
664 }
665
666 static void test_pack_wireHMETAFILEPICT(void)
667 {
668     /* wireHMETAFILEPICT */
669     TEST_TYPE_SIZE   (wireHMETAFILEPICT, 8)
670     TEST_TYPE_ALIGN  (wireHMETAFILEPICT, 8)
671 }
672
673 static void test_pack_wireHPALETTE(void)
674 {
675     /* wireHPALETTE */
676     TEST_TYPE_SIZE   (wireHPALETTE, 8)
677     TEST_TYPE_ALIGN  (wireHPALETTE, 8)
678 }
679
680 static void test_pack_CLSID(void)
681 {
682     /* CLSID */
683     TEST_TYPE_SIZE   (CLSID, 16)
684     TEST_TYPE_ALIGN  (CLSID, 4)
685 }
686
687 static void test_pack_FMTID(void)
688 {
689     /* FMTID */
690     TEST_TYPE_SIZE   (FMTID, 16)
691     TEST_TYPE_ALIGN  (FMTID, 4)
692 }
693
694 static void test_pack_IID(void)
695 {
696     /* IID */
697     TEST_TYPE_SIZE   (IID, 16)
698     TEST_TYPE_ALIGN  (IID, 4)
699 }
700
701 static void test_pack_APPBARDATA(void)
702 {
703     /* APPBARDATA */
704     TEST_TYPE_SIZE   (APPBARDATA, 48)
705     TEST_TYPE_ALIGN  (APPBARDATA, 8)
706     TEST_FIELD_SIZE  (APPBARDATA, cbSize, 4)
707     TEST_FIELD_ALIGN (APPBARDATA, cbSize, 4)
708     TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
709     TEST_FIELD_SIZE  (APPBARDATA, hWnd, 8)
710     TEST_FIELD_ALIGN (APPBARDATA, hWnd, 8)
711     TEST_FIELD_OFFSET(APPBARDATA, hWnd, 8)
712     TEST_FIELD_SIZE  (APPBARDATA, uCallbackMessage, 4)
713     TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 4)
714     TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 16)
715     TEST_FIELD_SIZE  (APPBARDATA, uEdge, 4)
716     TEST_FIELD_ALIGN (APPBARDATA, uEdge, 4)
717     TEST_FIELD_OFFSET(APPBARDATA, uEdge, 20)
718     TEST_FIELD_SIZE  (APPBARDATA, rc, 16)
719     TEST_FIELD_ALIGN (APPBARDATA, rc, 4)
720     TEST_FIELD_OFFSET(APPBARDATA, rc, 24)
721     TEST_FIELD_SIZE  (APPBARDATA, lParam, 8)
722     TEST_FIELD_ALIGN (APPBARDATA, lParam, 8)
723     TEST_FIELD_OFFSET(APPBARDATA, lParam, 40)
724 }
725
726 static void test_pack_DRAGINFOA(void)
727 {
728     /* DRAGINFOA */
729     TEST_TYPE_SIZE   (DRAGINFOA, 32)
730     TEST_TYPE_ALIGN  (DRAGINFOA, 8)
731     TEST_FIELD_SIZE  (DRAGINFOA, uSize, 4)
732     TEST_FIELD_ALIGN (DRAGINFOA, uSize, 4)
733     TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
734     TEST_FIELD_SIZE  (DRAGINFOA, pt, 8)
735     TEST_FIELD_ALIGN (DRAGINFOA, pt, 4)
736     TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
737     TEST_FIELD_SIZE  (DRAGINFOA, fNC, 4)
738     TEST_FIELD_ALIGN (DRAGINFOA, fNC, 4)
739     TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
740     TEST_FIELD_SIZE  (DRAGINFOA, lpFileList, 8)
741     TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 8)
742     TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
743     TEST_FIELD_SIZE  (DRAGINFOA, grfKeyState, 4)
744     TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 4)
745     TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 24)
746 }
747
748 static void test_pack_DRAGINFOW(void)
749 {
750     /* DRAGINFOW */
751     TEST_TYPE_SIZE   (DRAGINFOW, 32)
752     TEST_TYPE_ALIGN  (DRAGINFOW, 8)
753     TEST_FIELD_SIZE  (DRAGINFOW, uSize, 4)
754     TEST_FIELD_ALIGN (DRAGINFOW, uSize, 4)
755     TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
756     TEST_FIELD_SIZE  (DRAGINFOW, pt, 8)
757     TEST_FIELD_ALIGN (DRAGINFOW, pt, 4)
758     TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
759     TEST_FIELD_SIZE  (DRAGINFOW, fNC, 4)
760     TEST_FIELD_ALIGN (DRAGINFOW, fNC, 4)
761     TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
762     TEST_FIELD_SIZE  (DRAGINFOW, lpFileList, 8)
763     TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 8)
764     TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
765     TEST_FIELD_SIZE  (DRAGINFOW, grfKeyState, 4)
766     TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 4)
767     TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 24)
768 }
769
770 static void test_pack_FILEOP_FLAGS(void)
771 {
772     /* FILEOP_FLAGS */
773     TEST_TYPE_SIZE   (FILEOP_FLAGS, 2)
774     TEST_TYPE_ALIGN  (FILEOP_FLAGS, 2)
775     TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
776 }
777
778 static void test_pack_LPDRAGINFOA(void)
779 {
780     /* LPDRAGINFOA */
781     TEST_TYPE_SIZE   (LPDRAGINFOA, 8)
782     TEST_TYPE_ALIGN  (LPDRAGINFOA, 8)
783     TEST_TARGET_SIZE (LPDRAGINFOA, 32)
784     TEST_TARGET_ALIGN(LPDRAGINFOA, 8)
785 }
786
787 static void test_pack_LPDRAGINFOW(void)
788 {
789     /* LPDRAGINFOW */
790     TEST_TYPE_SIZE   (LPDRAGINFOW, 8)
791     TEST_TYPE_ALIGN  (LPDRAGINFOW, 8)
792     TEST_TARGET_SIZE (LPDRAGINFOW, 32)
793     TEST_TARGET_ALIGN(LPDRAGINFOW, 8)
794 }
795
796 static void test_pack_LPSHELLEXECUTEINFOA(void)
797 {
798     /* LPSHELLEXECUTEINFOA */
799     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOA, 8)
800     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOA, 8)
801 }
802
803 static void test_pack_LPSHELLEXECUTEINFOW(void)
804 {
805     /* LPSHELLEXECUTEINFOW */
806     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOW, 8)
807     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOW, 8)
808 }
809
810 static void test_pack_LPSHFILEOPSTRUCTA(void)
811 {
812     /* LPSHFILEOPSTRUCTA */
813     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTA, 8)
814     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTA, 8)
815     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 56)
816     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 8)
817 }
818
819 static void test_pack_LPSHFILEOPSTRUCTW(void)
820 {
821     /* LPSHFILEOPSTRUCTW */
822     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTW, 8)
823     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTW, 8)
824     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 56)
825     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 8)
826 }
827
828 static void test_pack_LPSHNAMEMAPPINGA(void)
829 {
830     /* LPSHNAMEMAPPINGA */
831     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGA, 8)
832     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGA, 8)
833     TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 24)
834     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 8)
835 }
836
837 static void test_pack_LPSHNAMEMAPPINGW(void)
838 {
839     /* LPSHNAMEMAPPINGW */
840     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGW, 8)
841     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGW, 8)
842     TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 24)
843     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 8)
844 }
845
846 static void test_pack_NOTIFYICONDATAA(void)
847 {
848     /* NOTIFYICONDATAA */
849     TEST_FIELD_SIZE  (NOTIFYICONDATAA, cbSize, 4)
850     TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 4)
851     TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
852     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hWnd, 8)
853     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 8)
854     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 8)
855     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uID, 4)
856     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 4)
857     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 16)
858     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uFlags, 4)
859     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 4)
860     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 20)
861     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uCallbackMessage, 4)
862     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 4)
863     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 24)
864     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hIcon, 8)
865     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 8)
866     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 32)
867     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szTip, 128)
868     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
869     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 40)
870     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwState, 4)
871     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 4)
872     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 168)
873     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwStateMask, 4)
874     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 4)
875     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 172)
876     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szInfo, 256)
877     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
878     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 176)
879 }
880
881 static void test_pack_NOTIFYICONDATAW(void)
882 {
883     /* NOTIFYICONDATAW */
884     TEST_FIELD_SIZE  (NOTIFYICONDATAW, cbSize, 4)
885     TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 4)
886     TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
887     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hWnd, 8)
888     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 8)
889     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 8)
890     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uID, 4)
891     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 4)
892     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 16)
893     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uFlags, 4)
894     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 4)
895     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 20)
896     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uCallbackMessage, 4)
897     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 4)
898     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 24)
899     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hIcon, 8)
900     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 8)
901     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 32)
902     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szTip, 256)
903     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 2)
904     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 40)
905     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwState, 4)
906     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 4)
907     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 296)
908     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwStateMask, 4)
909     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 4)
910     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 300)
911     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szInfo, 512)
912     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 2)
913     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 304)
914 }
915
916 static void test_pack_PAPPBARDATA(void)
917 {
918     /* PAPPBARDATA */
919     TEST_TYPE_SIZE   (PAPPBARDATA, 8)
920     TEST_TYPE_ALIGN  (PAPPBARDATA, 8)
921     TEST_TARGET_SIZE (PAPPBARDATA, 48)
922     TEST_TARGET_ALIGN(PAPPBARDATA, 8)
923 }
924
925 static void test_pack_PNOTIFYICONDATAA(void)
926 {
927     /* PNOTIFYICONDATAA */
928     TEST_TYPE_SIZE   (PNOTIFYICONDATAA, 8)
929     TEST_TYPE_ALIGN  (PNOTIFYICONDATAA, 8)
930 }
931
932 static void test_pack_PNOTIFYICONDATAW(void)
933 {
934     /* PNOTIFYICONDATAW */
935     TEST_TYPE_SIZE   (PNOTIFYICONDATAW, 8)
936     TEST_TYPE_ALIGN  (PNOTIFYICONDATAW, 8)
937 }
938
939 static void test_pack_PRINTEROP_FLAGS(void)
940 {
941     /* PRINTEROP_FLAGS */
942     TEST_TYPE_SIZE   (PRINTEROP_FLAGS, 2)
943     TEST_TYPE_ALIGN  (PRINTEROP_FLAGS, 2)
944     TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
945 }
946
947 static void test_pack_SHELLEXECUTEINFOA(void)
948 {
949     /* SHELLEXECUTEINFOA */
950     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, cbSize, 4)
951     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 4)
952     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
953     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, fMask, 4)
954     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 4)
955     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
956     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hwnd, 8)
957     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 8)
958     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
959     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpVerb, 8)
960     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 8)
961     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 16)
962     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpFile, 8)
963     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 8)
964     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 24)
965     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpParameters, 8)
966     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 8)
967     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 32)
968     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpDirectory, 8)
969     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 8)
970     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 40)
971     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, nShow, 4)
972     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 4)
973     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 48)
974     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hInstApp, 8)
975     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 8)
976     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 56)
977     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpIDList, 8)
978     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 8)
979     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 64)
980     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpClass, 8)
981     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 8)
982     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 72)
983     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hkeyClass, 8)
984     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 8)
985     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 80)
986     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, dwHotKey, 4)
987     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 4)
988     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 88)
989 }
990
991 static void test_pack_SHELLEXECUTEINFOW(void)
992 {
993     /* SHELLEXECUTEINFOW */
994     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, cbSize, 4)
995     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 4)
996     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
997     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, fMask, 4)
998     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 4)
999     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
1000     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hwnd, 8)
1001     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 8)
1002     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
1003     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpVerb, 8)
1004     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 8)
1005     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 16)
1006     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpFile, 8)
1007     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 8)
1008     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 24)
1009     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpParameters, 8)
1010     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 8)
1011     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 32)
1012     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpDirectory, 8)
1013     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 8)
1014     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 40)
1015     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, nShow, 4)
1016     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 4)
1017     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 48)
1018     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hInstApp, 8)
1019     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 8)
1020     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 56)
1021     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpIDList, 8)
1022     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 8)
1023     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 64)
1024     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpClass, 8)
1025     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 8)
1026     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 72)
1027     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hkeyClass, 8)
1028     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 8)
1029     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 80)
1030     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, dwHotKey, 4)
1031     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 4)
1032     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 88)
1033 }
1034
1035 static void test_pack_SHFILEINFOA(void)
1036 {
1037     /* SHFILEINFOA */
1038     TEST_TYPE_SIZE   (SHFILEINFOA, 360)
1039     TEST_TYPE_ALIGN  (SHFILEINFOA, 8)
1040     TEST_FIELD_SIZE  (SHFILEINFOA, hIcon, 8)
1041     TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 8)
1042     TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
1043     TEST_FIELD_SIZE  (SHFILEINFOA, iIcon, 4)
1044     TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 4)
1045     TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 8)
1046     TEST_FIELD_SIZE  (SHFILEINFOA, dwAttributes, 4)
1047     TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 4)
1048     TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 12)
1049     TEST_FIELD_SIZE  (SHFILEINFOA, szDisplayName, 260)
1050     TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
1051     TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 16)
1052     TEST_FIELD_SIZE  (SHFILEINFOA, szTypeName, 80)
1053     TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
1054     TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 276)
1055 }
1056
1057 static void test_pack_SHFILEINFOW(void)
1058 {
1059     /* SHFILEINFOW */
1060     TEST_TYPE_SIZE   (SHFILEINFOW, 696)
1061     TEST_TYPE_ALIGN  (SHFILEINFOW, 8)
1062     TEST_FIELD_SIZE  (SHFILEINFOW, hIcon, 8)
1063     TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 8)
1064     TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
1065     TEST_FIELD_SIZE  (SHFILEINFOW, iIcon, 4)
1066     TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 4)
1067     TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 8)
1068     TEST_FIELD_SIZE  (SHFILEINFOW, dwAttributes, 4)
1069     TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 4)
1070     TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 12)
1071     TEST_FIELD_SIZE  (SHFILEINFOW, szDisplayName, 520)
1072     TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 2)
1073     TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 16)
1074     TEST_FIELD_SIZE  (SHFILEINFOW, szTypeName, 160)
1075     TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 2)
1076     TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 536)
1077 }
1078
1079 static void test_pack_SHFILEOPSTRUCTA(void)
1080 {
1081     /* SHFILEOPSTRUCTA */
1082     TEST_TYPE_SIZE   (SHFILEOPSTRUCTA, 56)
1083     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTA, 8)
1084     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hwnd, 8)
1085     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 8)
1086     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
1087     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, wFunc, 4)
1088     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 4)
1089     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 8)
1090     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pFrom, 8)
1091     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 8)
1092     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 16)
1093     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pTo, 8)
1094     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 8)
1095     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 24)
1096     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fFlags, 2)
1097     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 2)
1098     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 32)
1099     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1100     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1101     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 36)
1102     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hNameMappings, 8)
1103     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 8)
1104     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 40)
1105     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, lpszProgressTitle, 8)
1106     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 8)
1107     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 48)
1108 }
1109
1110 static void test_pack_SHFILEOPSTRUCTW(void)
1111 {
1112     /* SHFILEOPSTRUCTW */
1113     TEST_TYPE_SIZE   (SHFILEOPSTRUCTW, 56)
1114     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTW, 8)
1115     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hwnd, 8)
1116     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 8)
1117     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
1118     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, wFunc, 4)
1119     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 4)
1120     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 8)
1121     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pFrom, 8)
1122     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 8)
1123     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 16)
1124     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pTo, 8)
1125     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 8)
1126     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 24)
1127     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fFlags, 2)
1128     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 2)
1129     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 32)
1130     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1131     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1132     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 36)
1133     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hNameMappings, 8)
1134     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 8)
1135     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 40)
1136     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, lpszProgressTitle, 8)
1137     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 8)
1138     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 48)
1139 }
1140
1141 static void test_pack_SHNAMEMAPPINGA(void)
1142 {
1143     /* SHNAMEMAPPINGA */
1144     TEST_TYPE_SIZE   (SHNAMEMAPPINGA, 24)
1145     TEST_TYPE_ALIGN  (SHNAMEMAPPINGA, 8)
1146     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszOldPath, 8)
1147     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 8)
1148     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
1149     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszNewPath, 8)
1150     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 8)
1151     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 8)
1152     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchOldPath, 4)
1153     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 4)
1154     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 16)
1155     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchNewPath, 4)
1156     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 4)
1157     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 20)
1158 }
1159
1160 static void test_pack_SHNAMEMAPPINGW(void)
1161 {
1162     /* SHNAMEMAPPINGW */
1163     TEST_TYPE_SIZE   (SHNAMEMAPPINGW, 24)
1164     TEST_TYPE_ALIGN  (SHNAMEMAPPINGW, 8)
1165     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszOldPath, 8)
1166     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 8)
1167     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
1168     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszNewPath, 8)
1169     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 8)
1170     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 8)
1171     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchOldPath, 4)
1172     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 4)
1173     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 16)
1174     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchNewPath, 4)
1175     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 4)
1176     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 20)
1177 }
1178
1179 static void test_pack_ITEMIDLIST(void)
1180 {
1181     /* ITEMIDLIST (pack 1) */
1182     TEST_TYPE_SIZE   (ITEMIDLIST, 3)
1183     TEST_TYPE_ALIGN  (ITEMIDLIST, 1)
1184     TEST_FIELD_SIZE  (ITEMIDLIST, mkid, 3)
1185     TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
1186     TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
1187 }
1188
1189 static void test_pack_LPCITEMIDLIST(void)
1190 {
1191     /* LPCITEMIDLIST */
1192     TEST_TYPE_SIZE   (LPCITEMIDLIST, 8)
1193     TEST_TYPE_ALIGN  (LPCITEMIDLIST, 8)
1194     TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
1195     TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
1196 }
1197
1198 static void test_pack_LPCSHITEMID(void)
1199 {
1200     /* LPCSHITEMID */
1201     TEST_TYPE_SIZE   (LPCSHITEMID, 8)
1202     TEST_TYPE_ALIGN  (LPCSHITEMID, 8)
1203     TEST_TARGET_SIZE (LPCSHITEMID, 3)
1204     TEST_TARGET_ALIGN(LPCSHITEMID, 1)
1205 }
1206
1207 static void test_pack_LPITEMIDLIST(void)
1208 {
1209     /* LPITEMIDLIST */
1210     TEST_TYPE_SIZE   (LPITEMIDLIST, 8)
1211     TEST_TYPE_ALIGN  (LPITEMIDLIST, 8)
1212 }
1213
1214 static void test_pack_LPSHELLDETAILS(void)
1215 {
1216     /* LPSHELLDETAILS */
1217     TEST_TYPE_SIZE   (LPSHELLDETAILS, 8)
1218     TEST_TYPE_ALIGN  (LPSHELLDETAILS, 8)
1219 }
1220
1221 static void test_pack_LPSHITEMID(void)
1222 {
1223     /* LPSHITEMID */
1224     TEST_TYPE_SIZE   (LPSHITEMID, 8)
1225     TEST_TYPE_ALIGN  (LPSHITEMID, 8)
1226 }
1227
1228 static void test_pack_LPSTRRET(void)
1229 {
1230     /* LPSTRRET */
1231     TEST_TYPE_SIZE   (LPSTRRET, 8)
1232     TEST_TYPE_ALIGN  (LPSTRRET, 8)
1233 }
1234
1235 static void test_pack_SHELLDETAILS(void)
1236 {
1237     /* SHELLDETAILS (pack 1) */
1238     TEST_FIELD_SIZE  (SHELLDETAILS, fmt, 4)
1239     TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
1240     TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
1241     TEST_FIELD_SIZE  (SHELLDETAILS, cxChar, 4)
1242     TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
1243     TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
1244 }
1245
1246 static void test_pack_SHITEMID(void)
1247 {
1248     /* SHITEMID (pack 1) */
1249     TEST_TYPE_SIZE   (SHITEMID, 3)
1250     TEST_TYPE_ALIGN  (SHITEMID, 1)
1251     TEST_FIELD_SIZE  (SHITEMID, cb, 2)
1252     TEST_FIELD_ALIGN (SHITEMID, cb, 1)
1253     TEST_FIELD_OFFSET(SHITEMID, cb, 0)
1254     TEST_FIELD_SIZE  (SHITEMID, abID, 1)
1255     TEST_FIELD_ALIGN (SHITEMID, abID, 1)
1256     TEST_FIELD_OFFSET(SHITEMID, abID, 2)
1257 }
1258
1259 static void test_pack_STRRET(void)
1260 {
1261     /* STRRET (pack 8) */
1262     TEST_FIELD_SIZE  (STRRET, uType, 4)
1263     TEST_FIELD_ALIGN (STRRET, uType, 4)
1264     TEST_FIELD_OFFSET(STRRET, uType, 0)
1265 }
1266
1267 static void test_pack_AUTO_SCROLL_DATA(void)
1268 {
1269     /* AUTO_SCROLL_DATA (pack 1) */
1270     TEST_TYPE_SIZE   (AUTO_SCROLL_DATA, 48)
1271     TEST_TYPE_ALIGN  (AUTO_SCROLL_DATA, 1)
1272     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, iNextSample, 4)
1273     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
1274     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
1275     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwLastScroll, 4)
1276     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
1277     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
1278     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, bFull, 4)
1279     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
1280     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
1281     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, pts, 24)
1282     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
1283     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
1284     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwTimes, 12)
1285     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
1286     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
1287 }
1288
1289 static void test_pack_BFFCALLBACK(void)
1290 {
1291     /* BFFCALLBACK */
1292     TEST_TYPE_SIZE   (BFFCALLBACK, 8)
1293     TEST_TYPE_ALIGN  (BFFCALLBACK, 8)
1294 }
1295
1296 static void test_pack_BROWSEINFOA(void)
1297 {
1298     /* BROWSEINFOA (pack 8) */
1299     TEST_TYPE_SIZE   (BROWSEINFOA, 64)
1300     TEST_TYPE_ALIGN  (BROWSEINFOA, 8)
1301     TEST_FIELD_SIZE  (BROWSEINFOA, hwndOwner, 8)
1302     TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 8)
1303     TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
1304     TEST_FIELD_SIZE  (BROWSEINFOA, pidlRoot, 8)
1305     TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 8)
1306     TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 8)
1307     TEST_FIELD_SIZE  (BROWSEINFOA, pszDisplayName, 8)
1308     TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 8)
1309     TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 16)
1310     TEST_FIELD_SIZE  (BROWSEINFOA, lpszTitle, 8)
1311     TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 8)
1312     TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 24)
1313     TEST_FIELD_SIZE  (BROWSEINFOA, ulFlags, 4)
1314     TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
1315     TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 32)
1316     TEST_FIELD_SIZE  (BROWSEINFOA, lpfn, 8)
1317     TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 8)
1318     TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 40)
1319     TEST_FIELD_SIZE  (BROWSEINFOA, lParam, 8)
1320     TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 8)
1321     TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 48)
1322     TEST_FIELD_SIZE  (BROWSEINFOA, iImage, 4)
1323     TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
1324     TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 56)
1325 }
1326
1327 static void test_pack_BROWSEINFOW(void)
1328 {
1329     /* BROWSEINFOW (pack 8) */
1330     TEST_TYPE_SIZE   (BROWSEINFOW, 64)
1331     TEST_TYPE_ALIGN  (BROWSEINFOW, 8)
1332     TEST_FIELD_SIZE  (BROWSEINFOW, hwndOwner, 8)
1333     TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 8)
1334     TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
1335     TEST_FIELD_SIZE  (BROWSEINFOW, pidlRoot, 8)
1336     TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 8)
1337     TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 8)
1338     TEST_FIELD_SIZE  (BROWSEINFOW, pszDisplayName, 8)
1339     TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 8)
1340     TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 16)
1341     TEST_FIELD_SIZE  (BROWSEINFOW, lpszTitle, 8)
1342     TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 8)
1343     TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 24)
1344     TEST_FIELD_SIZE  (BROWSEINFOW, ulFlags, 4)
1345     TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
1346     TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 32)
1347     TEST_FIELD_SIZE  (BROWSEINFOW, lpfn, 8)
1348     TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 8)
1349     TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 40)
1350     TEST_FIELD_SIZE  (BROWSEINFOW, lParam, 8)
1351     TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 8)
1352     TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 48)
1353     TEST_FIELD_SIZE  (BROWSEINFOW, iImage, 4)
1354     TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
1355     TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 56)
1356 }
1357
1358 static void test_pack_CABINETSTATE(void)
1359 {
1360     /* CABINETSTATE (pack 1) */
1361     TEST_TYPE_SIZE   (CABINETSTATE, 12)
1362     TEST_TYPE_ALIGN  (CABINETSTATE, 1)
1363     TEST_FIELD_SIZE  (CABINETSTATE, cLength, 2)
1364     TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
1365     TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
1366     TEST_FIELD_SIZE  (CABINETSTATE, nVersion, 2)
1367     TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
1368     TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
1369     TEST_FIELD_SIZE  (CABINETSTATE, fMenuEnumFilter, 4)
1370     TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
1371     TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
1372 }
1373
1374 static void test_pack_CIDA(void)
1375 {
1376     /* CIDA (pack 1) */
1377     TEST_TYPE_SIZE   (CIDA, 8)
1378     TEST_TYPE_ALIGN  (CIDA, 1)
1379     TEST_FIELD_SIZE  (CIDA, cidl, 4)
1380     TEST_FIELD_ALIGN (CIDA, cidl, 1)
1381     TEST_FIELD_OFFSET(CIDA, cidl, 0)
1382     TEST_FIELD_SIZE  (CIDA, aoffset, 4)
1383     TEST_FIELD_ALIGN (CIDA, aoffset, 1)
1384     TEST_FIELD_OFFSET(CIDA, aoffset, 4)
1385 }
1386
1387 static void test_pack_CSFV(void)
1388 {
1389     /* CSFV (pack 8) */
1390     TEST_FIELD_SIZE  (CSFV, cbSize, 4)
1391     TEST_FIELD_ALIGN (CSFV, cbSize, 4)
1392     TEST_FIELD_OFFSET(CSFV, cbSize, 0)
1393     TEST_FIELD_SIZE  (CSFV, pshf, 8)
1394     TEST_FIELD_ALIGN (CSFV, pshf, 8)
1395     TEST_FIELD_OFFSET(CSFV, pshf, 8)
1396     TEST_FIELD_SIZE  (CSFV, psvOuter, 8)
1397     TEST_FIELD_ALIGN (CSFV, psvOuter, 8)
1398     TEST_FIELD_OFFSET(CSFV, psvOuter, 16)
1399     TEST_FIELD_SIZE  (CSFV, pidl, 8)
1400     TEST_FIELD_ALIGN (CSFV, pidl, 8)
1401     TEST_FIELD_OFFSET(CSFV, pidl, 24)
1402     TEST_FIELD_SIZE  (CSFV, lEvents, 4)
1403     TEST_FIELD_ALIGN (CSFV, lEvents, 4)
1404     TEST_FIELD_OFFSET(CSFV, lEvents, 32)
1405     TEST_FIELD_SIZE  (CSFV, pfnCallback, 8)
1406     TEST_FIELD_ALIGN (CSFV, pfnCallback, 8)
1407     TEST_FIELD_OFFSET(CSFV, pfnCallback, 40)
1408 }
1409
1410 static void test_pack_DROPFILES(void)
1411 {
1412     /* DROPFILES (pack 1) */
1413     TEST_TYPE_SIZE   (DROPFILES, 20)
1414     TEST_TYPE_ALIGN  (DROPFILES, 1)
1415     TEST_FIELD_SIZE  (DROPFILES, pFiles, 4)
1416     TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
1417     TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
1418     TEST_FIELD_SIZE  (DROPFILES, pt, 8)
1419     TEST_FIELD_ALIGN (DROPFILES, pt, 1)
1420     TEST_FIELD_OFFSET(DROPFILES, pt, 4)
1421     TEST_FIELD_SIZE  (DROPFILES, fNC, 4)
1422     TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
1423     TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
1424     TEST_FIELD_SIZE  (DROPFILES, fWide, 4)
1425     TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
1426     TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
1427 }
1428
1429 static void test_pack_FILEDESCRIPTORA(void)
1430 {
1431     /* FILEDESCRIPTORA (pack 1) */
1432     TEST_TYPE_SIZE   (FILEDESCRIPTORA, 332)
1433     TEST_TYPE_ALIGN  (FILEDESCRIPTORA, 1)
1434     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFlags, 4)
1435     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
1436     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
1437     TEST_FIELD_SIZE  (FILEDESCRIPTORA, clsid, 16)
1438     TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
1439     TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
1440     TEST_FIELD_SIZE  (FILEDESCRIPTORA, sizel, 8)
1441     TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
1442     TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
1443     TEST_FIELD_SIZE  (FILEDESCRIPTORA, pointl, 8)
1444     TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
1445     TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
1446     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFileAttributes, 4)
1447     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
1448     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
1449     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftCreationTime, 8)
1450     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
1451     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
1452     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastAccessTime, 8)
1453     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
1454     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
1455     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastWriteTime, 8)
1456     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
1457     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
1458     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeHigh, 4)
1459     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
1460     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
1461     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeLow, 4)
1462     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
1463     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
1464     TEST_FIELD_SIZE  (FILEDESCRIPTORA, cFileName, 260)
1465     TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
1466     TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
1467 }
1468
1469 static void test_pack_FILEDESCRIPTORW(void)
1470 {
1471     /* FILEDESCRIPTORW (pack 1) */
1472     TEST_TYPE_SIZE   (FILEDESCRIPTORW, 592)
1473     TEST_TYPE_ALIGN  (FILEDESCRIPTORW, 1)
1474     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFlags, 4)
1475     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
1476     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
1477     TEST_FIELD_SIZE  (FILEDESCRIPTORW, clsid, 16)
1478     TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
1479     TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
1480     TEST_FIELD_SIZE  (FILEDESCRIPTORW, sizel, 8)
1481     TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
1482     TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
1483     TEST_FIELD_SIZE  (FILEDESCRIPTORW, pointl, 8)
1484     TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
1485     TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
1486     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFileAttributes, 4)
1487     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
1488     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
1489     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftCreationTime, 8)
1490     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
1491     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
1492     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastAccessTime, 8)
1493     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
1494     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
1495     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastWriteTime, 8)
1496     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
1497     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
1498     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeHigh, 4)
1499     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
1500     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
1501     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeLow, 4)
1502     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
1503     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
1504     TEST_FIELD_SIZE  (FILEDESCRIPTORW, cFileName, 520)
1505     TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
1506     TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
1507 }
1508
1509 static void test_pack_FILEGROUPDESCRIPTORA(void)
1510 {
1511     /* FILEGROUPDESCRIPTORA (pack 1) */
1512     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORA, 336)
1513     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORA, 1)
1514     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, cItems, 4)
1515     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
1516     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
1517     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, fgd, 332)
1518     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
1519     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
1520 }
1521
1522 static void test_pack_FILEGROUPDESCRIPTORW(void)
1523 {
1524     /* FILEGROUPDESCRIPTORW (pack 1) */
1525     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORW, 596)
1526     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORW, 1)
1527     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, cItems, 4)
1528     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
1529     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
1530     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, fgd, 592)
1531     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
1532     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
1533 }
1534
1535 static void test_pack_ITEMSPACING(void)
1536 {
1537     /* ITEMSPACING (pack 8) */
1538     TEST_TYPE_SIZE   (ITEMSPACING, 16)
1539     TEST_TYPE_ALIGN  (ITEMSPACING, 4)
1540     TEST_FIELD_SIZE  (ITEMSPACING, cxSmall, 4)
1541     TEST_FIELD_ALIGN (ITEMSPACING, cxSmall, 4)
1542     TEST_FIELD_OFFSET(ITEMSPACING, cxSmall, 0)
1543     TEST_FIELD_SIZE  (ITEMSPACING, cySmall, 4)
1544     TEST_FIELD_ALIGN (ITEMSPACING, cySmall, 4)
1545     TEST_FIELD_OFFSET(ITEMSPACING, cySmall, 4)
1546     TEST_FIELD_SIZE  (ITEMSPACING, cxLarge, 4)
1547     TEST_FIELD_ALIGN (ITEMSPACING, cxLarge, 4)
1548     TEST_FIELD_OFFSET(ITEMSPACING, cxLarge, 8)
1549     TEST_FIELD_SIZE  (ITEMSPACING, cyLarge, 4)
1550     TEST_FIELD_ALIGN (ITEMSPACING, cyLarge, 4)
1551     TEST_FIELD_OFFSET(ITEMSPACING, cyLarge, 12)
1552 }
1553
1554 static void test_pack_LPBROWSEINFOA(void)
1555 {
1556     /* LPBROWSEINFOA */
1557     TEST_TYPE_SIZE   (LPBROWSEINFOA, 8)
1558     TEST_TYPE_ALIGN  (LPBROWSEINFOA, 8)
1559     TEST_TARGET_SIZE (LPBROWSEINFOA, 64)
1560     TEST_TARGET_ALIGN(LPBROWSEINFOA, 8)
1561 }
1562
1563 static void test_pack_LPBROWSEINFOW(void)
1564 {
1565     /* LPBROWSEINFOW */
1566     TEST_TYPE_SIZE   (LPBROWSEINFOW, 8)
1567     TEST_TYPE_ALIGN  (LPBROWSEINFOW, 8)
1568     TEST_TARGET_SIZE (LPBROWSEINFOW, 64)
1569     TEST_TARGET_ALIGN(LPBROWSEINFOW, 8)
1570 }
1571
1572 static void test_pack_LPCABINETSTATE(void)
1573 {
1574     /* LPCABINETSTATE */
1575     TEST_TYPE_SIZE   (LPCABINETSTATE, 8)
1576     TEST_TYPE_ALIGN  (LPCABINETSTATE, 8)
1577     TEST_TARGET_SIZE (LPCABINETSTATE, 12)
1578     TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
1579 }
1580
1581 static void test_pack_LPCSFV(void)
1582 {
1583     /* LPCSFV */
1584     TEST_TYPE_SIZE   (LPCSFV, 8)
1585     TEST_TYPE_ALIGN  (LPCSFV, 8)
1586 }
1587
1588 static void test_pack_LPDROPFILES(void)
1589 {
1590     /* LPDROPFILES */
1591     TEST_TYPE_SIZE   (LPDROPFILES, 8)
1592     TEST_TYPE_ALIGN  (LPDROPFILES, 8)
1593     TEST_TARGET_SIZE (LPDROPFILES, 20)
1594     TEST_TARGET_ALIGN(LPDROPFILES, 1)
1595 }
1596
1597 static void test_pack_LPFILEDESCRIPTORA(void)
1598 {
1599     /* LPFILEDESCRIPTORA */
1600     TEST_TYPE_SIZE   (LPFILEDESCRIPTORA, 8)
1601     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORA, 8)
1602     TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
1603     TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
1604 }
1605
1606 static void test_pack_LPFILEDESCRIPTORW(void)
1607 {
1608     /* LPFILEDESCRIPTORW */
1609     TEST_TYPE_SIZE   (LPFILEDESCRIPTORW, 8)
1610     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORW, 8)
1611     TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
1612     TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
1613 }
1614
1615 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
1616 {
1617     /* LPFILEGROUPDESCRIPTORA */
1618     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORA, 8)
1619     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORA, 8)
1620     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
1621     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
1622 }
1623
1624 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
1625 {
1626     /* LPFILEGROUPDESCRIPTORW */
1627     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORW, 8)
1628     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORW, 8)
1629     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
1630     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
1631 }
1632
1633 static void test_pack_LPFNVIEWCALLBACK(void)
1634 {
1635     /* LPFNVIEWCALLBACK */
1636     TEST_TYPE_SIZE   (LPFNVIEWCALLBACK, 8)
1637     TEST_TYPE_ALIGN  (LPFNVIEWCALLBACK, 8)
1638 }
1639
1640 static void test_pack_LPIDA(void)
1641 {
1642     /* LPIDA */
1643     TEST_TYPE_SIZE   (LPIDA, 8)
1644     TEST_TYPE_ALIGN  (LPIDA, 8)
1645     TEST_TARGET_SIZE (LPIDA, 8)
1646     TEST_TARGET_ALIGN(LPIDA, 1)
1647 }
1648
1649 static void test_pack_LPQCMINFO(void)
1650 {
1651     /* LPQCMINFO */
1652     TEST_TYPE_SIZE   (LPQCMINFO, 8)
1653     TEST_TYPE_ALIGN  (LPQCMINFO, 8)
1654     TEST_TARGET_SIZE (LPQCMINFO, 32)
1655     TEST_TARGET_ALIGN(LPQCMINFO, 8)
1656 }
1657
1658 static void test_pack_LPSHChangeDWORDAsIDList(void)
1659 {
1660     /* LPSHChangeDWORDAsIDList */
1661     TEST_TYPE_SIZE   (LPSHChangeDWORDAsIDList, 8)
1662     TEST_TYPE_ALIGN  (LPSHChangeDWORDAsIDList, 8)
1663     TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
1664     TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
1665 }
1666
1667 static void test_pack_LPSHChangeProductKeyAsIDList(void)
1668 {
1669     /* LPSHChangeProductKeyAsIDList */
1670     TEST_TYPE_SIZE   (LPSHChangeProductKeyAsIDList, 8)
1671     TEST_TYPE_ALIGN  (LPSHChangeProductKeyAsIDList, 8)
1672     TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
1673     TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
1674 }
1675
1676 static void test_pack_LPSHDESCRIPTIONID(void)
1677 {
1678     /* LPSHDESCRIPTIONID */
1679     TEST_TYPE_SIZE   (LPSHDESCRIPTIONID, 8)
1680     TEST_TYPE_ALIGN  (LPSHDESCRIPTIONID, 8)
1681     TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
1682     TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
1683 }
1684
1685 static void test_pack_LPSHELLFLAGSTATE(void)
1686 {
1687     /* LPSHELLFLAGSTATE */
1688     TEST_TYPE_SIZE   (LPSHELLFLAGSTATE, 8)
1689     TEST_TYPE_ALIGN  (LPSHELLFLAGSTATE, 8)
1690     TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
1691     TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
1692 }
1693
1694 static void test_pack_LPSHELLSTATE(void)
1695 {
1696     /* LPSHELLSTATE */
1697     TEST_TYPE_SIZE   (LPSHELLSTATE, 8)
1698     TEST_TYPE_ALIGN  (LPSHELLSTATE, 8)
1699     TEST_TARGET_SIZE (LPSHELLSTATE, 32)
1700     TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
1701 }
1702
1703 static void test_pack_LPTBINFO(void)
1704 {
1705     /* LPTBINFO */
1706     TEST_TYPE_SIZE   (LPTBINFO, 8)
1707     TEST_TYPE_ALIGN  (LPTBINFO, 8)
1708     TEST_TARGET_SIZE (LPTBINFO, 8)
1709     TEST_TARGET_ALIGN(LPTBINFO, 4)
1710 }
1711
1712 static void test_pack_PBROWSEINFOA(void)
1713 {
1714     /* PBROWSEINFOA */
1715     TEST_TYPE_SIZE   (PBROWSEINFOA, 8)
1716     TEST_TYPE_ALIGN  (PBROWSEINFOA, 8)
1717     TEST_TARGET_SIZE (PBROWSEINFOA, 64)
1718     TEST_TARGET_ALIGN(PBROWSEINFOA, 8)
1719 }
1720
1721 static void test_pack_PBROWSEINFOW(void)
1722 {
1723     /* PBROWSEINFOW */
1724     TEST_TYPE_SIZE   (PBROWSEINFOW, 8)
1725     TEST_TYPE_ALIGN  (PBROWSEINFOW, 8)
1726     TEST_TARGET_SIZE (PBROWSEINFOW, 64)
1727     TEST_TARGET_ALIGN(PBROWSEINFOW, 8)
1728 }
1729
1730 static void test_pack_QCMINFO(void)
1731 {
1732     /* QCMINFO (pack 8) */
1733     TEST_TYPE_SIZE   (QCMINFO, 32)
1734     TEST_TYPE_ALIGN  (QCMINFO, 8)
1735     TEST_FIELD_SIZE  (QCMINFO, hmenu, 8)
1736     TEST_FIELD_ALIGN (QCMINFO, hmenu, 8)
1737     TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
1738     TEST_FIELD_SIZE  (QCMINFO, indexMenu, 4)
1739     TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
1740     TEST_FIELD_OFFSET(QCMINFO, indexMenu, 8)
1741     TEST_FIELD_SIZE  (QCMINFO, idCmdFirst, 4)
1742     TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
1743     TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 12)
1744     TEST_FIELD_SIZE  (QCMINFO, idCmdLast, 4)
1745     TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
1746     TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 16)
1747     TEST_FIELD_SIZE  (QCMINFO, pIdMap, 8)
1748     TEST_FIELD_ALIGN (QCMINFO, pIdMap, 8)
1749     TEST_FIELD_OFFSET(QCMINFO, pIdMap, 24)
1750 }
1751
1752 static void test_pack_QCMINFO_IDMAP(void)
1753 {
1754     /* QCMINFO_IDMAP (pack 8) */
1755     TEST_TYPE_SIZE   (QCMINFO_IDMAP, 12)
1756     TEST_TYPE_ALIGN  (QCMINFO_IDMAP, 4)
1757     TEST_FIELD_SIZE  (QCMINFO_IDMAP, nMaxIds, 4)
1758     TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
1759     TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
1760     TEST_FIELD_SIZE  (QCMINFO_IDMAP, pIdList, 8)
1761     TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
1762     TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
1763 }
1764
1765 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
1766 {
1767     /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
1768     TEST_TYPE_SIZE   (QCMINFO_IDMAP_PLACEMENT, 8)
1769     TEST_TYPE_ALIGN  (QCMINFO_IDMAP_PLACEMENT, 4)
1770     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, id, 4)
1771     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
1772     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
1773     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1774     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1775     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1776 }
1777
1778 static void test_pack_SFV_CREATE(void)
1779 {
1780     /* SFV_CREATE (pack 8) */
1781     TEST_TYPE_SIZE   (SFV_CREATE, 32)
1782     TEST_TYPE_ALIGN  (SFV_CREATE, 8)
1783     TEST_FIELD_SIZE  (SFV_CREATE, cbSize, 4)
1784     TEST_FIELD_ALIGN (SFV_CREATE, cbSize, 4)
1785     TEST_FIELD_OFFSET(SFV_CREATE, cbSize, 0)
1786     TEST_FIELD_SIZE  (SFV_CREATE, pshf, 8)
1787     TEST_FIELD_ALIGN (SFV_CREATE, pshf, 8)
1788     TEST_FIELD_OFFSET(SFV_CREATE, pshf, 8)
1789     TEST_FIELD_SIZE  (SFV_CREATE, psvOuter, 8)
1790     TEST_FIELD_ALIGN (SFV_CREATE, psvOuter, 8)
1791     TEST_FIELD_OFFSET(SFV_CREATE, psvOuter, 16)
1792     TEST_FIELD_SIZE  (SFV_CREATE, psfvcb, 8)
1793     TEST_FIELD_ALIGN (SFV_CREATE, psfvcb, 8)
1794     TEST_FIELD_OFFSET(SFV_CREATE, psfvcb, 24)
1795 }
1796
1797 static void test_pack_SHChangeDWORDAsIDList(void)
1798 {
1799     /* SHChangeDWORDAsIDList (pack 1) */
1800     TEST_TYPE_SIZE   (SHChangeDWORDAsIDList, 12)
1801     TEST_TYPE_ALIGN  (SHChangeDWORDAsIDList, 1)
1802     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cb, 2)
1803     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
1804     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
1805     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem1, 4)
1806     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
1807     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
1808     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem2, 4)
1809     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
1810     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
1811     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cbZero, 2)
1812     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
1813     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
1814 }
1815
1816 static void test_pack_SHChangeNotifyEntry(void)
1817 {
1818     /* SHChangeNotifyEntry (pack 1) */
1819     TEST_TYPE_SIZE   (SHChangeNotifyEntry, 12)
1820     TEST_TYPE_ALIGN  (SHChangeNotifyEntry, 1)
1821     TEST_FIELD_SIZE  (SHChangeNotifyEntry, pidl, 8)
1822     TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
1823     TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
1824     TEST_FIELD_SIZE  (SHChangeNotifyEntry, fRecursive, 4)
1825     TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
1826     TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 8)
1827 }
1828
1829 static void test_pack_SHChangeProductKeyAsIDList(void)
1830 {
1831     /* SHChangeProductKeyAsIDList (pack 1) */
1832     TEST_TYPE_SIZE   (SHChangeProductKeyAsIDList, 82)
1833     TEST_TYPE_ALIGN  (SHChangeProductKeyAsIDList, 1)
1834     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cb, 2)
1835     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
1836     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
1837     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, wszProductKey, 78)
1838     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
1839     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
1840     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cbZero, 2)
1841     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
1842     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
1843 }
1844
1845 static void test_pack_SHDESCRIPTIONID(void)
1846 {
1847     /* SHDESCRIPTIONID (pack 8) */
1848     TEST_TYPE_SIZE   (SHDESCRIPTIONID, 20)
1849     TEST_TYPE_ALIGN  (SHDESCRIPTIONID, 4)
1850     TEST_FIELD_SIZE  (SHDESCRIPTIONID, dwDescriptionId, 4)
1851     TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
1852     TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
1853     TEST_FIELD_SIZE  (SHDESCRIPTIONID, clsid, 16)
1854     TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
1855     TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
1856 }
1857
1858 static void test_pack_SHELLFLAGSTATE(void)
1859 {
1860     /* SHELLFLAGSTATE (pack 1) */
1861     TEST_TYPE_SIZE   (SHELLFLAGSTATE, 4)
1862     TEST_TYPE_ALIGN  (SHELLFLAGSTATE, 1)
1863 }
1864
1865 static void test_pack_SHELLSTATE(void)
1866 {
1867     /* SHELLSTATE (pack 1) */
1868     TEST_TYPE_SIZE   (SHELLSTATE, 32)
1869     TEST_TYPE_ALIGN  (SHELLSTATE, 1)
1870     TEST_FIELD_SIZE  (SHELLSTATE, dwWin95Unused, 4)
1871     TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
1872     TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
1873     TEST_FIELD_SIZE  (SHELLSTATE, uWin95Unused, 4)
1874     TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
1875     TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
1876     TEST_FIELD_SIZE  (SHELLSTATE, lParamSort, 4)
1877     TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
1878     TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
1879     TEST_FIELD_SIZE  (SHELLSTATE, iSortDirection, 4)
1880     TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
1881     TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
1882     TEST_FIELD_SIZE  (SHELLSTATE, version, 4)
1883     TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
1884     TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
1885     TEST_FIELD_SIZE  (SHELLSTATE, uNotUsed, 4)
1886     TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
1887     TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
1888 }
1889
1890 static void test_pack_TBINFO(void)
1891 {
1892     /* TBINFO (pack 8) */
1893     TEST_TYPE_SIZE   (TBINFO, 8)
1894     TEST_TYPE_ALIGN  (TBINFO, 4)
1895     TEST_FIELD_SIZE  (TBINFO, cbuttons, 4)
1896     TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
1897     TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
1898     TEST_FIELD_SIZE  (TBINFO, uFlags, 4)
1899     TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
1900     TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
1901 }
1902
1903 #else /* _WIN64 */
1904
1905 static void test_pack_BLOB(void)
1906 {
1907     /* BLOB */
1908     TEST_TYPE_SIZE   (BLOB, 8)
1909     TEST_TYPE_ALIGN  (BLOB, 4)
1910     TEST_FIELD_SIZE  (BLOB, cbSize, 4)
1911     TEST_FIELD_ALIGN (BLOB, cbSize, 4)
1912     TEST_FIELD_OFFSET(BLOB, cbSize, 0)
1913     TEST_FIELD_SIZE  (BLOB, pBlobData, 4)
1914     TEST_FIELD_ALIGN (BLOB, pBlobData, 4)
1915     TEST_FIELD_OFFSET(BLOB, pBlobData, 4)
1916 }
1917
1918 static void test_pack_BSTR(void)
1919 {
1920     /* BSTR */
1921     TEST_TYPE_SIZE   (BSTR, 4)
1922     TEST_TYPE_ALIGN  (BSTR, 4)
1923     TEST_TARGET_SIZE (BSTR, 2)
1924     TEST_TARGET_ALIGN(BSTR, 2)
1925 }
1926
1927 static void test_pack_BSTRBLOB(void)
1928 {
1929     /* BSTRBLOB */
1930     TEST_TYPE_SIZE   (BSTRBLOB, 8)
1931     TEST_TYPE_ALIGN  (BSTRBLOB, 4)
1932     TEST_FIELD_SIZE  (BSTRBLOB, cbSize, 4)
1933     TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
1934     TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
1935     TEST_FIELD_SIZE  (BSTRBLOB, pData, 4)
1936     TEST_FIELD_ALIGN (BSTRBLOB, pData, 4)
1937     TEST_FIELD_OFFSET(BSTRBLOB, pData, 4)
1938 }
1939
1940 static void test_pack_BYTE_BLOB(void)
1941 {
1942     /* BYTE_BLOB */
1943     TEST_TYPE_SIZE   (BYTE_BLOB, 8)
1944     TEST_TYPE_ALIGN  (BYTE_BLOB, 4)
1945     TEST_FIELD_SIZE  (BYTE_BLOB, clSize, 4)
1946     TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
1947     TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
1948     TEST_FIELD_SIZE  (BYTE_BLOB, abData, 1)
1949     TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
1950     TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
1951 }
1952
1953 static void test_pack_BYTE_SIZEDARR(void)
1954 {
1955     /* BYTE_SIZEDARR */
1956     TEST_TYPE_SIZE   (BYTE_SIZEDARR, 8)
1957     TEST_TYPE_ALIGN  (BYTE_SIZEDARR, 4)
1958     TEST_FIELD_SIZE  (BYTE_SIZEDARR, clSize, 4)
1959     TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
1960     TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
1961     TEST_FIELD_SIZE  (BYTE_SIZEDARR, pData, 4)
1962     TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 4)
1963     TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 4)
1964 }
1965
1966 static void test_pack_CLIPDATA(void)
1967 {
1968     /* CLIPDATA */
1969     TEST_TYPE_SIZE   (CLIPDATA, 12)
1970     TEST_TYPE_ALIGN  (CLIPDATA, 4)
1971     TEST_FIELD_SIZE  (CLIPDATA, cbSize, 4)
1972     TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
1973     TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
1974     TEST_FIELD_SIZE  (CLIPDATA, ulClipFmt, 4)
1975     TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
1976     TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
1977     TEST_FIELD_SIZE  (CLIPDATA, pClipData, 4)
1978     TEST_FIELD_ALIGN (CLIPDATA, pClipData, 4)
1979     TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
1980 }
1981
1982 static void test_pack_CLIPFORMAT(void)
1983 {
1984     /* CLIPFORMAT */
1985     TEST_TYPE_SIZE   (CLIPFORMAT, 2)
1986     TEST_TYPE_ALIGN  (CLIPFORMAT, 2)
1987     TEST_TYPE_UNSIGNED(CLIPFORMAT)
1988 }
1989
1990 static void test_pack_COAUTHIDENTITY(void)
1991 {
1992     /* COAUTHIDENTITY */
1993     TEST_TYPE_SIZE   (COAUTHIDENTITY, 28)
1994     TEST_TYPE_ALIGN  (COAUTHIDENTITY, 4)
1995     TEST_FIELD_SIZE  (COAUTHIDENTITY, User, 4)
1996     TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 4)
1997     TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
1998     TEST_FIELD_SIZE  (COAUTHIDENTITY, UserLength, 4)
1999     TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
2000     TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 4)
2001     TEST_FIELD_SIZE  (COAUTHIDENTITY, Domain, 4)
2002     TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 4)
2003     TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 8)
2004     TEST_FIELD_SIZE  (COAUTHIDENTITY, DomainLength, 4)
2005     TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
2006     TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 12)
2007     TEST_FIELD_SIZE  (COAUTHIDENTITY, Password, 4)
2008     TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 4)
2009     TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 16)
2010     TEST_FIELD_SIZE  (COAUTHIDENTITY, PasswordLength, 4)
2011     TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
2012     TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 20)
2013     TEST_FIELD_SIZE  (COAUTHIDENTITY, Flags, 4)
2014     TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
2015     TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 24)
2016 }
2017
2018 static void test_pack_COAUTHINFO(void)
2019 {
2020     /* COAUTHINFO */
2021     TEST_TYPE_SIZE   (COAUTHINFO, 28)
2022     TEST_TYPE_ALIGN  (COAUTHINFO, 4)
2023     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnSvc, 4)
2024     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
2025     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
2026     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthzSvc, 4)
2027     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
2028     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
2029     TEST_FIELD_SIZE  (COAUTHINFO, pwszServerPrincName, 4)
2030     TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 4)
2031     TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
2032     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnLevel, 4)
2033     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
2034     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 12)
2035     TEST_FIELD_SIZE  (COAUTHINFO, dwImpersonationLevel, 4)
2036     TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
2037     TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 16)
2038     TEST_FIELD_SIZE  (COAUTHINFO, pAuthIdentityData, 4)
2039     TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 4)
2040     TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 20)
2041     TEST_FIELD_SIZE  (COAUTHINFO, dwCapabilities, 4)
2042     TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
2043     TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 24)
2044 }
2045
2046 static void test_pack_DATE(void)
2047 {
2048     /* DATE */
2049     TEST_TYPE_SIZE   (DATE, 8)
2050     TEST_TYPE_ALIGN  (DATE, 8)
2051 }
2052
2053 static void test_pack_DOUBLE(void)
2054 {
2055     /* DOUBLE */
2056     TEST_TYPE_SIZE   (DOUBLE, 8)
2057     TEST_TYPE_ALIGN  (DOUBLE, 8)
2058 }
2059
2060 static void test_pack_DWORD_SIZEDARR(void)
2061 {
2062     /* DWORD_SIZEDARR */
2063     TEST_TYPE_SIZE   (DWORD_SIZEDARR, 8)
2064     TEST_TYPE_ALIGN  (DWORD_SIZEDARR, 4)
2065     TEST_FIELD_SIZE  (DWORD_SIZEDARR, clSize, 4)
2066     TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
2067     TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
2068     TEST_FIELD_SIZE  (DWORD_SIZEDARR, pData, 4)
2069     TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 4)
2070     TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 4)
2071 }
2072
2073 static void test_pack_FLAGGED_BYTE_BLOB(void)
2074 {
2075     /* FLAGGED_BYTE_BLOB */
2076     TEST_TYPE_SIZE   (FLAGGED_BYTE_BLOB, 12)
2077     TEST_TYPE_ALIGN  (FLAGGED_BYTE_BLOB, 4)
2078     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, fFlags, 4)
2079     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
2080     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
2081     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, clSize, 4)
2082     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
2083     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
2084     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, abData, 1)
2085     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
2086     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
2087 }
2088
2089 static void test_pack_FLAGGED_WORD_BLOB(void)
2090 {
2091     /* FLAGGED_WORD_BLOB */
2092     TEST_TYPE_SIZE   (FLAGGED_WORD_BLOB, 12)
2093     TEST_TYPE_ALIGN  (FLAGGED_WORD_BLOB, 4)
2094     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, fFlags, 4)
2095     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
2096     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
2097     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, clSize, 4)
2098     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
2099     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
2100     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, asData, 2)
2101     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
2102     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
2103 }
2104
2105 static void test_pack_HMETAFILEPICT(void)
2106 {
2107     /* HMETAFILEPICT */
2108     TEST_TYPE_SIZE   (HMETAFILEPICT, 4)
2109     TEST_TYPE_ALIGN  (HMETAFILEPICT, 4)
2110 }
2111
2112 static void test_pack_HYPER_SIZEDARR(void)
2113 {
2114     /* HYPER_SIZEDARR */
2115     TEST_TYPE_SIZE   (HYPER_SIZEDARR, 8)
2116     TEST_TYPE_ALIGN  (HYPER_SIZEDARR, 4)
2117     TEST_FIELD_SIZE  (HYPER_SIZEDARR, clSize, 4)
2118     TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
2119     TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
2120     TEST_FIELD_SIZE  (HYPER_SIZEDARR, pData, 4)
2121     TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 4)
2122     TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 4)
2123 }
2124
2125 static void test_pack_LPBLOB(void)
2126 {
2127     /* LPBLOB */
2128     TEST_TYPE_SIZE   (LPBLOB, 4)
2129     TEST_TYPE_ALIGN  (LPBLOB, 4)
2130 }
2131
2132 static void test_pack_LPBSTR(void)
2133 {
2134     /* LPBSTR */
2135     TEST_TYPE_SIZE   (LPBSTR, 4)
2136     TEST_TYPE_ALIGN  (LPBSTR, 4)
2137     TEST_TARGET_SIZE (LPBSTR, 4)
2138     TEST_TARGET_ALIGN(LPBSTR, 4)
2139 }
2140
2141 static void test_pack_LPBSTRBLOB(void)
2142 {
2143     /* LPBSTRBLOB */
2144     TEST_TYPE_SIZE   (LPBSTRBLOB, 4)
2145     TEST_TYPE_ALIGN  (LPBSTRBLOB, 4)
2146 }
2147
2148 static void test_pack_LPCOLESTR(void)
2149 {
2150     /* LPCOLESTR */
2151     TEST_TYPE_SIZE   (LPCOLESTR, 4)
2152     TEST_TYPE_ALIGN  (LPCOLESTR, 4)
2153     TEST_TARGET_SIZE (LPCOLESTR, 2)
2154     TEST_TARGET_ALIGN(LPCOLESTR, 2)
2155 }
2156
2157 static void test_pack_LPCY(void)
2158 {
2159     /* LPCY */
2160     TEST_TYPE_SIZE   (LPCY, 4)
2161     TEST_TYPE_ALIGN  (LPCY, 4)
2162 }
2163
2164 static void test_pack_LPDECIMAL(void)
2165 {
2166     /* LPDECIMAL */
2167     TEST_TYPE_SIZE   (LPDECIMAL, 4)
2168     TEST_TYPE_ALIGN  (LPDECIMAL, 4)
2169 }
2170
2171 static void test_pack_LPOLESTR(void)
2172 {
2173     /* LPOLESTR */
2174     TEST_TYPE_SIZE   (LPOLESTR, 4)
2175     TEST_TYPE_ALIGN  (LPOLESTR, 4)
2176     TEST_TARGET_SIZE (LPOLESTR, 2)
2177     TEST_TARGET_ALIGN(LPOLESTR, 2)
2178 }
2179
2180 static void test_pack_OLECHAR(void)
2181 {
2182     /* OLECHAR */
2183     TEST_TYPE_SIZE   (OLECHAR, 2)
2184     TEST_TYPE_ALIGN  (OLECHAR, 2)
2185 }
2186
2187 static void test_pack_PROPID(void)
2188 {
2189     /* PROPID */
2190     TEST_TYPE_SIZE   (PROPID, 4)
2191     TEST_TYPE_ALIGN  (PROPID, 4)
2192 }
2193
2194 static void test_pack_RemHBITMAP(void)
2195 {
2196     /* RemHBITMAP */
2197     TEST_TYPE_SIZE   (RemHBITMAP, 8)
2198     TEST_TYPE_ALIGN  (RemHBITMAP, 4)
2199     TEST_FIELD_SIZE  (RemHBITMAP, cbData, 4)
2200     TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
2201     TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
2202     TEST_FIELD_SIZE  (RemHBITMAP, data, 1)
2203     TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
2204     TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
2205 }
2206
2207 static void test_pack_RemHENHMETAFILE(void)
2208 {
2209     /* RemHENHMETAFILE */
2210     TEST_TYPE_SIZE   (RemHENHMETAFILE, 8)
2211     TEST_TYPE_ALIGN  (RemHENHMETAFILE, 4)
2212     TEST_FIELD_SIZE  (RemHENHMETAFILE, cbData, 4)
2213     TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
2214     TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
2215     TEST_FIELD_SIZE  (RemHENHMETAFILE, data, 1)
2216     TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
2217     TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
2218 }
2219
2220 static void test_pack_RemHGLOBAL(void)
2221 {
2222     /* RemHGLOBAL */
2223     TEST_TYPE_SIZE   (RemHGLOBAL, 12)
2224     TEST_TYPE_ALIGN  (RemHGLOBAL, 4)
2225     TEST_FIELD_SIZE  (RemHGLOBAL, fNullHGlobal, 4)
2226     TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
2227     TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
2228     TEST_FIELD_SIZE  (RemHGLOBAL, cbData, 4)
2229     TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
2230     TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
2231     TEST_FIELD_SIZE  (RemHGLOBAL, data, 1)
2232     TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
2233     TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
2234 }
2235
2236 static void test_pack_RemHMETAFILEPICT(void)
2237 {
2238     /* RemHMETAFILEPICT */
2239     TEST_TYPE_SIZE   (RemHMETAFILEPICT, 20)
2240     TEST_TYPE_ALIGN  (RemHMETAFILEPICT, 4)
2241     TEST_FIELD_SIZE  (RemHMETAFILEPICT, mm, 4)
2242     TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
2243     TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
2244     TEST_FIELD_SIZE  (RemHMETAFILEPICT, xExt, 4)
2245     TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
2246     TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
2247     TEST_FIELD_SIZE  (RemHMETAFILEPICT, yExt, 4)
2248     TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
2249     TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
2250     TEST_FIELD_SIZE  (RemHMETAFILEPICT, cbData, 4)
2251     TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
2252     TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
2253     TEST_FIELD_SIZE  (RemHMETAFILEPICT, data, 1)
2254     TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
2255     TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
2256 }
2257
2258 static void test_pack_RemHPALETTE(void)
2259 {
2260     /* RemHPALETTE */
2261     TEST_TYPE_SIZE   (RemHPALETTE, 8)
2262     TEST_TYPE_ALIGN  (RemHPALETTE, 4)
2263     TEST_FIELD_SIZE  (RemHPALETTE, cbData, 4)
2264     TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
2265     TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
2266     TEST_FIELD_SIZE  (RemHPALETTE, data, 1)
2267     TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
2268     TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
2269 }
2270
2271 static void test_pack_SCODE(void)
2272 {
2273     /* SCODE */
2274     TEST_TYPE_SIZE   (SCODE, 4)
2275     TEST_TYPE_ALIGN  (SCODE, 4)
2276 }
2277
2278 static void test_pack_UP_BYTE_BLOB(void)
2279 {
2280     /* UP_BYTE_BLOB */
2281     TEST_TYPE_SIZE   (UP_BYTE_BLOB, 4)
2282     TEST_TYPE_ALIGN  (UP_BYTE_BLOB, 4)
2283     TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
2284     TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
2285 }
2286
2287 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
2288 {
2289     /* UP_FLAGGED_BYTE_BLOB */
2290     TEST_TYPE_SIZE   (UP_FLAGGED_BYTE_BLOB, 4)
2291     TEST_TYPE_ALIGN  (UP_FLAGGED_BYTE_BLOB, 4)
2292     TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
2293     TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
2294 }
2295
2296 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
2297 {
2298     /* UP_FLAGGED_WORD_BLOB */
2299     TEST_TYPE_SIZE   (UP_FLAGGED_WORD_BLOB, 4)
2300     TEST_TYPE_ALIGN  (UP_FLAGGED_WORD_BLOB, 4)
2301     TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
2302     TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
2303 }
2304
2305 static void test_pack_VARIANT_BOOL(void)
2306 {
2307     /* VARIANT_BOOL */
2308     TEST_TYPE_SIZE   (VARIANT_BOOL, 2)
2309     TEST_TYPE_ALIGN  (VARIANT_BOOL, 2)
2310     TEST_TYPE_SIGNED(VARIANT_BOOL)
2311 }
2312
2313 static void test_pack_VARTYPE(void)
2314 {
2315     /* VARTYPE */
2316     TEST_TYPE_SIZE   (VARTYPE, 2)
2317     TEST_TYPE_ALIGN  (VARTYPE, 2)
2318     TEST_TYPE_UNSIGNED(VARTYPE)
2319 }
2320
2321 static void test_pack_WORD_SIZEDARR(void)
2322 {
2323     /* WORD_SIZEDARR */
2324     TEST_TYPE_SIZE   (WORD_SIZEDARR, 8)
2325     TEST_TYPE_ALIGN  (WORD_SIZEDARR, 4)
2326     TEST_FIELD_SIZE  (WORD_SIZEDARR, clSize, 4)
2327     TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
2328     TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
2329     TEST_FIELD_SIZE  (WORD_SIZEDARR, pData, 4)
2330     TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 4)
2331     TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 4)
2332 }
2333
2334 static void test_pack_remoteMETAFILEPICT(void)
2335 {
2336     /* remoteMETAFILEPICT */
2337     TEST_TYPE_SIZE   (remoteMETAFILEPICT, 16)
2338     TEST_TYPE_ALIGN  (remoteMETAFILEPICT, 4)
2339     TEST_FIELD_SIZE  (remoteMETAFILEPICT, mm, 4)
2340     TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
2341     TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
2342     TEST_FIELD_SIZE  (remoteMETAFILEPICT, xExt, 4)
2343     TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
2344     TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
2345     TEST_FIELD_SIZE  (remoteMETAFILEPICT, yExt, 4)
2346     TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
2347     TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
2348     TEST_FIELD_SIZE  (remoteMETAFILEPICT, hMF, 4)
2349     TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 4)
2350     TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 12)
2351 }
2352
2353 static void test_pack_userBITMAP(void)
2354 {
2355     /* userBITMAP */
2356     TEST_TYPE_SIZE   (userBITMAP, 28)
2357     TEST_TYPE_ALIGN  (userBITMAP, 4)
2358     TEST_FIELD_SIZE  (userBITMAP, bmType, 4)
2359     TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
2360     TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
2361     TEST_FIELD_SIZE  (userBITMAP, bmWidth, 4)
2362     TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
2363     TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
2364     TEST_FIELD_SIZE  (userBITMAP, bmHeight, 4)
2365     TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
2366     TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
2367     TEST_FIELD_SIZE  (userBITMAP, bmWidthBytes, 4)
2368     TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
2369     TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
2370     TEST_FIELD_SIZE  (userBITMAP, bmPlanes, 2)
2371     TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
2372     TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
2373     TEST_FIELD_SIZE  (userBITMAP, bmBitsPixel, 2)
2374     TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
2375     TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
2376     TEST_FIELD_SIZE  (userBITMAP, cbSize, 4)
2377     TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
2378     TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
2379     TEST_FIELD_SIZE  (userBITMAP, pBuffer, 1)
2380     TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
2381     TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
2382 }
2383
2384 static void test_pack_userCLIPFORMAT(void)
2385 {
2386     /* userCLIPFORMAT */
2387     TEST_FIELD_SIZE  (userCLIPFORMAT, fContext, 4)
2388     TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
2389     TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
2390 }
2391
2392 static void test_pack_userHBITMAP(void)
2393 {
2394     /* userHBITMAP */
2395     TEST_FIELD_SIZE  (userHBITMAP, fContext, 4)
2396     TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
2397     TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
2398 }
2399
2400 static void test_pack_userHENHMETAFILE(void)
2401 {
2402     /* userHENHMETAFILE */
2403     TEST_FIELD_SIZE  (userHENHMETAFILE, fContext, 4)
2404     TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
2405     TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
2406 }
2407
2408 static void test_pack_userHGLOBAL(void)
2409 {
2410     /* userHGLOBAL */
2411     TEST_FIELD_SIZE  (userHGLOBAL, fContext, 4)
2412     TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
2413     TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
2414 }
2415
2416 static void test_pack_userHMETAFILE(void)
2417 {
2418     /* userHMETAFILE */
2419     TEST_FIELD_SIZE  (userHMETAFILE, fContext, 4)
2420     TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
2421     TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
2422 }
2423
2424 static void test_pack_userHMETAFILEPICT(void)
2425 {
2426     /* userHMETAFILEPICT */
2427     TEST_FIELD_SIZE  (userHMETAFILEPICT, fContext, 4)
2428     TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
2429     TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
2430 }
2431
2432 static void test_pack_userHPALETTE(void)
2433 {
2434     /* userHPALETTE */
2435     TEST_FIELD_SIZE  (userHPALETTE, fContext, 4)
2436     TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
2437     TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
2438 }
2439
2440 static void test_pack_wireBSTR(void)
2441 {
2442     /* wireBSTR */
2443     TEST_TYPE_SIZE   (wireBSTR, 4)
2444     TEST_TYPE_ALIGN  (wireBSTR, 4)
2445     TEST_TARGET_SIZE (wireBSTR, 12)
2446     TEST_TARGET_ALIGN(wireBSTR, 4)
2447 }
2448
2449 static void test_pack_wireCLIPFORMAT(void)
2450 {
2451     /* wireCLIPFORMAT */
2452     TEST_TYPE_SIZE   (wireCLIPFORMAT, 4)
2453     TEST_TYPE_ALIGN  (wireCLIPFORMAT, 4)
2454 }
2455
2456 static void test_pack_wireHBITMAP(void)
2457 {
2458     /* wireHBITMAP */
2459     TEST_TYPE_SIZE   (wireHBITMAP, 4)
2460     TEST_TYPE_ALIGN  (wireHBITMAP, 4)
2461 }
2462
2463 static void test_pack_wireHENHMETAFILE(void)
2464 {
2465     /* wireHENHMETAFILE */
2466     TEST_TYPE_SIZE   (wireHENHMETAFILE, 4)
2467     TEST_TYPE_ALIGN  (wireHENHMETAFILE, 4)
2468 }
2469
2470 static void test_pack_wireHGLOBAL(void)
2471 {
2472     /* wireHGLOBAL */
2473     TEST_TYPE_SIZE   (wireHGLOBAL, 4)
2474     TEST_TYPE_ALIGN  (wireHGLOBAL, 4)
2475 }
2476
2477 static void test_pack_wireHMETAFILE(void)
2478 {
2479     /* wireHMETAFILE */
2480     TEST_TYPE_SIZE   (wireHMETAFILE, 4)
2481     TEST_TYPE_ALIGN  (wireHMETAFILE, 4)
2482 }
2483
2484 static void test_pack_wireHMETAFILEPICT(void)
2485 {
2486     /* wireHMETAFILEPICT */
2487     TEST_TYPE_SIZE   (wireHMETAFILEPICT, 4)
2488     TEST_TYPE_ALIGN  (wireHMETAFILEPICT, 4)
2489 }
2490
2491 static void test_pack_wireHPALETTE(void)
2492 {
2493     /* wireHPALETTE */
2494     TEST_TYPE_SIZE   (wireHPALETTE, 4)
2495     TEST_TYPE_ALIGN  (wireHPALETTE, 4)
2496 }
2497
2498 static void test_pack_CLSID(void)
2499 {
2500     /* CLSID */
2501     TEST_TYPE_SIZE   (CLSID, 16)
2502     TEST_TYPE_ALIGN  (CLSID, 4)
2503 }
2504
2505 static void test_pack_FMTID(void)
2506 {
2507     /* FMTID */
2508     TEST_TYPE_SIZE   (FMTID, 16)
2509     TEST_TYPE_ALIGN  (FMTID, 4)
2510 }
2511
2512 static void test_pack_IID(void)
2513 {
2514     /* IID */
2515     TEST_TYPE_SIZE   (IID, 16)
2516     TEST_TYPE_ALIGN  (IID, 4)
2517 }
2518
2519 static void test_pack_APPBARDATA(void)
2520 {
2521     /* APPBARDATA (pack 1) */
2522     TEST_TYPE_SIZE   (APPBARDATA, 36)
2523     TEST_TYPE_ALIGN  (APPBARDATA, 1)
2524     TEST_FIELD_SIZE  (APPBARDATA, cbSize, 4)
2525     TEST_FIELD_ALIGN (APPBARDATA, cbSize, 1)
2526     TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
2527     TEST_FIELD_SIZE  (APPBARDATA, hWnd, 4)
2528     TEST_FIELD_ALIGN (APPBARDATA, hWnd, 1)
2529     TEST_FIELD_OFFSET(APPBARDATA, hWnd, 4)
2530     TEST_FIELD_SIZE  (APPBARDATA, uCallbackMessage, 4)
2531     TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 1)
2532     TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 8)
2533     TEST_FIELD_SIZE  (APPBARDATA, uEdge, 4)
2534     TEST_FIELD_ALIGN (APPBARDATA, uEdge, 1)
2535     TEST_FIELD_OFFSET(APPBARDATA, uEdge, 12)
2536     TEST_FIELD_SIZE  (APPBARDATA, rc, 16)
2537     TEST_FIELD_ALIGN (APPBARDATA, rc, 1)
2538     TEST_FIELD_OFFSET(APPBARDATA, rc, 16)
2539     TEST_FIELD_SIZE  (APPBARDATA, lParam, 4)
2540     TEST_FIELD_ALIGN (APPBARDATA, lParam, 1)
2541     TEST_FIELD_OFFSET(APPBARDATA, lParam, 32)
2542 }
2543
2544 static void test_pack_DRAGINFOA(void)
2545 {
2546     /* DRAGINFOA (pack 1) */
2547     TEST_TYPE_SIZE   (DRAGINFOA, 24)
2548     TEST_TYPE_ALIGN  (DRAGINFOA, 1)
2549     TEST_FIELD_SIZE  (DRAGINFOA, uSize, 4)
2550     TEST_FIELD_ALIGN (DRAGINFOA, uSize, 1)
2551     TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
2552     TEST_FIELD_SIZE  (DRAGINFOA, pt, 8)
2553     TEST_FIELD_ALIGN (DRAGINFOA, pt, 1)
2554     TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
2555     TEST_FIELD_SIZE  (DRAGINFOA, fNC, 4)
2556     TEST_FIELD_ALIGN (DRAGINFOA, fNC, 1)
2557     TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
2558     TEST_FIELD_SIZE  (DRAGINFOA, lpFileList, 4)
2559     TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 1)
2560     TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
2561     TEST_FIELD_SIZE  (DRAGINFOA, grfKeyState, 4)
2562     TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 1)
2563     TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 20)
2564 }
2565
2566 static void test_pack_DRAGINFOW(void)
2567 {
2568     /* DRAGINFOW (pack 1) */
2569     TEST_TYPE_SIZE   (DRAGINFOW, 24)
2570     TEST_TYPE_ALIGN  (DRAGINFOW, 1)
2571     TEST_FIELD_SIZE  (DRAGINFOW, uSize, 4)
2572     TEST_FIELD_ALIGN (DRAGINFOW, uSize, 1)
2573     TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
2574     TEST_FIELD_SIZE  (DRAGINFOW, pt, 8)
2575     TEST_FIELD_ALIGN (DRAGINFOW, pt, 1)
2576     TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
2577     TEST_FIELD_SIZE  (DRAGINFOW, fNC, 4)
2578     TEST_FIELD_ALIGN (DRAGINFOW, fNC, 1)
2579     TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
2580     TEST_FIELD_SIZE  (DRAGINFOW, lpFileList, 4)
2581     TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 1)
2582     TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
2583     TEST_FIELD_SIZE  (DRAGINFOW, grfKeyState, 4)
2584     TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 1)
2585     TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 20)
2586 }
2587
2588 static void test_pack_FILEOP_FLAGS(void)
2589 {
2590     /* FILEOP_FLAGS */
2591     TEST_TYPE_SIZE   (FILEOP_FLAGS, 2)
2592     TEST_TYPE_ALIGN  (FILEOP_FLAGS, 2)
2593     TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
2594 }
2595
2596 static void test_pack_LPDRAGINFOA(void)
2597 {
2598     /* LPDRAGINFOA */
2599     TEST_TYPE_SIZE   (LPDRAGINFOA, 4)
2600     TEST_TYPE_ALIGN  (LPDRAGINFOA, 4)
2601     TEST_TARGET_SIZE (LPDRAGINFOA, 24)
2602     TEST_TARGET_ALIGN(LPDRAGINFOA, 1)
2603 }
2604
2605 static void test_pack_LPDRAGINFOW(void)
2606 {
2607     /* LPDRAGINFOW */
2608     TEST_TYPE_SIZE   (LPDRAGINFOW, 4)
2609     TEST_TYPE_ALIGN  (LPDRAGINFOW, 4)
2610     TEST_TARGET_SIZE (LPDRAGINFOW, 24)
2611     TEST_TARGET_ALIGN(LPDRAGINFOW, 1)
2612 }
2613
2614 static void test_pack_LPSHELLEXECUTEINFOA(void)
2615 {
2616     /* LPSHELLEXECUTEINFOA */
2617     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOA, 4)
2618     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOA, 4)
2619 }
2620
2621 static void test_pack_LPSHELLEXECUTEINFOW(void)
2622 {
2623     /* LPSHELLEXECUTEINFOW */
2624     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOW, 4)
2625     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOW, 4)
2626 }
2627
2628 static void test_pack_LPSHFILEOPSTRUCTA(void)
2629 {
2630     /* LPSHFILEOPSTRUCTA */
2631     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTA, 4)
2632     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTA, 4)
2633     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 30)
2634     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 1)
2635 }
2636
2637 static void test_pack_LPSHFILEOPSTRUCTW(void)
2638 {
2639     /* LPSHFILEOPSTRUCTW */
2640     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTW, 4)
2641     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTW, 4)
2642     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 30)
2643     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 1)
2644 }
2645
2646 static void test_pack_LPSHNAMEMAPPINGA(void)
2647 {
2648     /* LPSHNAMEMAPPINGA */
2649     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGA, 4)
2650     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGA, 4)
2651     TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 16)
2652     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 1)
2653 }
2654
2655 static void test_pack_LPSHNAMEMAPPINGW(void)
2656 {
2657     /* LPSHNAMEMAPPINGW */
2658     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGW, 4)
2659     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGW, 4)
2660     TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 16)
2661     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 1)
2662 }
2663
2664 static void test_pack_NOTIFYICONDATAA(void)
2665 {
2666     /* NOTIFYICONDATAA (pack 1) */
2667     TEST_FIELD_SIZE  (NOTIFYICONDATAA, cbSize, 4)
2668     TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 1)
2669     TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
2670     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hWnd, 4)
2671     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 1)
2672     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 4)
2673     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uID, 4)
2674     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 1)
2675     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 8)
2676     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uFlags, 4)
2677     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 1)
2678     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 12)
2679     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uCallbackMessage, 4)
2680     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 1)
2681     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 16)
2682     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hIcon, 4)
2683     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 1)
2684     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 20)
2685     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szTip, 128)
2686     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
2687     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 24)
2688     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwState, 4)
2689     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 1)
2690     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 152)
2691     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwStateMask, 4)
2692     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 1)
2693     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 156)
2694     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szInfo, 256)
2695     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
2696     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 160)
2697 }
2698
2699 static void test_pack_NOTIFYICONDATAW(void)
2700 {
2701     /* NOTIFYICONDATAW (pack 1) */
2702     TEST_FIELD_SIZE  (NOTIFYICONDATAW, cbSize, 4)
2703     TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 1)
2704     TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
2705     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hWnd, 4)
2706     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 1)
2707     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 4)
2708     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uID, 4)
2709     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 1)
2710     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 8)
2711     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uFlags, 4)
2712     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 1)
2713     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 12)
2714     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uCallbackMessage, 4)
2715     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 1)
2716     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 16)
2717     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hIcon, 4)
2718     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 1)
2719     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 20)
2720     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szTip, 256)
2721     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 1)
2722     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 24)
2723     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwState, 4)
2724     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 1)
2725     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 280)
2726     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwStateMask, 4)
2727     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 1)
2728     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 284)
2729     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szInfo, 512)
2730     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 1)
2731     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 288)
2732 }
2733
2734 static void test_pack_PAPPBARDATA(void)
2735 {
2736     /* PAPPBARDATA */
2737     TEST_TYPE_SIZE   (PAPPBARDATA, 4)
2738     TEST_TYPE_ALIGN  (PAPPBARDATA, 4)
2739     TEST_TARGET_SIZE (PAPPBARDATA, 36)
2740     TEST_TARGET_ALIGN(PAPPBARDATA, 1)
2741 }
2742
2743 static void test_pack_PNOTIFYICONDATAA(void)
2744 {
2745     /* PNOTIFYICONDATAA */
2746     TEST_TYPE_SIZE   (PNOTIFYICONDATAA, 4)
2747     TEST_TYPE_ALIGN  (PNOTIFYICONDATAA, 4)
2748 }
2749
2750 static void test_pack_PNOTIFYICONDATAW(void)
2751 {
2752     /* PNOTIFYICONDATAW */
2753     TEST_TYPE_SIZE   (PNOTIFYICONDATAW, 4)
2754     TEST_TYPE_ALIGN  (PNOTIFYICONDATAW, 4)
2755 }
2756
2757 static void test_pack_PRINTEROP_FLAGS(void)
2758 {
2759     /* PRINTEROP_FLAGS */
2760     TEST_TYPE_SIZE   (PRINTEROP_FLAGS, 2)
2761     TEST_TYPE_ALIGN  (PRINTEROP_FLAGS, 2)
2762     TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
2763 }
2764
2765 static void test_pack_SHELLEXECUTEINFOA(void)
2766 {
2767     /* SHELLEXECUTEINFOA (pack 1) */
2768     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, cbSize, 4)
2769     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 1)
2770     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
2771     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, fMask, 4)
2772     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 1)
2773     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
2774     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hwnd, 4)
2775     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 1)
2776     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
2777     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpVerb, 4)
2778     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 1)
2779     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 12)
2780     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpFile, 4)
2781     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 1)
2782     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 16)
2783     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpParameters, 4)
2784     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 1)
2785     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 20)
2786     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpDirectory, 4)
2787     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 1)
2788     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 24)
2789     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, nShow, 4)
2790     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 1)
2791     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 28)
2792     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hInstApp, 4)
2793     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 1)
2794     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 32)
2795     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpIDList, 4)
2796     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 1)
2797     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 36)
2798     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpClass, 4)
2799     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 1)
2800     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 40)
2801     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hkeyClass, 4)
2802     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 1)
2803     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 44)
2804     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, dwHotKey, 4)
2805     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 1)
2806     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 48)
2807 }
2808
2809 static void test_pack_SHELLEXECUTEINFOW(void)
2810 {
2811     /* SHELLEXECUTEINFOW (pack 1) */
2812     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, cbSize, 4)
2813     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 1)
2814     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
2815     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, fMask, 4)
2816     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 1)
2817     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
2818     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hwnd, 4)
2819     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 1)
2820     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
2821     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpVerb, 4)
2822     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 1)
2823     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 12)
2824     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpFile, 4)
2825     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 1)
2826     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 16)
2827     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpParameters, 4)
2828     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 1)
2829     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 20)
2830     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpDirectory, 4)
2831     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 1)
2832     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 24)
2833     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, nShow, 4)
2834     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 1)
2835     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 28)
2836     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hInstApp, 4)
2837     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 1)
2838     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 32)
2839     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpIDList, 4)
2840     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 1)
2841     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 36)
2842     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpClass, 4)
2843     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 1)
2844     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 40)
2845     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hkeyClass, 4)
2846     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 1)
2847     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 44)
2848     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, dwHotKey, 4)
2849     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 1)
2850     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 48)
2851 }
2852
2853 static void test_pack_SHFILEINFOA(void)
2854 {
2855     /* SHFILEINFOA (pack 1) */
2856     TEST_TYPE_SIZE   (SHFILEINFOA, 352)
2857     TEST_TYPE_ALIGN  (SHFILEINFOA, 1)
2858     TEST_FIELD_SIZE  (SHFILEINFOA, hIcon, 4)
2859     TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 1)
2860     TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
2861     TEST_FIELD_SIZE  (SHFILEINFOA, iIcon, 4)
2862     TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 1)
2863     TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 4)
2864     TEST_FIELD_SIZE  (SHFILEINFOA, dwAttributes, 4)
2865     TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 1)
2866     TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 8)
2867     TEST_FIELD_SIZE  (SHFILEINFOA, szDisplayName, 260)
2868     TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
2869     TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 12)
2870     TEST_FIELD_SIZE  (SHFILEINFOA, szTypeName, 80)
2871     TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
2872     TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 272)
2873 }
2874
2875 static void test_pack_SHFILEINFOW(void)
2876 {
2877     /* SHFILEINFOW (pack 1) */
2878     TEST_TYPE_SIZE   (SHFILEINFOW, 692)
2879     TEST_TYPE_ALIGN  (SHFILEINFOW, 1)
2880     TEST_FIELD_SIZE  (SHFILEINFOW, hIcon, 4)
2881     TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 1)
2882     TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
2883     TEST_FIELD_SIZE  (SHFILEINFOW, iIcon, 4)
2884     TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 1)
2885     TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 4)
2886     TEST_FIELD_SIZE  (SHFILEINFOW, dwAttributes, 4)
2887     TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 1)
2888     TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 8)
2889     TEST_FIELD_SIZE  (SHFILEINFOW, szDisplayName, 520)
2890     TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 1)
2891     TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 12)
2892     TEST_FIELD_SIZE  (SHFILEINFOW, szTypeName, 160)
2893     TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 1)
2894     TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 532)
2895 }
2896
2897 static void test_pack_SHFILEOPSTRUCTA(void)
2898 {
2899     /* SHFILEOPSTRUCTA (pack 1) */
2900     TEST_TYPE_SIZE   (SHFILEOPSTRUCTA, 30)
2901     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTA, 1)
2902     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hwnd, 4)
2903     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 1)
2904     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
2905     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, wFunc, 4)
2906     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 1)
2907     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 4)
2908     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pFrom, 4)
2909     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 1)
2910     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 8)
2911     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pTo, 4)
2912     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 1)
2913     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 12)
2914     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fFlags, 2)
2915     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 1)
2916     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 16)
2917     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
2918     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 1)
2919     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 18)
2920     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hNameMappings, 4)
2921     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 1)
2922     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 22)
2923     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, lpszProgressTitle, 4)
2924     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 1)
2925     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 26)
2926 }
2927
2928 static void test_pack_SHFILEOPSTRUCTW(void)
2929 {
2930     /* SHFILEOPSTRUCTW (pack 1) */
2931     TEST_TYPE_SIZE   (SHFILEOPSTRUCTW, 30)
2932     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTW, 1)
2933     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hwnd, 4)
2934     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 1)
2935     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
2936     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, wFunc, 4)
2937     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 1)
2938     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 4)
2939     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pFrom, 4)
2940     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 1)
2941     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 8)
2942     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pTo, 4)
2943     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 1)
2944     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 12)
2945     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fFlags, 2)
2946     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 1)
2947     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 16)
2948     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
2949     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 1)
2950     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 18)
2951     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hNameMappings, 4)
2952     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 1)
2953     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 22)
2954     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, lpszProgressTitle, 4)
2955     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 1)
2956     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 26)
2957 }
2958
2959 static void test_pack_SHNAMEMAPPINGA(void)
2960 {
2961     /* SHNAMEMAPPINGA (pack 1) */
2962     TEST_TYPE_SIZE   (SHNAMEMAPPINGA, 16)
2963     TEST_TYPE_ALIGN  (SHNAMEMAPPINGA, 1)
2964     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszOldPath, 4)
2965     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 1)
2966     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
2967     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszNewPath, 4)
2968     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 1)
2969     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 4)
2970     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchOldPath, 4)
2971     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 1)
2972     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 8)
2973     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchNewPath, 4)
2974     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 1)
2975     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 12)
2976 }
2977
2978 static void test_pack_SHNAMEMAPPINGW(void)
2979 {
2980     /* SHNAMEMAPPINGW (pack 1) */
2981     TEST_TYPE_SIZE   (SHNAMEMAPPINGW, 16)
2982     TEST_TYPE_ALIGN  (SHNAMEMAPPINGW, 1)
2983     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszOldPath, 4)
2984     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 1)
2985     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
2986     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszNewPath, 4)
2987     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 1)
2988     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 4)
2989     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchOldPath, 4)
2990     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 1)
2991     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 8)
2992     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchNewPath, 4)
2993     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 1)
2994     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 12)
2995 }
2996
2997 static void test_pack_ITEMIDLIST(void)
2998 {
2999     /* ITEMIDLIST (pack 1) */
3000     TEST_TYPE_SIZE   (ITEMIDLIST, 3)
3001     TEST_TYPE_ALIGN  (ITEMIDLIST, 1)
3002     TEST_FIELD_SIZE  (ITEMIDLIST, mkid, 3)
3003     TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
3004     TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
3005 }
3006
3007 static void test_pack_LPCITEMIDLIST(void)
3008 {
3009     /* LPCITEMIDLIST */
3010     TEST_TYPE_SIZE   (LPCITEMIDLIST, 4)
3011     TEST_TYPE_ALIGN  (LPCITEMIDLIST, 4)
3012     TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
3013     TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
3014 }
3015
3016 static void test_pack_LPCSHITEMID(void)
3017 {
3018     /* LPCSHITEMID */
3019     TEST_TYPE_SIZE   (LPCSHITEMID, 4)
3020     TEST_TYPE_ALIGN  (LPCSHITEMID, 4)
3021     TEST_TARGET_SIZE (LPCSHITEMID, 3)
3022     TEST_TARGET_ALIGN(LPCSHITEMID, 1)
3023 }
3024
3025 static void test_pack_LPITEMIDLIST(void)
3026 {
3027     /* LPITEMIDLIST */
3028     TEST_TYPE_SIZE   (LPITEMIDLIST, 4)
3029     TEST_TYPE_ALIGN  (LPITEMIDLIST, 4)
3030 }
3031
3032 static void test_pack_LPSHELLDETAILS(void)
3033 {
3034     /* LPSHELLDETAILS */
3035     TEST_TYPE_SIZE   (LPSHELLDETAILS, 4)
3036     TEST_TYPE_ALIGN  (LPSHELLDETAILS, 4)
3037 }
3038
3039 static void test_pack_LPSHITEMID(void)
3040 {
3041     /* LPSHITEMID */
3042     TEST_TYPE_SIZE   (LPSHITEMID, 4)
3043     TEST_TYPE_ALIGN  (LPSHITEMID, 4)
3044 }
3045
3046 static void test_pack_LPSTRRET(void)
3047 {
3048     /* LPSTRRET */
3049     TEST_TYPE_SIZE   (LPSTRRET, 4)
3050     TEST_TYPE_ALIGN  (LPSTRRET, 4)
3051 }
3052
3053 static void test_pack_SHELLDETAILS(void)
3054 {
3055     /* SHELLDETAILS (pack 1) */
3056     TEST_FIELD_SIZE  (SHELLDETAILS, fmt, 4)
3057     TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
3058     TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
3059     TEST_FIELD_SIZE  (SHELLDETAILS, cxChar, 4)
3060     TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
3061     TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
3062 }
3063
3064 static void test_pack_SHITEMID(void)
3065 {
3066     /* SHITEMID (pack 1) */
3067     TEST_TYPE_SIZE   (SHITEMID, 3)
3068     TEST_TYPE_ALIGN  (SHITEMID, 1)
3069     TEST_FIELD_SIZE  (SHITEMID, cb, 2)
3070     TEST_FIELD_ALIGN (SHITEMID, cb, 1)
3071     TEST_FIELD_OFFSET(SHITEMID, cb, 0)
3072     TEST_FIELD_SIZE  (SHITEMID, abID, 1)
3073     TEST_FIELD_ALIGN (SHITEMID, abID, 1)
3074     TEST_FIELD_OFFSET(SHITEMID, abID, 2)
3075 }
3076
3077 static void test_pack_STRRET(void)
3078 {
3079     /* STRRET (pack 8) */
3080     TEST_FIELD_SIZE  (STRRET, uType, 4)
3081     TEST_FIELD_ALIGN (STRRET, uType, 4)
3082     TEST_FIELD_OFFSET(STRRET, uType, 0)
3083 }
3084
3085 static void test_pack_AUTO_SCROLL_DATA(void)
3086 {
3087     /* AUTO_SCROLL_DATA (pack 1) */
3088     TEST_TYPE_SIZE   (AUTO_SCROLL_DATA, 48)
3089     TEST_TYPE_ALIGN  (AUTO_SCROLL_DATA, 1)
3090     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, iNextSample, 4)
3091     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
3092     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
3093     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwLastScroll, 4)
3094     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
3095     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
3096     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, bFull, 4)
3097     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
3098     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
3099     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, pts, 24)
3100     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
3101     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
3102     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwTimes, 12)
3103     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
3104     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
3105 }
3106
3107 static void test_pack_BFFCALLBACK(void)
3108 {
3109     /* BFFCALLBACK */
3110     TEST_TYPE_SIZE   (BFFCALLBACK, 4)
3111     TEST_TYPE_ALIGN  (BFFCALLBACK, 4)
3112 }
3113
3114 static void test_pack_BROWSEINFOA(void)
3115 {
3116     /* BROWSEINFOA (pack 8) */
3117     TEST_TYPE_SIZE   (BROWSEINFOA, 32)
3118     TEST_TYPE_ALIGN  (BROWSEINFOA, 4)
3119     TEST_FIELD_SIZE  (BROWSEINFOA, hwndOwner, 4)
3120     TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 4)
3121     TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
3122     TEST_FIELD_SIZE  (BROWSEINFOA, pidlRoot, 4)
3123     TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 4)
3124     TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 4)
3125     TEST_FIELD_SIZE  (BROWSEINFOA, pszDisplayName, 4)
3126     TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 4)
3127     TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 8)
3128     TEST_FIELD_SIZE  (BROWSEINFOA, lpszTitle, 4)
3129     TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 4)
3130     TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 12)
3131     TEST_FIELD_SIZE  (BROWSEINFOA, ulFlags, 4)
3132     TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
3133     TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 16)
3134     TEST_FIELD_SIZE  (BROWSEINFOA, lpfn, 4)
3135     TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 4)
3136     TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 20)
3137     TEST_FIELD_SIZE  (BROWSEINFOA, lParam, 4)
3138     TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 4)
3139     TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 24)
3140     TEST_FIELD_SIZE  (BROWSEINFOA, iImage, 4)
3141     TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
3142     TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 28)
3143 }
3144
3145 static void test_pack_BROWSEINFOW(void)
3146 {
3147     /* BROWSEINFOW (pack 8) */
3148     TEST_TYPE_SIZE   (BROWSEINFOW, 32)
3149     TEST_TYPE_ALIGN  (BROWSEINFOW, 4)
3150     TEST_FIELD_SIZE  (BROWSEINFOW, hwndOwner, 4)
3151     TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 4)
3152     TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
3153     TEST_FIELD_SIZE  (BROWSEINFOW, pidlRoot, 4)
3154     TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 4)
3155     TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 4)
3156     TEST_FIELD_SIZE  (BROWSEINFOW, pszDisplayName, 4)
3157     TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 4)
3158     TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 8)
3159     TEST_FIELD_SIZE  (BROWSEINFOW, lpszTitle, 4)
3160     TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 4)
3161     TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 12)
3162     TEST_FIELD_SIZE  (BROWSEINFOW, ulFlags, 4)
3163     TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
3164     TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 16)
3165     TEST_FIELD_SIZE  (BROWSEINFOW, lpfn, 4)
3166     TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 4)
3167     TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 20)
3168     TEST_FIELD_SIZE  (BROWSEINFOW, lParam, 4)
3169     TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 4)
3170     TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 24)
3171     TEST_FIELD_SIZE  (BROWSEINFOW, iImage, 4)
3172     TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
3173     TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 28)
3174 }
3175
3176 static void test_pack_CABINETSTATE(void)
3177 {
3178     /* CABINETSTATE (pack 1) */
3179     TEST_TYPE_SIZE   (CABINETSTATE, 12)
3180     TEST_TYPE_ALIGN  (CABINETSTATE, 1)
3181     TEST_FIELD_SIZE  (CABINETSTATE, cLength, 2)
3182     TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
3183     TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
3184     TEST_FIELD_SIZE  (CABINETSTATE, nVersion, 2)
3185     TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
3186     TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
3187     TEST_FIELD_SIZE  (CABINETSTATE, fMenuEnumFilter, 4)
3188     TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
3189     TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
3190 }
3191
3192 static void test_pack_CIDA(void)
3193 {
3194     /* CIDA (pack 1) */
3195     TEST_TYPE_SIZE   (CIDA, 8)
3196     TEST_TYPE_ALIGN  (CIDA, 1)
3197     TEST_FIELD_SIZE  (CIDA, cidl, 4)
3198     TEST_FIELD_ALIGN (CIDA, cidl, 1)
3199     TEST_FIELD_OFFSET(CIDA, cidl, 0)
3200     TEST_FIELD_SIZE  (CIDA, aoffset, 4)
3201     TEST_FIELD_ALIGN (CIDA, aoffset, 1)
3202     TEST_FIELD_OFFSET(CIDA, aoffset, 4)
3203 }
3204
3205 static void test_pack_CSFV(void)
3206 {
3207     /* CSFV (pack 8) */
3208     TEST_FIELD_SIZE  (CSFV, cbSize, 4)
3209     TEST_FIELD_ALIGN (CSFV, cbSize, 4)
3210     TEST_FIELD_OFFSET(CSFV, cbSize, 0)
3211     TEST_FIELD_SIZE  (CSFV, pshf, 4)
3212     TEST_FIELD_ALIGN (CSFV, pshf, 4)
3213     TEST_FIELD_OFFSET(CSFV, pshf, 4)
3214     TEST_FIELD_SIZE  (CSFV, psvOuter, 4)
3215     TEST_FIELD_ALIGN (CSFV, psvOuter, 4)
3216     TEST_FIELD_OFFSET(CSFV, psvOuter, 8)
3217     TEST_FIELD_SIZE  (CSFV, pidl, 4)
3218     TEST_FIELD_ALIGN (CSFV, pidl, 4)
3219     TEST_FIELD_OFFSET(CSFV, pidl, 12)
3220     TEST_FIELD_SIZE  (CSFV, lEvents, 4)
3221     TEST_FIELD_ALIGN (CSFV, lEvents, 4)
3222     TEST_FIELD_OFFSET(CSFV, lEvents, 16)
3223     TEST_FIELD_SIZE  (CSFV, pfnCallback, 4)
3224     TEST_FIELD_ALIGN (CSFV, pfnCallback, 4)
3225     TEST_FIELD_OFFSET(CSFV, pfnCallback, 20)
3226 }
3227
3228 static void test_pack_DROPFILES(void)
3229 {
3230     /* DROPFILES (pack 1) */
3231     TEST_TYPE_SIZE   (DROPFILES, 20)
3232     TEST_TYPE_ALIGN  (DROPFILES, 1)
3233     TEST_FIELD_SIZE  (DROPFILES, pFiles, 4)
3234     TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
3235     TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
3236     TEST_FIELD_SIZE  (DROPFILES, pt, 8)
3237     TEST_FIELD_ALIGN (DROPFILES, pt, 1)
3238     TEST_FIELD_OFFSET(DROPFILES, pt, 4)
3239     TEST_FIELD_SIZE  (DROPFILES, fNC, 4)
3240     TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
3241     TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
3242     TEST_FIELD_SIZE  (DROPFILES, fWide, 4)
3243     TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
3244     TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
3245 }
3246
3247 static void test_pack_FILEDESCRIPTORA(void)
3248 {
3249     /* FILEDESCRIPTORA (pack 1) */
3250     TEST_TYPE_SIZE   (FILEDESCRIPTORA, 332)
3251     TEST_TYPE_ALIGN  (FILEDESCRIPTORA, 1)
3252     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFlags, 4)
3253     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
3254     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
3255     TEST_FIELD_SIZE  (FILEDESCRIPTORA, clsid, 16)
3256     TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
3257     TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
3258     TEST_FIELD_SIZE  (FILEDESCRIPTORA, sizel, 8)
3259     TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
3260     TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
3261     TEST_FIELD_SIZE  (FILEDESCRIPTORA, pointl, 8)
3262     TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
3263     TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
3264     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFileAttributes, 4)
3265     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
3266     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
3267     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftCreationTime, 8)
3268     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
3269     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
3270     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastAccessTime, 8)
3271     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
3272     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
3273     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastWriteTime, 8)
3274     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
3275     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
3276     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeHigh, 4)
3277     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
3278     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
3279     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeLow, 4)
3280     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
3281     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
3282     TEST_FIELD_SIZE  (FILEDESCRIPTORA, cFileName, 260)
3283     TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
3284     TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
3285 }
3286
3287 static void test_pack_FILEDESCRIPTORW(void)
3288 {
3289     /* FILEDESCRIPTORW (pack 1) */
3290     TEST_TYPE_SIZE   (FILEDESCRIPTORW, 592)
3291     TEST_TYPE_ALIGN  (FILEDESCRIPTORW, 1)
3292     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFlags, 4)
3293     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
3294     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
3295     TEST_FIELD_SIZE  (FILEDESCRIPTORW, clsid, 16)
3296     TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
3297     TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
3298     TEST_FIELD_SIZE  (FILEDESCRIPTORW, sizel, 8)
3299     TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
3300     TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
3301     TEST_FIELD_SIZE  (FILEDESCRIPTORW, pointl, 8)
3302     TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
3303     TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
3304     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFileAttributes, 4)
3305     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
3306     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
3307     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftCreationTime, 8)
3308     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
3309     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
3310     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastAccessTime, 8)
3311     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
3312     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
3313     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastWriteTime, 8)
3314     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
3315     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
3316     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeHigh, 4)
3317     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
3318     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
3319     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeLow, 4)
3320     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
3321     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
3322     TEST_FIELD_SIZE  (FILEDESCRIPTORW, cFileName, 520)
3323     TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
3324     TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
3325 }
3326
3327 static void test_pack_FILEGROUPDESCRIPTORA(void)
3328 {
3329     /* FILEGROUPDESCRIPTORA (pack 1) */
3330     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORA, 336)
3331     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORA, 1)
3332     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, cItems, 4)
3333     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
3334     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
3335     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, fgd, 332)
3336     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
3337     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
3338 }
3339
3340 static void test_pack_FILEGROUPDESCRIPTORW(void)
3341 {
3342     /* FILEGROUPDESCRIPTORW (pack 1) */
3343     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORW, 596)
3344     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORW, 1)
3345     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, cItems, 4)
3346     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
3347     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
3348     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, fgd, 592)
3349     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
3350     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
3351 }
3352
3353 static void test_pack_ITEMSPACING(void)
3354 {
3355     /* ITEMSPACING (pack 8) */
3356     TEST_TYPE_SIZE   (ITEMSPACING, 16)
3357     TEST_TYPE_ALIGN  (ITEMSPACING, 4)
3358     TEST_FIELD_SIZE  (ITEMSPACING, cxSmall, 4)
3359     TEST_FIELD_ALIGN (ITEMSPACING, cxSmall, 4)
3360     TEST_FIELD_OFFSET(ITEMSPACING, cxSmall, 0)
3361     TEST_FIELD_SIZE  (ITEMSPACING, cySmall, 4)
3362     TEST_FIELD_ALIGN (ITEMSPACING, cySmall, 4)
3363     TEST_FIELD_OFFSET(ITEMSPACING, cySmall, 4)
3364     TEST_FIELD_SIZE  (ITEMSPACING, cxLarge, 4)
3365     TEST_FIELD_ALIGN (ITEMSPACING, cxLarge, 4)
3366     TEST_FIELD_OFFSET(ITEMSPACING, cxLarge, 8)
3367     TEST_FIELD_SIZE  (ITEMSPACING, cyLarge, 4)
3368     TEST_FIELD_ALIGN (ITEMSPACING, cyLarge, 4)
3369     TEST_FIELD_OFFSET(ITEMSPACING, cyLarge, 12)
3370 }
3371
3372 static void test_pack_LPBROWSEINFOA(void)
3373 {
3374     /* LPBROWSEINFOA */
3375     TEST_TYPE_SIZE   (LPBROWSEINFOA, 4)
3376     TEST_TYPE_ALIGN  (LPBROWSEINFOA, 4)
3377     TEST_TARGET_SIZE (LPBROWSEINFOA, 32)
3378     TEST_TARGET_ALIGN(LPBROWSEINFOA, 4)
3379 }
3380
3381 static void test_pack_LPBROWSEINFOW(void)
3382 {
3383     /* LPBROWSEINFOW */
3384     TEST_TYPE_SIZE   (LPBROWSEINFOW, 4)
3385     TEST_TYPE_ALIGN  (LPBROWSEINFOW, 4)
3386     TEST_TARGET_SIZE (LPBROWSEINFOW, 32)
3387     TEST_TARGET_ALIGN(LPBROWSEINFOW, 4)
3388 }
3389
3390 static void test_pack_LPCABINETSTATE(void)
3391 {
3392     /* LPCABINETSTATE */
3393     TEST_TYPE_SIZE   (LPCABINETSTATE, 4)
3394     TEST_TYPE_ALIGN  (LPCABINETSTATE, 4)
3395     TEST_TARGET_SIZE (LPCABINETSTATE, 12)
3396     TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
3397 }
3398
3399 static void test_pack_LPCSFV(void)
3400 {
3401     /* LPCSFV */
3402     TEST_TYPE_SIZE   (LPCSFV, 4)
3403     TEST_TYPE_ALIGN  (LPCSFV, 4)
3404 }
3405
3406 static void test_pack_LPDROPFILES(void)
3407 {
3408     /* LPDROPFILES */
3409     TEST_TYPE_SIZE   (LPDROPFILES, 4)
3410     TEST_TYPE_ALIGN  (LPDROPFILES, 4)
3411     TEST_TARGET_SIZE (LPDROPFILES, 20)
3412     TEST_TARGET_ALIGN(LPDROPFILES, 1)
3413 }
3414
3415 static void test_pack_LPFILEDESCRIPTORA(void)
3416 {
3417     /* LPFILEDESCRIPTORA */
3418     TEST_TYPE_SIZE   (LPFILEDESCRIPTORA, 4)
3419     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORA, 4)
3420     TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
3421     TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
3422 }
3423
3424 static void test_pack_LPFILEDESCRIPTORW(void)
3425 {
3426     /* LPFILEDESCRIPTORW */
3427     TEST_TYPE_SIZE   (LPFILEDESCRIPTORW, 4)
3428     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORW, 4)
3429     TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
3430     TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
3431 }
3432
3433 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
3434 {
3435     /* LPFILEGROUPDESCRIPTORA */
3436     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORA, 4)
3437     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORA, 4)
3438     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
3439     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
3440 }
3441
3442 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
3443 {
3444     /* LPFILEGROUPDESCRIPTORW */
3445     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORW, 4)
3446     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORW, 4)
3447     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
3448     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
3449 }
3450
3451 static void test_pack_LPFNVIEWCALLBACK(void)
3452 {
3453     /* LPFNVIEWCALLBACK */
3454     TEST_TYPE_SIZE   (LPFNVIEWCALLBACK, 4)
3455     TEST_TYPE_ALIGN  (LPFNVIEWCALLBACK, 4)
3456 }
3457
3458 static void test_pack_LPIDA(void)
3459 {
3460     /* LPIDA */
3461     TEST_TYPE_SIZE   (LPIDA, 4)
3462     TEST_TYPE_ALIGN  (LPIDA, 4)
3463     TEST_TARGET_SIZE (LPIDA, 8)
3464     TEST_TARGET_ALIGN(LPIDA, 1)
3465 }
3466
3467 static void test_pack_LPQCMINFO(void)
3468 {
3469     /* LPQCMINFO */
3470     TEST_TYPE_SIZE   (LPQCMINFO, 4)
3471     TEST_TYPE_ALIGN  (LPQCMINFO, 4)
3472     TEST_TARGET_SIZE (LPQCMINFO, 20)
3473     TEST_TARGET_ALIGN(LPQCMINFO, 4)
3474 }
3475
3476 static void test_pack_LPSHChangeDWORDAsIDList(void)
3477 {
3478     /* LPSHChangeDWORDAsIDList */
3479     TEST_TYPE_SIZE   (LPSHChangeDWORDAsIDList, 4)
3480     TEST_TYPE_ALIGN  (LPSHChangeDWORDAsIDList, 4)
3481     TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
3482     TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
3483 }
3484
3485 static void test_pack_LPSHChangeProductKeyAsIDList(void)
3486 {
3487     /* LPSHChangeProductKeyAsIDList */
3488     TEST_TYPE_SIZE   (LPSHChangeProductKeyAsIDList, 4)
3489     TEST_TYPE_ALIGN  (LPSHChangeProductKeyAsIDList, 4)
3490     TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
3491     TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
3492 }
3493
3494 static void test_pack_LPSHDESCRIPTIONID(void)
3495 {
3496     /* LPSHDESCRIPTIONID */
3497     TEST_TYPE_SIZE   (LPSHDESCRIPTIONID, 4)
3498     TEST_TYPE_ALIGN  (LPSHDESCRIPTIONID, 4)
3499     TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
3500     TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
3501 }
3502
3503 static void test_pack_LPSHELLFLAGSTATE(void)
3504 {
3505     /* LPSHELLFLAGSTATE */
3506     TEST_TYPE_SIZE   (LPSHELLFLAGSTATE, 4)
3507     TEST_TYPE_ALIGN  (LPSHELLFLAGSTATE, 4)
3508     TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
3509     TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
3510 }
3511
3512 static void test_pack_LPSHELLSTATE(void)
3513 {
3514     /* LPSHELLSTATE */
3515     TEST_TYPE_SIZE   (LPSHELLSTATE, 4)
3516     TEST_TYPE_ALIGN  (LPSHELLSTATE, 4)
3517     TEST_TARGET_SIZE (LPSHELLSTATE, 32)
3518     TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
3519 }
3520
3521 static void test_pack_LPTBINFO(void)
3522 {
3523     /* LPTBINFO */
3524     TEST_TYPE_SIZE   (LPTBINFO, 4)
3525     TEST_TYPE_ALIGN  (LPTBINFO, 4)
3526     TEST_TARGET_SIZE (LPTBINFO, 8)
3527     TEST_TARGET_ALIGN(LPTBINFO, 4)
3528 }
3529
3530 static void test_pack_PBROWSEINFOA(void)
3531 {
3532     /* PBROWSEINFOA */
3533     TEST_TYPE_SIZE   (PBROWSEINFOA, 4)
3534     TEST_TYPE_ALIGN  (PBROWSEINFOA, 4)
3535     TEST_TARGET_SIZE (PBROWSEINFOA, 32)
3536     TEST_TARGET_ALIGN(PBROWSEINFOA, 4)
3537 }
3538
3539 static void test_pack_PBROWSEINFOW(void)
3540 {
3541     /* PBROWSEINFOW */
3542     TEST_TYPE_SIZE   (PBROWSEINFOW, 4)
3543     TEST_TYPE_ALIGN  (PBROWSEINFOW, 4)
3544     TEST_TARGET_SIZE (PBROWSEINFOW, 32)
3545     TEST_TARGET_ALIGN(PBROWSEINFOW, 4)
3546 }
3547
3548 static void test_pack_QCMINFO(void)
3549 {
3550     /* QCMINFO (pack 8) */
3551     TEST_TYPE_SIZE   (QCMINFO, 20)
3552     TEST_TYPE_ALIGN  (QCMINFO, 4)
3553     TEST_FIELD_SIZE  (QCMINFO, hmenu, 4)
3554     TEST_FIELD_ALIGN (QCMINFO, hmenu, 4)
3555     TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
3556     TEST_FIELD_SIZE  (QCMINFO, indexMenu, 4)
3557     TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
3558     TEST_FIELD_OFFSET(QCMINFO, indexMenu, 4)
3559     TEST_FIELD_SIZE  (QCMINFO, idCmdFirst, 4)
3560     TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
3561     TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 8)
3562     TEST_FIELD_SIZE  (QCMINFO, idCmdLast, 4)
3563     TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
3564     TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 12)
3565     TEST_FIELD_SIZE  (QCMINFO, pIdMap, 4)
3566     TEST_FIELD_ALIGN (QCMINFO, pIdMap, 4)
3567     TEST_FIELD_OFFSET(QCMINFO, pIdMap, 16)
3568 }
3569
3570 static void test_pack_QCMINFO_IDMAP(void)
3571 {
3572     /* QCMINFO_IDMAP (pack 8) */
3573     TEST_TYPE_SIZE   (QCMINFO_IDMAP, 12)
3574     TEST_TYPE_ALIGN  (QCMINFO_IDMAP, 4)
3575     TEST_FIELD_SIZE  (QCMINFO_IDMAP, nMaxIds, 4)
3576     TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
3577     TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
3578     TEST_FIELD_SIZE  (QCMINFO_IDMAP, pIdList, 8)
3579     TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
3580     TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
3581 }
3582
3583 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
3584 {
3585     /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
3586     TEST_TYPE_SIZE   (QCMINFO_IDMAP_PLACEMENT, 8)
3587     TEST_TYPE_ALIGN  (QCMINFO_IDMAP_PLACEMENT, 4)
3588     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, id, 4)
3589     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
3590     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
3591     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3592     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3593     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3594 }
3595
3596 static void test_pack_SFV_CREATE(void)
3597 {
3598     /* SFV_CREATE (pack 8) */
3599     TEST_TYPE_SIZE   (SFV_CREATE, 16)
3600     TEST_TYPE_ALIGN  (SFV_CREATE, 4)
3601     TEST_FIELD_SIZE  (SFV_CREATE, cbSize, 4)
3602     TEST_FIELD_ALIGN (SFV_CREATE, cbSize, 4)
3603     TEST_FIELD_OFFSET(SFV_CREATE, cbSize, 0)
3604     TEST_FIELD_SIZE  (SFV_CREATE, pshf, 4)
3605     TEST_FIELD_ALIGN (SFV_CREATE, pshf, 4)
3606     TEST_FIELD_OFFSET(SFV_CREATE, pshf, 4)
3607     TEST_FIELD_SIZE  (SFV_CREATE, psvOuter, 4)
3608     TEST_FIELD_ALIGN (SFV_CREATE, psvOuter, 4)
3609     TEST_FIELD_OFFSET(SFV_CREATE, psvOuter, 8)
3610     TEST_FIELD_SIZE  (SFV_CREATE, psfvcb, 4)
3611     TEST_FIELD_ALIGN (SFV_CREATE, psfvcb, 4)
3612     TEST_FIELD_OFFSET(SFV_CREATE, psfvcb, 12)
3613 }
3614
3615 static void test_pack_SHChangeDWORDAsIDList(void)
3616 {
3617     /* SHChangeDWORDAsIDList (pack 1) */
3618     TEST_TYPE_SIZE   (SHChangeDWORDAsIDList, 12)
3619     TEST_TYPE_ALIGN  (SHChangeDWORDAsIDList, 1)
3620     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cb, 2)
3621     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
3622     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
3623     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem1, 4)
3624     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
3625     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
3626     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem2, 4)
3627     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
3628     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
3629     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cbZero, 2)
3630     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
3631     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
3632 }
3633
3634 static void test_pack_SHChangeNotifyEntry(void)
3635 {
3636     /* SHChangeNotifyEntry (pack 1) */
3637     TEST_TYPE_SIZE   (SHChangeNotifyEntry, 8)
3638     TEST_TYPE_ALIGN  (SHChangeNotifyEntry, 1)
3639     TEST_FIELD_SIZE  (SHChangeNotifyEntry, pidl, 4)
3640     TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
3641     TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
3642     TEST_FIELD_SIZE  (SHChangeNotifyEntry, fRecursive, 4)
3643     TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
3644     TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 4)
3645 }
3646
3647 static void test_pack_SHChangeProductKeyAsIDList(void)
3648 {
3649     /* SHChangeProductKeyAsIDList (pack 1) */
3650     TEST_TYPE_SIZE   (SHChangeProductKeyAsIDList, 82)
3651     TEST_TYPE_ALIGN  (SHChangeProductKeyAsIDList, 1)
3652     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cb, 2)
3653     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
3654     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
3655     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, wszProductKey, 78)
3656     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
3657     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
3658     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cbZero, 2)
3659     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
3660     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
3661 }
3662
3663 static void test_pack_SHDESCRIPTIONID(void)
3664 {
3665     /* SHDESCRIPTIONID (pack 8) */
3666     TEST_TYPE_SIZE   (SHDESCRIPTIONID, 20)
3667     TEST_TYPE_ALIGN  (SHDESCRIPTIONID, 4)
3668     TEST_FIELD_SIZE  (SHDESCRIPTIONID, dwDescriptionId, 4)
3669     TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
3670     TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
3671     TEST_FIELD_SIZE  (SHDESCRIPTIONID, clsid, 16)
3672     TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
3673     TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
3674 }
3675
3676 static void test_pack_SHELLFLAGSTATE(void)
3677 {
3678     /* SHELLFLAGSTATE (pack 1) */
3679     TEST_TYPE_SIZE   (SHELLFLAGSTATE, 4)
3680     TEST_TYPE_ALIGN  (SHELLFLAGSTATE, 1)
3681 }
3682
3683 static void test_pack_SHELLSTATE(void)
3684 {
3685     /* SHELLSTATE (pack 1) */
3686     TEST_TYPE_SIZE   (SHELLSTATE, 32)
3687     TEST_TYPE_ALIGN  (SHELLSTATE, 1)
3688     TEST_FIELD_SIZE  (SHELLSTATE, dwWin95Unused, 4)
3689     TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
3690     TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
3691     TEST_FIELD_SIZE  (SHELLSTATE, uWin95Unused, 4)
3692     TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
3693     TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
3694     TEST_FIELD_SIZE  (SHELLSTATE, lParamSort, 4)
3695     TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
3696     TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
3697     TEST_FIELD_SIZE  (SHELLSTATE, iSortDirection, 4)
3698     TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
3699     TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
3700     TEST_FIELD_SIZE  (SHELLSTATE, version, 4)
3701     TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
3702     TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
3703     TEST_FIELD_SIZE  (SHELLSTATE, uNotUsed, 4)
3704     TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
3705     TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
3706 }
3707
3708 static void test_pack_TBINFO(void)
3709 {
3710     /* TBINFO (pack 8) */
3711     TEST_TYPE_SIZE   (TBINFO, 8)
3712     TEST_TYPE_ALIGN  (TBINFO, 4)
3713     TEST_FIELD_SIZE  (TBINFO, cbuttons, 4)
3714     TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
3715     TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
3716     TEST_FIELD_SIZE  (TBINFO, uFlags, 4)
3717     TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
3718     TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
3719 }
3720
3721 #endif /* _WIN64 */
3722
3723 static void test_pack(void)
3724 {
3725     test_pack_APPBARDATA();
3726     test_pack_AUTO_SCROLL_DATA();
3727     test_pack_BFFCALLBACK();
3728     test_pack_BLOB();
3729     test_pack_BROWSEINFOA();
3730     test_pack_BROWSEINFOW();
3731     test_pack_BSTR();
3732     test_pack_BSTRBLOB();
3733     test_pack_BYTE_BLOB();
3734     test_pack_BYTE_SIZEDARR();
3735     test_pack_CABINETSTATE();
3736     test_pack_CIDA();
3737     test_pack_CLIPDATA();
3738     test_pack_CLIPFORMAT();
3739     test_pack_CLSID();
3740     test_pack_COAUTHIDENTITY();
3741     test_pack_COAUTHINFO();
3742     test_pack_CSFV();
3743     test_pack_DATE();
3744     test_pack_DOUBLE();
3745     test_pack_DRAGINFOA();
3746     test_pack_DRAGINFOW();
3747     test_pack_DROPFILES();
3748     test_pack_DWORD_SIZEDARR();
3749     test_pack_FILEDESCRIPTORA();
3750     test_pack_FILEDESCRIPTORW();
3751     test_pack_FILEGROUPDESCRIPTORA();
3752     test_pack_FILEGROUPDESCRIPTORW();
3753     test_pack_FILEOP_FLAGS();
3754     test_pack_FLAGGED_BYTE_BLOB();
3755     test_pack_FLAGGED_WORD_BLOB();
3756     test_pack_FMTID();
3757     test_pack_HMETAFILEPICT();
3758     test_pack_HYPER_SIZEDARR();
3759     test_pack_IID();
3760     test_pack_ITEMIDLIST();
3761     test_pack_ITEMSPACING();
3762     test_pack_LPBLOB();
3763     test_pack_LPBROWSEINFOA();
3764     test_pack_LPBROWSEINFOW();
3765     test_pack_LPBSTR();
3766     test_pack_LPBSTRBLOB();
3767     test_pack_LPCABINETSTATE();
3768     test_pack_LPCITEMIDLIST();
3769     test_pack_LPCOLESTR();
3770     test_pack_LPCSFV();
3771     test_pack_LPCSHITEMID();
3772     test_pack_LPCY();
3773     test_pack_LPDECIMAL();
3774     test_pack_LPDRAGINFOA();
3775     test_pack_LPDRAGINFOW();
3776     test_pack_LPDROPFILES();
3777     test_pack_LPFILEDESCRIPTORA();
3778     test_pack_LPFILEDESCRIPTORW();
3779     test_pack_LPFILEGROUPDESCRIPTORA();
3780     test_pack_LPFILEGROUPDESCRIPTORW();
3781     test_pack_LPFNVIEWCALLBACK();
3782     test_pack_LPIDA();
3783     test_pack_LPITEMIDLIST();
3784     test_pack_LPOLESTR();
3785     test_pack_LPQCMINFO();
3786     test_pack_LPSHChangeDWORDAsIDList();
3787     test_pack_LPSHChangeProductKeyAsIDList();
3788     test_pack_LPSHDESCRIPTIONID();
3789     test_pack_LPSHELLDETAILS();
3790     test_pack_LPSHELLEXECUTEINFOA();
3791     test_pack_LPSHELLEXECUTEINFOW();
3792     test_pack_LPSHELLFLAGSTATE();
3793     test_pack_LPSHELLSTATE();
3794     test_pack_LPSHFILEOPSTRUCTA();
3795     test_pack_LPSHFILEOPSTRUCTW();
3796     test_pack_LPSHITEMID();
3797     test_pack_LPSHNAMEMAPPINGA();
3798     test_pack_LPSHNAMEMAPPINGW();
3799     test_pack_LPSTRRET();
3800     test_pack_LPTBINFO();
3801     test_pack_NOTIFYICONDATAA();
3802     test_pack_NOTIFYICONDATAW();
3803     test_pack_OLECHAR();
3804     test_pack_PAPPBARDATA();
3805     test_pack_PBROWSEINFOA();
3806     test_pack_PBROWSEINFOW();
3807     test_pack_PNOTIFYICONDATAA();
3808     test_pack_PNOTIFYICONDATAW();
3809     test_pack_PRINTEROP_FLAGS();
3810     test_pack_PROPID();
3811     test_pack_QCMINFO();
3812     test_pack_QCMINFO_IDMAP();
3813     test_pack_QCMINFO_IDMAP_PLACEMENT();
3814     test_pack_RemHBITMAP();
3815     test_pack_RemHENHMETAFILE();
3816     test_pack_RemHGLOBAL();
3817     test_pack_RemHMETAFILEPICT();
3818     test_pack_RemHPALETTE();
3819     test_pack_SCODE();
3820     test_pack_SFV_CREATE();
3821     test_pack_SHChangeDWORDAsIDList();
3822     test_pack_SHChangeNotifyEntry();
3823     test_pack_SHChangeProductKeyAsIDList();
3824     test_pack_SHDESCRIPTIONID();
3825     test_pack_SHELLDETAILS();
3826     test_pack_SHELLEXECUTEINFOA();
3827     test_pack_SHELLEXECUTEINFOW();
3828     test_pack_SHELLFLAGSTATE();
3829     test_pack_SHELLSTATE();
3830     test_pack_SHFILEINFOA();
3831     test_pack_SHFILEINFOW();
3832     test_pack_SHFILEOPSTRUCTA();
3833     test_pack_SHFILEOPSTRUCTW();
3834     test_pack_SHITEMID();
3835     test_pack_SHNAMEMAPPINGA();
3836     test_pack_SHNAMEMAPPINGW();
3837     test_pack_STRRET();
3838     test_pack_TBINFO();
3839     test_pack_UP_BYTE_BLOB();
3840     test_pack_UP_FLAGGED_BYTE_BLOB();
3841     test_pack_UP_FLAGGED_WORD_BLOB();
3842     test_pack_VARIANT_BOOL();
3843     test_pack_VARTYPE();
3844     test_pack_WORD_SIZEDARR();
3845     test_pack_remoteMETAFILEPICT();
3846     test_pack_userBITMAP();
3847     test_pack_userCLIPFORMAT();
3848     test_pack_userHBITMAP();
3849     test_pack_userHENHMETAFILE();
3850     test_pack_userHGLOBAL();
3851     test_pack_userHMETAFILE();
3852     test_pack_userHMETAFILEPICT();
3853     test_pack_userHPALETTE();
3854     test_pack_wireBSTR();
3855     test_pack_wireCLIPFORMAT();
3856     test_pack_wireHBITMAP();
3857     test_pack_wireHENHMETAFILE();
3858     test_pack_wireHGLOBAL();
3859     test_pack_wireHMETAFILE();
3860     test_pack_wireHMETAFILEPICT();
3861     test_pack_wireHPALETTE();
3862 }
3863
3864 START_TEST(generated)
3865 {
3866     test_pack();
3867 }