Remove unnecessary executable bits
[reactos.git] / modules / rostests / winetests / shell32 / generated.c
1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5 * Unit tests for data structure packing
6 */
7
8 #ifndef __REACTOS__
9 #define WINVER 0x0501
10 #define _WIN32_IE 0x0501
11 #define _WIN32_WINNT 0x0501
12 #endif
13
14 #define WINE_NOWINSOCK
15
16 #include <stdarg.h>
17 #include "windef.h"
18 #include "winbase.h"
19 #include "wtypes.h"
20 #include "shellapi.h"
21 #include "winuser.h"
22 #include "wingdi.h"
23 #include "shlobj.h"
24
25 #include "wine/test.h"
26
27 /***********************************************************************
28 * Compatibility macros
29 */
30
31 #define DWORD_PTR UINT_PTR
32 #define LONG_PTR INT_PTR
33 #define ULONG_PTR UINT_PTR
34
35 /***********************************************************************
36 * Windows API extension
37 */
38
39 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
40 # define _TYPE_ALIGNMENT(type) __alignof(type)
41 #elif defined(__GNUC__)
42 # define _TYPE_ALIGNMENT(type) __alignof__(type)
43 #else
44 /*
45 * FIXME: May not be possible without a compiler extension
46 * (if type is not just a name that is, otherwise the normal
47 * TYPE_ALIGNMENT can be used)
48 */
49 #endif
50
51 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
52 #pragma warning(disable:4116)
53 #endif
54
55 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
56 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
57 #endif
58
59 /***********************************************************************
60 * Test helper macros
61 */
62
63 #define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size);
64
65 #ifdef TYPE_ALIGNMENT
66 # define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align);
67 #else
68 # define TEST_TYPE_ALIGN(type, align)
69 #endif
70
71 #ifdef _TYPE_ALIGNMENT
72 # define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
73 # define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
74 #else
75 # define TEST_TARGET_ALIGN(type, align)
76 # define TEST_FIELD_ALIGN(type, field, align)
77 #endif
78
79 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
80
81 #define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size)
82 #define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size)
83 #define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0);
84 #define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0);
85
86
87 #ifdef _WIN64
88
89 static void test_pack_BLOB(void)
90 {
91 /* BLOB */
92 TEST_TYPE_SIZE (BLOB, 16)
93 TEST_TYPE_ALIGN (BLOB, 8)
94 TEST_FIELD_SIZE (BLOB, cbSize, 4)
95 TEST_FIELD_ALIGN (BLOB, cbSize, 4)
96 TEST_FIELD_OFFSET(BLOB, cbSize, 0)
97 TEST_FIELD_SIZE (BLOB, pBlobData, 8)
98 TEST_FIELD_ALIGN (BLOB, pBlobData, 8)
99 TEST_FIELD_OFFSET(BLOB, pBlobData, 8)
100 }
101
102 static void test_pack_BSTR(void)
103 {
104 /* BSTR */
105 TEST_TYPE_SIZE (BSTR, 8)
106 TEST_TYPE_ALIGN (BSTR, 8)
107 TEST_TARGET_SIZE (BSTR, 2)
108 TEST_TARGET_ALIGN(BSTR, 2)
109 }
110
111 static void test_pack_BSTRBLOB(void)
112 {
113 /* BSTRBLOB */
114 TEST_TYPE_SIZE (BSTRBLOB, 16)
115 TEST_TYPE_ALIGN (BSTRBLOB, 8)
116 TEST_FIELD_SIZE (BSTRBLOB, cbSize, 4)
117 TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
118 TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
119 TEST_FIELD_SIZE (BSTRBLOB, pData, 8)
120 TEST_FIELD_ALIGN (BSTRBLOB, pData, 8)
121 TEST_FIELD_OFFSET(BSTRBLOB, pData, 8)
122 }
123
124 static void test_pack_BYTE_BLOB(void)
125 {
126 /* BYTE_BLOB */
127 TEST_TYPE_SIZE (BYTE_BLOB, 8)
128 TEST_TYPE_ALIGN (BYTE_BLOB, 4)
129 TEST_FIELD_SIZE (BYTE_BLOB, clSize, 4)
130 TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
131 TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
132 TEST_FIELD_SIZE (BYTE_BLOB, abData, 1)
133 TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
134 TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
135 }
136
137 static void test_pack_BYTE_SIZEDARR(void)
138 {
139 /* BYTE_SIZEDARR */
140 TEST_TYPE_SIZE (BYTE_SIZEDARR, 16)
141 TEST_TYPE_ALIGN (BYTE_SIZEDARR, 8)
142 TEST_FIELD_SIZE (BYTE_SIZEDARR, clSize, 4)
143 TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
144 TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
145 TEST_FIELD_SIZE (BYTE_SIZEDARR, pData, 8)
146 TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 8)
147 TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 8)
148 }
149
150 static void test_pack_CLIPDATA(void)
151 {
152 /* CLIPDATA */
153 TEST_TYPE_SIZE (CLIPDATA, 16)
154 TEST_TYPE_ALIGN (CLIPDATA, 8)
155 TEST_FIELD_SIZE (CLIPDATA, cbSize, 4)
156 TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
157 TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
158 TEST_FIELD_SIZE (CLIPDATA, ulClipFmt, 4)
159 TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
160 TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
161 TEST_FIELD_SIZE (CLIPDATA, pClipData, 8)
162 TEST_FIELD_ALIGN (CLIPDATA, pClipData, 8)
163 TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
164 }
165
166 static void test_pack_CLIPFORMAT(void)
167 {
168 /* CLIPFORMAT */
169 TEST_TYPE_SIZE (CLIPFORMAT, 2)
170 TEST_TYPE_ALIGN (CLIPFORMAT, 2)
171 TEST_TYPE_UNSIGNED(CLIPFORMAT)
172 }
173
174 static void test_pack_COAUTHIDENTITY(void)
175 {
176 /* COAUTHIDENTITY */
177 TEST_TYPE_SIZE (COAUTHIDENTITY, 48)
178 TEST_TYPE_ALIGN (COAUTHIDENTITY, 8)
179 TEST_FIELD_SIZE (COAUTHIDENTITY, User, 8)
180 TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 8)
181 TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
182 TEST_FIELD_SIZE (COAUTHIDENTITY, UserLength, 4)
183 TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
184 TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 8)
185 TEST_FIELD_SIZE (COAUTHIDENTITY, Domain, 8)
186 TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 8)
187 TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 16)
188 TEST_FIELD_SIZE (COAUTHIDENTITY, DomainLength, 4)
189 TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
190 TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 24)
191 TEST_FIELD_SIZE (COAUTHIDENTITY, Password, 8)
192 TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 8)
193 TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 32)
194 TEST_FIELD_SIZE (COAUTHIDENTITY, PasswordLength, 4)
195 TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
196 TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 40)
197 TEST_FIELD_SIZE (COAUTHIDENTITY, Flags, 4)
198 TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
199 TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 44)
200 }
201
202 static void test_pack_COAUTHINFO(void)
203 {
204 /* COAUTHINFO */
205 TEST_TYPE_SIZE (COAUTHINFO, 40)
206 TEST_TYPE_ALIGN (COAUTHINFO, 8)
207 TEST_FIELD_SIZE (COAUTHINFO, dwAuthnSvc, 4)
208 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
209 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
210 TEST_FIELD_SIZE (COAUTHINFO, dwAuthzSvc, 4)
211 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
212 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
213 TEST_FIELD_SIZE (COAUTHINFO, pwszServerPrincName, 8)
214 TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 8)
215 TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
216 TEST_FIELD_SIZE (COAUTHINFO, dwAuthnLevel, 4)
217 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
218 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 16)
219 TEST_FIELD_SIZE (COAUTHINFO, dwImpersonationLevel, 4)
220 TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
221 TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 20)
222 TEST_FIELD_SIZE (COAUTHINFO, pAuthIdentityData, 8)
223 TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 8)
224 TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 24)
225 TEST_FIELD_SIZE (COAUTHINFO, dwCapabilities, 4)
226 TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
227 TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 32)
228 }
229
230 static void test_pack_DATE(void)
231 {
232 /* DATE */
233 TEST_TYPE_SIZE (DATE, 8)
234 TEST_TYPE_ALIGN (DATE, 8)
235 }
236
237 static void test_pack_DOUBLE(void)
238 {
239 /* DOUBLE */
240 TEST_TYPE_SIZE (DOUBLE, 8)
241 TEST_TYPE_ALIGN (DOUBLE, 8)
242 }
243
244 static void test_pack_DWORD_SIZEDARR(void)
245 {
246 /* DWORD_SIZEDARR */
247 TEST_TYPE_SIZE (DWORD_SIZEDARR, 16)
248 TEST_TYPE_ALIGN (DWORD_SIZEDARR, 8)
249 TEST_FIELD_SIZE (DWORD_SIZEDARR, clSize, 4)
250 TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
251 TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
252 TEST_FIELD_SIZE (DWORD_SIZEDARR, pData, 8)
253 TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 8)
254 TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 8)
255 }
256
257 static void test_pack_FLAGGED_BYTE_BLOB(void)
258 {
259 /* FLAGGED_BYTE_BLOB */
260 TEST_TYPE_SIZE (FLAGGED_BYTE_BLOB, 12)
261 TEST_TYPE_ALIGN (FLAGGED_BYTE_BLOB, 4)
262 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, fFlags, 4)
263 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
264 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
265 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, clSize, 4)
266 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
267 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
268 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, abData, 1)
269 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
270 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
271 }
272
273 static void test_pack_FLAGGED_WORD_BLOB(void)
274 {
275 /* FLAGGED_WORD_BLOB */
276 TEST_TYPE_SIZE (FLAGGED_WORD_BLOB, 12)
277 TEST_TYPE_ALIGN (FLAGGED_WORD_BLOB, 4)
278 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, fFlags, 4)
279 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
280 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
281 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, clSize, 4)
282 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
283 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
284 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, asData, 2)
285 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
286 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
287 }
288
289 static void test_pack_HMETAFILEPICT(void)
290 {
291 /* HMETAFILEPICT */
292 TEST_TYPE_SIZE (HMETAFILEPICT, 8)
293 TEST_TYPE_ALIGN (HMETAFILEPICT, 8)
294 }
295
296 static void test_pack_HYPER_SIZEDARR(void)
297 {
298 /* HYPER_SIZEDARR */
299 TEST_TYPE_SIZE (HYPER_SIZEDARR, 16)
300 TEST_TYPE_ALIGN (HYPER_SIZEDARR, 8)
301 TEST_FIELD_SIZE (HYPER_SIZEDARR, clSize, 4)
302 TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
303 TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
304 TEST_FIELD_SIZE (HYPER_SIZEDARR, pData, 8)
305 TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 8)
306 TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 8)
307 }
308
309 static void test_pack_LPBLOB(void)
310 {
311 /* LPBLOB */
312 TEST_TYPE_SIZE (LPBLOB, 8)
313 TEST_TYPE_ALIGN (LPBLOB, 8)
314 }
315
316 static void test_pack_LPBSTR(void)
317 {
318 /* LPBSTR */
319 TEST_TYPE_SIZE (LPBSTR, 8)
320 TEST_TYPE_ALIGN (LPBSTR, 8)
321 TEST_TARGET_SIZE (LPBSTR, 8)
322 TEST_TARGET_ALIGN(LPBSTR, 8)
323 }
324
325 static void test_pack_LPBSTRBLOB(void)
326 {
327 /* LPBSTRBLOB */
328 TEST_TYPE_SIZE (LPBSTRBLOB, 8)
329 TEST_TYPE_ALIGN (LPBSTRBLOB, 8)
330 }
331
332 static void test_pack_LPCOLESTR(void)
333 {
334 /* LPCOLESTR */
335 TEST_TYPE_SIZE (LPCOLESTR, 8)
336 TEST_TYPE_ALIGN (LPCOLESTR, 8)
337 TEST_TARGET_SIZE (LPCOLESTR, 2)
338 TEST_TARGET_ALIGN(LPCOLESTR, 2)
339 }
340
341 static void test_pack_LPCY(void)
342 {
343 /* LPCY */
344 TEST_TYPE_SIZE (LPCY, 8)
345 TEST_TYPE_ALIGN (LPCY, 8)
346 }
347
348 static void test_pack_LPDECIMAL(void)
349 {
350 /* LPDECIMAL */
351 TEST_TYPE_SIZE (LPDECIMAL, 8)
352 TEST_TYPE_ALIGN (LPDECIMAL, 8)
353 }
354
355 static void test_pack_LPOLESTR(void)
356 {
357 /* LPOLESTR */
358 TEST_TYPE_SIZE (LPOLESTR, 8)
359 TEST_TYPE_ALIGN (LPOLESTR, 8)
360 TEST_TARGET_SIZE (LPOLESTR, 2)
361 TEST_TARGET_ALIGN(LPOLESTR, 2)
362 }
363
364 static void test_pack_OLECHAR(void)
365 {
366 /* OLECHAR */
367 TEST_TYPE_SIZE (OLECHAR, 2)
368 TEST_TYPE_ALIGN (OLECHAR, 2)
369 }
370
371 static void test_pack_PROPID(void)
372 {
373 /* PROPID */
374 TEST_TYPE_SIZE (PROPID, 4)
375 TEST_TYPE_ALIGN (PROPID, 4)
376 }
377
378 static void test_pack_RemHBITMAP(void)
379 {
380 /* RemHBITMAP */
381 TEST_TYPE_SIZE (RemHBITMAP, 8)
382 TEST_TYPE_ALIGN (RemHBITMAP, 4)
383 TEST_FIELD_SIZE (RemHBITMAP, cbData, 4)
384 TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
385 TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
386 TEST_FIELD_SIZE (RemHBITMAP, data, 1)
387 TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
388 TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
389 }
390
391 static void test_pack_RemHENHMETAFILE(void)
392 {
393 /* RemHENHMETAFILE */
394 TEST_TYPE_SIZE (RemHENHMETAFILE, 8)
395 TEST_TYPE_ALIGN (RemHENHMETAFILE, 4)
396 TEST_FIELD_SIZE (RemHENHMETAFILE, cbData, 4)
397 TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
398 TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
399 TEST_FIELD_SIZE (RemHENHMETAFILE, data, 1)
400 TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
401 TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
402 }
403
404 static void test_pack_RemHGLOBAL(void)
405 {
406 /* RemHGLOBAL */
407 TEST_TYPE_SIZE (RemHGLOBAL, 12)
408 TEST_TYPE_ALIGN (RemHGLOBAL, 4)
409 TEST_FIELD_SIZE (RemHGLOBAL, fNullHGlobal, 4)
410 TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
411 TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
412 TEST_FIELD_SIZE (RemHGLOBAL, cbData, 4)
413 TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
414 TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
415 TEST_FIELD_SIZE (RemHGLOBAL, data, 1)
416 TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
417 TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
418 }
419
420 static void test_pack_RemHMETAFILEPICT(void)
421 {
422 /* RemHMETAFILEPICT */
423 TEST_TYPE_SIZE (RemHMETAFILEPICT, 20)
424 TEST_TYPE_ALIGN (RemHMETAFILEPICT, 4)
425 TEST_FIELD_SIZE (RemHMETAFILEPICT, mm, 4)
426 TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
427 TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
428 TEST_FIELD_SIZE (RemHMETAFILEPICT, xExt, 4)
429 TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
430 TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
431 TEST_FIELD_SIZE (RemHMETAFILEPICT, yExt, 4)
432 TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
433 TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
434 TEST_FIELD_SIZE (RemHMETAFILEPICT, cbData, 4)
435 TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
436 TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
437 TEST_FIELD_SIZE (RemHMETAFILEPICT, data, 1)
438 TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
439 TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
440 }
441
442 static void test_pack_RemHPALETTE(void)
443 {
444 /* RemHPALETTE */
445 TEST_TYPE_SIZE (RemHPALETTE, 8)
446 TEST_TYPE_ALIGN (RemHPALETTE, 4)
447 TEST_FIELD_SIZE (RemHPALETTE, cbData, 4)
448 TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
449 TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
450 TEST_FIELD_SIZE (RemHPALETTE, data, 1)
451 TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
452 TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
453 }
454
455 static void test_pack_SCODE(void)
456 {
457 /* SCODE */
458 TEST_TYPE_SIZE (SCODE, 4)
459 TEST_TYPE_ALIGN (SCODE, 4)
460 }
461
462 static void test_pack_UP_BYTE_BLOB(void)
463 {
464 /* UP_BYTE_BLOB */
465 TEST_TYPE_SIZE (UP_BYTE_BLOB, 8)
466 TEST_TYPE_ALIGN (UP_BYTE_BLOB, 8)
467 TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
468 TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
469 }
470
471 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
472 {
473 /* UP_FLAGGED_BYTE_BLOB */
474 TEST_TYPE_SIZE (UP_FLAGGED_BYTE_BLOB, 8)
475 TEST_TYPE_ALIGN (UP_FLAGGED_BYTE_BLOB, 8)
476 TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
477 TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
478 }
479
480 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
481 {
482 /* UP_FLAGGED_WORD_BLOB */
483 TEST_TYPE_SIZE (UP_FLAGGED_WORD_BLOB, 8)
484 TEST_TYPE_ALIGN (UP_FLAGGED_WORD_BLOB, 8)
485 TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
486 TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
487 }
488
489 static void test_pack_VARIANT_BOOL(void)
490 {
491 /* VARIANT_BOOL */
492 TEST_TYPE_SIZE (VARIANT_BOOL, 2)
493 TEST_TYPE_ALIGN (VARIANT_BOOL, 2)
494 TEST_TYPE_SIGNED(VARIANT_BOOL)
495 }
496
497 static void test_pack_VARTYPE(void)
498 {
499 /* VARTYPE */
500 TEST_TYPE_SIZE (VARTYPE, 2)
501 TEST_TYPE_ALIGN (VARTYPE, 2)
502 TEST_TYPE_UNSIGNED(VARTYPE)
503 }
504
505 static void test_pack_WORD_SIZEDARR(void)
506 {
507 /* WORD_SIZEDARR */
508 TEST_TYPE_SIZE (WORD_SIZEDARR, 16)
509 TEST_TYPE_ALIGN (WORD_SIZEDARR, 8)
510 TEST_FIELD_SIZE (WORD_SIZEDARR, clSize, 4)
511 TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
512 TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
513 TEST_FIELD_SIZE (WORD_SIZEDARR, pData, 8)
514 TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 8)
515 TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 8)
516 }
517
518 static void test_pack_remoteMETAFILEPICT(void)
519 {
520 /* remoteMETAFILEPICT */
521 TEST_TYPE_SIZE (remoteMETAFILEPICT, 24)
522 TEST_TYPE_ALIGN (remoteMETAFILEPICT, 8)
523 TEST_FIELD_SIZE (remoteMETAFILEPICT, mm, 4)
524 TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
525 TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
526 TEST_FIELD_SIZE (remoteMETAFILEPICT, xExt, 4)
527 TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
528 TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
529 TEST_FIELD_SIZE (remoteMETAFILEPICT, yExt, 4)
530 TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
531 TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
532 TEST_FIELD_SIZE (remoteMETAFILEPICT, hMF, 8)
533 TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 8)
534 TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 16)
535 }
536
537 static void test_pack_userBITMAP(void)
538 {
539 /* userBITMAP */
540 TEST_TYPE_SIZE (userBITMAP, 28)
541 TEST_TYPE_ALIGN (userBITMAP, 4)
542 TEST_FIELD_SIZE (userBITMAP, bmType, 4)
543 TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
544 TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
545 TEST_FIELD_SIZE (userBITMAP, bmWidth, 4)
546 TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
547 TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
548 TEST_FIELD_SIZE (userBITMAP, bmHeight, 4)
549 TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
550 TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
551 TEST_FIELD_SIZE (userBITMAP, bmWidthBytes, 4)
552 TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
553 TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
554 TEST_FIELD_SIZE (userBITMAP, bmPlanes, 2)
555 TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
556 TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
557 TEST_FIELD_SIZE (userBITMAP, bmBitsPixel, 2)
558 TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
559 TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
560 TEST_FIELD_SIZE (userBITMAP, cbSize, 4)
561 TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
562 TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
563 TEST_FIELD_SIZE (userBITMAP, pBuffer, 1)
564 TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
565 TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
566 }
567
568 static void test_pack_userCLIPFORMAT(void)
569 {
570 /* userCLIPFORMAT */
571 TEST_FIELD_SIZE (userCLIPFORMAT, fContext, 4)
572 TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
573 TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
574 }
575
576 static void test_pack_userHBITMAP(void)
577 {
578 /* userHBITMAP */
579 TEST_FIELD_SIZE (userHBITMAP, fContext, 4)
580 TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
581 TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
582 }
583
584 static void test_pack_userHENHMETAFILE(void)
585 {
586 /* userHENHMETAFILE */
587 TEST_FIELD_SIZE (userHENHMETAFILE, fContext, 4)
588 TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
589 TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
590 }
591
592 static void test_pack_userHGLOBAL(void)
593 {
594 /* userHGLOBAL */
595 TEST_FIELD_SIZE (userHGLOBAL, fContext, 4)
596 TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
597 TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
598 }
599
600 static void test_pack_userHMETAFILE(void)
601 {
602 /* userHMETAFILE */
603 TEST_FIELD_SIZE (userHMETAFILE, fContext, 4)
604 TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
605 TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
606 }
607
608 static void test_pack_userHMETAFILEPICT(void)
609 {
610 /* userHMETAFILEPICT */
611 TEST_FIELD_SIZE (userHMETAFILEPICT, fContext, 4)
612 TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
613 TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
614 }
615
616 static void test_pack_userHPALETTE(void)
617 {
618 /* userHPALETTE */
619 TEST_FIELD_SIZE (userHPALETTE, fContext, 4)
620 TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
621 TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
622 }
623
624 static void test_pack_wireBSTR(void)
625 {
626 /* wireBSTR */
627 TEST_TYPE_SIZE (wireBSTR, 8)
628 TEST_TYPE_ALIGN (wireBSTR, 8)
629 TEST_TARGET_SIZE (wireBSTR, 12)
630 TEST_TARGET_ALIGN(wireBSTR, 4)
631 }
632
633 static void test_pack_wireCLIPFORMAT(void)
634 {
635 /* wireCLIPFORMAT */
636 TEST_TYPE_SIZE (wireCLIPFORMAT, 8)
637 TEST_TYPE_ALIGN (wireCLIPFORMAT, 8)
638 }
639
640 static void test_pack_wireHBITMAP(void)
641 {
642 /* wireHBITMAP */
643 TEST_TYPE_SIZE (wireHBITMAP, 8)
644 TEST_TYPE_ALIGN (wireHBITMAP, 8)
645 }
646
647 static void test_pack_wireHENHMETAFILE(void)
648 {
649 /* wireHENHMETAFILE */
650 TEST_TYPE_SIZE (wireHENHMETAFILE, 8)
651 TEST_TYPE_ALIGN (wireHENHMETAFILE, 8)
652 }
653
654 static void test_pack_wireHGLOBAL(void)
655 {
656 /* wireHGLOBAL */
657 TEST_TYPE_SIZE (wireHGLOBAL, 8)
658 TEST_TYPE_ALIGN (wireHGLOBAL, 8)
659 }
660
661 static void test_pack_wireHMETAFILE(void)
662 {
663 /* wireHMETAFILE */
664 TEST_TYPE_SIZE (wireHMETAFILE, 8)
665 TEST_TYPE_ALIGN (wireHMETAFILE, 8)
666 }
667
668 static void test_pack_wireHMETAFILEPICT(void)
669 {
670 /* wireHMETAFILEPICT */
671 TEST_TYPE_SIZE (wireHMETAFILEPICT, 8)
672 TEST_TYPE_ALIGN (wireHMETAFILEPICT, 8)
673 }
674
675 static void test_pack_wireHPALETTE(void)
676 {
677 /* wireHPALETTE */
678 TEST_TYPE_SIZE (wireHPALETTE, 8)
679 TEST_TYPE_ALIGN (wireHPALETTE, 8)
680 }
681
682 static void test_pack_CLSID(void)
683 {
684 /* CLSID */
685 TEST_TYPE_SIZE (CLSID, 16)
686 TEST_TYPE_ALIGN (CLSID, 4)
687 }
688
689 static void test_pack_FMTID(void)
690 {
691 /* FMTID */
692 TEST_TYPE_SIZE (FMTID, 16)
693 TEST_TYPE_ALIGN (FMTID, 4)
694 }
695
696 static void test_pack_IID(void)
697 {
698 /* IID */
699 TEST_TYPE_SIZE (IID, 16)
700 TEST_TYPE_ALIGN (IID, 4)
701 }
702
703 static void test_pack_APPBARDATA(void)
704 {
705 /* APPBARDATA */
706 TEST_TYPE_SIZE (APPBARDATA, 48)
707 TEST_TYPE_ALIGN (APPBARDATA, 8)
708 TEST_FIELD_SIZE (APPBARDATA, cbSize, 4)
709 TEST_FIELD_ALIGN (APPBARDATA, cbSize, 4)
710 TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
711 TEST_FIELD_SIZE (APPBARDATA, hWnd, 8)
712 TEST_FIELD_ALIGN (APPBARDATA, hWnd, 8)
713 TEST_FIELD_OFFSET(APPBARDATA, hWnd, 8)
714 TEST_FIELD_SIZE (APPBARDATA, uCallbackMessage, 4)
715 TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 4)
716 TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 16)
717 TEST_FIELD_SIZE (APPBARDATA, uEdge, 4)
718 TEST_FIELD_ALIGN (APPBARDATA, uEdge, 4)
719 TEST_FIELD_OFFSET(APPBARDATA, uEdge, 20)
720 TEST_FIELD_SIZE (APPBARDATA, rc, 16)
721 TEST_FIELD_ALIGN (APPBARDATA, rc, 4)
722 TEST_FIELD_OFFSET(APPBARDATA, rc, 24)
723 TEST_FIELD_SIZE (APPBARDATA, lParam, 8)
724 TEST_FIELD_ALIGN (APPBARDATA, lParam, 8)
725 TEST_FIELD_OFFSET(APPBARDATA, lParam, 40)
726 }
727
728 static void test_pack_DRAGINFOA(void)
729 {
730 /* DRAGINFOA */
731 TEST_TYPE_SIZE (DRAGINFOA, 32)
732 TEST_TYPE_ALIGN (DRAGINFOA, 8)
733 TEST_FIELD_SIZE (DRAGINFOA, uSize, 4)
734 TEST_FIELD_ALIGN (DRAGINFOA, uSize, 4)
735 TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
736 TEST_FIELD_SIZE (DRAGINFOA, pt, 8)
737 TEST_FIELD_ALIGN (DRAGINFOA, pt, 4)
738 TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
739 TEST_FIELD_SIZE (DRAGINFOA, fNC, 4)
740 TEST_FIELD_ALIGN (DRAGINFOA, fNC, 4)
741 TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
742 TEST_FIELD_SIZE (DRAGINFOA, lpFileList, 8)
743 TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 8)
744 TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
745 TEST_FIELD_SIZE (DRAGINFOA, grfKeyState, 4)
746 TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 4)
747 TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 24)
748 }
749
750 static void test_pack_DRAGINFOW(void)
751 {
752 /* DRAGINFOW */
753 TEST_TYPE_SIZE (DRAGINFOW, 32)
754 TEST_TYPE_ALIGN (DRAGINFOW, 8)
755 TEST_FIELD_SIZE (DRAGINFOW, uSize, 4)
756 TEST_FIELD_ALIGN (DRAGINFOW, uSize, 4)
757 TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
758 TEST_FIELD_SIZE (DRAGINFOW, pt, 8)
759 TEST_FIELD_ALIGN (DRAGINFOW, pt, 4)
760 TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
761 TEST_FIELD_SIZE (DRAGINFOW, fNC, 4)
762 TEST_FIELD_ALIGN (DRAGINFOW, fNC, 4)
763 TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
764 TEST_FIELD_SIZE (DRAGINFOW, lpFileList, 8)
765 TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 8)
766 TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
767 TEST_FIELD_SIZE (DRAGINFOW, grfKeyState, 4)
768 TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 4)
769 TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 24)
770 }
771
772 static void test_pack_FILEOP_FLAGS(void)
773 {
774 /* FILEOP_FLAGS */
775 TEST_TYPE_SIZE (FILEOP_FLAGS, 2)
776 TEST_TYPE_ALIGN (FILEOP_FLAGS, 2)
777 TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
778 }
779
780 static void test_pack_LPDRAGINFOA(void)
781 {
782 /* LPDRAGINFOA */
783 TEST_TYPE_SIZE (LPDRAGINFOA, 8)
784 TEST_TYPE_ALIGN (LPDRAGINFOA, 8)
785 TEST_TARGET_SIZE (LPDRAGINFOA, 32)
786 TEST_TARGET_ALIGN(LPDRAGINFOA, 8)
787 }
788
789 static void test_pack_LPDRAGINFOW(void)
790 {
791 /* LPDRAGINFOW */
792 TEST_TYPE_SIZE (LPDRAGINFOW, 8)
793 TEST_TYPE_ALIGN (LPDRAGINFOW, 8)
794 TEST_TARGET_SIZE (LPDRAGINFOW, 32)
795 TEST_TARGET_ALIGN(LPDRAGINFOW, 8)
796 }
797
798 static void test_pack_LPSHELLEXECUTEINFOA(void)
799 {
800 /* LPSHELLEXECUTEINFOA */
801 TEST_TYPE_SIZE (LPSHELLEXECUTEINFOA, 8)
802 TEST_TYPE_ALIGN (LPSHELLEXECUTEINFOA, 8)
803 }
804
805 static void test_pack_LPSHELLEXECUTEINFOW(void)
806 {
807 /* LPSHELLEXECUTEINFOW */
808 TEST_TYPE_SIZE (LPSHELLEXECUTEINFOW, 8)
809 TEST_TYPE_ALIGN (LPSHELLEXECUTEINFOW, 8)
810 }
811
812 static void test_pack_LPSHFILEOPSTRUCTA(void)
813 {
814 /* LPSHFILEOPSTRUCTA */
815 TEST_TYPE_SIZE (LPSHFILEOPSTRUCTA, 8)
816 TEST_TYPE_ALIGN (LPSHFILEOPSTRUCTA, 8)
817 TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 56)
818 TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 8)
819 }
820
821 static void test_pack_LPSHFILEOPSTRUCTW(void)
822 {
823 /* LPSHFILEOPSTRUCTW */
824 TEST_TYPE_SIZE (LPSHFILEOPSTRUCTW, 8)
825 TEST_TYPE_ALIGN (LPSHFILEOPSTRUCTW, 8)
826 TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 56)
827 TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 8)
828 }
829
830 static void test_pack_LPSHNAMEMAPPINGA(void)
831 {
832 /* LPSHNAMEMAPPINGA */
833 TEST_TYPE_SIZE (LPSHNAMEMAPPINGA, 8)
834 TEST_TYPE_ALIGN (LPSHNAMEMAPPINGA, 8)
835 TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 24)
836 TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 8)
837 }
838
839 static void test_pack_LPSHNAMEMAPPINGW(void)
840 {
841 /* LPSHNAMEMAPPINGW */
842 TEST_TYPE_SIZE (LPSHNAMEMAPPINGW, 8)
843 TEST_TYPE_ALIGN (LPSHNAMEMAPPINGW, 8)
844 TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 24)
845 TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 8)
846 }
847
848 static void test_pack_NOTIFYICONDATAA(void)
849 {
850 /* NOTIFYICONDATAA */
851 TEST_FIELD_SIZE (NOTIFYICONDATAA, cbSize, 4)
852 TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 4)
853 TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
854 TEST_FIELD_SIZE (NOTIFYICONDATAA, hWnd, 8)
855 TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 8)
856 TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 8)
857 TEST_FIELD_SIZE (NOTIFYICONDATAA, uID, 4)
858 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 4)
859 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 16)
860 TEST_FIELD_SIZE (NOTIFYICONDATAA, uFlags, 4)
861 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 4)
862 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 20)
863 TEST_FIELD_SIZE (NOTIFYICONDATAA, uCallbackMessage, 4)
864 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 4)
865 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 24)
866 TEST_FIELD_SIZE (NOTIFYICONDATAA, hIcon, 8)
867 TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 8)
868 TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 32)
869 TEST_FIELD_SIZE (NOTIFYICONDATAA, szTip, 128)
870 TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
871 TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 40)
872 TEST_FIELD_SIZE (NOTIFYICONDATAA, dwState, 4)
873 TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 4)
874 TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 168)
875 TEST_FIELD_SIZE (NOTIFYICONDATAA, dwStateMask, 4)
876 TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 4)
877 TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 172)
878 TEST_FIELD_SIZE (NOTIFYICONDATAA, szInfo, 256)
879 TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
880 TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 176)
881 }
882
883 static void test_pack_NOTIFYICONDATAW(void)
884 {
885 /* NOTIFYICONDATAW */
886 TEST_FIELD_SIZE (NOTIFYICONDATAW, cbSize, 4)
887 TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 4)
888 TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
889 TEST_FIELD_SIZE (NOTIFYICONDATAW, hWnd, 8)
890 TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 8)
891 TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 8)
892 TEST_FIELD_SIZE (NOTIFYICONDATAW, uID, 4)
893 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 4)
894 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 16)
895 TEST_FIELD_SIZE (NOTIFYICONDATAW, uFlags, 4)
896 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 4)
897 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 20)
898 TEST_FIELD_SIZE (NOTIFYICONDATAW, uCallbackMessage, 4)
899 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 4)
900 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 24)
901 TEST_FIELD_SIZE (NOTIFYICONDATAW, hIcon, 8)
902 TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 8)
903 TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 32)
904 TEST_FIELD_SIZE (NOTIFYICONDATAW, szTip, 256)
905 TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 2)
906 TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 40)
907 TEST_FIELD_SIZE (NOTIFYICONDATAW, dwState, 4)
908 TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 4)
909 TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 296)
910 TEST_FIELD_SIZE (NOTIFYICONDATAW, dwStateMask, 4)
911 TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 4)
912 TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 300)
913 TEST_FIELD_SIZE (NOTIFYICONDATAW, szInfo, 512)
914 TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 2)
915 TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 304)
916 }
917
918 static void test_pack_PAPPBARDATA(void)
919 {
920 /* PAPPBARDATA */
921 TEST_TYPE_SIZE (PAPPBARDATA, 8)
922 TEST_TYPE_ALIGN (PAPPBARDATA, 8)
923 TEST_TARGET_SIZE (PAPPBARDATA, 48)
924 TEST_TARGET_ALIGN(PAPPBARDATA, 8)
925 }
926
927 static void test_pack_PNOTIFYICONDATAA(void)
928 {
929 /* PNOTIFYICONDATAA */
930 TEST_TYPE_SIZE (PNOTIFYICONDATAA, 8)
931 TEST_TYPE_ALIGN (PNOTIFYICONDATAA, 8)
932 }
933
934 static void test_pack_PNOTIFYICONDATAW(void)
935 {
936 /* PNOTIFYICONDATAW */
937 TEST_TYPE_SIZE (PNOTIFYICONDATAW, 8)
938 TEST_TYPE_ALIGN (PNOTIFYICONDATAW, 8)
939 }
940
941 static void test_pack_PRINTEROP_FLAGS(void)
942 {
943 /* PRINTEROP_FLAGS */
944 TEST_TYPE_SIZE (PRINTEROP_FLAGS, 2)
945 TEST_TYPE_ALIGN (PRINTEROP_FLAGS, 2)
946 TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
947 }
948
949 static void test_pack_SHELLEXECUTEINFOA(void)
950 {
951 /* SHELLEXECUTEINFOA */
952 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, cbSize, 4)
953 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, cbSize, 4)
954 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, cbSize, 0)
955 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, fMask, 4)
956 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, fMask, 4)
957 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, fMask, 4)
958 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, hwnd, 8)
959 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hwnd, 8)
960 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hwnd, 8)
961 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpVerb, 8)
962 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpVerb, 8)
963 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpVerb, 16)
964 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpFile, 8)
965 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpFile, 8)
966 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpFile, 24)
967 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpParameters, 8)
968 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpParameters, 8)
969 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpParameters, 32)
970 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpDirectory, 8)
971 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpDirectory, 8)
972 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpDirectory, 40)
973 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, nShow, 4)
974 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, nShow, 4)
975 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, nShow, 48)
976 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, hInstApp, 8)
977 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hInstApp, 8)
978 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hInstApp, 56)
979 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpIDList, 8)
980 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpIDList, 8)
981 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpIDList, 64)
982 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, lpClass, 8)
983 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, lpClass, 8)
984 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, lpClass, 72)
985 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, hkeyClass, 8)
986 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, hkeyClass, 8)
987 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, hkeyClass, 80)
988 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, dwHotKey, 4)
989 TEST_FIELD_ALIGN (SHELLEXECUTEINFOA, dwHotKey, 4)
990 TEST_FIELD_OFFSET(SHELLEXECUTEINFOA, dwHotKey, 88)
991 }
992
993 static void test_pack_SHELLEXECUTEINFOW(void)
994 {
995 /* SHELLEXECUTEINFOW */
996 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, cbSize, 4)
997 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, cbSize, 4)
998 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, cbSize, 0)
999 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, fMask, 4)
1000 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, fMask, 4)
1001 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, fMask, 4)
1002 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, hwnd, 8)
1003 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hwnd, 8)
1004 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hwnd, 8)
1005 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpVerb, 8)
1006 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpVerb, 8)
1007 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpVerb, 16)
1008 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpFile, 8)
1009 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpFile, 8)
1010 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpFile, 24)
1011 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpParameters, 8)
1012 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpParameters, 8)
1013 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpParameters, 32)
1014 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpDirectory, 8)
1015 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpDirectory, 8)
1016 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpDirectory, 40)
1017 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, nShow, 4)
1018 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, nShow, 4)
1019 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, nShow, 48)
1020 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, hInstApp, 8)
1021 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hInstApp, 8)
1022 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hInstApp, 56)
1023 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpIDList, 8)
1024 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpIDList, 8)
1025 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpIDList, 64)
1026 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, lpClass, 8)
1027 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, lpClass, 8)
1028 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, lpClass, 72)
1029 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, hkeyClass, 8)
1030 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, hkeyClass, 8)
1031 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, hkeyClass, 80)
1032 TEST_FIELD_SIZE (SHELLEXECUTEINFOW, dwHotKey, 4)
1033 TEST_FIELD_ALIGN (SHELLEXECUTEINFOW, dwHotKey, 4)
1034 TEST_FIELD_OFFSET(SHELLEXECUTEINFOW, dwHotKey, 88)
1035 }
1036
1037 static void test_pack_SHFILEINFOA(void)
1038 {
1039 /* SHFILEINFOA */
1040 TEST_TYPE_SIZE (SHFILEINFOA, 360)
1041 TEST_TYPE_ALIGN (SHFILEINFOA, 8)
1042 TEST_FIELD_SIZE (SHFILEINFOA, hIcon, 8)
1043 TEST_FIELD_ALIGN (SHFILEINFOA, hIcon, 8)
1044 TEST_FIELD_OFFSET(SHFILEINFOA, hIcon, 0)
1045 TEST_FIELD_SIZE (SHFILEINFOA, iIcon, 4)
1046 TEST_FIELD_ALIGN (SHFILEINFOA, iIcon, 4)
1047 TEST_FIELD_OFFSET(SHFILEINFOA, iIcon, 8)
1048 TEST_FIELD_SIZE (SHFILEINFOA, dwAttributes, 4)
1049 TEST_FIELD_ALIGN (SHFILEINFOA, dwAttributes, 4)
1050 TEST_FIELD_OFFSET(SHFILEINFOA, dwAttributes, 12)
1051 TEST_FIELD_SIZE (SHFILEINFOA, szDisplayName, 260)
1052 TEST_FIELD_ALIGN (SHFILEINFOA, szDisplayName, 1)
1053 TEST_FIELD_OFFSET(SHFILEINFOA, szDisplayName, 16)
1054 TEST_FIELD_SIZE (SHFILEINFOA, szTypeName, 80)
1055 TEST_FIELD_ALIGN (SHFILEINFOA, szTypeName, 1)
1056 TEST_FIELD_OFFSET(SHFILEINFOA, szTypeName, 276)
1057 }
1058
1059 static void test_pack_SHFILEINFOW(void)
1060 {
1061 /* SHFILEINFOW */
1062 TEST_TYPE_SIZE (SHFILEINFOW, 696)
1063 TEST_TYPE_ALIGN (SHFILEINFOW, 8)
1064 TEST_FIELD_SIZE (SHFILEINFOW, hIcon, 8)
1065 TEST_FIELD_ALIGN (SHFILEINFOW, hIcon, 8)
1066 TEST_FIELD_OFFSET(SHFILEINFOW, hIcon, 0)
1067 TEST_FIELD_SIZE (SHFILEINFOW, iIcon, 4)
1068 TEST_FIELD_ALIGN (SHFILEINFOW, iIcon, 4)
1069 TEST_FIELD_OFFSET(SHFILEINFOW, iIcon, 8)
1070 TEST_FIELD_SIZE (SHFILEINFOW, dwAttributes, 4)
1071 TEST_FIELD_ALIGN (SHFILEINFOW, dwAttributes, 4)
1072 TEST_FIELD_OFFSET(SHFILEINFOW, dwAttributes, 12)
1073 TEST_FIELD_SIZE (SHFILEINFOW, szDisplayName, 520)
1074 TEST_FIELD_ALIGN (SHFILEINFOW, szDisplayName, 2)
1075 TEST_FIELD_OFFSET(SHFILEINFOW, szDisplayName, 16)
1076 TEST_FIELD_SIZE (SHFILEINFOW, szTypeName, 160)
1077 TEST_FIELD_ALIGN (SHFILEINFOW, szTypeName, 2)
1078 TEST_FIELD_OFFSET(SHFILEINFOW, szTypeName, 536)
1079 }
1080
1081 static void test_pack_SHFILEOPSTRUCTA(void)
1082 {
1083 /* SHFILEOPSTRUCTA */
1084 TEST_TYPE_SIZE (SHFILEOPSTRUCTA, 56)
1085 TEST_TYPE_ALIGN (SHFILEOPSTRUCTA, 8)
1086 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, hwnd, 8)
1087 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hwnd, 8)
1088 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hwnd, 0)
1089 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, wFunc, 4)
1090 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, wFunc, 4)
1091 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, wFunc, 8)
1092 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, pFrom, 8)
1093 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pFrom, 8)
1094 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pFrom, 16)
1095 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, pTo, 8)
1096 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, pTo, 8)
1097 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, pTo, 24)
1098 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, fFlags, 2)
1099 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fFlags, 2)
1100 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fFlags, 32)
1101 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1102 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, fAnyOperationsAborted, 4)
1103 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, fAnyOperationsAborted, 36)
1104 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, hNameMappings, 8)
1105 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, hNameMappings, 8)
1106 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, hNameMappings, 40)
1107 TEST_FIELD_SIZE (SHFILEOPSTRUCTA, lpszProgressTitle, 8)
1108 TEST_FIELD_ALIGN (SHFILEOPSTRUCTA, lpszProgressTitle, 8)
1109 TEST_FIELD_OFFSET(SHFILEOPSTRUCTA, lpszProgressTitle, 48)
1110 }
1111
1112 static void test_pack_SHFILEOPSTRUCTW(void)
1113 {
1114 /* SHFILEOPSTRUCTW */
1115 TEST_TYPE_SIZE (SHFILEOPSTRUCTW, 56)
1116 TEST_TYPE_ALIGN (SHFILEOPSTRUCTW, 8)
1117 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, hwnd, 8)
1118 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hwnd, 8)
1119 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hwnd, 0)
1120 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, wFunc, 4)
1121 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, wFunc, 4)
1122 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, wFunc, 8)
1123 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, pFrom, 8)
1124 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pFrom, 8)
1125 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pFrom, 16)
1126 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, pTo, 8)
1127 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, pTo, 8)
1128 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, pTo, 24)
1129 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, fFlags, 2)
1130 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fFlags, 2)
1131 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fFlags, 32)
1132 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1133 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, fAnyOperationsAborted, 4)
1134 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, fAnyOperationsAborted, 36)
1135 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, hNameMappings, 8)
1136 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, hNameMappings, 8)
1137 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, hNameMappings, 40)
1138 TEST_FIELD_SIZE (SHFILEOPSTRUCTW, lpszProgressTitle, 8)
1139 TEST_FIELD_ALIGN (SHFILEOPSTRUCTW, lpszProgressTitle, 8)
1140 TEST_FIELD_OFFSET(SHFILEOPSTRUCTW, lpszProgressTitle, 48)
1141 }
1142
1143 static void test_pack_SHNAMEMAPPINGA(void)
1144 {
1145 /* SHNAMEMAPPINGA */
1146 TEST_TYPE_SIZE (SHNAMEMAPPINGA, 24)
1147 TEST_TYPE_ALIGN (SHNAMEMAPPINGA, 8)
1148 TEST_FIELD_SIZE (SHNAMEMAPPINGA, pszOldPath, 8)
1149 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszOldPath, 8)
1150 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszOldPath, 0)
1151 TEST_FIELD_SIZE (SHNAMEMAPPINGA, pszNewPath, 8)
1152 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, pszNewPath, 8)
1153 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, pszNewPath, 8)
1154 TEST_FIELD_SIZE (SHNAMEMAPPINGA, cchOldPath, 4)
1155 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchOldPath, 4)
1156 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchOldPath, 16)
1157 TEST_FIELD_SIZE (SHNAMEMAPPINGA, cchNewPath, 4)
1158 TEST_FIELD_ALIGN (SHNAMEMAPPINGA, cchNewPath, 4)
1159 TEST_FIELD_OFFSET(SHNAMEMAPPINGA, cchNewPath, 20)
1160 }
1161
1162 static void test_pack_SHNAMEMAPPINGW(void)
1163 {
1164 /* SHNAMEMAPPINGW */
1165 TEST_TYPE_SIZE (SHNAMEMAPPINGW, 24)
1166 TEST_TYPE_ALIGN (SHNAMEMAPPINGW, 8)
1167 TEST_FIELD_SIZE (SHNAMEMAPPINGW, pszOldPath, 8)
1168 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszOldPath, 8)
1169 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszOldPath, 0)
1170 TEST_FIELD_SIZE (SHNAMEMAPPINGW, pszNewPath, 8)
1171 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, pszNewPath, 8)
1172 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, pszNewPath, 8)
1173 TEST_FIELD_SIZE (SHNAMEMAPPINGW, cchOldPath, 4)
1174 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchOldPath, 4)
1175 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchOldPath, 16)
1176 TEST_FIELD_SIZE (SHNAMEMAPPINGW, cchNewPath, 4)
1177 TEST_FIELD_ALIGN (SHNAMEMAPPINGW, cchNewPath, 4)
1178 TEST_FIELD_OFFSET(SHNAMEMAPPINGW, cchNewPath, 20)
1179 }
1180
1181 static void test_pack_ITEMIDLIST(void)
1182 {
1183 /* ITEMIDLIST (pack 1) */
1184 TEST_TYPE_SIZE (ITEMIDLIST, 3)
1185 TEST_TYPE_ALIGN (ITEMIDLIST, 1)
1186 TEST_FIELD_SIZE (ITEMIDLIST, mkid, 3)
1187 TEST_FIELD_ALIGN (ITEMIDLIST, mkid, 1)
1188 TEST_FIELD_OFFSET(ITEMIDLIST, mkid, 0)
1189 }
1190
1191 static void test_pack_LPCITEMIDLIST(void)
1192 {
1193 /* LPCITEMIDLIST */
1194 TEST_TYPE_SIZE (LPCITEMIDLIST, 8)
1195 TEST_TYPE_ALIGN (LPCITEMIDLIST, 8)
1196 TEST_TARGET_SIZE (LPCITEMIDLIST, 3)
1197 TEST_TARGET_ALIGN(LPCITEMIDLIST, 1)
1198 }
1199
1200 static void test_pack_LPCSHITEMID(void)
1201 {
1202 /* LPCSHITEMID */
1203 TEST_TYPE_SIZE (LPCSHITEMID, 8)
1204 TEST_TYPE_ALIGN (LPCSHITEMID, 8)
1205 TEST_TARGET_SIZE (LPCSHITEMID, 3)
1206 TEST_TARGET_ALIGN(LPCSHITEMID, 1)
1207 }
1208
1209 static void test_pack_LPITEMIDLIST(void)
1210 {
1211 /* LPITEMIDLIST */
1212 TEST_TYPE_SIZE (LPITEMIDLIST, 8)
1213 TEST_TYPE_ALIGN (LPITEMIDLIST, 8)
1214 }
1215
1216 static void test_pack_LPSHELLDETAILS(void)
1217 {
1218 /* LPSHELLDETAILS */
1219 TEST_TYPE_SIZE (LPSHELLDETAILS, 8)
1220 TEST_TYPE_ALIGN (LPSHELLDETAILS, 8)
1221 }
1222
1223 static void test_pack_LPSHITEMID(void)
1224 {
1225 /* LPSHITEMID */
1226 TEST_TYPE_SIZE (LPSHITEMID, 8)
1227 TEST_TYPE_ALIGN (LPSHITEMID, 8)
1228 }
1229
1230 static void test_pack_LPSTRRET(void)
1231 {
1232 /* LPSTRRET */
1233 TEST_TYPE_SIZE (LPSTRRET, 8)
1234 TEST_TYPE_ALIGN (LPSTRRET, 8)
1235 }
1236
1237 static void test_pack_SHELLDETAILS(void)
1238 {
1239 /* SHELLDETAILS (pack 1) */
1240 TEST_FIELD_SIZE (SHELLDETAILS, fmt, 4)
1241 TEST_FIELD_ALIGN (SHELLDETAILS, fmt, 1)
1242 TEST_FIELD_OFFSET(SHELLDETAILS, fmt, 0)
1243 TEST_FIELD_SIZE (SHELLDETAILS, cxChar, 4)
1244 TEST_FIELD_ALIGN (SHELLDETAILS, cxChar, 1)
1245 TEST_FIELD_OFFSET(SHELLDETAILS, cxChar, 4)
1246 }
1247
1248 static void test_pack_SHITEMID(void)
1249 {
1250 /* SHITEMID (pack 1) */
1251 TEST_TYPE_SIZE (SHITEMID, 3)
1252 TEST_TYPE_ALIGN (SHITEMID, 1)
1253 TEST_FIELD_SIZE (SHITEMID, cb, 2)
1254 TEST_FIELD_ALIGN (SHITEMID, cb, 1)
1255 TEST_FIELD_OFFSET(SHITEMID, cb, 0)
1256 TEST_FIELD_SIZE (SHITEMID, abID, 1)
1257 TEST_FIELD_ALIGN (SHITEMID, abID, 1)
1258 TEST_FIELD_OFFSET(SHITEMID, abID, 2)
1259 }
1260
1261 static void test_pack_STRRET(void)
1262 {
1263 /* STRRET (pack 8) */
1264 TEST_FIELD_SIZE (STRRET, uType, 4)
1265 TEST_FIELD_ALIGN (STRRET, uType, 4)
1266 TEST_FIELD_OFFSET(STRRET, uType, 0)
1267 }
1268
1269 static void test_pack_AUTO_SCROLL_DATA(void)
1270 {
1271 /* AUTO_SCROLL_DATA (pack 1) */
1272 TEST_TYPE_SIZE (AUTO_SCROLL_DATA, 48)
1273 TEST_TYPE_ALIGN (AUTO_SCROLL_DATA, 1)
1274 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, iNextSample, 4)
1275 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, iNextSample, 1)
1276 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, iNextSample, 0)
1277 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, dwLastScroll, 4)
1278 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwLastScroll, 1)
1279 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwLastScroll, 4)
1280 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, bFull, 4)
1281 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, bFull, 1)
1282 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, bFull, 8)
1283 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, pts, 24)
1284 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, pts, 1)
1285 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, pts, 12)
1286 TEST_FIELD_SIZE (AUTO_SCROLL_DATA, dwTimes, 12)
1287 TEST_FIELD_ALIGN (AUTO_SCROLL_DATA, dwTimes, 1)
1288 TEST_FIELD_OFFSET(AUTO_SCROLL_DATA, dwTimes, 36)
1289 }
1290
1291 static void test_pack_BFFCALLBACK(void)
1292 {
1293 /* BFFCALLBACK */
1294 TEST_TYPE_SIZE (BFFCALLBACK, 8)
1295 TEST_TYPE_ALIGN (BFFCALLBACK, 8)
1296 }
1297
1298 static void test_pack_BROWSEINFOA(void)
1299 {
1300 /* BROWSEINFOA (pack 8) */
1301 TEST_TYPE_SIZE (BROWSEINFOA, 64)
1302 TEST_TYPE_ALIGN (BROWSEINFOA, 8)
1303 TEST_FIELD_SIZE (BROWSEINFOA, hwndOwner, 8)
1304 TEST_FIELD_ALIGN (BROWSEINFOA, hwndOwner, 8)
1305 TEST_FIELD_OFFSET(BROWSEINFOA, hwndOwner, 0)
1306 TEST_FIELD_SIZE (BROWSEINFOA, pidlRoot, 8)
1307 TEST_FIELD_ALIGN (BROWSEINFOA, pidlRoot, 8)
1308 TEST_FIELD_OFFSET(BROWSEINFOA, pidlRoot, 8)
1309 TEST_FIELD_SIZE (BROWSEINFOA, pszDisplayName, 8)
1310 TEST_FIELD_ALIGN (BROWSEINFOA, pszDisplayName, 8)
1311 TEST_FIELD_OFFSET(BROWSEINFOA, pszDisplayName, 16)
1312 TEST_FIELD_SIZE (BROWSEINFOA, lpszTitle, 8)
1313 TEST_FIELD_ALIGN (BROWSEINFOA, lpszTitle, 8)
1314 TEST_FIELD_OFFSET(BROWSEINFOA, lpszTitle, 24)
1315 TEST_FIELD_SIZE (BROWSEINFOA, ulFlags, 4)
1316 TEST_FIELD_ALIGN (BROWSEINFOA, ulFlags, 4)
1317 TEST_FIELD_OFFSET(BROWSEINFOA, ulFlags, 32)
1318 TEST_FIELD_SIZE (BROWSEINFOA, lpfn, 8)
1319 TEST_FIELD_ALIGN (BROWSEINFOA, lpfn, 8)
1320 TEST_FIELD_OFFSET(BROWSEINFOA, lpfn, 40)
1321 TEST_FIELD_SIZE (BROWSEINFOA, lParam, 8)
1322 TEST_FIELD_ALIGN (BROWSEINFOA, lParam, 8)
1323 TEST_FIELD_OFFSET(BROWSEINFOA, lParam, 48)
1324 TEST_FIELD_SIZE (BROWSEINFOA, iImage, 4)
1325 TEST_FIELD_ALIGN (BROWSEINFOA, iImage, 4)
1326 TEST_FIELD_OFFSET(BROWSEINFOA, iImage, 56)
1327 }
1328
1329 static void test_pack_BROWSEINFOW(void)
1330 {
1331 /* BROWSEINFOW (pack 8) */
1332 TEST_TYPE_SIZE (BROWSEINFOW, 64)
1333 TEST_TYPE_ALIGN (BROWSEINFOW, 8)
1334 TEST_FIELD_SIZE (BROWSEINFOW, hwndOwner, 8)
1335 TEST_FIELD_ALIGN (BROWSEINFOW, hwndOwner, 8)
1336 TEST_FIELD_OFFSET(BROWSEINFOW, hwndOwner, 0)
1337 TEST_FIELD_SIZE (BROWSEINFOW, pidlRoot, 8)
1338 TEST_FIELD_ALIGN (BROWSEINFOW, pidlRoot, 8)
1339 TEST_FIELD_OFFSET(BROWSEINFOW, pidlRoot, 8)
1340 TEST_FIELD_SIZE (BROWSEINFOW, pszDisplayName, 8)
1341 TEST_FIELD_ALIGN (BROWSEINFOW, pszDisplayName, 8)
1342 TEST_FIELD_OFFSET(BROWSEINFOW, pszDisplayName, 16)
1343 TEST_FIELD_SIZE (BROWSEINFOW, lpszTitle, 8)
1344 TEST_FIELD_ALIGN (BROWSEINFOW, lpszTitle, 8)
1345 TEST_FIELD_OFFSET(BROWSEINFOW, lpszTitle, 24)
1346 TEST_FIELD_SIZE (BROWSEINFOW, ulFlags, 4)
1347 TEST_FIELD_ALIGN (BROWSEINFOW, ulFlags, 4)
1348 TEST_FIELD_OFFSET(BROWSEINFOW, ulFlags, 32)
1349 TEST_FIELD_SIZE (BROWSEINFOW, lpfn, 8)
1350 TEST_FIELD_ALIGN (BROWSEINFOW, lpfn, 8)
1351 TEST_FIELD_OFFSET(BROWSEINFOW, lpfn, 40)
1352 TEST_FIELD_SIZE (BROWSEINFOW, lParam, 8)
1353 TEST_FIELD_ALIGN (BROWSEINFOW, lParam, 8)
1354 TEST_FIELD_OFFSET(BROWSEINFOW, lParam, 48)
1355 TEST_FIELD_SIZE (BROWSEINFOW, iImage, 4)
1356 TEST_FIELD_ALIGN (BROWSEINFOW, iImage, 4)
1357 TEST_FIELD_OFFSET(BROWSEINFOW, iImage, 56)
1358 }
1359
1360 static void test_pack_CABINETSTATE(void)
1361 {
1362 /* CABINETSTATE (pack 1) */
1363 TEST_TYPE_SIZE (CABINETSTATE, 12)
1364 TEST_TYPE_ALIGN (CABINETSTATE, 1)
1365 TEST_FIELD_SIZE (CABINETSTATE, cLength, 2)
1366 TEST_FIELD_ALIGN (CABINETSTATE, cLength, 1)
1367 TEST_FIELD_OFFSET(CABINETSTATE, cLength, 0)
1368 TEST_FIELD_SIZE (CABINETSTATE, nVersion, 2)
1369 TEST_FIELD_ALIGN (CABINETSTATE, nVersion, 1)
1370 TEST_FIELD_OFFSET(CABINETSTATE, nVersion, 2)
1371 TEST_FIELD_SIZE (CABINETSTATE, fMenuEnumFilter, 4)
1372 TEST_FIELD_ALIGN (CABINETSTATE, fMenuEnumFilter, 1)
1373 TEST_FIELD_OFFSET(CABINETSTATE, fMenuEnumFilter, 8)
1374 }
1375
1376 static void test_pack_CIDA(void)
1377 {
1378 /* CIDA (pack 1) */
1379 TEST_TYPE_SIZE (CIDA, 8)
1380 TEST_TYPE_ALIGN (CIDA, 1)
1381 TEST_FIELD_SIZE (CIDA, cidl, 4)
1382 TEST_FIELD_ALIGN (CIDA, cidl, 1)
1383 TEST_FIELD_OFFSET(CIDA, cidl, 0)
1384 TEST_FIELD_SIZE (CIDA, aoffset, 4)
1385 TEST_FIELD_ALIGN (CIDA, aoffset, 1)
1386 TEST_FIELD_OFFSET(CIDA, aoffset, 4)
1387 }
1388
1389 static void test_pack_CSFV(void)
1390 {
1391 /* CSFV (pack 8) */
1392 TEST_FIELD_SIZE (CSFV, cbSize, 4)
1393 TEST_FIELD_ALIGN (CSFV, cbSize, 4)
1394 TEST_FIELD_OFFSET(CSFV, cbSize, 0)
1395 TEST_FIELD_SIZE (CSFV, pshf, 8)
1396 TEST_FIELD_ALIGN (CSFV, pshf, 8)
1397 TEST_FIELD_OFFSET(CSFV, pshf, 8)
1398 TEST_FIELD_SIZE (CSFV, psvOuter, 8)
1399 TEST_FIELD_ALIGN (CSFV, psvOuter, 8)
1400 TEST_FIELD_OFFSET(CSFV, psvOuter, 16)
1401 TEST_FIELD_SIZE (CSFV, pidl, 8)
1402 TEST_FIELD_ALIGN (CSFV, pidl, 8)
1403 TEST_FIELD_OFFSET(CSFV, pidl, 24)
1404 TEST_FIELD_SIZE (CSFV, lEvents, 4)
1405 TEST_FIELD_ALIGN (CSFV, lEvents, 4)
1406 TEST_FIELD_OFFSET(CSFV, lEvents, 32)
1407 TEST_FIELD_SIZE (CSFV, pfnCallback, 8)
1408 TEST_FIELD_ALIGN (CSFV, pfnCallback, 8)
1409 TEST_FIELD_OFFSET(CSFV, pfnCallback, 40)
1410 }
1411
1412 static void test_pack_DROPFILES(void)
1413 {
1414 /* DROPFILES (pack 1) */
1415 TEST_TYPE_SIZE (DROPFILES, 20)
1416 TEST_TYPE_ALIGN (DROPFILES, 1)
1417 TEST_FIELD_SIZE (DROPFILES, pFiles, 4)
1418 TEST_FIELD_ALIGN (DROPFILES, pFiles, 1)
1419 TEST_FIELD_OFFSET(DROPFILES, pFiles, 0)
1420 TEST_FIELD_SIZE (DROPFILES, pt, 8)
1421 TEST_FIELD_ALIGN (DROPFILES, pt, 1)
1422 TEST_FIELD_OFFSET(DROPFILES, pt, 4)
1423 TEST_FIELD_SIZE (DROPFILES, fNC, 4)
1424 TEST_FIELD_ALIGN (DROPFILES, fNC, 1)
1425 TEST_FIELD_OFFSET(DROPFILES, fNC, 12)
1426 TEST_FIELD_SIZE (DROPFILES, fWide, 4)
1427 TEST_FIELD_ALIGN (DROPFILES, fWide, 1)
1428 TEST_FIELD_OFFSET(DROPFILES, fWide, 16)
1429 }
1430
1431 static void test_pack_FILEDESCRIPTORA(void)
1432 {
1433 /* FILEDESCRIPTORA (pack 1) */
1434 TEST_TYPE_SIZE (FILEDESCRIPTORA, 332)
1435 TEST_TYPE_ALIGN (FILEDESCRIPTORA, 1)
1436 TEST_FIELD_SIZE (FILEDESCRIPTORA, dwFlags, 4)
1437 TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFlags, 1)
1438 TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFlags, 0)
1439 TEST_FIELD_SIZE (FILEDESCRIPTORA, clsid, 16)
1440 TEST_FIELD_ALIGN (FILEDESCRIPTORA, clsid, 1)
1441 TEST_FIELD_OFFSET(FILEDESCRIPTORA, clsid, 4)
1442 TEST_FIELD_SIZE (FILEDESCRIPTORA, sizel, 8)
1443 TEST_FIELD_ALIGN (FILEDESCRIPTORA, sizel, 1)
1444 TEST_FIELD_OFFSET(FILEDESCRIPTORA, sizel, 20)
1445 TEST_FIELD_SIZE (FILEDESCRIPTORA, pointl, 8)
1446 TEST_FIELD_ALIGN (FILEDESCRIPTORA, pointl, 1)
1447 TEST_FIELD_OFFSET(FILEDESCRIPTORA, pointl, 28)
1448 TEST_FIELD_SIZE (FILEDESCRIPTORA, dwFileAttributes, 4)
1449 TEST_FIELD_ALIGN (FILEDESCRIPTORA, dwFileAttributes, 1)
1450 TEST_FIELD_OFFSET(FILEDESCRIPTORA, dwFileAttributes, 36)
1451 TEST_FIELD_SIZE (FILEDESCRIPTORA, ftCreationTime, 8)
1452 TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftCreationTime, 1)
1453 TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftCreationTime, 40)
1454 TEST_FIELD_SIZE (FILEDESCRIPTORA, ftLastAccessTime, 8)
1455 TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastAccessTime, 1)
1456 TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastAccessTime, 48)
1457 TEST_FIELD_SIZE (FILEDESCRIPTORA, ftLastWriteTime, 8)
1458 TEST_FIELD_ALIGN (FILEDESCRIPTORA, ftLastWriteTime, 1)
1459 TEST_FIELD_OFFSET(FILEDESCRIPTORA, ftLastWriteTime, 56)
1460 TEST_FIELD_SIZE (FILEDESCRIPTORA, nFileSizeHigh, 4)
1461 TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeHigh, 1)
1462 TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeHigh, 64)
1463 TEST_FIELD_SIZE (FILEDESCRIPTORA, nFileSizeLow, 4)
1464 TEST_FIELD_ALIGN (FILEDESCRIPTORA, nFileSizeLow, 1)
1465 TEST_FIELD_OFFSET(FILEDESCRIPTORA, nFileSizeLow, 68)
1466 TEST_FIELD_SIZE (FILEDESCRIPTORA, cFileName, 260)
1467 TEST_FIELD_ALIGN (FILEDESCRIPTORA, cFileName, 1)
1468 TEST_FIELD_OFFSET(FILEDESCRIPTORA, cFileName, 72)
1469 }
1470
1471 static void test_pack_FILEDESCRIPTORW(void)
1472 {
1473 /* FILEDESCRIPTORW (pack 1) */
1474 TEST_TYPE_SIZE (FILEDESCRIPTORW, 592)
1475 TEST_TYPE_ALIGN (FILEDESCRIPTORW, 1)
1476 TEST_FIELD_SIZE (FILEDESCRIPTORW, dwFlags, 4)
1477 TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFlags, 1)
1478 TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFlags, 0)
1479 TEST_FIELD_SIZE (FILEDESCRIPTORW, clsid, 16)
1480 TEST_FIELD_ALIGN (FILEDESCRIPTORW, clsid, 1)
1481 TEST_FIELD_OFFSET(FILEDESCRIPTORW, clsid, 4)
1482 TEST_FIELD_SIZE (FILEDESCRIPTORW, sizel, 8)
1483 TEST_FIELD_ALIGN (FILEDESCRIPTORW, sizel, 1)
1484 TEST_FIELD_OFFSET(FILEDESCRIPTORW, sizel, 20)
1485 TEST_FIELD_SIZE (FILEDESCRIPTORW, pointl, 8)
1486 TEST_FIELD_ALIGN (FILEDESCRIPTORW, pointl, 1)
1487 TEST_FIELD_OFFSET(FILEDESCRIPTORW, pointl, 28)
1488 TEST_FIELD_SIZE (FILEDESCRIPTORW, dwFileAttributes, 4)
1489 TEST_FIELD_ALIGN (FILEDESCRIPTORW, dwFileAttributes, 1)
1490 TEST_FIELD_OFFSET(FILEDESCRIPTORW, dwFileAttributes, 36)
1491 TEST_FIELD_SIZE (FILEDESCRIPTORW, ftCreationTime, 8)
1492 TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftCreationTime, 1)
1493 TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftCreationTime, 40)
1494 TEST_FIELD_SIZE (FILEDESCRIPTORW, ftLastAccessTime, 8)
1495 TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastAccessTime, 1)
1496 TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastAccessTime, 48)
1497 TEST_FIELD_SIZE (FILEDESCRIPTORW, ftLastWriteTime, 8)
1498 TEST_FIELD_ALIGN (FILEDESCRIPTORW, ftLastWriteTime, 1)
1499 TEST_FIELD_OFFSET(FILEDESCRIPTORW, ftLastWriteTime, 56)
1500 TEST_FIELD_SIZE (FILEDESCRIPTORW, nFileSizeHigh, 4)
1501 TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeHigh, 1)
1502 TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeHigh, 64)
1503 TEST_FIELD_SIZE (FILEDESCRIPTORW, nFileSizeLow, 4)
1504 TEST_FIELD_ALIGN (FILEDESCRIPTORW, nFileSizeLow, 1)
1505 TEST_FIELD_OFFSET(FILEDESCRIPTORW, nFileSizeLow, 68)
1506 TEST_FIELD_SIZE (FILEDESCRIPTORW, cFileName, 520)
1507 TEST_FIELD_ALIGN (FILEDESCRIPTORW, cFileName, 1)
1508 TEST_FIELD_OFFSET(FILEDESCRIPTORW, cFileName, 72)
1509 }
1510
1511 static void test_pack_FILEGROUPDESCRIPTORA(void)
1512 {
1513 /* FILEGROUPDESCRIPTORA (pack 1) */
1514 TEST_TYPE_SIZE (FILEGROUPDESCRIPTORA, 336)
1515 TEST_TYPE_ALIGN (FILEGROUPDESCRIPTORA, 1)
1516 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORA, cItems, 4)
1517 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, cItems, 1)
1518 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, cItems, 0)
1519 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORA, fgd, 332)
1520 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORA, fgd, 1)
1521 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORA, fgd, 4)
1522 }
1523
1524 static void test_pack_FILEGROUPDESCRIPTORW(void)
1525 {
1526 /* FILEGROUPDESCRIPTORW (pack 1) */
1527 TEST_TYPE_SIZE (FILEGROUPDESCRIPTORW, 596)
1528 TEST_TYPE_ALIGN (FILEGROUPDESCRIPTORW, 1)
1529 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORW, cItems, 4)
1530 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, cItems, 1)
1531 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, cItems, 0)
1532 TEST_FIELD_SIZE (FILEGROUPDESCRIPTORW, fgd, 592)
1533 TEST_FIELD_ALIGN (FILEGROUPDESCRIPTORW, fgd, 1)
1534 TEST_FIELD_OFFSET(FILEGROUPDESCRIPTORW, fgd, 4)
1535 }
1536
1537 static void test_pack_ITEMSPACING(void)
1538 {
1539 /* ITEMSPACING (pack 8) */
1540 TEST_TYPE_SIZE (ITEMSPACING, 16)
1541 TEST_TYPE_ALIGN (ITEMSPACING, 4)
1542 TEST_FIELD_SIZE (ITEMSPACING, cxSmall, 4)
1543 TEST_FIELD_ALIGN (ITEMSPACING, cxSmall, 4)
1544 TEST_FIELD_OFFSET(ITEMSPACING, cxSmall, 0)
1545 TEST_FIELD_SIZE (ITEMSPACING, cySmall, 4)
1546 TEST_FIELD_ALIGN (ITEMSPACING, cySmall, 4)
1547 TEST_FIELD_OFFSET(ITEMSPACING, cySmall, 4)
1548 TEST_FIELD_SIZE (ITEMSPACING, cxLarge, 4)
1549 TEST_FIELD_ALIGN (ITEMSPACING, cxLarge, 4)
1550 TEST_FIELD_OFFSET(ITEMSPACING, cxLarge, 8)
1551 TEST_FIELD_SIZE (ITEMSPACING, cyLarge, 4)
1552 TEST_FIELD_ALIGN (ITEMSPACING, cyLarge, 4)
1553 TEST_FIELD_OFFSET(ITEMSPACING, cyLarge, 12)
1554 }
1555
1556 static void test_pack_LPBROWSEINFOA(void)
1557 {
1558 /* LPBROWSEINFOA */
1559 TEST_TYPE_SIZE (LPBROWSEINFOA, 8)
1560 TEST_TYPE_ALIGN (LPBROWSEINFOA, 8)
1561 TEST_TARGET_SIZE (LPBROWSEINFOA, 64)
1562 TEST_TARGET_ALIGN(LPBROWSEINFOA, 8)
1563 }
1564
1565 static void test_pack_LPBROWSEINFOW(void)
1566 {
1567 /* LPBROWSEINFOW */
1568 TEST_TYPE_SIZE (LPBROWSEINFOW, 8)
1569 TEST_TYPE_ALIGN (LPBROWSEINFOW, 8)
1570 TEST_TARGET_SIZE (LPBROWSEINFOW, 64)
1571 TEST_TARGET_ALIGN(LPBROWSEINFOW, 8)
1572 }
1573
1574 static void test_pack_LPCABINETSTATE(void)
1575 {
1576 /* LPCABINETSTATE */
1577 TEST_TYPE_SIZE (LPCABINETSTATE, 8)
1578 TEST_TYPE_ALIGN (LPCABINETSTATE, 8)
1579 TEST_TARGET_SIZE (LPCABINETSTATE, 12)
1580 TEST_TARGET_ALIGN(LPCABINETSTATE, 1)
1581 }
1582
1583 static void test_pack_LPCSFV(void)
1584 {
1585 /* LPCSFV */
1586 TEST_TYPE_SIZE (LPCSFV, 8)
1587 TEST_TYPE_ALIGN (LPCSFV, 8)
1588 }
1589
1590 static void test_pack_LPDROPFILES(void)
1591 {
1592 /* LPDROPFILES */
1593 TEST_TYPE_SIZE (LPDROPFILES, 8)
1594 TEST_TYPE_ALIGN (LPDROPFILES, 8)
1595 TEST_TARGET_SIZE (LPDROPFILES, 20)
1596 TEST_TARGET_ALIGN(LPDROPFILES, 1)
1597 }
1598
1599 static void test_pack_LPFILEDESCRIPTORA(void)
1600 {
1601 /* LPFILEDESCRIPTORA */
1602 TEST_TYPE_SIZE (LPFILEDESCRIPTORA, 8)
1603 TEST_TYPE_ALIGN (LPFILEDESCRIPTORA, 8)
1604 TEST_TARGET_SIZE (LPFILEDESCRIPTORA, 332)
1605 TEST_TARGET_ALIGN(LPFILEDESCRIPTORA, 1)
1606 }
1607
1608 static void test_pack_LPFILEDESCRIPTORW(void)
1609 {
1610 /* LPFILEDESCRIPTORW */
1611 TEST_TYPE_SIZE (LPFILEDESCRIPTORW, 8)
1612 TEST_TYPE_ALIGN (LPFILEDESCRIPTORW, 8)
1613 TEST_TARGET_SIZE (LPFILEDESCRIPTORW, 592)
1614 TEST_TARGET_ALIGN(LPFILEDESCRIPTORW, 1)
1615 }
1616
1617 static void test_pack_LPFILEGROUPDESCRIPTORA(void)
1618 {
1619 /* LPFILEGROUPDESCRIPTORA */
1620 TEST_TYPE_SIZE (LPFILEGROUPDESCRIPTORA, 8)
1621 TEST_TYPE_ALIGN (LPFILEGROUPDESCRIPTORA, 8)
1622 TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORA, 336)
1623 TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORA, 1)
1624 }
1625
1626 static void test_pack_LPFILEGROUPDESCRIPTORW(void)
1627 {
1628 /* LPFILEGROUPDESCRIPTORW */
1629 TEST_TYPE_SIZE (LPFILEGROUPDESCRIPTORW, 8)
1630 TEST_TYPE_ALIGN (LPFILEGROUPDESCRIPTORW, 8)
1631 TEST_TARGET_SIZE (LPFILEGROUPDESCRIPTORW, 596)
1632 TEST_TARGET_ALIGN(LPFILEGROUPDESCRIPTORW, 1)
1633 }
1634
1635 static void test_pack_LPFNVIEWCALLBACK(void)
1636 {
1637 /* LPFNVIEWCALLBACK */
1638 TEST_TYPE_SIZE (LPFNVIEWCALLBACK, 8)
1639 TEST_TYPE_ALIGN (LPFNVIEWCALLBACK, 8)
1640 }
1641
1642 static void test_pack_LPIDA(void)
1643 {
1644 /* LPIDA */
1645 TEST_TYPE_SIZE (LPIDA, 8)
1646 TEST_TYPE_ALIGN (LPIDA, 8)
1647 TEST_TARGET_SIZE (LPIDA, 8)
1648 TEST_TARGET_ALIGN(LPIDA, 1)
1649 }
1650
1651 static void test_pack_LPQCMINFO(void)
1652 {
1653 /* LPQCMINFO */
1654 TEST_TYPE_SIZE (LPQCMINFO, 8)
1655 TEST_TYPE_ALIGN (LPQCMINFO, 8)
1656 TEST_TARGET_SIZE (LPQCMINFO, 32)
1657 TEST_TARGET_ALIGN(LPQCMINFO, 8)
1658 }
1659
1660 static void test_pack_LPSHChangeDWORDAsIDList(void)
1661 {
1662 /* LPSHChangeDWORDAsIDList */
1663 TEST_TYPE_SIZE (LPSHChangeDWORDAsIDList, 8)
1664 TEST_TYPE_ALIGN (LPSHChangeDWORDAsIDList, 8)
1665 TEST_TARGET_SIZE (LPSHChangeDWORDAsIDList, 12)
1666 TEST_TARGET_ALIGN(LPSHChangeDWORDAsIDList, 1)
1667 }
1668
1669 static void test_pack_LPSHChangeProductKeyAsIDList(void)
1670 {
1671 /* LPSHChangeProductKeyAsIDList */
1672 TEST_TYPE_SIZE (LPSHChangeProductKeyAsIDList, 8)
1673 TEST_TYPE_ALIGN (LPSHChangeProductKeyAsIDList, 8)
1674 TEST_TARGET_SIZE (LPSHChangeProductKeyAsIDList, 82)
1675 TEST_TARGET_ALIGN(LPSHChangeProductKeyAsIDList, 1)
1676 }
1677
1678 static void test_pack_LPSHDESCRIPTIONID(void)
1679 {
1680 /* LPSHDESCRIPTIONID */
1681 TEST_TYPE_SIZE (LPSHDESCRIPTIONID, 8)
1682 TEST_TYPE_ALIGN (LPSHDESCRIPTIONID, 8)
1683 TEST_TARGET_SIZE (LPSHDESCRIPTIONID, 20)
1684 TEST_TARGET_ALIGN(LPSHDESCRIPTIONID, 4)
1685 }
1686
1687 static void test_pack_LPSHELLFLAGSTATE(void)
1688 {
1689 /* LPSHELLFLAGSTATE */
1690 TEST_TYPE_SIZE (LPSHELLFLAGSTATE, 8)
1691 TEST_TYPE_ALIGN (LPSHELLFLAGSTATE, 8)
1692 TEST_TARGET_SIZE (LPSHELLFLAGSTATE, 4)
1693 TEST_TARGET_ALIGN(LPSHELLFLAGSTATE, 1)
1694 }
1695
1696 static void test_pack_LPSHELLSTATE(void)
1697 {
1698 /* LPSHELLSTATE */
1699 TEST_TYPE_SIZE (LPSHELLSTATE, 8)
1700 TEST_TYPE_ALIGN (LPSHELLSTATE, 8)
1701 TEST_TARGET_SIZE (LPSHELLSTATE, 32)
1702 TEST_TARGET_ALIGN(LPSHELLSTATE, 1)
1703 }
1704
1705 static void test_pack_LPTBINFO(void)
1706 {
1707 /* LPTBINFO */
1708 TEST_TYPE_SIZE (LPTBINFO, 8)
1709 TEST_TYPE_ALIGN (LPTBINFO, 8)
1710 TEST_TARGET_SIZE (LPTBINFO, 8)
1711 TEST_TARGET_ALIGN(LPTBINFO, 4)
1712 }
1713
1714 static void test_pack_PBROWSEINFOA(void)
1715 {
1716 /* PBROWSEINFOA */
1717 TEST_TYPE_SIZE (PBROWSEINFOA, 8)
1718 TEST_TYPE_ALIGN (PBROWSEINFOA, 8)
1719 TEST_TARGET_SIZE (PBROWSEINFOA, 64)
1720 TEST_TARGET_ALIGN(PBROWSEINFOA, 8)
1721 }
1722
1723 static void test_pack_PBROWSEINFOW(void)
1724 {
1725 /* PBROWSEINFOW */
1726 TEST_TYPE_SIZE (PBROWSEINFOW, 8)
1727 TEST_TYPE_ALIGN (PBROWSEINFOW, 8)
1728 TEST_TARGET_SIZE (PBROWSEINFOW, 64)
1729 TEST_TARGET_ALIGN(PBROWSEINFOW, 8)
1730 }
1731
1732 static void test_pack_QCMINFO(void)
1733 {
1734 /* QCMINFO (pack 8) */
1735 TEST_TYPE_SIZE (QCMINFO, 32)
1736 TEST_TYPE_ALIGN (QCMINFO, 8)
1737 TEST_FIELD_SIZE (QCMINFO, hmenu, 8)
1738 TEST_FIELD_ALIGN (QCMINFO, hmenu, 8)
1739 TEST_FIELD_OFFSET(QCMINFO, hmenu, 0)
1740 TEST_FIELD_SIZE (QCMINFO, indexMenu, 4)
1741 TEST_FIELD_ALIGN (QCMINFO, indexMenu, 4)
1742 TEST_FIELD_OFFSET(QCMINFO, indexMenu, 8)
1743 TEST_FIELD_SIZE (QCMINFO, idCmdFirst, 4)
1744 TEST_FIELD_ALIGN (QCMINFO, idCmdFirst, 4)
1745 TEST_FIELD_OFFSET(QCMINFO, idCmdFirst, 12)
1746 TEST_FIELD_SIZE (QCMINFO, idCmdLast, 4)
1747 TEST_FIELD_ALIGN (QCMINFO, idCmdLast, 4)
1748 TEST_FIELD_OFFSET(QCMINFO, idCmdLast, 16)
1749 TEST_FIELD_SIZE (QCMINFO, pIdMap, 8)
1750 TEST_FIELD_ALIGN (QCMINFO, pIdMap, 8)
1751 TEST_FIELD_OFFSET(QCMINFO, pIdMap, 24)
1752 }
1753
1754 static void test_pack_QCMINFO_IDMAP(void)
1755 {
1756 /* QCMINFO_IDMAP (pack 8) */
1757 TEST_TYPE_SIZE (QCMINFO_IDMAP, 12)
1758 TEST_TYPE_ALIGN (QCMINFO_IDMAP, 4)
1759 TEST_FIELD_SIZE (QCMINFO_IDMAP, nMaxIds, 4)
1760 TEST_FIELD_ALIGN (QCMINFO_IDMAP, nMaxIds, 4)
1761 TEST_FIELD_OFFSET(QCMINFO_IDMAP, nMaxIds, 0)
1762 TEST_FIELD_SIZE (QCMINFO_IDMAP, pIdList, 8)
1763 TEST_FIELD_ALIGN (QCMINFO_IDMAP, pIdList, 4)
1764 TEST_FIELD_OFFSET(QCMINFO_IDMAP, pIdList, 4)
1765 }
1766
1767 static void test_pack_QCMINFO_IDMAP_PLACEMENT(void)
1768 {
1769 /* QCMINFO_IDMAP_PLACEMENT (pack 8) */
1770 TEST_TYPE_SIZE (QCMINFO_IDMAP_PLACEMENT, 8)
1771 TEST_TYPE_ALIGN (QCMINFO_IDMAP_PLACEMENT, 4)
1772 TEST_FIELD_SIZE (QCMINFO_IDMAP_PLACEMENT, id, 4)
1773 TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, id, 4)
1774 TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, id, 0)
1775 TEST_FIELD_SIZE (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1776 TEST_FIELD_ALIGN (QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1777 TEST_FIELD_OFFSET(QCMINFO_IDMAP_PLACEMENT, fFlags, 4)
1778 }
1779
1780 static void test_pack_SFV_CREATE(void)
1781 {
1782 /* SFV_CREATE (pack 8) */
1783 TEST_TYPE_SIZE (SFV_CREATE, 32)
1784 TEST_TYPE_ALIGN (SFV_CREATE, 8)
1785 TEST_FIELD_SIZE (SFV_CREATE, cbSize, 4)
1786 TEST_FIELD_ALIGN (SFV_CREATE, cbSize, 4)
1787 TEST_FIELD_OFFSET(SFV_CREATE, cbSize, 0)
1788 TEST_FIELD_SIZE (SFV_CREATE, pshf, 8)
1789 TEST_FIELD_ALIGN (SFV_CREATE, pshf, 8)
1790 TEST_FIELD_OFFSET(SFV_CREATE, pshf, 8)
1791 TEST_FIELD_SIZE (SFV_CREATE, psvOuter, 8)
1792 TEST_FIELD_ALIGN (SFV_CREATE, psvOuter, 8)
1793 TEST_FIELD_OFFSET(SFV_CREATE, psvOuter, 16)
1794 TEST_FIELD_SIZE (SFV_CREATE, psfvcb, 8)
1795 TEST_FIELD_ALIGN (SFV_CREATE, psfvcb, 8)
1796 TEST_FIELD_OFFSET(SFV_CREATE, psfvcb, 24)
1797 }
1798
1799 static void test_pack_SHChangeDWORDAsIDList(void)
1800 {
1801 /* SHChangeDWORDAsIDList (pack 1) */
1802 TEST_TYPE_SIZE (SHChangeDWORDAsIDList, 12)
1803 TEST_TYPE_ALIGN (SHChangeDWORDAsIDList, 1)
1804 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, cb, 2)
1805 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cb, 1)
1806 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cb, 0)
1807 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, dwItem1, 4)
1808 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem1, 1)
1809 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem1, 2)
1810 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, dwItem2, 4)
1811 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, dwItem2, 1)
1812 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, dwItem2, 6)
1813 TEST_FIELD_SIZE (SHChangeDWORDAsIDList, cbZero, 2)
1814 TEST_FIELD_ALIGN (SHChangeDWORDAsIDList, cbZero, 1)
1815 TEST_FIELD_OFFSET(SHChangeDWORDAsIDList, cbZero, 10)
1816 }
1817
1818 static void test_pack_SHChangeNotifyEntry(void)
1819 {
1820 /* SHChangeNotifyEntry (pack 1) */
1821 TEST_TYPE_SIZE (SHChangeNotifyEntry, 12)
1822 TEST_TYPE_ALIGN (SHChangeNotifyEntry, 1)
1823 TEST_FIELD_SIZE (SHChangeNotifyEntry, pidl, 8)
1824 TEST_FIELD_ALIGN (SHChangeNotifyEntry, pidl, 1)
1825 TEST_FIELD_OFFSET(SHChangeNotifyEntry, pidl, 0)
1826 TEST_FIELD_SIZE (SHChangeNotifyEntry, fRecursive, 4)
1827 TEST_FIELD_ALIGN (SHChangeNotifyEntry, fRecursive, 1)
1828 TEST_FIELD_OFFSET(SHChangeNotifyEntry, fRecursive, 8)
1829 }
1830
1831 static void test_pack_SHChangeProductKeyAsIDList(void)
1832 {
1833 /* SHChangeProductKeyAsIDList (pack 1) */
1834 TEST_TYPE_SIZE (SHChangeProductKeyAsIDList, 82)
1835 TEST_TYPE_ALIGN (SHChangeProductKeyAsIDList, 1)
1836 TEST_FIELD_SIZE (SHChangeProductKeyAsIDList, cb, 2)
1837 TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cb, 1)
1838 TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cb, 0)
1839 TEST_FIELD_SIZE (SHChangeProductKeyAsIDList, wszProductKey, 78)
1840 TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, wszProductKey, 1)
1841 TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, wszProductKey, 2)
1842 TEST_FIELD_SIZE (SHChangeProductKeyAsIDList, cbZero, 2)
1843 TEST_FIELD_ALIGN (SHChangeProductKeyAsIDList, cbZero, 1)
1844 TEST_FIELD_OFFSET(SHChangeProductKeyAsIDList, cbZero, 80)
1845 }
1846
1847 static void test_pack_SHDESCRIPTIONID(void)
1848 {
1849 /* SHDESCRIPTIONID (pack 8) */
1850 TEST_TYPE_SIZE (SHDESCRIPTIONID, 20)
1851 TEST_TYPE_ALIGN (SHDESCRIPTIONID, 4)
1852 TEST_FIELD_SIZE (SHDESCRIPTIONID, dwDescriptionId, 4)
1853 TEST_FIELD_ALIGN (SHDESCRIPTIONID, dwDescriptionId, 4)
1854 TEST_FIELD_OFFSET(SHDESCRIPTIONID, dwDescriptionId, 0)
1855 TEST_FIELD_SIZE (SHDESCRIPTIONID, clsid, 16)
1856 TEST_FIELD_ALIGN (SHDESCRIPTIONID, clsid, 4)
1857 TEST_FIELD_OFFSET(SHDESCRIPTIONID, clsid, 4)
1858 }
1859
1860 static void test_pack_SHELLFLAGSTATE(void)
1861 {
1862 /* SHELLFLAGSTATE (pack 1) */
1863 TEST_TYPE_SIZE (SHELLFLAGSTATE, 4)
1864 TEST_TYPE_ALIGN (SHELLFLAGSTATE, 1)
1865 }
1866
1867 static void test_pack_SHELLSTATE(void)
1868 {
1869 /* SHELLSTATE (pack 1) */
1870 TEST_TYPE_SIZE (SHELLSTATE, 32)
1871 TEST_TYPE_ALIGN (SHELLSTATE, 1)
1872 TEST_FIELD_SIZE (SHELLSTATE, dwWin95Unused, 4)
1873 TEST_FIELD_ALIGN (SHELLSTATE, dwWin95Unused, 1)
1874 TEST_FIELD_OFFSET(SHELLSTATE, dwWin95Unused, 4)
1875 TEST_FIELD_SIZE (SHELLSTATE, uWin95Unused, 4)
1876 TEST_FIELD_ALIGN (SHELLSTATE, uWin95Unused, 1)
1877 TEST_FIELD_OFFSET(SHELLSTATE, uWin95Unused, 8)
1878 TEST_FIELD_SIZE (SHELLSTATE, lParamSort, 4)
1879 TEST_FIELD_ALIGN (SHELLSTATE, lParamSort, 1)
1880 TEST_FIELD_OFFSET(SHELLSTATE, lParamSort, 12)
1881 TEST_FIELD_SIZE (SHELLSTATE, iSortDirection, 4)
1882 TEST_FIELD_ALIGN (SHELLSTATE, iSortDirection, 1)
1883 TEST_FIELD_OFFSET(SHELLSTATE, iSortDirection, 16)
1884 TEST_FIELD_SIZE (SHELLSTATE, version, 4)
1885 TEST_FIELD_ALIGN (SHELLSTATE, version, 1)
1886 TEST_FIELD_OFFSET(SHELLSTATE, version, 20)
1887 TEST_FIELD_SIZE (SHELLSTATE, uNotUsed, 4)
1888 TEST_FIELD_ALIGN (SHELLSTATE, uNotUsed, 1)
1889 TEST_FIELD_OFFSET(SHELLSTATE, uNotUsed, 24)
1890 }
1891
1892 static void test_pack_TBINFO(void)
1893 {
1894 /* TBINFO (pack 8) */
1895 TEST_TYPE_SIZE (TBINFO, 8)
1896 TEST_TYPE_ALIGN (TBINFO, 4)
1897 TEST_FIELD_SIZE (TBINFO, cbuttons, 4)
1898 TEST_FIELD_ALIGN (TBINFO, cbuttons, 4)
1899 TEST_FIELD_OFFSET(TBINFO, cbuttons, 0)
1900 TEST_FIELD_SIZE (TBINFO, uFlags, 4)
1901 TEST_FIELD_ALIGN (TBINFO, uFlags, 4)
1902 TEST_FIELD_OFFSET(TBINFO, uFlags, 4)
1903 }
1904
1905 #else /* _WIN64 */
1906
1907 static void test_pack_BLOB(void)
1908 {
1909 /* BLOB */
1910 TEST_TYPE_SIZE (BLOB, 8)
1911 TEST_TYPE_ALIGN (BLOB, 4)
1912 TEST_FIELD_SIZE (BLOB, cbSize, 4)
1913 TEST_FIELD_ALIGN (BLOB, cbSize, 4)
1914 TEST_FIELD_OFFSET(BLOB, cbSize, 0)
1915 TEST_FIELD_SIZE (BLOB, pBlobData, 4)
1916 TEST_FIELD_ALIGN (BLOB, pBlobData, 4)
1917 TEST_FIELD_OFFSET(BLOB, pBlobData, 4)
1918 }
1919
1920 static void test_pack_BSTR(void)
1921 {
1922 /* BSTR */
1923 TEST_TYPE_SIZE (BSTR, 4)
1924 TEST_TYPE_ALIGN (BSTR, 4)
1925 TEST_TARGET_SIZE (BSTR, 2)
1926 TEST_TARGET_ALIGN(BSTR, 2)
1927 }
1928
1929 static void test_pack_BSTRBLOB(void)
1930 {
1931 /* BSTRBLOB */
1932 TEST_TYPE_SIZE (BSTRBLOB, 8)
1933 TEST_TYPE_ALIGN (BSTRBLOB, 4)
1934 TEST_FIELD_SIZE (BSTRBLOB, cbSize, 4)
1935 TEST_FIELD_ALIGN (BSTRBLOB, cbSize, 4)
1936 TEST_FIELD_OFFSET(BSTRBLOB, cbSize, 0)
1937 TEST_FIELD_SIZE (BSTRBLOB, pData, 4)
1938 TEST_FIELD_ALIGN (BSTRBLOB, pData, 4)
1939 TEST_FIELD_OFFSET(BSTRBLOB, pData, 4)
1940 }
1941
1942 static void test_pack_BYTE_BLOB(void)
1943 {
1944 /* BYTE_BLOB */
1945 TEST_TYPE_SIZE (BYTE_BLOB, 8)
1946 TEST_TYPE_ALIGN (BYTE_BLOB, 4)
1947 TEST_FIELD_SIZE (BYTE_BLOB, clSize, 4)
1948 TEST_FIELD_ALIGN (BYTE_BLOB, clSize, 4)
1949 TEST_FIELD_OFFSET(BYTE_BLOB, clSize, 0)
1950 TEST_FIELD_SIZE (BYTE_BLOB, abData, 1)
1951 TEST_FIELD_ALIGN (BYTE_BLOB, abData, 1)
1952 TEST_FIELD_OFFSET(BYTE_BLOB, abData, 4)
1953 }
1954
1955 static void test_pack_BYTE_SIZEDARR(void)
1956 {
1957 /* BYTE_SIZEDARR */
1958 TEST_TYPE_SIZE (BYTE_SIZEDARR, 8)
1959 TEST_TYPE_ALIGN (BYTE_SIZEDARR, 4)
1960 TEST_FIELD_SIZE (BYTE_SIZEDARR, clSize, 4)
1961 TEST_FIELD_ALIGN (BYTE_SIZEDARR, clSize, 4)
1962 TEST_FIELD_OFFSET(BYTE_SIZEDARR, clSize, 0)
1963 TEST_FIELD_SIZE (BYTE_SIZEDARR, pData, 4)
1964 TEST_FIELD_ALIGN (BYTE_SIZEDARR, pData, 4)
1965 TEST_FIELD_OFFSET(BYTE_SIZEDARR, pData, 4)
1966 }
1967
1968 static void test_pack_CLIPDATA(void)
1969 {
1970 /* CLIPDATA */
1971 TEST_TYPE_SIZE (CLIPDATA, 12)
1972 TEST_TYPE_ALIGN (CLIPDATA, 4)
1973 TEST_FIELD_SIZE (CLIPDATA, cbSize, 4)
1974 TEST_FIELD_ALIGN (CLIPDATA, cbSize, 4)
1975 TEST_FIELD_OFFSET(CLIPDATA, cbSize, 0)
1976 TEST_FIELD_SIZE (CLIPDATA, ulClipFmt, 4)
1977 TEST_FIELD_ALIGN (CLIPDATA, ulClipFmt, 4)
1978 TEST_FIELD_OFFSET(CLIPDATA, ulClipFmt, 4)
1979 TEST_FIELD_SIZE (CLIPDATA, pClipData, 4)
1980 TEST_FIELD_ALIGN (CLIPDATA, pClipData, 4)
1981 TEST_FIELD_OFFSET(CLIPDATA, pClipData, 8)
1982 }
1983
1984 static void test_pack_CLIPFORMAT(void)
1985 {
1986 /* CLIPFORMAT */
1987 TEST_TYPE_SIZE (CLIPFORMAT, 2)
1988 TEST_TYPE_ALIGN (CLIPFORMAT, 2)
1989 TEST_TYPE_UNSIGNED(CLIPFORMAT)
1990 }
1991
1992 static void test_pack_COAUTHIDENTITY(void)
1993 {
1994 /* COAUTHIDENTITY */
1995 TEST_TYPE_SIZE (COAUTHIDENTITY, 28)
1996 TEST_TYPE_ALIGN (COAUTHIDENTITY, 4)
1997 TEST_FIELD_SIZE (COAUTHIDENTITY, User, 4)
1998 TEST_FIELD_ALIGN (COAUTHIDENTITY, User, 4)
1999 TEST_FIELD_OFFSET(COAUTHIDENTITY, User, 0)
2000 TEST_FIELD_SIZE (COAUTHIDENTITY, UserLength, 4)
2001 TEST_FIELD_ALIGN (COAUTHIDENTITY, UserLength, 4)
2002 TEST_FIELD_OFFSET(COAUTHIDENTITY, UserLength, 4)
2003 TEST_FIELD_SIZE (COAUTHIDENTITY, Domain, 4)
2004 TEST_FIELD_ALIGN (COAUTHIDENTITY, Domain, 4)
2005 TEST_FIELD_OFFSET(COAUTHIDENTITY, Domain, 8)
2006 TEST_FIELD_SIZE (COAUTHIDENTITY, DomainLength, 4)
2007 TEST_FIELD_ALIGN (COAUTHIDENTITY, DomainLength, 4)
2008 TEST_FIELD_OFFSET(COAUTHIDENTITY, DomainLength, 12)
2009 TEST_FIELD_SIZE (COAUTHIDENTITY, Password, 4)
2010 TEST_FIELD_ALIGN (COAUTHIDENTITY, Password, 4)
2011 TEST_FIELD_OFFSET(COAUTHIDENTITY, Password, 16)
2012 TEST_FIELD_SIZE (COAUTHIDENTITY, PasswordLength, 4)
2013 TEST_FIELD_ALIGN (COAUTHIDENTITY, PasswordLength, 4)
2014 TEST_FIELD_OFFSET(COAUTHIDENTITY, PasswordLength, 20)
2015 TEST_FIELD_SIZE (COAUTHIDENTITY, Flags, 4)
2016 TEST_FIELD_ALIGN (COAUTHIDENTITY, Flags, 4)
2017 TEST_FIELD_OFFSET(COAUTHIDENTITY, Flags, 24)
2018 }
2019
2020 static void test_pack_COAUTHINFO(void)
2021 {
2022 /* COAUTHINFO */
2023 TEST_TYPE_SIZE (COAUTHINFO, 28)
2024 TEST_TYPE_ALIGN (COAUTHINFO, 4)
2025 TEST_FIELD_SIZE (COAUTHINFO, dwAuthnSvc, 4)
2026 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnSvc, 4)
2027 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnSvc, 0)
2028 TEST_FIELD_SIZE (COAUTHINFO, dwAuthzSvc, 4)
2029 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthzSvc, 4)
2030 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthzSvc, 4)
2031 TEST_FIELD_SIZE (COAUTHINFO, pwszServerPrincName, 4)
2032 TEST_FIELD_ALIGN (COAUTHINFO, pwszServerPrincName, 4)
2033 TEST_FIELD_OFFSET(COAUTHINFO, pwszServerPrincName, 8)
2034 TEST_FIELD_SIZE (COAUTHINFO, dwAuthnLevel, 4)
2035 TEST_FIELD_ALIGN (COAUTHINFO, dwAuthnLevel, 4)
2036 TEST_FIELD_OFFSET(COAUTHINFO, dwAuthnLevel, 12)
2037 TEST_FIELD_SIZE (COAUTHINFO, dwImpersonationLevel, 4)
2038 TEST_FIELD_ALIGN (COAUTHINFO, dwImpersonationLevel, 4)
2039 TEST_FIELD_OFFSET(COAUTHINFO, dwImpersonationLevel, 16)
2040 TEST_FIELD_SIZE (COAUTHINFO, pAuthIdentityData, 4)
2041 TEST_FIELD_ALIGN (COAUTHINFO, pAuthIdentityData, 4)
2042 TEST_FIELD_OFFSET(COAUTHINFO, pAuthIdentityData, 20)
2043 TEST_FIELD_SIZE (COAUTHINFO, dwCapabilities, 4)
2044 TEST_FIELD_ALIGN (COAUTHINFO, dwCapabilities, 4)
2045 TEST_FIELD_OFFSET(COAUTHINFO, dwCapabilities, 24)
2046 }
2047
2048 static void test_pack_DATE(void)
2049 {
2050 /* DATE */
2051 TEST_TYPE_SIZE (DATE, 8)
2052 TEST_TYPE_ALIGN (DATE, 8)
2053 }
2054
2055 static void test_pack_DOUBLE(void)
2056 {
2057 /* DOUBLE */
2058 TEST_TYPE_SIZE (DOUBLE, 8)
2059 TEST_TYPE_ALIGN (DOUBLE, 8)
2060 }
2061
2062 static void test_pack_DWORD_SIZEDARR(void)
2063 {
2064 /* DWORD_SIZEDARR */
2065 TEST_TYPE_SIZE (DWORD_SIZEDARR, 8)
2066 TEST_TYPE_ALIGN (DWORD_SIZEDARR, 4)
2067 TEST_FIELD_SIZE (DWORD_SIZEDARR, clSize, 4)
2068 TEST_FIELD_ALIGN (DWORD_SIZEDARR, clSize, 4)
2069 TEST_FIELD_OFFSET(DWORD_SIZEDARR, clSize, 0)
2070 TEST_FIELD_SIZE (DWORD_SIZEDARR, pData, 4)
2071 TEST_FIELD_ALIGN (DWORD_SIZEDARR, pData, 4)
2072 TEST_FIELD_OFFSET(DWORD_SIZEDARR, pData, 4)
2073 }
2074
2075 static void test_pack_FLAGGED_BYTE_BLOB(void)
2076 {
2077 /* FLAGGED_BYTE_BLOB */
2078 TEST_TYPE_SIZE (FLAGGED_BYTE_BLOB, 12)
2079 TEST_TYPE_ALIGN (FLAGGED_BYTE_BLOB, 4)
2080 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, fFlags, 4)
2081 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, fFlags, 4)
2082 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, fFlags, 0)
2083 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, clSize, 4)
2084 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, clSize, 4)
2085 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, clSize, 4)
2086 TEST_FIELD_SIZE (FLAGGED_BYTE_BLOB, abData, 1)
2087 TEST_FIELD_ALIGN (FLAGGED_BYTE_BLOB, abData, 1)
2088 TEST_FIELD_OFFSET(FLAGGED_BYTE_BLOB, abData, 8)
2089 }
2090
2091 static void test_pack_FLAGGED_WORD_BLOB(void)
2092 {
2093 /* FLAGGED_WORD_BLOB */
2094 TEST_TYPE_SIZE (FLAGGED_WORD_BLOB, 12)
2095 TEST_TYPE_ALIGN (FLAGGED_WORD_BLOB, 4)
2096 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, fFlags, 4)
2097 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, fFlags, 4)
2098 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, fFlags, 0)
2099 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, clSize, 4)
2100 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, clSize, 4)
2101 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, clSize, 4)
2102 TEST_FIELD_SIZE (FLAGGED_WORD_BLOB, asData, 2)
2103 TEST_FIELD_ALIGN (FLAGGED_WORD_BLOB, asData, 2)
2104 TEST_FIELD_OFFSET(FLAGGED_WORD_BLOB, asData, 8)
2105 }
2106
2107 static void test_pack_HMETAFILEPICT(void)
2108 {
2109 /* HMETAFILEPICT */
2110 TEST_TYPE_SIZE (HMETAFILEPICT, 4)
2111 TEST_TYPE_ALIGN (HMETAFILEPICT, 4)
2112 }
2113
2114 static void test_pack_HYPER_SIZEDARR(void)
2115 {
2116 /* HYPER_SIZEDARR */
2117 TEST_TYPE_SIZE (HYPER_SIZEDARR, 8)
2118 TEST_TYPE_ALIGN (HYPER_SIZEDARR, 4)
2119 TEST_FIELD_SIZE (HYPER_SIZEDARR, clSize, 4)
2120 TEST_FIELD_ALIGN (HYPER_SIZEDARR, clSize, 4)
2121 TEST_FIELD_OFFSET(HYPER_SIZEDARR, clSize, 0)
2122 TEST_FIELD_SIZE (HYPER_SIZEDARR, pData, 4)
2123 TEST_FIELD_ALIGN (HYPER_SIZEDARR, pData, 4)
2124 TEST_FIELD_OFFSET(HYPER_SIZEDARR, pData, 4)
2125 }
2126
2127 static void test_pack_LPBLOB(void)
2128 {
2129 /* LPBLOB */
2130 TEST_TYPE_SIZE (LPBLOB, 4)
2131 TEST_TYPE_ALIGN (LPBLOB, 4)
2132 }
2133
2134 static void test_pack_LPBSTR(void)
2135 {
2136 /* LPBSTR */
2137 TEST_TYPE_SIZE (LPBSTR, 4)
2138 TEST_TYPE_ALIGN (LPBSTR, 4)
2139 TEST_TARGET_SIZE (LPBSTR, 4)
2140 TEST_TARGET_ALIGN(LPBSTR, 4)
2141 }
2142
2143 static void test_pack_LPBSTRBLOB(void)
2144 {
2145 /* LPBSTRBLOB */
2146 TEST_TYPE_SIZE (LPBSTRBLOB, 4)
2147 TEST_TYPE_ALIGN (LPBSTRBLOB, 4)
2148 }
2149
2150 static void test_pack_LPCOLESTR(void)
2151 {
2152 /* LPCOLESTR */
2153 TEST_TYPE_SIZE (LPCOLESTR, 4)
2154 TEST_TYPE_ALIGN (LPCOLESTR, 4)
2155 TEST_TARGET_SIZE (LPCOLESTR, 2)
2156 TEST_TARGET_ALIGN(LPCOLESTR, 2)
2157 }
2158
2159 static void test_pack_LPCY(void)
2160 {
2161 /* LPCY */
2162 TEST_TYPE_SIZE (LPCY, 4)
2163 TEST_TYPE_ALIGN (LPCY, 4)
2164 }
2165
2166 static void test_pack_LPDECIMAL(void)
2167 {
2168 /* LPDECIMAL */
2169 TEST_TYPE_SIZE (LPDECIMAL, 4)
2170 TEST_TYPE_ALIGN (LPDECIMAL, 4)
2171 }
2172
2173 static void test_pack_LPOLESTR(void)
2174 {
2175 /* LPOLESTR */
2176 TEST_TYPE_SIZE (LPOLESTR, 4)
2177 TEST_TYPE_ALIGN (LPOLESTR, 4)
2178 TEST_TARGET_SIZE (LPOLESTR, 2)
2179 TEST_TARGET_ALIGN(LPOLESTR, 2)
2180 }
2181
2182 static void test_pack_OLECHAR(void)
2183 {
2184 /* OLECHAR */
2185 TEST_TYPE_SIZE (OLECHAR, 2)
2186 TEST_TYPE_ALIGN (OLECHAR, 2)
2187 }
2188
2189 static void test_pack_PROPID(void)
2190 {
2191 /* PROPID */
2192 TEST_TYPE_SIZE (PROPID, 4)
2193 TEST_TYPE_ALIGN (PROPID, 4)
2194 }
2195
2196 static void test_pack_RemHBITMAP(void)
2197 {
2198 /* RemHBITMAP */
2199 TEST_TYPE_SIZE (RemHBITMAP, 8)
2200 TEST_TYPE_ALIGN (RemHBITMAP, 4)
2201 TEST_FIELD_SIZE (RemHBITMAP, cbData, 4)
2202 TEST_FIELD_ALIGN (RemHBITMAP, cbData, 4)
2203 TEST_FIELD_OFFSET(RemHBITMAP, cbData, 0)
2204 TEST_FIELD_SIZE (RemHBITMAP, data, 1)
2205 TEST_FIELD_ALIGN (RemHBITMAP, data, 1)
2206 TEST_FIELD_OFFSET(RemHBITMAP, data, 4)
2207 }
2208
2209 static void test_pack_RemHENHMETAFILE(void)
2210 {
2211 /* RemHENHMETAFILE */
2212 TEST_TYPE_SIZE (RemHENHMETAFILE, 8)
2213 TEST_TYPE_ALIGN (RemHENHMETAFILE, 4)
2214 TEST_FIELD_SIZE (RemHENHMETAFILE, cbData, 4)
2215 TEST_FIELD_ALIGN (RemHENHMETAFILE, cbData, 4)
2216 TEST_FIELD_OFFSET(RemHENHMETAFILE, cbData, 0)
2217 TEST_FIELD_SIZE (RemHENHMETAFILE, data, 1)
2218 TEST_FIELD_ALIGN (RemHENHMETAFILE, data, 1)
2219 TEST_FIELD_OFFSET(RemHENHMETAFILE, data, 4)
2220 }
2221
2222 static void test_pack_RemHGLOBAL(void)
2223 {
2224 /* RemHGLOBAL */
2225 TEST_TYPE_SIZE (RemHGLOBAL, 12)
2226 TEST_TYPE_ALIGN (RemHGLOBAL, 4)
2227 TEST_FIELD_SIZE (RemHGLOBAL, fNullHGlobal, 4)
2228 TEST_FIELD_ALIGN (RemHGLOBAL, fNullHGlobal, 4)
2229 TEST_FIELD_OFFSET(RemHGLOBAL, fNullHGlobal, 0)
2230 TEST_FIELD_SIZE (RemHGLOBAL, cbData, 4)
2231 TEST_FIELD_ALIGN (RemHGLOBAL, cbData, 4)
2232 TEST_FIELD_OFFSET(RemHGLOBAL, cbData, 4)
2233 TEST_FIELD_SIZE (RemHGLOBAL, data, 1)
2234 TEST_FIELD_ALIGN (RemHGLOBAL, data, 1)
2235 TEST_FIELD_OFFSET(RemHGLOBAL, data, 8)
2236 }
2237
2238 static void test_pack_RemHMETAFILEPICT(void)
2239 {
2240 /* RemHMETAFILEPICT */
2241 TEST_TYPE_SIZE (RemHMETAFILEPICT, 20)
2242 TEST_TYPE_ALIGN (RemHMETAFILEPICT, 4)
2243 TEST_FIELD_SIZE (RemHMETAFILEPICT, mm, 4)
2244 TEST_FIELD_ALIGN (RemHMETAFILEPICT, mm, 4)
2245 TEST_FIELD_OFFSET(RemHMETAFILEPICT, mm, 0)
2246 TEST_FIELD_SIZE (RemHMETAFILEPICT, xExt, 4)
2247 TEST_FIELD_ALIGN (RemHMETAFILEPICT, xExt, 4)
2248 TEST_FIELD_OFFSET(RemHMETAFILEPICT, xExt, 4)
2249 TEST_FIELD_SIZE (RemHMETAFILEPICT, yExt, 4)
2250 TEST_FIELD_ALIGN (RemHMETAFILEPICT, yExt, 4)
2251 TEST_FIELD_OFFSET(RemHMETAFILEPICT, yExt, 8)
2252 TEST_FIELD_SIZE (RemHMETAFILEPICT, cbData, 4)
2253 TEST_FIELD_ALIGN (RemHMETAFILEPICT, cbData, 4)
2254 TEST_FIELD_OFFSET(RemHMETAFILEPICT, cbData, 12)
2255 TEST_FIELD_SIZE (RemHMETAFILEPICT, data, 1)
2256 TEST_FIELD_ALIGN (RemHMETAFILEPICT, data, 1)
2257 TEST_FIELD_OFFSET(RemHMETAFILEPICT, data, 16)
2258 }
2259
2260 static void test_pack_RemHPALETTE(void)
2261 {
2262 /* RemHPALETTE */
2263 TEST_TYPE_SIZE (RemHPALETTE, 8)
2264 TEST_TYPE_ALIGN (RemHPALETTE, 4)
2265 TEST_FIELD_SIZE (RemHPALETTE, cbData, 4)
2266 TEST_FIELD_ALIGN (RemHPALETTE, cbData, 4)
2267 TEST_FIELD_OFFSET(RemHPALETTE, cbData, 0)
2268 TEST_FIELD_SIZE (RemHPALETTE, data, 1)
2269 TEST_FIELD_ALIGN (RemHPALETTE, data, 1)
2270 TEST_FIELD_OFFSET(RemHPALETTE, data, 4)
2271 }
2272
2273 static void test_pack_SCODE(void)
2274 {
2275 /* SCODE */
2276 TEST_TYPE_SIZE (SCODE, 4)
2277 TEST_TYPE_ALIGN (SCODE, 4)
2278 }
2279
2280 static void test_pack_UP_BYTE_BLOB(void)
2281 {
2282 /* UP_BYTE_BLOB */
2283 TEST_TYPE_SIZE (UP_BYTE_BLOB, 4)
2284 TEST_TYPE_ALIGN (UP_BYTE_BLOB, 4)
2285 TEST_TARGET_SIZE (UP_BYTE_BLOB, 8)
2286 TEST_TARGET_ALIGN(UP_BYTE_BLOB, 4)
2287 }
2288
2289 static void test_pack_UP_FLAGGED_BYTE_BLOB(void)
2290 {
2291 /* UP_FLAGGED_BYTE_BLOB */
2292 TEST_TYPE_SIZE (UP_FLAGGED_BYTE_BLOB, 4)
2293 TEST_TYPE_ALIGN (UP_FLAGGED_BYTE_BLOB, 4)
2294 TEST_TARGET_SIZE (UP_FLAGGED_BYTE_BLOB, 12)
2295 TEST_TARGET_ALIGN(UP_FLAGGED_BYTE_BLOB, 4)
2296 }
2297
2298 static void test_pack_UP_FLAGGED_WORD_BLOB(void)
2299 {
2300 /* UP_FLAGGED_WORD_BLOB */
2301 TEST_TYPE_SIZE (UP_FLAGGED_WORD_BLOB, 4)
2302 TEST_TYPE_ALIGN (UP_FLAGGED_WORD_BLOB, 4)
2303 TEST_TARGET_SIZE (UP_FLAGGED_WORD_BLOB, 12)
2304 TEST_TARGET_ALIGN(UP_FLAGGED_WORD_BLOB, 4)
2305 }
2306
2307 static void test_pack_VARIANT_BOOL(void)
2308 {
2309 /* VARIANT_BOOL */
2310 TEST_TYPE_SIZE (VARIANT_BOOL, 2)
2311 TEST_TYPE_ALIGN (VARIANT_BOOL, 2)
2312 TEST_TYPE_SIGNED(VARIANT_BOOL)
2313 }
2314
2315 static void test_pack_VARTYPE(void)
2316 {
2317 /* VARTYPE */
2318 TEST_TYPE_SIZE (VARTYPE, 2)
2319 TEST_TYPE_ALIGN (VARTYPE, 2)
2320 TEST_TYPE_UNSIGNED(VARTYPE)
2321 }
2322
2323 static void test_pack_WORD_SIZEDARR(void)
2324 {
2325 /* WORD_SIZEDARR */
2326 TEST_TYPE_SIZE (WORD_SIZEDARR, 8)
2327 TEST_TYPE_ALIGN (WORD_SIZEDARR, 4)
2328 TEST_FIELD_SIZE (WORD_SIZEDARR, clSize, 4)
2329 TEST_FIELD_ALIGN (WORD_SIZEDARR, clSize, 4)
2330 TEST_FIELD_OFFSET(WORD_SIZEDARR, clSize, 0)
2331 TEST_FIELD_SIZE (WORD_SIZEDARR, pData, 4)
2332 TEST_FIELD_ALIGN (WORD_SIZEDARR, pData, 4)
2333 TEST_FIELD_OFFSET(WORD_SIZEDARR, pData, 4)
2334 }
2335
2336 static void test_pack_remoteMETAFILEPICT(void)
2337 {
2338 /* remoteMETAFILEPICT */
2339 TEST_TYPE_SIZE (remoteMETAFILEPICT, 16)
2340 TEST_TYPE_ALIGN (remoteMETAFILEPICT, 4)
2341 TEST_FIELD_SIZE (remoteMETAFILEPICT, mm, 4)
2342 TEST_FIELD_ALIGN (remoteMETAFILEPICT, mm, 4)
2343 TEST_FIELD_OFFSET(remoteMETAFILEPICT, mm, 0)
2344 TEST_FIELD_SIZE (remoteMETAFILEPICT, xExt, 4)
2345 TEST_FIELD_ALIGN (remoteMETAFILEPICT, xExt, 4)
2346 TEST_FIELD_OFFSET(remoteMETAFILEPICT, xExt, 4)
2347 TEST_FIELD_SIZE (remoteMETAFILEPICT, yExt, 4)
2348 TEST_FIELD_ALIGN (remoteMETAFILEPICT, yExt, 4)
2349 TEST_FIELD_OFFSET(remoteMETAFILEPICT, yExt, 8)
2350 TEST_FIELD_SIZE (remoteMETAFILEPICT, hMF, 4)
2351 TEST_FIELD_ALIGN (remoteMETAFILEPICT, hMF, 4)
2352 TEST_FIELD_OFFSET(remoteMETAFILEPICT, hMF, 12)
2353 }
2354
2355 static void test_pack_userBITMAP(void)
2356 {
2357 /* userBITMAP */
2358 TEST_TYPE_SIZE (userBITMAP, 28)
2359 TEST_TYPE_ALIGN (userBITMAP, 4)
2360 TEST_FIELD_SIZE (userBITMAP, bmType, 4)
2361 TEST_FIELD_ALIGN (userBITMAP, bmType, 4)
2362 TEST_FIELD_OFFSET(userBITMAP, bmType, 0)
2363 TEST_FIELD_SIZE (userBITMAP, bmWidth, 4)
2364 TEST_FIELD_ALIGN (userBITMAP, bmWidth, 4)
2365 TEST_FIELD_OFFSET(userBITMAP, bmWidth, 4)
2366 TEST_FIELD_SIZE (userBITMAP, bmHeight, 4)
2367 TEST_FIELD_ALIGN (userBITMAP, bmHeight, 4)
2368 TEST_FIELD_OFFSET(userBITMAP, bmHeight, 8)
2369 TEST_FIELD_SIZE (userBITMAP, bmWidthBytes, 4)
2370 TEST_FIELD_ALIGN (userBITMAP, bmWidthBytes, 4)
2371 TEST_FIELD_OFFSET(userBITMAP, bmWidthBytes, 12)
2372 TEST_FIELD_SIZE (userBITMAP, bmPlanes, 2)
2373 TEST_FIELD_ALIGN (userBITMAP, bmPlanes, 2)
2374 TEST_FIELD_OFFSET(userBITMAP, bmPlanes, 16)
2375 TEST_FIELD_SIZE (userBITMAP, bmBitsPixel, 2)
2376 TEST_FIELD_ALIGN (userBITMAP, bmBitsPixel, 2)
2377 TEST_FIELD_OFFSET(userBITMAP, bmBitsPixel, 18)
2378 TEST_FIELD_SIZE (userBITMAP, cbSize, 4)
2379 TEST_FIELD_ALIGN (userBITMAP, cbSize, 4)
2380 TEST_FIELD_OFFSET(userBITMAP, cbSize, 20)
2381 TEST_FIELD_SIZE (userBITMAP, pBuffer, 1)
2382 TEST_FIELD_ALIGN (userBITMAP, pBuffer, 1)
2383 TEST_FIELD_OFFSET(userBITMAP, pBuffer, 24)
2384 }
2385
2386 static void test_pack_userCLIPFORMAT(void)
2387 {
2388 /* userCLIPFORMAT */
2389 TEST_FIELD_SIZE (userCLIPFORMAT, fContext, 4)
2390 TEST_FIELD_ALIGN (userCLIPFORMAT, fContext, 4)
2391 TEST_FIELD_OFFSET(userCLIPFORMAT, fContext, 0)
2392 }
2393
2394 static void test_pack_userHBITMAP(void)
2395 {
2396 /* userHBITMAP */
2397 TEST_FIELD_SIZE (userHBITMAP, fContext, 4)
2398 TEST_FIELD_ALIGN (userHBITMAP, fContext, 4)
2399 TEST_FIELD_OFFSET(userHBITMAP, fContext, 0)
2400 }
2401
2402 static void test_pack_userHENHMETAFILE(void)
2403 {
2404 /* userHENHMETAFILE */
2405 TEST_FIELD_SIZE (userHENHMETAFILE, fContext, 4)
2406 TEST_FIELD_ALIGN (userHENHMETAFILE, fContext, 4)
2407 TEST_FIELD_OFFSET(userHENHMETAFILE, fContext, 0)
2408 }
2409
2410 static void test_pack_userHGLOBAL(void)
2411 {
2412 /* userHGLOBAL */
2413 TEST_FIELD_SIZE (userHGLOBAL, fContext, 4)
2414 TEST_FIELD_ALIGN (userHGLOBAL, fContext, 4)
2415 TEST_FIELD_OFFSET(userHGLOBAL, fContext, 0)
2416 }
2417
2418 static void test_pack_userHMETAFILE(void)
2419 {
2420 /* userHMETAFILE */
2421 TEST_FIELD_SIZE (userHMETAFILE, fContext, 4)
2422 TEST_FIELD_ALIGN (userHMETAFILE, fContext, 4)
2423 TEST_FIELD_OFFSET(userHMETAFILE, fContext, 0)
2424 }
2425
2426 static void test_pack_userHMETAFILEPICT(void)
2427 {
2428 /* userHMETAFILEPICT */
2429 TEST_FIELD_SIZE (userHMETAFILEPICT, fContext, 4)
2430 TEST_FIELD_ALIGN (userHMETAFILEPICT, fContext, 4)
2431 TEST_FIELD_OFFSET(userHMETAFILEPICT, fContext, 0)
2432 }
2433
2434 static void test_pack_userHPALETTE(void)
2435 {
2436 /* userHPALETTE */
2437 TEST_FIELD_SIZE (userHPALETTE, fContext, 4)
2438 TEST_FIELD_ALIGN (userHPALETTE, fContext, 4)
2439 TEST_FIELD_OFFSET(userHPALETTE, fContext, 0)
2440 }
2441
2442 static void test_pack_wireBSTR(void)
2443 {
2444 /* wireBSTR */
2445 TEST_TYPE_SIZE (wireBSTR, 4)
2446 TEST_TYPE_ALIGN (wireBSTR, 4)
2447 TEST_TARGET_SIZE (wireBSTR, 12)
2448 TEST_TARGET_ALIGN(wireBSTR, 4)
2449 }
2450
2451 static void test_pack_wireCLIPFORMAT(void)
2452 {
2453 /* wireCLIPFORMAT */
2454 TEST_TYPE_SIZE (wireCLIPFORMAT, 4)
2455 TEST_TYPE_ALIGN (wireCLIPFORMAT, 4)
2456 }
2457
2458 static void test_pack_wireHBITMAP(void)
2459 {
2460 /* wireHBITMAP */
2461 TEST_TYPE_SIZE (wireHBITMAP, 4)
2462 TEST_TYPE_ALIGN (wireHBITMAP, 4)
2463 }
2464
2465 static void test_pack_wireHENHMETAFILE(void)
2466 {
2467 /* wireHENHMETAFILE */
2468 TEST_TYPE_SIZE (wireHENHMETAFILE, 4)
2469 TEST_TYPE_ALIGN (wireHENHMETAFILE, 4)
2470 }
2471
2472 static void test_pack_wireHGLOBAL(void)
2473 {
2474 /* wireHGLOBAL */
2475 TEST_TYPE_SIZE (wireHGLOBAL, 4)
2476 TEST_TYPE_ALIGN (wireHGLOBAL, 4)
2477 }
2478
2479 static void test_pack_wireHMETAFILE(void)
2480 {
2481 /* wireHMETAFILE */
2482 TEST_TYPE_SIZE (wireHMETAFILE, 4)
2483 TEST_TYPE_ALIGN (wireHMETAFILE, 4)
2484 }
2485
2486 static void test_pack_wireHMETAFILEPICT(void)
2487 {
2488 /* wireHMETAFILEPICT */
2489 TEST_TYPE_SIZE (wireHMETAFILEPICT, 4)
2490 TEST_TYPE_ALIGN (wireHMETAFILEPICT, 4)
2491 }
2492
2493 static void test_pack_wireHPALETTE(void)
2494 {
2495 /* wireHPALETTE */
2496 TEST_TYPE_SIZE (wireHPALETTE, 4)
2497 TEST_TYPE_ALIGN (wireHPALETTE, 4)
2498 }
2499
2500 static void test_pack_CLSID(void)
2501 {
2502 /* CLSID */
2503 TEST_TYPE_SIZE (CLSID, 16)
2504 TEST_TYPE_ALIGN (CLSID, 4)
2505 }
2506
2507 static void test_pack_FMTID(void)
2508 {
2509 /* FMTID */
2510 TEST_TYPE_SIZE (FMTID, 16)
2511 TEST_TYPE_ALIGN (FMTID, 4)
2512 }
2513
2514 static void test_pack_IID(void)
2515 {
2516 /* IID */
2517 TEST_TYPE_SIZE (IID, 16)
2518 TEST_TYPE_ALIGN (IID, 4)
2519 }
2520
2521 static void test_pack_APPBARDATA(void)
2522 {
2523 /* APPBARDATA (pack 1) */
2524 TEST_TYPE_SIZE (APPBARDATA, 36)
2525 TEST_TYPE_ALIGN (APPBARDATA, 1)
2526 TEST_FIELD_SIZE (APPBARDATA, cbSize, 4)
2527 TEST_FIELD_ALIGN (APPBARDATA, cbSize, 1)
2528 TEST_FIELD_OFFSET(APPBARDATA, cbSize, 0)
2529 TEST_FIELD_SIZE (APPBARDATA, hWnd, 4)
2530 TEST_FIELD_ALIGN (APPBARDATA, hWnd, 1)
2531 TEST_FIELD_OFFSET(APPBARDATA, hWnd, 4)
2532 TEST_FIELD_SIZE (APPBARDATA, uCallbackMessage, 4)
2533 TEST_FIELD_ALIGN (APPBARDATA, uCallbackMessage, 1)
2534 TEST_FIELD_OFFSET(APPBARDATA, uCallbackMessage, 8)
2535 TEST_FIELD_SIZE (APPBARDATA, uEdge, 4)
2536 TEST_FIELD_ALIGN (APPBARDATA, uEdge, 1)
2537 TEST_FIELD_OFFSET(APPBARDATA, uEdge, 12)
2538 TEST_FIELD_SIZE (APPBARDATA, rc, 16)
2539 TEST_FIELD_ALIGN (APPBARDATA, rc, 1)
2540 TEST_FIELD_OFFSET(APPBARDATA, rc, 16)
2541 TEST_FIELD_SIZE (APPBARDATA, lParam, 4)
2542 TEST_FIELD_ALIGN (APPBARDATA, lParam, 1)
2543 TEST_FIELD_OFFSET(APPBARDATA, lParam, 32)
2544 }
2545
2546 static void test_pack_DRAGINFOA(void)
2547 {
2548 /* DRAGINFOA (pack 1) */
2549 TEST_TYPE_SIZE (DRAGINFOA, 24)
2550 TEST_TYPE_ALIGN (DRAGINFOA, 1)
2551 TEST_FIELD_SIZE (DRAGINFOA, uSize, 4)
2552 TEST_FIELD_ALIGN (DRAGINFOA, uSize, 1)
2553 TEST_FIELD_OFFSET(DRAGINFOA, uSize, 0)
2554 TEST_FIELD_SIZE (DRAGINFOA, pt, 8)
2555 TEST_FIELD_ALIGN (DRAGINFOA, pt, 1)
2556 TEST_FIELD_OFFSET(DRAGINFOA, pt, 4)
2557 TEST_FIELD_SIZE (DRAGINFOA, fNC, 4)
2558 TEST_FIELD_ALIGN (DRAGINFOA, fNC, 1)
2559 TEST_FIELD_OFFSET(DRAGINFOA, fNC, 12)
2560 TEST_FIELD_SIZE (DRAGINFOA, lpFileList, 4)
2561 TEST_FIELD_ALIGN (DRAGINFOA, lpFileList, 1)
2562 TEST_FIELD_OFFSET(DRAGINFOA, lpFileList, 16)
2563 TEST_FIELD_SIZE (DRAGINFOA, grfKeyState, 4)
2564 TEST_FIELD_ALIGN (DRAGINFOA, grfKeyState, 1)
2565 TEST_FIELD_OFFSET(DRAGINFOA, grfKeyState, 20)
2566 }
2567
2568 static void test_pack_DRAGINFOW(void)
2569 {
2570 /* DRAGINFOW (pack 1) */
2571 TEST_TYPE_SIZE (DRAGINFOW, 24)
2572 TEST_TYPE_ALIGN (DRAGINFOW, 1)
2573 TEST_FIELD_SIZE (DRAGINFOW, uSize, 4)
2574 TEST_FIELD_ALIGN (DRAGINFOW, uSize, 1)
2575 TEST_FIELD_OFFSET(DRAGINFOW, uSize, 0)
2576 TEST_FIELD_SIZE (DRAGINFOW, pt, 8)
2577 TEST_FIELD_ALIGN (DRAGINFOW, pt, 1)
2578 TEST_FIELD_OFFSET(DRAGINFOW, pt, 4)
2579 TEST_FIELD_SIZE (DRAGINFOW, fNC, 4)
2580 TEST_FIELD_ALIGN (DRAGINFOW, fNC, 1)
2581 TEST_FIELD_OFFSET(DRAGINFOW, fNC, 12)
2582 TEST_FIELD_SIZE (DRAGINFOW, lpFileList, 4)
2583 TEST_FIELD_ALIGN (DRAGINFOW, lpFileList, 1)
2584 TEST_FIELD_OFFSET(DRAGINFOW, lpFileList, 16)
2585 TEST_FIELD_SIZE (DRAGINFOW, grfKeyState, 4)
2586 TEST_FIELD_ALIGN (DRAGINFOW, grfKeyState, 1)
2587 TEST_FIELD_OFFSET(DRAGINFOW, grfKeyState, 20)
2588 }
2589
2590 static void test_pack_FILEOP_FLAGS(void)
2591 {
2592 /* FILEOP_FLAGS */
2593 TEST_TYPE_SIZE (FILEOP_FLAGS, 2)
2594 TEST_TYPE_ALIGN (FILEOP_FLAGS, 2)
2595 TEST_TYPE_UNSIGNED(FILEOP_FLAGS)
2596 }
2597
2598 static void test_pack_LPDRAGINFOA(void)
2599 {
2600 /* LPDRAGINFOA */
2601 TEST_TYPE_SIZE (LPDRAGINFOA, 4)
2602 TEST_TYPE_ALIGN (LPDRAGINFOA, 4)
2603 TEST_TARGET_SIZE (LPDRAGINFOA, 24)
2604 TEST_TARGET_ALIGN(LPDRAGINFOA, 1)
2605 }
2606
2607 static void test_pack_LPDRAGINFOW(void)
2608 {
2609 /* LPDRAGINFOW */
2610 TEST_TYPE_SIZE (LPDRAGINFOW, 4)
2611 TEST_TYPE_ALIGN (LPDRAGINFOW, 4)
2612 TEST_TARGET_SIZE (LPDRAGINFOW, 24)
2613 TEST_TARGET_ALIGN(LPDRAGINFOW, 1)
2614 }
2615
2616 static void test_pack_LPSHELLEXECUTEINFOA(void)
2617 {
2618 /* LPSHELLEXECUTEINFOA */
2619 TEST_TYPE_SIZE (LPSHELLEXECUTEINFOA, 4)
2620 TEST_TYPE_ALIGN (LPSHELLEXECUTEINFOA, 4)
2621 }
2622
2623 static void test_pack_LPSHELLEXECUTEINFOW(void)
2624 {
2625 /* LPSHELLEXECUTEINFOW */
2626 TEST_TYPE_SIZE (LPSHELLEXECUTEINFOW, 4)
2627 TEST_TYPE_ALIGN (LPSHELLEXECUTEINFOW, 4)
2628 }
2629
2630 static void test_pack_LPSHFILEOPSTRUCTA(void)
2631 {
2632 /* LPSHFILEOPSTRUCTA */
2633 TEST_TYPE_SIZE (LPSHFILEOPSTRUCTA, 4)
2634 TEST_TYPE_ALIGN (LPSHFILEOPSTRUCTA, 4)
2635 TEST_TARGET_SIZE (LPSHFILEOPSTRUCTA, 30)
2636 TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTA, 1)
2637 }
2638
2639 static void test_pack_LPSHFILEOPSTRUCTW(void)
2640 {
2641 /* LPSHFILEOPSTRUCTW */
2642 TEST_TYPE_SIZE (LPSHFILEOPSTRUCTW, 4)
2643 TEST_TYPE_ALIGN (LPSHFILEOPSTRUCTW, 4)
2644 TEST_TARGET_SIZE (LPSHFILEOPSTRUCTW, 30)
2645 TEST_TARGET_ALIGN(LPSHFILEOPSTRUCTW, 1)
2646 }
2647
2648 static void test_pack_LPSHNAMEMAPPINGA(void)
2649 {
2650 /* LPSHNAMEMAPPINGA */
2651 TEST_TYPE_SIZE (LPSHNAMEMAPPINGA, 4)
2652 TEST_TYPE_ALIGN (LPSHNAMEMAPPINGA, 4)
2653 TEST_TARGET_SIZE (LPSHNAMEMAPPINGA, 16)
2654 TEST_TARGET_ALIGN(LPSHNAMEMAPPINGA, 1)
2655 }
2656
2657 static void test_pack_LPSHNAMEMAPPINGW(void)
2658 {
2659 /* LPSHNAMEMAPPINGW */
2660 TEST_TYPE_SIZE (LPSHNAMEMAPPINGW, 4)
2661 TEST_TYPE_ALIGN (LPSHNAMEMAPPINGW, 4)
2662 TEST_TARGET_SIZE (LPSHNAMEMAPPINGW, 16)
2663 TEST_TARGET_ALIGN(LPSHNAMEMAPPINGW, 1)
2664 }
2665
2666 static void test_pack_NOTIFYICONDATAA(void)
2667 {
2668 /* NOTIFYICONDATAA (pack 1) */
2669 TEST_FIELD_SIZE (NOTIFYICONDATAA, cbSize, 4)
2670 TEST_FIELD_ALIGN (NOTIFYICONDATAA, cbSize, 1)
2671 TEST_FIELD_OFFSET(NOTIFYICONDATAA, cbSize, 0)
2672 TEST_FIELD_SIZE (NOTIFYICONDATAA, hWnd, 4)
2673 TEST_FIELD_ALIGN (NOTIFYICONDATAA, hWnd, 1)
2674 TEST_FIELD_OFFSET(NOTIFYICONDATAA, hWnd, 4)
2675 TEST_FIELD_SIZE (NOTIFYICONDATAA, uID, 4)
2676 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uID, 1)
2677 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uID, 8)
2678 TEST_FIELD_SIZE (NOTIFYICONDATAA, uFlags, 4)
2679 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uFlags, 1)
2680 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uFlags, 12)
2681 TEST_FIELD_SIZE (NOTIFYICONDATAA, uCallbackMessage, 4)
2682 TEST_FIELD_ALIGN (NOTIFYICONDATAA, uCallbackMessage, 1)
2683 TEST_FIELD_OFFSET(NOTIFYICONDATAA, uCallbackMessage, 16)
2684 TEST_FIELD_SIZE (NOTIFYICONDATAA, hIcon, 4)
2685 TEST_FIELD_ALIGN (NOTIFYICONDATAA, hIcon, 1)
2686 TEST_FIELD_OFFSET(NOTIFYICONDATAA, hIcon, 20)
2687 TEST_FIELD_SIZE (NOTIFYICONDATAA, szTip, 128)
2688 TEST_FIELD_ALIGN (NOTIFYICONDATAA, szTip, 1)
2689 TEST_FIELD_OFFSET(NOTIFYICONDATAA, szTip, 24)
2690 TEST_FIELD_SIZE (NOTIFYICONDATAA, dwState, 4)
2691 TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwState, 1)
2692 TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwState, 152)
2693 TEST_FIELD_SIZE (NOTIFYICONDATAA, dwStateMask, 4)
2694 TEST_FIELD_ALIGN (NOTIFYICONDATAA, dwStateMask, 1)
2695 TEST_FIELD_OFFSET(NOTIFYICONDATAA, dwStateMask, 156)
2696 TEST_FIELD_SIZE (NOTIFYICONDATAA, szInfo, 256)
2697 TEST_FIELD_ALIGN (NOTIFYICONDATAA, szInfo, 1)
2698 TEST_FIELD_OFFSET(NOTIFYICONDATAA, szInfo, 160)
2699 }
2700
2701 static void test_pack_NOTIFYICONDATAW(void)
2702 {
2703 /* NOTIFYICONDATAW (pack 1) */
2704 TEST_FIELD_SIZE (NOTIFYICONDATAW, cbSize, 4)
2705 TEST_FIELD_ALIGN (NOTIFYICONDATAW, cbSize, 1)
2706 TEST_FIELD_OFFSET(NOTIFYICONDATAW, cbSize, 0)
2707 TEST_FIELD_SIZE (NOTIFYICONDATAW, hWnd, 4)
2708 TEST_FIELD_ALIGN (NOTIFYICONDATAW, hWnd, 1)
2709 TEST_FIELD_OFFSET(NOTIFYICONDATAW, hWnd, 4)
2710 TEST_FIELD_SIZE (NOTIFYICONDATAW, uID, 4)
2711 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uID, 1)
2712 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uID, 8)
2713 TEST_FIELD_SIZE (NOTIFYICONDATAW, uFlags, 4)
2714 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uFlags, 1)
2715 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uFlags, 12)
2716 TEST_FIELD_SIZE (NOTIFYICONDATAW, uCallbackMessage, 4)
2717 TEST_FIELD_ALIGN (NOTIFYICONDATAW, uCallbackMessage, 1)
2718 TEST_FIELD_OFFSET(NOTIFYICONDATAW, uCallbackMessage, 16)
2719 TEST_FIELD_SIZE (NOTIFYICONDATAW, hIcon, 4)
2720 TEST_FIELD_ALIGN (NOTIFYICONDATAW, hIcon, 1)
2721 TEST_FIELD_OFFSET(NOTIFYICONDATAW, hIcon, 20)
2722 TEST_FIELD_SIZE (NOTIFYICONDATAW, szTip, 256)
2723 TEST_FIELD_ALIGN (NOTIFYICONDATAW, szTip, 1)
2724 TEST_FIELD_OFFSET(NOTIFYICONDATAW, szTip, 24)
2725 TEST_FIELD_SIZE (NOTIFYICONDATAW, dwState, 4)
2726 TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwState, 1)
2727 TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwState, 280)
2728 TEST_FIELD_SIZE (NOTIFYICONDATAW, dwStateMask, 4)
2729 TEST_FIELD_ALIGN (NOTIFYICONDATAW, dwStateMask, 1)
2730 TEST_FIELD_OFFSET(NOTIFYICONDATAW, dwStateMask, 284)
2731 TEST_FIELD_SIZE (NOTIFYICONDATAW, szInfo, 512)
2732 TEST_FIELD_ALIGN (NOTIFYICONDATAW, szInfo, 1)
2733 TEST_FIELD_OFFSET(NOTIFYICONDATAW, szInfo, 288)
2734 }
2735
2736 static void test_pack_PAPPBARDATA(void)
2737 {
2738 /* PAPPBARDATA */
2739 TEST_TYPE_SIZE (PAPPBARDATA, 4)
2740 TEST_TYPE_ALIGN (PAPPBARDATA, 4)
2741 TEST_TARGET_SIZE (PAPPBARDATA, 36)
2742 TEST_TARGET_ALIGN(PAPPBARDATA, 1)
2743 }
2744
2745 static void test_pack_PNOTIFYICONDATAA(void)
2746 {
2747 /* PNOTIFYICONDATAA */
2748 TEST_TYPE_SIZE (PNOTIFYICONDATAA, 4)
2749 TEST_TYPE_ALIGN (PNOTIFYICONDATAA, 4)
2750 }
2751
2752 static void test_pack_PNOTIFYICONDATAW(void)
2753 {
2754 /* PNOTIFYICONDATAW */
2755 TEST_TYPE_SIZE (PNOTIFYICONDATAW, 4)
2756 TEST_TYPE_ALIGN (PNOTIFYICONDATAW, 4)
2757 }
2758
2759 static void test_pack_PRINTEROP_FLAGS(void)
2760 {
2761 /* PRINTEROP_FLAGS */
2762 TEST_TYPE_SIZE (PRINTEROP_FLAGS, 2)
2763 TEST_TYPE_ALIGN (PRINTEROP_FLAGS, 2)
2764 TEST_TYPE_UNSIGNED(PRINTEROP_FLAGS)
2765 }
2766
2767 static void test_pack_SHELLEXECUTEINFOA(void)
2768 {
2769 /* SHELLEXECUTEINFOA (pack 1) */
2770 TEST_FIELD_SIZE (SHELLEXECUTEINFOA, cbSize,