samlib: Add stubbed samlib.dll.
[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 1) */
1390     TEST_FIELD_SIZE  (CSFV, cbSize, 4)
1391     TEST_FIELD_ALIGN (CSFV, cbSize, 1)
1392     TEST_FIELD_OFFSET(CSFV, cbSize, 0)
1393     TEST_FIELD_SIZE  (CSFV, pshf, 8)
1394     TEST_FIELD_ALIGN (CSFV, pshf, 1)
1395     TEST_FIELD_OFFSET(CSFV, pshf, 4)
1396     TEST_FIELD_SIZE  (CSFV, psvOuter, 8)
1397     TEST_FIELD_ALIGN (CSFV, psvOuter, 1)
1398     TEST_FIELD_OFFSET(CSFV, psvOuter, 12)
1399     TEST_FIELD_SIZE  (CSFV, pidl, 8)
1400     TEST_FIELD_ALIGN (CSFV, pidl, 1)
1401     TEST_FIELD_OFFSET(CSFV, pidl, 20)
1402     TEST_FIELD_SIZE  (CSFV, lEvents, 4)
1403     TEST_FIELD_ALIGN (CSFV, lEvents, 1)
1404     TEST_FIELD_OFFSET(CSFV, lEvents, 28)
1405     TEST_FIELD_SIZE  (CSFV, pfnCallback, 8)
1406     TEST_FIELD_ALIGN (CSFV, pfnCallback, 1)
1407     TEST_FIELD_OFFSET(CSFV, pfnCallback, 32)
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_LPBROWSEINFOA(void)
1536 {
1537     /* LPBROWSEINFOA */
1538     TEST_TYPE_SIZE   (LPBROWSEINFOA, 8)
1539     TEST_TYPE_ALIGN  (LPBROWSEINFOA, 8)
1540     TEST_TARGET_SIZE (LPBROWSEINFOA, 64)
1541     TEST_TARGET_ALIGN(LPBROWSEINFOA, 8)
1542 }
1543
1544 static void test_pack_LPBROWSEINFOW(void)
1545 {
1546     /* LPBROWSEINFOW */
1547     TEST_TYPE_SIZE   (LPBROWSEINFOW, 8)
1548     TEST_TYPE_ALIGN  (LPBROWSEINFOW, 8)
1549     TEST_TARGET_SIZE (LPBROWSEINFOW, 64)
1550     TEST_TARGET_ALIGN(LPBROWSEINFOW, 8)
1551 }
1552
1553 static void test_pack_LPCABINETSTATE(void)
1554 {
1555     /* LPCABINETSTATE */
1556     TEST_TYPE_SIZE   (LPCABINETSTATE, 8)
1557     TEST_TYPE_ALIGN  (LPCABINETSTATE, 8)
1558     TEST_TARGET_SIZE (LPCABINETSTATE, 12)
1559     TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
1560 }
1561
1562 static void test_pack_LPCSFV(void)
1563 {
1564     /* LPCSFV */
1565     TEST_TYPE_SIZE   (LPCSFV, 8)
1566     TEST_TYPE_ALIGN  (LPCSFV, 8)
1567 }
1568
1569 static void test_pack_LPDROPFILES(void)
1570 {
1571     /* LPDROPFILES */
1572     TEST_TYPE_SIZE   (LPDROPFILES, 8)
1573     TEST_TYPE_ALIGN  (LPDROPFILES, 8)
1574     TEST_TARGET_SIZE (LPDROPFILES, 20)
1575     TEST_TARGET_ALIGN(LPDROPFILES, 1)
1576 }
1577
1578 static void test_pack_LPFILEDESCRIPTORA(void)
1579 {
1580     /* LPFILEDESCRIPTORA */
1581     TEST_TYPE_SIZE   (LPFILEDESCRIPTORA, 8)
1582     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORA, 8)
1583     TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
1584     TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
1585 }
1586
1587 static void test_pack_LPFILEDESCRIPTORW(void)
1588 {
1589     /* LPFILEDESCRIPTORW */
1590     TEST_TYPE_SIZE   (LPFILEDESCRIPTORW, 8)
1591     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORW, 8)
1592     TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
1593     TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
1594 }
1595
1596 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
1597 {
1598     /* LPFILEGROUPDESCRIPTORA */
1599     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORA, 8)
1600     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORA, 8)
1601     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
1602     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
1603 }
1604
1605 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
1606 {
1607     /* LPFILEGROUPDESCRIPTORW */
1608     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORW, 8)
1609     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORW, 8)
1610     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
1611     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
1612 }
1613
1614 static void test_pack_LPFNVIEWCALLBACK(void)
1615 {
1616     /* LPFNVIEWCALLBACK */
1617     TEST_TYPE_SIZE   (LPFNVIEWCALLBACK, 8)
1618     TEST_TYPE_ALIGN  (LPFNVIEWCALLBACK, 8)
1619 }
1620
1621 static void test_pack_LPIDA(void)
1622 {
1623     /* LPIDA */
1624     TEST_TYPE_SIZE   (LPIDA, 8)
1625     TEST_TYPE_ALIGN  (LPIDA, 8)
1626     TEST_TARGET_SIZE (LPIDA, 8)
1627     TEST_TARGET_ALIGN(LPIDA, 1)
1628 }
1629
1630 static void test_pack_LPQCMINFO(void)
1631 {
1632     /* LPQCMINFO */
1633     TEST_TYPE_SIZE   (LPQCMINFO, 8)
1634     TEST_TYPE_ALIGN  (LPQCMINFO, 8)
1635     TEST_TARGET_SIZE (LPQCMINFO, 32)
1636     TEST_TARGET_ALIGN(LPQCMINFO, 8)
1637 }
1638
1639 static void test_pack_LPSHChangeDWORDAsIDList(void)
1640 {
1641     /* LPSHChangeDWORDAsIDList */
1642     TEST_TYPE_SIZE   (LPSHChangeDWORDAsIDList, 8)
1643     TEST_TYPE_ALIGN  (LPSHChangeDWORDAsIDList, 8)
1644     TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
1645     TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
1646 }
1647
1648 static void test_pack_LPSHChangeProductKeyAsIDList(void)
1649 {
1650     /* LPSHChangeProductKeyAsIDList */
1651     TEST_TYPE_SIZE   (LPSHChangeProductKeyAsIDList, 8)
1652     TEST_TYPE_ALIGN  (LPSHChangeProductKeyAsIDList, 8)
1653     TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
1654     TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
1655 }
1656
1657 static void test_pack_LPSHDESCRIPTIONID(void)
1658 {
1659     /* LPSHDESCRIPTIONID */
1660     TEST_TYPE_SIZE   (LPSHDESCRIPTIONID, 8)
1661     TEST_TYPE_ALIGN  (LPSHDESCRIPTIONID, 8)
1662     TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
1663     TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
1664 }
1665
1666 static void test_pack_LPSHELLFLAGSTATE(void)
1667 {
1668     /* LPSHELLFLAGSTATE */
1669     TEST_TYPE_SIZE   (LPSHELLFLAGSTATE, 8)
1670     TEST_TYPE_ALIGN  (LPSHELLFLAGSTATE, 8)
1671     TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
1672     TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
1673 }
1674
1675 static void test_pack_LPSHELLSTATE(void)
1676 {
1677     /* LPSHELLSTATE */
1678     TEST_TYPE_SIZE   (LPSHELLSTATE, 8)
1679     TEST_TYPE_ALIGN  (LPSHELLSTATE, 8)
1680     TEST_TARGET_SIZE (LPSHELLSTATE, 32)
1681     TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
1682 }
1683
1684 static void test_pack_LPTBINFO(void)
1685 {
1686     /* LPTBINFO */
1687     TEST_TYPE_SIZE   (LPTBINFO, 8)
1688     TEST_TYPE_ALIGN  (LPTBINFO, 8)
1689     TEST_TARGET_SIZE (LPTBINFO, 8)
1690     TEST_TARGET_ALIGN(LPTBINFO, 4)
1691 }
1692
1693 static void test_pack_PBROWSEINFOA(void)
1694 {
1695     /* PBROWSEINFOA */
1696     TEST_TYPE_SIZE   (PBROWSEINFOA, 8)
1697     TEST_TYPE_ALIGN  (PBROWSEINFOA, 8)
1698     TEST_TARGET_SIZE (PBROWSEINFOA, 64)
1699     TEST_TARGET_ALIGN(PBROWSEINFOA, 8)
1700 }
1701
1702 static void test_pack_PBROWSEINFOW(void)
1703 {
1704     /* PBROWSEINFOW */
1705     TEST_TYPE_SIZE   (PBROWSEINFOW, 8)
1706     TEST_TYPE_ALIGN  (PBROWSEINFOW, 8)
1707     TEST_TARGET_SIZE (PBROWSEINFOW, 64)
1708     TEST_TARGET_ALIGN(PBROWSEINFOW, 8)
1709 }
1710
1711 static void test_pack_QCMINFO(void)
1712 {
1713     /* QCMINFO (pack 8) */
1714     TEST_TYPE_SIZE   (QCMINFO, 32)
1715     TEST_TYPE_ALIGN  (QCMINFO, 8)
1716     TEST_FIELD_SIZE  (QCMINFO, hmenu, 8)
1717     TEST_FIELD_ALIGN (QCMINFO, hmenu, 8)
1718     TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
1719     TEST_FIELD_SIZE  (QCMINFO, indexMenu, 4)
1720     TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
1721     TEST_FIELD_OFFSET(QCMINFO, indexMenu, 8)
1722     TEST_FIELD_SIZE  (QCMINFO, idCmdFirst, 4)
1723     TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
1724     TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 12)
1725     TEST_FIELD_SIZE  (QCMINFO, idCmdLast, 4)
1726     TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
1727     TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 16)
1728     TEST_FIELD_SIZE  (QCMINFO, pIdMap, 8)
1729     TEST_FIELD_ALIGN (QCMINFO, pIdMap, 8)
1730     TEST_FIELD_OFFSET(QCMINFO, pIdMap, 24)
1731 }
1732
1733 static void test_pack_QCMINFO_IDMAP(void)
1734 {
1735     /* QCMINFO_IDMAP (pack 8) */
1736     TEST_TYPE_SIZE   (QCMINFO_IDMAP, 12)
1737     TEST_TYPE_ALIGN  (QCMINFO_IDMAP, 4)
1738     TEST_FIELD_SIZE  (QCMINFO_IDMAP, nMaxIds, 4)
1739     TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
1740     TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
1741     TEST_FIELD_SIZE  (QCMINFO_IDMAP, pIdList, 8)
1742     TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
1743     TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
1744 }
1745
1746 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
1747 {
1748     /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
1749     TEST_TYPE_SIZE   (QCMINFO_IDMAP_PLACEMENT, 8)
1750     TEST_TYPE_ALIGN  (QCMINFO_IDMAP_PLACEMENT, 4)
1751     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, id, 4)
1752     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
1753     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
1754     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1755     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1756     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1757 }
1758
1759 static void test_pack_SHChangeDWORDAsIDList(void)
1760 {
1761     /* SHChangeDWORDAsIDList (pack 1) */
1762     TEST_TYPE_SIZE   (SHChangeDWORDAsIDList, 12)
1763     TEST_TYPE_ALIGN  (SHChangeDWORDAsIDList, 1)
1764     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cb, 2)
1765     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
1766     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
1767     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem1, 4)
1768     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
1769     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
1770     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem2, 4)
1771     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
1772     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
1773     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cbZero, 2)
1774     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
1775     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
1776 }
1777
1778 static void test_pack_SHChangeNotifyEntry(void)
1779 {
1780     /* SHChangeNotifyEntry (pack 1) */
1781     TEST_TYPE_SIZE   (SHChangeNotifyEntry, 12)
1782     TEST_TYPE_ALIGN  (SHChangeNotifyEntry, 1)
1783     TEST_FIELD_SIZE  (SHChangeNotifyEntry, pidl, 8)
1784     TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
1785     TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
1786     TEST_FIELD_SIZE  (SHChangeNotifyEntry, fRecursive, 4)
1787     TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
1788     TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 8)
1789 }
1790
1791 static void test_pack_SHChangeProductKeyAsIDList(void)
1792 {
1793     /* SHChangeProductKeyAsIDList (pack 1) */
1794     TEST_TYPE_SIZE   (SHChangeProductKeyAsIDList, 82)
1795     TEST_TYPE_ALIGN  (SHChangeProductKeyAsIDList, 1)
1796     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cb, 2)
1797     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
1798     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
1799     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, wszProductKey, 78)
1800     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
1801     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
1802     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cbZero, 2)
1803     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
1804     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
1805 }
1806
1807 static void test_pack_SHDESCRIPTIONID(void)
1808 {
1809     /* SHDESCRIPTIONID (pack 8) */
1810     TEST_TYPE_SIZE   (SHDESCRIPTIONID, 20)
1811     TEST_TYPE_ALIGN  (SHDESCRIPTIONID, 4)
1812     TEST_FIELD_SIZE  (SHDESCRIPTIONID, dwDescriptionId, 4)
1813     TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
1814     TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
1815     TEST_FIELD_SIZE  (SHDESCRIPTIONID, clsid, 16)
1816     TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
1817     TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
1818 }
1819
1820 static void test_pack_SHELLFLAGSTATE(void)
1821 {
1822     /* SHELLFLAGSTATE (pack 1) */
1823     TEST_TYPE_SIZE   (SHELLFLAGSTATE, 4)
1824     TEST_TYPE_ALIGN  (SHELLFLAGSTATE, 1)
1825 }
1826
1827 static void test_pack_SHELLSTATE(void)
1828 {
1829     /* SHELLSTATE (pack 1) */
1830     TEST_TYPE_SIZE   (SHELLSTATE, 32)
1831     TEST_TYPE_ALIGN  (SHELLSTATE, 1)
1832     TEST_FIELD_SIZE  (SHELLSTATE, dwWin95Unused, 4)
1833     TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
1834     TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
1835     TEST_FIELD_SIZE  (SHELLSTATE, uWin95Unused, 4)
1836     TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
1837     TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
1838     TEST_FIELD_SIZE  (SHELLSTATE, lParamSort, 4)
1839     TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
1840     TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
1841     TEST_FIELD_SIZE  (SHELLSTATE, iSortDirection, 4)
1842     TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
1843     TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
1844     TEST_FIELD_SIZE  (SHELLSTATE, version, 4)
1845     TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
1846     TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
1847     TEST_FIELD_SIZE  (SHELLSTATE, uNotUsed, 4)
1848     TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
1849     TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
1850 }
1851
1852 static void test_pack_TBINFO(void)
1853 {
1854     /* TBINFO (pack 8) */
1855     TEST_TYPE_SIZE   (TBINFO, 8)
1856     TEST_TYPE_ALIGN  (TBINFO, 4)
1857     TEST_FIELD_SIZE  (TBINFO, cbuttons, 4)
1858     TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
1859     TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
1860     TEST_FIELD_SIZE  (TBINFO, uFlags, 4)
1861     TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
1862     TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
1863 }
1864
1865 #else /* _WIN64 */
1866
1867 static void test_pack_BLOB(void)
1868 {
1869     /* BLOB */
1870     TEST_TYPE_SIZE   (BLOB, 8)
1871     TEST_TYPE_ALIGN  (BLOB, 4)
1872     TEST_FIELD_SIZE  (BLOB, cbSize, 4)
1873     TEST_FIELD_ALIGN (BLOB, cbSize, 4)
1874     TEST_FIELD_OFFSET(BLOB, cbSize, 0)
1875     TEST_FIELD_SIZE  (BLOB, pBlobData, 4)
1876     TEST_FIELD_ALIGN (BLOB, pBlobData, 4)
1877     TEST_FIELD_OFFSET(BLOB, pBlobData, 4)
1878 }
1879
1880 static void test_pack_BSTR(void)
1881 {
1882     /* BSTR */
1883     TEST_TYPE_SIZE   (BSTR, 4)
1884     TEST_TYPE_ALIGN  (BSTR, 4)
1885     TEST_TARGET_SIZE (BSTR, 2)
1886     TEST_TARGET_ALIGN(BSTR, 2)
1887 }
1888
1889 static void test_pack_BSTRBLOB(void)
1890 {
1891     /* BSTRBLOB */
1892     TEST_TYPE_SIZE   (BSTRBLOB, 8)
1893     TEST_TYPE_ALIGN  (BSTRBLOB, 4)
1894     TEST_FIELD_SIZE  (BSTRBLOB, cbSize, 4)
1895     TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
1896     TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
1897     TEST_FIELD_SIZE  (BSTRBLOB, pData, 4)
1898     TEST_FIELD_ALIGN (BSTRBLOB, pData, 4)
1899     TEST_FIELD_OFFSET(BSTRBLOB, pData, 4)
1900 }
1901
1902 static void test_pack_BYTE_BLOB(void)
1903 {
1904     /* BYTE_BLOB */
1905     TEST_TYPE_SIZE   (BYTE_BLOB, 8)
1906     TEST_TYPE_ALIGN  (BYTE_BLOB, 4)
1907     TEST_FIELD_SIZE  (BYTE_BLOB, clSize, 4)
1908     TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
1909     TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
1910     TEST_FIELD_SIZE  (BYTE_BLOB, abData, 1)
1911     TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
1912     TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
1913 }
1914
1915 static void test_pack_BYTE_SIZEDARR(void)
1916 {
1917     /* BYTE_SIZEDARR */
1918     TEST_TYPE_SIZE   (BYTE_SIZEDARR, 8)
1919     TEST_TYPE_ALIGN  (BYTE_SIZEDARR, 4)
1920     TEST_FIELD_SIZE  (BYTE_SIZEDARR, clSize, 4)
1921     TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
1922     TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
1923     TEST_FIELD_SIZE  (BYTE_SIZEDARR, pData, 4)
1924     TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 4)
1925     TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 4)
1926 }
1927
1928 static void test_pack_CLIPDATA(void)
1929 {
1930     /* CLIPDATA */
1931     TEST_TYPE_SIZE   (CLIPDATA, 12)
1932     TEST_TYPE_ALIGN  (CLIPDATA, 4)
1933     TEST_FIELD_SIZE  (CLIPDATA, cbSize, 4)
1934     TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
1935     TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
1936     TEST_FIELD_SIZE  (CLIPDATA, ulClipFmt, 4)
1937     TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
1938     TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
1939     TEST_FIELD_SIZE  (CLIPDATA, pClipData, 4)
1940     TEST_FIELD_ALIGN (CLIPDATA, pClipData, 4)
1941     TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
1942 }
1943
1944 static void test_pack_CLIPFORMAT(void)
1945 {
1946     /* CLIPFORMAT */
1947     TEST_TYPE_SIZE   (CLIPFORMAT, 2)
1948     TEST_TYPE_ALIGN  (CLIPFORMAT, 2)
1949     TEST_TYPE_UNSIGNED(CLIPFORMAT)
1950 }
1951
1952 static void test_pack_COAUTHIDENTITY(void)
1953 {
1954     /* COAUTHIDENTITY */
1955     TEST_TYPE_SIZE   (COAUTHIDENTITY, 28)
1956     TEST_TYPE_ALIGN  (COAUTHIDENTITY, 4)
1957     TEST_FIELD_SIZE  (COAUTHIDENTITY, User, 4)
1958     TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 4)
1959     TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
1960     TEST_FIELD_SIZE  (COAUTHIDENTITY, UserLength, 4)
1961     TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
1962     TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 4)
1963     TEST_FIELD_SIZE  (COAUTHIDENTITY, Domain, 4)
1964     TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 4)
1965     TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 8)
1966     TEST_FIELD_SIZE  (COAUTHIDENTITY, DomainLength, 4)
1967     TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
1968     TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 12)
1969     TEST_FIELD_SIZE  (COAUTHIDENTITY, Password, 4)
1970     TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 4)
1971     TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 16)
1972     TEST_FIELD_SIZE  (COAUTHIDENTITY, PasswordLength, 4)
1973     TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
1974     TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 20)
1975     TEST_FIELD_SIZE  (COAUTHIDENTITY, Flags, 4)
1976     TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
1977     TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 24)
1978 }
1979
1980 static void test_pack_COAUTHINFO(void)
1981 {
1982     /* COAUTHINFO */
1983     TEST_TYPE_SIZE   (COAUTHINFO, 28)
1984     TEST_TYPE_ALIGN  (COAUTHINFO, 4)
1985     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnSvc, 4)
1986     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
1987     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
1988     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthzSvc, 4)
1989     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
1990     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
1991     TEST_FIELD_SIZE  (COAUTHINFO, pwszServerPrincName, 4)
1992     TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 4)
1993     TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
1994     TEST_FIELD_SIZE  (COAUTHINFO, dwAuthnLevel, 4)
1995     TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
1996     TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 12)
1997     TEST_FIELD_SIZE  (COAUTHINFO, dwImpersonationLevel, 4)
1998     TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
1999     TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 16)
2000     TEST_FIELD_SIZE  (COAUTHINFO, pAuthIdentityData, 4)
2001     TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 4)
2002     TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 20)
2003     TEST_FIELD_SIZE  (COAUTHINFO, dwCapabilities, 4)
2004     TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
2005     TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 24)
2006 }
2007
2008 static void test_pack_DATE(void)
2009 {
2010     /* DATE */
2011     TEST_TYPE_SIZE   (DATE, 8)
2012     TEST_TYPE_ALIGN  (DATE, 8)
2013 }
2014
2015 static void test_pack_DOUBLE(void)
2016 {
2017     /* DOUBLE */
2018     TEST_TYPE_SIZE   (DOUBLE, 8)
2019     TEST_TYPE_ALIGN  (DOUBLE, 8)
2020 }
2021
2022 static void test_pack_DWORD_SIZEDARR(void)
2023 {
2024     /* DWORD_SIZEDARR */
2025     TEST_TYPE_SIZE   (DWORD_SIZEDARR, 8)
2026     TEST_TYPE_ALIGN  (DWORD_SIZEDARR, 4)
2027     TEST_FIELD_SIZE  (DWORD_SIZEDARR, clSize, 4)
2028     TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
2029     TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
2030     TEST_FIELD_SIZE  (DWORD_SIZEDARR, pData, 4)
2031     TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 4)
2032     TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 4)
2033 }
2034
2035 static void test_pack_FLAGGED_BYTE_BLOB(void)
2036 {
2037     /* FLAGGED_BYTE_BLOB */
2038     TEST_TYPE_SIZE   (FLAGGED_BYTE_BLOB, 12)
2039     TEST_TYPE_ALIGN  (FLAGGED_BYTE_BLOB, 4)
2040     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, fFlags, 4)
2041     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
2042     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
2043     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, clSize, 4)
2044     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
2045     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
2046     TEST_FIELD_SIZE  (FLAGGED_BYTE_BLOB, abData, 1)
2047     TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
2048     TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
2049 }
2050
2051 static void test_pack_FLAGGED_WORD_BLOB(void)
2052 {
2053     /* FLAGGED_WORD_BLOB */
2054     TEST_TYPE_SIZE   (FLAGGED_WORD_BLOB, 12)
2055     TEST_TYPE_ALIGN  (FLAGGED_WORD_BLOB, 4)
2056     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, fFlags, 4)
2057     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
2058     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
2059     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, clSize, 4)
2060     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
2061     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
2062     TEST_FIELD_SIZE  (FLAGGED_WORD_BLOB, asData, 2)
2063     TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
2064     TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
2065 }
2066
2067 static void test_pack_HMETAFILEPICT(void)
2068 {
2069     /* HMETAFILEPICT */
2070     TEST_TYPE_SIZE   (HMETAFILEPICT, 4)
2071     TEST_TYPE_ALIGN  (HMETAFILEPICT, 4)
2072 }
2073
2074 static void test_pack_HYPER_SIZEDARR(void)
2075 {
2076     /* HYPER_SIZEDARR */
2077     TEST_TYPE_SIZE   (HYPER_SIZEDARR, 8)
2078     TEST_TYPE_ALIGN  (HYPER_SIZEDARR, 4)
2079     TEST_FIELD_SIZE  (HYPER_SIZEDARR, clSize, 4)
2080     TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
2081     TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
2082     TEST_FIELD_SIZE  (HYPER_SIZEDARR, pData, 4)
2083     TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 4)
2084     TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 4)
2085 }
2086
2087 static void test_pack_LPBLOB(void)
2088 {
2089     /* LPBLOB */
2090     TEST_TYPE_SIZE   (LPBLOB, 4)
2091     TEST_TYPE_ALIGN  (LPBLOB, 4)
2092 }
2093
2094 static void test_pack_LPBSTR(void)
2095 {
2096     /* LPBSTR */
2097     TEST_TYPE_SIZE   (LPBSTR, 4)
2098     TEST_TYPE_ALIGN  (LPBSTR, 4)
2099     TEST_TARGET_SIZE (LPBSTR, 4)
2100     TEST_TARGET_ALIGN(LPBSTR, 4)
2101 }
2102
2103 static void test_pack_LPBSTRBLOB(void)
2104 {
2105     /* LPBSTRBLOB */
2106     TEST_TYPE_SIZE   (LPBSTRBLOB, 4)
2107     TEST_TYPE_ALIGN  (LPBSTRBLOB, 4)
2108 }
2109
2110 static void test_pack_LPCOLESTR(void)
2111 {
2112     /* LPCOLESTR */
2113     TEST_TYPE_SIZE   (LPCOLESTR, 4)
2114     TEST_TYPE_ALIGN  (LPCOLESTR, 4)
2115     TEST_TARGET_SIZE (LPCOLESTR, 2)
2116     TEST_TARGET_ALIGN(LPCOLESTR, 2)
2117 }
2118
2119 static void test_pack_LPCY(void)
2120 {
2121     /* LPCY */
2122     TEST_TYPE_SIZE   (LPCY, 4)
2123     TEST_TYPE_ALIGN  (LPCY, 4)
2124 }
2125
2126 static void test_pack_LPDECIMAL(void)
2127 {
2128     /* LPDECIMAL */
2129     TEST_TYPE_SIZE   (LPDECIMAL, 4)
2130     TEST_TYPE_ALIGN  (LPDECIMAL, 4)
2131 }
2132
2133 static void test_pack_LPOLESTR(void)
2134 {
2135     /* LPOLESTR */
2136     TEST_TYPE_SIZE   (LPOLESTR, 4)
2137     TEST_TYPE_ALIGN  (LPOLESTR, 4)
2138     TEST_TARGET_SIZE (LPOLESTR, 2)
2139     TEST_TARGET_ALIGN(LPOLESTR, 2)
2140 }
2141
2142 static void test_pack_OLECHAR(void)
2143 {
2144     /* OLECHAR */
2145     TEST_TYPE_SIZE   (OLECHAR, 2)
2146     TEST_TYPE_ALIGN  (OLECHAR, 2)
2147 }
2148
2149 static void test_pack_PROPID(void)
2150 {
2151     /* PROPID */
2152     TEST_TYPE_SIZE   (PROPID, 4)
2153     TEST_TYPE_ALIGN  (PROPID, 4)
2154 }
2155
2156 static void test_pack_RemHBITMAP(void)
2157 {
2158     /* RemHBITMAP */
2159     TEST_TYPE_SIZE   (RemHBITMAP, 8)
2160     TEST_TYPE_ALIGN  (RemHBITMAP, 4)
2161     TEST_FIELD_SIZE  (RemHBITMAP, cbData, 4)
2162     TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
2163     TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
2164     TEST_FIELD_SIZE  (RemHBITMAP, data, 1)
2165     TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
2166     TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
2167 }
2168
2169 static void test_pack_RemHENHMETAFILE(void)
2170 {
2171     /* RemHENHMETAFILE */
2172     TEST_TYPE_SIZE   (RemHENHMETAFILE, 8)
2173     TEST_TYPE_ALIGN  (RemHENHMETAFILE, 4)
2174     TEST_FIELD_SIZE  (RemHENHMETAFILE, cbData, 4)
2175     TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
2176     TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
2177     TEST_FIELD_SIZE  (RemHENHMETAFILE, data, 1)
2178     TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
2179     TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
2180 }
2181
2182 static void test_pack_RemHGLOBAL(void)
2183 {
2184     /* RemHGLOBAL */
2185     TEST_TYPE_SIZE   (RemHGLOBAL, 12)
2186     TEST_TYPE_ALIGN  (RemHGLOBAL, 4)
2187     TEST_FIELD_SIZE  (RemHGLOBAL, fNullHGlobal, 4)
2188     TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
2189     TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
2190     TEST_FIELD_SIZE  (RemHGLOBAL, cbData, 4)
2191     TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
2192     TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
2193     TEST_FIELD_SIZE  (RemHGLOBAL, data, 1)
2194     TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
2195     TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
2196 }
2197
2198 static void test_pack_RemHMETAFILEPICT(void)
2199 {
2200     /* RemHMETAFILEPICT */
2201     TEST_TYPE_SIZE   (RemHMETAFILEPICT, 20)
2202     TEST_TYPE_ALIGN  (RemHMETAFILEPICT, 4)
2203     TEST_FIELD_SIZE  (RemHMETAFILEPICT, mm, 4)
2204     TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
2205     TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
2206     TEST_FIELD_SIZE  (RemHMETAFILEPICT, xExt, 4)
2207     TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
2208     TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
2209     TEST_FIELD_SIZE  (RemHMETAFILEPICT, yExt, 4)
2210     TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
2211     TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
2212     TEST_FIELD_SIZE  (RemHMETAFILEPICT, cbData, 4)
2213     TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
2214     TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
2215     TEST_FIELD_SIZE  (RemHMETAFILEPICT, data, 1)
2216     TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
2217     TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
2218 }
2219
2220 static void test_pack_RemHPALETTE(void)
2221 {
2222     /* RemHPALETTE */
2223     TEST_TYPE_SIZE   (RemHPALETTE, 8)
2224     TEST_TYPE_ALIGN  (RemHPALETTE, 4)
2225     TEST_FIELD_SIZE  (RemHPALETTE, cbData, 4)
2226     TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
2227     TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
2228     TEST_FIELD_SIZE  (RemHPALETTE, data, 1)
2229     TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
2230     TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
2231 }
2232
2233 static void test_pack_SCODE(void)
2234 {
2235     /* SCODE */
2236     TEST_TYPE_SIZE   (SCODE, 4)
2237     TEST_TYPE_ALIGN  (SCODE, 4)
2238 }
2239
2240 static void test_pack_UP_BYTE_BLOB(void)
2241 {
2242     /* UP_BYTE_BLOB */
2243     TEST_TYPE_SIZE   (UP_BYTE_BLOB, 4)
2244     TEST_TYPE_ALIGN  (UP_BYTE_BLOB, 4)
2245     TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
2246     TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
2247 }
2248
2249 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
2250 {
2251     /* UP_FLAGGED_BYTE_BLOB */
2252     TEST_TYPE_SIZE   (UP_FLAGGED_BYTE_BLOB, 4)
2253     TEST_TYPE_ALIGN  (UP_FLAGGED_BYTE_BLOB, 4)
2254     TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
2255     TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
2256 }
2257
2258 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
2259 {
2260     /* UP_FLAGGED_WORD_BLOB */
2261     TEST_TYPE_SIZE   (UP_FLAGGED_WORD_BLOB, 4)
2262     TEST_TYPE_ALIGN  (UP_FLAGGED_WORD_BLOB, 4)
2263     TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
2264     TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
2265 }
2266
2267 static void test_pack_VARIANT_BOOL(void)
2268 {
2269     /* VARIANT_BOOL */
2270     TEST_TYPE_SIZE   (VARIANT_BOOL, 2)
2271     TEST_TYPE_ALIGN  (VARIANT_BOOL, 2)
2272     TEST_TYPE_SIGNED(VARIANT_BOOL)
2273 }
2274
2275 static void test_pack_VARTYPE(void)
2276 {
2277     /* VARTYPE */
2278     TEST_TYPE_SIZE   (VARTYPE, 2)
2279     TEST_TYPE_ALIGN  (VARTYPE, 2)
2280     TEST_TYPE_UNSIGNED(VARTYPE)
2281 }
2282
2283 static void test_pack_WORD_SIZEDARR(void)
2284 {
2285     /* WORD_SIZEDARR */
2286     TEST_TYPE_SIZE   (WORD_SIZEDARR, 8)
2287     TEST_TYPE_ALIGN  (WORD_SIZEDARR, 4)
2288     TEST_FIELD_SIZE  (WORD_SIZEDARR, clSize, 4)
2289     TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
2290     TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
2291     TEST_FIELD_SIZE  (WORD_SIZEDARR, pData, 4)
2292     TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 4)
2293     TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 4)
2294 }
2295
2296 static void test_pack_remoteMETAFILEPICT(void)
2297 {
2298     /* remoteMETAFILEPICT */
2299     TEST_TYPE_SIZE   (remoteMETAFILEPICT, 16)
2300     TEST_TYPE_ALIGN  (remoteMETAFILEPICT, 4)
2301     TEST_FIELD_SIZE  (remoteMETAFILEPICT, mm, 4)
2302     TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
2303     TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
2304     TEST_FIELD_SIZE  (remoteMETAFILEPICT, xExt, 4)
2305     TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
2306     TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
2307     TEST_FIELD_SIZE  (remoteMETAFILEPICT, yExt, 4)
2308     TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
2309     TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
2310     TEST_FIELD_SIZE  (remoteMETAFILEPICT, hMF, 4)
2311     TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 4)
2312     TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 12)
2313 }
2314
2315 static void test_pack_userBITMAP(void)
2316 {
2317     /* userBITMAP */
2318     TEST_TYPE_SIZE   (userBITMAP, 28)
2319     TEST_TYPE_ALIGN  (userBITMAP, 4)
2320     TEST_FIELD_SIZE  (userBITMAP, bmType, 4)
2321     TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
2322     TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
2323     TEST_FIELD_SIZE  (userBITMAP, bmWidth, 4)
2324     TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
2325     TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
2326     TEST_FIELD_SIZE  (userBITMAP, bmHeight, 4)
2327     TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
2328     TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
2329     TEST_FIELD_SIZE  (userBITMAP, bmWidthBytes, 4)
2330     TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
2331     TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
2332     TEST_FIELD_SIZE  (userBITMAP, bmPlanes, 2)
2333     TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
2334     TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
2335     TEST_FIELD_SIZE  (userBITMAP, bmBitsPixel, 2)
2336     TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
2337     TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
2338     TEST_FIELD_SIZE  (userBITMAP, cbSize, 4)
2339     TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
2340     TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
2341     TEST_FIELD_SIZE  (userBITMAP, pBuffer, 1)
2342     TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
2343     TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
2344 }
2345
2346 static void test_pack_userCLIPFORMAT(void)
2347 {
2348     /* userCLIPFORMAT */
2349     TEST_FIELD_SIZE  (userCLIPFORMAT, fContext, 4)
2350     TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
2351     TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
2352 }
2353
2354 static void test_pack_userHBITMAP(void)
2355 {
2356     /* userHBITMAP */
2357     TEST_FIELD_SIZE  (userHBITMAP, fContext, 4)
2358     TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
2359     TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
2360 }
2361
2362 static void test_pack_userHENHMETAFILE(void)
2363 {
2364     /* userHENHMETAFILE */
2365     TEST_FIELD_SIZE  (userHENHMETAFILE, fContext, 4)
2366     TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
2367     TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
2368 }
2369
2370 static void test_pack_userHGLOBAL(void)
2371 {
2372     /* userHGLOBAL */
2373     TEST_FIELD_SIZE  (userHGLOBAL, fContext, 4)
2374     TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
2375     TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
2376 }
2377
2378 static void test_pack_userHMETAFILE(void)
2379 {
2380     /* userHMETAFILE */
2381     TEST_FIELD_SIZE  (userHMETAFILE, fContext, 4)
2382     TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
2383     TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
2384 }
2385
2386 static void test_pack_userHMETAFILEPICT(void)
2387 {
2388     /* userHMETAFILEPICT */
2389     TEST_FIELD_SIZE  (userHMETAFILEPICT, fContext, 4)
2390     TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
2391     TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
2392 }
2393
2394 static void test_pack_userHPALETTE(void)
2395 {
2396     /* userHPALETTE */
2397     TEST_FIELD_SIZE  (userHPALETTE, fContext, 4)
2398     TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
2399     TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
2400 }
2401
2402 static void test_pack_wireBSTR(void)
2403 {
2404     /* wireBSTR */
2405     TEST_TYPE_SIZE   (wireBSTR, 4)
2406     TEST_TYPE_ALIGN  (wireBSTR, 4)
2407     TEST_TARGET_SIZE (wireBSTR, 12)
2408     TEST_TARGET_ALIGN(wireBSTR, 4)
2409 }
2410
2411 static void test_pack_wireCLIPFORMAT(void)
2412 {
2413     /* wireCLIPFORMAT */
2414     TEST_TYPE_SIZE   (wireCLIPFORMAT, 4)
2415     TEST_TYPE_ALIGN  (wireCLIPFORMAT, 4)
2416 }
2417
2418 static void test_pack_wireHBITMAP(void)
2419 {
2420     /* wireHBITMAP */
2421     TEST_TYPE_SIZE   (wireHBITMAP, 4)
2422     TEST_TYPE_ALIGN  (wireHBITMAP, 4)
2423 }
2424
2425 static void test_pack_wireHENHMETAFILE(void)
2426 {
2427     /* wireHENHMETAFILE */
2428     TEST_TYPE_SIZE   (wireHENHMETAFILE, 4)
2429     TEST_TYPE_ALIGN  (wireHENHMETAFILE, 4)
2430 }
2431
2432 static void test_pack_wireHGLOBAL(void)
2433 {
2434     /* wireHGLOBAL */
2435     TEST_TYPE_SIZE   (wireHGLOBAL, 4)
2436     TEST_TYPE_ALIGN  (wireHGLOBAL, 4)
2437 }
2438
2439 static void test_pack_wireHMETAFILE(void)
2440 {
2441     /* wireHMETAFILE */
2442     TEST_TYPE_SIZE   (wireHMETAFILE, 4)
2443     TEST_TYPE_ALIGN  (wireHMETAFILE, 4)
2444 }
2445
2446 static void test_pack_wireHMETAFILEPICT(void)
2447 {
2448     /* wireHMETAFILEPICT */
2449     TEST_TYPE_SIZE   (wireHMETAFILEPICT, 4)
2450     TEST_TYPE_ALIGN  (wireHMETAFILEPICT, 4)
2451 }
2452
2453 static void test_pack_wireHPALETTE(void)
2454 {
2455     /* wireHPALETTE */
2456     TEST_TYPE_SIZE   (wireHPALETTE, 4)
2457     TEST_TYPE_ALIGN  (wireHPALETTE, 4)
2458 }
2459
2460 static void test_pack_CLSID(void)
2461 {
2462     /* CLSID */
2463     TEST_TYPE_SIZE   (CLSID, 16)
2464     TEST_TYPE_ALIGN  (CLSID, 4)
2465 }
2466
2467 static void test_pack_FMTID(void)
2468 {
2469     /* FMTID */
2470     TEST_TYPE_SIZE   (FMTID, 16)
2471     TEST_TYPE_ALIGN  (FMTID, 4)
2472 }
2473
2474 static void test_pack_IID(void)
2475 {
2476     /* IID */
2477     TEST_TYPE_SIZE   (IID, 16)
2478     TEST_TYPE_ALIGN  (IID, 4)
2479 }
2480
2481 static void test_pack_APPBARDATA(void)
2482 {
2483     /* APPBARDATA (pack 1) */
2484     TEST_TYPE_SIZE   (APPBARDATA, 36)
2485     TEST_TYPE_ALIGN  (APPBARDATA, 1)
2486     TEST_FIELD_SIZE  (APPBARDATA, cbSize, 4)
2487     TEST_FIELD_ALIGN (APPBARDATA, cbSize, 1)
2488     TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
2489     TEST_FIELD_SIZE  (APPBARDATA, hWnd, 4)
2490     TEST_FIELD_ALIGN (APPBARDATA, hWnd, 1)
2491     TEST_FIELD_OFFSET(APPBARDATA, hWnd, 4)
2492     TEST_FIELD_SIZE  (APPBARDATA, uCallbackMessage, 4)
2493     TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 1)
2494     TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 8)
2495     TEST_FIELD_SIZE  (APPBARDATA, uEdge, 4)
2496     TEST_FIELD_ALIGN (APPBARDATA, uEdge, 1)
2497     TEST_FIELD_OFFSET(APPBARDATA, uEdge, 12)
2498     TEST_FIELD_SIZE  (APPBARDATA, rc, 16)
2499     TEST_FIELD_ALIGN (APPBARDATA, rc, 1)
2500     TEST_FIELD_OFFSET(APPBARDATA, rc, 16)
2501     TEST_FIELD_SIZE  (APPBARDATA, lParam, 4)
2502     TEST_FIELD_ALIGN (APPBARDATA, lParam, 1)
2503     TEST_FIELD_OFFSET(APPBARDATA, lParam, 32)
2504 }
2505
2506 static void test_pack_DRAGINFOA(void)
2507 {
2508     /* DRAGINFOA (pack 1) */
2509     TEST_TYPE_SIZE   (DRAGINFOA, 24)
2510     TEST_TYPE_ALIGN  (DRAGINFOA, 1)
2511     TEST_FIELD_SIZE  (DRAGINFOA, uSize, 4)
2512     TEST_FIELD_ALIGN (DRAGINFOA, uSize, 1)
2513     TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
2514     TEST_FIELD_SIZE  (DRAGINFOA, pt, 8)
2515     TEST_FIELD_ALIGN (DRAGINFOA, pt, 1)
2516     TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
2517     TEST_FIELD_SIZE  (DRAGINFOA, fNC, 4)
2518     TEST_FIELD_ALIGN (DRAGINFOA, fNC, 1)
2519     TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
2520     TEST_FIELD_SIZE  (DRAGINFOA, lpFileList, 4)
2521     TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 1)
2522     TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
2523     TEST_FIELD_SIZE  (DRAGINFOA, grfKeyState, 4)
2524     TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 1)
2525     TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 20)
2526 }
2527
2528 static void test_pack_DRAGINFOW(void)
2529 {
2530     /* DRAGINFOW (pack 1) */
2531     TEST_TYPE_SIZE   (DRAGINFOW, 24)
2532     TEST_TYPE_ALIGN  (DRAGINFOW, 1)
2533     TEST_FIELD_SIZE  (DRAGINFOW, uSize, 4)
2534     TEST_FIELD_ALIGN (DRAGINFOW, uSize, 1)
2535     TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
2536     TEST_FIELD_SIZE  (DRAGINFOW, pt, 8)
2537     TEST_FIELD_ALIGN (DRAGINFOW, pt, 1)
2538     TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
2539     TEST_FIELD_SIZE  (DRAGINFOW, fNC, 4)
2540     TEST_FIELD_ALIGN (DRAGINFOW, fNC, 1)
2541     TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
2542     TEST_FIELD_SIZE  (DRAGINFOW, lpFileList, 4)
2543     TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 1)
2544     TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
2545     TEST_FIELD_SIZE  (DRAGINFOW, grfKeyState, 4)
2546     TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 1)
2547     TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 20)
2548 }
2549
2550 static void test_pack_FILEOP_FLAGS(void)
2551 {
2552     /* FILEOP_FLAGS */
2553     TEST_TYPE_SIZE   (FILEOP_FLAGS, 2)
2554     TEST_TYPE_ALIGN  (FILEOP_FLAGS, 2)
2555     TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
2556 }
2557
2558 static void test_pack_LPDRAGINFOA(void)
2559 {
2560     /* LPDRAGINFOA */
2561     TEST_TYPE_SIZE   (LPDRAGINFOA, 4)
2562     TEST_TYPE_ALIGN  (LPDRAGINFOA, 4)
2563     TEST_TARGET_SIZE (LPDRAGINFOA, 24)
2564     TEST_TARGET_ALIGN(LPDRAGINFOA, 1)
2565 }
2566
2567 static void test_pack_LPDRAGINFOW(void)
2568 {
2569     /* LPDRAGINFOW */
2570     TEST_TYPE_SIZE   (LPDRAGINFOW, 4)
2571     TEST_TYPE_ALIGN  (LPDRAGINFOW, 4)
2572     TEST_TARGET_SIZE (LPDRAGINFOW, 24)
2573     TEST_TARGET_ALIGN(LPDRAGINFOW, 1)
2574 }
2575
2576 static void test_pack_LPSHELLEXECUTEINFOA(void)
2577 {
2578     /* LPSHELLEXECUTEINFOA */
2579     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOA, 4)
2580     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOA, 4)
2581 }
2582
2583 static void test_pack_LPSHELLEXECUTEINFOW(void)
2584 {
2585     /* LPSHELLEXECUTEINFOW */
2586     TEST_TYPE_SIZE   (LPSHELLEXECUTEINFOW, 4)
2587     TEST_TYPE_ALIGN  (LPSHELLEXECUTEINFOW, 4)
2588 }
2589
2590 static void test_pack_LPSHFILEOPSTRUCTA(void)
2591 {
2592     /* LPSHFILEOPSTRUCTA */
2593     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTA, 4)
2594     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTA, 4)
2595     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 30)
2596     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 1)
2597 }
2598
2599 static void test_pack_LPSHFILEOPSTRUCTW(void)
2600 {
2601     /* LPSHFILEOPSTRUCTW */
2602     TEST_TYPE_SIZE   (LPSHFILEOPSTRUCTW, 4)
2603     TEST_TYPE_ALIGN  (LPSHFILEOPSTRUCTW, 4)
2604     TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 30)
2605     TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 1)
2606 }
2607
2608 static void test_pack_LPSHNAMEMAPPINGA(void)
2609 {
2610     /* LPSHNAMEMAPPINGA */
2611     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGA, 4)
2612     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGA, 4)
2613     TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 16)
2614     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 1)
2615 }
2616
2617 static void test_pack_LPSHNAMEMAPPINGW(void)
2618 {
2619     /* LPSHNAMEMAPPINGW */
2620     TEST_TYPE_SIZE   (LPSHNAMEMAPPINGW, 4)
2621     TEST_TYPE_ALIGN  (LPSHNAMEMAPPINGW, 4)
2622     TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 16)
2623     TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 1)
2624 }
2625
2626 static void test_pack_NOTIFYICONDATAA(void)
2627 {
2628     /* NOTIFYICONDATAA (pack 1) */
2629     TEST_FIELD_SIZE  (NOTIFYICONDATAA, cbSize, 4)
2630     TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 1)
2631     TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
2632     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hWnd, 4)
2633     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 1)
2634     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 4)
2635     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uID, 4)
2636     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 1)
2637     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 8)
2638     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uFlags, 4)
2639     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 1)
2640     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 12)
2641     TEST_FIELD_SIZE  (NOTIFYICONDATAA, uCallbackMessage, 4)
2642     TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 1)
2643     TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 16)
2644     TEST_FIELD_SIZE  (NOTIFYICONDATAA, hIcon, 4)
2645     TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 1)
2646     TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 20)
2647     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szTip, 128)
2648     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
2649     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 24)
2650     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwState, 4)
2651     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 1)
2652     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 152)
2653     TEST_FIELD_SIZE  (NOTIFYICONDATAA, dwStateMask, 4)
2654     TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 1)
2655     TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 156)
2656     TEST_FIELD_SIZE  (NOTIFYICONDATAA, szInfo, 256)
2657     TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
2658     TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 160)
2659 }
2660
2661 static void test_pack_NOTIFYICONDATAW(void)
2662 {
2663     /* NOTIFYICONDATAW (pack 1) */
2664     TEST_FIELD_SIZE  (NOTIFYICONDATAW, cbSize, 4)
2665     TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 1)
2666     TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
2667     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hWnd, 4)
2668     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 1)
2669     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 4)
2670     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uID, 4)
2671     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 1)
2672     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 8)
2673     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uFlags, 4)
2674     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 1)
2675     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 12)
2676     TEST_FIELD_SIZE  (NOTIFYICONDATAW, uCallbackMessage, 4)
2677     TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 1)
2678     TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 16)
2679     TEST_FIELD_SIZE  (NOTIFYICONDATAW, hIcon, 4)
2680     TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 1)
2681     TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 20)
2682     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szTip, 256)
2683     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 1)
2684     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 24)
2685     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwState, 4)
2686     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 1)
2687     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 280)
2688     TEST_FIELD_SIZE  (NOTIFYICONDATAW, dwStateMask, 4)
2689     TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 1)
2690     TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 284)
2691     TEST_FIELD_SIZE  (NOTIFYICONDATAW, szInfo, 512)
2692     TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 1)
2693     TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 288)
2694 }
2695
2696 static void test_pack_PAPPBARDATA(void)
2697 {
2698     /* PAPPBARDATA */
2699     TEST_TYPE_SIZE   (PAPPBARDATA, 4)
2700     TEST_TYPE_ALIGN  (PAPPBARDATA, 4)
2701     TEST_TARGET_SIZE (PAPPBARDATA, 36)
2702     TEST_TARGET_ALIGN(PAPPBARDATA, 1)
2703 }
2704
2705 static void test_pack_PNOTIFYICONDATAA(void)
2706 {
2707     /* PNOTIFYICONDATAA */
2708     TEST_TYPE_SIZE   (PNOTIFYICONDATAA, 4)
2709     TEST_TYPE_ALIGN  (PNOTIFYICONDATAA, 4)
2710 }
2711
2712 static void test_pack_PNOTIFYICONDATAW(void)
2713 {
2714     /* PNOTIFYICONDATAW */
2715     TEST_TYPE_SIZE   (PNOTIFYICONDATAW, 4)
2716     TEST_TYPE_ALIGN  (PNOTIFYICONDATAW, 4)
2717 }
2718
2719 static void test_pack_PRINTEROP_FLAGS(void)
2720 {
2721     /* PRINTEROP_FLAGS */
2722     TEST_TYPE_SIZE   (PRINTEROP_FLAGS, 2)
2723     TEST_TYPE_ALIGN  (PRINTEROP_FLAGS, 2)
2724     TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
2725 }
2726
2727 static void test_pack_SHELLEXECUTEINFOA(void)
2728 {
2729     /* SHELLEXECUTEINFOA (pack 1) */
2730     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, cbSize, 4)
2731     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 1)
2732     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
2733     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, fMask, 4)
2734     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 1)
2735     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
2736     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hwnd, 4)
2737     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 1)
2738     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
2739     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpVerb, 4)
2740     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 1)
2741     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 12)
2742     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpFile, 4)
2743     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 1)
2744     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 16)
2745     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpParameters, 4)
2746     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 1)
2747     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 20)
2748     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpDirectory, 4)
2749     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 1)
2750     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 24)
2751     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, nShow, 4)
2752     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 1)
2753     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 28)
2754     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hInstApp, 4)
2755     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 1)
2756     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 32)
2757     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpIDList, 4)
2758     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 1)
2759     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 36)
2760     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, lpClass, 4)
2761     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 1)
2762     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 40)
2763     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, hkeyClass, 4)
2764     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 1)
2765     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 44)
2766     TEST_FIELD_SIZE  (SHELLEXECUTEINFOA, dwHotKey, 4)
2767     TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 1)
2768     TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 48)
2769 }
2770
2771 static void test_pack_SHELLEXECUTEINFOW(void)
2772 {
2773     /* SHELLEXECUTEINFOW (pack 1) */
2774     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, cbSize, 4)
2775     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 1)
2776     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
2777     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, fMask, 4)
2778     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 1)
2779     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
2780     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hwnd, 4)
2781     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 1)
2782     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
2783     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpVerb, 4)
2784     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 1)
2785     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 12)
2786     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpFile, 4)
2787     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 1)
2788     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 16)
2789     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpParameters, 4)
2790     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 1)
2791     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 20)
2792     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpDirectory, 4)
2793     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 1)
2794     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 24)
2795     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, nShow, 4)
2796     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 1)
2797     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 28)
2798     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hInstApp, 4)
2799     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 1)
2800     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 32)
2801     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpIDList, 4)
2802     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 1)
2803     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 36)
2804     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, lpClass, 4)
2805     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 1)
2806     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 40)
2807     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, hkeyClass, 4)
2808     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 1)
2809     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 44)
2810     TEST_FIELD_SIZE  (SHELLEXECUTEINFOW, dwHotKey, 4)
2811     TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 1)
2812     TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 48)
2813 }
2814
2815 static void test_pack_SHFILEINFOA(void)
2816 {
2817     /* SHFILEINFOA (pack 1) */
2818     TEST_TYPE_SIZE   (SHFILEINFOA, 352)
2819     TEST_TYPE_ALIGN  (SHFILEINFOA, 1)
2820     TEST_FIELD_SIZE  (SHFILEINFOA, hIcon, 4)
2821     TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 1)
2822     TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
2823     TEST_FIELD_SIZE  (SHFILEINFOA, iIcon, 4)
2824     TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 1)
2825     TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 4)
2826     TEST_FIELD_SIZE  (SHFILEINFOA, dwAttributes, 4)
2827     TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 1)
2828     TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 8)
2829     TEST_FIELD_SIZE  (SHFILEINFOA, szDisplayName, 260)
2830     TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
2831     TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 12)
2832     TEST_FIELD_SIZE  (SHFILEINFOA, szTypeName, 80)
2833     TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
2834     TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 272)
2835 }
2836
2837 static void test_pack_SHFILEINFOW(void)
2838 {
2839     /* SHFILEINFOW (pack 1) */
2840     TEST_TYPE_SIZE   (SHFILEINFOW, 692)
2841     TEST_TYPE_ALIGN  (SHFILEINFOW, 1)
2842     TEST_FIELD_SIZE  (SHFILEINFOW, hIcon, 4)
2843     TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 1)
2844     TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
2845     TEST_FIELD_SIZE  (SHFILEINFOW, iIcon, 4)
2846     TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 1)
2847     TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 4)
2848     TEST_FIELD_SIZE  (SHFILEINFOW, dwAttributes, 4)
2849     TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 1)
2850     TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 8)
2851     TEST_FIELD_SIZE  (SHFILEINFOW, szDisplayName, 520)
2852     TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 1)
2853     TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 12)
2854     TEST_FIELD_SIZE  (SHFILEINFOW, szTypeName, 160)
2855     TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 1)
2856     TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 532)
2857 }
2858
2859 static void test_pack_SHFILEOPSTRUCTA(void)
2860 {
2861     /* SHFILEOPSTRUCTA (pack 1) */
2862     TEST_TYPE_SIZE   (SHFILEOPSTRUCTA, 30)
2863     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTA, 1)
2864     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hwnd, 4)
2865     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 1)
2866     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
2867     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, wFunc, 4)
2868     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 1)
2869     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 4)
2870     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pFrom, 4)
2871     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 1)
2872     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 8)
2873     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, pTo, 4)
2874     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 1)
2875     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 12)
2876     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fFlags, 2)
2877     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 1)
2878     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 16)
2879     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
2880     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 1)
2881     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 18)
2882     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, hNameMappings, 4)
2883     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 1)
2884     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 22)
2885     TEST_FIELD_SIZE  (SHFILEOPSTRUCTA, lpszProgressTitle, 4)
2886     TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 1)
2887     TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 26)
2888 }
2889
2890 static void test_pack_SHFILEOPSTRUCTW(void)
2891 {
2892     /* SHFILEOPSTRUCTW (pack 1) */
2893     TEST_TYPE_SIZE   (SHFILEOPSTRUCTW, 30)
2894     TEST_TYPE_ALIGN  (SHFILEOPSTRUCTW, 1)
2895     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hwnd, 4)
2896     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 1)
2897     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
2898     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, wFunc, 4)
2899     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 1)
2900     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 4)
2901     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pFrom, 4)
2902     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 1)
2903     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 8)
2904     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, pTo, 4)
2905     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 1)
2906     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 12)
2907     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fFlags, 2)
2908     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 1)
2909     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 16)
2910     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
2911     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 1)
2912     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 18)
2913     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, hNameMappings, 4)
2914     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 1)
2915     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 22)
2916     TEST_FIELD_SIZE  (SHFILEOPSTRUCTW, lpszProgressTitle, 4)
2917     TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 1)
2918     TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 26)
2919 }
2920
2921 static void test_pack_SHNAMEMAPPINGA(void)
2922 {
2923     /* SHNAMEMAPPINGA (pack 1) */
2924     TEST_TYPE_SIZE   (SHNAMEMAPPINGA, 16)
2925     TEST_TYPE_ALIGN  (SHNAMEMAPPINGA, 1)
2926     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszOldPath, 4)
2927     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 1)
2928     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
2929     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, pszNewPath, 4)
2930     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 1)
2931     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 4)
2932     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchOldPath, 4)
2933     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 1)
2934     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 8)
2935     TEST_FIELD_SIZE  (SHNAMEMAPPINGA, cchNewPath, 4)
2936     TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 1)
2937     TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 12)
2938 }
2939
2940 static void test_pack_SHNAMEMAPPINGW(void)
2941 {
2942     /* SHNAMEMAPPINGW (pack 1) */
2943     TEST_TYPE_SIZE   (SHNAMEMAPPINGW, 16)
2944     TEST_TYPE_ALIGN  (SHNAMEMAPPINGW, 1)
2945     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszOldPath, 4)
2946     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 1)
2947     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
2948     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, pszNewPath, 4)
2949     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 1)
2950     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 4)
2951     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchOldPath, 4)
2952     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 1)
2953     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 8)
2954     TEST_FIELD_SIZE  (SHNAMEMAPPINGW, cchNewPath, 4)
2955     TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 1)
2956     TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 12)
2957 }
2958
2959 static void test_pack_ITEMIDLIST(void)
2960 {
2961     /* ITEMIDLIST (pack 1) */
2962     TEST_TYPE_SIZE   (ITEMIDLIST, 3)
2963     TEST_TYPE_ALIGN  (ITEMIDLIST, 1)
2964     TEST_FIELD_SIZE  (ITEMIDLIST, mkid, 3)
2965     TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
2966     TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
2967 }
2968
2969 static void test_pack_LPCITEMIDLIST(void)
2970 {
2971     /* LPCITEMIDLIST */
2972     TEST_TYPE_SIZE   (LPCITEMIDLIST, 4)
2973     TEST_TYPE_ALIGN  (LPCITEMIDLIST, 4)
2974     TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
2975     TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
2976 }
2977
2978 static void test_pack_LPCSHITEMID(void)
2979 {
2980     /* LPCSHITEMID */
2981     TEST_TYPE_SIZE   (LPCSHITEMID, 4)
2982     TEST_TYPE_ALIGN  (LPCSHITEMID, 4)
2983     TEST_TARGET_SIZE (LPCSHITEMID, 3)
2984     TEST_TARGET_ALIGN(LPCSHITEMID, 1)
2985 }
2986
2987 static void test_pack_LPITEMIDLIST(void)
2988 {
2989     /* LPITEMIDLIST */
2990     TEST_TYPE_SIZE   (LPITEMIDLIST, 4)
2991     TEST_TYPE_ALIGN  (LPITEMIDLIST, 4)
2992 }
2993
2994 static void test_pack_LPSHELLDETAILS(void)
2995 {
2996     /* LPSHELLDETAILS */
2997     TEST_TYPE_SIZE   (LPSHELLDETAILS, 4)
2998     TEST_TYPE_ALIGN  (LPSHELLDETAILS, 4)
2999 }
3000
3001 static void test_pack_LPSHITEMID(void)
3002 {
3003     /* LPSHITEMID */
3004     TEST_TYPE_SIZE   (LPSHITEMID, 4)
3005     TEST_TYPE_ALIGN  (LPSHITEMID, 4)
3006 }
3007
3008 static void test_pack_LPSTRRET(void)
3009 {
3010     /* LPSTRRET */
3011     TEST_TYPE_SIZE   (LPSTRRET, 4)
3012     TEST_TYPE_ALIGN  (LPSTRRET, 4)
3013 }
3014
3015 static void test_pack_SHELLDETAILS(void)
3016 {
3017     /* SHELLDETAILS (pack 1) */
3018     TEST_FIELD_SIZE  (SHELLDETAILS, fmt, 4)
3019     TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
3020     TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
3021     TEST_FIELD_SIZE  (SHELLDETAILS, cxChar, 4)
3022     TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
3023     TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
3024 }
3025
3026 static void test_pack_SHITEMID(void)
3027 {
3028     /* SHITEMID (pack 1) */
3029     TEST_TYPE_SIZE   (SHITEMID, 3)
3030     TEST_TYPE_ALIGN  (SHITEMID, 1)
3031     TEST_FIELD_SIZE  (SHITEMID, cb, 2)
3032     TEST_FIELD_ALIGN (SHITEMID, cb, 1)
3033     TEST_FIELD_OFFSET(SHITEMID, cb, 0)
3034     TEST_FIELD_SIZE  (SHITEMID, abID, 1)
3035     TEST_FIELD_ALIGN (SHITEMID, abID, 1)
3036     TEST_FIELD_OFFSET(SHITEMID, abID, 2)
3037 }
3038
3039 static void test_pack_STRRET(void)
3040 {
3041     /* STRRET (pack 8) */
3042     TEST_FIELD_SIZE  (STRRET, uType, 4)
3043     TEST_FIELD_ALIGN (STRRET, uType, 4)
3044     TEST_FIELD_OFFSET(STRRET, uType, 0)
3045 }
3046
3047 static void test_pack_AUTO_SCROLL_DATA(void)
3048 {
3049     /* AUTO_SCROLL_DATA (pack 1) */
3050     TEST_TYPE_SIZE   (AUTO_SCROLL_DATA, 48)
3051     TEST_TYPE_ALIGN  (AUTO_SCROLL_DATA, 1)
3052     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, iNextSample, 4)
3053     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
3054     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
3055     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwLastScroll, 4)
3056     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
3057     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
3058     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, bFull, 4)
3059     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
3060     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
3061     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, pts, 24)
3062     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
3063     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
3064     TEST_FIELD_SIZE  (AUTO_SCROLL_DATA, dwTimes, 12)
3065     TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
3066     TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
3067 }
3068
3069 static void test_pack_BFFCALLBACK(void)
3070 {
3071     /* BFFCALLBACK */
3072     TEST_TYPE_SIZE   (BFFCALLBACK, 4)
3073     TEST_TYPE_ALIGN  (BFFCALLBACK, 4)
3074 }
3075
3076 static void test_pack_BROWSEINFOA(void)
3077 {
3078     /* BROWSEINFOA (pack 8) */
3079     TEST_TYPE_SIZE   (BROWSEINFOA, 32)
3080     TEST_TYPE_ALIGN  (BROWSEINFOA, 4)
3081     TEST_FIELD_SIZE  (BROWSEINFOA, hwndOwner, 4)
3082     TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 4)
3083     TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
3084     TEST_FIELD_SIZE  (BROWSEINFOA, pidlRoot, 4)
3085     TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 4)
3086     TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 4)
3087     TEST_FIELD_SIZE  (BROWSEINFOA, pszDisplayName, 4)
3088     TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 4)
3089     TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 8)
3090     TEST_FIELD_SIZE  (BROWSEINFOA, lpszTitle, 4)
3091     TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 4)
3092     TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 12)
3093     TEST_FIELD_SIZE  (BROWSEINFOA, ulFlags, 4)
3094     TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
3095     TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 16)
3096     TEST_FIELD_SIZE  (BROWSEINFOA, lpfn, 4)
3097     TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 4)
3098     TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 20)
3099     TEST_FIELD_SIZE  (BROWSEINFOA, lParam, 4)
3100     TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 4)
3101     TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 24)
3102     TEST_FIELD_SIZE  (BROWSEINFOA, iImage, 4)
3103     TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
3104     TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 28)
3105 }
3106
3107 static void test_pack_BROWSEINFOW(void)
3108 {
3109     /* BROWSEINFOW (pack 8) */
3110     TEST_TYPE_SIZE   (BROWSEINFOW, 32)
3111     TEST_TYPE_ALIGN  (BROWSEINFOW, 4)
3112     TEST_FIELD_SIZE  (BROWSEINFOW, hwndOwner, 4)
3113     TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 4)
3114     TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
3115     TEST_FIELD_SIZE  (BROWSEINFOW, pidlRoot, 4)
3116     TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 4)
3117     TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 4)
3118     TEST_FIELD_SIZE  (BROWSEINFOW, pszDisplayName, 4)
3119     TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 4)
3120     TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 8)
3121     TEST_FIELD_SIZE  (BROWSEINFOW, lpszTitle, 4)
3122     TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 4)
3123     TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 12)
3124     TEST_FIELD_SIZE  (BROWSEINFOW, ulFlags, 4)
3125     TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
3126     TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 16)
3127     TEST_FIELD_SIZE  (BROWSEINFOW, lpfn, 4)
3128     TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 4)
3129     TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 20)
3130     TEST_FIELD_SIZE  (BROWSEINFOW, lParam, 4)
3131     TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 4)
3132     TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 24)
3133     TEST_FIELD_SIZE  (BROWSEINFOW, iImage, 4)
3134     TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
3135     TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 28)
3136 }
3137
3138 static void test_pack_CABINETSTATE(void)
3139 {
3140     /* CABINETSTATE (pack 1) */
3141     TEST_TYPE_SIZE   (CABINETSTATE, 12)
3142     TEST_TYPE_ALIGN  (CABINETSTATE, 1)
3143     TEST_FIELD_SIZE  (CABINETSTATE, cLength, 2)
3144     TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
3145     TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
3146     TEST_FIELD_SIZE  (CABINETSTATE, nVersion, 2)
3147     TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
3148     TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
3149     TEST_FIELD_SIZE  (CABINETSTATE, fMenuEnumFilter, 4)
3150     TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
3151     TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
3152 }
3153
3154 static void test_pack_CIDA(void)
3155 {
3156     /* CIDA (pack 1) */
3157     TEST_TYPE_SIZE   (CIDA, 8)
3158     TEST_TYPE_ALIGN  (CIDA, 1)
3159     TEST_FIELD_SIZE  (CIDA, cidl, 4)
3160     TEST_FIELD_ALIGN (CIDA, cidl, 1)
3161     TEST_FIELD_OFFSET(CIDA, cidl, 0)
3162     TEST_FIELD_SIZE  (CIDA, aoffset, 4)
3163     TEST_FIELD_ALIGN (CIDA, aoffset, 1)
3164     TEST_FIELD_OFFSET(CIDA, aoffset, 4)
3165 }
3166
3167 static void test_pack_CSFV(void)
3168 {
3169     /* CSFV (pack 1) */
3170     TEST_FIELD_SIZE  (CSFV, cbSize, 4)
3171     TEST_FIELD_ALIGN (CSFV, cbSize, 1)
3172     TEST_FIELD_OFFSET(CSFV, cbSize, 0)
3173     TEST_FIELD_SIZE  (CSFV, pshf, 4)
3174     TEST_FIELD_ALIGN (CSFV, pshf, 1)
3175     TEST_FIELD_OFFSET(CSFV, pshf, 4)
3176     TEST_FIELD_SIZE  (CSFV, psvOuter, 4)
3177     TEST_FIELD_ALIGN (CSFV, psvOuter, 1)
3178     TEST_FIELD_OFFSET(CSFV, psvOuter, 8)
3179     TEST_FIELD_SIZE  (CSFV, pidl, 4)
3180     TEST_FIELD_ALIGN (CSFV, pidl, 1)
3181     TEST_FIELD_OFFSET(CSFV, pidl, 12)
3182     TEST_FIELD_SIZE  (CSFV, lEvents, 4)
3183     TEST_FIELD_ALIGN (CSFV, lEvents, 1)
3184     TEST_FIELD_OFFSET(CSFV, lEvents, 16)
3185     TEST_FIELD_SIZE  (CSFV, pfnCallback, 4)
3186     TEST_FIELD_ALIGN (CSFV, pfnCallback, 1)
3187     TEST_FIELD_OFFSET(CSFV, pfnCallback, 20)
3188 }
3189
3190 static void test_pack_DROPFILES(void)
3191 {
3192     /* DROPFILES (pack 1) */
3193     TEST_TYPE_SIZE   (DROPFILES, 20)
3194     TEST_TYPE_ALIGN  (DROPFILES, 1)
3195     TEST_FIELD_SIZE  (DROPFILES, pFiles, 4)
3196     TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
3197     TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
3198     TEST_FIELD_SIZE  (DROPFILES, pt, 8)
3199     TEST_FIELD_ALIGN (DROPFILES, pt, 1)
3200     TEST_FIELD_OFFSET(DROPFILES, pt, 4)
3201     TEST_FIELD_SIZE  (DROPFILES, fNC, 4)
3202     TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
3203     TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
3204     TEST_FIELD_SIZE  (DROPFILES, fWide, 4)
3205     TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
3206     TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
3207 }
3208
3209 static void test_pack_FILEDESCRIPTORA(void)
3210 {
3211     /* FILEDESCRIPTORA (pack 1) */
3212     TEST_TYPE_SIZE   (FILEDESCRIPTORA, 332)
3213     TEST_TYPE_ALIGN  (FILEDESCRIPTORA, 1)
3214     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFlags, 4)
3215     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
3216     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
3217     TEST_FIELD_SIZE  (FILEDESCRIPTORA, clsid, 16)
3218     TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
3219     TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
3220     TEST_FIELD_SIZE  (FILEDESCRIPTORA, sizel, 8)
3221     TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
3222     TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
3223     TEST_FIELD_SIZE  (FILEDESCRIPTORA, pointl, 8)
3224     TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
3225     TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
3226     TEST_FIELD_SIZE  (FILEDESCRIPTORA, dwFileAttributes, 4)
3227     TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
3228     TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
3229     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftCreationTime, 8)
3230     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
3231     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
3232     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastAccessTime, 8)
3233     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
3234     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
3235     TEST_FIELD_SIZE  (FILEDESCRIPTORA, ftLastWriteTime, 8)
3236     TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
3237     TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
3238     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeHigh, 4)
3239     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
3240     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
3241     TEST_FIELD_SIZE  (FILEDESCRIPTORA, nFileSizeLow, 4)
3242     TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
3243     TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
3244     TEST_FIELD_SIZE  (FILEDESCRIPTORA, cFileName, 260)
3245     TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
3246     TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
3247 }
3248
3249 static void test_pack_FILEDESCRIPTORW(void)
3250 {
3251     /* FILEDESCRIPTORW (pack 1) */
3252     TEST_TYPE_SIZE   (FILEDESCRIPTORW, 592)
3253     TEST_TYPE_ALIGN  (FILEDESCRIPTORW, 1)
3254     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFlags, 4)
3255     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
3256     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
3257     TEST_FIELD_SIZE  (FILEDESCRIPTORW, clsid, 16)
3258     TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
3259     TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
3260     TEST_FIELD_SIZE  (FILEDESCRIPTORW, sizel, 8)
3261     TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
3262     TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
3263     TEST_FIELD_SIZE  (FILEDESCRIPTORW, pointl, 8)
3264     TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
3265     TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
3266     TEST_FIELD_SIZE  (FILEDESCRIPTORW, dwFileAttributes, 4)
3267     TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
3268     TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
3269     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftCreationTime, 8)
3270     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
3271     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
3272     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastAccessTime, 8)
3273     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
3274     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
3275     TEST_FIELD_SIZE  (FILEDESCRIPTORW, ftLastWriteTime, 8)
3276     TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
3277     TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
3278     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeHigh, 4)
3279     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
3280     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
3281     TEST_FIELD_SIZE  (FILEDESCRIPTORW, nFileSizeLow, 4)
3282     TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
3283     TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
3284     TEST_FIELD_SIZE  (FILEDESCRIPTORW, cFileName, 520)
3285     TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
3286     TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
3287 }
3288
3289 static void test_pack_FILEGROUPDESCRIPTORA(void)
3290 {
3291     /* FILEGROUPDESCRIPTORA (pack 1) */
3292     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORA, 336)
3293     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORA, 1)
3294     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, cItems, 4)
3295     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
3296     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
3297     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORA, fgd, 332)
3298     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
3299     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
3300 }
3301
3302 static void test_pack_FILEGROUPDESCRIPTORW(void)
3303 {
3304     /* FILEGROUPDESCRIPTORW (pack 1) */
3305     TEST_TYPE_SIZE   (FILEGROUPDESCRIPTORW, 596)
3306     TEST_TYPE_ALIGN  (FILEGROUPDESCRIPTORW, 1)
3307     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, cItems, 4)
3308     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
3309     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
3310     TEST_FIELD_SIZE  (FILEGROUPDESCRIPTORW, fgd, 592)
3311     TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
3312     TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
3313 }
3314
3315 static void test_pack_LPBROWSEINFOA(void)
3316 {
3317     /* LPBROWSEINFOA */
3318     TEST_TYPE_SIZE   (LPBROWSEINFOA, 4)
3319     TEST_TYPE_ALIGN  (LPBROWSEINFOA, 4)
3320     TEST_TARGET_SIZE (LPBROWSEINFOA, 32)
3321     TEST_TARGET_ALIGN(LPBROWSEINFOA, 4)
3322 }
3323
3324 static void test_pack_LPBROWSEINFOW(void)
3325 {
3326     /* LPBROWSEINFOW */
3327     TEST_TYPE_SIZE   (LPBROWSEINFOW, 4)
3328     TEST_TYPE_ALIGN  (LPBROWSEINFOW, 4)
3329     TEST_TARGET_SIZE (LPBROWSEINFOW, 32)
3330     TEST_TARGET_ALIGN(LPBROWSEINFOW, 4)
3331 }
3332
3333 static void test_pack_LPCABINETSTATE(void)
3334 {
3335     /* LPCABINETSTATE */
3336     TEST_TYPE_SIZE   (LPCABINETSTATE, 4)
3337     TEST_TYPE_ALIGN  (LPCABINETSTATE, 4)
3338     TEST_TARGET_SIZE (LPCABINETSTATE, 12)
3339     TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
3340 }
3341
3342 static void test_pack_LPCSFV(void)
3343 {
3344     /* LPCSFV */
3345     TEST_TYPE_SIZE   (LPCSFV, 4)
3346     TEST_TYPE_ALIGN  (LPCSFV, 4)
3347 }
3348
3349 static void test_pack_LPDROPFILES(void)
3350 {
3351     /* LPDROPFILES */
3352     TEST_TYPE_SIZE   (LPDROPFILES, 4)
3353     TEST_TYPE_ALIGN  (LPDROPFILES, 4)
3354     TEST_TARGET_SIZE (LPDROPFILES, 20)
3355     TEST_TARGET_ALIGN(LPDROPFILES, 1)
3356 }
3357
3358 static void test_pack_LPFILEDESCRIPTORA(void)
3359 {
3360     /* LPFILEDESCRIPTORA */
3361     TEST_TYPE_SIZE   (LPFILEDESCRIPTORA, 4)
3362     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORA, 4)
3363     TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
3364     TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
3365 }
3366
3367 static void test_pack_LPFILEDESCRIPTORW(void)
3368 {
3369     /* LPFILEDESCRIPTORW */
3370     TEST_TYPE_SIZE   (LPFILEDESCRIPTORW, 4)
3371     TEST_TYPE_ALIGN  (LPFILEDESCRIPTORW, 4)
3372     TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
3373     TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
3374 }
3375
3376 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
3377 {
3378     /* LPFILEGROUPDESCRIPTORA */
3379     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORA, 4)
3380     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORA, 4)
3381     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
3382     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
3383 }
3384
3385 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
3386 {
3387     /* LPFILEGROUPDESCRIPTORW */
3388     TEST_TYPE_SIZE   (LPFILEGROUPDESCRIPTORW, 4)
3389     TEST_TYPE_ALIGN  (LPFILEGROUPDESCRIPTORW, 4)
3390     TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
3391     TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
3392 }
3393
3394 static void test_pack_LPFNVIEWCALLBACK(void)
3395 {
3396     /* LPFNVIEWCALLBACK */
3397     TEST_TYPE_SIZE   (LPFNVIEWCALLBACK, 4)
3398     TEST_TYPE_ALIGN  (LPFNVIEWCALLBACK, 4)
3399 }
3400
3401 static void test_pack_LPIDA(void)
3402 {
3403     /* LPIDA */
3404     TEST_TYPE_SIZE   (LPIDA, 4)
3405     TEST_TYPE_ALIGN  (LPIDA, 4)
3406     TEST_TARGET_SIZE (LPIDA, 8)
3407     TEST_TARGET_ALIGN(LPIDA, 1)
3408 }
3409
3410 static void test_pack_LPQCMINFO(void)
3411 {
3412     /* LPQCMINFO */
3413     TEST_TYPE_SIZE   (LPQCMINFO, 4)
3414     TEST_TYPE_ALIGN  (LPQCMINFO, 4)
3415     TEST_TARGET_SIZE (LPQCMINFO, 20)
3416     TEST_TARGET_ALIGN(LPQCMINFO, 4)
3417 }
3418
3419 static void test_pack_LPSHChangeDWORDAsIDList(void)
3420 {
3421     /* LPSHChangeDWORDAsIDList */
3422     TEST_TYPE_SIZE   (LPSHChangeDWORDAsIDList, 4)
3423     TEST_TYPE_ALIGN  (LPSHChangeDWORDAsIDList, 4)
3424     TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
3425     TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
3426 }
3427
3428 static void test_pack_LPSHChangeProductKeyAsIDList(void)
3429 {
3430     /* LPSHChangeProductKeyAsIDList */
3431     TEST_TYPE_SIZE   (LPSHChangeProductKeyAsIDList, 4)
3432     TEST_TYPE_ALIGN  (LPSHChangeProductKeyAsIDList, 4)
3433     TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
3434     TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
3435 }
3436
3437 static void test_pack_LPSHDESCRIPTIONID(void)
3438 {
3439     /* LPSHDESCRIPTIONID */
3440     TEST_TYPE_SIZE   (LPSHDESCRIPTIONID, 4)
3441     TEST_TYPE_ALIGN  (LPSHDESCRIPTIONID, 4)
3442     TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
3443     TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
3444 }
3445
3446 static void test_pack_LPSHELLFLAGSTATE(void)
3447 {
3448     /* LPSHELLFLAGSTATE */
3449     TEST_TYPE_SIZE   (LPSHELLFLAGSTATE, 4)
3450     TEST_TYPE_ALIGN  (LPSHELLFLAGSTATE, 4)
3451     TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
3452     TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
3453 }
3454
3455 static void test_pack_LPSHELLSTATE(void)
3456 {
3457     /* LPSHELLSTATE */
3458     TEST_TYPE_SIZE   (LPSHELLSTATE, 4)
3459     TEST_TYPE_ALIGN  (LPSHELLSTATE, 4)
3460     TEST_TARGET_SIZE (LPSHELLSTATE, 32)
3461     TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
3462 }
3463
3464 static void test_pack_LPTBINFO(void)
3465 {
3466     /* LPTBINFO */
3467     TEST_TYPE_SIZE   (LPTBINFO, 4)
3468     TEST_TYPE_ALIGN  (LPTBINFO, 4)
3469     TEST_TARGET_SIZE (LPTBINFO, 8)
3470     TEST_TARGET_ALIGN(LPTBINFO, 4)
3471 }
3472
3473 static void test_pack_PBROWSEINFOA(void)
3474 {
3475     /* PBROWSEINFOA */
3476     TEST_TYPE_SIZE   (PBROWSEINFOA, 4)
3477     TEST_TYPE_ALIGN  (PBROWSEINFOA, 4)
3478     TEST_TARGET_SIZE (PBROWSEINFOA, 32)
3479     TEST_TARGET_ALIGN(PBROWSEINFOA, 4)
3480 }
3481
3482 static void test_pack_PBROWSEINFOW(void)
3483 {
3484     /* PBROWSEINFOW */
3485     TEST_TYPE_SIZE   (PBROWSEINFOW, 4)
3486     TEST_TYPE_ALIGN  (PBROWSEINFOW, 4)
3487     TEST_TARGET_SIZE (PBROWSEINFOW, 32)
3488     TEST_TARGET_ALIGN(PBROWSEINFOW, 4)
3489 }
3490
3491 static void test_pack_QCMINFO(void)
3492 {
3493     /* QCMINFO (pack 8) */
3494     TEST_TYPE_SIZE   (QCMINFO, 20)
3495     TEST_TYPE_ALIGN  (QCMINFO, 4)
3496     TEST_FIELD_SIZE  (QCMINFO, hmenu, 4)
3497     TEST_FIELD_ALIGN (QCMINFO, hmenu, 4)
3498     TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
3499     TEST_FIELD_SIZE  (QCMINFO, indexMenu, 4)
3500     TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
3501     TEST_FIELD_OFFSET(QCMINFO, indexMenu, 4)
3502     TEST_FIELD_SIZE  (QCMINFO, idCmdFirst, 4)
3503     TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
3504     TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 8)
3505     TEST_FIELD_SIZE  (QCMINFO, idCmdLast, 4)
3506     TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
3507     TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 12)
3508     TEST_FIELD_SIZE  (QCMINFO, pIdMap, 4)
3509     TEST_FIELD_ALIGN (QCMINFO, pIdMap, 4)
3510     TEST_FIELD_OFFSET(QCMINFO, pIdMap, 16)
3511 }
3512
3513 static void test_pack_QCMINFO_IDMAP(void)
3514 {
3515     /* QCMINFO_IDMAP (pack 8) */
3516     TEST_TYPE_SIZE   (QCMINFO_IDMAP, 12)
3517     TEST_TYPE_ALIGN  (QCMINFO_IDMAP, 4)
3518     TEST_FIELD_SIZE  (QCMINFO_IDMAP, nMaxIds, 4)
3519     TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
3520     TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
3521     TEST_FIELD_SIZE  (QCMINFO_IDMAP, pIdList, 8)
3522     TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
3523     TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
3524 }
3525
3526 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
3527 {
3528     /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
3529     TEST_TYPE_SIZE   (QCMINFO_IDMAP_PLACEMENT, 8)
3530     TEST_TYPE_ALIGN  (QCMINFO_IDMAP_PLACEMENT, 4)
3531     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, id, 4)
3532     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
3533     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
3534     TEST_FIELD_SIZE  (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3535     TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3536     TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
3537 }
3538
3539 static void test_pack_SHChangeDWORDAsIDList(void)
3540 {
3541     /* SHChangeDWORDAsIDList (pack 1) */
3542     TEST_TYPE_SIZE   (SHChangeDWORDAsIDList, 12)
3543     TEST_TYPE_ALIGN  (SHChangeDWORDAsIDList, 1)
3544     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cb, 2)
3545     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
3546     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
3547     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem1, 4)
3548     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
3549     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
3550     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, dwItem2, 4)
3551     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
3552     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
3553     TEST_FIELD_SIZE  (SHChangeDWORDAsIDList, cbZero, 2)
3554     TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
3555     TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
3556 }
3557
3558 static void test_pack_SHChangeNotifyEntry(void)
3559 {
3560     /* SHChangeNotifyEntry (pack 1) */
3561     TEST_TYPE_SIZE   (SHChangeNotifyEntry, 8)
3562     TEST_TYPE_ALIGN  (SHChangeNotifyEntry, 1)
3563     TEST_FIELD_SIZE  (SHChangeNotifyEntry, pidl, 4)
3564     TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
3565     TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
3566     TEST_FIELD_SIZE  (SHChangeNotifyEntry, fRecursive, 4)
3567     TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
3568     TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 4)
3569 }
3570
3571 static void test_pack_SHChangeProductKeyAsIDList(void)
3572 {
3573     /* SHChangeProductKeyAsIDList (pack 1) */
3574     TEST_TYPE_SIZE   (SHChangeProductKeyAsIDList, 82)
3575     TEST_TYPE_ALIGN  (SHChangeProductKeyAsIDList, 1)
3576     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cb, 2)
3577     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
3578     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
3579     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, wszProductKey, 78)
3580     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
3581     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
3582     TEST_FIELD_SIZE  (SHChangeProductKeyAsIDList, cbZero, 2)
3583     TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
3584     TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
3585 }
3586
3587 static void test_pack_SHDESCRIPTIONID(void)
3588 {
3589     /* SHDESCRIPTIONID (pack 8) */
3590     TEST_TYPE_SIZE   (SHDESCRIPTIONID, 20)
3591     TEST_TYPE_ALIGN  (SHDESCRIPTIONID, 4)
3592     TEST_FIELD_SIZE  (SHDESCRIPTIONID, dwDescriptionId, 4)
3593     TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
3594     TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
3595     TEST_FIELD_SIZE  (SHDESCRIPTIONID, clsid, 16)
3596     TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
3597     TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
3598 }
3599
3600 static void test_pack_SHELLFLAGSTATE(void)
3601 {
3602     /* SHELLFLAGSTATE (pack 1) */
3603     TEST_TYPE_SIZE   (SHELLFLAGSTATE, 4)
3604     TEST_TYPE_ALIGN  (SHELLFLAGSTATE, 1)
3605 }
3606
3607 static void test_pack_SHELLSTATE(void)
3608 {
3609     /* SHELLSTATE (pack 1) */
3610     TEST_TYPE_SIZE   (SHELLSTATE, 32)
3611     TEST_TYPE_ALIGN  (SHELLSTATE, 1)
3612     TEST_FIELD_SIZE  (SHELLSTATE, dwWin95Unused, 4)
3613     TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
3614     TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
3615     TEST_FIELD_SIZE  (SHELLSTATE, uWin95Unused, 4)
3616     TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
3617     TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
3618     TEST_FIELD_SIZE  (SHELLSTATE, lParamSort, 4)
3619     TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
3620     TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
3621     TEST_FIELD_SIZE  (SHELLSTATE, iSortDirection, 4)
3622     TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
3623     TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
3624     TEST_FIELD_SIZE  (SHELLSTATE, version, 4)
3625     TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
3626     TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
3627     TEST_FIELD_SIZE  (SHELLSTATE, uNotUsed, 4)
3628     TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
3629     TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
3630 }
3631
3632 static void test_pack_TBINFO(void)
3633 {
3634     /* TBINFO (pack 8) */
3635     TEST_TYPE_SIZE   (TBINFO, 8)
3636     TEST_TYPE_ALIGN  (TBINFO, 4)
3637     TEST_FIELD_SIZE  (TBINFO, cbuttons, 4)
3638     TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
3639     TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
3640     TEST_FIELD_SIZE  (TBINFO, uFlags, 4)
3641     TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
3642     TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
3643 }
3644
3645 #endif /* _WIN64 */
3646
3647 static void test_pack(void)
3648 {
3649     test_pack_APPBARDATA();
3650     test_pack_AUTO_SCROLL_DATA();
3651     test_pack_BFFCALLBACK();
3652     test_pack_BLOB();
3653     test_pack_BROWSEINFOA();
3654     test_pack_BROWSEINFOW();
3655     test_pack_BSTR();
3656     test_pack_BSTRBLOB();
3657     test_pack_BYTE_BLOB();
3658     test_pack_BYTE_SIZEDARR();
3659     test_pack_CABINETSTATE();
3660     test_pack_CIDA();
3661     test_pack_CLIPDATA();
3662     test_pack_CLIPFORMAT();
3663     test_pack_CLSID();
3664     test_pack_COAUTHIDENTITY();
3665     test_pack_COAUTHINFO();
3666     test_pack_CSFV();
3667     test_pack_DATE();
3668     test_pack_DOUBLE();
3669     test_pack_DRAGINFOA();
3670     test_pack_DRAGINFOW();
3671     test_pack_DROPFILES();
3672     test_pack_DWORD_SIZEDARR();
3673     test_pack_FILEDESCRIPTORA();
3674     test_pack_FILEDESCRIPTORW();
3675     test_pack_FILEGROUPDESCRIPTORA();
3676     test_pack_FILEGROUPDESCRIPTORW();
3677     test_pack_FILEOP_FLAGS();
3678     test_pack_FLAGGED_BYTE_BLOB();
3679     test_pack_FLAGGED_WORD_BLOB();
3680     test_pack_FMTID();
3681     test_pack_HMETAFILEPICT();
3682     test_pack_HYPER_SIZEDARR();
3683     test_pack_IID();
3684     test_pack_ITEMIDLIST();
3685     test_pack_LPBLOB();
3686     test_pack_LPBROWSEINFOA();
3687     test_pack_LPBROWSEINFOW();
3688     test_pack_LPBSTR();
3689     test_pack_LPBSTRBLOB();
3690     test_pack_LPCABINETSTATE();
3691     test_pack_LPCITEMIDLIST();
3692     test_pack_LPCOLESTR();
3693     test_pack_LPCSFV();
3694     test_pack_LPCSHITEMID();
3695     test_pack_LPCY();
3696     test_pack_LPDECIMAL();
3697     test_pack_LPDRAGINFOA();
3698     test_pack_LPDRAGINFOW();
3699     test_pack_LPDROPFILES();
3700     test_pack_LPFILEDESCRIPTORA();
3701     test_pack_LPFILEDESCRIPTORW();
3702     test_pack_LPFILEGROUPDESCRIPTORA();
3703     test_pack_LPFILEGROUPDESCRIPTORW();
3704     test_pack_LPFNVIEWCALLBACK();
3705     test_pack_LPIDA();
3706     test_pack_LPITEMIDLIST();
3707     test_pack_LPOLESTR();
3708     test_pack_LPQCMINFO();
3709     test_pack_LPSHChangeDWORDAsIDList();
3710     test_pack_LPSHChangeProductKeyAsIDList();
3711     test_pack_LPSHDESCRIPTIONID();
3712     test_pack_LPSHELLDETAILS();
3713     test_pack_LPSHELLEXECUTEINFOA();
3714     test_pack_LPSHELLEXECUTEINFOW();
3715     test_pack_LPSHELLFLAGSTATE();
3716     test_pack_LPSHELLSTATE();
3717     test_pack_LPSHFILEOPSTRUCTA();
3718     test_pack_LPSHFILEOPSTRUCTW();
3719     test_pack_LPSHITEMID();
3720     test_pack_LPSHNAMEMAPPINGA();
3721     test_pack_LPSHNAMEMAPPINGW();
3722     test_pack_LPSTRRET();
3723     test_pack_LPTBINFO();
3724     test_pack_NOTIFYICONDATAA();
3725     test_pack_NOTIFYICONDATAW();
3726     test_pack_OLECHAR();
3727     test_pack_PAPPBARDATA();
3728     test_pack_PBROWSEINFOA();
3729     test_pack_PBROWSEINFOW();
3730     test_pack_PNOTIFYICONDATAA();
3731     test_pack_PNOTIFYICONDATAW();
3732     test_pack_PRINTEROP_FLAGS();
3733     test_pack_PROPID();
3734     test_pack_QCMINFO();
3735     test_pack_QCMINFO_IDMAP();
3736     test_pack_QCMINFO_IDMAP_PLACEMENT();
3737     test_pack_RemHBITMAP();
3738     test_pack_RemHENHMETAFILE();
3739     test_pack_RemHGLOBAL();
3740     test_pack_RemHMETAFILEPICT();
3741     test_pack_RemHPALETTE();
3742     test_pack_SCODE();
3743     test_pack_SHChangeDWORDAsIDList();
3744     test_pack_SHChangeNotifyEntry();
3745     test_pack_SHChangeProductKeyAsIDList();
3746     test_pack_SHDESCRIPTIONID();
3747     test_pack_SHELLDETAILS();
3748     test_pack_SHELLEXECUTEINFOA();
3749     test_pack_SHELLEXECUTEINFOW();
3750     test_pack_SHELLFLAGSTATE();
3751     test_pack_SHELLSTATE();
3752     test_pack_SHFILEINFOA();
3753     test_pack_SHFILEINFOW();
3754     test_pack_SHFILEOPSTRUCTA();
3755     test_pack_SHFILEOPSTRUCTW();
3756     test_pack_SHITEMID();
3757     test_pack_SHNAMEMAPPINGA();
3758     test_pack_SHNAMEMAPPINGW();
3759     test_pack_STRRET();
3760     test_pack_TBINFO();
3761     test_pack_UP_BYTE_BLOB();
3762     test_pack_UP_FLAGGED_BYTE_BLOB();
3763     test_pack_UP_FLAGGED_WORD_BLOB();
3764     test_pack_VARIANT_BOOL();
3765     test_pack_VARTYPE();
3766     test_pack_WORD_SIZEDARR();
3767     test_pack_remoteMETAFILEPICT();
3768     test_pack_userBITMAP();
3769     test_pack_userCLIPFORMAT();
3770     test_pack_userHBITMAP();
3771     test_pack_userHENHMETAFILE();
3772     test_pack_userHGLOBAL();
3773     test_pack_userHMETAFILE();
3774     test_pack_userHMETAFILEPICT();
3775     test_pack_userHPALETTE();
3776     test_pack_wireBSTR();
3777     test_pack_wireCLIPFORMAT();
3778     test_pack_wireHBITMAP();
3779     test_pack_wireHENHMETAFILE();
3780     test_pack_wireHGLOBAL();
3781     test_pack_wireHMETAFILE();
3782     test_pack_wireHMETAFILEPICT();
3783     test_pack_wireHPALETTE();
3784 }
3785
3786 START_TEST(generated)
3787 {
3788     test_pack();
3789 }