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