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