server: Initial support for Wow64 registry redirection.
[wine] / dlls / ntdll / tests / generated.c
1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5  * Unit tests for data structure packing
6  */
7
8 #define WINVER 0x0501
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
11
12 #define WINE_NOWINSOCK
13
14 #include "ntdll_test.h"
15
16 #include "wine/test.h"
17
18 /***********************************************************************
19  * Compatibility macros
20  */
21
22 #define DWORD_PTR UINT_PTR
23 #define LONG_PTR INT_PTR
24 #define ULONG_PTR UINT_PTR
25
26 /***********************************************************************
27  * Windows API extension
28  */
29
30 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
31 # define _TYPE_ALIGNMENT(type) __alignof(type)
32 #elif defined(__GNUC__)
33 # define _TYPE_ALIGNMENT(type) __alignof__(type)
34 #else
35 /*
36  * FIXME: May not be possible without a compiler extension
37  *        (if type is not just a name that is, otherwise the normal
38  *         TYPE_ALIGNMENT can be used)
39  */
40 #endif
41
42 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
43 #pragma warning(disable:4116)
44 #endif
45
46 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
47 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
48 #endif
49
50 /***********************************************************************
51  * Test helper macros
52  */
53
54 #ifdef _WIN64
55
56 # define TEST_TYPE_SIZE(type, size)
57 # define TEST_TYPE_ALIGN(type, align)
58 # define TEST_TARGET_ALIGN(type, align)
59 # define TEST_FIELD_ALIGN(type, field, align)
60 # define TEST_FIELD_OFFSET(type, field, offset)
61
62 #else
63
64 # define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
65
66 # ifdef TYPE_ALIGNMENT
67 #  define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
68 # else
69 #  define TEST_TYPE_ALIGN(type, align)
70 # endif
71
72 # ifdef _TYPE_ALIGNMENT
73 #  define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
74 #  define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
75 # else
76 #  define TEST_TARGET_ALIGN(type, align)
77 #  define TEST_FIELD_ALIGN(type, field, align)
78 # endif
79
80 # define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
81
82 #endif
83
84 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
85 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
86 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
87 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
88
89
90 static void test_pack_DWORD32(void)
91 {
92     /* DWORD32 */
93     TEST_TYPE_SIZE   (DWORD32, 4)
94     TEST_TYPE_ALIGN  (DWORD32, 4)
95     TEST_TYPE_UNSIGNED(DWORD32)
96 }
97
98 static void test_pack_DWORD64(void)
99 {
100     /* DWORD64 */
101     TEST_TYPE_SIZE   (DWORD64, 8)
102     TEST_TYPE_ALIGN  (DWORD64, 8)
103     TEST_TYPE_UNSIGNED(DWORD64)
104 }
105
106 static void test_pack_DWORD_PTR(void)
107 {
108     /* DWORD_PTR */
109     TEST_TYPE_SIZE   (DWORD_PTR, 4)
110     TEST_TYPE_ALIGN  (DWORD_PTR, 4)
111 }
112
113 static void test_pack_HALF_PTR(void)
114 {
115     /* HALF_PTR */
116     TEST_TYPE_SIZE   (HALF_PTR, 2)
117     TEST_TYPE_ALIGN  (HALF_PTR, 2)
118     TEST_TYPE_SIGNED(HALF_PTR)
119 }
120
121 static void test_pack_INT16(void)
122 {
123     /* INT16 */
124     TEST_TYPE_SIZE   (INT16, 2)
125     TEST_TYPE_ALIGN  (INT16, 2)
126     TEST_TYPE_SIGNED(INT16)
127 }
128
129 static void test_pack_INT32(void)
130 {
131     /* INT32 */
132     TEST_TYPE_SIZE   (INT32, 4)
133     TEST_TYPE_ALIGN  (INT32, 4)
134     TEST_TYPE_SIGNED(INT32)
135 }
136
137 static void test_pack_INT64(void)
138 {
139     /* INT64 */
140     TEST_TYPE_SIZE   (INT64, 8)
141     TEST_TYPE_ALIGN  (INT64, 8)
142     TEST_TYPE_SIGNED(INT64)
143 }
144
145 static void test_pack_INT8(void)
146 {
147     /* INT8 */
148     TEST_TYPE_SIZE   (INT8, 1)
149     TEST_TYPE_ALIGN  (INT8, 1)
150     TEST_TYPE_SIGNED(INT8)
151 }
152
153 static void test_pack_INT_PTR(void)
154 {
155     /* INT_PTR */
156     TEST_TYPE_SIZE   (INT_PTR, 4)
157     TEST_TYPE_ALIGN  (INT_PTR, 4)
158     TEST_TYPE_SIGNED(INT_PTR)
159 }
160
161 static void test_pack_LONG32(void)
162 {
163     /* LONG32 */
164     TEST_TYPE_SIZE   (LONG32, 4)
165     TEST_TYPE_ALIGN  (LONG32, 4)
166     TEST_TYPE_SIGNED(LONG32)
167 }
168
169 static void test_pack_LONG64(void)
170 {
171     /* LONG64 */
172     TEST_TYPE_SIZE   (LONG64, 8)
173     TEST_TYPE_ALIGN  (LONG64, 8)
174     TEST_TYPE_SIGNED(LONG64)
175 }
176
177 static void test_pack_LONG_PTR(void)
178 {
179     /* LONG_PTR */
180     TEST_TYPE_SIZE   (LONG_PTR, 4)
181     TEST_TYPE_ALIGN  (LONG_PTR, 4)
182     TEST_TYPE_SIGNED(LONG_PTR)
183 }
184
185 static void test_pack_SIZE_T(void)
186 {
187     /* SIZE_T */
188     TEST_TYPE_SIZE   (SIZE_T, 4)
189     TEST_TYPE_ALIGN  (SIZE_T, 4)
190 }
191
192 static void test_pack_SSIZE_T(void)
193 {
194     /* SSIZE_T */
195     TEST_TYPE_SIZE   (SSIZE_T, 4)
196     TEST_TYPE_ALIGN  (SSIZE_T, 4)
197 }
198
199 static void test_pack_UHALF_PTR(void)
200 {
201     /* UHALF_PTR */
202     TEST_TYPE_SIZE   (UHALF_PTR, 2)
203     TEST_TYPE_ALIGN  (UHALF_PTR, 2)
204     TEST_TYPE_UNSIGNED(UHALF_PTR)
205 }
206
207 static void test_pack_UINT16(void)
208 {
209     /* UINT16 */
210     TEST_TYPE_SIZE   (UINT16, 2)
211     TEST_TYPE_ALIGN  (UINT16, 2)
212     TEST_TYPE_UNSIGNED(UINT16)
213 }
214
215 static void test_pack_UINT32(void)
216 {
217     /* UINT32 */
218     TEST_TYPE_SIZE   (UINT32, 4)
219     TEST_TYPE_ALIGN  (UINT32, 4)
220     TEST_TYPE_UNSIGNED(UINT32)
221 }
222
223 static void test_pack_UINT64(void)
224 {
225     /* UINT64 */
226     TEST_TYPE_SIZE   (UINT64, 8)
227     TEST_TYPE_ALIGN  (UINT64, 8)
228     TEST_TYPE_UNSIGNED(UINT64)
229 }
230
231 static void test_pack_UINT8(void)
232 {
233     /* UINT8 */
234     TEST_TYPE_SIZE   (UINT8, 1)
235     TEST_TYPE_ALIGN  (UINT8, 1)
236     TEST_TYPE_UNSIGNED(UINT8)
237 }
238
239 static void test_pack_UINT_PTR(void)
240 {
241     /* UINT_PTR */
242     TEST_TYPE_SIZE   (UINT_PTR, 4)
243     TEST_TYPE_ALIGN  (UINT_PTR, 4)
244     TEST_TYPE_UNSIGNED(UINT_PTR)
245 }
246
247 static void test_pack_ULONG32(void)
248 {
249     /* ULONG32 */
250     TEST_TYPE_SIZE   (ULONG32, 4)
251     TEST_TYPE_ALIGN  (ULONG32, 4)
252     TEST_TYPE_UNSIGNED(ULONG32)
253 }
254
255 static void test_pack_ULONG64(void)
256 {
257     /* ULONG64 */
258     TEST_TYPE_SIZE   (ULONG64, 8)
259     TEST_TYPE_ALIGN  (ULONG64, 8)
260     TEST_TYPE_UNSIGNED(ULONG64)
261 }
262
263 static void test_pack_ULONG_PTR(void)
264 {
265     /* ULONG_PTR */
266     TEST_TYPE_SIZE   (ULONG_PTR, 4)
267     TEST_TYPE_ALIGN  (ULONG_PTR, 4)
268     TEST_TYPE_UNSIGNED(ULONG_PTR)
269 }
270
271 static void test_pack_ACCESS_ALLOWED_ACE(void)
272 {
273     /* ACCESS_ALLOWED_ACE (pack 4) */
274     TEST_TYPE_SIZE   (ACCESS_ALLOWED_ACE, 12)
275     TEST_TYPE_ALIGN  (ACCESS_ALLOWED_ACE, 4)
276     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, Header, 4)
277     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, Header, 2)
278     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, Header, 0)
279     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, Mask, 4)
280     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, Mask, 4)
281     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, Mask, 4)
282     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, SidStart, 4)
283     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, SidStart, 4)
284     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart, 8)
285 }
286
287 static void test_pack_ACCESS_DENIED_ACE(void)
288 {
289     /* ACCESS_DENIED_ACE (pack 4) */
290     TEST_TYPE_SIZE   (ACCESS_DENIED_ACE, 12)
291     TEST_TYPE_ALIGN  (ACCESS_DENIED_ACE, 4)
292     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, Header, 4)
293     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, Header, 2)
294     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, Header, 0)
295     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, Mask, 4)
296     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, Mask, 4)
297     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, Mask, 4)
298     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, SidStart, 4)
299     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, SidStart, 4)
300     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart, 8)
301 }
302
303 static void test_pack_ACCESS_MASK(void)
304 {
305     /* ACCESS_MASK */
306     TEST_TYPE_SIZE   (ACCESS_MASK, 4)
307     TEST_TYPE_ALIGN  (ACCESS_MASK, 4)
308     TEST_TYPE_UNSIGNED(ACCESS_MASK)
309 }
310
311 static void test_pack_ACE_HEADER(void)
312 {
313     /* ACE_HEADER (pack 4) */
314     TEST_TYPE_SIZE   (ACE_HEADER, 4)
315     TEST_TYPE_ALIGN  (ACE_HEADER, 2)
316     TEST_FIELD_SIZE  (ACE_HEADER, AceType, 1)
317     TEST_FIELD_ALIGN (ACE_HEADER, AceType, 1)
318     TEST_FIELD_OFFSET(ACE_HEADER, AceType, 0)
319     TEST_FIELD_SIZE  (ACE_HEADER, AceFlags, 1)
320     TEST_FIELD_ALIGN (ACE_HEADER, AceFlags, 1)
321     TEST_FIELD_OFFSET(ACE_HEADER, AceFlags, 1)
322     TEST_FIELD_SIZE  (ACE_HEADER, AceSize, 2)
323     TEST_FIELD_ALIGN (ACE_HEADER, AceSize, 2)
324     TEST_FIELD_OFFSET(ACE_HEADER, AceSize, 2)
325 }
326
327 static void test_pack_ACL(void)
328 {
329     /* ACL (pack 4) */
330     TEST_TYPE_SIZE   (ACL, 8)
331     TEST_TYPE_ALIGN  (ACL, 2)
332     TEST_FIELD_SIZE  (ACL, AclRevision, 1)
333     TEST_FIELD_ALIGN (ACL, AclRevision, 1)
334     TEST_FIELD_OFFSET(ACL, AclRevision, 0)
335     TEST_FIELD_SIZE  (ACL, Sbz1, 1)
336     TEST_FIELD_ALIGN (ACL, Sbz1, 1)
337     TEST_FIELD_OFFSET(ACL, Sbz1, 1)
338     TEST_FIELD_SIZE  (ACL, AclSize, 2)
339     TEST_FIELD_ALIGN (ACL, AclSize, 2)
340     TEST_FIELD_OFFSET(ACL, AclSize, 2)
341     TEST_FIELD_SIZE  (ACL, AceCount, 2)
342     TEST_FIELD_ALIGN (ACL, AceCount, 2)
343     TEST_FIELD_OFFSET(ACL, AceCount, 4)
344     TEST_FIELD_SIZE  (ACL, Sbz2, 2)
345     TEST_FIELD_ALIGN (ACL, Sbz2, 2)
346     TEST_FIELD_OFFSET(ACL, Sbz2, 6)
347 }
348
349 static void test_pack_ACL_REVISION_INFORMATION(void)
350 {
351     /* ACL_REVISION_INFORMATION (pack 4) */
352     TEST_TYPE_SIZE   (ACL_REVISION_INFORMATION, 4)
353     TEST_TYPE_ALIGN  (ACL_REVISION_INFORMATION, 4)
354     TEST_FIELD_SIZE  (ACL_REVISION_INFORMATION, AclRevision, 4)
355     TEST_FIELD_ALIGN (ACL_REVISION_INFORMATION, AclRevision, 4)
356     TEST_FIELD_OFFSET(ACL_REVISION_INFORMATION, AclRevision, 0)
357 }
358
359 static void test_pack_ACL_SIZE_INFORMATION(void)
360 {
361     /* ACL_SIZE_INFORMATION (pack 4) */
362     TEST_TYPE_SIZE   (ACL_SIZE_INFORMATION, 12)
363     TEST_TYPE_ALIGN  (ACL_SIZE_INFORMATION, 4)
364     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AceCount, 4)
365     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AceCount, 4)
366     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AceCount, 0)
367     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AclBytesInUse, 4)
368     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AclBytesInUse, 4)
369     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AclBytesInUse, 4)
370     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AclBytesFree, 4)
371     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AclBytesFree, 4)
372     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AclBytesFree, 8)
373 }
374
375 static void test_pack_BOOLEAN(void)
376 {
377     /* BOOLEAN */
378     TEST_TYPE_SIZE   (BOOLEAN, 1)
379     TEST_TYPE_ALIGN  (BOOLEAN, 1)
380     TEST_TYPE_UNSIGNED(BOOLEAN)
381 }
382
383 static void test_pack_CCHAR(void)
384 {
385     /* CCHAR */
386     TEST_TYPE_SIZE   (CCHAR, 1)
387     TEST_TYPE_ALIGN  (CCHAR, 1)
388     TEST_TYPE_SIGNED(CCHAR)
389 }
390
391 static void test_pack_CHAR(void)
392 {
393     /* CHAR */
394     TEST_TYPE_SIZE   (CHAR, 1)
395     TEST_TYPE_ALIGN  (CHAR, 1)
396     TEST_TYPE_SIGNED(CHAR)
397 }
398
399 static void test_pack_DWORDLONG(void)
400 {
401     /* DWORDLONG */
402     TEST_TYPE_SIZE   (DWORDLONG, 8)
403     TEST_TYPE_ALIGN  (DWORDLONG, 8)
404     TEST_TYPE_UNSIGNED(DWORDLONG)
405 }
406
407 static void test_pack_EXCEPTION_POINTERS(void)
408 {
409     /* EXCEPTION_POINTERS (pack 4) */
410     TEST_TYPE_SIZE   (EXCEPTION_POINTERS, 8)
411     TEST_TYPE_ALIGN  (EXCEPTION_POINTERS, 4)
412     TEST_FIELD_SIZE  (EXCEPTION_POINTERS, ExceptionRecord, 4)
413     TEST_FIELD_ALIGN (EXCEPTION_POINTERS, ExceptionRecord, 4)
414     TEST_FIELD_OFFSET(EXCEPTION_POINTERS, ExceptionRecord, 0)
415     TEST_FIELD_SIZE  (EXCEPTION_POINTERS, ContextRecord, 4)
416     TEST_FIELD_ALIGN (EXCEPTION_POINTERS, ContextRecord, 4)
417     TEST_FIELD_OFFSET(EXCEPTION_POINTERS, ContextRecord, 4)
418 }
419
420 static void test_pack_EXCEPTION_RECORD(void)
421 {
422     /* EXCEPTION_RECORD (pack 4) */
423     TEST_TYPE_SIZE   (EXCEPTION_RECORD, 80)
424     TEST_TYPE_ALIGN  (EXCEPTION_RECORD, 4)
425     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionCode, 4)
426     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionCode, 4)
427     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionCode, 0)
428     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionFlags, 4)
429     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionFlags, 4)
430     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionFlags, 4)
431     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionRecord, 4)
432     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionRecord, 4)
433     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionRecord, 8)
434     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionAddress, 4)
435     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionAddress, 4)
436     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionAddress, 12)
437     TEST_FIELD_SIZE  (EXCEPTION_RECORD, NumberParameters, 4)
438     TEST_FIELD_ALIGN (EXCEPTION_RECORD, NumberParameters, 4)
439     TEST_FIELD_OFFSET(EXCEPTION_RECORD, NumberParameters, 16)
440     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionInformation, 60)
441     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionInformation, 4)
442     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionInformation, 20)
443 }
444
445 static void test_pack_EXECUTION_STATE(void)
446 {
447     /* EXECUTION_STATE */
448     TEST_TYPE_SIZE   (EXECUTION_STATE, 4)
449     TEST_TYPE_ALIGN  (EXECUTION_STATE, 4)
450     TEST_TYPE_UNSIGNED(EXECUTION_STATE)
451 }
452
453 static void test_pack_FLOATING_SAVE_AREA(void)
454 {
455     /* FLOATING_SAVE_AREA (pack 4) */
456     TEST_TYPE_SIZE   (FLOATING_SAVE_AREA, 112)
457     TEST_TYPE_ALIGN  (FLOATING_SAVE_AREA, 4)
458     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ControlWord, 4)
459     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ControlWord, 4)
460     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ControlWord, 0)
461     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, StatusWord, 4)
462     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, StatusWord, 4)
463     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, StatusWord, 4)
464     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, TagWord, 4)
465     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, TagWord, 4)
466     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, TagWord, 8)
467     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ErrorOffset, 4)
468     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ErrorOffset, 4)
469     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ErrorOffset, 12)
470     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ErrorSelector, 4)
471     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ErrorSelector, 4)
472     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ErrorSelector, 16)
473     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, DataOffset, 4)
474     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, DataOffset, 4)
475     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, DataOffset, 20)
476     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, DataSelector, 4)
477     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, DataSelector, 4)
478     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, DataSelector, 24)
479     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, RegisterArea, 80)
480     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, RegisterArea, 1)
481     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, RegisterArea, 28)
482     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, Cr0NpxState, 4)
483     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, Cr0NpxState, 4)
484     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, Cr0NpxState, 108)
485 }
486
487 static void test_pack_FPO_DATA(void)
488 {
489     /* FPO_DATA (pack 4) */
490     TEST_TYPE_SIZE   (FPO_DATA, 16)
491     TEST_TYPE_ALIGN  (FPO_DATA, 4)
492     TEST_FIELD_SIZE  (FPO_DATA, ulOffStart, 4)
493     TEST_FIELD_ALIGN (FPO_DATA, ulOffStart, 4)
494     TEST_FIELD_OFFSET(FPO_DATA, ulOffStart, 0)
495     TEST_FIELD_SIZE  (FPO_DATA, cbProcSize, 4)
496     TEST_FIELD_ALIGN (FPO_DATA, cbProcSize, 4)
497     TEST_FIELD_OFFSET(FPO_DATA, cbProcSize, 4)
498     TEST_FIELD_SIZE  (FPO_DATA, cdwLocals, 4)
499     TEST_FIELD_ALIGN (FPO_DATA, cdwLocals, 4)
500     TEST_FIELD_OFFSET(FPO_DATA, cdwLocals, 8)
501     TEST_FIELD_SIZE  (FPO_DATA, cdwParams, 2)
502     TEST_FIELD_ALIGN (FPO_DATA, cdwParams, 2)
503     TEST_FIELD_OFFSET(FPO_DATA, cdwParams, 12)
504 }
505
506 static void test_pack_GENERIC_MAPPING(void)
507 {
508     /* GENERIC_MAPPING (pack 4) */
509     TEST_TYPE_SIZE   (GENERIC_MAPPING, 16)
510     TEST_TYPE_ALIGN  (GENERIC_MAPPING, 4)
511     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericRead, 4)
512     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericRead, 4)
513     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericRead, 0)
514     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericWrite, 4)
515     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericWrite, 4)
516     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericWrite, 4)
517     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericExecute, 4)
518     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericExecute, 4)
519     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericExecute, 8)
520     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericAll, 4)
521     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericAll, 4)
522     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericAll, 12)
523 }
524
525 static void test_pack_HANDLE(void)
526 {
527     /* HANDLE */
528     TEST_TYPE_SIZE   (HANDLE, 4)
529     TEST_TYPE_ALIGN  (HANDLE, 4)
530 }
531
532 static void test_pack_HRESULT(void)
533 {
534     /* HRESULT */
535     TEST_TYPE_SIZE   (HRESULT, 4)
536     TEST_TYPE_ALIGN  (HRESULT, 4)
537 }
538
539 static void test_pack_IMAGE_ARCHIVE_MEMBER_HEADER(void)
540 {
541     /* IMAGE_ARCHIVE_MEMBER_HEADER (pack 4) */
542     TEST_TYPE_SIZE   (IMAGE_ARCHIVE_MEMBER_HEADER, 60)
543     TEST_TYPE_ALIGN  (IMAGE_ARCHIVE_MEMBER_HEADER, 1)
544     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Name, 16)
545     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Name, 1)
546     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Name, 0)
547     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Date, 12)
548     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Date, 1)
549     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Date, 16)
550     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 6)
551     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 1)
552     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 28)
553     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 6)
554     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 1)
555     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 34)
556     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 8)
557     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 1)
558     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 40)
559     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Size, 10)
560     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Size, 1)
561     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Size, 48)
562     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 2)
563     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 1)
564     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 58)
565 }
566
567 static void test_pack_IMAGE_AUX_SYMBOL(void)
568 {
569     /* IMAGE_AUX_SYMBOL (pack 2) */
570 }
571
572 static void test_pack_IMAGE_BASE_RELOCATION(void)
573 {
574     /* IMAGE_BASE_RELOCATION (pack 4) */
575     TEST_TYPE_SIZE   (IMAGE_BASE_RELOCATION, 8)
576     TEST_TYPE_ALIGN  (IMAGE_BASE_RELOCATION, 4)
577     TEST_FIELD_SIZE  (IMAGE_BASE_RELOCATION, VirtualAddress, 4)
578     TEST_FIELD_ALIGN (IMAGE_BASE_RELOCATION, VirtualAddress, 4)
579     TEST_FIELD_OFFSET(IMAGE_BASE_RELOCATION, VirtualAddress, 0)
580     TEST_FIELD_SIZE  (IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
581     TEST_FIELD_ALIGN (IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
582     TEST_FIELD_OFFSET(IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
583 }
584
585 static void test_pack_IMAGE_BOUND_FORWARDER_REF(void)
586 {
587     /* IMAGE_BOUND_FORWARDER_REF (pack 4) */
588     TEST_TYPE_SIZE   (IMAGE_BOUND_FORWARDER_REF, 8)
589     TEST_TYPE_ALIGN  (IMAGE_BOUND_FORWARDER_REF, 4)
590     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 4)
591     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 4)
592     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 0)
593     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 2)
594     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 2)
595     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 4)
596     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, Reserved, 2)
597     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, Reserved, 2)
598     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, Reserved, 6)
599 }
600
601 static void test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR(void)
602 {
603     /* IMAGE_BOUND_IMPORT_DESCRIPTOR (pack 4) */
604     TEST_TYPE_SIZE   (IMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
605     TEST_TYPE_ALIGN  (IMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
606     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 4)
607     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 4)
608     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 0)
609     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 2)
610     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 2)
611     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 4)
612     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 2)
613     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 2)
614     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 6)
615 }
616
617 static void test_pack_IMAGE_COFF_SYMBOLS_HEADER(void)
618 {
619     /* IMAGE_COFF_SYMBOLS_HEADER (pack 4) */
620     TEST_TYPE_SIZE   (IMAGE_COFF_SYMBOLS_HEADER, 32)
621     TEST_TYPE_ALIGN  (IMAGE_COFF_SYMBOLS_HEADER, 4)
622     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 4)
623     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 4)
624     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 0)
625     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
626     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
627     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
628     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 4)
629     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 4)
630     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 8)
631     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 4)
632     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 4)
633     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 12)
634     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 4)
635     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 4)
636     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 16)
637     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 4)
638     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 4)
639     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 20)
640     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 4)
641     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 4)
642     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 24)
643     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 4)
644     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 4)
645     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 28)
646 }
647
648 static void test_pack_IMAGE_DATA_DIRECTORY(void)
649 {
650     /* IMAGE_DATA_DIRECTORY (pack 4) */
651     TEST_TYPE_SIZE   (IMAGE_DATA_DIRECTORY, 8)
652     TEST_TYPE_ALIGN  (IMAGE_DATA_DIRECTORY, 4)
653     TEST_FIELD_SIZE  (IMAGE_DATA_DIRECTORY, VirtualAddress, 4)
654     TEST_FIELD_ALIGN (IMAGE_DATA_DIRECTORY, VirtualAddress, 4)
655     TEST_FIELD_OFFSET(IMAGE_DATA_DIRECTORY, VirtualAddress, 0)
656     TEST_FIELD_SIZE  (IMAGE_DATA_DIRECTORY, Size, 4)
657     TEST_FIELD_ALIGN (IMAGE_DATA_DIRECTORY, Size, 4)
658     TEST_FIELD_OFFSET(IMAGE_DATA_DIRECTORY, Size, 4)
659 }
660
661 static void test_pack_IMAGE_DEBUG_DIRECTORY(void)
662 {
663     /* IMAGE_DEBUG_DIRECTORY (pack 4) */
664     TEST_TYPE_SIZE   (IMAGE_DEBUG_DIRECTORY, 28)
665     TEST_TYPE_ALIGN  (IMAGE_DEBUG_DIRECTORY, 4)
666     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, Characteristics, 4)
667     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, Characteristics, 4)
668     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, Characteristics, 0)
669     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
670     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
671     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
672     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, MajorVersion, 2)
673     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, MajorVersion, 2)
674     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, MajorVersion, 8)
675     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, MinorVersion, 2)
676     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, MinorVersion, 2)
677     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, MinorVersion, 10)
678     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, Type, 4)
679     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, Type, 4)
680     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, Type, 12)
681     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, SizeOfData, 4)
682     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, SizeOfData, 4)
683     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, SizeOfData, 16)
684     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 4)
685     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 4)
686     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 20)
687     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, PointerToRawData, 4)
688     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, PointerToRawData, 4)
689     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, PointerToRawData, 24)
690 }
691
692 static void test_pack_IMAGE_DEBUG_MISC(void)
693 {
694     /* IMAGE_DEBUG_MISC (pack 4) */
695     TEST_TYPE_SIZE   (IMAGE_DEBUG_MISC, 16)
696     TEST_TYPE_ALIGN  (IMAGE_DEBUG_MISC, 4)
697     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, DataType, 4)
698     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, DataType, 4)
699     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, DataType, 0)
700     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Length, 4)
701     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Length, 4)
702     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Length, 4)
703     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Unicode, 1)
704     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Unicode, 1)
705     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Unicode, 8)
706     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Reserved, 3)
707     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Reserved, 1)
708     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Reserved, 9)
709     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Data, 1)
710     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Data, 1)
711     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Data, 12)
712 }
713
714 static void test_pack_IMAGE_DOS_HEADER(void)
715 {
716     /* IMAGE_DOS_HEADER (pack 2) */
717     TEST_TYPE_SIZE   (IMAGE_DOS_HEADER, 64)
718     TEST_TYPE_ALIGN  (IMAGE_DOS_HEADER, 2)
719     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_magic, 2)
720     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_magic, 2)
721     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_magic, 0)
722     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cblp, 2)
723     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cblp, 2)
724     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cblp, 2)
725     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cp, 2)
726     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cp, 2)
727     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cp, 4)
728     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_crlc, 2)
729     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_crlc, 2)
730     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_crlc, 6)
731     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cparhdr, 2)
732     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cparhdr, 2)
733     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cparhdr, 8)
734     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_minalloc, 2)
735     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_minalloc, 2)
736     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_minalloc, 10)
737     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_maxalloc, 2)
738     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_maxalloc, 2)
739     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_maxalloc, 12)
740     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ss, 2)
741     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ss, 2)
742     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ss, 14)
743     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_sp, 2)
744     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_sp, 2)
745     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_sp, 16)
746     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_csum, 2)
747     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_csum, 2)
748     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_csum, 18)
749     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ip, 2)
750     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ip, 2)
751     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ip, 20)
752     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cs, 2)
753     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cs, 2)
754     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cs, 22)
755     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_lfarlc, 2)
756     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_lfarlc, 2)
757     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_lfarlc, 24)
758     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ovno, 2)
759     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ovno, 2)
760     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ovno, 26)
761     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_res, 8)
762     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_res, 2)
763     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_res, 28)
764     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_oemid, 2)
765     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_oemid, 2)
766     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_oemid, 36)
767     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_oeminfo, 2)
768     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_oeminfo, 2)
769     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_oeminfo, 38)
770     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_res2, 20)
771     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_res2, 2)
772     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_res2, 40)
773     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_lfanew, 4)
774     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_lfanew, 2)
775     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_lfanew, 60)
776 }
777
778 static void test_pack_IMAGE_EXPORT_DIRECTORY(void)
779 {
780     /* IMAGE_EXPORT_DIRECTORY (pack 4) */
781     TEST_TYPE_SIZE   (IMAGE_EXPORT_DIRECTORY, 40)
782     TEST_TYPE_ALIGN  (IMAGE_EXPORT_DIRECTORY, 4)
783     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Characteristics, 4)
784     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Characteristics, 4)
785     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Characteristics, 0)
786     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
787     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
788     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
789     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, MajorVersion, 2)
790     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, MajorVersion, 2)
791     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, MajorVersion, 8)
792     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, MinorVersion, 2)
793     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, MinorVersion, 2)
794     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, MinorVersion, 10)
795     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Name, 4)
796     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Name, 4)
797     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Name, 12)
798     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Base, 4)
799     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Base, 4)
800     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Base, 16)
801     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 4)
802     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 4)
803     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 20)
804     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, NumberOfNames, 4)
805     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, NumberOfNames, 4)
806     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, NumberOfNames, 24)
807     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 4)
808     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 4)
809     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 28)
810     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfNames, 4)
811     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfNames, 4)
812     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfNames, 32)
813     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 4)
814     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 4)
815     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 36)
816 }
817
818 static void test_pack_IMAGE_FILE_HEADER(void)
819 {
820     /* IMAGE_FILE_HEADER (pack 4) */
821     TEST_TYPE_SIZE   (IMAGE_FILE_HEADER, 20)
822     TEST_TYPE_ALIGN  (IMAGE_FILE_HEADER, 4)
823     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, Machine, 2)
824     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, Machine, 2)
825     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, Machine, 0)
826     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, NumberOfSections, 2)
827     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, NumberOfSections, 2)
828     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, NumberOfSections, 2)
829     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, TimeDateStamp, 4)
830     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, TimeDateStamp, 4)
831     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, TimeDateStamp, 4)
832     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, PointerToSymbolTable, 4)
833     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, PointerToSymbolTable, 4)
834     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, PointerToSymbolTable, 8)
835     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, NumberOfSymbols, 4)
836     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, NumberOfSymbols, 4)
837     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, NumberOfSymbols, 12)
838     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, SizeOfOptionalHeader, 2)
839     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, SizeOfOptionalHeader, 2)
840     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, SizeOfOptionalHeader, 16)
841     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, Characteristics, 2)
842     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, Characteristics, 2)
843     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, Characteristics, 18)
844 }
845
846 static void test_pack_IMAGE_FUNCTION_ENTRY(void)
847 {
848     /* IMAGE_FUNCTION_ENTRY (pack 4) */
849     TEST_TYPE_SIZE   (IMAGE_FUNCTION_ENTRY, 12)
850     TEST_TYPE_ALIGN  (IMAGE_FUNCTION_ENTRY, 4)
851     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, StartingAddress, 4)
852     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, StartingAddress, 4)
853     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, StartingAddress, 0)
854     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
855     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
856     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
857     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, EndOfPrologue, 4)
858     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, EndOfPrologue, 4)
859     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, EndOfPrologue, 8)
860 }
861
862 static void test_pack_IMAGE_IMPORT_BY_NAME(void)
863 {
864     /* IMAGE_IMPORT_BY_NAME (pack 4) */
865     TEST_TYPE_SIZE   (IMAGE_IMPORT_BY_NAME, 4)
866     TEST_TYPE_ALIGN  (IMAGE_IMPORT_BY_NAME, 2)
867     TEST_FIELD_SIZE  (IMAGE_IMPORT_BY_NAME, Hint, 2)
868     TEST_FIELD_ALIGN (IMAGE_IMPORT_BY_NAME, Hint, 2)
869     TEST_FIELD_OFFSET(IMAGE_IMPORT_BY_NAME, Hint, 0)
870     TEST_FIELD_SIZE  (IMAGE_IMPORT_BY_NAME, Name, 1)
871     TEST_FIELD_ALIGN (IMAGE_IMPORT_BY_NAME, Name, 1)
872     TEST_FIELD_OFFSET(IMAGE_IMPORT_BY_NAME, Name, 2)
873 }
874
875 static void test_pack_IMAGE_IMPORT_DESCRIPTOR(void)
876 {
877     /* IMAGE_IMPORT_DESCRIPTOR (pack 4) */
878 }
879
880 static void test_pack_IMAGE_LINENUMBER(void)
881 {
882     /* IMAGE_LINENUMBER (pack 2) */
883 }
884
885 static void test_pack_IMAGE_LOAD_CONFIG_DIRECTORY(void)
886 {
887     /* IMAGE_LOAD_CONFIG_DIRECTORY (pack 4) */
888     TEST_TYPE_SIZE   (IMAGE_LOAD_CONFIG_DIRECTORY, 72)
889     TEST_TYPE_ALIGN  (IMAGE_LOAD_CONFIG_DIRECTORY, 4)
890     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, Size, 4)
891     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, Size, 4)
892     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, Size, 0)
893     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
894     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
895     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
896     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 2)
897     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 2)
898     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 8)
899     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 2)
900     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 2)
901     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 10)
902     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 4)
903     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 4)
904     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 12)
905     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 4)
906     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 4)
907     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 16)
908     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 4)
909     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 4)
910     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 20)
911     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 4)
912     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 4)
913     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 24)
914     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 4)
915     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 4)
916     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 28)
917     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 4)
918     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 4)
919     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 32)
920     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 4)
921     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 4)
922     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 36)
923     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 4)
924     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 4)
925     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 40)
926     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 4)
927     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 4)
928     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 44)
929     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 4)
930     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 4)
931     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 48)
932     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 2)
933     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 2)
934     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 52)
935     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 2)
936     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 2)
937     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 54)
938     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 4)
939     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 4)
940     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 56)
941     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 4)
942     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 4)
943     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 60)
944     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 4)
945     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 4)
946     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 64)
947     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 4)
948     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 4)
949     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 68)
950 }
951
952 static void test_pack_IMAGE_NT_HEADERS(void)
953 {
954     /* IMAGE_NT_HEADERS */
955     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS, 248)
956     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS, 4)
957 }
958
959 static void test_pack_IMAGE_OS2_HEADER(void)
960 {
961     /* IMAGE_OS2_HEADER (pack 2) */
962     TEST_TYPE_SIZE   (IMAGE_OS2_HEADER, 64)
963     TEST_TYPE_ALIGN  (IMAGE_OS2_HEADER, 2)
964     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_magic, 2)
965     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_magic, 2)
966     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_magic, 0)
967     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_ver, 1)
968     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_ver, 1)
969     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_ver, 2)
970     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_rev, 1)
971     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_rev, 1)
972     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_rev, 3)
973     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_enttab, 2)
974     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_enttab, 2)
975     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_enttab, 4)
976     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cbenttab, 2)
977     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cbenttab, 2)
978     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cbenttab, 6)
979     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_crc, 4)
980     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_crc, 2)
981     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_crc, 8)
982     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_flags, 2)
983     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_flags, 2)
984     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_flags, 12)
985     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_autodata, 2)
986     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_autodata, 2)
987     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_autodata, 14)
988     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_heap, 2)
989     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_heap, 2)
990     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_heap, 16)
991     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_stack, 2)
992     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_stack, 2)
993     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_stack, 18)
994     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_csip, 4)
995     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_csip, 2)
996     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_csip, 20)
997     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_sssp, 4)
998     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_sssp, 2)
999     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_sssp, 24)
1000     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cseg, 2)
1001     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cseg, 2)
1002     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cseg, 28)
1003     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cmod, 2)
1004     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cmod, 2)
1005     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cmod, 30)
1006     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cbnrestab, 2)
1007     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cbnrestab, 2)
1008     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cbnrestab, 32)
1009     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_segtab, 2)
1010     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_segtab, 2)
1011     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_segtab, 34)
1012     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_rsrctab, 2)
1013     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_rsrctab, 2)
1014     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_rsrctab, 36)
1015     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_restab, 2)
1016     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_restab, 2)
1017     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_restab, 38)
1018     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_modtab, 2)
1019     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_modtab, 2)
1020     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_modtab, 40)
1021     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_imptab, 2)
1022     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_imptab, 2)
1023     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_imptab, 42)
1024     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_nrestab, 4)
1025     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_nrestab, 2)
1026     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_nrestab, 44)
1027     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cmovent, 2)
1028     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cmovent, 2)
1029     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cmovent, 48)
1030     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_align, 2)
1031     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_align, 2)
1032     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_align, 50)
1033     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cres, 2)
1034     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cres, 2)
1035     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cres, 52)
1036     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_exetyp, 1)
1037     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_exetyp, 1)
1038     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_exetyp, 54)
1039     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_flagsothers, 1)
1040     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_flagsothers, 1)
1041     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_flagsothers, 55)
1042     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_pretthunks, 2)
1043     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_pretthunks, 2)
1044     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_pretthunks, 56)
1045     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_psegrefbytes, 2)
1046     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_psegrefbytes, 2)
1047     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_psegrefbytes, 58)
1048     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_swaparea, 2)
1049     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_swaparea, 2)
1050     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_swaparea, 60)
1051     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_expver, 2)
1052     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_expver, 2)
1053     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_expver, 62)
1054 }
1055
1056 static void test_pack_IMAGE_RELOCATION(void)
1057 {
1058     /* IMAGE_RELOCATION (pack 2) */
1059 }
1060
1061 static void test_pack_IMAGE_RESOURCE_DATA_ENTRY(void)
1062 {
1063     /* IMAGE_RESOURCE_DATA_ENTRY (pack 4) */
1064     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DATA_ENTRY, 16)
1065     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DATA_ENTRY, 4)
1066     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 4)
1067     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 4)
1068     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 0)
1069     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
1070     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
1071     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
1072     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, CodePage, 4)
1073     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, CodePage, 4)
1074     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, CodePage, 8)
1075     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, Reserved, 4)
1076     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, Reserved, 4)
1077     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, Reserved, 12)
1078 }
1079
1080 static void test_pack_IMAGE_RESOURCE_DIRECTORY(void)
1081 {
1082     /* IMAGE_RESOURCE_DIRECTORY (pack 4) */
1083     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIRECTORY, 16)
1084     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIRECTORY, 4)
1085     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, Characteristics, 4)
1086     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, Characteristics, 4)
1087     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, Characteristics, 0)
1088     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
1089     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
1090     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
1091     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, MajorVersion, 2)
1092     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, MajorVersion, 2)
1093     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, MajorVersion, 8)
1094     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, MinorVersion, 2)
1095     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, MinorVersion, 2)
1096     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, MinorVersion, 10)
1097     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 2)
1098     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 2)
1099     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 12)
1100     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 2)
1101     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 2)
1102     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 14)
1103 }
1104
1105 static void test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY(void)
1106 {
1107     /* IMAGE_RESOURCE_DIRECTORY_ENTRY (pack 4) */
1108 }
1109
1110 static void test_pack_IMAGE_RESOURCE_DIRECTORY_STRING(void)
1111 {
1112     /* IMAGE_RESOURCE_DIRECTORY_STRING (pack 4) */
1113     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIRECTORY_STRING, 4)
1114     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIRECTORY_STRING, 2)
1115     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY_STRING, Length, 2)
1116     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY_STRING, Length, 2)
1117     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY_STRING, Length, 0)
1118     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 1)
1119     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 1)
1120     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 2)
1121 }
1122
1123 static void test_pack_IMAGE_RESOURCE_DIR_STRING_U(void)
1124 {
1125     /* IMAGE_RESOURCE_DIR_STRING_U (pack 4) */
1126     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIR_STRING_U, 4)
1127     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIR_STRING_U, 2)
1128     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIR_STRING_U, Length, 2)
1129     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIR_STRING_U, Length, 2)
1130     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIR_STRING_U, Length, 0)
1131     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
1132     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
1133     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
1134 }
1135
1136 static void test_pack_IMAGE_SECTION_HEADER(void)
1137 {
1138     /* IMAGE_SECTION_HEADER (pack 4) */
1139     TEST_FIELD_SIZE  (IMAGE_SECTION_HEADER, Name, 8)
1140     TEST_FIELD_ALIGN (IMAGE_SECTION_HEADER, Name, 1)
1141     TEST_FIELD_OFFSET(IMAGE_SECTION_HEADER, Name, 0)
1142 }
1143
1144 static void test_pack_IMAGE_SEPARATE_DEBUG_HEADER(void)
1145 {
1146     /* IMAGE_SEPARATE_DEBUG_HEADER (pack 4) */
1147     TEST_TYPE_SIZE   (IMAGE_SEPARATE_DEBUG_HEADER, 48)
1148     TEST_TYPE_ALIGN  (IMAGE_SEPARATE_DEBUG_HEADER, 4)
1149     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Signature, 2)
1150     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Signature, 2)
1151     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Signature, 0)
1152     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
1153     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
1154     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
1155     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Machine, 2)
1156     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Machine, 2)
1157     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Machine, 4)
1158     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 2)
1159     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 2)
1160     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 6)
1161     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 4)
1162     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 4)
1163     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 8)
1164     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 4)
1165     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 4)
1166     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 12)
1167     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 4)
1168     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 4)
1169     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 16)
1170     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 4)
1171     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 4)
1172     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 20)
1173     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 4)
1174     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 4)
1175     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 24)
1176     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 4)
1177     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 4)
1178     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 28)
1179     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 4)
1180     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 4)
1181     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 32)
1182     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 4)
1183     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 4)
1184     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 36)
1185     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 8)
1186     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 4)
1187     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 40)
1188 }
1189
1190 static void test_pack_IMAGE_SYMBOL(void)
1191 {
1192     /* IMAGE_SYMBOL (pack 2) */
1193 }
1194
1195 static void test_pack_IMAGE_THUNK_DATA(void)
1196 {
1197     /* IMAGE_THUNK_DATA */
1198 }
1199
1200 static void test_pack_IMAGE_TLS_DIRECTORY(void)
1201 {
1202     /* IMAGE_TLS_DIRECTORY */
1203     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY, 24)
1204     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY, 4)
1205 }
1206
1207 static void test_pack_IMAGE_VXD_HEADER(void)
1208 {
1209     /* IMAGE_VXD_HEADER (pack 2) */
1210     TEST_TYPE_SIZE   (IMAGE_VXD_HEADER, 196)
1211     TEST_TYPE_ALIGN  (IMAGE_VXD_HEADER, 2)
1212     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_magic, 2)
1213     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_magic, 2)
1214     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_magic, 0)
1215     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_border, 1)
1216     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_border, 1)
1217     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_border, 2)
1218     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_worder, 1)
1219     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_worder, 1)
1220     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_worder, 3)
1221     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_level, 4)
1222     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_level, 2)
1223     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_level, 4)
1224     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_cpu, 2)
1225     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_cpu, 2)
1226     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_cpu, 8)
1227     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_os, 2)
1228     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_os, 2)
1229     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_os, 10)
1230     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ver, 4)
1231     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ver, 2)
1232     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ver, 12)
1233     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_mflags, 4)
1234     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_mflags, 2)
1235     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_mflags, 16)
1236     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_mpages, 4)
1237     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_mpages, 2)
1238     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_mpages, 20)
1239     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_startobj, 4)
1240     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_startobj, 2)
1241     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_startobj, 24)
1242     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_eip, 4)
1243     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_eip, 2)
1244     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_eip, 28)
1245     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_stackobj, 4)
1246     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_stackobj, 2)
1247     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_stackobj, 32)
1248     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_esp, 4)
1249     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_esp, 2)
1250     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_esp, 36)
1251     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_pagesize, 4)
1252     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_pagesize, 2)
1253     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_pagesize, 40)
1254     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_lastpagesize, 4)
1255     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_lastpagesize, 2)
1256     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_lastpagesize, 44)
1257     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fixupsize, 4)
1258     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fixupsize, 2)
1259     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fixupsize, 48)
1260     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fixupsum, 4)
1261     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fixupsum, 2)
1262     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fixupsum, 52)
1263     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ldrsize, 4)
1264     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ldrsize, 2)
1265     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ldrsize, 56)
1266     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ldrsum, 4)
1267     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ldrsum, 2)
1268     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ldrsum, 60)
1269     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objtab, 4)
1270     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objtab, 2)
1271     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objtab, 64)
1272     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objcnt, 4)
1273     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objcnt, 2)
1274     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objcnt, 68)
1275     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objmap, 4)
1276     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objmap, 2)
1277     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objmap, 72)
1278     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_itermap, 4)
1279     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_itermap, 2)
1280     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_itermap, 76)
1281     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_rsrctab, 4)
1282     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_rsrctab, 2)
1283     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_rsrctab, 80)
1284     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_rsrccnt, 4)
1285     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_rsrccnt, 2)
1286     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_rsrccnt, 84)
1287     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_restab, 4)
1288     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_restab, 2)
1289     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_restab, 88)
1290     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_enttab, 4)
1291     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_enttab, 2)
1292     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_enttab, 92)
1293     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_dirtab, 4)
1294     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_dirtab, 2)
1295     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_dirtab, 96)
1296     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_dircnt, 4)
1297     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_dircnt, 2)
1298     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_dircnt, 100)
1299     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fpagetab, 4)
1300     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fpagetab, 2)
1301     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fpagetab, 104)
1302     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_frectab, 4)
1303     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_frectab, 2)
1304     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_frectab, 108)
1305     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impmod, 4)
1306     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impmod, 2)
1307     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impmod, 112)
1308     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impmodcnt, 4)
1309     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impmodcnt, 2)
1310     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impmodcnt, 116)
1311     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impproc, 4)
1312     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impproc, 2)
1313     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impproc, 120)
1314     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_pagesum, 4)
1315     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_pagesum, 2)
1316     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_pagesum, 124)
1317     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_datapage, 4)
1318     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_datapage, 2)
1319     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_datapage, 128)
1320     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_preload, 4)
1321     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_preload, 2)
1322     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_preload, 132)
1323     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_nrestab, 4)
1324     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_nrestab, 2)
1325     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_nrestab, 136)
1326     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_cbnrestab, 4)
1327     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_cbnrestab, 2)
1328     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_cbnrestab, 140)
1329     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_nressum, 4)
1330     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_nressum, 2)
1331     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_nressum, 144)
1332     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_autodata, 4)
1333     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_autodata, 2)
1334     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_autodata, 148)
1335     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_debuginfo, 4)
1336     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_debuginfo, 2)
1337     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_debuginfo, 152)
1338     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_debuglen, 4)
1339     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_debuglen, 2)
1340     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_debuglen, 156)
1341     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_instpreload, 4)
1342     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_instpreload, 2)
1343     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_instpreload, 160)
1344     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_instdemand, 4)
1345     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_instdemand, 2)
1346     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_instdemand, 164)
1347     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_heapsize, 4)
1348     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_heapsize, 2)
1349     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_heapsize, 168)
1350     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_res3, 12)
1351     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_res3, 1)
1352     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_res3, 172)
1353     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_winresoff, 4)
1354     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_winresoff, 2)
1355     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_winresoff, 184)
1356     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_winreslen, 4)
1357     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_winreslen, 2)
1358     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_winreslen, 188)
1359     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_devid, 2)
1360     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_devid, 2)
1361     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_devid, 192)
1362     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ddkver, 2)
1363     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ddkver, 2)
1364     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ddkver, 194)
1365 }
1366
1367 static void test_pack_IO_COUNTERS(void)
1368 {
1369     /* IO_COUNTERS (pack 8) */
1370     TEST_TYPE_SIZE   (IO_COUNTERS, 48)
1371     TEST_TYPE_ALIGN  (IO_COUNTERS, 8)
1372     TEST_FIELD_SIZE  (IO_COUNTERS, ReadOperationCount, 8)
1373     TEST_FIELD_ALIGN (IO_COUNTERS, ReadOperationCount, 8)
1374     TEST_FIELD_OFFSET(IO_COUNTERS, ReadOperationCount, 0)
1375     TEST_FIELD_SIZE  (IO_COUNTERS, WriteOperationCount, 8)
1376     TEST_FIELD_ALIGN (IO_COUNTERS, WriteOperationCount, 8)
1377     TEST_FIELD_OFFSET(IO_COUNTERS, WriteOperationCount, 8)
1378     TEST_FIELD_SIZE  (IO_COUNTERS, OtherOperationCount, 8)
1379     TEST_FIELD_ALIGN (IO_COUNTERS, OtherOperationCount, 8)
1380     TEST_FIELD_OFFSET(IO_COUNTERS, OtherOperationCount, 16)
1381     TEST_FIELD_SIZE  (IO_COUNTERS, ReadTransferCount, 8)
1382     TEST_FIELD_ALIGN (IO_COUNTERS, ReadTransferCount, 8)
1383     TEST_FIELD_OFFSET(IO_COUNTERS, ReadTransferCount, 24)
1384     TEST_FIELD_SIZE  (IO_COUNTERS, WriteTransferCount, 8)
1385     TEST_FIELD_ALIGN (IO_COUNTERS, WriteTransferCount, 8)
1386     TEST_FIELD_OFFSET(IO_COUNTERS, WriteTransferCount, 32)
1387     TEST_FIELD_SIZE  (IO_COUNTERS, OtherTransferCount, 8)
1388     TEST_FIELD_ALIGN (IO_COUNTERS, OtherTransferCount, 8)
1389     TEST_FIELD_OFFSET(IO_COUNTERS, OtherTransferCount, 40)
1390 }
1391
1392 static void test_pack_LANGID(void)
1393 {
1394     /* LANGID */
1395     TEST_TYPE_SIZE   (LANGID, 2)
1396     TEST_TYPE_ALIGN  (LANGID, 2)
1397     TEST_TYPE_UNSIGNED(LANGID)
1398 }
1399
1400 static void test_pack_LARGE_INTEGER(void)
1401 {
1402     /* LARGE_INTEGER (pack 4) */
1403 }
1404
1405 static void test_pack_LCID(void)
1406 {
1407     /* LCID */
1408     TEST_TYPE_SIZE   (LCID, 4)
1409     TEST_TYPE_ALIGN  (LCID, 4)
1410     TEST_TYPE_UNSIGNED(LCID)
1411 }
1412
1413 static void test_pack_LIST_ENTRY(void)
1414 {
1415     /* LIST_ENTRY (pack 4) */
1416     TEST_TYPE_SIZE   (LIST_ENTRY, 8)
1417     TEST_TYPE_ALIGN  (LIST_ENTRY, 4)
1418     TEST_FIELD_SIZE  (LIST_ENTRY, Flink, 4)
1419     TEST_FIELD_ALIGN (LIST_ENTRY, Flink, 4)
1420     TEST_FIELD_OFFSET(LIST_ENTRY, Flink, 0)
1421     TEST_FIELD_SIZE  (LIST_ENTRY, Blink, 4)
1422     TEST_FIELD_ALIGN (LIST_ENTRY, Blink, 4)
1423     TEST_FIELD_OFFSET(LIST_ENTRY, Blink, 4)
1424 }
1425
1426 static void test_pack_LONG(void)
1427 {
1428     /* LONG */
1429     TEST_TYPE_SIZE   (LONG, 4)
1430     TEST_TYPE_ALIGN  (LONG, 4)
1431     TEST_TYPE_SIGNED(LONG)
1432 }
1433
1434 static void test_pack_LONGLONG(void)
1435 {
1436     /* LONGLONG */
1437     TEST_TYPE_SIZE   (LONGLONG, 8)
1438     TEST_TYPE_ALIGN  (LONGLONG, 8)
1439     TEST_TYPE_SIGNED(LONGLONG)
1440 }
1441
1442 static void test_pack_LUID(void)
1443 {
1444     /* LUID (pack 4) */
1445     TEST_TYPE_SIZE   (LUID, 8)
1446     TEST_TYPE_ALIGN  (LUID, 4)
1447     TEST_FIELD_SIZE  (LUID, LowPart, 4)
1448     TEST_FIELD_ALIGN (LUID, LowPart, 4)
1449     TEST_FIELD_OFFSET(LUID, LowPart, 0)
1450     TEST_FIELD_SIZE  (LUID, HighPart, 4)
1451     TEST_FIELD_ALIGN (LUID, HighPart, 4)
1452     TEST_FIELD_OFFSET(LUID, HighPart, 4)
1453 }
1454
1455 static void test_pack_LUID_AND_ATTRIBUTES(void)
1456 {
1457     /* LUID_AND_ATTRIBUTES (pack 4) */
1458     TEST_TYPE_SIZE   (LUID_AND_ATTRIBUTES, 12)
1459     TEST_TYPE_ALIGN  (LUID_AND_ATTRIBUTES, 4)
1460     TEST_FIELD_SIZE  (LUID_AND_ATTRIBUTES, Luid, 8)
1461     TEST_FIELD_ALIGN (LUID_AND_ATTRIBUTES, Luid, 4)
1462     TEST_FIELD_OFFSET(LUID_AND_ATTRIBUTES, Luid, 0)
1463     TEST_FIELD_SIZE  (LUID_AND_ATTRIBUTES, Attributes, 4)
1464     TEST_FIELD_ALIGN (LUID_AND_ATTRIBUTES, Attributes, 4)
1465     TEST_FIELD_OFFSET(LUID_AND_ATTRIBUTES, Attributes, 8)
1466 }
1467
1468 static void test_pack_MEMORY_BASIC_INFORMATION(void)
1469 {
1470     /* MEMORY_BASIC_INFORMATION (pack 4) */
1471     TEST_TYPE_SIZE   (MEMORY_BASIC_INFORMATION, 28)
1472     TEST_TYPE_ALIGN  (MEMORY_BASIC_INFORMATION, 4)
1473     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, BaseAddress, 4)
1474     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, BaseAddress, 4)
1475     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, BaseAddress, 0)
1476     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, AllocationBase, 4)
1477     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, AllocationBase, 4)
1478     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, AllocationBase, 4)
1479     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, AllocationProtect, 4)
1480     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, AllocationProtect, 4)
1481     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, AllocationProtect, 8)
1482     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, RegionSize, 4)
1483     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, RegionSize, 4)
1484     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, RegionSize, 12)
1485     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, State, 4)
1486     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, State, 4)
1487     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, State, 16)
1488     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, Protect, 4)
1489     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, Protect, 4)
1490     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, Protect, 20)
1491     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, Type, 4)
1492     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, Type, 4)
1493     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, Type, 24)
1494 }
1495
1496 static void test_pack_MESSAGE_RESOURCE_BLOCK(void)
1497 {
1498     /* MESSAGE_RESOURCE_BLOCK (pack 4) */
1499     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_BLOCK, 12)
1500     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_BLOCK, 4)
1501     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, LowId, 4)
1502     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, LowId, 4)
1503     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, LowId, 0)
1504     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, HighId, 4)
1505     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, HighId, 4)
1506     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, HighId, 4)
1507     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 4)
1508     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 4)
1509     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 8)
1510 }
1511
1512 static void test_pack_MESSAGE_RESOURCE_DATA(void)
1513 {
1514     /* MESSAGE_RESOURCE_DATA (pack 4) */
1515     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_DATA, 16)
1516     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_DATA, 4)
1517     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_DATA, NumberOfBlocks, 4)
1518     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_DATA, NumberOfBlocks, 4)
1519     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_DATA, NumberOfBlocks, 0)
1520     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_DATA, Blocks, 12)
1521     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_DATA, Blocks, 4)
1522     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_DATA, Blocks, 4)
1523 }
1524
1525 static void test_pack_MESSAGE_RESOURCE_ENTRY(void)
1526 {
1527     /* MESSAGE_RESOURCE_ENTRY (pack 4) */
1528     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_ENTRY, 6)
1529     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_ENTRY, 2)
1530     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Length, 2)
1531     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Length, 2)
1532     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Length, 0)
1533     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Flags, 2)
1534     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Flags, 2)
1535     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Flags, 2)
1536     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Text, 1)
1537     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Text, 1)
1538     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Text, 4)
1539 }
1540
1541 static void test_pack_NT_TIB(void)
1542 {
1543     /* NT_TIB (pack 4) */
1544     TEST_FIELD_SIZE  (NT_TIB, ExceptionList, 4)
1545     TEST_FIELD_ALIGN (NT_TIB, ExceptionList, 4)
1546     TEST_FIELD_OFFSET(NT_TIB, ExceptionList, 0)
1547     TEST_FIELD_SIZE  (NT_TIB, StackBase, 4)
1548     TEST_FIELD_ALIGN (NT_TIB, StackBase, 4)
1549     TEST_FIELD_OFFSET(NT_TIB, StackBase, 4)
1550     TEST_FIELD_SIZE  (NT_TIB, StackLimit, 4)
1551     TEST_FIELD_ALIGN (NT_TIB, StackLimit, 4)
1552     TEST_FIELD_OFFSET(NT_TIB, StackLimit, 8)
1553     TEST_FIELD_SIZE  (NT_TIB, SubSystemTib, 4)
1554     TEST_FIELD_ALIGN (NT_TIB, SubSystemTib, 4)
1555     TEST_FIELD_OFFSET(NT_TIB, SubSystemTib, 12)
1556 }
1557
1558 static void test_pack_OBJECT_TYPE_LIST(void)
1559 {
1560     /* OBJECT_TYPE_LIST (pack 4) */
1561     TEST_TYPE_SIZE   (OBJECT_TYPE_LIST, 8)
1562     TEST_TYPE_ALIGN  (OBJECT_TYPE_LIST, 4)
1563     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, Level, 2)
1564     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, Level, 2)
1565     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, Level, 0)
1566     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, Sbz, 2)
1567     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, Sbz, 2)
1568     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, Sbz, 2)
1569     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, ObjectType, 4)
1570     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, ObjectType, 4)
1571     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, ObjectType, 4)
1572 }
1573
1574 static void test_pack_PACCESS_ALLOWED_ACE(void)
1575 {
1576     /* PACCESS_ALLOWED_ACE */
1577     TEST_TYPE_SIZE   (PACCESS_ALLOWED_ACE, 4)
1578     TEST_TYPE_ALIGN  (PACCESS_ALLOWED_ACE, 4)
1579     TEST_TARGET_SIZE (PACCESS_ALLOWED_ACE, 12)
1580     TEST_TARGET_ALIGN(PACCESS_ALLOWED_ACE, 4)
1581 }
1582
1583 static void test_pack_PACCESS_DENIED_ACE(void)
1584 {
1585     /* PACCESS_DENIED_ACE */
1586     TEST_TYPE_SIZE   (PACCESS_DENIED_ACE, 4)
1587     TEST_TYPE_ALIGN  (PACCESS_DENIED_ACE, 4)
1588     TEST_TARGET_SIZE (PACCESS_DENIED_ACE, 12)
1589     TEST_TARGET_ALIGN(PACCESS_DENIED_ACE, 4)
1590 }
1591
1592 static void test_pack_PACCESS_TOKEN(void)
1593 {
1594     /* PACCESS_TOKEN */
1595     TEST_TYPE_SIZE   (PACCESS_TOKEN, 4)
1596     TEST_TYPE_ALIGN  (PACCESS_TOKEN, 4)
1597 }
1598
1599 static void test_pack_PACE_HEADER(void)
1600 {
1601     /* PACE_HEADER */
1602     TEST_TYPE_SIZE   (PACE_HEADER, 4)
1603     TEST_TYPE_ALIGN  (PACE_HEADER, 4)
1604     TEST_TARGET_SIZE (PACE_HEADER, 4)
1605     TEST_TARGET_ALIGN(PACE_HEADER, 2)
1606 }
1607
1608 static void test_pack_PACL(void)
1609 {
1610     /* PACL */
1611     TEST_TYPE_SIZE   (PACL, 4)
1612     TEST_TYPE_ALIGN  (PACL, 4)
1613     TEST_TARGET_SIZE (PACL, 8)
1614     TEST_TARGET_ALIGN(PACL, 2)
1615 }
1616
1617 static void test_pack_PACL_REVISION_INFORMATION(void)
1618 {
1619     /* PACL_REVISION_INFORMATION */
1620     TEST_TYPE_SIZE   (PACL_REVISION_INFORMATION, 4)
1621     TEST_TYPE_ALIGN  (PACL_REVISION_INFORMATION, 4)
1622     TEST_TARGET_SIZE (PACL_REVISION_INFORMATION, 4)
1623     TEST_TARGET_ALIGN(PACL_REVISION_INFORMATION, 4)
1624 }
1625
1626 static void test_pack_PACL_SIZE_INFORMATION(void)
1627 {
1628     /* PACL_SIZE_INFORMATION */
1629     TEST_TYPE_SIZE   (PACL_SIZE_INFORMATION, 4)
1630     TEST_TYPE_ALIGN  (PACL_SIZE_INFORMATION, 4)
1631     TEST_TARGET_SIZE (PACL_SIZE_INFORMATION, 12)
1632     TEST_TARGET_ALIGN(PACL_SIZE_INFORMATION, 4)
1633 }
1634
1635 static void test_pack_PCCH(void)
1636 {
1637     /* PCCH */
1638     TEST_TYPE_SIZE   (PCCH, 4)
1639     TEST_TYPE_ALIGN  (PCCH, 4)
1640     TEST_TARGET_SIZE (PCCH, 1)
1641     TEST_TARGET_ALIGN(PCCH, 1)
1642 }
1643
1644 static void test_pack_PCH(void)
1645 {
1646     /* PCH */
1647     TEST_TYPE_SIZE   (PCH, 4)
1648     TEST_TYPE_ALIGN  (PCH, 4)
1649     TEST_TARGET_SIZE (PCH, 1)
1650     TEST_TARGET_ALIGN(PCH, 1)
1651 }
1652
1653 static void test_pack_PCSTR(void)
1654 {
1655     /* PCSTR */
1656     TEST_TYPE_SIZE   (PCSTR, 4)
1657     TEST_TYPE_ALIGN  (PCSTR, 4)
1658     TEST_TARGET_SIZE (PCSTR, 1)
1659     TEST_TARGET_ALIGN(PCSTR, 1)
1660 }
1661
1662 static void test_pack_PCTSTR(void)
1663 {
1664     /* PCTSTR */
1665     TEST_TYPE_SIZE   (PCTSTR, 4)
1666     TEST_TYPE_ALIGN  (PCTSTR, 4)
1667 }
1668
1669 static void test_pack_PCWCH(void)
1670 {
1671     /* PCWCH */
1672     TEST_TYPE_SIZE   (PCWCH, 4)
1673     TEST_TYPE_ALIGN  (PCWCH, 4)
1674     TEST_TARGET_SIZE (PCWCH, 2)
1675     TEST_TARGET_ALIGN(PCWCH, 2)
1676 }
1677
1678 static void test_pack_PCWSTR(void)
1679 {
1680     /* PCWSTR */
1681     TEST_TYPE_SIZE   (PCWSTR, 4)
1682     TEST_TYPE_ALIGN  (PCWSTR, 4)
1683     TEST_TARGET_SIZE (PCWSTR, 2)
1684     TEST_TARGET_ALIGN(PCWSTR, 2)
1685 }
1686
1687 static void test_pack_PEXCEPTION_POINTERS(void)
1688 {
1689     /* PEXCEPTION_POINTERS */
1690     TEST_TYPE_SIZE   (PEXCEPTION_POINTERS, 4)
1691     TEST_TYPE_ALIGN  (PEXCEPTION_POINTERS, 4)
1692     TEST_TARGET_SIZE (PEXCEPTION_POINTERS, 8)
1693     TEST_TARGET_ALIGN(PEXCEPTION_POINTERS, 4)
1694 }
1695
1696 static void test_pack_PEXCEPTION_RECORD(void)
1697 {
1698     /* PEXCEPTION_RECORD */
1699     TEST_TYPE_SIZE   (PEXCEPTION_RECORD, 4)
1700     TEST_TYPE_ALIGN  (PEXCEPTION_RECORD, 4)
1701     TEST_TARGET_SIZE (PEXCEPTION_RECORD, 80)
1702     TEST_TARGET_ALIGN(PEXCEPTION_RECORD, 4)
1703 }
1704
1705 static void test_pack_PFLOATING_SAVE_AREA(void)
1706 {
1707     /* PFLOATING_SAVE_AREA */
1708     TEST_TYPE_SIZE   (PFLOATING_SAVE_AREA, 4)
1709     TEST_TYPE_ALIGN  (PFLOATING_SAVE_AREA, 4)
1710     TEST_TARGET_SIZE (PFLOATING_SAVE_AREA, 112)
1711     TEST_TARGET_ALIGN(PFLOATING_SAVE_AREA, 4)
1712 }
1713
1714 static void test_pack_PFPO_DATA(void)
1715 {
1716     /* PFPO_DATA */
1717     TEST_TYPE_SIZE   (PFPO_DATA, 4)
1718     TEST_TYPE_ALIGN  (PFPO_DATA, 4)
1719     TEST_TARGET_SIZE (PFPO_DATA, 16)
1720     TEST_TARGET_ALIGN(PFPO_DATA, 4)
1721 }
1722
1723 static void test_pack_PGENERIC_MAPPING(void)
1724 {
1725     /* PGENERIC_MAPPING */
1726     TEST_TYPE_SIZE   (PGENERIC_MAPPING, 4)
1727     TEST_TYPE_ALIGN  (PGENERIC_MAPPING, 4)
1728     TEST_TARGET_SIZE (PGENERIC_MAPPING, 16)
1729     TEST_TARGET_ALIGN(PGENERIC_MAPPING, 4)
1730 }
1731
1732 static void test_pack_PHANDLE(void)
1733 {
1734     /* PHANDLE */
1735     TEST_TYPE_SIZE   (PHANDLE, 4)
1736     TEST_TYPE_ALIGN  (PHANDLE, 4)
1737     TEST_TARGET_SIZE (PHANDLE, 4)
1738     TEST_TARGET_ALIGN(PHANDLE, 4)
1739 }
1740
1741 static void test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER(void)
1742 {
1743     /* PIMAGE_ARCHIVE_MEMBER_HEADER */
1744     TEST_TYPE_SIZE   (PIMAGE_ARCHIVE_MEMBER_HEADER, 4)
1745     TEST_TYPE_ALIGN  (PIMAGE_ARCHIVE_MEMBER_HEADER, 4)
1746     TEST_TARGET_SIZE (PIMAGE_ARCHIVE_MEMBER_HEADER, 60)
1747     TEST_TARGET_ALIGN(PIMAGE_ARCHIVE_MEMBER_HEADER, 1)
1748 }
1749
1750 static void test_pack_PIMAGE_AUX_SYMBOL(void)
1751 {
1752     /* PIMAGE_AUX_SYMBOL */
1753     TEST_TYPE_SIZE   (PIMAGE_AUX_SYMBOL, 4)
1754     TEST_TYPE_ALIGN  (PIMAGE_AUX_SYMBOL, 4)
1755 }
1756
1757 static void test_pack_PIMAGE_BASE_RELOCATION(void)
1758 {
1759     /* PIMAGE_BASE_RELOCATION */
1760     TEST_TYPE_SIZE   (PIMAGE_BASE_RELOCATION, 4)
1761     TEST_TYPE_ALIGN  (PIMAGE_BASE_RELOCATION, 4)
1762     TEST_TARGET_SIZE (PIMAGE_BASE_RELOCATION, 8)
1763     TEST_TARGET_ALIGN(PIMAGE_BASE_RELOCATION, 4)
1764 }
1765
1766 static void test_pack_PIMAGE_BOUND_FORWARDER_REF(void)
1767 {
1768     /* PIMAGE_BOUND_FORWARDER_REF */
1769     TEST_TYPE_SIZE   (PIMAGE_BOUND_FORWARDER_REF, 4)
1770     TEST_TYPE_ALIGN  (PIMAGE_BOUND_FORWARDER_REF, 4)
1771     TEST_TARGET_SIZE (PIMAGE_BOUND_FORWARDER_REF, 8)
1772     TEST_TARGET_ALIGN(PIMAGE_BOUND_FORWARDER_REF, 4)
1773 }
1774
1775 static void test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR(void)
1776 {
1777     /* PIMAGE_BOUND_IMPORT_DESCRIPTOR */
1778     TEST_TYPE_SIZE   (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
1779     TEST_TYPE_ALIGN  (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
1780     TEST_TARGET_SIZE (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
1781     TEST_TARGET_ALIGN(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
1782 }
1783
1784 static void test_pack_PIMAGE_COFF_SYMBOLS_HEADER(void)
1785 {
1786     /* PIMAGE_COFF_SYMBOLS_HEADER */
1787     TEST_TYPE_SIZE   (PIMAGE_COFF_SYMBOLS_HEADER, 4)
1788     TEST_TYPE_ALIGN  (PIMAGE_COFF_SYMBOLS_HEADER, 4)
1789     TEST_TARGET_SIZE (PIMAGE_COFF_SYMBOLS_HEADER, 32)
1790     TEST_TARGET_ALIGN(PIMAGE_COFF_SYMBOLS_HEADER, 4)
1791 }
1792
1793 static void test_pack_PIMAGE_DATA_DIRECTORY(void)
1794 {
1795     /* PIMAGE_DATA_DIRECTORY */
1796     TEST_TYPE_SIZE   (PIMAGE_DATA_DIRECTORY, 4)
1797     TEST_TYPE_ALIGN  (PIMAGE_DATA_DIRECTORY, 4)
1798     TEST_TARGET_SIZE (PIMAGE_DATA_DIRECTORY, 8)
1799     TEST_TARGET_ALIGN(PIMAGE_DATA_DIRECTORY, 4)
1800 }
1801
1802 static void test_pack_PIMAGE_DEBUG_DIRECTORY(void)
1803 {
1804     /* PIMAGE_DEBUG_DIRECTORY */
1805     TEST_TYPE_SIZE   (PIMAGE_DEBUG_DIRECTORY, 4)
1806     TEST_TYPE_ALIGN  (PIMAGE_DEBUG_DIRECTORY, 4)
1807     TEST_TARGET_SIZE (PIMAGE_DEBUG_DIRECTORY, 28)
1808     TEST_TARGET_ALIGN(PIMAGE_DEBUG_DIRECTORY, 4)
1809 }
1810
1811 static void test_pack_PIMAGE_DEBUG_MISC(void)
1812 {
1813     /* PIMAGE_DEBUG_MISC */
1814     TEST_TYPE_SIZE   (PIMAGE_DEBUG_MISC, 4)
1815     TEST_TYPE_ALIGN  (PIMAGE_DEBUG_MISC, 4)
1816     TEST_TARGET_SIZE (PIMAGE_DEBUG_MISC, 16)
1817     TEST_TARGET_ALIGN(PIMAGE_DEBUG_MISC, 4)
1818 }
1819
1820 static void test_pack_PIMAGE_DOS_HEADER(void)
1821 {
1822     /* PIMAGE_DOS_HEADER */
1823     TEST_TYPE_SIZE   (PIMAGE_DOS_HEADER, 4)
1824     TEST_TYPE_ALIGN  (PIMAGE_DOS_HEADER, 4)
1825     TEST_TARGET_SIZE (PIMAGE_DOS_HEADER, 64)
1826     TEST_TARGET_ALIGN(PIMAGE_DOS_HEADER, 2)
1827 }
1828
1829 static void test_pack_PIMAGE_EXPORT_DIRECTORY(void)
1830 {
1831     /* PIMAGE_EXPORT_DIRECTORY */
1832     TEST_TYPE_SIZE   (PIMAGE_EXPORT_DIRECTORY, 4)
1833     TEST_TYPE_ALIGN  (PIMAGE_EXPORT_DIRECTORY, 4)
1834     TEST_TARGET_SIZE (PIMAGE_EXPORT_DIRECTORY, 40)
1835     TEST_TARGET_ALIGN(PIMAGE_EXPORT_DIRECTORY, 4)
1836 }
1837
1838 static void test_pack_PIMAGE_FILE_HEADER(void)
1839 {
1840     /* PIMAGE_FILE_HEADER */
1841     TEST_TYPE_SIZE   (PIMAGE_FILE_HEADER, 4)
1842     TEST_TYPE_ALIGN  (PIMAGE_FILE_HEADER, 4)
1843     TEST_TARGET_SIZE (PIMAGE_FILE_HEADER, 20)
1844     TEST_TARGET_ALIGN(PIMAGE_FILE_HEADER, 4)
1845 }
1846
1847 static void test_pack_PIMAGE_FUNCTION_ENTRY(void)
1848 {
1849     /* PIMAGE_FUNCTION_ENTRY */
1850     TEST_TYPE_SIZE   (PIMAGE_FUNCTION_ENTRY, 4)
1851     TEST_TYPE_ALIGN  (PIMAGE_FUNCTION_ENTRY, 4)
1852     TEST_TARGET_SIZE (PIMAGE_FUNCTION_ENTRY, 12)
1853     TEST_TARGET_ALIGN(PIMAGE_FUNCTION_ENTRY, 4)
1854 }
1855
1856 static void test_pack_PIMAGE_IMPORT_BY_NAME(void)
1857 {
1858     /* PIMAGE_IMPORT_BY_NAME */
1859     TEST_TYPE_SIZE   (PIMAGE_IMPORT_BY_NAME, 4)
1860     TEST_TYPE_ALIGN  (PIMAGE_IMPORT_BY_NAME, 4)
1861     TEST_TARGET_SIZE (PIMAGE_IMPORT_BY_NAME, 4)
1862     TEST_TARGET_ALIGN(PIMAGE_IMPORT_BY_NAME, 2)
1863 }
1864
1865 static void test_pack_PIMAGE_IMPORT_DESCRIPTOR(void)
1866 {
1867     /* PIMAGE_IMPORT_DESCRIPTOR */
1868     TEST_TYPE_SIZE   (PIMAGE_IMPORT_DESCRIPTOR, 4)
1869     TEST_TYPE_ALIGN  (PIMAGE_IMPORT_DESCRIPTOR, 4)
1870 }
1871
1872 static void test_pack_PIMAGE_LINENUMBER(void)
1873 {
1874     /* PIMAGE_LINENUMBER */
1875     TEST_TYPE_SIZE   (PIMAGE_LINENUMBER, 4)
1876     TEST_TYPE_ALIGN  (PIMAGE_LINENUMBER, 4)
1877 }
1878
1879 static void test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY(void)
1880 {
1881     /* PIMAGE_LOAD_CONFIG_DIRECTORY */
1882     TEST_TYPE_SIZE   (PIMAGE_LOAD_CONFIG_DIRECTORY, 4)
1883     TEST_TYPE_ALIGN  (PIMAGE_LOAD_CONFIG_DIRECTORY, 4)
1884     TEST_TARGET_SIZE (PIMAGE_LOAD_CONFIG_DIRECTORY, 72)
1885     TEST_TARGET_ALIGN(PIMAGE_LOAD_CONFIG_DIRECTORY, 4)
1886 }
1887
1888 static void test_pack_PIMAGE_NT_HEADERS(void)
1889 {
1890     /* PIMAGE_NT_HEADERS */
1891     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS, 4)
1892     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS, 4)
1893 }
1894
1895 static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
1896 {
1897     /* PIMAGE_OPTIONAL_HEADER */
1898     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER, 4)
1899     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER, 4)
1900 }
1901
1902 static void test_pack_PIMAGE_OS2_HEADER(void)
1903 {
1904     /* PIMAGE_OS2_HEADER */
1905     TEST_TYPE_SIZE   (PIMAGE_OS2_HEADER, 4)
1906     TEST_TYPE_ALIGN  (PIMAGE_OS2_HEADER, 4)
1907     TEST_TARGET_SIZE (PIMAGE_OS2_HEADER, 64)
1908     TEST_TARGET_ALIGN(PIMAGE_OS2_HEADER, 2)
1909 }
1910
1911 static void test_pack_PIMAGE_RELOCATION(void)
1912 {
1913     /* PIMAGE_RELOCATION */
1914     TEST_TYPE_SIZE   (PIMAGE_RELOCATION, 4)
1915     TEST_TYPE_ALIGN  (PIMAGE_RELOCATION, 4)
1916 }
1917
1918 static void test_pack_PIMAGE_RESOURCE_DATA_ENTRY(void)
1919 {
1920     /* PIMAGE_RESOURCE_DATA_ENTRY */
1921     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DATA_ENTRY, 4)
1922     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DATA_ENTRY, 4)
1923     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DATA_ENTRY, 16)
1924     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DATA_ENTRY, 4)
1925 }
1926
1927 static void test_pack_PIMAGE_RESOURCE_DIRECTORY(void)
1928 {
1929     /* PIMAGE_RESOURCE_DIRECTORY */
1930     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY, 4)
1931     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY, 4)
1932     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIRECTORY, 16)
1933     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIRECTORY, 4)
1934 }
1935
1936 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY(void)
1937 {
1938     /* PIMAGE_RESOURCE_DIRECTORY_ENTRY */
1939     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4)
1940     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4)
1941 }
1942
1943 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING(void)
1944 {
1945     /* PIMAGE_RESOURCE_DIRECTORY_STRING */
1946     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
1947     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
1948     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
1949     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIRECTORY_STRING, 2)
1950 }
1951
1952 static void test_pack_PIMAGE_RESOURCE_DIR_STRING_U(void)
1953 {
1954     /* PIMAGE_RESOURCE_DIR_STRING_U */
1955     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIR_STRING_U, 4)
1956     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIR_STRING_U, 4)
1957     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIR_STRING_U, 4)
1958     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIR_STRING_U, 2)
1959 }
1960
1961 static void test_pack_PIMAGE_SECTION_HEADER(void)
1962 {
1963     /* PIMAGE_SECTION_HEADER */
1964     TEST_TYPE_SIZE   (PIMAGE_SECTION_HEADER, 4)
1965     TEST_TYPE_ALIGN  (PIMAGE_SECTION_HEADER, 4)
1966 }
1967
1968 static void test_pack_PIMAGE_SEPARATE_DEBUG_HEADER(void)
1969 {
1970     /* PIMAGE_SEPARATE_DEBUG_HEADER */
1971     TEST_TYPE_SIZE   (PIMAGE_SEPARATE_DEBUG_HEADER, 4)
1972     TEST_TYPE_ALIGN  (PIMAGE_SEPARATE_DEBUG_HEADER, 4)
1973     TEST_TARGET_SIZE (PIMAGE_SEPARATE_DEBUG_HEADER, 48)
1974     TEST_TARGET_ALIGN(PIMAGE_SEPARATE_DEBUG_HEADER, 4)
1975 }
1976
1977 static void test_pack_PIMAGE_SYMBOL(void)
1978 {
1979     /* PIMAGE_SYMBOL */
1980     TEST_TYPE_SIZE   (PIMAGE_SYMBOL, 4)
1981     TEST_TYPE_ALIGN  (PIMAGE_SYMBOL, 4)
1982 }
1983
1984 static void test_pack_PIMAGE_THUNK_DATA(void)
1985 {
1986     /* PIMAGE_THUNK_DATA */
1987     TEST_TYPE_SIZE   (PIMAGE_THUNK_DATA, 4)
1988     TEST_TYPE_ALIGN  (PIMAGE_THUNK_DATA, 4)
1989 }
1990
1991 static void test_pack_PIMAGE_TLS_CALLBACK(void)
1992 {
1993     /* PIMAGE_TLS_CALLBACK */
1994     TEST_TYPE_SIZE   (PIMAGE_TLS_CALLBACK, 4)
1995     TEST_TYPE_ALIGN  (PIMAGE_TLS_CALLBACK, 4)
1996 }
1997
1998 static void test_pack_PIMAGE_TLS_DIRECTORY(void)
1999 {
2000     /* PIMAGE_TLS_DIRECTORY */
2001     TEST_TYPE_SIZE   (PIMAGE_TLS_DIRECTORY, 4)
2002     TEST_TYPE_ALIGN  (PIMAGE_TLS_DIRECTORY, 4)
2003 }
2004
2005 static void test_pack_PIMAGE_VXD_HEADER(void)
2006 {
2007     /* PIMAGE_VXD_HEADER */
2008     TEST_TYPE_SIZE   (PIMAGE_VXD_HEADER, 4)
2009     TEST_TYPE_ALIGN  (PIMAGE_VXD_HEADER, 4)
2010     TEST_TARGET_SIZE (PIMAGE_VXD_HEADER, 196)
2011     TEST_TARGET_ALIGN(PIMAGE_VXD_HEADER, 2)
2012 }
2013
2014 static void test_pack_PIO_COUNTERS(void)
2015 {
2016     /* PIO_COUNTERS */
2017     TEST_TYPE_SIZE   (PIO_COUNTERS, 4)
2018     TEST_TYPE_ALIGN  (PIO_COUNTERS, 4)
2019     TEST_TARGET_SIZE (PIO_COUNTERS, 48)
2020     TEST_TARGET_ALIGN(PIO_COUNTERS, 8)
2021 }
2022
2023 static void test_pack_PISECURITY_DESCRIPTOR(void)
2024 {
2025     /* PISECURITY_DESCRIPTOR */
2026     TEST_TYPE_SIZE   (PISECURITY_DESCRIPTOR, 4)
2027     TEST_TYPE_ALIGN  (PISECURITY_DESCRIPTOR, 4)
2028     TEST_TARGET_SIZE (PISECURITY_DESCRIPTOR, 20)
2029     TEST_TARGET_ALIGN(PISECURITY_DESCRIPTOR, 4)
2030 }
2031
2032 static void test_pack_PISECURITY_DESCRIPTOR_RELATIVE(void)
2033 {
2034     /* PISECURITY_DESCRIPTOR_RELATIVE */
2035     TEST_TYPE_SIZE   (PISECURITY_DESCRIPTOR_RELATIVE, 4)
2036     TEST_TYPE_ALIGN  (PISECURITY_DESCRIPTOR_RELATIVE, 4)
2037     TEST_TARGET_SIZE (PISECURITY_DESCRIPTOR_RELATIVE, 20)
2038     TEST_TARGET_ALIGN(PISECURITY_DESCRIPTOR_RELATIVE, 4)
2039 }
2040
2041 static void test_pack_PISID(void)
2042 {
2043     /* PISID */
2044     TEST_TYPE_SIZE   (PISID, 4)
2045     TEST_TYPE_ALIGN  (PISID, 4)
2046     TEST_TARGET_SIZE (PISID, 12)
2047     TEST_TARGET_ALIGN(PISID, 4)
2048 }
2049
2050 static void test_pack_PLARGE_INTEGER(void)
2051 {
2052     /* PLARGE_INTEGER */
2053     TEST_TYPE_SIZE   (PLARGE_INTEGER, 4)
2054     TEST_TYPE_ALIGN  (PLARGE_INTEGER, 4)
2055 }
2056
2057 static void test_pack_PLIST_ENTRY(void)
2058 {
2059     /* PLIST_ENTRY */
2060     TEST_TYPE_SIZE   (PLIST_ENTRY, 4)
2061     TEST_TYPE_ALIGN  (PLIST_ENTRY, 4)
2062     TEST_TARGET_SIZE (PLIST_ENTRY, 8)
2063     TEST_TARGET_ALIGN(PLIST_ENTRY, 4)
2064 }
2065
2066 static void test_pack_PLUID(void)
2067 {
2068     /* PLUID */
2069     TEST_TYPE_SIZE   (PLUID, 4)
2070     TEST_TYPE_ALIGN  (PLUID, 4)
2071     TEST_TARGET_SIZE (PLUID, 8)
2072     TEST_TARGET_ALIGN(PLUID, 4)
2073 }
2074
2075 static void test_pack_PLUID_AND_ATTRIBUTES(void)
2076 {
2077     /* PLUID_AND_ATTRIBUTES */
2078     TEST_TYPE_SIZE   (PLUID_AND_ATTRIBUTES, 4)
2079     TEST_TYPE_ALIGN  (PLUID_AND_ATTRIBUTES, 4)
2080     TEST_TARGET_SIZE (PLUID_AND_ATTRIBUTES, 12)
2081     TEST_TARGET_ALIGN(PLUID_AND_ATTRIBUTES, 4)
2082 }
2083
2084 static void test_pack_PMEMORY_BASIC_INFORMATION(void)
2085 {
2086     /* PMEMORY_BASIC_INFORMATION */
2087     TEST_TYPE_SIZE   (PMEMORY_BASIC_INFORMATION, 4)
2088     TEST_TYPE_ALIGN  (PMEMORY_BASIC_INFORMATION, 4)
2089     TEST_TARGET_SIZE (PMEMORY_BASIC_INFORMATION, 28)
2090     TEST_TARGET_ALIGN(PMEMORY_BASIC_INFORMATION, 4)
2091 }
2092
2093 static void test_pack_PMESSAGE_RESOURCE_BLOCK(void)
2094 {
2095     /* PMESSAGE_RESOURCE_BLOCK */
2096     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_BLOCK, 4)
2097     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_BLOCK, 4)
2098     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_BLOCK, 12)
2099     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_BLOCK, 4)
2100 }
2101
2102 static void test_pack_PMESSAGE_RESOURCE_DATA(void)
2103 {
2104     /* PMESSAGE_RESOURCE_DATA */
2105     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_DATA, 4)
2106     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_DATA, 4)
2107     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_DATA, 16)
2108     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_DATA, 4)
2109 }
2110
2111 static void test_pack_PMESSAGE_RESOURCE_ENTRY(void)
2112 {
2113     /* PMESSAGE_RESOURCE_ENTRY */
2114     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_ENTRY, 4)
2115     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_ENTRY, 4)
2116     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_ENTRY, 6)
2117     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_ENTRY, 2)
2118 }
2119
2120 static void test_pack_PNT_TIB(void)
2121 {
2122     /* PNT_TIB */
2123     TEST_TYPE_SIZE   (PNT_TIB, 4)
2124     TEST_TYPE_ALIGN  (PNT_TIB, 4)
2125 }
2126
2127 static void test_pack_POBJECT_TYPE_LIST(void)
2128 {
2129     /* POBJECT_TYPE_LIST */
2130     TEST_TYPE_SIZE   (POBJECT_TYPE_LIST, 4)
2131     TEST_TYPE_ALIGN  (POBJECT_TYPE_LIST, 4)
2132     TEST_TARGET_SIZE (POBJECT_TYPE_LIST, 8)
2133     TEST_TARGET_ALIGN(POBJECT_TYPE_LIST, 4)
2134 }
2135
2136 static void test_pack_PPRIVILEGE_SET(void)
2137 {
2138     /* PPRIVILEGE_SET */
2139     TEST_TYPE_SIZE   (PPRIVILEGE_SET, 4)
2140     TEST_TYPE_ALIGN  (PPRIVILEGE_SET, 4)
2141     TEST_TARGET_SIZE (PPRIVILEGE_SET, 20)
2142     TEST_TARGET_ALIGN(PPRIVILEGE_SET, 4)
2143 }
2144
2145 static void test_pack_PRIVILEGE_SET(void)
2146 {
2147     /* PRIVILEGE_SET (pack 4) */
2148     TEST_TYPE_SIZE   (PRIVILEGE_SET, 20)
2149     TEST_TYPE_ALIGN  (PRIVILEGE_SET, 4)
2150     TEST_FIELD_SIZE  (PRIVILEGE_SET, PrivilegeCount, 4)
2151     TEST_FIELD_ALIGN (PRIVILEGE_SET, PrivilegeCount, 4)
2152     TEST_FIELD_OFFSET(PRIVILEGE_SET, PrivilegeCount, 0)
2153     TEST_FIELD_SIZE  (PRIVILEGE_SET, Control, 4)
2154     TEST_FIELD_ALIGN (PRIVILEGE_SET, Control, 4)
2155     TEST_FIELD_OFFSET(PRIVILEGE_SET, Control, 4)
2156     TEST_FIELD_SIZE  (PRIVILEGE_SET, Privilege, 12)
2157     TEST_FIELD_ALIGN (PRIVILEGE_SET, Privilege, 4)
2158     TEST_FIELD_OFFSET(PRIVILEGE_SET, Privilege, 8)
2159 }
2160
2161 static void test_pack_PRLIST_ENTRY(void)
2162 {
2163     /* PRLIST_ENTRY */
2164     TEST_TYPE_SIZE   (PRLIST_ENTRY, 4)
2165     TEST_TYPE_ALIGN  (PRLIST_ENTRY, 4)
2166     TEST_TARGET_SIZE (PRLIST_ENTRY, 8)
2167     TEST_TARGET_ALIGN(PRLIST_ENTRY, 4)
2168 }
2169
2170 static void test_pack_PRTL_CRITICAL_SECTION(void)
2171 {
2172     /* PRTL_CRITICAL_SECTION */
2173     TEST_TYPE_SIZE   (PRTL_CRITICAL_SECTION, 4)
2174     TEST_TYPE_ALIGN  (PRTL_CRITICAL_SECTION, 4)
2175     TEST_TARGET_SIZE (PRTL_CRITICAL_SECTION, 24)
2176     TEST_TARGET_ALIGN(PRTL_CRITICAL_SECTION, 4)
2177 }
2178
2179 static void test_pack_PRTL_CRITICAL_SECTION_DEBUG(void)
2180 {
2181     /* PRTL_CRITICAL_SECTION_DEBUG */
2182     TEST_TYPE_SIZE   (PRTL_CRITICAL_SECTION_DEBUG, 4)
2183     TEST_TYPE_ALIGN  (PRTL_CRITICAL_SECTION_DEBUG, 4)
2184 }
2185
2186 static void test_pack_PRTL_OSVERSIONINFOEXW(void)
2187 {
2188     /* PRTL_OSVERSIONINFOEXW */
2189     TEST_TYPE_SIZE   (PRTL_OSVERSIONINFOEXW, 4)
2190     TEST_TYPE_ALIGN  (PRTL_OSVERSIONINFOEXW, 4)
2191     TEST_TARGET_SIZE (PRTL_OSVERSIONINFOEXW, 284)
2192     TEST_TARGET_ALIGN(PRTL_OSVERSIONINFOEXW, 4)
2193 }
2194
2195 static void test_pack_PRTL_OSVERSIONINFOW(void)
2196 {
2197     /* PRTL_OSVERSIONINFOW */
2198     TEST_TYPE_SIZE   (PRTL_OSVERSIONINFOW, 4)
2199     TEST_TYPE_ALIGN  (PRTL_OSVERSIONINFOW, 4)
2200     TEST_TARGET_SIZE (PRTL_OSVERSIONINFOW, 276)
2201     TEST_TARGET_ALIGN(PRTL_OSVERSIONINFOW, 4)
2202 }
2203
2204 static void test_pack_PRTL_RESOURCE_DEBUG(void)
2205 {
2206     /* PRTL_RESOURCE_DEBUG */
2207     TEST_TYPE_SIZE   (PRTL_RESOURCE_DEBUG, 4)
2208     TEST_TYPE_ALIGN  (PRTL_RESOURCE_DEBUG, 4)
2209 }
2210
2211 static void test_pack_PSECURITY_DESCRIPTOR(void)
2212 {
2213     /* PSECURITY_DESCRIPTOR */
2214     TEST_TYPE_SIZE   (PSECURITY_DESCRIPTOR, 4)
2215     TEST_TYPE_ALIGN  (PSECURITY_DESCRIPTOR, 4)
2216 }
2217
2218 static void test_pack_PSECURITY_QUALITY_OF_SERVICE(void)
2219 {
2220     /* PSECURITY_QUALITY_OF_SERVICE */
2221     TEST_TYPE_SIZE   (PSECURITY_QUALITY_OF_SERVICE, 4)
2222     TEST_TYPE_ALIGN  (PSECURITY_QUALITY_OF_SERVICE, 4)
2223 }
2224
2225 static void test_pack_PSID(void)
2226 {
2227     /* PSID */
2228     TEST_TYPE_SIZE   (PSID, 4)
2229     TEST_TYPE_ALIGN  (PSID, 4)
2230 }
2231
2232 static void test_pack_PSID_IDENTIFIER_AUTHORITY(void)
2233 {
2234     /* PSID_IDENTIFIER_AUTHORITY */
2235     TEST_TYPE_SIZE   (PSID_IDENTIFIER_AUTHORITY, 4)
2236     TEST_TYPE_ALIGN  (PSID_IDENTIFIER_AUTHORITY, 4)
2237     TEST_TARGET_SIZE (PSID_IDENTIFIER_AUTHORITY, 6)
2238     TEST_TARGET_ALIGN(PSID_IDENTIFIER_AUTHORITY, 1)
2239 }
2240
2241 static void test_pack_PSINGLE_LIST_ENTRY(void)
2242 {
2243     /* PSINGLE_LIST_ENTRY */
2244     TEST_TYPE_SIZE   (PSINGLE_LIST_ENTRY, 4)
2245     TEST_TYPE_ALIGN  (PSINGLE_LIST_ENTRY, 4)
2246     TEST_TARGET_SIZE (PSINGLE_LIST_ENTRY, 4)
2247     TEST_TARGET_ALIGN(PSINGLE_LIST_ENTRY, 4)
2248 }
2249
2250 static void test_pack_PSTR(void)
2251 {
2252     /* PSTR */
2253     TEST_TYPE_SIZE   (PSTR, 4)
2254     TEST_TYPE_ALIGN  (PSTR, 4)
2255     TEST_TARGET_SIZE (PSTR, 1)
2256     TEST_TARGET_ALIGN(PSTR, 1)
2257 }
2258
2259 static void test_pack_PSYSTEM_ALARM_ACE(void)
2260 {
2261     /* PSYSTEM_ALARM_ACE */
2262     TEST_TYPE_SIZE   (PSYSTEM_ALARM_ACE, 4)
2263     TEST_TYPE_ALIGN  (PSYSTEM_ALARM_ACE, 4)
2264     TEST_TARGET_SIZE (PSYSTEM_ALARM_ACE, 12)
2265     TEST_TARGET_ALIGN(PSYSTEM_ALARM_ACE, 4)
2266 }
2267
2268 static void test_pack_PSYSTEM_AUDIT_ACE(void)
2269 {
2270     /* PSYSTEM_AUDIT_ACE */
2271     TEST_TYPE_SIZE   (PSYSTEM_AUDIT_ACE, 4)
2272     TEST_TYPE_ALIGN  (PSYSTEM_AUDIT_ACE, 4)
2273     TEST_TARGET_SIZE (PSYSTEM_AUDIT_ACE, 12)
2274     TEST_TARGET_ALIGN(PSYSTEM_AUDIT_ACE, 4)
2275 }
2276
2277 static void test_pack_PTOKEN_GROUPS(void)
2278 {
2279     /* PTOKEN_GROUPS */
2280     TEST_TYPE_SIZE   (PTOKEN_GROUPS, 4)
2281     TEST_TYPE_ALIGN  (PTOKEN_GROUPS, 4)
2282     TEST_TARGET_SIZE (PTOKEN_GROUPS, 12)
2283     TEST_TARGET_ALIGN(PTOKEN_GROUPS, 4)
2284 }
2285
2286 static void test_pack_PTOKEN_PRIVILEGES(void)
2287 {
2288     /* PTOKEN_PRIVILEGES */
2289     TEST_TYPE_SIZE   (PTOKEN_PRIVILEGES, 4)
2290     TEST_TYPE_ALIGN  (PTOKEN_PRIVILEGES, 4)
2291     TEST_TARGET_SIZE (PTOKEN_PRIVILEGES, 16)
2292     TEST_TARGET_ALIGN(PTOKEN_PRIVILEGES, 4)
2293 }
2294
2295 static void test_pack_PTOKEN_USER(void)
2296 {
2297     /* PTOKEN_USER */
2298     TEST_TYPE_SIZE   (PTOKEN_USER, 4)
2299     TEST_TYPE_ALIGN  (PTOKEN_USER, 4)
2300     TEST_TARGET_SIZE (PTOKEN_USER, 8)
2301     TEST_TARGET_ALIGN(PTOKEN_USER, 4)
2302 }
2303
2304 static void test_pack_PTSTR(void)
2305 {
2306     /* PTSTR */
2307     TEST_TYPE_SIZE   (PTSTR, 4)
2308     TEST_TYPE_ALIGN  (PTSTR, 4)
2309 }
2310
2311 static void test_pack_PULARGE_INTEGER(void)
2312 {
2313     /* PULARGE_INTEGER */
2314     TEST_TYPE_SIZE   (PULARGE_INTEGER, 4)
2315     TEST_TYPE_ALIGN  (PULARGE_INTEGER, 4)
2316 }
2317
2318 static void test_pack_PVECTORED_EXCEPTION_HANDLER(void)
2319 {
2320     /* PVECTORED_EXCEPTION_HANDLER */
2321     TEST_TYPE_SIZE   (PVECTORED_EXCEPTION_HANDLER, 4)
2322     TEST_TYPE_ALIGN  (PVECTORED_EXCEPTION_HANDLER, 4)
2323 }
2324
2325 static void test_pack_PVOID(void)
2326 {
2327     /* PVOID */
2328     TEST_TYPE_SIZE   (PVOID, 4)
2329     TEST_TYPE_ALIGN  (PVOID, 4)
2330 }
2331
2332 static void test_pack_PWCH(void)
2333 {
2334     /* PWCH */
2335     TEST_TYPE_SIZE   (PWCH, 4)
2336     TEST_TYPE_ALIGN  (PWCH, 4)
2337     TEST_TARGET_SIZE (PWCH, 2)
2338     TEST_TARGET_ALIGN(PWCH, 2)
2339 }
2340
2341 static void test_pack_PWSTR(void)
2342 {
2343     /* PWSTR */
2344     TEST_TYPE_SIZE   (PWSTR, 4)
2345     TEST_TYPE_ALIGN  (PWSTR, 4)
2346     TEST_TARGET_SIZE (PWSTR, 2)
2347     TEST_TARGET_ALIGN(PWSTR, 2)
2348 }
2349
2350 static void test_pack_RTL_CRITICAL_SECTION(void)
2351 {
2352     /* RTL_CRITICAL_SECTION (pack 4) */
2353     TEST_TYPE_SIZE   (RTL_CRITICAL_SECTION, 24)
2354     TEST_TYPE_ALIGN  (RTL_CRITICAL_SECTION, 4)
2355     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, DebugInfo, 4)
2356     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, DebugInfo, 4)
2357     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, DebugInfo, 0)
2358     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, LockCount, 4)
2359     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, LockCount, 4)
2360     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, LockCount, 4)
2361     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, RecursionCount, 4)
2362     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, RecursionCount, 4)
2363     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, RecursionCount, 8)
2364     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, OwningThread, 4)
2365     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, OwningThread, 4)
2366     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, OwningThread, 12)
2367     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, LockSemaphore, 4)
2368     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, LockSemaphore, 4)
2369     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, LockSemaphore, 16)
2370     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, SpinCount, 4)
2371     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, SpinCount, 4)
2372     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, SpinCount, 20)
2373 }
2374
2375 static void test_pack_RTL_CRITICAL_SECTION_DEBUG(void)
2376 {
2377     /* RTL_CRITICAL_SECTION_DEBUG (pack 4) */
2378     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, Type, 2)
2379     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, Type, 2)
2380     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, Type, 0)
2381     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
2382     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
2383     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
2384     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 4)
2385     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 4)
2386     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 4)
2387     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 8)
2388     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 4)
2389     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 8)
2390     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, EntryCount, 4)
2391     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, EntryCount, 4)
2392     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, EntryCount, 16)
2393     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 4)
2394     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 4)
2395     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 20)
2396 }
2397
2398 static void test_pack_RTL_OSVERSIONINFOEXW(void)
2399 {
2400     /* RTL_OSVERSIONINFOEXW (pack 4) */
2401     TEST_TYPE_SIZE   (RTL_OSVERSIONINFOEXW, 284)
2402     TEST_TYPE_ALIGN  (RTL_OSVERSIONINFOEXW, 4)
2403     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 4)
2404     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 4)
2405     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 0)
2406     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
2407     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
2408     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
2409     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwMinorVersion, 4)
2410     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwMinorVersion, 4)
2411     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwMinorVersion, 8)
2412     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwBuildNumber, 4)
2413     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwBuildNumber, 4)
2414     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwBuildNumber, 12)
2415     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwPlatformId, 4)
2416     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwPlatformId, 4)
2417     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwPlatformId, 16)
2418     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, szCSDVersion, 256)
2419     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, szCSDVersion, 2)
2420     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, szCSDVersion, 20)
2421     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wServicePackMajor, 2)
2422     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wServicePackMajor, 2)
2423     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wServicePackMajor, 276)
2424     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wServicePackMinor, 2)
2425     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wServicePackMinor, 2)
2426     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wServicePackMinor, 278)
2427     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wSuiteMask, 2)
2428     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wSuiteMask, 2)
2429     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wSuiteMask, 280)
2430     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wProductType, 1)
2431     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wProductType, 1)
2432     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wProductType, 282)
2433     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wReserved, 1)
2434     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wReserved, 1)
2435     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wReserved, 283)
2436 }
2437
2438 static void test_pack_RTL_OSVERSIONINFOW(void)
2439 {
2440     /* RTL_OSVERSIONINFOW (pack 4) */
2441     TEST_TYPE_SIZE   (RTL_OSVERSIONINFOW, 276)
2442     TEST_TYPE_ALIGN  (RTL_OSVERSIONINFOW, 4)
2443     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 4)
2444     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 4)
2445     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 0)
2446     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwMajorVersion, 4)
2447     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwMajorVersion, 4)
2448     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwMajorVersion, 4)
2449     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwMinorVersion, 4)
2450     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwMinorVersion, 4)
2451     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwMinorVersion, 8)
2452     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwBuildNumber, 4)
2453     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwBuildNumber, 4)
2454     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwBuildNumber, 12)
2455     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwPlatformId, 4)
2456     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwPlatformId, 4)
2457     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwPlatformId, 16)
2458     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, szCSDVersion, 256)
2459     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, szCSDVersion, 2)
2460     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, szCSDVersion, 20)
2461 }
2462
2463 static void test_pack_RTL_RESOURCE_DEBUG(void)
2464 {
2465     /* RTL_RESOURCE_DEBUG (pack 4) */
2466     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, Type, 2)
2467     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, Type, 2)
2468     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, Type, 0)
2469     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
2470     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
2471     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
2472     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, CriticalSection, 4)
2473     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, CriticalSection, 4)
2474     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, CriticalSection, 4)
2475     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, ProcessLocksList, 8)
2476     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, ProcessLocksList, 4)
2477     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, ProcessLocksList, 8)
2478     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, EntryCount, 4)
2479     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, EntryCount, 4)
2480     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, EntryCount, 16)
2481     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, ContentionCount, 4)
2482     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, ContentionCount, 4)
2483     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, ContentionCount, 20)
2484 }
2485
2486 static void test_pack_SECURITY_CONTEXT_TRACKING_MODE(void)
2487 {
2488     /* SECURITY_CONTEXT_TRACKING_MODE */
2489     TEST_TYPE_SIZE   (SECURITY_CONTEXT_TRACKING_MODE, 1)
2490     TEST_TYPE_ALIGN  (SECURITY_CONTEXT_TRACKING_MODE, 1)
2491 }
2492
2493 static void test_pack_SECURITY_DESCRIPTOR(void)
2494 {
2495     /* SECURITY_DESCRIPTOR (pack 4) */
2496     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR, 20)
2497     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR, 4)
2498     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Revision, 1)
2499     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Revision, 1)
2500     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Revision, 0)
2501     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Sbz1, 1)
2502     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Sbz1, 1)
2503     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Sbz1, 1)
2504     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Control, 2)
2505     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Control, 2)
2506     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Control, 2)
2507     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Owner, 4)
2508     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Owner, 4)
2509     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Owner, 4)
2510     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Group, 4)
2511     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Group, 4)
2512     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Group, 8)
2513     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Sacl, 4)
2514     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Sacl, 4)
2515     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Sacl, 12)
2516     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Dacl, 4)
2517     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Dacl, 4)
2518     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Dacl, 16)
2519 }
2520
2521 static void test_pack_SECURITY_DESCRIPTOR_CONTROL(void)
2522 {
2523     /* SECURITY_DESCRIPTOR_CONTROL */
2524     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR_CONTROL, 2)
2525     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR_CONTROL, 2)
2526     TEST_TYPE_UNSIGNED(SECURITY_DESCRIPTOR_CONTROL)
2527 }
2528
2529 static void test_pack_SECURITY_DESCRIPTOR_RELATIVE(void)
2530 {
2531     /* SECURITY_DESCRIPTOR_RELATIVE (pack 4) */
2532     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR_RELATIVE, 20)
2533     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR_RELATIVE, 4)
2534     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Revision, 1)
2535     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Revision, 1)
2536     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Revision, 0)
2537     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
2538     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
2539     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
2540     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
2541     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
2542     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
2543     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
2544     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
2545     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
2546     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Group, 4)
2547     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Group, 4)
2548     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Group, 8)
2549     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Sacl, 4)
2550     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Sacl, 4)
2551     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Sacl, 12)
2552     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Dacl, 4)
2553     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Dacl, 4)
2554     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Dacl, 16)
2555 }
2556
2557 static void test_pack_SECURITY_INFORMATION(void)
2558 {
2559     /* SECURITY_INFORMATION */
2560     TEST_TYPE_SIZE   (SECURITY_INFORMATION, 4)
2561     TEST_TYPE_ALIGN  (SECURITY_INFORMATION, 4)
2562     TEST_TYPE_UNSIGNED(SECURITY_INFORMATION)
2563 }
2564
2565 static void test_pack_SECURITY_QUALITY_OF_SERVICE(void)
2566 {
2567     /* SECURITY_QUALITY_OF_SERVICE (pack 4) */
2568     TEST_FIELD_SIZE  (SECURITY_QUALITY_OF_SERVICE, Length, 4)
2569     TEST_FIELD_ALIGN (SECURITY_QUALITY_OF_SERVICE, Length, 4)
2570     TEST_FIELD_OFFSET(SECURITY_QUALITY_OF_SERVICE, Length, 0)
2571 }
2572
2573 static void test_pack_SHORT(void)
2574 {
2575     /* SHORT */
2576     TEST_TYPE_SIZE   (SHORT, 2)
2577     TEST_TYPE_ALIGN  (SHORT, 2)
2578     TEST_TYPE_SIGNED(SHORT)
2579 }
2580
2581 static void test_pack_SID(void)
2582 {
2583     /* SID (pack 4) */
2584     TEST_TYPE_SIZE   (SID, 12)
2585     TEST_TYPE_ALIGN  (SID, 4)
2586     TEST_FIELD_SIZE  (SID, Revision, 1)
2587     TEST_FIELD_ALIGN (SID, Revision, 1)
2588     TEST_FIELD_OFFSET(SID, Revision, 0)
2589     TEST_FIELD_SIZE  (SID, SubAuthorityCount, 1)
2590     TEST_FIELD_ALIGN (SID, SubAuthorityCount, 1)
2591     TEST_FIELD_OFFSET(SID, SubAuthorityCount, 1)
2592     TEST_FIELD_SIZE  (SID, IdentifierAuthority, 6)
2593     TEST_FIELD_ALIGN (SID, IdentifierAuthority, 1)
2594     TEST_FIELD_OFFSET(SID, IdentifierAuthority, 2)
2595     TEST_FIELD_SIZE  (SID, SubAuthority, 4)
2596     TEST_FIELD_ALIGN (SID, SubAuthority, 4)
2597     TEST_FIELD_OFFSET(SID, SubAuthority, 8)
2598 }
2599
2600 static void test_pack_SID_AND_ATTRIBUTES(void)
2601 {
2602     /* SID_AND_ATTRIBUTES (pack 4) */
2603     TEST_TYPE_SIZE   (SID_AND_ATTRIBUTES, 8)
2604     TEST_TYPE_ALIGN  (SID_AND_ATTRIBUTES, 4)
2605     TEST_FIELD_SIZE  (SID_AND_ATTRIBUTES, Sid, 4)
2606     TEST_FIELD_ALIGN (SID_AND_ATTRIBUTES, Sid, 4)
2607     TEST_FIELD_OFFSET(SID_AND_ATTRIBUTES, Sid, 0)
2608     TEST_FIELD_SIZE  (SID_AND_ATTRIBUTES, Attributes, 4)
2609     TEST_FIELD_ALIGN (SID_AND_ATTRIBUTES, Attributes, 4)
2610     TEST_FIELD_OFFSET(SID_AND_ATTRIBUTES, Attributes, 4)
2611 }
2612
2613 static void test_pack_SID_IDENTIFIER_AUTHORITY(void)
2614 {
2615     /* SID_IDENTIFIER_AUTHORITY (pack 4) */
2616     TEST_TYPE_SIZE   (SID_IDENTIFIER_AUTHORITY, 6)
2617     TEST_TYPE_ALIGN  (SID_IDENTIFIER_AUTHORITY, 1)
2618     TEST_FIELD_SIZE  (SID_IDENTIFIER_AUTHORITY, Value, 6)
2619     TEST_FIELD_ALIGN (SID_IDENTIFIER_AUTHORITY, Value, 1)
2620     TEST_FIELD_OFFSET(SID_IDENTIFIER_AUTHORITY, Value, 0)
2621 }
2622
2623 static void test_pack_SINGLE_LIST_ENTRY(void)
2624 {
2625     /* SINGLE_LIST_ENTRY (pack 4) */
2626     TEST_TYPE_SIZE   (SINGLE_LIST_ENTRY, 4)
2627     TEST_TYPE_ALIGN  (SINGLE_LIST_ENTRY, 4)
2628     TEST_FIELD_SIZE  (SINGLE_LIST_ENTRY, Next, 4)
2629     TEST_FIELD_ALIGN (SINGLE_LIST_ENTRY, Next, 4)
2630     TEST_FIELD_OFFSET(SINGLE_LIST_ENTRY, Next, 0)
2631 }
2632
2633 static void test_pack_SYSTEM_ALARM_ACE(void)
2634 {
2635     /* SYSTEM_ALARM_ACE (pack 4) */
2636     TEST_TYPE_SIZE   (SYSTEM_ALARM_ACE, 12)
2637     TEST_TYPE_ALIGN  (SYSTEM_ALARM_ACE, 4)
2638     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, Header, 4)
2639     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, Header, 2)
2640     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, Header, 0)
2641     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, Mask, 4)
2642     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, Mask, 4)
2643     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, Mask, 4)
2644     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, SidStart, 4)
2645     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, SidStart, 4)
2646     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, SidStart, 8)
2647 }
2648
2649 static void test_pack_SYSTEM_AUDIT_ACE(void)
2650 {
2651     /* SYSTEM_AUDIT_ACE (pack 4) */
2652     TEST_TYPE_SIZE   (SYSTEM_AUDIT_ACE, 12)
2653     TEST_TYPE_ALIGN  (SYSTEM_AUDIT_ACE, 4)
2654     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, Header, 4)
2655     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, Header, 2)
2656     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, Header, 0)
2657     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, Mask, 4)
2658     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, Mask, 4)
2659     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, Mask, 4)
2660     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, SidStart, 4)
2661     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, SidStart, 4)
2662     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, SidStart, 8)
2663 }
2664
2665 static void test_pack_TCHAR(void)
2666 {
2667     /* TCHAR */
2668     TEST_TYPE_SIZE   (TCHAR, 1)
2669     TEST_TYPE_ALIGN  (TCHAR, 1)
2670 }
2671
2672 static void test_pack_TOKEN_DEFAULT_DACL(void)
2673 {
2674     /* TOKEN_DEFAULT_DACL (pack 4) */
2675     TEST_TYPE_SIZE   (TOKEN_DEFAULT_DACL, 4)
2676     TEST_TYPE_ALIGN  (TOKEN_DEFAULT_DACL, 4)
2677     TEST_FIELD_SIZE  (TOKEN_DEFAULT_DACL, DefaultDacl, 4)
2678     TEST_FIELD_ALIGN (TOKEN_DEFAULT_DACL, DefaultDacl, 4)
2679     TEST_FIELD_OFFSET(TOKEN_DEFAULT_DACL, DefaultDacl, 0)
2680 }
2681
2682 static void test_pack_TOKEN_GROUPS(void)
2683 {
2684     /* TOKEN_GROUPS (pack 4) */
2685     TEST_TYPE_SIZE   (TOKEN_GROUPS, 12)
2686     TEST_TYPE_ALIGN  (TOKEN_GROUPS, 4)
2687     TEST_FIELD_SIZE  (TOKEN_GROUPS, GroupCount, 4)
2688     TEST_FIELD_ALIGN (TOKEN_GROUPS, GroupCount, 4)
2689     TEST_FIELD_OFFSET(TOKEN_GROUPS, GroupCount, 0)
2690     TEST_FIELD_SIZE  (TOKEN_GROUPS, Groups, 8)
2691     TEST_FIELD_ALIGN (TOKEN_GROUPS, Groups, 4)
2692     TEST_FIELD_OFFSET(TOKEN_GROUPS, Groups, 4)
2693 }
2694
2695 static void test_pack_TOKEN_OWNER(void)
2696 {
2697     /* TOKEN_OWNER (pack 4) */
2698     TEST_TYPE_SIZE   (TOKEN_OWNER, 4)
2699     TEST_TYPE_ALIGN  (TOKEN_OWNER, 4)
2700     TEST_FIELD_SIZE  (TOKEN_OWNER, Owner, 4)
2701     TEST_FIELD_ALIGN (TOKEN_OWNER, Owner, 4)
2702     TEST_FIELD_OFFSET(TOKEN_OWNER, Owner, 0)
2703 }
2704
2705 static void test_pack_TOKEN_PRIMARY_GROUP(void)
2706 {
2707     /* TOKEN_PRIMARY_GROUP (pack 4) */
2708     TEST_TYPE_SIZE   (TOKEN_PRIMARY_GROUP, 4)
2709     TEST_TYPE_ALIGN  (TOKEN_PRIMARY_GROUP, 4)
2710     TEST_FIELD_SIZE  (TOKEN_PRIMARY_GROUP, PrimaryGroup, 4)
2711     TEST_FIELD_ALIGN (TOKEN_PRIMARY_GROUP, PrimaryGroup, 4)
2712     TEST_FIELD_OFFSET(TOKEN_PRIMARY_GROUP, PrimaryGroup, 0)
2713 }
2714
2715 static void test_pack_TOKEN_PRIVILEGES(void)
2716 {
2717     /* TOKEN_PRIVILEGES (pack 4) */
2718     TEST_TYPE_SIZE   (TOKEN_PRIVILEGES, 16)
2719     TEST_TYPE_ALIGN  (TOKEN_PRIVILEGES, 4)
2720     TEST_FIELD_SIZE  (TOKEN_PRIVILEGES, PrivilegeCount, 4)
2721     TEST_FIELD_ALIGN (TOKEN_PRIVILEGES, PrivilegeCount, 4)
2722     TEST_FIELD_OFFSET(TOKEN_PRIVILEGES, PrivilegeCount, 0)
2723     TEST_FIELD_SIZE  (TOKEN_PRIVILEGES, Privileges, 12)
2724     TEST_FIELD_ALIGN (TOKEN_PRIVILEGES, Privileges, 4)
2725     TEST_FIELD_OFFSET(TOKEN_PRIVILEGES, Privileges, 4)
2726 }
2727
2728 static void test_pack_TOKEN_SOURCE(void)
2729 {
2730     /* TOKEN_SOURCE (pack 4) */
2731     TEST_TYPE_SIZE   (TOKEN_SOURCE, 16)
2732     TEST_TYPE_ALIGN  (TOKEN_SOURCE, 4)
2733     TEST_FIELD_SIZE  (TOKEN_SOURCE, SourceName, 8)
2734     TEST_FIELD_ALIGN (TOKEN_SOURCE, SourceName, 1)
2735     TEST_FIELD_OFFSET(TOKEN_SOURCE, SourceName, 0)
2736     TEST_FIELD_SIZE  (TOKEN_SOURCE, SourceIdentifier, 8)
2737     TEST_FIELD_ALIGN (TOKEN_SOURCE, SourceIdentifier, 4)
2738     TEST_FIELD_OFFSET(TOKEN_SOURCE, SourceIdentifier, 8)
2739 }
2740
2741 static void test_pack_TOKEN_STATISTICS(void)
2742 {
2743     /* TOKEN_STATISTICS (pack 4) */
2744     TEST_FIELD_SIZE  (TOKEN_STATISTICS, TokenId, 8)
2745     TEST_FIELD_ALIGN (TOKEN_STATISTICS, TokenId, 4)
2746     TEST_FIELD_OFFSET(TOKEN_STATISTICS, TokenId, 0)
2747     TEST_FIELD_SIZE  (TOKEN_STATISTICS, AuthenticationId, 8)
2748     TEST_FIELD_ALIGN (TOKEN_STATISTICS, AuthenticationId, 4)
2749     TEST_FIELD_OFFSET(TOKEN_STATISTICS, AuthenticationId, 8)
2750     TEST_FIELD_SIZE  (TOKEN_STATISTICS, ExpirationTime, 8)
2751     TEST_FIELD_ALIGN (TOKEN_STATISTICS, ExpirationTime, 4)
2752     TEST_FIELD_OFFSET(TOKEN_STATISTICS, ExpirationTime, 16)
2753 }
2754
2755 static void test_pack_TOKEN_USER(void)
2756 {
2757     /* TOKEN_USER (pack 4) */
2758     TEST_TYPE_SIZE   (TOKEN_USER, 8)
2759     TEST_TYPE_ALIGN  (TOKEN_USER, 4)
2760     TEST_FIELD_SIZE  (TOKEN_USER, User, 8)
2761     TEST_FIELD_ALIGN (TOKEN_USER, User, 4)
2762     TEST_FIELD_OFFSET(TOKEN_USER, User, 0)
2763 }
2764
2765 static void test_pack_ULARGE_INTEGER(void)
2766 {
2767     /* ULARGE_INTEGER (pack 4) */
2768 }
2769
2770 static void test_pack_ULONGLONG(void)
2771 {
2772     /* ULONGLONG */
2773     TEST_TYPE_SIZE   (ULONGLONG, 8)
2774     TEST_TYPE_ALIGN  (ULONGLONG, 8)
2775     TEST_TYPE_UNSIGNED(ULONGLONG)
2776 }
2777
2778 static void test_pack_WAITORTIMERCALLBACKFUNC(void)
2779 {
2780     /* WAITORTIMERCALLBACKFUNC */
2781     TEST_TYPE_SIZE   (WAITORTIMERCALLBACKFUNC, 4)
2782     TEST_TYPE_ALIGN  (WAITORTIMERCALLBACKFUNC, 4)
2783 }
2784
2785 static void test_pack_WCHAR(void)
2786 {
2787     /* WCHAR */
2788     TEST_TYPE_SIZE   (WCHAR, 2)
2789     TEST_TYPE_ALIGN  (WCHAR, 2)
2790     TEST_TYPE_UNSIGNED(WCHAR)
2791 }
2792
2793 static void test_pack_ATOM(void)
2794 {
2795     /* ATOM */
2796     TEST_TYPE_SIZE   (ATOM, 2)
2797     TEST_TYPE_ALIGN  (ATOM, 2)
2798     TEST_TYPE_UNSIGNED(ATOM)
2799 }
2800
2801 static void test_pack_BOOL(void)
2802 {
2803     /* BOOL */
2804     TEST_TYPE_SIZE   (BOOL, 4)
2805     TEST_TYPE_ALIGN  (BOOL, 4)
2806     TEST_TYPE_SIGNED(BOOL)
2807 }
2808
2809 static void test_pack_BYTE(void)
2810 {
2811     /* BYTE */
2812     TEST_TYPE_SIZE   (BYTE, 1)
2813     TEST_TYPE_ALIGN  (BYTE, 1)
2814     TEST_TYPE_UNSIGNED(BYTE)
2815 }
2816
2817 static void test_pack_COLORREF(void)
2818 {
2819     /* COLORREF */
2820     TEST_TYPE_SIZE   (COLORREF, 4)
2821     TEST_TYPE_ALIGN  (COLORREF, 4)
2822     TEST_TYPE_UNSIGNED(COLORREF)
2823 }
2824
2825 static void test_pack_DWORD(void)
2826 {
2827     /* DWORD */
2828     TEST_TYPE_SIZE   (DWORD, 4)
2829     TEST_TYPE_ALIGN  (DWORD, 4)
2830     TEST_TYPE_UNSIGNED(DWORD)
2831 }
2832
2833 static void test_pack_FARPROC(void)
2834 {
2835     /* FARPROC */
2836     TEST_TYPE_SIZE   (FARPROC, 4)
2837     TEST_TYPE_ALIGN  (FARPROC, 4)
2838 }
2839
2840 static void test_pack_FLOAT(void)
2841 {
2842     /* FLOAT */
2843     TEST_TYPE_SIZE   (FLOAT, 4)
2844     TEST_TYPE_ALIGN  (FLOAT, 4)
2845 }
2846
2847 static void test_pack_GLOBALHANDLE(void)
2848 {
2849     /* GLOBALHANDLE */
2850     TEST_TYPE_SIZE   (GLOBALHANDLE, 4)
2851     TEST_TYPE_ALIGN  (GLOBALHANDLE, 4)
2852 }
2853
2854 static void test_pack_HCURSOR(void)
2855 {
2856     /* HCURSOR */
2857     TEST_TYPE_SIZE   (HCURSOR, 4)
2858     TEST_TYPE_ALIGN  (HCURSOR, 4)
2859 }
2860
2861 static void test_pack_HFILE(void)
2862 {
2863     /* HFILE */
2864     TEST_TYPE_SIZE   (HFILE, 4)
2865     TEST_TYPE_ALIGN  (HFILE, 4)
2866     TEST_TYPE_SIGNED(HFILE)
2867 }
2868
2869 static void test_pack_HGDIOBJ(void)
2870 {
2871     /* HGDIOBJ */
2872     TEST_TYPE_SIZE   (HGDIOBJ, 4)
2873     TEST_TYPE_ALIGN  (HGDIOBJ, 4)
2874 }
2875
2876 static void test_pack_HGLOBAL(void)
2877 {
2878     /* HGLOBAL */
2879     TEST_TYPE_SIZE   (HGLOBAL, 4)
2880     TEST_TYPE_ALIGN  (HGLOBAL, 4)
2881 }
2882
2883 static void test_pack_HLOCAL(void)
2884 {
2885     /* HLOCAL */
2886     TEST_TYPE_SIZE   (HLOCAL, 4)
2887     TEST_TYPE_ALIGN  (HLOCAL, 4)
2888 }
2889
2890 static void test_pack_HMODULE(void)
2891 {
2892     /* HMODULE */
2893     TEST_TYPE_SIZE   (HMODULE, 4)
2894     TEST_TYPE_ALIGN  (HMODULE, 4)
2895 }
2896
2897 static void test_pack_INT(void)
2898 {
2899     /* INT */
2900     TEST_TYPE_SIZE   (INT, 4)
2901     TEST_TYPE_ALIGN  (INT, 4)
2902     TEST_TYPE_SIGNED(INT)
2903 }
2904
2905 static void test_pack_LOCALHANDLE(void)
2906 {
2907     /* LOCALHANDLE */
2908     TEST_TYPE_SIZE   (LOCALHANDLE, 4)
2909     TEST_TYPE_ALIGN  (LOCALHANDLE, 4)
2910 }
2911
2912 static void test_pack_LPARAM(void)
2913 {
2914     /* LPARAM */
2915     TEST_TYPE_SIZE   (LPARAM, 4)
2916     TEST_TYPE_ALIGN  (LPARAM, 4)
2917 }
2918
2919 static void test_pack_LPCRECT(void)
2920 {
2921     /* LPCRECT */
2922     TEST_TYPE_SIZE   (LPCRECT, 4)
2923     TEST_TYPE_ALIGN  (LPCRECT, 4)
2924     TEST_TARGET_SIZE (LPCRECT, 16)
2925     TEST_TARGET_ALIGN(LPCRECT, 4)
2926 }
2927
2928 static void test_pack_LPCRECTL(void)
2929 {
2930     /* LPCRECTL */
2931     TEST_TYPE_SIZE   (LPCRECTL, 4)
2932     TEST_TYPE_ALIGN  (LPCRECTL, 4)
2933     TEST_TARGET_SIZE (LPCRECTL, 16)
2934     TEST_TARGET_ALIGN(LPCRECTL, 4)
2935 }
2936
2937 static void test_pack_LPCVOID(void)
2938 {
2939     /* LPCVOID */
2940     TEST_TYPE_SIZE   (LPCVOID, 4)
2941     TEST_TYPE_ALIGN  (LPCVOID, 4)
2942 }
2943
2944 static void test_pack_LPPOINT(void)
2945 {
2946     /* LPPOINT */
2947     TEST_TYPE_SIZE   (LPPOINT, 4)
2948     TEST_TYPE_ALIGN  (LPPOINT, 4)
2949     TEST_TARGET_SIZE (LPPOINT, 8)
2950     TEST_TARGET_ALIGN(LPPOINT, 4)
2951 }
2952
2953 static void test_pack_LPRECT(void)
2954 {
2955     /* LPRECT */
2956     TEST_TYPE_SIZE   (LPRECT, 4)
2957     TEST_TYPE_ALIGN  (LPRECT, 4)
2958     TEST_TARGET_SIZE (LPRECT, 16)
2959     TEST_TARGET_ALIGN(LPRECT, 4)
2960 }
2961
2962 static void test_pack_LPRECTL(void)
2963 {
2964     /* LPRECTL */
2965     TEST_TYPE_SIZE   (LPRECTL, 4)
2966     TEST_TYPE_ALIGN  (LPRECTL, 4)
2967     TEST_TARGET_SIZE (LPRECTL, 16)
2968     TEST_TARGET_ALIGN(LPRECTL, 4)
2969 }
2970
2971 static void test_pack_LPSIZE(void)
2972 {
2973     /* LPSIZE */
2974     TEST_TYPE_SIZE   (LPSIZE, 4)
2975     TEST_TYPE_ALIGN  (LPSIZE, 4)
2976     TEST_TARGET_SIZE (LPSIZE, 8)
2977     TEST_TARGET_ALIGN(LPSIZE, 4)
2978 }
2979
2980 static void test_pack_LRESULT(void)
2981 {
2982     /* LRESULT */
2983     TEST_TYPE_SIZE   (LRESULT, 4)
2984     TEST_TYPE_ALIGN  (LRESULT, 4)
2985 }
2986
2987 static void test_pack_POINT(void)
2988 {
2989     /* POINT (pack 4) */
2990     TEST_TYPE_SIZE   (POINT, 8)
2991     TEST_TYPE_ALIGN  (POINT, 4)
2992     TEST_FIELD_SIZE  (POINT, x, 4)
2993     TEST_FIELD_ALIGN (POINT, x, 4)
2994     TEST_FIELD_OFFSET(POINT, x, 0)
2995     TEST_FIELD_SIZE  (POINT, y, 4)
2996     TEST_FIELD_ALIGN (POINT, y, 4)
2997     TEST_FIELD_OFFSET(POINT, y, 4)
2998 }
2999
3000 static void test_pack_POINTL(void)
3001 {
3002     /* POINTL (pack 4) */
3003     TEST_TYPE_SIZE   (POINTL, 8)
3004     TEST_TYPE_ALIGN  (POINTL, 4)
3005     TEST_FIELD_SIZE  (POINTL, x, 4)
3006     TEST_FIELD_ALIGN (POINTL, x, 4)
3007     TEST_FIELD_OFFSET(POINTL, x, 0)
3008     TEST_FIELD_SIZE  (POINTL, y, 4)
3009     TEST_FIELD_ALIGN (POINTL, y, 4)
3010     TEST_FIELD_OFFSET(POINTL, y, 4)
3011 }
3012
3013 static void test_pack_PPOINT(void)
3014 {
3015     /* PPOINT */
3016     TEST_TYPE_SIZE   (PPOINT, 4)
3017     TEST_TYPE_ALIGN  (PPOINT, 4)
3018     TEST_TARGET_SIZE (PPOINT, 8)
3019     TEST_TARGET_ALIGN(PPOINT, 4)
3020 }
3021
3022 static void test_pack_PPOINTL(void)
3023 {
3024     /* PPOINTL */
3025     TEST_TYPE_SIZE   (PPOINTL, 4)
3026     TEST_TYPE_ALIGN  (PPOINTL, 4)
3027     TEST_TARGET_SIZE (PPOINTL, 8)
3028     TEST_TARGET_ALIGN(PPOINTL, 4)
3029 }
3030
3031 static void test_pack_PRECT(void)
3032 {
3033     /* PRECT */
3034     TEST_TYPE_SIZE   (PRECT, 4)
3035     TEST_TYPE_ALIGN  (PRECT, 4)
3036     TEST_TARGET_SIZE (PRECT, 16)
3037     TEST_TARGET_ALIGN(PRECT, 4)
3038 }
3039
3040 static void test_pack_PRECTL(void)
3041 {
3042     /* PRECTL */
3043     TEST_TYPE_SIZE   (PRECTL, 4)
3044     TEST_TYPE_ALIGN  (PRECTL, 4)
3045     TEST_TARGET_SIZE (PRECTL, 16)
3046     TEST_TARGET_ALIGN(PRECTL, 4)
3047 }
3048
3049 static void test_pack_PROC(void)
3050 {
3051     /* PROC */
3052     TEST_TYPE_SIZE   (PROC, 4)
3053     TEST_TYPE_ALIGN  (PROC, 4)
3054 }
3055
3056 static void test_pack_PSIZE(void)
3057 {
3058     /* PSIZE */
3059     TEST_TYPE_SIZE   (PSIZE, 4)
3060     TEST_TYPE_ALIGN  (PSIZE, 4)
3061     TEST_TARGET_SIZE (PSIZE, 8)
3062     TEST_TARGET_ALIGN(PSIZE, 4)
3063 }
3064
3065 static void test_pack_PSZ(void)
3066 {
3067     /* PSZ */
3068     TEST_TYPE_SIZE   (PSZ, 4)
3069     TEST_TYPE_ALIGN  (PSZ, 4)
3070 }
3071
3072 static void test_pack_RECT(void)
3073 {
3074     /* RECT (pack 4) */
3075     TEST_TYPE_SIZE   (RECT, 16)
3076     TEST_TYPE_ALIGN  (RECT, 4)
3077     TEST_FIELD_SIZE  (RECT, left, 4)
3078     TEST_FIELD_ALIGN (RECT, left, 4)
3079     TEST_FIELD_OFFSET(RECT, left, 0)
3080     TEST_FIELD_SIZE  (RECT, top, 4)
3081     TEST_FIELD_ALIGN (RECT, top, 4)
3082     TEST_FIELD_OFFSET(RECT, top, 4)
3083     TEST_FIELD_SIZE  (RECT, right, 4)
3084     TEST_FIELD_ALIGN (RECT, right, 4)
3085     TEST_FIELD_OFFSET(RECT, right, 8)
3086     TEST_FIELD_SIZE  (RECT, bottom, 4)
3087     TEST_FIELD_ALIGN (RECT, bottom, 4)
3088     TEST_FIELD_OFFSET(RECT, bottom, 12)
3089 }
3090
3091 static void test_pack_RECTL(void)
3092 {
3093     /* RECTL (pack 4) */
3094     TEST_TYPE_SIZE   (RECTL, 16)
3095     TEST_TYPE_ALIGN  (RECTL, 4)
3096     TEST_FIELD_SIZE  (RECTL, left, 4)
3097     TEST_FIELD_ALIGN (RECTL, left, 4)
3098     TEST_FIELD_OFFSET(RECTL, left, 0)
3099     TEST_FIELD_SIZE  (RECTL, top, 4)
3100     TEST_FIELD_ALIGN (RECTL, top, 4)
3101     TEST_FIELD_OFFSET(RECTL, top, 4)
3102     TEST_FIELD_SIZE  (RECTL, right, 4)
3103     TEST_FIELD_ALIGN (RECTL, right, 4)
3104     TEST_FIELD_OFFSET(RECTL, right, 8)
3105     TEST_FIELD_SIZE  (RECTL, bottom, 4)
3106     TEST_FIELD_ALIGN (RECTL, bottom, 4)
3107     TEST_FIELD_OFFSET(RECTL, bottom, 12)
3108 }
3109
3110 static void test_pack_SIZE(void)
3111 {
3112     /* SIZE (pack 4) */
3113     TEST_TYPE_SIZE   (SIZE, 8)
3114     TEST_TYPE_ALIGN  (SIZE, 4)
3115     TEST_FIELD_SIZE  (SIZE, cx, 4)
3116     TEST_FIELD_ALIGN (SIZE, cx, 4)
3117     TEST_FIELD_OFFSET(SIZE, cx, 0)
3118     TEST_FIELD_SIZE  (SIZE, cy, 4)
3119     TEST_FIELD_ALIGN (SIZE, cy, 4)
3120     TEST_FIELD_OFFSET(SIZE, cy, 4)
3121 }
3122
3123 static void test_pack_SIZEL(void)
3124 {
3125     /* SIZEL */
3126     TEST_TYPE_SIZE   (SIZEL, 8)
3127     TEST_TYPE_ALIGN  (SIZEL, 4)
3128 }
3129
3130 static void test_pack_UCHAR(void)
3131 {
3132     /* UCHAR */
3133     TEST_TYPE_SIZE   (UCHAR, 1)
3134     TEST_TYPE_ALIGN  (UCHAR, 1)
3135     TEST_TYPE_UNSIGNED(UCHAR)
3136 }
3137
3138 static void test_pack_UINT(void)
3139 {
3140     /* UINT */
3141     TEST_TYPE_SIZE   (UINT, 4)
3142     TEST_TYPE_ALIGN  (UINT, 4)
3143     TEST_TYPE_UNSIGNED(UINT)
3144 }
3145
3146 static void test_pack_ULONG(void)
3147 {
3148     /* ULONG */
3149     TEST_TYPE_SIZE   (ULONG, 4)
3150     TEST_TYPE_ALIGN  (ULONG, 4)
3151     TEST_TYPE_UNSIGNED(ULONG)
3152 }
3153
3154 static void test_pack_USHORT(void)
3155 {
3156     /* USHORT */
3157     TEST_TYPE_SIZE   (USHORT, 2)
3158     TEST_TYPE_ALIGN  (USHORT, 2)
3159     TEST_TYPE_UNSIGNED(USHORT)
3160 }
3161
3162 static void test_pack_WORD(void)
3163 {
3164     /* WORD */
3165     TEST_TYPE_SIZE   (WORD, 2)
3166     TEST_TYPE_ALIGN  (WORD, 2)
3167     TEST_TYPE_UNSIGNED(WORD)
3168 }
3169
3170 static void test_pack_WPARAM(void)
3171 {
3172     /* WPARAM */
3173     TEST_TYPE_SIZE   (WPARAM, 4)
3174     TEST_TYPE_ALIGN  (WPARAM, 4)
3175 }
3176
3177 static void test_pack(void)
3178 {
3179     test_pack_ACCESS_ALLOWED_ACE();
3180     test_pack_ACCESS_DENIED_ACE();
3181     test_pack_ACCESS_MASK();
3182     test_pack_ACE_HEADER();
3183     test_pack_ACL();
3184     test_pack_ACL_REVISION_INFORMATION();
3185     test_pack_ACL_SIZE_INFORMATION();
3186     test_pack_ATOM();
3187     test_pack_BOOL();
3188     test_pack_BOOLEAN();
3189     test_pack_BYTE();
3190     test_pack_CCHAR();
3191     test_pack_CHAR();
3192     test_pack_COLORREF();
3193     test_pack_DWORD();
3194     test_pack_DWORD32();
3195     test_pack_DWORD64();
3196     test_pack_DWORDLONG();
3197     test_pack_DWORD_PTR();
3198     test_pack_EXCEPTION_POINTERS();
3199     test_pack_EXCEPTION_RECORD();
3200     test_pack_EXECUTION_STATE();
3201     test_pack_FARPROC();
3202     test_pack_FLOAT();
3203     test_pack_FLOATING_SAVE_AREA();
3204     test_pack_FPO_DATA();
3205     test_pack_GENERIC_MAPPING();
3206     test_pack_GLOBALHANDLE();
3207     test_pack_HALF_PTR();
3208     test_pack_HANDLE();
3209     test_pack_HCURSOR();
3210     test_pack_HFILE();
3211     test_pack_HGDIOBJ();
3212     test_pack_HGLOBAL();
3213     test_pack_HLOCAL();
3214     test_pack_HMODULE();
3215     test_pack_HRESULT();
3216     test_pack_IMAGE_ARCHIVE_MEMBER_HEADER();
3217     test_pack_IMAGE_AUX_SYMBOL();
3218     test_pack_IMAGE_BASE_RELOCATION();
3219     test_pack_IMAGE_BOUND_FORWARDER_REF();
3220     test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR();
3221     test_pack_IMAGE_COFF_SYMBOLS_HEADER();
3222     test_pack_IMAGE_DATA_DIRECTORY();
3223     test_pack_IMAGE_DEBUG_DIRECTORY();
3224     test_pack_IMAGE_DEBUG_MISC();
3225     test_pack_IMAGE_DOS_HEADER();
3226     test_pack_IMAGE_EXPORT_DIRECTORY();
3227     test_pack_IMAGE_FILE_HEADER();
3228     test_pack_IMAGE_FUNCTION_ENTRY();
3229     test_pack_IMAGE_IMPORT_BY_NAME();
3230     test_pack_IMAGE_IMPORT_DESCRIPTOR();
3231     test_pack_IMAGE_LINENUMBER();
3232     test_pack_IMAGE_LOAD_CONFIG_DIRECTORY();
3233     test_pack_IMAGE_NT_HEADERS();
3234     test_pack_IMAGE_OS2_HEADER();
3235     test_pack_IMAGE_RELOCATION();
3236     test_pack_IMAGE_RESOURCE_DATA_ENTRY();
3237     test_pack_IMAGE_RESOURCE_DIRECTORY();
3238     test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY();
3239     test_pack_IMAGE_RESOURCE_DIRECTORY_STRING();
3240     test_pack_IMAGE_RESOURCE_DIR_STRING_U();
3241     test_pack_IMAGE_SECTION_HEADER();
3242     test_pack_IMAGE_SEPARATE_DEBUG_HEADER();
3243     test_pack_IMAGE_SYMBOL();
3244     test_pack_IMAGE_THUNK_DATA();
3245     test_pack_IMAGE_TLS_DIRECTORY();
3246     test_pack_IMAGE_VXD_HEADER();
3247     test_pack_INT();
3248     test_pack_INT16();
3249     test_pack_INT32();
3250     test_pack_INT64();
3251     test_pack_INT8();
3252     test_pack_INT_PTR();
3253     test_pack_IO_COUNTERS();
3254     test_pack_LANGID();
3255     test_pack_LARGE_INTEGER();
3256     test_pack_LCID();
3257     test_pack_LIST_ENTRY();
3258     test_pack_LOCALHANDLE();
3259     test_pack_LONG();
3260     test_pack_LONG32();
3261     test_pack_LONG64();
3262     test_pack_LONGLONG();
3263     test_pack_LONG_PTR();
3264     test_pack_LPARAM();
3265     test_pack_LPCRECT();
3266     test_pack_LPCRECTL();
3267     test_pack_LPCVOID();
3268     test_pack_LPPOINT();
3269     test_pack_LPRECT();
3270     test_pack_LPRECTL();
3271     test_pack_LPSIZE();
3272     test_pack_LRESULT();
3273     test_pack_LUID();
3274     test_pack_LUID_AND_ATTRIBUTES();
3275     test_pack_MEMORY_BASIC_INFORMATION();
3276     test_pack_MESSAGE_RESOURCE_BLOCK();
3277     test_pack_MESSAGE_RESOURCE_DATA();
3278     test_pack_MESSAGE_RESOURCE_ENTRY();
3279     test_pack_NT_TIB();
3280     test_pack_OBJECT_TYPE_LIST();
3281     test_pack_PACCESS_ALLOWED_ACE();
3282     test_pack_PACCESS_DENIED_ACE();
3283     test_pack_PACCESS_TOKEN();
3284     test_pack_PACE_HEADER();
3285     test_pack_PACL();
3286     test_pack_PACL_REVISION_INFORMATION();
3287     test_pack_PACL_SIZE_INFORMATION();
3288     test_pack_PCCH();
3289     test_pack_PCH();
3290     test_pack_PCSTR();
3291     test_pack_PCTSTR();
3292     test_pack_PCWCH();
3293     test_pack_PCWSTR();
3294     test_pack_PEXCEPTION_POINTERS();
3295     test_pack_PEXCEPTION_RECORD();
3296     test_pack_PFLOATING_SAVE_AREA();
3297     test_pack_PFPO_DATA();
3298     test_pack_PGENERIC_MAPPING();
3299     test_pack_PHANDLE();
3300     test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER();
3301     test_pack_PIMAGE_AUX_SYMBOL();
3302     test_pack_PIMAGE_BASE_RELOCATION();
3303     test_pack_PIMAGE_BOUND_FORWARDER_REF();
3304     test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR();
3305     test_pack_PIMAGE_COFF_SYMBOLS_HEADER();
3306     test_pack_PIMAGE_DATA_DIRECTORY();
3307     test_pack_PIMAGE_DEBUG_DIRECTORY();
3308     test_pack_PIMAGE_DEBUG_MISC();
3309     test_pack_PIMAGE_DOS_HEADER();
3310     test_pack_PIMAGE_EXPORT_DIRECTORY();
3311     test_pack_PIMAGE_FILE_HEADER();
3312     test_pack_PIMAGE_FUNCTION_ENTRY();
3313     test_pack_PIMAGE_IMPORT_BY_NAME();
3314     test_pack_PIMAGE_IMPORT_DESCRIPTOR();
3315     test_pack_PIMAGE_LINENUMBER();
3316     test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY();
3317     test_pack_PIMAGE_NT_HEADERS();
3318     test_pack_PIMAGE_OPTIONAL_HEADER();
3319     test_pack_PIMAGE_OS2_HEADER();
3320     test_pack_PIMAGE_RELOCATION();
3321     test_pack_PIMAGE_RESOURCE_DATA_ENTRY();
3322     test_pack_PIMAGE_RESOURCE_DIRECTORY();
3323     test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY();
3324     test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING();
3325     test_pack_PIMAGE_RESOURCE_DIR_STRING_U();
3326     test_pack_PIMAGE_SECTION_HEADER();
3327     test_pack_PIMAGE_SEPARATE_DEBUG_HEADER();
3328     test_pack_PIMAGE_SYMBOL();
3329     test_pack_PIMAGE_THUNK_DATA();
3330     test_pack_PIMAGE_TLS_CALLBACK();
3331     test_pack_PIMAGE_TLS_DIRECTORY();
3332     test_pack_PIMAGE_VXD_HEADER();
3333     test_pack_PIO_COUNTERS();
3334     test_pack_PISECURITY_DESCRIPTOR();
3335     test_pack_PISECURITY_DESCRIPTOR_RELATIVE();
3336     test_pack_PISID();
3337     test_pack_PLARGE_INTEGER();
3338     test_pack_PLIST_ENTRY();
3339     test_pack_PLUID();
3340     test_pack_PLUID_AND_ATTRIBUTES();
3341     test_pack_PMEMORY_BASIC_INFORMATION();
3342     test_pack_PMESSAGE_RESOURCE_BLOCK();
3343     test_pack_PMESSAGE_RESOURCE_DATA();
3344     test_pack_PMESSAGE_RESOURCE_ENTRY();
3345     test_pack_PNT_TIB();
3346     test_pack_POBJECT_TYPE_LIST();
3347     test_pack_POINT();
3348     test_pack_POINTL();
3349     test_pack_PPOINT();
3350     test_pack_PPOINTL();
3351     test_pack_PPRIVILEGE_SET();
3352     test_pack_PRECT();
3353     test_pack_PRECTL();
3354     test_pack_PRIVILEGE_SET();
3355     test_pack_PRLIST_ENTRY();
3356     test_pack_PROC();
3357     test_pack_PRTL_CRITICAL_SECTION();
3358     test_pack_PRTL_CRITICAL_SECTION_DEBUG();
3359     test_pack_PRTL_OSVERSIONINFOEXW();
3360     test_pack_PRTL_OSVERSIONINFOW();
3361     test_pack_PRTL_RESOURCE_DEBUG();
3362     test_pack_PSECURITY_DESCRIPTOR();
3363     test_pack_PSECURITY_QUALITY_OF_SERVICE();
3364     test_pack_PSID();
3365     test_pack_PSID_IDENTIFIER_AUTHORITY();
3366     test_pack_PSINGLE_LIST_ENTRY();
3367     test_pack_PSIZE();
3368     test_pack_PSTR();
3369     test_pack_PSYSTEM_ALARM_ACE();
3370     test_pack_PSYSTEM_AUDIT_ACE();
3371     test_pack_PSZ();
3372     test_pack_PTOKEN_GROUPS();
3373     test_pack_PTOKEN_PRIVILEGES();
3374     test_pack_PTOKEN_USER();
3375     test_pack_PTSTR();
3376     test_pack_PULARGE_INTEGER();
3377     test_pack_PVECTORED_EXCEPTION_HANDLER();
3378     test_pack_PVOID();
3379     test_pack_PWCH();
3380     test_pack_PWSTR();
3381     test_pack_RECT();
3382     test_pack_RECTL();
3383     test_pack_RTL_CRITICAL_SECTION();
3384     test_pack_RTL_CRITICAL_SECTION_DEBUG();
3385     test_pack_RTL_OSVERSIONINFOEXW();
3386     test_pack_RTL_OSVERSIONINFOW();
3387     test_pack_RTL_RESOURCE_DEBUG();
3388     test_pack_SECURITY_CONTEXT_TRACKING_MODE();
3389     test_pack_SECURITY_DESCRIPTOR();
3390     test_pack_SECURITY_DESCRIPTOR_CONTROL();
3391     test_pack_SECURITY_DESCRIPTOR_RELATIVE();
3392     test_pack_SECURITY_INFORMATION();
3393     test_pack_SECURITY_QUALITY_OF_SERVICE();
3394     test_pack_SHORT();
3395     test_pack_SID();
3396     test_pack_SID_AND_ATTRIBUTES();
3397     test_pack_SID_IDENTIFIER_AUTHORITY();
3398     test_pack_SINGLE_LIST_ENTRY();
3399     test_pack_SIZE();
3400     test_pack_SIZEL();
3401     test_pack_SIZE_T();
3402     test_pack_SSIZE_T();
3403     test_pack_SYSTEM_ALARM_ACE();
3404     test_pack_SYSTEM_AUDIT_ACE();
3405     test_pack_TCHAR();
3406     test_pack_TOKEN_DEFAULT_DACL();
3407     test_pack_TOKEN_GROUPS();
3408     test_pack_TOKEN_OWNER();
3409     test_pack_TOKEN_PRIMARY_GROUP();
3410     test_pack_TOKEN_PRIVILEGES();
3411     test_pack_TOKEN_SOURCE();
3412     test_pack_TOKEN_STATISTICS();
3413     test_pack_TOKEN_USER();
3414     test_pack_UCHAR();
3415     test_pack_UHALF_PTR();
3416     test_pack_UINT();
3417     test_pack_UINT16();
3418     test_pack_UINT32();
3419     test_pack_UINT64();
3420     test_pack_UINT8();
3421     test_pack_UINT_PTR();
3422     test_pack_ULARGE_INTEGER();
3423     test_pack_ULONG();
3424     test_pack_ULONG32();
3425     test_pack_ULONG64();
3426     test_pack_ULONGLONG();
3427     test_pack_ULONG_PTR();
3428     test_pack_USHORT();
3429     test_pack_WAITORTIMERCALLBACKFUNC();
3430     test_pack_WCHAR();
3431     test_pack_WORD();
3432     test_pack_WPARAM();
3433 }
3434
3435 START_TEST(generated)
3436 {
3437 #ifdef _WIN64
3438     ok(0, "The type size / alignment tests don't support Win64 yet\n");
3439 #else
3440     test_pack();
3441 #endif
3442 }