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